考虑以下 MWE
\documentclass{article}
\usepackage{colortbl}
\usepackage{tabularx}
\begin{document}
\begin{table}
\begin{tabularx}{\textwidth}{rX}
Things & Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. \\
Things & Word $\quad\quad\quad\quad\ \,$ \parbox[t]{0.75\linewidth}{ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.} \\
& Anotherword $\quad$ \parbox[t]{0.75\linewidth}{ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.} \\
\end{tabularx}
\end{table}
\end{document}
此 MWE 存在 3 个问题:
在此 MWE 中,我手动调整了 的间距
Things B
。我想避免这种情况。首先,我想避免必须手动查找(通过反复试验)并指定 的长度parbox
,在本例中为0.75
。其次,我希望避免手动定义
Word
表中的这个单词将要总结的 Lorem Ipsum 和Anotherword
那个单词将要总结的 Lorem Ipsum 之间的间距。在这里,我通过找到足够多的\quad
s 等来做到这一点,但我希望避免手动执行此操作。第三,最后一项有一个转折。人们可能会想定义一个多一列的表格来实现这一点,然后将其用于
\multicoliumn
上行(或类似的解决方案)。这对我来说不起作用,因为这个 MWE 是一个更大的表格的一部分,它已经有固定数量的列,我真的想避免在那里更改任何代码。(也许我可以在单元格右侧嵌套一个表格来Things B
实现这一点?)
答案1
如果这必须是表格,看看这个解决方案是否可以接受:
\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{tabularx}
\usepackage{enumitem} % added
\usepackage{calc} % added
\begin{document}
\begin{table}
\begin{tabularx}{\textwidth}{rX}
Things &
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. \\
Things & % use of description list
\begin{description}[font=\normalfont, nosep,
leftmargin=!,
labelsep=2\tabcolsep,
labelwidth=\widthof{Anotherword},
before=\vspace{-0.6\baselineskip}]
\item[Word] Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
\item[Anotherword] Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
\end{description}
\end{tabularx}
\end{table}
\end{document}
并且没有table
和tabularx
环境:
\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{tabularx}
\usepackage{enumitem} % added
\usepackage{calc} % added
\begin{document}
\begin{description}[font=\normalfont, nosep,
leftmargin=!,
labelsep=2\tabcolsep,
labelwidth=\widthof{Things}]
\item[Things] Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. \\
\item[Things]
\begin{description}[font=\normalfont, nosep,
leftmargin=!,
labelsep=2\tabcolsep,
labelwidth=\widthof{Anotherword}]
\item[Word] Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
\item[Anotherword] Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
\end{description}
\end{description}
\end{document}
结果和以前一样。