Eu gostaria de obter um efeito semelhante aos grupos de palavras letf/right do bytefield na parte inferior de um bytefield. Não vi nenhuma maneira óbvia de fazer isso na documentação do bytefield. Meu conhecimento de macro Latex não é particularmente forte. Existe uma boa maneira de estender o bytefield para suportar um grupo de palavras inferior/superior?
Solicitação exata melhor explicada pelo MWE:
\documentclass{article}
\usepackage[layout=letterpaper,margin=1in]{geometry}
\usepackage[endianness=big]{bytefield}
\bytefieldsetup{boxformatting={\centering\footnotesize}}
\begin{document}
A 32-bit piece of data is divided into a header and some subfields. The
header is further subdivided into two parts
\begin{center}
\begin{bytefield}[bitwidth=1.2em]{32}
\bitheader{0-31} \\
\bitbox{4}{Header.A}
\bitbox{4}{Header.B}
\bitbox{20}{Subfield 1}
\bitbox{4}{Subfield 2}
\end{bytefield}
\end{center}
\noindent
Word groups are the right look / style, but only go on the left/right?
\begin{center}
\begin{bytefield}[bitwidth=1.2em]{32}
\begin{leftwordgroup}{Header}
\bitheader{0-31} \\
\bitbox{4}{Header.A}
\bitbox{4}{Header.B}
\bitbox{20}{Subfield 1}
\bitbox{4}{Subfield 2}
\end{leftwordgroup}
\end{bytefield}
\end{center}
\noindent
I would like the brace / label below the whole header section, e.g.:
%
\begin{verbatim}
+-----------------------------------------
| Header.A | Header.B | Subfield 1...
+-----------------------------------------
\_ _/
--------\/--------
Header
\end{verbatim}
\end{document}
Responder1
Você pode colocar o suporte sem borda \bitbox
sob o cabeçalho.
No exemplo abaixo usamos amsmath
para o \text
comando desde que \underbrace
é uma construção matemática:
\documentclass{article}
\usepackage[layout=letterpaper,margin=1in]{geometry}
\usepackage[endianness=big]{bytefield}
\bytefieldsetup{boxformatting={\centering\footnotesize}}
\usepackage{amsmath}
\begin{document}
\pagestyle{empty}
A 32-bit piece of data is divided into a header and some subfields. The
header is further subdivided into two parts
\begin{center}
\begin{bytefield}[bitwidth=1.2em]{32}
\bitheader{0-31} \\
\bitbox{4}{Header.A}
\bitbox{4}{Header.B}
\bitbox{20}{Subfield 1}
\bitbox{4}{Subfield 2}\\
\bitbox[t]{8}{$\underbrace{\hspace{11em}}_{\text{\normalsize Header}}$}
\end{bytefield}
\end{center}
\end{document}