summaryrefslogtreecommitdiff
path: root/info/tex-virtual-academy-pl/latex2e/tytuly/s.html
blob: 1b7a1abf7bea7e67d6efce7759129ee056dfb6b9 (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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
<meta http-equiv="Content-language" content="pl">
<meta name="Author" content="W³odzimierz Macewicz">
<title> Tytu³y w dokumencie</title>
</head>
<body bgcolor=#a0f0a0>


<p align="center"> <big><b>Spis tre¶ci</b></big></p>
<i></i><p>
<i></i><p>
<i></i><p>
<b><a href=#main>Tytu³y w dokumencie</a></b><br>
<dd><b><a href=#polecenia>U¿ycie standardowych poleceñ prezentuj±cych tytu³y</a></b><br>
<dd>&nbsp;&nbsp;&nbsp;&nbsp;<a href=#spis>Tytu³y, a spis tre¶ci</a><br>
<dd>&nbsp;&nbsp;&nbsp;&nbsp;<a href=#pagina>Tytu³y, a pagina</a><br>
<dd><b><a href=#numerowanie>Numerowanie tytu³ów</a></b><br>
<dd><b><a href=#definiowanie>Definiowanie tytu³u</a></b><br>
<dd><b><a href=#przyklady>Przyk³ady</a></b><br>
<hr>

<h2><a name=main>Tytu³y w dokumencie</a></h2>
W LaTeX-u mamy do dyspozycji szereg poleceñ s³u¿±cych do
tytu³owania czê¶ci dokumentu na ró¿nych poziomach hierarchii:

<p>
<table>
<tr><td valign=top>
<table border>
<caption> dla klasy <code>article</code></caption>
<tr> <th>poziom </th> <th> <code>nazwa</code>          </th> </tr>
<tr> <td> 0     </td> <td> <code>part</code>           </td> </tr>
<tr> <td> 1     </td> <td> <code>section</code>        </td> </tr>
<tr> <td> 2     </td> <td> <code>subsection</code>     </td> </tr>
<tr> <td> 3     </td> <td> <code>subsubsection</code>  </td> </tr>
<tr> <td> 4     </td> <td> <code>paragraph</code>      </td> </tr>
<tr> <td> 5     </td> <td> <code>subparagraph</code>   </td> </tr>
</table></td><td>&nbsp;&nbsp;&nbsp;</td>
<td valign=top>
<table border>
<caption> dla klasy <code>report</code> i <code>book</code></caption>
<tr> <th>poziom </th>  <th> nazwa         </th> </tr>
<tr> <td> -1    </td>  <td> <code>part</code>          </td> </tr>
<tr> <td> 0     </td>  <td> <code>chapter</code>       </td> </tr>
<tr> <td> 1     </td>  <td> <code>section</code>       </td> </tr>
<tr> <td> 2     </td>  <td> <code>subsection</code>    </td> </tr>
<tr> <td> 3     </td>  <td> <code>subsubsection</code> </td> </tr>
<tr> <td> 4     </td>  <td> <code>paragraph</code>     </td> </tr>
<tr> <td> 5     </td>  <td> <code>subparagraph</code>  </td> </tr>
</table></td></tr>
</table>

<p> wszystkie polecenia wywo³ujemy w jednakowy sposób, ale
polecenia <a href=part.html><code>\part</code></a> i 
<a href=chapter.html><code>\chapter</code></a> s± definiowane
<b>inaczej</b> ni¿ pozosta³e. Do definiowania poleceñ
<code>\section</code>,
<code>\subsection</code>,
<code>\subsubsection</code>,
<code>\paragraph</code>,
<code>\subparagraph</code> s³u¿y jedna uniwersalna konstrukcja
(<a href=#start><code>\startsection</code></a>). Wszelkie zmiany w tej
konstrukcji maj± oczywi¶cie wp³yw na wygl±d <b>wszystkich</b> 
definiowanych w ten sposób tytu³ów.

<p>Definicja makroinstrukcji ,,tytu³owej'' 
przy pomocy konstrukcji <code>\startsection</code>
jest sparametryzowana, tak wiêc w momencie jej <a href=#definiowanie>definiowania</a>
mamy du¿y wp³yw na jej dzia³anie.


<h3><a name=polecenia>U¿ycie standardowych poleceñ prezentuj±cych tytu³y</a></h3>

Wywo³anie poleceñ pokazane jest na przyk³adzie polecenia <code>\section</code>
<dl>
<dt><b><code>\section{<i>tytu³</i>&nbsp;}</code></b>
<dd> wstawienie tytu³u; zostanie równie¿
    zdefiniowana pagina o tej samej tre¶ci oraz <i>tytu³</i>&nbsp; zostanie
    wstawiony do spisu tre¶ci
<dt><b><code>\section[<i>skrót</i>&nbsp;]{<i>tytu³</i>&nbsp;}</code></b>
<dd><i>tytu³</i>&nbsp; zostanie umieszczony w tek¶cie, a
    <i>skrót</i>&nbsp; okre¶li tre¶æ paginy i zawarto¶æ
    spisu tre¶ci<sup><a href=#fn1>1</a></sup>,
<dt><b><code>\section*{<i>tytu³</i>&nbsp;}</code></b>
<dd><i>tytu³</i>&nbsp; zostanie umieszczony w tek¶cie. Nie zostanie 
    zdefiniowana
    nowa pagina, i <i>tytu³</i> nie zostanie wprowadzony do spisu tre¶ci.
</dl>

Konstrukcja makropoleceñ gwarantuje, aby tekst nastêpuj±cy po
tytule nie znalaz³ sie na nastêpnej stronie (bêdzie on zawsze do
niego ,,przyklejony''), nie mo¿e równie¿ 
nast±piæ prze³amanie strony wewn±trz tytu³u.


<h2><a name=spis>Tytu³y, a spis tre¶ci</a></h2>
O tym czy tytu³ znajdzie siê w spisie tre¶ci decyduje parametr
<small><pre>
tocdepth
</pre></small>

Wszystkie tytu³y o <a href=poziom.html>numerze</a> <a href=#start>poziomu</a> mniejszym lub równym 
<code>tocdepth</code> (stoj±ce wy¿ej w hierarchii)
bêd± wprowadzane do spisu tre¶ci (oczywi¶cie o tym czy spis tre¶ci
bêdzie do³±czony do dokumentu decyduje inny parametr 
p.&nbsp;<a href=../spisy/spis.html>budowa zestawieñ</a>)

Warto¶æ parametru <code>tocdepth</code> mo¿emy zmieniæ w nastêpuj±cy sposób:
<small><pre>
\setcounter{tocdepth&nbsp;}{3&nbsp;}
</pre></small>


<h2><a name=pagina>Tytu³y, a pagina</a></h2>

W przypadku klasy <code>article</code> polecenia <code>\section</code>
i <code>\subsection</code> definiuj± równie¿ paginê odpowienio:
<code>\section</code> na stronie lewej (parzystej), kasuj±c
paginê na stronie prawej i 
<code>\subsection</code> na stronie prawej (nieparzystej). W przypadku
klas <code>report</code> i <code>book</code> polecenie
<code>\chapter</code> definiuje paginê na stronie lewej (parzystej),
kasuj±c paginê na stronie prawej, a 
<code>\section</code> na prawej (nieparzystej). Pagina na stronie
lewej jest definiowana przez <b>pierwsze</b> wyst±pienie
odpowiedniego tytu³u na stronie (lub wynika ona 
tytuu wcze¶niejszego),
natomiast pagina na stronie prawej -- przez <b>ostatnie</b>
wyst±pienie odpowiedniego tytu³u.

<p>
Definiowanie paginy odbywa siê przez wywo³anie wewn±trz
makroinstrukcji:
<small><dl>
<dt><code>\chaptermark{<i>tytu³</i>&nbsp;}</code>
<dt><code>\sectionmark{<i>tytu³</i>&nbsp;}</code>
<dt><code>\subsectionmark{<i>tytu³</i>&nbsp;}</code>
</dl></small>
zmieniaj±c definicjê tych makropoleceñ mo¿emy mieæ wp³yw
na postaæ paginy (o zasadach tworzenia paginy, nag³ówka i
stopki mo¿esz przeczyta? w artykule o <a href=../pagina/pagina.html>paginie</a>).

<h3><a name=numerowanie>Numerowanie tytu³ów</a></h3>

Zwykle tytu³y w tek¶cie s± numerowane. Standardowo numer
danego poziomu zawiera w sobie numer wy¿szego poziomu.

<p>
O tym czy tytu³ bêdzie opatrzony numerem decyduje jego <a href=#start>poziom</a>
oraz warto¶æ parametru:
<small><pre>
secnumdepth
</pre></small>
Wszystkie tytu³y o <a href=poziom.html>numerze</a> <a href=#start>poziomu</a> 
mniejszym
lub równym (stoj±ce wy¿ej w hierarchii) bêd± opatrzone numerem.

Warto¶æ parametru <code>secnumdepth</code> mo¿emy zmieniæ w nastêpuj±cy sposób:
<small><pre>
\setcounter{secnumdepth&nbsp;}{3&nbsp;}
</pre></small>


<p>Ka¿demu poziomowi odpowiada <a href=liczniki.html>licznik numeruj±cy</a> 
kolejne wyst±pienia tytu³ów. S± one zdefiniowane tak, ¿e zmiana numeru
na wy¿szym poziomie inicjuje wszystkie liczniki ni¿szych poziomów.


<p>
<b>Uwaga:</b><br>
Polecenie <a href=part.html><code>\part</code></a> nie powoduje inicjowania
liczników podrzêdnych. Polecenia <a href=part.html><code>\part</code></a> i 
<a href=chapter.html><code>\chapter</code></a>
s± definiowane inaczej ni¿ wszystkie pozosta³e tytu³y.

<p>Numery tytu³ów s± prezentowane za pomoc± nastêpuj±cych
makroinstrukcji:
<pre>
<a href=num.html#thepart>\thepart</a>
<a href=num.html#thechapter>\thechapter</a>
<a href=num.html#thesection>\thesection</a>
<a href=num.html#thesubsection>\thesubsection</a>
<a href=num.html#thesubsubsectio>\thesubsubsection</a>
<a href=num.html#theparagraph>\theparagraph</a>
<a href=num.html#thesubparagraph>\thesubparagraph</a>
</pre>

Np. polecenie:
<small>
<pre>
\renewcommand\thesection{\thechapter.\@arabic\c@section&nbsp;}
</pre>
</small>
definiuje makroinstrukcjê <code>\thesection</code>
jako z³o¿enie: <br>
polecenia <code>\thechapter.</code> i prezentacji licznika
podrozdzia³ów (section) jako liczby w notacji 
arabskiej<sup><a href=#fn2>2</a></sup>.

<p> Tak zdefiniowany numer jest wprowadzany do spisu tre¶ci,
paginy i jako warto¶æ ew. etykiety zaznaczaj±cej tytu³ (pojawi
siê w  odwo³aniu zamiast <code>\ref{<i>etykieta</i>&nbsp;}</code>). 

<p> W poleceniach tych okre¶lamy jedynie z czego ma siê sk³adaæ
numer oraz w jaki sposób ma byæ 
<a href=count.html#visual>prezentowana warto¶æ licznika</a>.


<p> W LaTeX<small>2e</small> przewidziano mo¿liwo¶æ zmiany
wygl±du numeru (inna czcionka, kropka
po numerze, efekty dodatkowe); wewn±trz konstrukcji definiuj±cej wywo³ywana 
jest makroinstrukcja <code>\@seccntformat</code>, której
parametrem jest nazwa tytu³u (<code>section</code>, 
<code>subsection</code> ...):<br>
<p>Standardowo jej definicja wygl±da  nastêpuj±co:
<small>
<pre>
\makeatletter
\renewcommand{\@seccntformat&nbsp;}[1]{\csname the#1\endcsname\quad&nbsp;}
\makeatother
</pre>
</small>
wstawia ona dodatkowe
¶wiat³o miêdzy numerem, a samym tytu³em (<code>\quad</code>).

<p><b>Przyk³ad:</b></br>
<small>
<pre>
\renewcommand{\thesection&nbsp;}{\fbox{\thechapter.\arabic{section&nbsp;}}}
\section{Definicja b³êdna&nbsp;}\label{blad&nbsp;}

Powo³anie siê na numer podrozdzia³u~\ref{blad&nbsp;}, daje w³a¶nie taki efekt.
</pre>

<img src=p1.gif width=420 height=124>


<pre>
\makeatletter
\renewcommand{\@seccntformat&nbsp;}[1]{\fbox{\csname the#1\endcsname&nbsp;}\quad}
\makeatother

\section{Definicja poprawna&nbsp;}\label{dobrze&nbsp;}

W tym przypadku powo³anie siê na podrozdzia³~\ref{dobrze&nbsp;} daje
poprawny efekt.
</pre>
</small>

<img src=p2.gif width=410 height=141>

<p>
Polecenie <code>\@seccntformat</code> ma wp³yw na prezentacjê
numeru tytu³ów poleceñ: <code>\section</code>, <code>\subsection</code>,
<code>\subsubsection</code>,
<code>\paragraph</code> i
<code>\subparagraph</code>.

<p>
Przy pomocy tej makroinstrukcji mo¿emy zaspokoiæ wymagania
polskich wydawców, czyli umie¶ciæ kropkê po ostatniej
cyfrze numeru;
poni¿sza konstrukcja za³atwia ten problem.
<small>
<pre>
\makeatletter
\renewcommand{\@seccntformat&nbsp;}[1]{\fbox{\csname the#1\endcsname&nbsp;}.\quad&nbsp;}
\makeatother
</pre>
</small>


<h3><a name=definiowanie>Definiowane tytu³u</a></h3>

Makropolecenia prezentuj±ce tytu³y:  <code>\section</code>,
<code>\subsection</code>,
<code>\subsubsection</code>,
<code>\paragraph</code> i
<code>\subparagraph</code>
s± definiowane poleceniem
<small>
<pre>
<a name=start> </a><a href=sect.html>\@startsection</a>{<i>nazwa</i>&nbsp;}{<i>poziom</i>&nbsp;}{<i>wciêcie</i>&nbsp;}{<i>odleg³o¶æ przed</i>&nbsp;}{<i>odleg³o¶æ po</i>&nbsp;}{<i>jak prezentowaæ</i>&nbsp;}
</pre>
</small>

<dl>
<dt><b><i>nazwa</i></b>
<dd>nazwa polecenia np: <code>section</code> (nie mo¿e to byæ <code>part</code>
                                        ani <code>chapter</code>)



<dt><b><i>poziom</i></b>
<dd>okre¶la poziom tytu³u; jest porównywany z parametrami
                         <code>\secnumdepth</code> i
                        <code>\tocdepth</code> -- wp³ywa na umieszczenie
                        w spisie tre¶ci i numerowanie tytu³ów


<dt><b><i>wciêcie</i></b>
<dd>okre¶la odleg³o¶æ pierwszego znaku tytu³u od <a href=p3.html>lewego
                    marginesu</a>, je¿eli jest to warto¶æ 
                    <a href=p4.html>ujemna</a> tytu³ zacznie siê na lewo od 
                    normalnej granicy tekstu (marginesu), nastêpne linie tytu³u
                    bêd± zaczyna³y siê od lewego marginesu


<dt><b><i>odleg³o¶æ przed</i></b>
<dd>okre¶la odleg³o¶æ przed tytu³em; mo¿e
            mieæ zdefiniowany skurcz (shrink) i rozci±g (strech). Je¿eli 
            warto¶æ parametru jest <a href=p3.html>ujemna</a> to brana jest 
            warto¶æ bezwzglêdna, ale pierwszy akapit po tytule nie bêdzie 
            wciêty (zacznie siê od lewego marginesu). Jest to standardowy 
            sposób definiowania -- w³a¶ciwy dla publikacji anglojêzycznych. 
            Je¿eli warto¶æ jest dodatnia
            to pierwszy akapit po tytule bêdzie <a href=p6.html>wciêty</a> na 
            odleg³o¶æ <code>\parindent</code>.


<dt><b><i>odleg³o¶æ po</i></b>
<dd>okre¶la odleg³o¶æ do najbli¿szego akapitu po <a href=p3.html>tytule</a>; 
        je¿eli warto¶æ jest ujemna to tekst po tytule traktowany jest jako 
        dalszy ci±g <a href=p5.html>akapitu</a> zawieraj±cego tytu³, a warto¶æ 
        bezwzglêdna parametru okre¶la odleg³o¶æ w poziomie miêdzy koñcem 
        tytu³u, a dalsz± czê¶ci± tekstu, powoduj±c jednocze¶nie, ¿e tekst 
        tytu³u nie bêdzie ³amany z dodatkowym lewym marginesem uwzglêdniaj±cym
        naturaln± szeroko¶æ numeru tytu³u (tak naprawdê szeroko¶æ
        obiektu okre¶lonego poleceniem <code>\@seccntformat</code>).
<dt><i>jak prezentowaæ</i>
<dd>zestaw poleceñ zmieniaj±cych krój pisma, wielko¶æ czcionki
            sposób formatowania itp.<br>
np.<br>
<small>
<pre>
<a href=p7.html>\normalfont\Large\sffamily\bfseries\itshape</a>
</pre></small>
</dl>



<h3><a name=przyklady>Przyk³ady</a></h3>

<ol>
<li> <a href=tc.html> tytu³ centrowany</a>
<li> <a href=tl.html> tytu³ dosuniêty do lewego marginesu</a>
<li> <a href=txx.html> tytu³ dosuniêty do lewego marginesu
                      bez efektu ,,etykiety''</a>
<li> <a href=tr.html> tytu³ dosuniêty do prawego marginesu</a>
<li> <a href=tx.html> tytu³ z numerem na lewym marginesie</a>
</ol>




<p>

<small>
<hr align="left" width=20%>
<sup><a name=fn1>1</a>&nbsp;</sup>Z tak± strategi± mo¿na by polemizowaæ,
moim zdaniem do spisu tre¶ci powinno byæ wstawione
pe³ne brzmienie tytu³u. Natomiast tekst zawarty
w nawiasach <code>[]</code>, je¿eli wyst±pi, powinien
definiowaæ paginê -- czêsto zdarza siê, ¿e tytu³ w pe³nym brzmieniu
jest zbyt d³ugi.

<hr align="left" width=20%>

<sup><a name=fn2>2</a>&nbsp;</sup>polecenie 
<code>\@arabic</code> jest poleceniem ni¿szej warstwy i operuje
na TeX-owej nazwie licznika; polecenie LaTeX<small>2e</small>
<code>\newcounter{<i>licznik</i>&nbsp;}</code> definiuje
TeX-ow± nazwê licznika jako <code>\c@<i>licznik</i></code>
</small>

<hr>
<em>W³odzimierz Macewicz</em><br clear=all>
<hr>
</body>
</html>