summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/bsheaders/bsheaders.sty
blob: 3f60f753deba3372f2fe8bc186430a9de8f498dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
% Package: BSheaders.sty
%
% Sans-Serif headers, designed to mimic the chapter/section
% headers found in Bjarne Stroustrup's "The Design and
% Evolution of C++" (with minor changes).  Obtained
% modifying the original definitions in book.cls.
%
% Last change: MLO 1997-10-06 07:49 *****
%
% Author: Maurizio Loreti, aka MLO or (HAM) I3NOO
% Work:   University of Padova - Department of Physics
%         Via F. Marzolo, 8 - 35131 PADOVA - Italy
% EMail:  loreti@padova.infn.it
% WWW:    http://wwwcdf.pd.infn.it/~loreti/mlo.html

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{bsheaders}
  [1997/10/06 Chapter headers a la Bjarne Stroustrup]

\@ifundefined{@mainmatter}{\newif\if@mainmatter\@mainmattertrue}{}

\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{}{}%
    {\centering
     \interlinepenalty \@M
     \normalfont
     \ifnum \c@secnumdepth >-2\relax
       \huge \sffamily \bfseries \partname~\thepart
       \par
       \vskip 20\p@
     \fi
     \Huge \sffamily \bfseries #2\par}%
    \@endpart}

\def\@spart#1{%
    {\centering
     \interlinepenalty \@M
     \normalfont
     \Huge \sffamily \bfseries #1\par}%
    \@endpart}

\def\@makechapterhead#1{%
  \vspace*{60\p@}%
  {\hrule height0.25pt width\hsize\vspace*{1\p@}%
   \hrule height0.75pt width\hsize\vspace*{20\p@}%
   \parindent \z@ \raggedright \normalfont
   \ifnum \c@secnumdepth >\m@ne
     \if@mainmatter
       \huge \sffamily \bfseries \@chapapp\space \thechapter
       \par\nobreak
       \vskip 20\p@
     \fi
   \fi
   \interlinepenalty\@M
   \Huge \sffamily \bfseries #1\par\nobreak
   \vspace*{20\p@}%
   \hrule height0.75pt width\hsize\vspace*{1\p@}%
   \hrule height0.25pt width\hsize\nobreak%
   \vskip 48\p@
  }}

\def\@makeschapterhead#1{%
  \vspace*{60\p@}%
  {\hrule height0.25pt width\hsize\vspace*{1\p@}%
   \hrule height0.75pt width\hsize\vspace*{20\p@}%
   \parindent \z@ \raggedright
   \normalfont
   \interlinepenalty\@M
   \Huge \sffamily \bfseries #1\par\nobreak
   \vspace*{20\p@}%
   \hrule height0.75pt width\hsize\vspace*{1\p@}%
   \hrule height0.25pt width\hsize\nobreak%
   \vskip 48\p@
  }}

\renewcommand{\section}{\@startsection{section}{1}{\z@}%
             {-3.5ex \@plus -1ex \@minus -.2ex}%
             {2.3ex \@plus.2ex}%
             {\normalfont\Large\sffamily\bfseries}}

\renewcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
             {-3.25ex\@plus -1ex \@minus -.2ex}%
             {1.5ex \@plus .2ex}%
             {\normalfont\large\sffamily\bfseries}}

\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
             {-3.25ex\@plus -1ex \@minus -.2ex}%
             {1.5ex \@plus .2ex}%
             {\normalfont\normalsize\sffamily\bfseries}}

\renewcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
             {3.25ex \@plus1ex \@minus.2ex}%
             {-1em}%
             {\normalfont\normalsize\sffamily\bfseries}}

\renewcommand{\subparagraph}{\@startsection{subparagraph}{5}{\parindent}%
             {3.25ex \@plus1ex \@minus .2ex}%
             {-1em}%
             {\normalfont\normalsize\sffamily\bfseries}}
\endinput

%%
%% End of `BSheaders.sty'.