我想用缩写代替部分编号。例如,关于以下 MWE 的部分代数,我希望将第一章称为ALG.1
而不是I.1
(并且对于所考虑部分中的所有章节都一样)。
理想情况下,缩写ALG
可以是命令的可选参数\part
。
分数维:
\documentclass[oneside]{scrbook}
%reset chapter for each part
\makeatletter
\@addtoreset{chapter}{part}
\makeatother
\renewcommand{\thechapter}{\thepart\arabic{chapter}}
\begin{document}
\part{Algebra} %\part[ALG]{Algebra} ?
\chapter{Chap 1}
\part{Analysis}
\chapter{Chap 1}
\part{Geometry}
\chapter{Chap 1}
\end{document}
答案1
这是一个简单的解决方案,在命令\acropart
之后立即使用一个命令\part
:
\documentclass[oneside]{scrbook}
\counterwithin*{chapter}{part}
\makeatletter
\DeclareRobustCommand\acropart[1]{\gdef\@acropart{#1}}
\renewcommand{\thechapter}{\@acropart.~\arabic{chapter}}
\makeatother
\makeatother
\begin{document}
\part{Algebra} %\part[ALG]{Algebra} ?
\acropart{ALG}
\chapter{Chapter the first}
\chapter{Chapter the second}
\part{Analysis}
\acropart{ANAL}
\chapter{Chapter the first}
\part{Geometry}
\acropart{GEOM}
\chapter{Chapter the first}
\end{document}
答案2
问题中的 MWE 已经包含 的重新定义\thechapter
。可以通过将零件计数器替换\thepart
为包含所需缩写的新宏来进一步定制。
要使用可选参数将其设置为\part
旧的定义,\part
可以将其存储在另一个宏中,例如\oldpart
,然后\part
可以重新定义为接受可选参数,将其存储在宏中,然后调用\oldpart
将处理默认参数的宏,类似于\def 中的可选参数。可选参数的默认值是\thepart
,允许使用罗马部件编号来编号没有标签的部分。
当打印目录时,章节标签不适合默认宽度,可以使用 来解决\RedeclareSectionCommand
。
梅威瑟:
\documentclass[oneside]{scrbook}
\RedeclareSectionCommand[
tocnumwidth=1.5cm
]{chapter}
\let\oldpart\part
\renewcommand\part[1][\thepart]{\def\partacr{#1}\oldpart}
%reset chapter for each part
\makeatletter
\@addtoreset{chapter}{part}
\makeatother
\renewcommand{\thechapter}{\partacr.\arabic{chapter}}
\begin{document}
\tableofcontents
\part[ALG]{Algebra}
\chapter{Chap 1}
\chapter{Chap 2}
\part{Geometry}
\chapter{Chap 1}
\chapter{Chap 2}
\end{document}
结果:
答案3
像这样?
\documentclass[oneside]{scrbook}
%reset chapter for each part
\makeatletter
\@addtoreset{chapter}{part}
\makeatother
\newcommand{\prt}[2]{\part{#2}
\renewcommand{\thechapter}{#1\arabic{chapter}}}
\usepackage{tocloft}
\renewcommand\cftchapnumwidth{1.2cm} %<-- For tableofcontents
\begin{document}
\tableofcontents
\prt{ALG}{Algebra} %\part[ALG]{Algebra} ?
\chapter{Chap 1}
\prt{ANA}{Analysis}
\chapter{Chap 1}
\prt{GEO}{Geometry}
\chapter{Chap 1}
\end{document}