作者sppmg (sppmg)
看板LaTeX
標題[心得] 中文化目錄編號後,附錄部份顯示為零問題
時間Sun Jul 22 17:01:43 2018
我在使用 zhnumber 套件時遇到這個問題。如果你使用的是 CJKnumb/xCJKnumb
也出現相同狀況,可能問題來源一樣。
以下使用 \zhnumber 作為轉換數字巨集,如果你用的是 CJKnumb 要改成
\CJKnumber。
狀況:
照 google 結果,使用:
\titleformat{\chapter}{\centering\Huge\bfseries}%
{第\,\zhnumber{\thechapter}\,章}{1em}{}
主章節正常顯示『第 一 章』,但附錄卻是「第零章」,可能編譯還帶 error ???
原因:
bool.cls (linux 中位於 /usr/share/texlive/texmf-dist/tex/latex/base/bool.cls)
中,主要章節的 \thechapter 定義於 277 行:
--------------
% book.cls: 277
\renewcommand \thechapter {\@arabic\c@chapter}
--------------
作用就是將 latex counter 轉為阿拉伯數字。
附錄部份則是在 523 行,利用 \appendix 去覆寫定義
--------------
% book.cls: 519
\newcommand\appendix{\par
\setcounter{chapter}{0}%
\setcounter{section}{0}%
\gdef\@chapapp{\appendixname}%
\gdef\thechapter{\@Alph\c@chapter}}
--------------
作用就是將 latex counter 轉為大寫英文字母。
所以,如果只是簡單的利用 \zhnumber{\thechapter} ,在附錄部份相當於使用
\zhnumber(A)
然後就會得到一個 error ....
解決方法:
我在我的樣板中的解決方法一樣利用 \appendix 去重設 \titleformat{\chapter}
,讓附錄部份不用 \zhnumber ,維持原始樣式。
(這裡是透過 etoolbox 套件的 \apptocmd 去附加)
原始碼見 433 行(建議透過網址連,未來更改行數可能會變)
縮址:
https://goo.gl/1kZNB8
未縮:
https://github.com/sppmg/TW_Thesis_Template/blob/
854e905dc2da1846866db1bb75c1f5c198847e43/NCU_zh/thesis_base.cls#L433
同樣的問題也會出現在頁首/頁眉部份,
縮址:
https://goo.gl/WuYmM6
未縮:
https://github.com/sppmg/TW_Thesis_Template/blob/
854e905dc2da1846866db1bb75c1f5c198847e43/NCU_zh/thesis_base.cls#L373
---------------------
閒聊~~
1. 最近在改寫這部份,讓使用者可以更直覺的去定義編號風格
(e.g. 『第一章』、『一、』)。目前是做出來了,
但感覺有點繞遠路的實現方法。
2. 其實也可以重定義 \zhnumber ,讓它碰到非數字就略過,而非輸出「零」。
這樣在樣板部份可能可以省去判斷 appendix 部份(如果格式不變的話)。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.11.2.157
※ 文章網址: https://webptt.com/m.aspx?n=bbs/LaTeX/M.1532250109.A.395.html
※ 編輯: sppmg (101.11.2.157), 07/22/2018 17:05:00