
Para mim, o comportamento descrito parece ser um bytefield
bug do pacote v2.2. Talvez eu esteja entendendo errado e standalone
a v1.2 também esteja com bugs. Ou sou só eu fazendo coisas erradas.
Compondo este exemplo mínimo
\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}
usar pdflatex produz um campo de bits muito cortado:
A borda superior está muito apertada, outras bordas estão um pouco apertadas porque cortam um pixel emoldurado. Considero isso um bytefield
bug e tentei encontrar uma solução alternativa.
Como sugerido emessa questão, a borda independente pode ser aumentada, o que revela os números do campo de bytes pelo menos parcialmente:
\documentclass[border=1pt 0pt 1pt 10cm]{standalone}
produz isto:
o que resolve o problema na borda inferior/esquerda/direita, mas não na borda superior. Isso parece ser um standalone
bug.
O uso \documentclass[border=2mm]{standalone}
estende todas as fronteiras conforme o esperado. A solução alternativa atual seria estender todas as bordas em aproximadamente 2 mm para tornar visíveis os números do campo de bytes.
Para mim, essa solução alternativa é muito lamentável, pois estou criando muitos PDFs usando a classe autônoma em um ambiente automatizado - apenas alguns deles sendo bytefields. Assim, eu teria que aumentartodosfronteiras já que o ambiente bytefield não aceita border
como parâmetro opcional.
Alguma outra solução alternativa é conhecida?
Responder1
O problema aqui é que os números de índice no topo não fazem parte docaixa delimitadorada tabela bytefield. Você pode ver isso apenas usando um bytefield
ambiente dentro de um documento normal e adicionando \frame{...}
em torno dele. O quadro resultante também cortará os números de índice.
bytefield
Acho que isso é causado porque o picture
ambiente incluído não leva em consideração a altura do número do índice.
Não há nada standalone
ou qualquer outra ferramenta TeX que possa fazer depois, pois o tamanho oficial não é determinado pela "tinta", mas pela caixa delimitadora oficial. Somente ferramentas de renderização como o ghostscript podem recalcular a caixa delimitadora correspondente observando a "tinta" produzida.
Como solução, basta adicionar uma borda ao redor. Seu exemplo de código não funciona porque você precisa adicionar os números entre colchetes para proteger os espaços do código de processamento da opção de \documentclass
.
O seguinte funciona (observe que 0,5 (= 0,5 pb; pontos grandes) é a borda padrão):
\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}