xelatex + unicode-math + \big = ↯

xelatex + unicode-math + \big = ↯

(注:参见编辑以下排除两者stackengine并且standalone作为罪魁祸首)

输入:

\documentclass{standalone}
\usepackage{unicode-math}
\usepackage{stackengine}\stackMath
\begin{document}
\(\bigl[
,
  \mathchoice%
  {}%
  {}%
  {}%
  {\stackunder{\scriptscriptstyle a}{}}
\bigr]\)
\end{document}

我们期望输出结果[,]具有同样大小的垂直对齐括号。但是,输出结果如下:

运行 xelatex 时的输出

括号大小不同,垂直位置不规则,这是错误的:它们应该大小相同,并且垂直对齐。使用\Big\bigg等代替\big会产生类似的错误输出。删除\usepackage{unicode-math}、 或\scriptscriptsize、 或a\stackunder不会再触发错误。编译是使用以下软件版本完成的:

  • XeTeX,版本 3.14159265-2.6-0.99996(TeX Live 2016/Debian)(预加载格式=xelatex 2017.4.2)
  • LaTeX2e <2017/01/01> 补丁级别 3
  • 独立 2015/07/15 v1.2 (不是负责任的)
  • unicode-math 2015/09/24 v0.8c
  • stackengine 2016/10/04 v4.00 (不是负责任的)

谁是罪魁祸首?我们该怎么办?


编辑作者:SB Segletes

stackengine显示的是包不是罪魁祸首,由以下 MWE 产生相同的错误的不使用 的结果stackengine。更改standalonearticle也无法解决问题。

\documentclass{standalone}
\usepackage{unicode-math}
\begin{document}
\(\bigl[
,
  \mathchoice%
  {}%
  {}%
  {}%
  {\hbox{$\scriptscriptstyle a$}}
\bigr]\)
\end{document}

答案1

这曾经是 XeTeX 3.14159265-2.6-0.99996 版本(TeX Live 2016 中)的一个问题。XeTeX 3.14159265-2.6-0.99998(包含在 TeX Live 2017 中)不会出现此问题。

stackengine这是新版本的原始代码(包括)的输出

在此处输入图片描述

这是新版本精简代码的输出

在此处输入图片描述

相关内容