有什么方法可以减小表格/表格中的字体大小,但仅限于其中一列,而无需在该列的每个单元格中重复大小命令?
谢谢。
答案1
通常,为了使内容适合文档而减小字体大小并不是一个好主意。文档中各个部分的字体大小应该统一。但是,如果您需要这样做,这当然很容易做到。
该array
软件包为常规表格机制添加了一些非常有用的功能。特别是,它允许您指定应用于列中每个单元格开头和结尾的代码。它还允许您创建新的列类型,这样如果您再次使用相同的格式,只需为其指定自己的字母名称即可。
使用的列规范的语法array
如下:
>{before code}columntype<{after code}
在哪里代码之前将在列中的每个单元格之前执行,并且代码之后将在列中每个单元格的末尾执行。列类型为l
、r
、c
或p{<width>}
您定义的任何其他类型(或使用 的其他表格包array
)。
例如,如果我们想要一个居中对齐的列,其中每个元素都是\large
,我们可以执行以下操作:
\begin{tabular}{>{\large}c}
如果我们要大量使用这种列类型,那么我们可以将它作为自己的符号:
\newcolumntype{C}{>{\large}c}
然后使用
\begin{tabular}{C}
这是一个简单的例子:
\documentclass[12pt]{article}
\usepackage{array}
\newcolumntype{T}{>{\tiny}l} % define a new column type for \tiny
\newcolumntype{H}{>{\Huge}l} % define a new column type for \Huge
\begin{document}
\begin{tabular}{>{\footnotesize}l>{\Huge}llTH}
footnote size & huge & normal & tiny & huge
\end{tabular}
\end{document}
当然,您指定的代码几乎可以是任何东西,尽管最有可能的是字体大小和系列命令等格式化命令。但如果您需要,代码可能会非常复杂。例如,您可以增加并显示计数器以实现表中的自动行号,如以下问题所示: