以下是最小示例:
\documentclass{article}
\usepackage{fontspec}
\begin{document}
The logo `\TeX\'.
\end{document}
产生错误:
./test.tex:5: Argument of \end has an extra }.
<inserted text>
\par
l.5 \end
{document}
?
这里有什么问题?
只是为了避免你为什么要在句号上加一个尖音符这样的论点,我需要说,对于我所教授的 TeX 课程,我使用 TeXBook,而这个特定示例来自第 3 章中的 TeXBook。
答案1
命令\'
变成\EU1-cmd\' \EU1\'
然后\EU1-cmd
检查组合
\\EU1\'-.
已定义;控制序列具有\EU1\'-.
名称,可通过以下方式检查
\expandafter\show\csname\string\EU1\string\'-.\endcsname
这使
> \\EU1\'-.=macro:
->\TIPAaccent {\textdotacute }.
现在问题随之而来,因为\TIPAaccent
需要两个参数,并且它发现\end
这对于它来说肯定不是一个好的标记。
以下是一个例子:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Gentium}
\begin{document}
\'.e
\end{document}
需要 Genium 是因为 Latin Modern 没有所需的字形。
总之,\TeX\'.
显示了 后的反斜杠的错误用法\TeX
。
如果\'.
出于演示目的,您可以使用我在中建议的命令取消复合声明https://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}
重音的位置与 不同cmr10
;这取决于字体。