Photocal
Minimalistic photo calendar in LaTeX (Github)
Usage
\documentclass[year=2024]{photocal}
\begin{document}
\begin{page}[photo=seabear,anchor=south east,cal=false]    \caption{\theyear}    \subcaption{Sea Bear}\end{page}\begin{page}[anchor=south west,photo=iguana]    \caption{Iguana}\end{page}
\end{document}Output
Options
widthandheightspecify the size of the calendar (default: 598mm x 424mm for A2)sidebarWidthspecifies the width of the sidebar (default: 40mm)captionLengthspecifies the height length of the caption (default: 100mm)yearspecifies the year of the calendarstartMonthspecifies the month the calendar starts with (default: 1)dayWeekdaySepspecifies the separation between the day and the weekday (default: 1em)daySepspecifies the separation between consecutive days (default: 9mm)
Calendar Page
photospecifies the image to be placed on the page (default: example image). The photo is scaled to fill the page and cropped if necessary.anchorspecifies the anchor point of the image (default:center), can be one ofnorth east,south east,south west,north west,center: For example,anchor=south eastaligns the bottom right corner of the image with the bottom right corner of the page and crops (if necessary) the top and left side of the image. Thanks to mbert for help with comparing aspect ratios.calspecifies whether a calendar should be printed on the page (default:true)\caption{}specifies the caption of the page\subcaption{}specifies the sub-caption of the page (shown in place of the calendar, should only be used ifcal=false)
\begin{page}[photo=photo,anchor=south east,cal=false]    \caption{Caption}    \subcaption{Subcaption}\end{page}\begin{page}[photo=photo]    \caption{Caption}\end{page}Customization
- colors can be customized by redefining the following colors:
sidebarColor(default:#000000)textColor(default:#FFFFFF)highlightTextColor(default:#AAAAAA)
 
\definecolor{sidebarColor}{HTML}{FFFFFF}\definecolor{textColor}{HTML}{000000}\definecolor{highlightTextColor}{HTML}{A70000}- the font can be customized by redefining the following commands:
\captionFont(default:\sffamily)\calFont(default:\sffamily)
 
\usepackage{fontspec}\renewfontfamily\calFont{Helvetica Neue}\renewfontfamily\captionFont[UprightFont=* Thin]{Helvetica Neue}- the displayed months and weekdays can be customized with
 
\def\monthName#1{\ifcase#1\or JAN\or FEB\or MAR\or APR\or MAY\or JUN\or JUL\or AUG\or SEP\or OCT\or NOV\or DEC\fi}
\def\dayName#1{\ifcase #1 Mo\or Tu\or We\or Th\or Fr\or Sa\or Su\fi}