![不同类型的部分独立编号](https://linux22.com/image/480028/%E4%B8%8D%E5%90%8C%E7%B1%BB%E5%9E%8B%E7%9A%84%E9%83%A8%E5%88%86%E7%8B%AC%E7%AB%8B%E7%BC%96%E5%8F%B7.png)
我使用 LaTeX 编写学术论文,对于几篇不同的论文,我想使用几种不同的部分类型,这些部分彼此独立编号。但是,我无法将它们分成几部分,因为我希望它们在相关的地方混合在一起。例如,在一篇论文中,我想有文本部分(细化到子部分级别)、练习部分(细化到子部分级别)和代码片段部分(没有子级别)。
有没有有效的方法来做到这一点?
例如
1:文本部分
1:练习部分
2:文本部分
2:练习部分
1:代码部分
3:文本部分
2:代码部分
4:文本部分
3:练习部分
3:代码部分
ETC。
另外,如果可能的话,可以对标题进行一些自动格式化。例如,练习部分用蓝色表示,代码片段用绿色表示。
答案1
展示比解释更容易。这将创建一个新的部分类型和计数器。
请注意,\section
定义位于文档类中并且依赖于文档类。
\documentclass{article}
\newcounter{code}
\makeatletter
\newcommand\code{\@startsection {code}{1}{\z@}% must use same name as counter
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\Large\bfseries}}
\let\l@code=\l@section% for TOC
\let\codemark=\@gobble% no \codemark in header
\makeatother
\begin{document}
\tableofcontents
\section{first}
\section{second}
\code{first}
\code{second}
\section{third}
\code{third}
\end{document}