在章节标题下添加水平线,无需任何附加包

在章节标题下添加水平线,无需任何附加包

我想在章节标题下添加一条水平线,更改标题的颜色和字符。到目前为止,我已经能够更改颜色和字符,但我发现在标题下添加水平线是一项艰巨的任务。到目前为止,我所做的如下:

\RequirePackage%
{%
   fontspec,%
   xcolor,%
}
...
...
\definecolor[named]{SectionFontColour}{wave}{395}
\newfontfamily \SectionFont {ITC Avant Garde Gothic}
...
...
\renewcommand\section
{
  \@startsection{section}% #1
  {1}% #2
  {\z@}% #3
  {-2.5ex \@plus -1ex \@minus .2ex}% #4
  {2.3ex \@plus.2ex}% #5
  {%
     \SectionFont%
     \Large%
     \mdseries%
     \textcolor{SectionFontColour}%
} % #6

我想在\section宏中或在\@statrsection宏中完成此任务。我不会使用这种方式:

\let \oldsection \section
\renewcommand \section {\oldsection ... <some code that makes the rule>}

我也不会在这里使用额外的包。顺便问一下,为什么的声明\section不带任何参数,当我们调用这个宏(\section)时,我们会向它传递一个参数?那么宏应该用参数声明吗?请帮我澄清这些问题。

答案1

你可以做这样的事情:

\documentclass{article}

\makeatletter
\renewcommand\section{\@startsection {section}{1}{\z@}%
                                   {-3.5ex \@plus -1ex \@minus -.2ex}%
                                   {2.3ex \@plus.2ex}%
                                   {\normalfont\bfseries\mytitle}}
\makeatother
\newcommand{\mytitle}[1]{#1\par\noindent\rule{\textwidth}{1pt}}
\begin{document}
\section{Some section}

\end{document}

在此处输入图片描述

相关内容