Warum werden Geviertstriche durch griechische Ausdrücke unterbrochen?

Warum werden Geviertstriche durch griechische Ausdrücke unterbrochen?

Ich weiß, dass die Konvertierung von --- in einen Geviertstrich bei lualatex ein andauerndes Problem ist. Aber ich verstehe nicht, warum die Verwendung von Griechisch in einer Schriftart (nachträglich) die Konvertierung von 3 Bindestrichen in einen Geviertstrich in einer anderen Schriftart unterbrechen sollte.

Hier ist mein Code:

%!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}

Wenn ich den obigen Code so ausführe, wie er ist, wird bei der zweiten Zeile „Dies ist ein Test …“ ein Bindestrich statt eines Geviertstrichs ausgegeben. Wenn ich für Griechisch die Schriftart Linux Libertine O verwende, tritt das Problem nicht auf.

Kann mir jemand sagen, wie ich Cambria Greek (das ich bevorzuge) verwenden kann, ohne dass die Geviertstriche in der Hauptschriftart unterbrochen werden? Ich verwende TeXLive 2012 mit Mac TeXShop.

Antwort1

halte die Definition lokal:

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

Antwort2

Ich denke, die Lösung ist ziemlich klar, da es ein bisschen meine Schuld ist. (Entschuldigung!)

Als ich meine Antwort auf Ihre vorherige Frage zum ersten Mal gepostet habeHier, mir ist ein kleiner Fehler unterlaufen, den ich später korrigiert habe. Sie haben jedoch nicht die aktualisierte Version meiner Antwort verwendet. Dieser Fehler scheint Ihr aktuelles Problem zu verursachen.

Sie müssen dies verwenden:

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

Sie sehen, die Fontbefehle für die griechische Schriftart sind jetzt von bgroup ... egroup umschlossen. Ohne diese wird die griechische Schriftart verwendetfür den Rest des Dokumentsund das nicht nur wegen der wenigen griechischen Wörter.

Da der Geviertstrich nicht Teil Ihrer griechischen Schriftart ist, wird er nicht gesetzt. Ich kann meine Annahme derzeit nicht überprüfen, bin mir aber ziemlich sicher, dass es das ist.

Tatsächlich ist dies der Lösung von Herbert sehr ähnlich, aber meiner Meinung nach eleganter und in einigen Extremfällen vielleicht sogar sicherer in der Anwendung.

verwandte Informationen