
Folgendes Minimalbeispiel:
\documentclass{article}
\usepackage{fontspec}
\begin{document}
The logo `\TeX\'.
\end{document}
erzeugt den Fehler:
./test.tex:5: Argument of \end has an extra }.
<inserted text>
\par
l.5 \end
{document}
?
Was ist hier los?
Nur um zu vermeidenwarum sollte man einen Punkt mit einem Akut belegen?Art von Argument muss ich sagen, dass ich für einen TeX-Kurs, den ich unterrichte, das TeXBook verwende und dieses spezielle Beispiel aus dem TeXBook in Kapitel 3 stammt.
Antwort1
Der Befehl \'
wird \EU1-cmd\' \EU1\'
und prüft dann \EU1-cmd
, ob die Kombination
\\EU1\'-.
definiert ist; die Kontrollsequenz hat \EU1\'-.
als Namen und kann überprüft werden durch
\expandafter\show\csname\string\EU1\string\'-.\endcsname
was gibt
> \\EU1\'-.=macro:
->\TIPAaccent {\textdotacute }.
Nun folgt das Problem, denn \TIPAaccent
es will zwei Argumente und findet, \end
welches sicherlich kein gutes Token dafür ist.
Hier ist ein Beispiel:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Gentium}
\begin{document}
\'.e
\end{document}
Gentium wird benötigt, da Latin Modern über die erforderliche Glyphe nicht verfügt.
Zusammenfassend \TeX\'.
zeigt dies eine falsche Verwendung des Backslashs nach \TeX
.
Wenn Sie es \'.
zu Demonstrationszwecken benötigen, können Sie das Composite mit dem Befehl, den ich inhttps://tex.stackexchange.com/a/58115/4427
\documentclass{article}
\usepackage{fontspec}
\setmainfont{CMU Serif}
\providecommand*\UndeclareTextComposite[3]{%
\expandafter\let\csname\expandafter\string\csname
#2\endcsname\string#1-#3\endcsname\relax}
\UndeclareTextComposite{\'}{EU1}{.}
\begin{document}
`\TeX\'.
\end{document}
Die Platzierung des Akzents ist nicht identisch mit der bei cmr10
; dies ist schriftartabhängig.