LaTeX/宏包: caption
概要
caption 的直译为:说明文字。
caption 包适用于像 \(\texttt{figure}\) 和 \(\texttt{table}\) 这样的浮动环境,并起到显示题目/说明文字的功能。比如在一张图的底下添加一行居中的“图X - XXXX”这样的注明:
注:caption 包仅用来控制题目/说明文字的样式,至于题目/说明文字该被放在哪,如何摆放,依然需要其它 \(\LaTeX\) 指令来控制。
使用
caption 包可以按照下面方式来引入:
\usepackage[<options>]{caption}
% 或者(没啥区别)
\Requirepackage[<options>]{caption}
不过就笔者输入体验来说,我更推荐使用\captionsetup
来延后地对详细选项进行调整,因为这样更利于你整理.tex源码格式,且更灵活:
\usepackage{caption}
%
% caption
%
\captionsetup{<options>}
其 \(\textit{<options>}\) 内参数用英文逗号隔开。
一个综合示例
在 \(\LaTeX\) 源文件的开头,我们通过下面的代码进行一些样式属性的设置:
\captionsetup{margin=10pt , font=small,
labelfont=bf, labelsep=period,
skip=5pt , labelformat=empty}
这里涉及6个常用参数,分别为:
-
\(\texttt{margin}\) 设置左右边距
-
\(\texttt{font}\) 设置字体大小,可用参数如下
参数 字号 scriptsize 7pt footnotesize 8pt small 9pt normalsize 10pt large 12pt Large 14.4pt -
\(\texttt{labelfont}\) 设置字体样式,可用参数如下(大部分模板用的是bf)
参数 说明 normalfont 采用和正文相同的字体样式 up 直立 it 斜体 sl 伪斜体 sc 小型大写字体 md 中粗体 bf 粗体 rm 罗马体 sf 无衬线 tt 打字机字体 -
\(\texttt{labelsep}\) 设置编号与描述之间的分离符
-
\(\texttt{skip}\) 设置上下边距(默认为10pt)
-
\(\texttt{labelformat}\) 设置编号格式
参数 \(\texttt{labelsep}\):
该参数控制编号与说明文字之间的分离符号:
且有四种样式:
参数 | 说明 |
---|---|
none | 无分离符 |
colon | 冒号(默认) |
period | 英文句号 |
space | 空格 |
参数 \(\texttt{labelformat}\)
该参数控制编号本身的样式:
参数 | 说明 |
---|---|
empty | 无编号 |
simple | 数字(默认) |
brace | 仅在数字右边加一个英文括弧 |
parens | 用英文括弧包围数字 |
也许你还想更改编号中间的连接符,比如将:
图1.1: 这是一个图注
改为
图1-1: 这是一个图注
那么直接在导言区将caption的\thefigure
宏给重新定义一下就成功了:
% \thechapter后面的'-'可以改成你喜欢的连接符
\renewcommand{\thefigure}{\thechapter-\arabic{figure}}
注:subfigure同理
其实\captionsetup
还有第二种形式:
\captionsetup[<float-type>]{<options>}
你可以在 \(\textit{<float-type>}\) 处指定参数 \(\texttt{figure}\) 或者 \(\texttt{table}\)。例如,若指定了 \(\texttt{table}\),那么 \(\textit{<options>}\) 处的选项只会对\(\texttt{table}\) 环境生效。
结语
更详细的选项设置请参考caption官方文档