RTL Coloring Mid-Line распространяется на всю предыдущую строку вывода

RTL Coloring Mid-Line распространяется на всю предыдущую строку вывода

Я пишу на иврите на Overleaf с помощью XeLaTeX и мне нужно раскрасить разные языки по-разному. Текст יתברך ויתרומם должен быть окрашен в темно-синий цвет, но вот результат:введите описание изображения здесь

Я использую bidiдля написания RTL-скрипта и xcolorдля раскрашивания текста. Исходный код для pdf-файла следующий (он может немного отличаться из-за RTL-природы текста):

\hbow\ מוֹדִֿים אֲנַֽחְנוּ לָךְֿ שָׁאַתָּה הוּא ה׳ אֱלֹהֵֽינוּ וֵאלֹהֵי אֲבֿוֹתֵֽֿינוּ
לְעוֹלָם וָעֶדֿ צוּר חַיֵּֽינוּ מָגֵֿן יִשְׁעֵֽנוּ אַתָּה הוּא לְדֿוֹר וָדֿוֹר נֽוֹדֶֿה לְּךָֿ
וּנְסַפֵּר תְּהִלָּתֶֽֿךָֿ עַל־חַיֵּֽינוּ הַמְּסוּרִים בְּיָדֶֽֿךָֿ וְעַל נִשְׁמוֹתֵֽֿינוּ הַפְּקוּדֿוֹתֿ
לָךְֿ וְעַל נִסֶּֽיךָֿ שֶׁבְּכׇֿל־יוֹם עִמָּֽנוּ וְעַל נִפְֿלְאוֹתֶֽֿיךָֿ וְטוֹבֿוֹתֶֽֿיךָֿ שֶׁבְּכׇֿל־עֵתֿ
עֶֽרֶבֿ וָבֹֽֿקֶר וְצׇהֳרָֽיִם הַטּוֹבֿ כִּי לֹא כָֿלוּ רַחֲמֶֽיךָֿ וְהַמְרַחֵם כִּי לֹא תַֽֿמּוּ
חֲסָדֶֽֿיךָֿ מֵעוֹלָם קִוִּֽינוּ לָךְֿ׃ וְעַל־כֻּלָּם \aramaictext{יִתְֿבָּרַךְֿ וְיִתְֿרוֹמַם}
שִׁמְךָֿ מַלְכֵּֽנוּ תָּמִידֿ לְעוֹלָם וָעֶדֿ׃ וְכֹֿל הַחַיִּים יוֹדֽֿוּךָֿ סֶּֽלָה וִיהַלְ֒לוּ אֶתֿ־שִׁמְךָֿ
בֶּאֱמֶתֿ הָאֵ׳ יְשׁוּעָתֵֽֿנוּ וְעֶזְרָתֵֽֿנוּ סֶֽלָה׃ \hbow בָּרוּךְֿ אַתָּה ה׳ הַטּוֹבֿ שִׁמְךָֿ
וּלְךָֿ נָאֶה לְהוֹדֿוֹתֿ׃

А источник \aramaictextследующий:

\newcommand{\aramaictext}[1]{\textcolor{aramaic}{#1}}

Я пробовал явно задать обычный цвет шрифта как черный и переключаться после этого, но это тоже не работает. У кого-нибудь есть идеи? Спасибо!

Редактировать: Я перешел на LuaLaTex и luabidi(я не смог приступить babelк работе) и хотя проблема с цветом исправлена, я столкнулся с новой проблемой, когда гласные не кернятся правильно. Шрифт, который я использую, — SBL BibLit; в XeLaTex этого не происходит, так что не знаю, почему это происходит здесь. Вот полная страница: введите описание изображения здесь

решение1

Работа с цветом в XeTeX несколько проблематична и сложна, поэтому, как предложил @UlrikeFischer в комментарии выше, рассмотрите возможность перехода на LuaTeX.

Так как одним из требований является то, что вам «нужно раскрасить разныеязыкипо-другому», вот вариант, основанный на этой идее, с новым языком в babel. На самом деле, babelпредоставляет некоторые минимальные файлы локали для арамейского, но для имперского арамейского, пальмирского и набатейского письма, поэтому я просто создаю новый язык на основе локали иврита ( he). Вы не предоставляете MWE (даже изображение неполное), так что это просто предположение.

\documentclass{article}

\usepackage[bidi=basic, hebrew, provide=*]{babel}
\babelprovide[import=he]{aramaic}
% The global font:
\babelfont{rm}{FreeSerif}
% Declare a colorized font for aramaic:
\babelfont[aramaic]{rm}[Color=0033CC]{FreeSerif}

\begin{document}

\hsize5cm
\centering

מוֹדִֿים אֲנַֽחְנוּ לָךְֿ שָׁאַתָּה הוּא ה׳ אֱלֹהֵֽינוּ וֵאלֹהֵי אֲבֿוֹתֵֽֿינוּ
לְעוֹלָם וָעֶדֿ צוּר חַיֵּֽינוּ מָגֵֿן יִשְׁעֵֽנוּ אַתָּה הוּא לְדֿוֹר וָדֿוֹר נֽוֹדֶֿה לְּךָֿ
וּנְסַפֵּר תְּהִלָּתֶֽֿךָֿ עַל־חַיֵּֽינוּ הַמְּסוּרִים בְּיָדֶֽֿךָֿ וְעַל נִשְׁמוֹתֵֽֿינוּ הַפְּקוּדֿוֹתֿ
לָךְֿ וְעַל נִסֶּֽיךָֿ שֶׁבְּכׇֿל־יוֹם עִמָּֽנוּ וְעַל נִפְֿלְאוֹתֶֽֿיךָֿ וְטוֹבֿוֹתֶֽֿיךָֿ שֶׁבְּכׇֿל־עֵתֿ
עֶֽרֶבֿ וָבֹֽֿקֶר וְצׇהֳרָֽיִם הַטּוֹבֿ כִּי לֹא כָֿלוּ רַחֲמֶֽיךָֿ וְהַמְרַחֵם כִּי לֹא תַֽֿמּוּ
חֲסָדֶֽֿיךָֿ מֵעוֹלָם קִוִּֽינוּ לָךְֿ׃ וְעַל־כֻּלָּם
\foreignlanguage{aramaic}{יִתְֿבָּרַךְֿ וְיִתְֿרוֹמַם}
שִׁמְךָֿ מַלְכֵּֽנוּ תָּמִידֿ לְעוֹלָם וָעֶדֿ׃ וְכֹֿל הַחַיִּים יוֹדֽֿוּךָֿ סֶּֽלָה וִיהַלְ֒לוּ אֶתֿ־שִׁמְךָֿ
בֶּאֱמֶתֿ הָאֵ׳ יְשׁוּעָתֵֽֿנוּ וְעֶזְרָתֵֽֿנוּ סֶֽלָה׃ בָּרוּךְֿ אַתָּה ה׳ הַטּוֹבֿ שִׁמְךָֿ
וּלְךָֿ נָאֶה לְהוֹדֿוֹתֿ׃

\end{document}

введите описание изображения здесь

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