
El siguiente ejemplo mínimo:
\documentclass{article}
\usepackage{fontspec}
\begin{document}
The logo `\TeX\'.
\end{document}
produce el error:
./test.tex:5: Argument of \end has an extra }.
<inserted text>
\par
l.5 \end
{document}
?
¿Qué pasa aquí?
solo para evitar¿Por qué querrías poner un acento agudo sobre un peroide?Como tipo de argumento, debo decir que para un curso de TeX que estoy enseñando, uso The TeXBook y este ejemplo en particular proviene del TeXBook en el capítulo 3.
Respuesta1
El comando \'
se convierte \EU1-cmd\' \EU1\'
y luego \EU1-cmd
verifica si la combinación
\\EU1\'-.
se define; la secuencia de control tiene \EU1\'-.
como nombre y puede ser comprobada por
\expandafter\show\csname\string\EU1\string\'-.\endcsname
lo que da
> \\EU1\'-.=macro:
->\TIPAaccent {\textdotacute }.
Ahora el problema sigue, porque \TIPAaccent
quiere dos argumentos y encuentra \end
que seguramente no es una buena señal para ello.
He aquí un ejemplo:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Gentium}
\begin{document}
\'.e
\end{document}
Se necesita Gentium porque Latin Modern no tiene el glifo requerido.
En conclusión, \TeX\'.
muestra un mal uso de la barra invertida después de \TeX
.
Si lo necesita \'.
con fines de demostración, puede anular la declaración del compuesto usando el comando que sugerí enhttps://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}
La ubicación del acento no es la misma que con cmr10
; esto depende de las fuentes.