如何在 Windows 中轉義命令列的字串 \"?

如何在 Windows 中轉義命令列的字串 \"?

對於為我編譯 LaTeX 的腳本,我必須將字串發送\"到命令行,在以".例子:

>pdflatex "\IeC{\" o}"

怎樣才能擺脫"中間的困境呢?如果我這樣做pdflatex "\IeC{\\" o}",“\”將意味著 a\並且字串仍將在中間終止"。有什麼辦法可以解決這個問題嗎?

澄清:我想發送到 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),然後您可以將其傳遞給腳本而不帶任何引號。

相關內容