这是“请解释一下 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 处理了此文件,结果如下。(请注意,我已经检查过,这取决于所使用的处理器,不是括号中的名称。)结果如下:
那么,您知道哪里出了问题,以及如何解决吗?
答案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 使用不同的括号结构......