Почему использование греческого языка нарушает длинные тире?

Почему использование греческого языка нарушает длинные тире?

Я знаю, что преобразование --- в длинное тире — это постоянная проблема с lualatex. Но я не понимаю, почему использование греческого в одном шрифте должно (впоследствии) нарушить преобразование 3 дефисов в длинное тире в другом.

Вот мой код:

%!TEX encoding = UTF-8 Unicode
\documentclass{article}

\usepackage{fontspec}
\usepackage{ednotes}
\setmainfont[Ligatures=TeX]{Linux Libertine O}
\setsansfont[Ligatures=TeX,Scale=MatchLowercase]{TeX Gyre Heros}
\setmonofont[Scale=MatchLowercase]{Inconsolata}
\newfontfamily\myGk[Script=Greek,Scale=MatchUppercase,Ligatures=TeX]{Cambria}
%\newfontfamily\myGk[Script=Greek,Scale=MatchUppercase,Ligatures=TeX]{Linux Libertine O}

\newcommand\textgreek[1]{\myGk\emph{#1}}

\begin{document}
\fontsize{11.5}{13}\selectfont


This is a test---to see if dashes are being converted to emdashes.

\textgreek{Ἐν ἀρχῇ ἦν ὁ λόγος}

This is a test---to see if dashes are being converted to emdashes.

\end{document}

Для меня, если я запускаю код выше как есть, вторая фраза "This is a test..." выводится с тире вместо длинного тире. Если я использую шрифт Linux Libertine O для греческого, у меня нет этой проблемы.

Может кто-нибудь подскажет, как использовать шрифт Cambria Greek (который мне больше нравится), не нарушая тире в основном шрифте? Я использую TeXLive 2012 с Mac TeXShop.

решение1

сохраняем определение локально:

\newcommand\textgreek[1]{{\myGk\emph{#1}}}
%  {{...}}

решение2

Я думаю, что решение довольно очевидно, поскольку это немного моя вина. (Извините!)

Когда я впервые опубликовал свой ответ на ваш предыдущий вопросздесь, я допустил небольшую ошибку, которую я позже исправил. Однако вы не использовали обновленную версию моего ответа. Эта ошибка, похоже, и является причиной вашей нынешней проблемы.

Вам нужно использовать это:

\newcommand{\textgreek}[1]{\bgroup\myGk\emph{#1}\egroup}

Видите ли, команды шрифта для греческого шрифта теперь заключены в bgroup ... egroup. Без этого греческий шрифт используетсядля остальной части документаи не только для нескольких греческих слов.

Поскольку тире не является частью вашего греческого шрифта, он его не набирает. В настоящее время я не могу проверить свое предположение, но я почти уверен, что это оно.

По сути, это очень похоже на решение Герберта, но — на мой взгляд — более элегантно и, возможно, в некоторых крайних случаях даже более безопасно в использовании.

Связанный контент