\newcommand 根据编译日期表示月中或月末

\newcommand 根据编译日期表示月中或月末

我是新手,\LaTeX但非常高兴使用它。在工作中,我使用它非常完美。基本上我们每月创建两次相同的报告,到目前为止,这都是在 Word 中手动完成的。我想介绍这个解决方案,它将节省大量时间。唯一的问题是,如果需要编辑代码,我的老板会犹豫不决。如果我能以一种可行的方式展示它,他就不会担心其他/未来的员工不理解。

文档的其余部分运行良好,因为所有移动部分每次运行时都会发生变化。但我无法确定如何制作一个命令,让文档的日期戳显示当前月中或月末?我认为这应该是可能的。

尝试改变类似的东西\datetime会比使用新命令更好吗?我该怎么做?

它将出现在如下所示的标题中。

\pagestyle{fancy}
\fancyhf{}

\chead{Mid-August}

答案1

TeX提供\year\month\day计数寄存器,具有相关的编译时间日期(除非明确操作)

查询时\ifnum\day < 15可以询问现在是否是月中还是月末。(嗯,确切的定义有待确定 ;-)

datetime是 的前身datetime2,但更易于使用(在我看来), \monthname[\the\month]打印月份名称。

我明确使用了可选参数来显示\month和的操纵值\day,省略可选参数则强制\monthname使用\month计数寄存器的当前值,这在原则上也是正确的,因为无论如何当前月份都应用于标题。

\documentclass{article}

\usepackage{fancyhdr}
\usepackage[english]{babel}
\usepackage{datetime}
\usepackage{blindtext}

\pagestyle{fancy}
\fancyhf{}

\chead{\ifnum\day < 15
  Mid-%
  \else
  End-%
  \fi%
  \monthname[\the\month]%
}


\begin{document}
\blindtext[5]
\clearpage
\day=10
\month=5
\blindtext[5]


\end{document}

相关内容