如何轉義 \input 中的雙引號

如何轉義 \input 中的雙引號

我正在嘗試呼叫包含多個(嵌套)引號的 shell 命令。例如,我會在 shell 上寫下以下內容:

$ python -c "print \"Hello World\""

從而產生Hello World.我發現這裡\input|.然而,毫不奇怪,以下結果不是我想要的:

\input{|"python -c "print \"Hello World\"""} 

如同這個問題,以下工作正常:

\immediate\write18{python -c "print \string\"Hello World\string\"" > \jobname.pyout}
\input{\jobname.pyout}

但需要一個臨時文件。另外,使用\detokenize似乎適用於\write18

\immediate\write18{\detokenize{python -c "print \"Hello World\""} > \jobname.pyout}
\input{\jobname.pyout}

有沒有不需要寫文件的解決方案?

相關內容