从终端更改值

从终端更改值
\renewcommand{\name}{student}

在我的情况下,我使用打印单词名称。我想要一个脚本为我打印具有不同名称的相同文件,我将用数组来输入它。因为我必须为我的学生打印文件。

我正在通过终端运行以下命令:

xelatex popQuiz.tex '\def\name{{name}}'

但学生姓名没有改变。

请帮我知道为什么xelatex popQuiz.tex '\def\ime{{name}}'不受到名称更改的影响,谢谢

考试有 5 页,每页都有一个姓名字段,名称为“学生”,班级名称为“班级”

在 preamble.tex 文件我有以下内容:

\newcommand{\name}{student}
\newcommand{\class}{class}

并将 5 页连接到这些,在每一页上我都使用 \name 和 \class,分别打印“student”和“class”现在在 popQuiz.tx 文件上,我使用 \input 附加 preamble.tex 文件,该文件在输入后已经设置了值,我正在使用

\renewcommand{\name}{}
\renewcommand{\class}{}

我应该在 {} 中输入什么才能从命令行向其提供值,以便我能够为其编写脚本

答案1

您可以使用另一种解决方法:如果您的文件名为“test.tex”,请执行以下操作:

xelatex '\def\ime{name}\input{test.tex}'

但请注意:如果您像调用文档类或任何包定义的那样调用您的 cs,那么您将收到错误或者您的定义会被覆盖,因此请选择一个唯一的名称。

相关内容