
載入 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}