summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/secdot/secdot.sty
blob: a24ad83dcc0d5405cf9597a4e74e6d9ea67049dc (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
%  Define section numbers with dots
%
% Author: Robin Fairbairns (rf10@cl.cam.ac.uk)
%         first version, June 2000
%
%         version 2, July 2000, with a contribution from
%         Steve Grathwohl of Duke University
%
% This program may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.1
% of this license or (at your option) any later version.
% The latest version of this license is in
%   http://www.latex-project.org/lppl.txt
% and version 1.1 or later is part of all distributions of LaTeX 
% version 1999/06/01 or later.
%
% This program consists of the file secdot.sty
% documentation (such as it is) may be found after \endinput herein

\NeedsTeXFormat{LaTeX2e}% Seems to work with any version
\ProvidesPackage{secdot}[2000/06/20 v1.0 section numbers with dots]

% command to declare a particular section level to have a dot after
% its number
\newcommand\sectiondot[1]{%
  \expandafter\def\csname @seccntfmt@#1\endcsname##1{%
    \csname the##1\endcsname.\quad
  }
}

% do this by default for \section numbering
\sectiondot{section}

% generalised version: define that #2 comes after section level #1
\newcommand\sectionpunct[2]{%
  \expandafter\def\csname @seccntfmt@#1\endcsname##1{%
    \csname the##1\endcsname#2%
  }%
}

% the guts of the package: insert the dots where needed ... 
\renewcommand\@seccntformat[1]{\@ifundefined{@seccntfmt@#1}%
  {\csname the#1\endcsname\quad}% original default style
  {\csname @seccntfmt@#1\endcsname{#1}}%
}
\endinput

secdot.sty: section numbers with dots
=====================================

the package as loaded causes section numbers to be output with a dot
after them.

the command \sectiondot{<level>} will make `level' sections also be
output with a dot after them -- an example of use would be:
   \sectiondot{subsection}

the command \sectionpunct{<level>}{<punctuation>} gives finer
control.  examples of use would be
   \sectionpunct{section}{. } % \sectiondot places a \quad after the
                              % dot, which may look excessive
   \sectionpunct{section}{\quad} % restores default latex behaviour

other eccentricities of numbering could be coded by those with
stronger stomachs, by defining the appropriate

   \csname @seccntfmt@<level>\endcsname

which macro will take one argument, when invoked: the `level' name