在使用 verbatim 包和 fontenc 时如何避免使用双引号?

在使用 verbatim 包和 fontenc 时如何避免使用双引号?

有没有办法在与包结合使用并重新定义时禁用 LaTeX 将所有双引号(例如'' `` << >>格式化双引号)的转换,例如:verbatimfontenc\verbatim@font

\documentclass[a4paper,11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{verbatim}

\makeatletter
  \renewcommand{\verbatim@font}{\fontsize{10pt}{12pt}\selectfont\ttfamily}%
\makeatother
\newenvironment{code}
  {\topsep=0pt\partopsep=0pt\endgraf\verbatim}
  {\endverbatim}

\begin{document}

\begin{code}
0x3333 << 1
\end{code}

\end{document}

以上内容变成<< 了格式化的法语引文。如果我不使用该fontenc包,或者如果我不重新定义,\verbatim@font则显示正常。对于我的文档,我想重新定义字体(主要是为了比 等具有更好的粒度) \small\tiny并且我使用该fontenc包,因为文档的其他部分否则会显示错误的字体。

\verbatim我可以在内部或全局禁用双引号吗?

我也可以放弃这个verbatim包,但是我想围绕逐字文本定义一个命令,而默认情况下你不能这样做。

除了那些烦人的引号之外,一切都很顺利……任何帮助都将不胜感激

提前致谢。

答案1

哎呀,我忘了阅读手册了!它在手动的第 3.2 节讨论了\verbatim@font

为了解决我的问题,请将重新定义更改\verbatim@font为以下内容:

\makeatletter
  \renewcommand{\verbatim@font}{\fontsize{10pt}{12pt}\selectfont\ttfamily
  \hyphenchar\font\m@ne
  \let\do\do@noligs
  \verbatim@nolig@list}
\makeatother

答案2

即使在 monotype 字体中,T1 编码字体也支持字符序列(如<<和)的 TeX 样式连字。以下补救措施应该有效:插入说明>>

\usepackage{microtype}
\DisableLigatures{encoding = T1, family = tt* }

在序言中。

microtype无论如何,加载该包可能都是一个好主意......

相关内容