Таблицы с текстом на иврите с использованием babel

Aug 17 2020

У меня есть документ на иврите, который я использую для визуализации, babelи теперь я хочу добавить таблицу, содержащую текст на иврите. Хотя весь документ отображается нормально, в этом случае текст отображается в неправильном направлении (слева направо, а не справа налево).

Я был бы признателен за любую помощь (я также гибко babelперехожу, пока новый пакет поддерживается Overleaf).

\documentclass{article}
\usepackage[utf8x]{inputenc}
\usepackage[english,hebrew]{babel}
\selectlanguage{hebrew}
\usepackage[top=2cm,bottom=2cm,left=2.5cm,right=2cm]{geometry}


\begin{document}

\begin{center}
 \begin{tabular}{||c |c||} 
 \hline
 טור 1 & טור 2 \\[0.5ex]
 \hline\hline
 1 & 6  \\ 
 \hline
\end{tabular}
\end{center}



\end{document}

Ответы

1 EladDen Aug 17 2020 at 10:19

babel не заставляет двунаправленный текст в табличной форме. Вам нужно сделать это самому. Я использую arraypackage для определения нового типа столбца для поддержки иврита:

\newcolumntype{C}{>{\beginR}c<{\endR}}

И полный MWE:

\documentclass{article}
\usepackage[utf8x]{inputenc}
\usepackage[english,hebrew]{babel}
\selectlanguage{hebrew}
\usepackage[top=2cm,bottom=2cm,left=2.5cm,right=2cm]{geometry}
\usepackage{array}

\newcolumntype{C}{>{\beginR}c<{\endR}}

\begin{document}

\begin{center}
 \begin{tabular}{||C |C||} 
 \hline
 טור 1 & טור 2 \\[0.5ex]
 \hline\hline
 1 & 6  \\ 
 \hline
\end{tabular}
\end{center}



\end{document}
Davislor Nov 04 2020 at 16:09

С 2020 года babelподдерживает tabularвозможность сделать это за вас. Он требует LuaTeX и не работает идеально.

\documentclass{article}
\usepackage[english, bidi=basic, layout=sectioning.tabular]{babel}
\usepackage{fontspec}
\babelprovide[import,main]{hebrew}
\usepackage[top=2cm,bottom=2cm,left=2.5cm,right=2cm]{geometry}

\babelfont{rm}
          [Ligatures={Common,Discretionary,TeX}]{Libertinus Serif} % Or any font that supports Hebrew.
\babelfont{sf}
          [Ligatures={Common,Discretionary,TeX}]{Libertinus Sans}
\babelfont{tt}
          [Ligatures=TeX]{Libertinus Mono}

\begin{document}

\begin{center}

 \begin{tabular}{||c |c||} 
 \hline
 טור 1 & טור 2 \\[0.5ex]
 \hline\hline
 1 & 6  \\ 
 \hline
\end{tabular}
\end{center}

\end{document}