使用 LaTeX Tabular 进行水平填充

使用 LaTeX Tabular 进行水平填充

所以,这是一个“这是 LaTeX,肯定有更好的方法来做到这一点”的情况。

我尝试过使用tabular*tabularx和其他一些东西,但我不太明白我做错了什么。我目前(工作)的代码如下

\usepackage{array}
...
\newcolumntype{R}{>{\flushright\arraybackslash}m{.75\columnwidth}}
\newcolumntype{L}{>{\flushleft\arraybackslash}m{.25\columnwidth}}
\begin{tabular*}{\columnwidth}{R|L}
    lots of cool text that is long and needs wrapping
  &
    a very small fixed-width object,
    in my case a graphic made with the igo package
\end{tabular*}

我的问题在于我的列定义。我不得不columnwidth手动选择 s。我只希望整个tabular跨越当前的columnwidth,其中一列尽可能缩小(第二列),另一列尽可能宽。这让我想到使用tabular*,但例子我发现\fill无法使用换行功能。

有没有更好的方法呢?

答案1

我想你想要tabularx包裹和

\begin{tabularx}{\textwidth}{>{\raggedleft}X|l}
  lots of text & \includegraphics{...}
\end{tabularx}

或者正如评论中指出的那样,你使用的是垂直居中列,因此

\renewcommand{\tabularxcolumn}[1]{>{\raggedleft}m{#1}}

\begin{tabularx}{\textwidth}{X|l}
  lots of text & \includegraphics{...}
\end{tabularx}

相关内容