字节场是如何引起 Pdf-and Xe-TeX 和 LuaTeX 之间的差异的,又该如何解决?

字节场是如何引起 Pdf-and Xe-TeX 和 LuaTeX 之间的差异的,又该如何解决?

这是“请解释一下 bytefield、unicode-math 和 mathtools 之间的奇怪交互”,源自@JLDiaz(我向他表示感谢)的评论。

以下是 MWE:

\documentclass[a4paper]{article}
\usepackage{bytefield}
\begin{document}
\begin{bytefield}{16}
  \bitheader{0,15}\\
  \begin{rightwordgroup}{LuaLaTeX} % <= Processed with    
  \bitbox{16}{Without}\\
  \bitbox{16}{Etc}
  \end{rightwordgroup}\\
\end{bytefield}
\end{document}

我使用 PdfLaTeX、XeLaTeX 和 LuaLaTeX 处理了此文件,结果如下。(请注意,我已经检查过,这取决于所使用的处理器,不是括号中的名称。)结果如下:

在此处输入图片描述

结果:XeLaTeX

在此处输入图片描述

那么,您知道哪里出了问题,以及如何解决吗?

答案1

嗯,他们使用完全不同的字符}。添加\showoutput

pdftex 用途

................\hbox(0.39998+29.60031)x8.05559, shifted -14.60016
.................\OMX/cmex/m/n/5 )

但是 luatex 使用

................\vbox(36.00037+0.0)x8.8889, shifted 15.50018, direction TLT
.................\hbox(0.0+9.00009)x8.8889, direction TLT
..................\OMX/cmex/m/n/10 9
.................\hbox(0.0+18.00018)x8.8889, direction TLT
..................\OMX/cmex/m/n/10 =
.................\hbox(0.0+9.00009)x8.8889, direction TLT
..................\OMX/cmex/m/n/10 ;

这是手工堆叠的三个字形部分(您可以在图像中看到间隙)

比较(例如使用 pdflatex)的输出

1{\csname OMX/cmex/m/n/5\endcsname )}


2{\csname OMX/cmex/m/n/10\endcsname 9 = ;}

产生

在此处输入图片描述

其他人可能会说为什么 lualatex 使用不同的括号结构......

相关内容