我想创建一个包含两个项目的列表,分别标记为 (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}