表格垂直对齐基于单元格中的最低行,而不是基线

表格垂直对齐基于单元格中的最低行,而不是基线

我想做一个像这样的枚举

1.   This is some very long
     sentence that might need
     several lines. Does the
     next cell line up with 
     the last line of this
     paragraph?                 yes/no

2.   Did it work again?         yes/no

似乎在 LaTeX 中没有简单的方法可以做到这一点。如果我能有一个像这样工作的 tabu(lar(x)) 环境那就太好了。但理想情况下,我希望得到与上述输出类似的效果:

\documentclass{article}
\usepackage[english]{babel}
\usepackage{lipsum}
\usepackage{array}

\newcommand{\yesno}[1]
{
    \begin{tabular}{@{}b{.7\linewidth}b{.3\linewidth}@{}}
        #1 & yes/no
    \end{tabular}
}

\begin{document}

    \begin{enumerate}
        \item \yesno{\lipsum*[1]}
        \item \yesno{\lipsum*[1]}
    \end{enumerate}

\end{document}

在这里,我想为表格环境提供一个额外的选项,即它必须将其最上面的行与其余行对齐。现在我知道将表格放在枚举中存在一些问题,所以我不介意我必须用自己的枚举创建自己的环境。最难的部分是按照我想要的方式进行对齐。

答案1

\documentclass{article}
\usepackage[english]{babel}
\usepackage{tabularx}
\newcounter{yesno}
\newcommand*\textdemo{This is some text to demonstrate the behaviour of
  what I want.}
\newenvironment{YesNo}
  {\setcounter{yesno}{0}\tabularx{0.7\linewidth}
    {@{}>{\stepcounter{yesno}\theyesno.}r X @{}}}
  {\endtabularx}

\newcommand\yesno[1]{ & #1 %\hrulefill% only for demo to see the allignment
  \hfill\rlap{\hspace{\tabcolsep}yes/no} \\} 

\begin{document}

    \begin{YesNo}
        \yesno{\textdemo}
        \yesno{\textdemo \textdemo}
        \yesno{\textdemo}
    \end{YesNo}

\end{document}

在此处输入图片描述

相关内容