3 列,带有顶部对齐和底部对齐

3 列,带有顶部对齐和底部对齐

我正在尝试组合一个tabularx具有以下布局的三列表格(在)(全线宽度):

Section  Description           Page
    1-5  text text text ......    7
   5-12  text text text text
         text ................  121

笔记:

  • 左栏是右上对齐
  • 中间栏跨越一行或多行,并以\dotfill
  • 右栏是右下对齐

附言:适用于中间 + 右侧列,但当我添加最左侧列时,我无法使文本在顶部对齐。

关于如何实现这个功能有什么建议吗?

LuaTex(在文档类中编译memoir

答案1

基于以下解决方案表格 - 3 列,顶部对齐和底部对齐我想到了以下几点:

在此处输入图片描述

\documentclass[]{article}
\usepackage{array}
\usepackage{booktabs}
\usepackage{tabularx}


\begin{document}


\noindent
    \begin{tabularx}{\textwidth}{rXr}
Section & Description & Page\\ \addlinespace
        1-5 & 
        test text text  text  text  text  text  text  text  text  text
  text  text  text  text  text  text  text  text\dotfill
        &\\[-\normalbaselineskip]&
        &7\\ \addlinespace
        5-12 & 
        test text text  text  text  text  text  text   \dotfill 
        &\\[-\normalbaselineskip]&
        &121\\
    \end{tabularx}

\end{document}

答案2

像这样?

在此处输入图片描述

使用多行包,您需要手动设置第二列的行数:

\documentclass{memoir}
\usepackage{multirow, tabularx}

\begin{document}
\noindent
\begin{tabularx}{\linewidth}{ r X r }
1-5     &   test text text text text text text text text text text text text text text text text text text\dotfill
            &   \multirow[b]{2}{*}{1-2}  \\
5-12    &   test text text text text text text text text text text test text text text text text text text text text text text text text text text text text text\dotfill
            &   \multirow[b]{3}{*}{34-143}
\end{tabularx}
\end{document}

答案3

这是一个{NiceTabular}使用 的解决方案nicematrix

\documentclass[]{article}
\usepackage{nicematrix}
\usepackage{collcell}

\begin{document}

\newcolumntype{B}{>{\collectcell{\Block[B]{}}}r<{\endcollectcell}}

\noindent
\begin{NiceTabular}{rXB}
Section & Description & Page\\[1mm]
        1-5 & 
        test text text  text  text  text  text  text  text  text  text
  text  text  text  text  text  text  text  text\dotfill
        & 7 \\[1mm]
        5-12 & 
        test text text  text  text  text  text  text   \dotfill 
        & 121 \\
\end{NiceTabular}

\end{document}

您需要进行多次编译(因为nicematrix在后台使用了 PGF/TikZ 节点)。

上述代码的输出

相关内容