答案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
则只会打印数字。