在 `.lvt` 文件之间共享内容

在 `.lvt` 文件之间共享内容

我有很多.lvt测试文件正在读取

\input{regression-test.tex}
\documentclass{...}
\usepackage{...}
\begin{document}
\ExplSyntaxOn
  ...
\ExplSyntaxOff
\input{contents}
\end{document}

它们都是\input同一个contents.tex文件。有了这种测试文件,

l3build save ...

contents.tex由于缺少而失败。

如何在运行之前将l3build其复制contents.tex到适当的位置save

答案1

使用标准设置,您可以使用源区域内的目录testfiles/support来包含用于测试的“支持”文件。如果它们被列为,则会自动复制到测试工作区中checksuppfiles。因此,类似

checksuppfiles = {"*.tex"}

然后您就可以使用\input{<whatever>},一切就会“正常工作”。

例如,此技术用于l3kernel‘后端’测试:d3<backend>.lvt

答案2

.lvt如果你想在流程之外排版你的文件l3build(例如在开发过程中),请进一步参考 Joseph Wright 的回答

假设您的testfiles文件夹包含

support/
  contents.tex
test.lvt

哪里test.lvt

\input{regression-test.tex}
\documentclass{minimal}
\begin{document}
\InputIfFileExists {contents}
  {}
  {\input{support/contents}}
\end{document}

然后你就可以运行

l3build save test

或者

pdflatex test.lvt

另一种方法是,如果您可以使用软链接:您可以将每个支持文件收集到此目录中,testfiles/support/input并将其软链接testifies/input到此目录。这样,您就不必使用该\InputIfFileExists命令了。

相关内容