Имя файла в текст

Имя файла в текст

У меня есть несколько файлов кода, которые я хочу включить в приложение в следующем формате:

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}

введите описание изображения здесь

Связанный контент