将一个文件复制到另一个文件,同时“扩展”一些变量。

将一个文件复制到另一个文件,同时“扩展”一些变量。

用例是我有一个模板 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”的文件,并将其复制到名为的四个文件中:

  1. “10pt-chapter1-only.tex”,
  2. “12pt-chapter1-only.tex”,
  3. “10pt-chapter2-only.tex”,
  4. “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 版本

相关内容