字体编码的意外副作用

字体编码的意外副作用

通常建议包括\usepackage[T1]{fontenc},但我受到了以下差异的打击:

\documentclass{article}
\usepackage[T1]{fontenc}
\begin{document}
texttt: \texttt{-->}

verb: \verb+-->+
\end{document}

如果没有,fontenc两者渲染效果相同-->。但有了fontenc第一个,渲染效果为->

还会有其他类似的差异吗?

答案1

在我看来,这是开发 EC 字体时的一个疏忽。

您可以使用 禁用连字(在 中pdflatexmicrotype

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{microtype}

\DisableLigatures[-,?,!,<,>]{encoding=T1,family=tt*}

\begin{document}

texttt: \texttt{--> --->}

verb: \verb+--> --->+

\texttt{?` !` ff fi fl ffi ffl << >>}

\end{document}

在此处输入图片描述

如果没有这\DisableLigatures条线,你会得到

在此处输入图片描述

使用 XeLaTeX 或 LuaLaTeX 则不会出现问题,因为等宽字体是在没有启用 TeX 连字的情况下加载的。

\documentclass{article}
\usepackage{fontspec}

\begin{document}

texttt: \texttt{--> --->}

verb: \verb+--> --->+

\texttt{?` !` ff fi fl ffi ffl << >>}

\end{document}

在此处输入图片描述

相关内容