
いくつかのコマンドをテキスト ファイルに書き込むマクロを作成しています。このテキスト ファイルは、後で読み込まれていくつかのマクロを実行することになっています。
マクロ:
\documentclass{article}
\begin{document}%
\newwrite\tmpfile%
\immediate\openout\tmpfile=output.tex%
\immediate\write\tmpfile{some text and a percent sign}%
\immediate\closeout\tmpfile%
\end{document}%
エクスポートされたテキスト
some text and a percent sign
退屈な空白を避けるために、行をパーセント記号で終わらせる必要があります。%
このラインを試してみました
\immediate\write\tmpfile{some text and a percent sign\%}%
その結果、
some text and a percent sign\%
それは私が欲しいものではありません。私が欲しいのは:
some text and a percent sign%
ファイルに単一のパーセント記号 (%) を書き込むことは可能ですか? また、その方法を教えてください。
答え1
はコメント文字なので、その意味を catcode 14 から、つまり文字%
に変更する必要があります。 これはの定義で行われますが、これにより別の「厄介な」使用法が導入されます。そのため、 のように で実行し、のペアを省略する方法を示します。12
latex.ltx
\@percentchar
\makeatletter...\makeatother
latex.ltx
\writepercent
\makeatletter...\makeatother
\documentclass{article}
\catcode`\%=12
\def\writepercent{%}
\catcode`\%=14
%Also possible
\makeatletter
\def\writepercentother{\@percentchar}%
\makeatother
\begin{document}%
\newwrite\tmpfile%
\immediate\openout\tmpfile=output.tex%
\makeatletter
\immediate\write\tmpfile{some text and a percent sign\@percentchar}
\makeatother
\immediate\write\tmpfile{Another important text and a percent sign\writepercent}
\immediate\closeout\tmpfile%
\end{document}