У меня есть несколько файлов кода, которые я хочу включить в приложение в следующем формате:
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}}
Моя единственная проблема - правильный заголовок. Если имя файла содержит подчеркивание, то мой компилятор (резинка) предполагает, что я случайно пропустил $ и вставляет их. Делая имя файла с неправильным нижним индексом.
Есть ли способ сказать «не вставлять автоматически математический режим здесь»?
решение1
Я просто применил \detokenize
аргумент \rhead
, чтобы сделать подчеркивание кодом 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}