带有 ntheorem 和 xetex 的 RTL 定理的分隔符位置错误

带有 ntheorem 和 xetex 的 RTL 定理的分隔符位置错误

(这是从另一个 RTL ntheorem 问题

当您在 RTL 语言文本(例如希伯来语)中有一个定理时,使用 XeTeX+ polyglossia(+ bidi)+ ntheorem,定理分隔符会出现在定理编号之前而不是之后:

\documentclass{article}
\usepackage{ntheorem}
\theoremseparator{:}
\newtheorem{theorem}{משפט}
\usepackage{polyglossia}
\setdefaultlanguage[numerals=arabic]{hebrew}
\newfontfamily\hebrewfont{David} % You may need David CLM

\begin{document}
\begin{theorem}
משפט מחוזי מאוד.
\end{theorem}
\end{document}

在此处输入图片描述

句号分隔符也会发生同样的事情。使用 MikTeX 2.9。结果\listfiles

 *File List*
 article.cls    2007/10/19 v1.4h Standard LaTeX document class
  size10.clo    2007/10/19 v1.4h Standard LaTeX file (size option)
ntheorem.sty    2011/02/16 1.31
  ifthen.sty    2001/05/26 v1.1c Standard LaTeX ifthen package (DPC)
polyglossia.sty    2010/07/27 v1.2.0a Babel replacement for XeLaTeX
etoolbox.sty    2011/01/03 v2.1 e-TeX tools for LaTeX
    etex.sty    1998/03/26 v2.0 eTeX basic definition package (PEB)
makecmds.sty    2009/09/03 v1.0a extra command making commands
fontspec.sty    2011/02/26 v2.1f Advanced font selection for XeLaTeX/LuaLaTeX
   expl3.sty    2011/06/19 v2478 L3 Experimental code bundle wrapper
 l3names.sty    2011/06/19 v2478 L3 Experimental namespace for primitives
l3bootstrap.sty    2011/06/19 v2478 L3 Experimental bootstrap code
    calc.sty    2007/08/22 v4.3 Infix arithmetic (KKT,FJ)
l3basics.sty    2011/07/04 v2493 L3 Experimental basic definitions
 l3expan.sty    2011/06/20 v2480 L3 Experimental argument expansion
    l3tl.sty    2011/07/09 v2498 L3 Experimental token lists
   l3seq.sty    2011/06/19 v2478 L3 Experimental sequences and stacks
   l3int.sty    2011/06/19 v2478 L3 Experimental integers
 l3quark.sty    2011/06/19 v2478 L3 Experimental quarks
   l3prg.sty    2011/07/06 v2495 L3 Experimental control structures
 l3clist.sty    2011/07/09 v2498 L3 Experimental comma separated lists
 l3token.sty    2011/07/02 v2491 L3 Experimental token manipulation
  l3prop.sty    2011/06/19 v2478 L3 Experimental property lists
   l3msg.sty    2011/06/19 v2478 L3 Experimental messages
    l3io.sty    2011/06/19 v2478 L3 Experimental input-output operations
  l3file.sty    2011/06/19 v2478 L3 Experimental file operations
  l3skip.sty    2011/06/19 v2478 L3 Experimental dimensions and skips
   l3box.sty    2011/06/19 v2478 L3 Experimental boxes
l3keyval.sty    2011/06/19 v2478 L3 Experimental key-value parsing
  l3keys.sty    2011/06/19 v2478 L3 Experimental key-value interfaces
    l3fp.sty    2011/06/19 v2478 L3 Experimental floating-point operations
l3luatex.sty    2011/06/19 v2478 L3 Experimental LuaTeX-specific functions
  l3toks.sty    2011/06/19 v2478 L3 Experimental token registers
  xparse.sty    2011/07/02 v2492 L3 Experimental document command parser
 xkeyval.sty    2008/08/13 v2.6a package option processing (HA)
 xkeyval.tex    2008/08/13 v2.6a key=value parser (HA)
fontspec-patches.sty    2011/02/26 v2.1f Advanced font selection for XeLaTeX/Lu
aLaTeX
fixltx2e.sty    2006/09/13 v1.1m fixes to LaTeX
 fontenc.sty
  eu1enc.def    2010/05/27 v0.1h Experimental Unicode font encodings
  eu1lmr.fd    2009/10/30 v1.6 Font defs for Latin Modern
xunicode.sty    2010/11/06 v0.96 provides access to latin accents and many othe
r characters in Unicode lower plane
fontspec.cfg
gloss-hebrew.ldf    polyglossia: module for hebrew
    bidi.sty    2011/03/21 v1.1.6 <commit 145> Bidirectional typesetting in pla
in TeX and LaTeX
   iftex.sty    2010/07/25 v0.2 Provides if(tex) conditional for PDFTeX, XeTeX,
 and LuaTeX
loadingorder-bidi.def    2010/07/25 v0.5 making sure that bidi is the last pack
age loaded
xetex-bidi.def    2010/08/01 v0.8 bidi adaptations for XeTeX engine
footnote-xetex-bidi.def    2010/07/25 v0.5 bidi footnote macros for XeTeX engin
e
article-xetex-bidi.def    2010/07/25 v0.4 bidi adaptations for standard article
 class for XeTeX engine
hebrewcal.sty    2008/07/01 v2.4 Hebrew calendar for polyglossia (adapted from 
hebcal.sty in Babel)
cal-util.def
babel-hebrewalph.def    2010/03/02 Babel definitions for Hebrew numerals
 Adapted from hebrew.ldf (2005/03/30 v2.3h)

答案1

这很奇怪,但它似乎依赖于字体。使用“New Peninim MT”字体时,我可以把冒号放在正确的位置,而使用“David CLM”时则不行。

但是,下面的方法似乎有效:

\theoremseparator{\textup{:}}

尽管如此,还是建议更新到最新版本的polyglossiabidi和。fontspec

相关内容