我正在尝试为我的 Windows 机器编写一个 .bat 文件,删除页码并使用 和 将 pdf 转换为 png 文件pdfcrop
。pdftoppm
转换部分不是问题;从 .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 独有的。