平時看書經常看到“圖1.2”這樣的編號,含義是第1章的第2幅插圖;或者“圖1.1.2”,含義是第1章第1節的第2幅插圖。而在LaTeX中如果直接插圖的話只會顯示“圖2”這樣的編號,有沒有辦法在LaTeX的圖表序號中加入章節序號呢?辦法肯定是有的,下面就是一種辦法。
在插入圖表之前(比如導言區)加入以下兩行代碼:
\renewcommand {\thetable} {\thechapter{}.\arabic{table}}
\renewcommand {\thefigure} {\thechapter{}.\arabic{figure}}
第一行是設定表格的編號,第二行設定圖片的編號。這樣設置的實現效果為“圖1.1”、“表2.2”。正文中\label{...}和\ref{...}使用方法不變。需要“圖1-1”這種格式的話可以把上面指令中的“.”改為“-”。
其中\thechapter是章節號,類似地還有\thesection、\thesubsection。
table和figure是表格和圖片計數器(counter)的值。
\arabic{...}的含義是輸出阿拉伯數字的編號。如果需要大小寫的羅馬數字,可以分別使用\Roman{...}和\roman{...}。
需要注意的是\thechapter、\thesection和\thesubsection這三個宏的輸出會包含上層序號,比如在第1章(chapter)第2節(section)第3小節(subsection)中,\thesubsection的輸出結果就是1.2.3,\thesection的輸出結果就是1.2,\thechapter的輸出結果就是1。使用時要注意避免重復,只用其中一個就行了。
與上面三個宏形成對比的是\arabic{chapter}、\arabic{section}和\arabic{subsection}這三個命令,它們也可用在前面的指令中,但它們只輸出當前一層的序號,同樣以第1章(chapter)第2節(section)第3小節(subsection)為例,\arabic{subsection}的輸出結果是3,\arabic{section}的輸出結果是2,\arabic{chapter}的輸出結果是1。使用這三個指令可以輸出“1-2-3”這樣的章節編號。
這種方法有一個問題,table和figure計數器不會自動清零,比如第1章有3幅圖片,到第2章時LaTeX會從“圖2.4”開始編號。為了解決這個問題,需要在合適的地方(比如一章結尾或下一章開頭)手動將計數器清零,即
\setcounter{table}{0}
\setcounter{figure}{0}