在章节编号中插入特殊符号

在章节编号中插入特殊符号

我正在写论文,想在章节编号中插入一个特殊符号。我的.sty文件中有以下代码:

\renewcommand*\thesection{\S \arabic{section}}

这正确地将字符插入\S到节号之前。但是我不希望该符号出现在与节计数器相关的其他计数器中。例如,我有以下行来编号定理:

\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[section]

对于第 4 节的定理 5,输出在此处输入图片描述 我想删除特殊符号。我该怎么做?我必须重新定义所有我想修改的计数器吗?提前谢谢。

答案1

对于这种事情有一个已知的技巧,它涉及内部命令\@seccntformat

\documentclass{article}

\makeatletter
\renewcommand{\@seccntformat}[1]{%
  \ifcsname format#1\endcsname
    \csname format#1\endcsname
  \else
    \csname the#1\endcsname
  \fi
  \quad
}
\makeatother

\newcommand{\formatsection}{\S\ \thesection}

\newtheorem{theorem}{Theorem}[section]

\begin{document}

\section{Title}

\begin{theorem}
This is theorem 1.1, isn't it?
\end{theorem}

\end{document}

这个想法是,定义命令\formatsection将覆盖该级别的部分标题中的标准输出\section。如果愿意,您可以为其他级别定义其他命令。如果您不定义,例如,,\formatsubsection则只会打印数字。

在此处输入图片描述

相关内容