我有这样的事情:
Section 1
...
Section 2
...
Section 3
Subsection 3.1
...
Section 4
...
我想要这样的东西:
Section 1
...
Section 2
...
Section A
Subsection A.1
...
Section 4
...
换句话说-将段号之一更改为其他3 == A
在论文类中写的论文中,我需要这个,当我尝试添加附录时,hyperref包坏了,并且“链接”到指向附录A的第1节
编辑:
在描述问题时我犯了一个错误,我的意思是目录不起作用,因为LaTeX会生成代码(* .toc文件):
\contentsline {section}{\numberline {1}}{1}{section.1}
\contentsline {section}{\numberline {2}}{1}{section.2}
\contentsline {section}{\numberline {A}}{1}{section.1}
最佳答案
我创建了以下构造,现在对其进行了更新:
说明:
一个新的节计数器,将仅在\begin{alphasection}
... \end{alphasection}
块中使用。不要嵌套该块,否则原始的段号将会丢失;在这种情况下会给出错误消息。每个块将从“A”开始重新计数。继续进行原始节计数,这是HyperRef所必需的。
将以下代码放入前言中:
\newcounter{alphasect}
\def\alphainsection{0}
\let\oldsection=\section
\def\section{%
\ifnum\alphainsection=1%
\addtocounter{alphasect}{1}
\fi%
\oldsection}%
\renewcommand\thesection{%
\ifnum\alphainsection=1%
\Alph{alphasect}
\else%
\arabic{section}
\fi%
}%
\newenvironment{alphasection}{%
\ifnum\alphainsection=1%
\errhelp={Let other blocks end at the beginning of the next block.}
\errmessage{Nested Alpha section not allowed}
\fi%
\setcounter{alphasect}{0}
\def\alphainsection{1}
}{%
\setcounter{alphasect}{0}
\def\alphainsection{0}
}%
在文档中:
\section{First test}
First content
\section{Second test}
Second content
\begin{alphasection}
\section{Third test}
\subsection{Subsection test}
Content test
\section{Test Other section}
\end{alphasection}
\section{Fourth test}
Last content
产生:
1 First test
First content
2 Second test
Second content
A Third test
A.1 Subsection test
Content test
B Test Other section
5 Fourth test
Last content
经过测试,可与HyperRef一起使用。
关于LaTeX:如何将部分编号之一更改为自定义字母?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2839647/