有没有办法在与包结合使用并重新定义时禁用 LaTeX 将所有双引号(例如''
``
<< >>
格式化双引号)的转换,例如:verbatim
fontenc
\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
无论如何,加载该包可能都是一个好主意......