
次の最小限の例:
\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 を使用しており、この特定の例は TeXBook の第 3 章から引用したものであることを述べておく必要があります。
答え1
コマンド\'
は となり\EU1-cmd\' \EU1\'
、\EU1-cmd
組み合わせが
\\EU1\'-.
が定義されています。制御シーケンスの\EU1\'-.
名前は で、次のように確認できます。
\expandafter\show\csname\string\EU1\string\'-.\endcsname
これにより
> \\EU1\'-.=macro:
->\TIPAaccent {\textdotacute }.
ここで問題が起こります。 は\TIPAaccent
2 つの引数を必要としますが、\end
は確かに適切なトークンではないことが分かります。
次に例を示します。
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Gentium}
\begin{document}
\'.e
\end{document}
Latin Modern には必要なグリフがないため、Gentium が必要です。
結論として、\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
。これはフォントによって異なります。