
다음과 같은 최소한의 예:
\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 과정에서 저는 The 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}
라틴 모던에는 필요한 글리프가 없기 때문에 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
. 이는 글꼴에 따라 다릅니다.