
Некоторые греческие символы не печатаются chemgreek
пакетом при использовании шрифтов TeX Gyre.
Тестовый код:
\documentclass{article}
\usepackage{fontspec}
\newfontfamily\termes{texgyretermes-regular.otf}
\newfontfamily\schola{texgyreschola-regular.otf}
\newfontfamily\libertine{LinLibertine_R.otf}
\usepackage{chemgreek}
\selectchemgreekmapping{fontspec}
\begin{document}
{\termes Termes: \printchemgreekalphabet}
{\schola Schola: \printchemgreekalphabet}
{\libertine Linux Libertine: \printchemgreekalphabet}
\end{document}
Результаты немного различаются в зависимости от движка, но в обоих движках отсутствуют гамма, эпсилон, йота и фи во всех движках, кроме Linux Libertine.
я нашелответ, в котором упоминается отсутствие полной поддержки греческого языка в TeX Gyreно я подтвердил, что эти шрифты содержат «базовые» греческие символы выше.
Могу ли я использовать chemgreek
TeX Gyre без пропуска символов?
решение1
Обновлять
Такое поведение вызвано проблемами,
chemgreek
которые исправлены в версии 1.1 (2016/12/20). Где это возможно, вам следуетобновите свой дистрибутив TeXдля установки текущего релиза. Если это невозможно, например, если вы хотите изменить только этот один пакет или у вас нет прав на обновление всего дистрибутива, вам нужно будетустановить пакет локально. Этот вариант следует рассматривать как крайнюю меру, поскольку для более сложных пакетов могут существовать зависимости пакетов, которые сделают локальную установку более сложной и подверженной ошибкам.
Оригинальный ответ
Пакет chemgreek
делает несколько неверных предположений: он предполагает, что \textgamma
, \textepsilon
, \textiota
и \textphi
соответствуют греческим символам, но это не так, поскольку xunicode.sty
определяет их как символы МФА (латинские строчные буквы гамма, эпсилон, йота и фи соответственно).
Вы можете исправить это, по крайней мере, насколько chemgreek
это касается, переназначив неправильные цели:
\documentclass{article}
\usepackage{fontspec}
\newfontfamily\termes{texgyretermes-regular.otf}
\newfontfamily\schola{texgyreschola-regular.otf}
\newfontfamily\libertine{LinLibertine_R.otf}
\newfontfamily\tempora{Tempora}
\RenewDocumentCommand{\textgamma}{}{\symbol{"03B3}}
\RenewDocumentCommand{\textepsilon}{}{\symbol{"03B5}}
\RenewDocumentCommand{\textiota}{}{\symbol{"03B9}}
\RenewDocumentCommand{\textphi}{}{\symbol{"03C6}}
\usepackage{chemgreek}
\selectchemgreekmapping{fontspec}
\begin{document}
{\termes Termes: \printchemgreekalphabet}
{\tempora Tempora: \printchemgreekalphabet}
{\schola Schola: \printchemgreekalphabet}
{\libertine Linux Libertine: \printchemgreekalphabet}
\end{document}
Я также добавил Tempora, но вы можете видеть, что покрытие шрифтами TeX Gyre также полное.
Кстати, chemgreek
алфавитный порядок неправильный, так как «ци» стоит после «пси».