移动/缩进两个字节字段

移动/缩进两个字节字段

我使用包 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

你为什么不使用 TiZ 是吗?

\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}

在此处输入图片描述

你还可以使用许多其他工具来实现这一点(表格等),但恕我直言,TiZ 是最简单的选项(当您尝试添加任何类型的箭头时它也很有用)。

答案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}

在此处输入图片描述

相关内容