文件名到文本

文件名到文本

我想將幾個程式碼檔案包含在附錄中,格式如下:

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,使下劃線成為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}

在此輸入影像描述

相關內容