我是 LaTeX 新手,我试图让数字的这三个部分水平对齐,但似乎无法使用。我尝试了一下,但它无法帮助我将顶部数字与{align}
对齐。{enumerate}
{tabulator}
Overbraces
有人有好的主意如何以最佳方式解决这个问题吗?
下面是一张屏幕截图以及其中的代码。
\begin{enumerate}
\item \begin{tabular}{llcc}
$\overbrace{0}^\text{Vorzeichen}$
&$\overbrace{1000 0000}^\text{Exponent (8Bit)}$
&$\overbrace{1000 0000}^\text{Mantisse}$
&$\longrightarrow + 2^1*(2^0 + 2^{-1}) = 3$
\end{tabular}
\item \begin{tabular}{rrrcccc}
& 1 &&& 10000001 && 00000000
\end{tabular}
$\longrightarrow + 2^2*(2^0) = 4$
\item \begin{tabular}{rrrcccc}
& 0 &&& 01111110 && 10000000
\end{tabular}
$\longrightarrow + 2^{-1}*(2^0 + 2^{-1}) = 0,75$
\item \begin{tabular}{rrrcccc}
& 0 &&& 10000010 && 01000100
\end{tabular}
$\longrightarrow + 2^3*(2^{-2} + 2^{-6}) = 10,125$
\end{enumerate}
答案1
这里最好定义一个环境来处理一些对齐设置。另外,如果您希望条目在列表元素中对齐,则应考虑使用固定宽度的列:
\documentclass{article}
\usepackage{amsmath,array}
\newcolumntype{C}[1]{>{\centering\arraybackslash$}p{#1}<{$}}
\newenvironment{numbers}
{$\begin{array}[b]{C{4em}C{6em}C{5em}>{\longrightarrow{}}l}}
{\end{array}$}
\begin{document}
\begin{enumerate}
\item \begin{tabular}{llcc}
$\overbrace{0}^\text{Vorzeichen}$
&$\overbrace{1000 0000}^\text{Exponent (8Bit)}$
&$\overbrace{1000 0000}^\text{Mantisse}$
&$\longrightarrow + 2^1*(2^0 + 2^{-1}) = 3$
\end{tabular}
\item \begin{tabular}{rrrcccc}
& 1 &&& 10000001 && 00000000
\end{tabular}
$\longrightarrow + 2^2*(2^0) = 4$
\item \begin{tabular}{rrrcccc}
& 0 &&& 01111110 && 10000000
\end{tabular}
$\longrightarrow + 2^{-1}*(2^0 + 2^{-1}) = 0,75$
\item \begin{tabular}{rrrcccc}
& 0 &&& 10000010 && 01000100
\end{tabular}
$\longrightarrow + 2^3*(2^{-2} + 2^{-6}) = 10,125$
\end{enumerate}
\begin{enumerate}
\item \begin{numbers}
\overbrace{0}^\text{Vorzeichen\vphantom{()}} &
\overbrace{1000 0000}^\text{Exponent (8Bit)} &
\overbrace{1000 0000}^\text{Mantisse\vphantom{()}} &
+ 2^1 \times (2^0 + 2^{-1}) = 3
\end{numbers}
\item \begin{numbers}
1 & 1000 0001 & 0000 0000 &
+ 2^2 \times (2^0) = 4
\end{numbers}
\item \begin{numbers}
0 & 0111 1110 & 1000 0000 &
+ 2^{-1} \times (2^0 + 2^{-1}) = 0.75
\end{numbers}
\item \begin{numbers}
0 & 1000 0010 & 0100 0100 &
+ 2^3 \times (2^{-2} + 2^{-6}) = 10.125
\end{numbers}
\end{enumerate}
\end{document}
以下是我建议的修改的重点:
使用
array
定义一种新C
样式的段落列,使其内容居中;定义一个新环境
numbers
,设置4列array
;\vphantom
确保每\overbrace
行标题的垂直对齐;\times
看起来比*
数学模式更好。