補助ファイルに%を出力する(仮)
LaTeXを使って、補助(テキスト)ファイルを作る際に%を出力したいときの解決策として、catcodeに訴えるという方法を思いつき実行しました。
(他に楽な方法があるかもしれないですが、とりあえず覚書として。習いたてのことばかり使っているので、マナーの悪いコードかもしれないです)
\makeatletter \catcode`\%=11 \newcounter{currentnumber} \setcounter{currentnumber}{1} \newcounter{endnumber} \setcounter{endnumber}{10} \newcommand{\periwo}[1]{ \if@filesw \newwrite\@peri\relax \immediate\openout\@peri #1.tex\relax \fi \if@filesw \immediate\write\@peri{%%%% コメントアウトも} \immediate\write\@peri{%%%% 出力できるよ} \immediate\write\@peri{\string\begin{theorem}{#1}} \immediate\write\@peri{} \immediate\write\@peri{\string\end{theorem}} \fi \if@filesw \immediate\closeout\@peri \fi \stepcounter{currentnumber} } \newcommand{\PERIWO}{ \periwo{\thecurrentnumber} } \def\periwoloop{ \PERIWO \ifnum\thecurrentnumber>\theendnumber\relax \else\expandafter\periwoloop\fi } \periwoloop
を(\begin{document} と\end{document} の間に書いて実行すると)
1.tex, 2.tex, ..., 10.texが生成され、
n.texの中身は
%%%% コメントアウトも %%%% 出力できるよ \begin{theorem}{n} \end{theorem}
になります。
ぺりをだねぇ