我有几天的编号问题,检查这个网站来找到这些 https://tex.stackexchange.com/a/25212/34618和 https://tex.stackexchange.com/a/5694/34618
但这些并不是我真正想要的,因为它们的方向意味着更新许多用户定义的定理、引理、练习和问题的命令,更不用说\thechapter
hack 带到方程式、图形和表格的其他默认设置。
这是我的问题。
在章节标题中,我
I. Chapter for heading
and what follows are many sections in the chapter body.
II. Chapter for heading
and many sections ...
III. Chapter for heading
and many sections ...
In TOC, I would like the following style.
A. Chapter name,
1.1 section,
1.2 section,
B. Chapter name,
2.1 section,
2.2 section,
C. Chapter name,
3.1 section,
3.2 section,
简而言之,所有编号样式(罗马字母、字母、数字)都不同。我可以通过重新定义命令来弄清楚如何解决标题问题@makechapterhead
,但不知道如何处理目录中的问题。翻阅定义l@chapter
、数字线等,都没能告诉我该怎么做,因此需要专家的帮助。
我可以预见解决这个问题可能会有益于非英语语言可用的不同编号样式。
PS. 我也知道一些现行的软件包可以达到这个目的,但是那也不是我想要的。
答案1
起初,我认为这种编号模式令人困惑,因为同一个对象使用三种不同的表示法来表示:罗马字母、字母、阿拉伯语。然而,在我的回答的评论中,杰西已经解释过,这是针对中文文本而言的,在该文本中,该架构在逻辑上是合理的。
这是一个可能的解决方案:
\documentclass{book}
\makeatletter
\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\refstepcounter{chapter}%
\typeout{\@chapapp\space\thechapter.}%
\renewcommand\thechapter{\Alph{chapter}}
\addcontentsline{toc}{chapter}%
{\protect\numberline{\thechapter.}#1}%
\renewcommand\thechapter{\Roman{chapter}}
\else
\addcontentsline{toc}{chapter}{#1}%
\fi
\else
\addcontentsline{toc}{chapter}{#1}%
\fi
\chaptermark{#1}%
\addtocontents{lof}{\protect\addvspace{10\p@}}%
\addtocontents{lot}{\protect\addvspace{10\p@}}%
\if@twocolumn
\@topnewpage[\@makechapterhead{#2}]%
\else
\@makechapterhead{#2}%
\@afterheading
\fi}
\def\@makechapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedright \normalfont
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\huge\bfseries\thechapter.
\fi
\fi
\interlinepenalty\@M
#1\par\nobreak
\vskip 30\p@
}}
\renewcommand*\l@section{\@dottedtocline{1}{0em}{2.3em}}
\makeatother
\renewcommand\thechapter{\Roman{chapter}}
\renewcommand\thesection{\arabic{chapter}.\arabic{section}}
\begin{document}
\tableofcontents
\chapter{First test chapter}
\section{Test section}
\section{Test section}
\section{Test section}
\chapter{Second test chapter}
\section{Test section}
\section{Test section}
\section{Test section}
\end{document}
生成的目录的图像:
文档正文中某一章节的图片: