
Einige Alphabete, wie das kyrillische Alphabet, handhaben Vokale mit Akutakzent mithilfe des Unicode-Zeichens 0301, dem kombinierenden Akutakzent. Dies kann zu Problemen bei der Silbentrennung führen, da das Trennzeichen manchmal zwischen Vokal und Akzentzeichen platziert wird, was zu einer Fehlplatzierung des Akzents führt, wie im folgenden Beispiel (kompiliert in LuaLaTex):
Das Wort 'со́гре́ши́вши́я' wird korrekt mit Bindestrich geschrieben:'о' 'U0301' - 'г'
Das Wort „при́сно́“ weist stattdessen eine falsche Silbentrennung auf, 'и' - 'U0301' 'с'
was zu einer falschen Akzentsetzung am Anfang der vierten Zeile führt.
Eigentlich lässt sich das Problem lokal vermeiden, indem man die Silbentrennung mit dem üblichen ausführt при́\-сно́
, aber global möchte ich diesen Fehler vermeiden.
HINWEIS: Diese Frage wird teilweise in der Frage gestelltVermeiden Sie die Silbentrennung um ein bestimmtes Zeichen, aber ich sehe nicht, wie der Befehl \lccode
mit der Kombination von Akzenten umgehen kann.
Dies ist der Referenzcode:
\documentclass[a5paper]{memoir}
\usepackage[russian]{babel}
\usepackage{fontspec}
\setmainfont{Linux Libertine}
\setlength{\spinemargin}{55mm}
\setlrmarginsandblock{\spinemargin}{*}{1}
\checkandfixthelayout
\newcommand\TextRus{ди́це́, при́зри́ на́ лю́ди́ со́гре́ши́вши́я, яви́ я́ко́ при́сно́ си́лу Тво́ю: при́зыва́е́м.}
\begin{document}
\begin{hyphenrules}{russian}
\noindent\TextRus
\end{hyphenrules}
\end{document}
Antwort1
Hinzufügen 8^^^^0301
zu hyph-ru.tex wie hier vorgeschlagen (Der Akzent im Russischen über «ы» geht in die nächste Zeile) hat bei mir funktioniert und die Silbentrennung unterdrückt (die Formate müssen nicht neu erstellt werden, da Lualatex sie ohnehin im laufenden Betrieb lädt).
Meiner Meinung nach bedeutet dies, dass die Muster fehlerhaft sind und Sie dies den Betreuern melden sollten.