From 35d0f96602fcad015eb8012f827116115fe12d50 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Fri, 4 Sep 2020 21:55:29 +0100 Subject: [PATCH] strayman.dtx: Format part headings correctly in article mode. --- strayman.dtx | 124 +++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 83 insertions(+), 41 deletions(-) diff --git a/strayman.dtx b/strayman.dtx index 279c5f0..8d1e5ed 100644 --- a/strayman.dtx +++ b/strayman.dtx @@ -35,7 +35,7 @@ %<+strayman> [2003/09/04 1.10 Straylight document class] % \end{meta-comment} % -% \CheckSum{3090} +% \CheckSum{3167} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -1169,18 +1169,27 @@ % and ensure printing in a single column. % % \begin{macrocode} -\newcommand\part{% - \cleardoublepage% - \thispagestyle{empty}% - \if@twocolumn% - \onecolumn% - \@tempswatrue% - \else% - \@tempswafalse% - \fi% - \hbox{}\vfil% - \secdef\@part\@spart% -} +\if@article + \newcommand\part{% + \if@noskipsec\leavevmode\fi\par% + \addvspace{4ex}% + \@afterindentfalse + \secdef\@part\@spart% + } +\else + \newcommand\part{% + \cleardoublepage% + \thispagestyle{empty}% + \if@twocolumn% + \onecolumn% + \@tempswatrue% + \else% + \@tempswafalse% + \fi% + \hbox{}\vfil% + \secdef\@part\@spart% + } +\fi % \end{macrocode} % % \begin{macro}{\@part} @@ -1191,26 +1200,47 @@ % |\@endpart| to do some common cleaning up. % % \begin{macrocode} -\def\@part[#1]#2{% - \ifnum\c@secnumdepth>-2\relax% - \refstepcounter{part}% - \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% - \else% - \addcontentsline{toc}{part}{#1}% - \fi% - \markboth{}{}% - \begin{centrepage}% - \centering% - \interlinepenalty\@M% - \reset@font% - \ifnum\c@secnumdepth>-2\relax% - \huge\bfseries\headfam\partname~\thepart% - \par% - \vskip20\p@ - \fi% - \normalfont\Huge\bfseries\headfam#2\par% - \@endpart% -} +\if@article + \def\@part[#1]#2{% + \ifnum\c@secnumdepth>\m@ne\relax% + \refstepcounter{part}% + \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% + \else% + \addcontentsline{toc}{part}{#1}% + \fi% + \begingroup% + \parindent\z@ \raggedright \interlinepenalty\@M% + \reset@font\bfseries\headfam% + \ifnum\c@secnumdepth>\m@ne% + \Large\partname\nobreakspace\thepart \par\nobreak% + \fi% + \huge #2% + \markboth{}{}\par% + \endgroup% + \nobreak \vskip3ex \@afterheading% + } +\else + \def\@part[#1]#2{% + \ifnum\c@secnumdepth>-2\relax% + \refstepcounter{part}% + \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% + \else% + \addcontentsline{toc}{part}{#1}% + \fi% + \markboth{}{}% + \begin{centrepage}% + \centering% + \interlinepenalty\@M% + \reset@font% + \ifnum\c@secnumdepth>-2\relax% + \huge\bfseries\headfam\partname~\thepart% + \par% + \vskip20\p@ + \fi% + \normalfont\Huge\bfseries\headfam#2\par% + \@endpart% + } +\fi % \end{macrocode} % \end{macro} % @@ -1221,14 +1251,26 @@ % |\@part|. % % \begin{macrocode} -\def\@spart#1{% - \begin{centrepage}% - \centering% - \interlinepenalty\@M% - \reset@font% - \normalfont\Huge\bfseries\headfam#1\par% - \@endpart% -} +\if@article + \def\@spart#1{% + \begingroup% + \parindent\z@ \raggedright \interlinepenalty\@M% + \reset@font\bfseries\headfam% + \huge #1% + \markboth{}{}\par% + \endgroup% + \nobreak \vskip3ex \@afterheading% + } +\else + \def\@spart#1{% + \begin{centrepage}% + \centering% + \interlinepenalty\@M% + \reset@font% + \normalfont\Huge\bfseries\headfam#1\par% + \@endpart% + } +\fi % \end{macrocode} % \end{macro} % -- 2.11.0