\'。使用 fontspec 套件時出現錯誤

\'。使用 fontspec 套件時出現錯誤

下面是一個最小的例子:

\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需要兩個參數,而且它發現\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重音的位置與;不同。這取決於字體。

在此輸入影像描述

相關內容