在两个枚举项之间添加垂直对齐的文本

在两个枚举项之间添加垂直对齐的文本

我想要得到这样的东西:

梅威瑟:

\documentclass{article}

\begin{document}
 \begin{enumerate}
  \item $Y^2 - 1 = 0$ \quad (text)
  \item $Y^2 + 1 = 0$ \quad (text) 
 \end{enumerate}
\end{document}

答案1

如何将一个简单的\raisebox包裹在一个宏中,同时考虑\itemsep\parsep值(感谢外接限制,我已将其更改为\glueexpr,因为所有涉及的长度都是胶水,而不是普通长度!)

在此处输入图片描述

\documentclass{article}

\usepackage{enumitem}

\newcommand{\raisecontent}[1]{%
  \raisebox{\glueexpr\baselineskip/2+\parsep/2+\itemsep/2+\lineskip/2}[\ht\strutbox][\ht\strutbox]{#1}%
}

\begin{document}
 \begin{enumerate}
  \item $Y^2 - 1 = 0$ 
  \item $Y^2 + 1 = 0$ \raisecontent{\quad (text)}
 \end{enumerate}

 \begin{enumerate}[itemsep=40pt]
  \item $Y^2 - 1 = 0$ 
  \item $Y^2 + 1 = 0$ \raisecontent{\quad (text)}
 \end{enumerate}

\end{document}

答案2

另一种解决方案基于tabularxlistliketab,它模拟表内的列表环境:

\documentclass{article}
\usepackage{tabularx, listliketab, multirow}

\begin{document}

\storestyleof{enumerate}
\begin{listliketab}
\newcounter{tabenum}\setcounter{tabenum}{0}
\newcommand{\tabitem}{\addtocounter{tabenum}{1}\thetabenum.}
 \noindent\begin{tabularx}{\linewidth}{@{}L l@{\quad}X@{}}
  \tabitem & $Y^2 - 1 = 0$ & \multirow{2}{=}{(Text)}\\
  \tabitem & $Y^2 + 1 = 0$
 \end{tabularx}
 \end{listliketab}

\end{document} 

在此处输入图片描述

相关内容