作者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/cn.aspx?n=bbs/LaTeX/M.1532250109.A.395.html
※ 编辑: sppmg (101.11.2.157), 07/22/2018 17:05:00