arabxetex/bidi 对图形计数器的奇怪效果

arabxetex/bidi 对图形计数器的奇怪效果

我在使用 XeLaTeX 时遇到了一个奇怪的错误:我包含caption.sty并使用了类似命令\renewcommand\thefigure{\Alph{figure}}来调整图形计数器。如果我包含arabxetex.sty,我对计数器所做的调整就会被恢复。

请参阅此 MWE:

\documentclass{scrbook}
\usepackage{fontspec}
\usepackage{caption}
\renewcommand\thefigure{\Alph{figure}}

\usepackage[utf]{arabxetex} 
\newfontfamily\arabicfont{Arial}

\begin{document}
\begin{figure}
    \caption{Test figure}
\end{figure} 
\end{document}

结果:

在此处输入图片描述

并比较:

\documentclass{scrbook}
\usepackage{fontspec}
\usepackage{caption}
\renewcommand\thefigure{\Alph{figure}}

%\usepackage[utf]{arabxetex} 
\newfontfamily\arabicfont{Arial}

\begin{document}
\begin{figure}
    \caption{Test figure}
\end{figure} 
\end{document}

结果:

在此处输入图片描述

有人知道为什么会发生这种情况吗?我知道正在arabxetex.sty加载bidi.sty,并且加载顺序是:首先caption然后bidi。但在我的例子中,这个顺序是被遵守的。

顺便说一句:arabxetex直接加载后caption可以解决问题。但我受此命令的特定顺序约束,因为arabxetex将由样式包加载,而前 4 行在类中。我也知道使用的可能性\AtBeginDocument{\renewcommand\thefigure{\Alph{figure}}},这也可以解决这个问题。

arabxetex然而,我真的很想知道: or中是否存在错误bidi,以及它还会对其他什么产生影响?也许我还需要投入更多精力\AtBeginDocument;)

谢谢。

答案1

没有什么奇怪的事情;只要把

\renewcommand\thefigure{\Alph{figure}}

加载包后arabxetex

相关内容