付録に次の形式で含めたいコード ファイルがいくつかあります。
Appendix X filename
--------------------------------------------
filecontents
内容に適切な記載があること。
これまでのところ、私はこれを持っています:
\newcommand\codefile[1]{%
\refstepcounter{subsection}%
\addcontentsline{toc}{subsection}{\protect\numberline{\thesubsection}#1}%
\sectionmark{#1}%
\thispagestyle{fancy}%
\lhead{Appendix \thesubsection}%
\rhead{#1}%
\lstinputlisting{../../src/#1}}
唯一の問題は、正しいヘッダーです。ファイル名にアンダースコアが含まれている場合、コンパイラ (rubber) は、誤って $ を省略したと想定して、アンダースコアを挿入します。ファイル名に間違った添え字が付きます。
「ここに数式モードを自動的に挿入しない」ようにする方法はありますか?
答え1
私は単に\detokenize
の引数に を適用して\rhead
、アンダースコアを catcode 12 にしました。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{fancyhdr,listings}
\newcommand\codefile[1]{%
\refstepcounter{subsection}%
\addcontentsline{toc}{subsection}{%
\protect\numberline{\thesubsection}#1}%
\sectionmark{#1}%
\thispagestyle{fancy}%
\lhead{Appendix \thesubsection}%
\rhead{\detokenize{#1}}%
\lstinputlisting{#1}}
\begin{document}
\codefile{j_unk.tex}
\end{document}