Hebraico não é renderizado em \section{} usando poliglossia após usar textenglish{}

Hebraico não é renderizado em \section{} usando poliglossia após usar textenglish{}

eu tive esse problema ultimamente onde o idioma principal é o hebraico e o segundo é o inglês. Quando eu uso o comando \textenglish{} na poliglossia, ele não permite que o hebraico nas seções seja renderizado corretamente

por exemplo, aqui está o látex

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

e este é o pdf gerado

insira a descrição da imagem aqui

você vê como o hebraico não é traduzido e até mesmo os números estão voltando para o inglês na terceira seção.

Compilei usando Xelatex, mas usar Lualatex gera o mesmo problema.

  • alguma correção?

Responder1

O problema foi relatado emhttps://github.com/reutenauer/polyglossia/issues/603e foi corrigido na versão 1.65. Como no verso use uma versão antiga do polyglossia, você mesmo pode "aplicar" o patch:

\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}

informação relacionada