![如何在不分列的情况下分行?](https://linux22.com/image/276733/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%8D%E5%88%86%E5%88%97%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E5%88%86%E8%A1%8C%EF%BC%9F.png)
我希望强制换行而不中断列,类似于 //* 提供换行但防止页面中断的方式。具体来说,我希望能够在 multicol 环境中执行此操作。有人知道怎么做吗?这是一个 MWE。
\documentclass{article}
\usepackage{multicol}
\usepackage[top=5in,bottom=5in,right=.5in,left=.5in]{geometry}
\begin{document}
\begin{multicols}{2}
\noindent
Line 1\\
Line 2\\
I would like to have this line 3 in the same col as line 2\\
Line 4
\end{multicols}
\end{document}
编辑:这将用于“活动”文档。基本上,我希望能够将此“换行符”命令放在我想要换行的任何地方,并让 TeX“知道”不要在该命令所在的位置中断列,而是将列的长度进一步延长,甚至延伸到末尾的边距。有人知道怎么做吗?
答案1
我对这个问题以及目前给出的答案感到有点惊讶,因为简单的答案是:使用\\*
它会中断行,同时防止在同一点处分页。这在 multicol 内部和外部以相同的方式工作(或者更确切地说,如果它在普通列中失败,它也会在 multicol 中失败)。
因此,在特定的示例中,使用\\*
will 可以实现所需的效果:第 2 行和第 3 行将保持在一起,并且不会因 multicol 的平衡而破坏这一点。
答案2
\vfill\columnbreak
想要中断时使用。
平均能量损失
\documentclass{article}
\usepackage{multicol}
\usepackage[top=5in,bottom=5in,right=.5in,left=.5in]{geometry}
\begin{document}
\begin{multicols}{2}
\noindent
Line 1\\
Line 2\\
I would like to have this line 3 in the same col as line 2
\vfill\columnbreak
Line 4
\end{multicols}
\end{document}
输出
编辑
我不确定是否理解你编辑的问题中的请求,但你可能想看看paracol
包裹。
以下是一个例子
\documentclass{article}
\usepackage{paracol}
\usepackage[top=5in,bottom=5in,right=.5in,left=.5in]{geometry}
\begin{document}
\begin{paracol}{2}
\noindent
Line 1\\
Line 2\\
Line 3\\
Line 4\\
Line 5\\
Line 6\\
Line 7\\
Line 8
\switchcolumn
Line 9
\end{paracol}
\end{document}
直到您发出命令之前,\switchcolumn
您的行将无限期地位于第一列。
答案3
使用星号版本:
\begin{multicols*}{2}
\noindent
Line 1\\
Line 2\\
I would like to have this line 3 in the same col as line 2\\
Line 4
\end{multicols*}