对于为我编译 LaTeX 的脚本,我必须将字符串发送\"
到命令行,在以 分隔的字符串内"
。例如:
>pdflatex "\IeC{\" o}"
"
我该如何在中间转义?如果我这样做pdflatex "\IeC{\\" o}"
,则“\”将表示 ,\
并且字符串仍将在中间终止"
。有什么办法吗?
澄清:我想要发送给 pdflatex 的文字字符串是\IeC{\"o}
。经过任何转义后,这就是应该作为命令行参数传递的内容。
答案1
\\\"
要转义第一个字符,它是\\
要转义第二个字符,它是\"
所以,把它们粘在一起就行了。\\\"
长话短说,\\IeC{\\\"o}
我以前从未使用过 pdflatex,但转义通常就是这样工作的。
...除非 { 和 } 也需要转义
答案2
使用插入符号作为转义字符:
pdflatex "\IeC{^" o}"
编辑:
尝试省略外面的引号:
pdflatex \IeC{\" o}
需要记住的一点是,Windows 处理命令行参数的方式与 Linux/Unix shell 不同。参数会完整地(包括外部引号)传递给程序,程序必须决定如何处理它们。因此您可能需要转义空格。这完全取决于 pdflatex 如何看待参数。
答案3
您还需要转义反斜杠:
pdflatex "^\IeC{^\^" o}"
...但我不确定插入符号对 LaTeX 是否有任何意义,但我认为它们可能有。
或者,您可以尝试使用双引号来包含整个参数,但我怀疑它们是否有效。
不过,肯定有效的是修改您的 pdflatex 脚本以连接 %1 和 %2 参数(如果需要,最多可达 %n),然后您可以将其传递给脚本而不使用任何引号。