将 titlesec 包与 res 文档类结合使用

将 titlesec 包与 res 文档类结合使用

titlesec我正在尝试使用文档中的包重新定义我的部分的格式。但是,我收到以下错误消息,该消息仅在我尝试在而不是在类中res运行下面的极简文档时才会发生。resarticle

1466
! Argument of \section has an extra }.
<inserted text> 
                \par 
l.1466 \ttl@extract\section

这是最简洁的文档。

%\documentclass{article}

\documentclass{res}
\usepackage{titlesec}

\titleformat{\section}{\center\sc\large}{\thesection}{1em}{}
%\titlespacing{\section}{0pt}{*0}{*0}

\begin{document}

\section{Test section}
Lala

\end{document}

PS我知道这个问题之前问过但一直没有得到答复。

答案1

该类res使用它自己的方法进行定义\section,这不能与titlesec假定标准方法一起使用。

\documentclass{res}
\usepackage{lipsum} % just for the example

\makeatletter
\def\section#1{%
  \ifx\\\@tabcr
    \@stopfield
  \else
    \@@par
  \fi
  \begingroup
  \everypar={}%
  \def\par{\@@par}\def\\{ }%
  \addpenalty{\@secpenalty}%
  \addvspace{\sectionskip}%
  \hbox to \textwidth{\hss\sectionfont #1\hss}%
  \addpenalty{-\@secpenalty}%
  \endgroup
  \ifx\\\@tabcr
    \@startline
  \else
    \vskip-\parskip\fi
 \ignorespaces
}
\makeatother
\renewcommand\sectionfont{\large\scshape}

\begin{document}

\section{Test section}
Lala\lipsum[1-2]

\end{document}

在此处输入图片描述

相关内容