我正在研究一种具有自定义帧长度的自定义协议。
我正在使用绘制框架bytefield
,但遇到了问题,因为我的框架的长度不是 16(或 32)的倍数。
这是我的 MWE:
\documentclass[10pt,a4paper]{article}
\usepackage[table, usenames,dvips, dvipsnames]{xcolor}
\usepackage{bytefield}
\begin{document}
\begin{bytefield}{32}
\bitheader{0,2,4,16, 31} \\
\bitbox{2}{12} & \bitbox{2}{\textcolor{WildStrawberry}{65}} & \bitbox[lrt]{28}{}\\
\wordbox[lr]{1}{\textcolor{WildStrawberry}{65}-bit EC Public Key}\\
\bitbox[lrb]{5}{} & \bitbox[lrt]{27}{}\\
\wordbox[lr]{3}{256-bit RSA Signature} \\
\bitbox[lrb]{5}{} & \bitbox{27}{}\\
\end{bytefield}
\end{document}
我如何才能强制帧在256-bit RSA Signature
块之后结束?我必须画一个空白\bitbox
才能有一个封闭的框架......
该帧的长度为323字节,因此不可能将线路长度更改为完美的倍数。
有任何想法吗 ?
答案1
像这样?
只是强制不绘制最后的底部和右侧bitbox
:\bitbox[lt]{27}{}
。
\documentclass[10pt,a4paper]{article}
\usepackage[table, usenames,dvips, dvipsnames]{xcolor}
\usepackage{bytefield}
\begin{document}
\begin{bytefield}{32}
\bitheader{0,2,4,16, 31} \\
\bitbox{2}{12} & \bitbox{2}{\textcolor{WildStrawberry}{65}} & \bitbox[lrt]{28}{}\\
\wordbox[lr]{1}{\textcolor{WildStrawberry}{65}-bit EC Public Key}\\
\bitbox[lrb]{5}{} & \bitbox[lrt]{27}{}\\
\wordbox[lr]{3}{256-bit RSA Signature} \\
\bitbox[lrb]{5}{} & \bitbox[lt]{27}{}\\ %<---- change here
\end{bytefield}
\end{document}