当文档的语言通过 babel 包设置为希伯来语时,明确居中的 TikZ 图片会被推到最右边

当文档的语言通过 babel 包设置为希伯来语时,明确居中的 TikZ 图片会被推到最右边

以下 LaTeX 代码保存在 中~/test.tex

\documentclass{article}

\usepackage{adjustbox,tikz}

%\usepackage[bidi=basic]{babel}
%\babelprovide[main]{hebrew}

\begin{document}

\begin{adjustbox}{center}
   \tikz \draw (0,0) rectangle (8,1);
\end{adjustbox}

\end{document}

然后在终端中执行以下命令:lualatex ~/test。因此,生成了文件~/test.pdf。在 PDF 查看器中打开时,文件显示如下。(屏幕截图中故意省略了页码。)

没有巴别塔

请注意,按照环境的规定,矩形在页面上水平居中adjustbox

我现在取消注释了两行注释,然后重新运行lualatex ~/test。生成了一个文件~/test.pdf。在 PDF 查看器中打开时,文件显示如下。(页码故意从屏幕截图中排除。)

使用 Babel

请注意,矩形不再位于页面的水平中心。事实上,它延伸到了页面的右边缘之外。

为什么babel代码会影响矩形的显式定位?如何修复这个问题?

答案1

layout=graphics为了修复这个问题,向 Babel添加选项:

\documentclass{article}

\usepackage{adjustbox,tikz}

\usepackage[bidi=basic, layout=graphics]{babel}
\babelprovide[main]{hebrew}

\begin{document}

\begin{adjustbox}{center}
   \tikz \draw (0,0) rectangle (8,1);
\end{adjustbox}

\end{document}

该选项是在 Babel 3.32 中添加的,手册对其描述如下:

修改图片环境,使整个图形为 L,但文本为 R。它不适用于标准图片,需要 pict2e。它尝试对 pgf/tikz 执行相同操作。有点实验性。

相关内容