7

I'm not quite sure how to diagnose this issue. This is what I see in my log file. However, there are no "?" symbols in my work.

FWIW, Here's my preamble:

\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}
4
  • 9
    The only way to diagnose this problem is to turn your document into a truly minimal example that shows the problem, and then show the log message from that document. The one you've posted is far from minimal: in particular, your image inclusion commands are almost certainly irrelevant and also, what's the relation to Sweave here?
    – Alan Munn
    Commented Feb 28, 2012 at 15:29
  • This is the problem. I'm not at all sure what is relevant. Although, in reviewing my document, I did find an area where \subsection was written as \subection (missing the s). Once I added the s all of these errors went away. The relation to Sweave is that I'm using it, nothing more. I'm kind of surprised that latex is so unforgiving or at least unhelpful in finding these tiny mistakes. Frustrating, really. Commented Feb 28, 2012 at 16:54
  • I would see that as a minimal example (with the "s" in \subection producing the error) Commented Feb 28, 2012 at 17:13
  • While neither of the answers below, answered my question (they couldn't have, I didn't provide enough/the right information). I selected the most informative answer. Commented Feb 28, 2012 at 22:27

2 Answers 2

19

This error message is low-level TeX output which shows up if you are typesetting material in a font (external name "cmr12" in your example) and you are trying to typeset a glyph that is not in the font. The ? is not a real question mark it stands for a character that is unknown.

When you are typesetting a word, say, "aha" then deep down this is all translated to glyph positions in a font. For example, the "a" in most encodings represents the font position octal:141 and "h" is octal:150. Whatever glyphs are in these positions in the current font will be typeset (which may not look remotely like "a" or "h").

Now, the font in question has only the first 128 slots filled (it is a 7 bit font) and what happened most likely is that your document contains diacritical characters which in most encodings map to positions with number in the range from 128-255. And if these slots do not exist you get the error message.

Possible resolutions:

  • Use only 7 bit input, e.g., \'a instead of straight á
  • Use the "correct" input encoding for your document, e.g. \usepackage[latin1]{inputenc} if the document is written in the 8 bit Latin1 coding, or \usepackage[utf8]{inputenc} if it is in UTF8. Chosing the correct input encoding results in characters like á are automatically translated back internally by LaTeX to \'a.

In either case it is sensible to add \usepackage[T1]{fontenc} in your preamble so that 8 bit fonts are used as these will result in better quality if accented characters are used. If an 8 bit font encoding is used then commands like \'a are no longer constructing the diacritical characts but instead select the real glyph in the font.

6
  • Using only inputenc would help too: then e.g ä would be active and mapped to \"a and this is defined for OT1. Commented Feb 28, 2012 at 22:31
  • @Ulrike you are right, looks like I don't remember how the stuff was designed that I once wrote. Commented Feb 28, 2012 at 23:12
  • @Mico I owe you an apology, Ulrike is quite right that your suggested answer would have worked as well if the document was in UTF8 and not in say Latin1 Commented Feb 28, 2012 at 23:14
  • Is there a difference in \usepackage[utf8]{inputenc} and \usepackage[UTF8]{inputenc}? Commented Feb 9, 2014 at 11:49
  • @moose in case of inputenc the option is passed on to \inputencoding{option-name} which in turn loads a file option-name.def. On operating systems where file names are case sensitive that makes a difference (because UTF8.def may not exist). So it is better to use the official option name which is "utf8" in this case. Commented Feb 15, 2014 at 16:51
11

It is easy to generate such messages:

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

But to be able to know what in your document is the source of the message a complete example is needed.

1
  • This answer would have been better had you provided a way to solve the messages in the example document you produced. Commented Jun 13 at 18:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .