T1 fontanc 默默地吃着字母

T1 fontanc 默默地吃着字母

当我使用 T1 字体编码时,LaTeX 会默默地删除重音字符。这是我的 MWE:

\documentclass{article}

% Remove this and it works fine
\usepackage[T1]{fontenc}

\font\tensfb = cmssbx11

\begin{document}

% Note the missing letters in the output
{\tensfb Fr\'echet--Dujmovi\'c}

\end{document}

latex 和 pdflatex 均产生以下输出:

LaTeX 输出

有人知道如何修复这个问题吗?我猜这与字体选择方式(可能比较老套)有关。正确的做法是什么?

答案1

T1 编码重新定义了,\'以便它指向字体中不存在的位置。使用常规 latex 命令选择字体:

\documentclass{article}

\usepackage[T1]{fontenc}

\begin{document}
\large 

Fr\'echet--Dujmovi\'c

{\sffamily\bfseries \large Fr\'echet--Dujmovi\'c}

{\fontencoding{OT1}\sffamily\bfseries \large Fr\'echet--Dujmovi\'c}

\end{document}

在此处输入图片描述

答案2

这是可以预料的,通过\font直接使用原语,您已经削弱了 latex 使用的整个机制,以确保您获得正确编码的正确字体,因此 latex 认为您有一个 8 位 T1 编码字体,但您加载了一个 7 位字体。

在此处输入图片描述

\documentclass{article}

% Remove this and it works fine
\usepackage[T1]{fontenc}



\begin{document}

% Note the missing letters in the output

{\large\sffamily\bfseries Fr\'echet--Dujmovi\'c}

\end{document}

请注意,在原始日志中你会看到

Missing character: There is no � in font cmssbx11!
Missing character: There is no � in font cmssbx11!

TeX 不会在没有警告的情况下删除字符。

相关内容