逐字文本无法在 PDF 中正确显示

逐字文本无法在 PDF 中正确显示

我尝试按如下方式更改逐字文本的字体

% Used by @verbatim ... @endverbatim
\newenvironment{DoxyVerb}{%
  \verbatim%
  \fontencoding{OT1}\fontfamily{ptm}\fontseries{m}\fontshape{n}%
  \fontsize{10pt}{10}\selectfont%
}{%
  \endverbatim%
  \normalsize%
}

但我不知道为什么有些字符不能在pdf中显示

在此处输入图片描述

示例调用是上图中的逐字文本。变量名称应该是parameter_table_build_number,但pdf将下划线显示为上部点。我将该点复制并粘贴到记事本中,它显示了下划线。我在pdf中搜索了下划线,它也表明点是下划线。

但是,如果我将字体更改为 \footnotesize,它会显示正确的字符,但逐字文本将超出纸张的边界。

在此处输入图片描述

有人能告诉我如何解决这个问题吗?非常感谢。

答案1

你不能使用\verbatim ... \endverbatim在宏内部使用。您可以在此处找到详细说明: TeX 常见问题解答 - 为什么 verbatim 在 ... 中不起作用?

您可以使用类似的包listings.. fancyvrb​​....

下面是一个使用 fancyvrb 的示例:

\documentclass[]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{fancyvrb}

\DefineVerbatimEnvironment{DoxyVerb}{Verbatim}%
   {fontfamily=ptm,fontseries=m,fontshape=n}

\begin{document}
\begin{DoxyVerb}
get_asd_asd
\end{DoxyVerb}
\end{document}

编辑:使用listings

\documentclass[]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{listings}
\lstnewenvironment{lstDoxyVerb}%
    {\lstset{basicstyle=\fontsize{10pt}{10}\usefont{OT1}{ptm}{m}{n}}}%
    {}
\begin{document}


\begin{lstDoxyVerb}
get_asd_asd
\end{lstDoxyVerb}
\end{document}

相关内容