diff options
Diffstat (limited to 'info/tex-virtual-academy-pl/latex2e/tytuly/s.html')
-rw-r--r-- | info/tex-virtual-academy-pl/latex2e/tytuly/s.html | 383 |
1 files changed, 383 insertions, 0 deletions
diff --git a/info/tex-virtual-academy-pl/latex2e/tytuly/s.html b/info/tex-virtual-academy-pl/latex2e/tytuly/s.html new file mode 100644 index 0000000000..1b7a1abf7b --- /dev/null +++ b/info/tex-virtual-academy-pl/latex2e/tytuly/s.html @@ -0,0 +1,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> <a href=#spis>Tytuły, a spis treści</a><br> +<dd> <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> </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> }</code></b> +<dd> wstawienie tytułu; zostanie również + zdefiniowana pagina o tej samej treści oraz <i>tytuł</i> zostanie + wstawiony do spisu treści +<dt><b><code>\section[<i>skrót</i> ]{<i>tytuł</i> }</code></b> +<dd><i>tytuł</i> zostanie umieszczony w tekście, a + <i>skrót</i> określi treść paginy i zawartość + spisu treści<sup><a href=#fn1>1</a></sup>, +<dt><b><code>\section*{<i>tytuł</i> }</code></b> +<dd><i>tytuł</i> 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. <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 }{3 } +</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> }</code> +<dt><code>\sectionmark{<i>tytuł</i> }</code> +<dt><code>\subsectionmark{<i>tytuł</i> }</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 }{3 } +</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 } +</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> }</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 }[1]{\csname the#1\endcsname\quad } +\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 }{\fbox{\thechapter.\arabic{section }}} +\section{Definicja błędna }\label{blad } + +Powołanie się na numer podrozdziału~\ref{blad }, daje właśnie taki efekt. +</pre> + +<img src=p1.gif width=420 height=124> + + +<pre> +\makeatletter +\renewcommand{\@seccntformat }[1]{\fbox{\csname the#1\endcsname }\quad} +\makeatother + +\section{Definicja poprawna }\label{dobrze } + +W tym przypadku powołanie się na podrozdział~\ref{dobrze } 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 }[1]{\fbox{\csname the#1\endcsname }.\quad } +\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> }{<i>poziom</i> }{<i>wcięcie</i> }{<i>odległość przed</i> }{<i>odległość po</i> }{<i>jak prezentować</i> } +</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> </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> </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> }</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> |