我正在尝试使用 包含一些源文件\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}