从 .bat 文件运行 latex 失败

从 .bat 文件运行 latex 失败

我正在尝试为我的 Windows 机器编写一个 .bat 文件,删除页码并使用 和 将 pdf 转换为 png 文件pdfcroppdftoppm转换部分不是问题;从 .bat 文件运行 latex 是我遇到的问题。例如,如果我制作一个mycmd.bat包含

pdflatex '\AtBeginDocument{\pagestyle{empty}}\input{%1}'

mycmd bbb并在文件上运行bbb.tex

\documentclass{article}
\begin{document}
some text
\end{document}

然后在终端我得到

C:\Users\<user>\Downloads> mycmd bbb

C:\Users\<user>\Downloads>pdflatex '\AtBeginDocument{\pagestyle{empty}}\input{bbb}'
pdflatex: security risk: running with elevated privileges
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (MiKTeX 23.5) (preloaded format=pdflatex.fmt)
 restricted \write18 enabled.
entering extended mode
! I can't find file `''.
<to be read again>
                   \protect
<*> '\AtBeginDocument
                     {\pagestyle{empty}}\input{bbb}'
(Press Enter to retry, or Control-C to exit)
Please type another input file name:

pdflatex '\AtBeginDocument{\pagestyle{empty}}\input{bbb}'但如果我直接在终端中运行该命令,它就能正常工作。

我唯一的猜测是 latex 的 .bat 文件中的百分比存在问题%1。如果是这个问题,我该如何修复?如果不是,那么出了什么问题?

答案1

正如@user202729 在评论中提到的,您需要使用双引号括住整个参数pdflatex

pdflatex "\AtBeginDocument{\pagestyle{empty}}\input{%1}"

可能是 Windows 独有的。

相关内容