使用日期和星期名称自动填充表格

使用日期和星期名称自动填充表格

我正在尝试创建一个包含 3 列表格的 Latex 文档,其中第一列应包含 2020 年 1 月 1 日至 2020 年 12 月 31 日之间的日期和星期名称,其他两列应可在打印输出上手动填写。每页应包含一个月。如果可能的话,周末应在整个行上用颜色突出显示。

是否可以让 Latex 自动执行该操作,以便当我需要 2021 文件时只需更改年份?

我知道这对于 Excel 来说很简单,但我想尝试一下 Latex。

答案1

起点可以是通过定义一个小的宏和一个循环以及advdatedatetime包,如下

\documentclass[12pt]{article}
\usepackage{advdate}
\usepackage[dayofweek]{datetime}
\usepackage{array,longtable}
\newcount\fooo
\long\def\addto#1#2{\expandafter\def\expandafter#1\expandafter{#1#2}}
% some help from this https://tex.stackexchange.com/questions/122807/inserting-day-of-the-week-into-custom-datetime-format
% some help from that
%https://tex.stackexchange.com/questions/122785/making-a-list-with-dates-for-labels-automatically-skipping-days
    \SetDate[01/01/2020]
    \newcounter{mycntr}
    \begin{document}
    \def\tabledata{} \fooo=365
    \loop
   \addto\tabledata{\AdvanceDate[\value{mycntr}]\today\stepcounter{mycntr} &  & \\
    \hline}
    \advance \fooo -1
    \ifnum \fooo>0
    \repeat 

    \begin{longtable}{|c|c|c|}
        \hline
        \tabledata
    \end{longtable}

\end{document}

这吐出了超过10 pages,因此,我不敢发布它们的截图;)

未解决的问题:根据月末分页。我还不知道如何实现。

但是,另一方面,OP 可以通过定义每个月的SetDate计数器然后跟上命令来手动打破表格(在我看来,这可能会使生活更简单)。\fooo\newpage

相关内容