在我的论文类文件中,我目前有
\begin{center}%
\@date%
\end{center}%
在标题页上生成格式为日-月-年的日期。
我该如何改变它以便它只显示月份和年份?
谢谢
答案1
在标题页上生成格式为日-月-年的日期。
\@date
通常初始化为\today
,并且默认格式为\today
美国风格月 天,年就像简单的例子所示:
\documentclass{article}
\begin{document}
\today
\end{document}
\@date
如果您的文档针对( )的默认定义生成了日-月-年\today
,那么您可能加载了会改变 的包\today
,例如语言包(babel
或polyglossia
)或以下包之一日期套餐。解决方案取决于您加载了哪个重新定义的包\today
。如果只是babel
或polyglossia
,那么您可以使用datetime2
和datetime2-english
. (两者都需要独立安装。)
例如:
\documentclass{article}
\usepackage[british]{babel}
\usepackage[useregional]{datetime2}
\DTMlangsetup[en-GB]{showdayofmonth=false}
\begin{document}
\today
\end{document}
还支持其他各种区域datetime2-english
。选择最适用的区域。例如,
\documentclass{article}
\usepackage[USenglish]{babel}
\usepackage[useregional]{datetime2}
\DTMlangsetup[en-US]{showdayofmonth=false}
\begin{document}
\today
\end{document}
或者
\documentclass{article}
\usepackage[english]{babel}
\usepackage[en-IE]{datetime2}
\DTMlangsetup[en-IE]{showdayofmonth=false}
\begin{document}
\today
\end{document}
另一种可能性是\@date
已被重新定义(因此它不再扩展为\today
)。检查您的类文件和文档代码中是否存在 的任何实例\date
或 的任何显式定义\@date
。您可以使用\show
进行调试。例如,如果您(暂时)将代码修改为
\begin{center}%
\show\@date
\@date
\end{center}%
然后抄本将显示 的定义\@date
。如果您收到消息
> \@date=macro:
->\today .
那么它\today
已经被修改了,但是如果你得到了不同的东西,例如
> \@date=macro:
->11 March 2018.
然后\@date
已经被重新定义,在这种情况下,您需要找到它被重新定义的位置并进行相应的修改。
答案2
如果您想在论文中看到“2018 年 3 月”;只需输入\date{March 2018}
论文文本即可。这会将宏初始化\@date
为March 2018
。
此外,这里有一个简单的宏(\printdate
)来以所需的格式打印日期:
\documentclass{article}
\newcommand*{\printdate}{%
\ifcase \month\or January\or February\or March\or April\or May\or June\or July\or
August\or September\or October\or November\or December\fi \space \number\year}
\begin{document}
\printdate
\end{document}