LaTeX/宏包: caption

概要

caption 的直译为:说明文字

caption 包适用于像 \(\texttt{figure}\)\(\texttt{table}\) 这样的浮动环境,并起到显示题目/说明文字的功能。比如在一张图的底下添加一行居中的“图X - XXXX”这样的注明:

image

注: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}\)

该参数控制编号与说明文字之间的分离符号:

image

且有四种样式:

参数 说明
none 无分离符
colon 冒号(默认)
period 英文句号
space 空格

参数 \(\texttt{labelformat}\)

该参数控制编号本身的样式:

image

参数 说明
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官方文档

posted @ 2022-01-01 18:49  elexenon  阅读(8587)  评论(0编辑  收藏  举报