
Polyglossia をロードすると、何らかの理由で コマンドが無効になりますが、や\.{S}
などの他のコマンドには影響しません。これは奇妙です。なぜこのようなことが起こるのか、また、再び機能させるにはどうすればよいのか、誰か考えられますか? 私は XeLatex を使用してドキュメントを作成しています。\.{R}
\.{G}
\.{S}
MWE:
\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}