在独立类中使用字节字段会减少字段数量

在独立类中使用字节字段会减少字段数量

对我来说,所描述的行为似乎是bytefieldv2.2 软件包的一个错误。也许我搞错了,standalonev1.2 也存在错误。或者只是我做错了。

排版这个最小的例子

\documentclass{standalone}
\usepackage{bytefield}
\begin{document}
    \begin{bytefield}[bitwidth=2.1em]{2}
    \bitheader{0-1} \\ \bitbox{1}{0} \bitbox{1}{2}
    \end{bytefield}
\end{document}

使用 pdflatex 会产生过于紧密的位场:

输出裁剪过紧

顶部边框太紧,其他边框也有点太紧,因为它们会切掉一个边框像素。我认为这是个bytefield错误,并试图找到解决方法。

正如建议的那样这个问题,可以增加独立边框,这至少可以部分显示字节场数字:

\documentclass[border=1pt 0pt 1pt 10cm]{standalone}

产生这个:

边界延伸不完全

这解决了底部/左侧/右侧边框的问题,但没有解决顶部边框的问题。这似乎是一个standalone错误。

使用\documentclass[border=2mm]{standalone}扩展所有边框可达到预期效果。当前的解决方法是将所有边框扩展约 2 毫米,以使字节字段数字可见。

对我来说,这种解决方法非常不幸,因为我在自动化环境中使用独立类创建大量 PDF - 其中只有少数是字节字段。因此,我必须增加全部边界,因为字节场环境不接受border作为可选参数。

还有其他解决方法吗?

答案1

这里的问题是,顶部的索引号不是边界框字节字段表。您只需bytefield在普通文档中使用环境并\frame{...}在其周围添加即可看到这一点。生成的框架也会剪切索引号。

这是由造成的bytefield,我猜测是因为包含picture环境没有考虑索引号高度。

之后,其他 TeX 工具都无能为力standalone,因为官方尺寸不是由“墨水”决定的,而是由官方边界框决定的。只有 ghostscript 等渲染工具可以通过查看生成的“墨水”来重新计算正确的边界框。

解决方法是在其周围添加边框。您的代码示例不起作用,因为您需要将数字添加到括号中,以保护空格不受 的选项处理代码的影响\documentclass

以下工作(请注意,0.5(=0.5bp;大点)是默认边界):

\documentclass[border={.5 .5 .5 2mm}]{standalone}
\usepackage{bytefield}
\begin{document}
    \begin{bytefield}[bitwidth=2.1em]{2}
    \bitheader{0-1} \\ \bitbox{1}{0} \bitbox{1}{2}
    \end{bytefield}
\end{document}

相关内容