我目前使用\isodate{\today} \currenttime}
来包含 XeTeX 文档的大致创建时间。这“足够好”,但不包括时区。在 pdflatex 中,可以使用 来包含文档的创建时间\pdfcreationdate
,是否有适用于 XeTeX 的等效命令?
答案1
这可以通过运行外部程序来实现,例如date
在 Unix 系统上。输出可以重定向到文件,然后由 TeX 读取。在 Unix 系统上,也可以使用管道。
例子:
\documentclass{article}
\immediate\write18{date >\jobname.date}
\begin{document}
Current time is: \input{\jobname.date}
\end{document}
可以通过命令行选项-shell-escape
(TeX Live)或--enable-write18
(MiKTeX)启用 shell 转义功能。
答案2
也许您可以使用编辑器提供的功能。如果是emacs
,您可以使用time-stamp
。首先,您必须调整变量time-stamp-format
和time-stamp-pattern
。我建议使用文件本地版本,方法是在文档末尾放置类似以下内容:
%%% Local Variables:
%%% mode: latex
%%% eval: (set (make-local-variable 'time-stamp-format) "%3a %02d/%02m/%4y %02H:%02M:%02S %Z")
%%% eval: (set (make-local-variable 'time-stamp-pattern) "\\\\newcommand{\\\\timestamp}{%%}")
%%% TeX-master: t
%%% End:
接下来,在文档的第一行输入以下内容:
\newcommand{\timestamp}{}
后面跟着其余的 LaTeX 代码。每次保存文档时,emacs
都会自动更新的参数\timestamp
,您可以在文档中使用该命令,例如:
\newcommand{\timestamp}{Don 21/05/2015 23:05:25 Mitteleuropäische Sommerzeit}
\documentclass{article}
\begin{document}
\texttt{Last saved: \timestamp}
\end{document}
这是我盒子上的结果。
答案3
似乎有一个包Datetime
。这似乎也可以打印时区。使用命令\DTMnow