对带下划线的文件名使用 \verbatiminput

对带下划线的文件名使用 \verbatiminput

我正在尝试使用 包含一些源文件\verbatiminput{}。其中一些文件名中有下划线。默认情况下,此方法可以正常工作。但是,如果我尝试包含包,underscore以便可以在文本和 中使用下划线\texttt{},我的突然verbatim input停止工作(它会尝试读取下划线前的名称指定的文件,并且只会打印出下划线后的文本)。我该如何解决这个问题?

答案1

的文件underscore包裹文件名中必须避免出现的状态_。但是,如果您确实需要在文件名中使用_,则可以使用[strings]package 选项,该选项与 一起\UnderscoreCommands可用于指定_需要 的命令列表。

下面,我已将命令添加\verbatiminput到此列表中——其他命令直接来自文档。请注意,此列表必须被定义包已加载。

\documentclass{article}
\usepackage{verbatim}

\newcommand{\UnderscoreCommands}{\do\verbatiminput%
\do\citeNP \do\citeA \do\citeANP \do\citeN \do\shortcite%
\do\shortciteNP \do\shortciteA \do\shortciteANP \do\shortciteN%
\do\citeyear \do\citeyearNP%
}
\usepackage[strings]{underscore}

\begin{document}
\texttt{Am going to include the file a_b here}% This still produces the correct output
\verbatiminput{a_b}
\end{document}

相关内容