将节号更改为分数

将节号更改为分数

在两个应该编号为 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’

相关内容