在两个应该编号为 23 和 24 的部分之间,我想添加另一个部分,我想将其称为 23.5。\setcounter{section}{23.5} \section{...}
但是,代码导致标记为 24 的部分顶部浮动着 .5。有办法解决这个问题吗?
答案1
23 和 24 之间的部分似乎也属于 23。考虑使用主部分 23,并将其拆分为两个子部分 23.1 和 23.2。
也可以编写第 23 节,然后添加子节 5 ( \addtocounter{subsection}{4}\subsection{...}
)。那么它的编号将是 23.5。如果您愿意,您可以让子节看起来像节一样,只需克隆您的 titlesec 命令即可。
答案2
这是一个 hacky 的方法:
\addtocounter{section}{-1}
\renewcommand{\thesection}{\arabic{section}.5}
\section{Title of Half section}
\renewcommand{\thesection}{\arabic{section}} % back to regular numbering
(但正如 Caramdir 指出的那样,这并不是一个好主意。)
答案3
按照你的意愿做是艾伦提出的,但如果你想要它正常工作hyperref
,你需要更加小心,以避免出现如下警告
pdfTeX warning
(ext4): destination with the same identifier (name{section.23}) has been already
used, duplicate ignored
这会使指向您半部分的超链接指向错误的位置。为了避免这种情况,您可以为部分定义一个主计数器,并在半部分之前增加它。以下是显示其工作原理的完整代码:
\documentclass{article}
\usepackage{hyperref}% must be before the definition of the mastercounter
% Master counter for sections
\newcounter{mastersection}
\makeatletter
\@addtoreset{section}{mastersection}% section depends on mastersection
\makeatother
\newcommand{\DontChangeNextSectionNumber}{%
% we save the old section number and substract one (\section does +1)
\edef\sectioncountervalue{\numexpr\the\value{section}-1\relax}%
% we increment the master counter
\refstepcounter{mastersection}%
% we set the section counter to the saved value
\setcounter{section}{\sectioncountervalue}%
}
\setcounter{section}{22}% for the numbers to start at 22 in this example
\begin{document}
\tableofcontents
\section{Title of section}
\DontChangeNextSectionNumber
\renewcommand{\thesection}{\arabic{section}\ensuremath{'}}
\section{Title of Half section}\label{half.section}
\subsection{Title of subsection}
\subsection{Title of subsection}
\renewcommand{\thesection}{\arabic{section}}
\section{Title of section}
\ref{half.section}
\end{document}
在一些数学书中,我使用定理变体中不时出现的 来代替23.5
或。如果你不喜欢这样,当然可以更改它。23½
23’