在 TeXworks 中编写用户定义命令时如何引用主 .tex 文件?

在 TeXworks 中编写用户定义命令时如何引用主 .tex 文件?

我正在尝试在 TeXworks 中创建用户定义命令,但在查找引用主 .tex 文件的语法时遇到了问题。例如,如果内容为以下行,则在 TeXworks 中创建一个 .bat 文件,然后创建一个指向该 .bat 文件的新“排版工具”即可:

pdflatex "mylatexfile.tex"

然后“mylatexfile.tex”编译没有问题,编译器输出的第一行是

C:\mypath>pdflatex "mylatexfile.tex"

但是,下面的操作不起作用:

pdflatex "%1.tex"

然后编译器开始执行以下行

C:\mypath>pdflatex ".tex"

并以“...文件被忽略)...”结尾。我假设“%1”引用主 latex 文件是错误的吗?(这是我从http://code.google.com/p/texworks/wiki/AdvancedTypesettingTools#tex_-%3E_dvips_-%3E_ps2pdf

在 latex 编辑器 LEd 中,我已成功使用 .bat 文件创建了用户定义命令。然而,那里的“%2”应该引用主 latex 文件。我在 TeXworks 中尝试过,但无济于事。我得到的结果与使用“%1”相同。

有小费吗?

我正在使用 MiKTeX 2.9 和 Windows 7。

答案1

在批处理文件中使用%1%2等是有意义的,并获取在命令行中提供的参数。因此,如果我有一个最小的批处理文件demo.bat

pdflatex“%1.tex”

我会在命令行中使用它

演示 mylatex文件

我认为您正在做的是%1在从 TeXworks 执行批处理文件时尝试使用来引用主文件。但是,TeXworks 使用代码$fullname来引用包括扩展名在内的主 TeX 文件,并$basename使用名称减去扩展名。例如,我直接运行 pdfLaTeX 的设置是:

在此处输入图片描述

因此,为了运行需要一个参数的示例批处理文件,我会使用类似的方法

在此处输入图片描述

我需要在‘参数’框中为批处理文件所需的每一个参数添加一行(%1,,%2等等)。

相关内容