定义新的部分命令/宏时,是什么原因导致 \@startsection 文本重复?

定义新的部分命令/宏时,是什么原因导致 \@startsection 文本重复?

\orangesection当我尝试生成一个使用 LaTeX 内核命令 的新部分命令 时\@startsection,我得到了重复的文本。它是从哪里来的?另外,我该如何追踪它?

在此处输入图片描述

\documentclass{article}
\usepackage{fontspec}
\usepackage{xcolor}
\makeatletter
\newcounter{orangesection}
\renewcommand\theorangesection{\@arabic\c@orangesection}
\newcommand\orangesection{\@startsection{orangesection}{1}{\z@}% 
                                   {-3.5ex \@plus -1ex \@minus -.2ex}%
                                   {2.3ex \@plus.2ex}%
                                   {\sffamily\Large\bfseries\color{orange}}}
\makeatother
\begin{document}
\orangesection{Orange Section}
Here is a sentence to simulate a paragraph.
\end{document}

答案1

您缺少以下内容\sectionmark

\documentclass{article}
\usepackage{fontspec}
\usepackage{xcolor}
\makeatletter
\newcounter{orangesection}
\renewcommand\theorangesection{\@arabic\c@orangesection}
\newcommand\orangesection{\@startsection{orangesection}{1}{\z@}%
                                   {-3.5ex \@plus -1ex \@minus -.2ex}%
                                   {2.3ex \@plus.2ex}%
                                   {\sffamily\Large\bfseries\color{orange}}}
 \newcommand\orangesectionmark[1]{}                                  
 \newcommand*\l@orangesection{\@dottedtocline{2}{1.5em}{2.3em}}                                  
\makeatother
\begin{document}

\tableofcontents
\orangesection{Orange Section}
Here is a sentence to simulate a paragraph.
\end{document}

相关内容