Scissor LaTeX 中的 array、tabularx、longtable 和 tabulary
array 和 tabularx 宏包及其相关宏包在 Scissor LaTeX 中部分可用:tabularx、tabulary、longtable 和 xltabular 表格按 tabular 排版,当表格宽于行宽时长单元格会自动换行;列宽(p{3cm}、X、表格宽度)和 >{...}/<{...} 代码会被忽略,\newcolumntype 无法识别,longtable 的表头不会重复。
宏包的作用
array增加了m{width}和b{width}等列类型,可以用>{...}和<{...}在每个单元格前后插入代码,还提供\newcolumntype来定义自己的列字母。tabularx提供\begin{tabularx}{\textwidth}{lX},其中X列会伸展,使表格达到给定宽度。tabulary的作用相同,使用L、C、R、J列,按内容分配宽度。longtable让表格可以跨页,并可设置重复的表头(\endhead)。xltabular结合了longtable和tabularx。
这里可用的功能
| 功能 | 在 Scissor LaTeX 中 | 说明 |
|---|---|---|
tabularx, tabulary, xltabular, longtable, tabular* | 部分可用 | 按 tabular 排版。总宽度参数被忽略。 |
X, L, C, R, J 列 | 部分可用 | X 和 L 左对齐,C 居中,R 右对齐。 |
p{3cm}, m{3cm}, b{3cm} | 部分可用 | 左对齐;宽度被忽略。 |
| 长单元格文本 | 可用 | 当表格宽于行宽时会自动换行。 |
>{\bfseries}l, r<{\%} | 忽略 | 单元格前后的代码被忽略。 |
\newcolumntype{C}{...} | 不支持 | 会被跳过并在“问题”标签页中注明,它的定义会作为文本输出。请直接写出列类型。 |
\endhead, \endfirsthead, \endfoot, \endlastfoot | 忽略 | 长表格会跨页,但表头不会重复。 |
\tabularnewline | 可用 | 与 \\ 相同。 |
\arraybackslash | 不支持 | 会被跳过并在“问题”标签页中注明;除此之外没有影响。 |
示例
带有伸展列的 tabularx 表格。长文本在正文边缘换行,与 TeX 发行版中一样:
带 X 列的 tabularx
\begin{tabularx}{\textwidth}{lX}
\hline
Name & Notes \\
\hline
Erika Mustermann & Leads the project, writes the reports and checks
every one of the 44 measurements twice before they are published. \\
John Doe & Builds the test setup. \\
\hline
\end{tabularx}带表头行的 longtable。表格可以排版;在长文档中,表头不会在下一页重复:
带 \endhead 的 longtable
\begin{longtable}{lr}
\hline
Item & Count \\
\hline
\endhead
Pencils & 44 \\
Erasers & 12 \\
Rulers & 7 \\
\hline
\end{longtable}>{...} 中的代码被忽略,所以这一列不是粗体,百分号也没有出现:
>{...} 和 <{...} 被忽略
\begin{tabular}{>{\bfseries}l r<{\,\%}}
Growth & 44 \\
Share & 12 \\
\end{tabular}请改为把格式直接写进单元格。这在这里和 TeX 发行版中都可用:
把格式写进单元格
\begin{tabular}{lr}
\textbf{Growth} & 44\,\% \\
\textbf{Share} & 12\,\% \\
\end{tabular}兼容性
- 从 TeX 发行版迁移到这里: 表格可以排版并保持对齐方式,但列宽不会保留。请检查是否用了
\newcolumntype定义的自定义列字母。 - 从这里迁移到 TeX 发行版: 文档无需修改即可在那里编译,列宽也会在那里生效。
完整手册见 CTAN:ctan.org/pkg/array、ctan.org/pkg/tabularx、ctan.org/pkg/tabulary、ctan.org/pkg/longtable 和 ctan.org/pkg/xltabular。关于表格的一般用法,请参阅 LaTeX 中的表格。
另请参阅表格、multirow、booktabs 和 LaTeX 表格生成器。
常见问题
为什么我的 p{3cm} 列宽度不是 3 cm?
列宽目前还不会生效。长文本仍会在正文边缘换行,所以表格不会超出页面。
longtable 会跨页吗?
会,长表格会在下一页继续,但用 \endhead 标记的行不会在那里重复。
本页的每个示例都在构建网站时由 Scissor LaTeX 排版。 最后更新:2026-11-07