希伯来语中“\underbrace”中的文本未居中

希伯来语中“\underbrace”中的文本未居中

我用它babel来制作希伯来语文档,并尝试使用该\underbrace命令将一些信息放在等式下方。用英语执行此操作按预期进行,但当我用希伯来语执行此操作时,文本没有在括号下方居中,这看起来很糟糕:

如果您想复制粘贴,请参考以下代码:

\documentclass[a4paper, 12pt]{article}

\usepackage[bidi=basic, layout=tabular]{babel}

\babelprovide[main, import, alph=letters, Alph=letters]{hebrew}
\babelprovide[import]{english}

\babelfont[hebrew]{rm}{David CLM}
\babelfont[hebrew]{sf}{David CLM}

\usepackage{amsmath}
\usepackage{geometry}

\geometry{left=1cm, right=1cm, top=2cm, bottom=2cm}

\makeatletter
\newif\if@RTL \@RTLtrue
\makeatother

\begin{document}
\[ \underbrace{a^2 + b^2 = c^2}_{\text{פיתגורס}} \]
\[ \underbrace{a^2 + b^2 = c^2}_{\text{\foreignlanguage{english}{Pythagoras}}} \]
\end{document}

我怎样才能使希伯来语文本像英语一样位于括号下方的中心?

答案1

字体名称略有不同,因为这样更容易访问,但思路应该清晰。添加\null\hfil覆盖更改的设置。

    \documentclass[a4paper, 12pt]{article}

\usepackage[bidi=basic, layout=tabular]{babel}

\babelprovide[main, import, alph=letters, Alph=letters]{hebrew}
\babelprovide[import]{english}

%\babelfont[hebrew]{rm}{David CLM}
%\babelfont[hebrew]{sf}{David CLM}
\babelfont[hebrew]{rm}{David-CLM-medium}

\usepackage{amsmath}
\usepackage{geometry}

\geometry{left=1cm, right=1cm, top=2cm, bottom=2cm}

\makeatletter
\newif\if@RTL \@RTLtrue
\makeatother

\begin{document}
\[ \underbrace{a^2 + b^2 = c^2}_{\null\text{פיתגורס}} \]
\[ \underbrace{a^2 + b^2 = c^2}_{\text{\foreignlanguage{english}{Pythagoras\hfil}}} \]
\end{document}

在此处输入图片描述

答案2

我使用包\mathmakebox中的命令mathtools在希伯来语文本周围创建一个框,使其居中。PS:该代码可以使用 LuaLaTeX 编译。

\documentclass[a4paper, 12pt]{article}

\usepackage[bidi=basic, layout=tabular]{babel}
\usepackage{mathtools} % Added mathtools package

\babelprovide[main, import, alph=letters, Alph=letters]{hebrew}
\babelprovide[import]{english}

\babelfont[hebrew]{rm}{David CLM}
\babelfont[hebrew]{sf}{David CLM}

\usepackage{amsmath}
\usepackage{geometry}

\geometry{left=1cm, right=1cm, top=2cm, bottom=2cm}

\makeatletter
\newif\if@RTL \@RTLtrue
\makeatother

\begin{document}
\[ \underbrace{a^2 + b^2 = c^2}_{\mathmakebox[\widthof{\text{פיתגורס}}][c]{\text{פיתגורס}}} \]
\[ \underbrace{a^2 + b^2 = c^2}_{\text{\foreignlanguage{english}{Pythagoras}}} \]
\end{document}

在此处输入图片描述

相关内容