加载 bidi 时,gb4e 示例中的 tikz-qtree 未居中

加载 bidi 时,gb4e 示例中的 tikz-qtree 未居中

我用它tikz-qtree来绘制示例内的语法树gb4e。我很高兴能够按照以下答案将它们置于中心:居中树木

但是,我后来决定在论文中使用一些阿拉伯语文本,因此我通过 加载了阿拉伯语作为另一种语言polyglossia。突然,我的树都没有居中。我猜问题与加载 有关bidipolyglossia当您添加从右到左的语言时会出现这种情况,但我不知道如何解决这个问题。

以下是 MWE:

\documentclass{article}
\usepackage{tikz-qtree}
\usepackage{polyglossia}
\setmainlanguage{english}
% Uncomment the following line to see the problem behavior:
%\setotherlanguage{arabic}
\usepackage{gb4e}

\begin{document}
Here is an example tree that I want to be centered.
\begin{exe}
    \ex
    \hfil
    \begin{tikzpicture}[baseline]
        \Tree [.DP
                [.D the ]
                [.NP [.N center ] ] ]
    \end{tikzpicture}
    \hfil
\end{exe}
\end{document}

这是所需输出的照片: gb4e 中的中心树

下面是加载 bidi 时获得的输出: 在此处输入图片描述

答案1

原始发帖者是我的学生,因此我亲自与他见面来调试这个问题,因为没有一个评论者能够复制他报告的问题。

事实证明,该问题并非特定于tikz-qtreegb4e。它是由旧版本的错误引起的bidi(之前已报告这里) 会干扰tikzpicture的环境tikz。使用这些旧版本的bidi,您可以在任何列表环境中看到效果,而不仅仅是gb4eexe环境。

有两种解决方案:

  1. 更新bidi到当前版本,不再有错误。一般来说,这是我推荐的,但 Aidan 选择暂时不这样做,因为他的论文快要写完了,不想让他的设置中的其他东西被破坏。
  2. 按照建议,将环境围绕tikzpicture\makebox{}这个答案

相关内容