LaTeXをコンパイルするスクリプトの場合、\"
で区切られた文字列内で文字列"
をコマンドラインに送信する必要があります。例:
>pdflatex "\IeC{\" o}"
途中で"
をエスケープするにはどうすればよいですか? pdflatex "\IeC{\\" o}"
を実行すると、「\」は\
を意味し、文字列は"
の途中で終了します。これを回避する方法はありますか?
説明: pdflatexに送信したいリテラル文字列は\IeC{\"o}
です。エスケープした後、これはコマンドライン引数として渡される必要があります。
\\\"
最初の文字をエスケープするには、\\
です。
2番目の文字をエスケープするには、\"
です。
だから、それらを一緒に貼り付けるだけです。 \\\"
だから、短編小説、\\IeC{\\\"o}
私はこれまでpdflatexを使用したことがありませんが、それが通常のエスケープの仕組みです。
... {と}もエスケープする必要がない限り
エスケープ文字としてカラットを使用します。
pdflatex "\IeC{^" o}"
編集:
外側の引用符を省略してみてください。
pdflatex \IeC{\" o}
覚えておくべきことの1つは、WindowsはLinux/Unixシェルのようにコマンドライン引数を処理しないということです。引数はそのまま(外部引用符を含めて)プログラムに渡され、プログラムは引数の処理方法を決定する必要があります。だからあなたはスペースを脱出する必要があるかもしれません。それはすべて、pdflatexが引数をどのように見るかに依存します。
また、円記号をエスケープする必要があります。
pdflatex "^\IeC{^\^" o}"
...しかし、キャレットがLaTeXにとって何か意味があるかどうかはわかりませんが、おそらくそうだと思います。
または、二重引用符を使用してパラメーター全体を含めることもできますが、うまくいくとは思えません。
ただし、確かに機能するのは、pdflatexスクリプトを変更して、%1パラメーターと%2パラメーター(必要に応じて最大%n)を連結し、引用符なしでスクリプトに渡すことができるようにすることです。