
ich habe in letzter Zeit dieses Problem, dass die Hauptsprache Hebräisch und die Zweitsprache Englisch ist. Wenn ich den Befehl \textenglish{} in Polyglossia verwende, wird Hebräisch in Abschnitten nicht richtig dargestellt.
hier ist zum Beispiel das Latex
% Compile using XeLaTeX
\documentclass[a4paper]{article}
\usepackage{polyglossia}
\setmainlanguage[calendar=gregorian]{hebrew}
\setotherlanguage{english}
\newfontfamily{\hebrewfont}[Script=Hebrew]{David CLM}
\newfontfamily{\hebrewfontsf}[Script=Hebrew]{Miriam CLM}
\newfontfamily{\hebrewfonttt}[Script=Hebrew]{Miriam Mono CLM}
\newcommand{\HEBipsum}{לורם איפסום דולור סיט אמט, קונסקטורר אדיפיסינג אלית גולר מונפרר סוברט לורם שבצק יהול, לכנוץ בעריר גק ליץ, ושבעגט ליבם סולגק. בראיט ולחת צורק מונחף, בגורמי מגמש. תרבנך וסתעד לכנו סתשם השמה - לתכי מורגם בורק? לתיג ישבעס.}
\begin{document}
\section{אחד 1}
\HEBipsum
\section{שתיים 2}
\HEBipsum
\textenglish{english inline}
\HEBipsum
\section{שלוש 3}
\HEBipsum
\end{document}
und dies ist das generierte PDF
Sehen Sie, dass das Hebräische nicht wiedergegeben wird und dass im dritten Abschnitt sogar die Zahlen wieder ins Englische umgewandelt werden?
Ich habe mit Xelatex kompiliert, aber bei Verwendung von Lualatex tritt das gleiche Problem auf.
- irgendwelche Korrekturen?
Antwort1
Das Problem wurde gemeldet beihttps://github.com/reutenauer/polyglossia/issues/603und wurde in Version behoben 1.65
. Da overleaf eine alte Version von verwendet polyglossia
, können Sie den Patch selbst „anwenden“:
\documentclass[a4paper]{article}
\usepackage{polyglossia}
\setmainlanguage[calendar=gregorian]{hebrew}
\setotherlanguage{english}
\newfontfamily{\hebrewfont}[Script=Hebrew]{David CLM}
\newfontfamily{\hebrewfontsf}[Script=Hebrew]{Miriam CLM}
\newfontfamily{\hebrewfonttt}[Script=Hebrew]{Miriam Mono CLM}
\newcommand{\HEBipsum}{לורם איפסום דולור סיט אמט, קונסקטורר אדיפיסינג אלית גולר מונפרר סוברט לורם שבצק יהול, לכנוץ בעריר גק ליץ, ושבעגט ליבם סולגק. בראיט ולחת צורק מונחף, בגורמי מגמש. תרבנך וסתעד לכנו סתשם השמה - לתכי מורגם בורק? לתיג ישבעס.}
\ExplSyntaxOn
\makeatletter
\cs_set:Nn \__xpg_textlanguage:nnnn
{
\tl_if_blank:nTF {#3}
{
\msg_show:nnn { polyglossia } { languagenotloaded } {#2}
}{
% Store embedding language name
\global\let\xpg@save@languagename\languagename
\group_begin:
\bool_set_true:N \__xpg_inline_lang
\xpg@otherlanguage[#1]{#3}
\csuse{date#3}
% This is a hook for external packages which want to access variants
% via babelname (such as biblatex)
\cs_if_exist_use:c{date@bbl@\babelname}
\polyglossia@lang@settextdirection:nn{#3}{#4}
\group_end:
% Reset the language's/script's font families if the embedding script is latin
\str_if_eq:eeT{\prop_item:Ne{\polyglossia@langsetup}{\xpg@save@languagename/lcscript}}{latin}
{\resetfontlatin}
% In case a \<lang>font is defined, re-activate that
\xpg@set@normalfont{\xpg@save@languagename}
}
}
\cs_generate_variant:Nn \__xpg_textlanguage:nnnn {nnen}
\makeatother
\ExplSyntaxOff
\begin{document}
\section{אחד 1}
\HEBipsum
\section{שתיים 2}
\HEBipsum
\textenglish{english inline}
\HEBipsum
\section{שלוש 3}
\HEBipsum
\end{document}