我使用包 bytefield 创建了两个字节场。
我使用的代码如下:
\begin{bytefield}[endianness=little,bitwidth=0.077777\linewidth]{12}
\bitheader{0-11} \\
\bitbox{1}{82} & \bitbox{1}{70} &
\bitbox{1}{70} & \bitbox{1}{7} &
\bitbox{1}{23} & \bitbox{1}{34} &
\bitbox{1}{97} & \bitbox{1}{29} &
\bitbox{1}{16} & \bitbox{1}{44} &
\bitbox{1}{70} & \bitbox{1}{83}
\end{bytefield}
\begin{bytefield}[endianness=little,bitwidth=0.077777\linewidth]{6}
\bitbox{1}{82} & \bitbox{1}{70} &
\bitbox{1}{70} & \bitbox{1}{7} &
\bitbox{1}{23} & \bitbox{1}{34} &
\end{bytefield}
\bigskip
我遇到的问题是,我想将下部字节字段缩进一个字段,也就是说,我不想将下部字节字段与字段 0-5 对齐,而是希望将其与 1-6 对齐。在字节字段的末尾,我想添加一个指向右侧的箭头,以指示字节字段从左侧移动到右侧。我猜问题是如何将两个或多个字节字段彼此相对地从左向右移动,反之亦然。
附言:
评论:第二个字节字段的值和我上传的图片不匹配。那是因为我在此期间更改了值。
答案1
你为什么不使用 Ti钾Z 是吗?
\documentclass[tikz]{standalone}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\matrix[
matrix of math nodes,
row sep=-\pgflinewidth,
column sep=-\pgflinewidth,
nodes={draw,minimum width=1cm},
row 1/.style={draw opacity=0,font=\tiny}% Can't figure out why draw=none doesn't work
] (m) {%
0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11\\
82 & 70 & 70 & 7 & 23 & 34 & 97 & 29 & 16 & 44 & 70 & 83\\
& 10 & 20 & 30 & 40 & 50 & 60\\};
\draw[red,-stealth,thick] (m-3-7) -- ++ (4,0);
\end{tikzpicture}
\end{document}
你还可以使用许多其他工具来实现这一点(表格等),但恕我直言,Ti钾Z 是最简单的选项(当您尝试添加任何类型的箭头时它也很有用)。
答案2
您可以制作一个没有边框的空位盒。
\documentclass{article}
\usepackage{bytefield}
\begin{document}
\begin{bytefield}[endianness=little,bitwidth=0.077777\linewidth]{12}
\bitheader{0-11} \\
\bitbox{1}{82} & \bitbox{1}{70} &
\bitbox{1}{70} & \bitbox{1}{7} &
\bitbox{1}{23} & \bitbox{1}{34} &
\bitbox{1}{97} & \bitbox{1}{29} &
\bitbox{1}{16} & \bitbox{1}{44} &
\bitbox{1}{70} & \bitbox{1}{83} \\
\bitbox[]{1}{} & \bitbox{1}{82} & \bitbox{1}{70} &
\bitbox{1}{70} & \bitbox{1}{7} &
\bitbox{1}{23} & \bitbox{1}{34} &
\bitbox[]{1}{\makebox[0pt][l]{\makebox[6em]{\rightarrowfill}}}
\end{bytefield}
\end{document}