是否有可能(即是否有任何命令)直接从 tex 文件中访问 LaTeX/XeTeX 的版本号?
到目前为止,我只是使用一个小脚本来执行latex --version
或xetex --version
,只获取输出的第一行并将\newcommand{\LaTeXVersion}{...}
或插入\newcommand{\XeTeXVersion}{...}
到 tex 文件中的给定位置。
答案1
XeTeX 支持原语\XeTeXversion
和\XeTeXrevision
以获取 XeTeX 的使用版本。XeTeX 还实现了 eTeX 扩展,因此\eTeXversion
和\eTeXrevision
原语也可用于获取 eTeX 版本。
这些是横幅中打印版本的中间部分,例如,如果您有XeTeX 3.14159265-2.6-0.99992 (TeX Live 2015/Debian)
,则可以使用
\documentclass{scrartcl}
\begin{document}
\the\eTeXversion\eTeXrevision-\the\XeTeXversion\XeTeXrevision
\end{document}
要得到
2.6-0.99992
这足以识别引擎。仅3.14159265
说明您的 XeTeX 基于哪个 TeX 版本。
您还要求提供“LaTeX”版本。LaTeX 格式的版本可用作\fmtversion
,但这不是您调用 时显示的内容latex --version
,因为此命令显示 使用的 TeX 引擎的版本latex
,通常是pdfTeX
。如果您的文档使用 pdfLaTeX 并且您想要获取版本,您可以使用类似于 XeTeX 的原语:
\documentclass{scrartcl}
\begin{document}
\the\eTeXversion\eTeXrevision-\the\pdftexversion.\pdftexrevision
\end{document}
结果:
2.6-140.19
但 pdfTeX 还允许您访问完整的横幅:
\documentclass{article}
\begin{document}
\pdftexbanner
\end{document}
例如在我的系统上这给出
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) kpathsea version 6.3.0