多語言與 \.{S} 衝突,但與 \.{R} 不衝突

多語言與 \.{S} 衝突,但與 \.{R} 不衝突

載入 Polyglossia 會以某種方式停用該命令,\.{S}但不會影響其他命令,例如\.{R}\.{G}。這很奇怪,有人能想到為什麼會發生這種情況以及該怎麼做才能\.{S}再次上班嗎?我正在使用 XeLatex 建立文件。

微量元素:

\documentclass{book}
\usepackage{polyglossia}    % This will prevent \.{S} from working.

\begin{document}
\.{S}
\.{R}
\end{document}

答案1

polyglossia包並不真正參與其中,僅fontspec足以重現該問題(它由 加載polyglossia)。

預設使用的 Latin Modern 字體似乎在 S 上組合點的位置上有錯誤。

一個簡單的解決方法可能是

\documentclass{book}
\usepackage{fontspec}    

\DeclareTextCompositeCommand{\.}{TU}{S}{\accent"02D9 S}

\begin{document}

\.{S}
\.{R}

\end{document}

在此輸入影像描述

可能更好:

\documentclass{book}
\usepackage{fontspec}

\DeclareTextCompositeCommand{\.}{TU}{S}{\mydottedS}
\newcommand{\mydottedS}{%
  \leavevmode\vbox{%
    \offinterlineskip
    \halign{\hfil##\hfil\cr\char"02D9\cr\noalign{\kern-1.15ex}S\cr}%
  }%
}

\begin{document}

\.{S}
\.{R}

\end{document}

在此輸入影像描述

其他字體不會出現此問題。以 CMU Serif 為例:

\documentclass{book}
\usepackage{fontspec}

\setmainfont{CMU Serif}

\begin{document}

\.{S}
\.{R}

\end{document}

在此輸入影像描述

相關內容