缺少字符:字体 cmr12 中没有 ?!

缺少字符:字体 cmr12 中没有 ?!

我不太清楚如何诊断这个问题。这是我在日志文件中看到的内容。但是,我的工作中没有“?”符号。

值得一提的是,这是我的序言:

\documentclass[12pt]{article}
\title{Title}
\author{Author}
\date {February 2012}
\usepackage{wallpaper}
\usepackage{fullpage}
\usepackage{hyperref}
\hypersetup{colorlinks=false,pdfborder={0 0 0},}
\SweaveOpts{concordance=TRUE,echo=FALSE,warnings=FALSE,message=FALSE}

\begin{document}

\ThisULCornerWallPaper{1}{documenthead.jpg}
\LLCornerWallPaper{1}{footer.jpg}

% TITLEPAGE

\begin{titlepage}
\maketitle
\end{titlepage}

\tableofcontents{}
\clearpage
...
\end{document}

答案1

此错误消息是低级 TeX 输出,如果您正在排版字体中的材料(示例中的外部名称为“cmr12”)并尝试排版字体中没有的字形,则会显示此错误消息。这?不是真正的问号,它代表未知的字符。

当您排版一个单词时,例如“aha”,那么深层次上,这一切都将转换为字体中的字形位置。例如,大多数编码中的“a”代表字体位置八进制:141,“h”代表八进制:150。当前字体中这些位置上的任何字形都将被排版(可能看起来与“a”或“h”完全不同)。

现在,有问题的字体只填充了前 128 个位置(它是 7 位字体),最可能发生的情况是您的文档包含变音字符,在大多数编码中,这些字符映射到 128-255 范围内的数字位置。如果这些位置不存在,您会收到错误消息。

可能的解决方案:

  • 仅使用 7 位输入,例如,\'a而不是直接á
  • 为文档使用“正确”的输入编码,例如,\usepackage[latin1]{inputenc}如果文档是用 8 位 Latin1 编码编写的,或者\usepackage[utf8]{inputenc}它是用 UTF8 编写的。选择正确的输入编码会导致像 这样的字符á被 LaTeX 内部自动翻译回\'a

不管哪种情况,在前言中添加\usepackage[T1]{fontenc}8 位字体以便使用都是明智的做法,因为如果使用重音字符,这些字体将产生更好的质量。如果使用 8 位字体编码,则命令\'a不再构造变音字符,而是选择字体中的实际字形。

答案2

生成此类消息很容易:

\documentclass{article}
\begin{document}
 äö¿
\end{document}

但为了能够知道文档中消息的来源,需要一个完整的示例。

相关内容