使用 Babel 生成希伯来语文本的表格

使用 Babel 生成希伯来语文本的表格

我有一个希伯来语文档,我使用它进行渲染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

babel 不会强制在 tabular 上使用 bidi。您需要自己做。我所做的是使用array包定义一种新的列类型来支持希伯来语:

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

答案2

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

Libertinus 样本

相关内容