在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自動生成插表目錄,在插表目錄編號前面加上‘表’這個字。

三. 解決方法

在使用\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中命令與環境的定義與重定義
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章