将标签置于对齐环境中

将标签置于对齐环境中

我想创建一个包含两个项目的列表,分别标记为 (1) 和 (2),$\star$左侧带有标记,并垂直居中在 (1) 和 (2) 之间。如果我使用以下内容:

\begin{align*}\tag{$\star$}
(1)&stuff here\\
(2)&more stuff here
\end{align*}

然后星号就位于 (1) 的左侧。我怎样才能将星号向下移动一点,以便看起来整个列表都标有星号,而不是只有项目 (1)。

如果更好的话,我也愿意使用enumerate/ aligned/环境。谢谢!equation

答案1

在 内部构建一个array,将其装入单个条目中:

在此处输入图片描述

\documentclass{article}
\usepackage[leqno]{amsmath}
\begin{document}

\begin{align*}
  \tag{$\star$}
  \renewcommand{\arraystretch}{1.2}% Spread out array rows
  \begin{array}{c @{\quad} l}
    (1) & \text{stuff here} \\
    (2) & \text{more stuff here}
  \end{array}
\end{align*}

\end{document}

如果需要的话,进行一些调整:

  • \quad是条目之间的空间;
  • c l是左列(编号)和右列(文本)的列规范;
  • \arraystretch大于 1 会使阵列行之间产生少量空气。

警告:array的内部未设置\displaystyle,因此如果您的构造包含在该样式下设置不同的内容,则可能必须明确强制执行此操作。


aligned如果您使用过(并且还有alignedat多个对齐点),那么您将获得类似的输出:

\begin{equation}
  \tag{$\star$}
  \begin{aligned}
    (1) &\quad \text{stuff here} \\
    (2) &\quad \text{more stuff here}
  \end{aligned}
\end{equation}

答案2

这是另一种方法,使用tabstackengine。项目之间的间隙由 定义\setstacktabulargap{length},行间跳跃由 定义\setstackgap{L}{length}。在这种情况下,我\rlap编辑了星号,这样它就不会影响居中。我发现这种\hfil方法在这种情况下更容易,因为\centering重新定义了\\,这同时需要使用替代的堆叠行尾字符。

\documentclass{article}
\usepackage{tabstackengine}
\setstacktabulargap{2\tabcolsep}
\setstackgap{L}{1.2\baselineskip}
\begin{document}
\noindent\rlap{($\star$)}
\hfil
\tabularCenterstack{cl}{
(1)& stuff here\\
(2)& more stuff here
}\hfil
\end{document}

在此处输入图片描述

相关内容