返回页面分栏和段落分栏
当我们在页面中需要分列显示内容时,用到 columnset 语句。 可以设置每页多少列,奇数页多少列,偶数页多少列等。
先来试试基础的 2 列布局。
\startcolumnset[n=2] \dorecurse{7}{\fakewords{170}{180}\par} \stopcolumnset
来了解下其它参数,设置分 3 列显示,每列间隔 15 mm,22 行文字。
\startcolumnset[n=3,distance=15mm,lines=22] \dorecurse{3}{\fakewords{170}{180}\par} \stopcolumnset

强制换栏

想要换列显示内容时,可以使用\column换到下一列,\column[last]换到最后一列,\column[first]换到下一页的第一列,或者\column[n]换到下一页的第 n 列。

奇偶页不同分栏数

可以通过 nright 设置右页或者奇数页的分栏数量,nleft 设置左页或者偶数页的分栏数量。
\startcolumnset[nright=2,nleft=3] \dorecurse{10}{\fakewords{170}{180}\par} \stopcolumnset

页面的跨列显示

在页面分栏布局时,有时需要某段文字或图片占据两列显示。需要跨列的文字可以用\startcolumnsetspan\stopcolumnsetspan包裹。
\definecolumnset[pageThree][n=3,page=left] \definecolumnsetspan[spanTwo][n=2,background=color,backgroundcolor=darkgray] \startcolumnset[pageThree] \fakewords{25}{50} \startcolumnsetspan[spanTwo] \fakewords{25}{50} \stopcolumnsetspan \dorecurse{2}{\fakewords{220}{230}\par} \stopcolumnset
需要跨列的图片可以直接定义图片的宽度为 2 列宽度。ConTeXt 会自动调整布局。
\definecolumnset[pageThree][n=3,page=left] \startcolumnset[pageThree] \fakewords{50}{60} \placefigure{}{\externalfigure[fake][width=\columnsetspanwidth{2},lines=3]}\par \dorecurse{2}{\fakewords{220}{230}\par} \stopcolumnset

多列布局的结束

页面的多列布局使用\start\stop包裹,当我们在\stopcolumnset后面继续写内容时,不管当前页有没有剩余位置,ConTeXt 都会在新的一页排版这些内容。
\startcolumnset[n=2] \dorecurse{2}{\fakewords{170}{180}\par} \stopcolumnset \dorecurse{2}{\fakewords{170}{180}\par}

段落的多列显示

当一页内容只有少部分文字需要分栏时,可以使用多栏段落而不是多栏页面。多栏段落使用\setupparagraphs定义,并使用自动生成的新命令来开启段落分栏。
\defineparagraphs[TwoCol][n=2] \setupparagraphs[TwoCol][rule=on, top=\blank[10pt]] \setupparagraphs[TwoCol][1][width=.66\textwidth] \fakewords{100}{130}\par \startTwoCol \fakewords{70}{90}\par \TwoCol \fakewords{50}{70}\par \stopTwoCol \fakewords{100}{130}\par
\setup 新建名字以后,会自动生成TwoCol命令,可以用来强制开始下一列的内容。 \setupparagraphs[TwoCol][rule=on, top=\blank[10pt]] -> [名字][配置]对TwoCol的整体生效。 \setupparagraphs[TwoCol][1][width=.66\textwidth] -> [名字][第几列][配置]对TwoCol的某一列生效。 \TwoCol 可以强制开始下一列的内容。
©2024 All Rights 石家庄市友文信息技术有限责任公司冀ICP备2023031763号