表格单元格(或其他段落)首行左对齐,后续行右对齐

表格单元格(或其他段落)首行左对齐,后续行右对齐

我希望表格单元格具有自动换行功能,但第一行应位于单元格的左侧,后续行与单元格的右侧对齐,就好像第一行是\raggedright,后续行是\raggedleft

答案1

我的一个闪闪发光拖船, 28-2, 2007 (https://tug.org/TUGboat/tb28-2/tb89glister.pdf) 讨论了 8 多种不同的不寻常的段落形状,其中包括\raggedlefthenright提供您想要的布局。

% paraprob.tex  SE 593461
\documentclass[twocolumn]{article}
\usepackage{lipsum}
\newcommand*{\raggedrightthenleft}{%
  \leftskip   =0pt plus 1fill
  \rightskip  =0pt plus 1fil
  \parfillskip=0pt
  \everypar{\hskip 0pt plus -1fill\relax}%
  \parindent=0pt\relax}

\begin{document}
\setlength{\parskip}{\baselineskip}

\raggedrightthenleft

This paragraph is set following a \verb!\raggedrightthenleft!
declaration. It looks strange to me but there you go.

This paragraph follows the identical declaration. \lipsum[1]

Note that some lines in the previous paragraph are fully justified because
they are just the right length to fill the textwidth.

\end{document}

在此处输入图片描述

答案2

使用源代码中的技巧gmverse,我们可以定义自己的tabularx列类型:

\newcolumntype{U}{>{%
    \leftskip=0pt plus 1fill%
    \rightskip=0pt plus 1fil%
    \arraybackslash%
    \hskip 0pt plus -1fill\relax{}}X}

例子:

\begin{tabularx}{0.8\linewidth}{r | U}
1 & \blindtext \\
2 & \blindtext \\
\end{tabularx}

示例呈现

可以使用与 相同的技巧(注意使用 vs!)来定义具有类似行为的其他leftskip环境和rightskip命令fillfil

相关内容