summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-seccntfmt.html
blob: dcc22ebb0af548398a4d21519530c188472c67c5 (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
<head>
<title>UK TeX FAQ -- question label seccntfmt</title>
</head><body>
<h3>Adjusting the presentation of section numbers</h3>
<p/>The general issues of adjusting the appearance of section headings are
pretty complex, and are covered in 
the question on
<a href="FAQ-secthead.html">the style of section headings</a>.
<p/>However, people regularly want merely to change the way the section
number appears in the heading, and some such people don&#8217;t mind writing
out a few macros.  This answer is for <em>them</em>.
<p/>The section number is typeset using the

  <a href="FAQ-atsigns.html">LaTeX internal</a>
<code>\</code><code>@seccntformat</code> command, which is given the &#8220;name&#8221; (section,
subsection, &#8230;) of the heading, as argument.  Ordinarily,
<code>\</code><code>@seccntformat</code> 
merely outputs the section number, and then a <code>\</code><code>quad</code> of space:
<blockquote>
<pre>
\renewcommand*{\@seccntformat}[1]{%
  \csname the#1\endcsname\quad
}
</pre>
</blockquote><p>
Suppose you want to put a stop after every section (subsection,
subsubsection, &#8230;) number, a trivial change may be implemented by
simple modification of the command:
<blockquote>
<pre>
\renewcommand*{\@seccntformat}[1]{%
  \csname the#1\endcsname.\quad
}
</pre>
</blockquote><p>
However, many people want to modify section numbers, but not
subsection numbers, or any of the others.  To do this, one must make
<code>\</code><code>@seccntformat</code> switch according to its argument.  The following
technique for doing the job is slightly wasteful, but is efficient
enough for a relatively rare operation:
<blockquote>
<pre>
\renewcommand*{\@seccntformat}[1]{%
  \csname the#1\endcsname
  \csname adddot@#1\endcsname\quad
}
</pre>
</blockquote><p>
which uses a second-level command to provide the dot, if it has been
defined; otherwise it merely appends <code>\</code><code>relax</code> (which does nothing
in this context).  The definition of the second-level command (the
version for the <code>section</code>, here) specifies what to put after a
section number, but it could be used to put anything after it:
<blockquote>
<pre>
\newcommand*{\adddot@section}{.}
</pre>
</blockquote><p>
Note that all the command definitions above are dealing in
<a href="FAQ-atsigns.html">LaTeX internal commands</a>, so the above
code should be in a package file, for preference.
<p/>The <i>Koma-script</i> classes have different commands for specifying
changes to section number presentation: <code>\</code><code>partformat</code>,
<code>\</code><code>chapterformat</code> and <code>\</code><code>othersectionlevelsformat</code>, but otherwise
their facilities are similar to those of &#8220;raw&#8221; LaTeX.
<dl>
<dt><tt><i>KOMA script bundle</i></tt><dd><a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script.zip">macros/latex/contrib/koma-script</a> (or <a href="http://www.tex.ac.uk/tex-archive/macros/latex/contrib/koma-script/">browse the directory</a>)
</dl>
<p/><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=seccntfmt">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=seccntfmt</a>
</body>