我用它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}