![使用 %& -job-name 在文档文件中定义 pdf 输出文件](https://linux22.com/image/326820/%E4%BD%BF%E7%94%A8%20%25%26%20-job-name%20%E5%9C%A8%E6%96%87%E6%A1%A3%E6%96%87%E4%BB%B6%E4%B8%AD%E5%AE%9A%E4%B9%89%20pdf%20%E8%BE%93%E5%87%BA%E6%96%87%E4%BB%B6.png)
我的理解是,如果我创建一个名为 noName.tex 的文件,其第一行
%& -jobname=myName
然后当我在该文件上运行 pdflatex 时,输出文件将被命名为 myName.pdf 而不是 noName.pdf,就像我输入的一样
pdflatex -jobname=myName noName.tex
但在下面的例子中,第一行被pdflatex忽略,输出名为noName.pdf。
这是 noName.tex:
%& -job-name=myName
\documentclass{minimal}
\begin{document}
Hello World
\end{document}
有人能建议一下正确的语法吗?非常感谢。
我使用的 pdflatex 版本是:
This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2014.6.25)
答案1
魔法%&
线多年来一直受到 TeX 实现的支持。然而,该功能在不同的 TeX 发行版中的实现方式不同。
请注意,据我所知,没有编辑器/前端可以解释这样的行:这是 TeX 引擎特有的。
在 TeX Live 中,该行只能包含要加载的格式和 TCX 文件的规范,请参阅 Web2c 文档中的第 3.5.2.2 节(texdoc web2c
,TeX Live 2015 的第 11 页):
%&format -translate-file=tcxfile
任何部分都可以为空。请注意,在 TeX Live 中,Knuth TeX没有尊重这条神奇的线。
据我所知,其他命令行选项(例如)-jobname
可以通过 MiKTeX 指定。它们肯定不能与 TeX Live 一起使用。
答案2
如果你使用 TeXstudio 和 TeX Live/MacTeX,你可以添加以下行
% !TeX TXS-program:compile = txs:///pdflatex/[-jobname=myName]
在文档的开头指定myName
为输出文件的名称。