更改年份

更改年份

是否可以让 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}

相关内容