
Некоторые алфавиты, например кириллица, управляют острыми ударными гласными с помощью символа Unicode 0301, объединяющего острого ударения. Это может привести к проблемам с переносами, поскольку символ переноса иногда помещается между гласной и ударным символом, что приводит к неправильному размещению ударения, как в следующем примере (скомпилированном в LuaLaTex):
Слово «со́гре́ши́вши́я» пишется правильно через дефис:'о' 'U0301' - 'г'
Вместо этого в слове «при́сно́» неправильный перенос, 'и' - 'U0301' 'с'
что приводит к неправильному размещению ударения в начале четвертой строки.
На самом деле эту проблему можно обойти локально, используя обычный перенос при́\-сно́
, но я хочу избежать этой ошибки глобально.
ПРИМЕЧАНИЕ: этот вопрос частично задан в вопросеИзбегайте переносов вокруг определенного символа., но я не понимаю, как команда \lccode
может справиться с объединением акцентов.
Это код ссылки:
\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}
решение1
Добавляю 8^^^^0301
в hyph-ru.tex, как предложено здесь (Ударение в русском языке над «ы» переходит на следующую строку.) сработало у меня и отключило переносы (нет необходимости перестраивать форматы, так как lualatex в любом случае загружает их на лету).
По моему скромному мнению, это означает, что шаблон неисправен, и вам следует сообщить об этом разработчикам.