我正在制作一份具有“行间”特性的文档。因此,如果我可以一次换行多行文本,那么事情就会简单得多。以下是我想要的示例:
我们以这三句话为例:
1) 这是文档的第一行。
2) 这是文档的第二行。
3) 这是文档的第三行。
通常,表格换行可能会对这三行产生如下结果:
1) 这是文档的第一行
。
2) 这是文档的第二
行。
3) 这是文档的第三行
。
但是,我希望所有三行都作为一个组换行。这是我想要的输出:
1) 这是文档的第一行。
2) 这是文档的第二行。 3 ) 这 是
文档的第三行
。
这三条线是作为一个整体缠绕的,而不是单独缠绕的。
这可能吗?如果可以,怎么做?
答案1
\Longunderstack
在这里,我使用我的宏将这样的构造放置在 中\thread
,将线程总数作为第一个参数传递,将颜色作为第二个参数传递,将线程内容作为最后一个参数传递。线程堆栈的宽度由 定义\def
。\threadwidth
作为堆栈,它不能跨越页面边界。
我必须将堆栈提高 7pt 以使其与当前基线对齐,我认为这是从边界发生的\parbox
。
\documentclass{article}
\usepackage[usestackEOL]{stackengine}
\usepackage{xcolor}
\def\stacktype{L}
\def\stackalignment{l}
\def\threadwidth{2in}
\newcommand\thread[3]{\parbox[t]{\threadwidth}{\baselineskip=#1\baselineskip\color{#2}#3}}
\begin{document}
baseline
\raisebox{7pt}{\Longunderstack{%
\thread{3}{red}{This is a test of a red paragraph which wraps every
3 lines... if we are lucky}\\
\thread{3}{blue}{\bfseries And here we have a test in which the second paragraph
is a nice dark blue.}\\
\thread{3}{cyan}{\itshape And finally, we have a test in which the third and
last paragraph is cyan.}%
}}
\end{document}
将其放置在 a 中的tabular
唯一复杂之处在于,的值\baselineskip
在 a 内部消失tabular
,因此必须提前保存:
\documentclass{article}
\usepackage[usestackEOL]{stackengine}
\usepackage{xcolor}
\def\stacktype{L}
\def\stackalignment{l}
\def\threadwidth{2in}
\edef\tmp{\the\baselineskip}
\setstackgap{L}{\tmp}
\newcommand\thread[3]{\parbox[t]{\threadwidth}{\baselineskip=#1\baselineskip\color{#2}#3}}
\begin{document}
\begin{tabular}{|c|l|l|}
\hline
baseline &
\raisebox{7pt}{\Longunderstack{%
\thread{3}{red}{This is a test of a red paragraph which wraps every
3 lines... if we are lucky}\\
\thread{3}{blue}{\bfseries And here we have a test in which the second paragraph
is a nice dark blue.}\\
\thread{3}{cyan}{\itshape And finally, we have a test in which the third and
last paragraph is cyan.}%
}}&
\raisebox{7pt}{\Longunderstack{%
\thread{2}{orange}{If a macro breaks in the CPU and no one is there to hear it,
did it indeed break?}\\
\thread{2}{black}{I think that I shall never see, \LaTeX{} as beautiful as thee}
}}
\tabularnewline
\hline
\end{tabular}
\end{document}