水平对齐枚举项的好方法

水平对齐枚举项的好方法

我有一组使用枚举环境的多项选择题。在某些情况下,我希望以特定方式对齐答案(项目)。例如,我可能希望将数字的小数点对齐,如下所示:

在此处输入图片描述在此处输入图片描述

我使用 phantoms 和 llaps 对齐了这个例子中的小数点,但我很好奇是否有更好/更巧妙的方法,不需要进行太多的手动调整 - 类似于 align* 环境,我可以将其环绕枚举项并将符号粘贴在需要的地方?

因为我有很多想要更改的多项选择题,所以我希望让这尽可能简单,如果它不破坏我的枚举环境就太好了。

梅威瑟:

\documentclass{article}

\begin{document}

  \begin{enumerate}
    \item What is the meaning of life?
    \begin{enumerate}
      \item $1.618$    
      \item $2.71828$
      \item $3.14159$
      \item $42.00$
      \item $1000.00$
    \end{enumerate}
  \end{enumerate}

  \begin{enumerate}
    \item What is the meaning of life?
    \begin{enumerate}
      \item $\phantom{1000.000}\llap{1.618}$
      \item $\phantom{1000.00000}\llap{2.71828}$
      \item $\phantom{1000.00000}\llap{3.14159}$
      \item $\phantom{1000.00}\llap{42.00}$
      \item $\phantom{1000.00}\llap{1000.00}$
    \end{enumerate}
  \end{enumerate}

\end{document}

答案1

您可以在表格的第一列中模拟枚举环境的标签,并使用包listliketab和使用siunitx将第二列中的数字与小数点对齐,并使用S列类型。您甚至可以交叉引用这些项目:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{siunitx, listliketab}

    \begin{document}

\storestyleof{enumerate}
\begin{listliketab}
\newcounter{tabenum}\setcounter{tabenum}{0}\renewcommand\thetabenum{(\alph{tabenum})}
\newcommand{\tabitem}{\refstepcounter{tabenum}\thetabenum}
\begin{tabular}{@{}L S[table-format=4.5, table-number-alignment=center]@{}}
  \tabitem & 1.618 \\
   \tabitem\label{row-2} & 2.71828 \\
   \tabitem & 3.14159 \\
   \tabitem & 42.00 \\
   \tabitem & 1000.00
\end{tabular}
\end{listliketab}

We read in row \ref{row-2} an approximate value of Euler’s number $e$. 

\end{document} 

在此处输入图片描述

相关内容