我想创建一个每页一天的日历。我在 for 循环中创建页面,但我不知道如何在每次迭代中保存和增加它。
我考虑过将日、月和年分开保存,但这样我就必须保存每个月有多少天以及哪些年份是闰年。
有没有办法保存日期和/或增加日期?
答案1
有一个旧包,它暂时用 来设置日期\AdvanceDate
。
\documentclass{article}
\usepackage{pgffor}
\usepackage{advdate}
\begin{document}
\ThisDay{0} % Set the day number to zero
\ThisMonth{1} % Start in January
%\ThisYear{2017} % for example
\foreach \x in {1,...,365} {%
\AdvanceDate[\x]
{\hfill\huge\textbf{\today}\hfill} % Just as an example
\clearpage
}
\end{document}
从屏幕截图可以看出,该\AdvanceDate
命令知道闰年
答案2
这是一个使用 pgf 宏的答案,请参阅第 90 节“日期和日历实用程序宏”手册内容:
\documentclass{article}
\usepackage{pgfcalendar}
\begin{document}
\pgfcalendar{cal}{2020-08-11}{2020-08-15}{%
\centering\huge\bfseries%
\pgfcalendarshorthand wt, % weekdayname,
\pgfcalendarshorthand mt\ \pgfcalendarcurrentday, % monthname dayofmonth,
\pgfcalendarcurrentyear\clearpage% % year
}
\end{document}
相同,但使用手册建议的简写:
\documentclass{article}
\usepackage{pgfcalendar}
\begin{document}
\let\%=\pgfcalendarshorthand
\pgfcalendar{cal}{2020-08-11}{2020-08-15}{%
\centering\huge\bfseries%
\%wt, \%mt \%d0, \%y0\clearpage%
}
\end{document}
第一页如下所示: