自动换行

自动换行

我想使用循环和保存框来自动化 LaTeX 中的某些操作,但当没有空间时,框不会自动转到下一行(保存框是必需的)。下面的代码是我想要实现的一个简单示例(框不是通过循环创建的,但我这样做是为了进行简单的演示)。X 将是一些文本

\usepackage{xsavebox}
\usepackage{pgffor}
\foreach \n in {3,...,11}{\xsbox{R.1.\n}{\textbf{R.1.\n}~X\hspace{2em}}}
...
\foreach \n in {3,...,11}{\xusebox{R.1.\n}}

这段代码的结果是这样的: 在此处输入图片描述

答案1

您需要使用\globalbefore \setbox,因为\foreachpgf 会按组执行每个循环步骤。离开组时会忘记本地设置。并且您需要使用\penalty0以允许断点,因为每个\xsbox操作\leavevmode在放置框之前执行,因此您处于水平模式。

\foreach \n in {3,...,11}
    {\global\setbox\n=\hbox{\textbf{R.1.\n}~X\hskip2em}%
     \leavevmode\copy\n\hfil\penalty0 }
...
\foreach \n in {3,...,11}{\leavevmode\box\n\hfil\penalty0 }

相关内容