旧版本 LaTeX(例如 2019)与新版本(例如 2021)之间关于 \input@path 的差异

旧版本 LaTeX(例如 2019)与新版本(例如 2021)之间关于 \input@path 的差异

假设目录dir包含一个文件file.tex,该文件包含文档的某些部分。那么文档

\documentclass{article}
\makeatletter
\def\input@path{{./dir/}}% note the trailing slash
\makeatother
\begin{document}
\input{file}
\end{document}

TeXlive 2021 和 TeXlive 2019 上的排版,而

\documentclass{article}
\makeatletter
\def\input@path{{./dir}}% no trailing slash
\makeatother
\begin{document}
\input{file}
\end{document}

适用于 TeXlive 2021,但无法与 TeXlive 2019 配合使用(file.tex未找到)。显然,较新版本的 LaTeX 默认添加斜线,而较旧版本则不这样做(因此它们搜索./dirfile.tex而不是./dir/file.tex)。

因此,为了向后兼容,应该添加尾随斜杠,即使这会导致 LaTeX 使用的路径中出现(无害的)双斜杠。

这是正确的解释吗?或者观察到的行为是否与以下事实有关:一个测试是在 Linux 上进行的(使用 TeXlive 2021,两个文档都排版)而另一个测试是在 MacOS 上进行的(TeXlive 2019,仅第一个文档排版)?

相关内容