无缩进的水平线

无缩进的水平线

这是我想要的结果(我想要获得最类似于这个数学表达式的结果):

在此处输入图片描述

我尝试过的是这样的:

\[
\begin{aligned}
    01\: 1011 \: 0110\\
    11\: 0001 \: 1101\\
    \hline
    11\: 1011 \: 1111\\
    01\: 0001 \: 0100\\
    10\: 1010 \: 1011
\end{aligned}
\]

结果:

在此处输入图片描述

我不知道如何插入文本“按位或”、“按位与”以及如何减少数字之间的间距。

PD:字体颜色不重要。

答案1

您可以使用tabularbooktabs以及它的更漂亮的规则。

我选择排版为四列,这样您可以根据自己的喜好决定间距;我觉得这样\thinspace更好。您可以\hspace{<length>}随意使用。$\:$如果您喜欢那种空间,也可以这样做。

\documentclass{article}
\usepackage{booktabs,array}

\newcolumntype{R}{>{$}r<{$}} % right aligned math

\begin{document}

\[
\begin{tabular}{
  @{}
  R@{\thinspace}
  R@{\thinspace}
  R
  l
  @{}
}
01 & 1011 & 0110\\
11 & 0001 & 1101\\
\cmidrule[\lightrulewidth](r){1-3}
11 & 1011 & 1111 & bitwise OR \\
01 & 0001 & 0100 & bitwise AND \\
10 & 1010 & 1011 & bitwise XOR
\end{tabular}
\]

\end{document}

在此处输入图片描述

答案2

这是你想要的吗?

在此处输入图片描述

\begin{tabular}{@{}ccc@{}c l}
    01& 1011 &  0110\\
    11& 0001 &  1101\\
    \cline{1-3}
    11& 1011 &  1111 && bitwise \textit{OR}\\
    01& 0001 &  0100 && bitwise \textit{AND} \\
    10& 1010 &  1011 && bitwise \textit{XOR}
\end{tabular}

答案3

您还可以使用alignedat环境来完全控制间距:

\documentclass{article}
\usepackage{mathtools}
\usepackage[svgnames, table]{xcolor}
\usepackage{booktabs, hhline}

\begin{document}

\[ \aboverulesep = -2.5ex\belowrulesep = -1ex\arrayrulecolor{SkyBlue}
\begin{alignedat}{4}
    & 01 & \: & 1011 & \: & 0110\\
    & 11 & \: & 0001 & \: & 1101\\
    \cmidrule[0.15ex]{1-6}
     & 11 & \: & 1011 & \: & 1111 &\qquad &\text{\color{SkyBlue}bitwise \emph{OR}} \\
     & 01 & \: & 0001 & \: & 0100 & & \text{\color{SkyBlue}bitwise \emph{AND}}\\
     & 10 & \: & 1010 & \: & 1011 & & \text{\color{SkyBlue}bitwise \emph{XOR}}
\end{alignedat}
\]

\end{document} 

在此处输入图片描述

答案4

当然,有人需要展示如何使用matrixTikZ 中的构造来做到这一点。

在此处输入图片描述

\documentclass[border=6pt]{standalone}

\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{matrix}

\begin{document}

\begin{tikzpicture}

  \matrix (BINARY)
         [matrix of nodes,
          row sep=4pt,
          nodes={font=\sffamily,}]
  { 
    01  & 1011 & 0110 \\
    11  & 0001 & 1101 \\
    %% -----------------
    11  & 1011 & 1111 \\%% bitwise OR  
    01  & 0001 & 0100 \\%% bitwise AND 
    10  & 1010 & 1011 \\%% bitwise XOR 
  };

  \draw ($(BINARY-2-1.south west)!0.5!(BINARY-3-1.north west)$) -- 
        ($(BINARY-2-3.south east)!0.5!(BINARY-3-3.north east)$);

  \node[anchor=west,blue] at (BINARY-3-3.east) {bitwise OR};
  \node[anchor=west,blue] at (BINARY-4-3.east) {bitwise AND};
  \node[anchor=west,blue] at (BINARY-5-3.east) {bitwise XOR};

\end{tikzpicture}

\end{document}

对于最后三行的评论,您也可以使用\foreach如下循环:

\foreach \myn/\myop in {3/OR,4/AND,5/XOR}
  {
    \node[anchor=west,blue] at (BINARY-\myn-3.east) {bitwise \myop};    
  }

相关内容