在Latex插图或插表目录编号前加上‘图’或‘表’字

一. 环境

  1. texlive2019 + TeXstudio

  2. 使用的文档类是:ctexbook

    \documentclass[12pt,openright,a4paper,fancyhdr,twoside]{ctexbook}
    

二. 问题

直接使用系统默认的\listoffigures命令自动生成的插图目录如下:

					插  图
2.1  XXX示意图 .........................7
2.2  YYY示意图 .........................11

但我想在每一条目录项编号前面加上‘图’这个字,变为如下格式:

					插  图
图2.1  XXX示意图 .........................7
图2.2  YYY示意图 .........................11

类似的, \listoftable自动生成插表目录,在插表目录编号前面加上‘表’这个字。

三. 解决方法

使用\tableofcontents自动生成章节目录后,

在使用\listoffigures命令之前重新定义一下\numberline命令:

\newcommand{\loflabel}{图} 
\renewcommand{\numberline}[1]{\loflabel~#1\hspace*{1em}}

\listoffigures

上述代码中首先新定义了\loflabel命令代表文字‘图’;
然后重新定义了\numberline命令,其中,[1] 表示该命令有一个参数,\loflabel~#1 表示目录项的格式为“图 <参数1>” ,\hspace*{1em} 表示设置目录项编号与目录项标题之间的间距。


类似的针对插表目录,代码如下:
\newcommand{\lotlabel}{表}
\renewcommand{\numberline}[1]{\lotlabel~#1\hspace*{1em}}

\listoftables

四. 参考

  1. Latex目录和插图目录生成
  2. 探索 LaTeX2e 格式:目录项(外一篇:怎么改 numwidth)
  3. LaTeX中命令与环境的定义与重定义

你可能感兴趣的:(Latex)