章节标题的前缀,但不用于标题

章节标题的前缀,但不用于标题

我打算投稿的期刊要求章节标题前面加上<heading number ...>。所以我使用了这个答案为章节标题创建我的自定义前缀:

\renewcommand\thesection{\textless heading level 1\textgreater \ \arabic{section}}
\renewcommand\thesubsection{\textless heading level 2\textgreater \ \arabic{section}.\arabic{subsection}}
\renewcommand\thesubsubsection{\textless heading level 3\textgreater \ \arabic{section}.\arabic{subsection}.\arabic{subsubsection}}

这对于标题非常有效,但当我\cite{ch:foo}将引用显示为“<标题级别 2> 2.3“,这是我想要避免的。第二个答案在这个问题上给出了另一种解决方案,在我看来(作为 Latex 新手)更像是一种黑客攻击:

\makeatletter
\def\section{\@startsection{section}{1}{\z@ }%
  {-3.5ex\@plus -1ex\@minus -.2ex}{2.3ex \@plus .2ex}%
  {\noindent\normalfont \Large \bfseries Prefix\ }%
}
\makeatother

您能提出一个更好的方法吗?

答案1

这是一个解决方案

\documentclass{article}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@sect}{\@seccntformat}{heading level #2 \@seccntformat}{}{}
\makeatother


\begin{document}
\tableofcontents
\section{Foo}
\subsection{Foo}
\subsection{Foo}
\subsubsection{Foo}
\section{Bar}
\end{document}

在此处输入图片描述

相关内容