是否可以让 LaTeX 相信当前年份是 2012,从而\the\year
打印 2012?
\documentclass{article}
\begin{document}
% What to do so that the following prints 2012?
\the\year
\end{document}
我还没有找到建议\命令;尝试设置\year
使用\setcounter{year}{2012}
也不起作用。
答案1
TeX 在作业开始时初始化\day
、\month
和;它们是可以分配新值\year
的\time
内部整数寄存器。但是,没有用于修改其值的 LaTeX 接口,因此必须使用原始的 TeX 赋值样式:因此
\year=2012
就可以了,对于上面提到的其他寄存器也类似。在值后面留一个空格(或行尾),或者附加\relax
以确保安全。
请注意, 的\time
初始化值为作业启动时的午夜过后分钟数。\day
、\month
和的初始值\year
是预期值。
你可以打印通过在寄存器名称前加上前缀来指定它们的值\the
,如\命令。
答案2
只是为了好玩,快速的 LaTeX 界面到年份:
\documentclass{article}
\makeatletter
\let\c@year\year
\makeatother
\newcommand*{\theyear}{\Roman{year}}
\setcounter{year}{2012}
\begin{document}
\theyear
\end{document}
答案3
只是为了好玩,没有 TeX 原语:
\documentclass{article}
\usepackage{advdate}
\begin{document}
\ThisYear{1492} Christopher Columbus discovers America in \the\year. \par
\AdvYear{509} {\em\the\year: A Space Odyssey} was a film made in%
\AdvYear{-33} \the\year. \par
\SetDate[20/07/1969] Man takes first steps on the Moon in \today. \par
\AdvanceDate[16403] But today is \today.
\end{document}