如何在 Windows 中的命令行中转义字符串 \"?

如何在 Windows 中的命令行中转义字符串 \"?

对于为我编译 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),然后您可以将其传递给脚本而不使用任何引号。

相关内容