我有一个大约 80 位的数据报。我不想按字节划分它,因为大多数字段的长度都不是 8 位。
\usepackage{bytefield}
\begin{document}
\begin{bytefield}[bitwidth=0.5em]{80}
\bitheader[b]{0,4,10,20,21,38,46,47,64,71,72,80}\\
\bitbox{8}{PayLoad} &
\bitbox{1}{Tipo de Mensagem} &
\bitbox{7}{C.Latitude
Un} &
\bitbox{17}{C.Latitude
Dec.} &
\bitbox{1}{Coord.Latitude Car.} &
\bitbox{8}{Coord.Longitude Un.} &
\bitbox{17}{Coord.Longitude Dec.} &
\bitbox{1}{Coord.Longitude Car.} &
\bitbox{10}{Condutividade} &
\bitbox{6}{Temperature
unit} &
\bitbox{4}{Temperature dec} \\
\end{bytefield}
\end{document}
这是输出,一团糟:
我希望所有字段都具有相同的大小或根据名称的大小确定大小,而不是根据位数确定大小。这可能吗?
谢谢
答案1
第 18-19 页中的示例来自bytefield
文档建议使用rotating
包并在每个字段上方放置标签。
在这种情况下,结果如下:
\documentclass{article}
\usepackage{bytefield, rotating}
\newcommand{\bitlabel}[2]{%
\bitbox[]{#1}{%
\raisebox{0pt}[4ex][0pt]{%
\turnbox{45}{\fontsize{7}{7}\selectfont#2}%
}%
}%
}
\begin{document}
\begin{bytefield}[bitwidth=0.5em]{80}
\bitlabel{8}{PayLoad} &
\bitlabel{1}{Tipo de Mensagem} &
\bitlabel{7}{C.Latitude Un} &
\bitlabel{17}{C.Latitude Dec.} &
\bitlabel{1}{Coord.Latitude Car.} &
\bitlabel{8}{Coord.Longitude Un.} &
\bitlabel{17}{Coord.Longitude Dec.} &
\bitlabel{1}{Coord.Longitude Car.} &
\bitlabel{10}{Condutividade} &
\bitlabel{6}{Temperature unit} &
\bitlabel{4}{Temperature dec} \\
\bitheader[b]{0,4,10,20,21,38,46,47,64,71,72,80}\\
\bitbox{8}{} &
\bitbox{1}{} &
\bitbox{7}{} &
\bitbox{17}{} &
\bitbox{1}{} &
\bitbox{8}{} &
\bitbox{17}{} &
\bitbox{1}{} &
\bitbox{10}{} &
\bitbox{6}{} &
\bitbox{4}{} \\
\end{bytefield}
\end{document}