用例是我有一个模板 LaTeX 文件,我想将其复制几次,同时将其中的变量替换为其他变量。
以下是此类模板的示例:
\documentclass[%POINT-SIZE%pt]{book}
\includeonly{%CURRENT-CHAPTER%}
\begin{document}
\chapter{Chapter 1}
\include{chapter1}
\chapter{Chapter 2}
\include{chapter1}
\end{document}
所需代码应读取名为“template.tex”的文件,并将其复制到名为的四个文件中:
- “10pt-chapter1-only.tex”,
- “12pt-chapter1-only.tex”,
- “10pt-chapter2-only.tex”,和,
- “12pt-chapter2-only.tex”,
通过替换模板文件:
- 每次出现
%POINT-SIZE%
TeX 宏的内容时\pointSize
,和, %CURRENT-CHAPTER%
TeX 宏的内容每次出现\currentChapterFileName
不用说,我选择在模板文件中表示变量的方式没有什么神圣之处。
答案1
我会让 TeX 进行宏扩展。
如果您的文件
\documentclass[\pointSize]{book}
\includeonly{\currentChapterFileName}
\begin{document}
\include{c1}
\include{c2}
\end{document}
然后
pdflatex '\def\pointSize{12pt}\def\currentChapterFileName{c1}\input' file
将制作第 1 章的 12pt 版本