\hspace がオーバーブレースを台無しにする

\hspace がオーバーブレースを台無しにする

間違ったオーバーブレースを修正し、配列の上に「ADD」を配置しますが、垂直の区切り線は使用せず、配列の最初の要素を指す小さな線で少しオーバーさせるようにしたいと思います。申し訳ありませんが、私は初心者で、大学のレポートに初めて LaTeX を使用しています。これが私のコードです:

\setbox0=\hbox{$
    \arrayrulecolor{black} % Color for table borders
    \rowcolors{1}{white}{gray!30} % Alternate gray backgrounds in rows
    \hspace{-2em}\begin{array}{|c|*{27}{c|}}
    ADD   \\
    \hline
    \textbf{128} & \hphantom{0}0 &
    \textbf{64} & \hphantom{0}0 &
    \textcolor{blue}{\textbf{\hphantom{0}0}}  & \hphantom{0}0 &
    \textcolor{blue}{\textbf{\hphantom{0}0}}& \hphantom{0}0 &
    \textcolor{blue}{\textbf{\hphantom{0}0}} & \hphantom{0}0 &
    \textcolor{blue}{\textbf{\hphantom{0}0}} & \hphantom{0}0 &
    \textcolor{blue}{\textbf{\hphantom{0}0}} & \hphantom{0}0 &
    \textbf{100} & \hphantom{0}0 &
    \textbf{1} & \hphantom{0}0 &
    \textcolor{blue}{\textbf{0}} & \hphantom{0}0  &
    \textbf{5} &  \hphantom{0}0 \\
    \hline
    \end{array}
$}

% Underbrace without left bracket
\[
  \overbrace{\usebox0}^{K}
\]



\begin{center}
    % Draw a down-facing arrow from "ADD" to the first element
    \begin{tikzpicture}
    % Downward arrow pointing from "ADD" to the first element
    \draw[->, thick] (0, 1.5) -- (0, 0.5); % Draw the down arrow
    \end{tikzpicture}
    \end{center}

    \vspace{-2.5em} % Negative space to bring elements closer
    
    \begin{center}
\[ 
    \arrayrulecolor{black} % Color for table borders
    \rowcolors{1}{gray!30}{gray!30} % Alternate gray backgrounds in rows
    \hspace{-2em}\begin{array}{|c|*{27}{c|}}
        \hline
    \hphantom{0}\textbf{128}\hphantom{0} & \textcolor{red}{31} &
    \textbf{64}& \textcolor{red}{31}&
    \textcolor{blue}{\textbf{64}}& \textcolor{red}{30}& 
    \textcolor{blue}{\textbf{64}}& \textcolor{red}{29}&
    \textcolor{blue}{\textbf{64}}& \textcolor{red}{28}& 
    \textcolor{blue}{\textbf{64}}& \textcolor{red}{27}& 
    \textcolor{blue}{\textbf{64}}& \textcolor{red}{26}& 
    \textbf{100}& \textcolor{red}{31}& 
    \textbf{1}& \textcolor{red}{31}& 
    \textcolor{blue}{\textbf{1}}& \textcolor{red}{30}& 
    \textbf{5}& \textcolor{red}{31} \\
    \hline
    
    \end{array} 
\]
\end{center}```

答え1

あなたが何を望んでいるのかはよく分かりませんが、おそらく次のようなものでしょう。

  1. たった一つのtabular環境
  2. 列の幅は固定されている
  3. オーバーブレースは「ADD」の後の列にのみ広がります。列の幅は固定されているため、オーバーブレースの長さがわかります。
  4. \tabcolsep設定された余白内にテーブルが収まるように調整しましたgeometry。設定に応じて、その長さを調整できます。
\documentclass{article}
\usepackage[a4paper]{geometry}
\usepackage[table]{xcolor}
\usepackage{array}
\usepackage{amsmath}

\newlength{\lenA}
\newlength{\lenB}

\begin{document}

\begin{center}
\small
\settowidth{\lenA}{ADD}
\settowidth{\lenB}{\textbf{00}}
\setlength{\tabcolsep}{3.7pt}

  \begin{tabular}{|w{c}{\lenA}|*{21}{w{c}{\lenB}|}}
    \multicolumn{1}{c}{\textrm{ADD}} &
    \multicolumn{1}{l}{\makebox[0pt][l]{%
      $\overbrace{\hspace{\dimeval{21\lenB+40\tabcolsep+20\arrayrulewidth}}}^K$%
    }}
   \\
    \hline
    \rowcolor{gray!30}% Alternate gray backgrounds in rows
    \textbf{128} & \hphantom{0}0 &
    \textbf{64} & \hphantom{0}0 &
    \textcolor{blue}{\textbf{\hphantom{0}0}} & \hphantom{0}0 &
    \textcolor{blue}{\textbf{\hphantom{0}0}} & \hphantom{0}0 &
    \textcolor{blue}{\textbf{\hphantom{0}0}} & \hphantom{0}0 &
    \textcolor{blue}{\textbf{\hphantom{0}0}} & \hphantom{0}0 &
    \textcolor{blue}{\textbf{\hphantom{0}0}} & \hphantom{0}0 &
    \textbf{100} & \hphantom{0}0 &
    \textbf{1} & \hphantom{0}0 &
    \textcolor{blue}{\textbf{0}} & \hphantom{0}0  &
    \textbf{5} &  \hphantom{0}0 \\
    \hline
    \multicolumn{1}{c}{} \\[-1.5ex]
    \multicolumn{1}{c}{$\left\downarrow\vbox to 15pt{}\right.$} \\
    \multicolumn{1}{c}{} \\[-1.5ex]
    \hline
    \rowcolor{gray!30} % Alternate gray backgrounds in rows
    \textbf{128} & \textcolor{red}{31} &
    \textbf{64}& \textcolor{red}{31}&
    \textcolor{blue}{\textbf{64}}& \textcolor{red}{30}& 
    \textcolor{blue}{\textbf{64}}& \textcolor{red}{29}&
    \textcolor{blue}{\textbf{64}}& \textcolor{red}{28}& 
    \textcolor{blue}{\textbf{64}}& \textcolor{red}{27}& 
    \textcolor{blue}{\textbf{64}}& \textcolor{red}{26}& 
    \textbf{100}& \textcolor{red}{31}& 
    \textbf{1}& \textcolor{red}{31}& 
    \textcolor{blue}{\textbf{1}}& \textcolor{red}{30}& 
    \textbf{5}& \textcolor{red}{31} \\
    \hline
  \end{tabular}
\end{center}

\end{document}

ここに画像の説明を入力してください

関連情報