我希望表格单元格具有自动换行功能,但第一行应位于单元格的左侧,后续行与单元格的右侧对齐,就好像第一行是\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
命令fill
。fil