我想在文档中包含 TeX 引擎名称和版本,有没有标记可以捕获这些内容?
我试过这个
\documentclass{article}
\usepackage{expl3}
\usepackage{hyperref}
\usepackage{listings}
\ExplSyntaxOn
\newcommand* \enginedetails
{
\c_sys_engine_exec_str
\c_space_tl
\c_sys_engine_version_str
\c_space_tl
(\c_sys_engine_format_str)
}
\ExplSyntaxOff
\begin{document}
\lstset{language=Rexx, extendedchars=true, frame=trbl}
\title{Unicode Case and Width Issues}
\author{Shmuel (Seymour J.) Metz}
\thanks
{
This is a working document for the Rexx Language Association (RexxLA).
It is written in \LaTeX \fmtversion and was rendered \today using \enginedetails{}.
}
\maketitle
\end{document}
并得到
未定义控制序列。}
在 /thanks 上加上结束 } 的行号。
答案1
您可以查询所有低级细节,但由于这已经完成expl3
:
\documentclass{article}
\ExplSyntaxOn
\newcommand* \enginedetails
{
\c_sys_engine_exec_str
\c_space_tl
\c_sys_engine_version_str
}
\ExplSyntaxOff
\begin{document}
\enginedetails{}
\end{document}
答案2
在 LuaTeX 中,我们可以这样做:
\def\luatexengine{\directlua{tex.print(status.luatex_engine)}}
\def\luatexversion{\expandafter\putdot\directlua{tex.print(status.luatex_version)}}
\def\luatexrevision{\directlua{tex.print(status.luatex_revision)}}
\def\putdot#1{#1.}
This is \luatexengine, \luatexversion.\luatexrevision.
\bye
答案3
我下载了较新的 expl3,问题就解决了。不过,我还希望该命令更强大,所以我使用了 \NewDocumentCommand。
\documentclass{article}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand\enginedetails{}%
{%
{
\c_sys_engine_exec_str
\c_space_tl
\c_sys_engine_version_str
\c_space_tl
(\c_sys_engine_format_str)
}
}
\ExplSyntaxOff
\begin{document}
\enginedetails
\end{document}