![字节场是如何引起 Pdf-and Xe-TeX 和 LuaTeX 之间的差异的,又该如何解决?](https://linux22.com/image/264663/%E5%AD%97%E8%8A%82%E5%9C%BA%E6%98%AF%E5%A6%82%E4%BD%95%E5%BC%95%E8%B5%B7%20Pdf-and%20Xe-TeX%20%E5%92%8C%20LuaTeX%20%E4%B9%8B%E9%97%B4%E7%9A%84%E5%B7%AE%E5%BC%82%E7%9A%84%EF%BC%8C%E5%8F%88%E8%AF%A5%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3%EF%BC%9F.png)
这是“请解释一下 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 使用不同的括号结构......