使用 advdate 包设置日期计数器

使用 advdate 包设置日期计数器

我搜索了数学运算,发现了一些有趣的结果,例如顺序计算, 和未来等等。

我对类似答案感兴趣这个,但\today我不希望使用,而是想设置一个不同的日期。

目的是创建一个初始日期的时间表,例如 2019 年 3 月 1 日(dd/mm/yyy),并使用命令或宏,例如\nextlec自动返回提前 7 天的日期(2019 年 3 月 27 日,依此类推)。

我尝试了很多方法,但没有得到想要的结果。有人能给我一个 MWE 吗?谢谢!

我的代码如下。观察编译返回交替添加 7 天和 8 天的日期。

\documentclass{article}
\usepackage{advdate}

%-> Command to set following lectures
\newcounter{lecnum}
\setcounter{lecnum}{-1}

%... Set the first lecture date
\ThisYear{2019}
\ThisMonth{3}
\ThisDay{1}

\newif\iffirst
\newcommand{\nextlec}{%
    \AdvanceDate[7]
    \iffirst
        \AdvanceDate\global\firstfalse
    \else
        \global\firsttrue
    \fi
        \section*{\today}
        \vspace{-5mm}
    }

\begin{document}
\nextlec

\nextlec

\nextlec

\nextlec

\nextlec

\end{document}

答案1

使用您的部分代码,以下只是\firstfalse通过第一次调用来设置\nextlec,否则它会提前日期。在这两种情况下,它都只是设置\today\section

在此处输入图片描述

\documentclass{article}

\usepackage{advdate}

%... Set the first lecture date
\ThisYear{2019}
\ThisMonth{3}
\ThisDay{1}

\newif\iffirst
\firsttrue
\newcommand{\nextlec}{%
  \iffirst
    \firstfalse
  \else
    \AdvanceDate[7]%
  \fi
  \section*{\today}
}

\begin{document}

\nextlec

\nextlec

\nextlec

\nextlec

\nextlec

\end{document}

相关内容