我正在尝试组合一个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 节点)。