Tytu³y

Do dyspozycji mamy predefiniowane polecenia do tworzenia tytu³ów (numerowanych i nienumerowanych):
Tytu³y numerowane

\part[ref]{tekst}

ref okre¶la nazwê (etykietê) na któr± mo¿na siê powo³aæ. Nazw (etykiet) mo¿e byæ kilka, powinny byæ one oddzielone przecinkiem -- wszystkie mog± s³u¿yæ do powo³ania siê na ten tytu³ (warto¶ci± etykiety jest numer nag³ówka). tekst stanowi tre¶æ tytu³u; domy¶lnie, polecenie \part nie wyprowadza tre¶ci tytu³u (parametr placehead=no; p. poni¿ej o definiowaniu w³asno¶ci nag³ówków), ale nastêpuje przej¶cie do nowej strony (nieparzystej), strony dokumentu s± numerowane w obrêbie danej czê¶ci jako: numer czê¶ci-numer strony).

Wszystkie poni¿ej wymienione polecenia maj± analogiczn± sk³adniê.

\chapter[ref]{tekst}domy¶lnie, polecenie powoduje przej¶cie do nowej strony
\section[ref]{tekst}
\subsection[ref]{tekst}
\subsubsection[ref]{tekst}
Tytu³y nienumerowane
\title[ref]{tekst}
\subject[ref]{tekst}
\subsubject[ref]{tekst}
\subsubject[ref]{tekst}
\subsubsubject[ref]{tekst}

U¿ycie poleceñ nag³ówkowych

Sk³adnia poleceñ do tworzenia tytu³ów wygl±da nastêpuj±co:
\nazwa[etykiety]{warto¶æ licznika}{tre¶æ}
\nazwa{tre¶æ}
\nazwa{warto¶æ licznika}{tre¶æ}
gdzie:
etykiety -- nazwy, na które mo¿na powo³aæ siê (mo¿e byæ ich kilka, musz± byæ oddzielone przecinkiem),
tre¶æ -- tre¶æ tytu³u,
warto¶æ licznika -- a ¶ci¶lej tekst, który bêdzie podany zamiast w³a¶ciwego numeru dla danego nag³ówka -- nie ma nic wspólnego z warto¶ci± licznika (ale licznik tego poziomu zostanie zwiêkszony), parametr ten jest interpretowany w powy¿szy sposób tylko wtedy, gdy warto¶æ atrybutu ownnumber wynosi yes; w przeciwnym razie parametr jest traktowany jako tekst nag³ówka,
w tre¶ci tytu³u mo¿emy u¿yæ polecenia \nomarking{tekst}, które spowoduje, ¿e w nag³ówku lub stopce tekst zostanie zast±piony przez ... (trzy kropki).

W ConTeXt-cie nie ma obowi±zku zachowania kolejno¶ci poziomów; numer nag³ówka danego poziomu bêdzie zawiera³ jedynie wcze¶niej u¿yte poziomy.

Nale¿y pamiêtaæ, ¿e wygl±d nag³ówka mo¿e zale¿eæ od kontekstu w którym siê znajduje (np.: sposób numeracji: cyframi, kolejnymi literami, numeracja rzymska; dodatkowy tekst np.: Rozdzia³ lub Dodatek itp.) -- p. definiowanie w³asnych nag³ówków.

Tworzenie w³asnych tytu³ów na podstawie ju¿ istniej±cych

Do tworzenia w³asnych nag³ówków s³u¿y polecenie:
\definehead[nazwa][przodek]
nazwa jest nazw± nowego polecenia; w momencie tworzenia dziedziczone s± wszystkie cechy (równie¿ licznik) obiektu okre¶lonego jako przodek.

Tworzenie w³asnych nag³ówków

Postaæ polecenie \definehead mo¿e mieæ bardziej skomplikowan± postaæ:
\definehead[nazwa][definicje w³asno¶ci]
nazwa jest nazw± nowo tworzonego polecenia nag³ówkowego
definicje w³asno¶ci maj± nastêpuj±c± budowê: nazwa w³asno¶ci=warto¶æ
mo¿na definiowaæ jednocze¶nie kilka w³asno¶ci, poszczególne elementy musz± byæ oddzielone przecinkiem (,)
nazwa w³asno¶cidopuszczalne warto¶ci
section nazwa jest nazw± obiektu utworzonego poleceniem \definesection -- okre¶la po³o¿enie numeracji danego nag³ówka, a tym samym jego poziom w hierarchii
default nazwa jest nazw± obiektu utworzonego poleceniem \definehead (lub predefiniowanego) -- okre¶la z jakiego nag³ówka maj± byæ przejête cechy (wydaje siê, ¿e zdefiniowanie tej w³asno¶ci jest obowi±zkowe)

Zmiana w³asno¶ci nag³ówków

Do zmiany w³asno¶ci nag³ówków s³u¿y polecenie:
\setuphead[nazwy][definicje w³asno¶ci]
gdzie:
nazwy s± list± nazw nag³ówków (predefiniowanych lub utworzonych poleceniem \definehead) (elementy listy musz± byæ oddzielone przecinkiem),
natomiast definicje w³asno¶ci jest list± ni¿ej podanych atrybutów i ich warto¶ci (domy¶lne warto¶ci s± zaznaczone podkre¶leniem).

Zmianê w³asno¶ci wszystkich nag³ówków mo¿na zrealizowaæ za pomoc± polecenia (nie wszystkie w³asno¶ci mog± wyst±piæ na li¶cie polecenie \setupheads???):
\setupheads[definicje w³asno¶ci]
nazwa atrybutudopuszczalne warto¶ci
style atrybut definiuje font u¿yty do sk³adu nag³ówka np.:
normal -- antykwa,
bold -- wyt³uszczenie,
slanted -- pochylenie,
boldslanted -- wyt³uszczenie i pochylenie,
sc -- ,,smallcaps'',
type -- czcionka ,,maszynowa'',
cap -- wersaliki,
small -- zmniejszenie wielko¶ci
lub dowolne inne okre¶lenia zwi±zane ze zmian± rodzaju czcionki lub jej wielko¶ci
textstyle j.w. -- definicja okre¶la font u¿yty do sk³adu tekstu nag³ówka (,,przykrywa'' definicjê okre¶lon± atrybutem style)
numberstyle j.w. -- definicja okre¶la font u¿yty do sk³adu numeru nag³ówka (,,przykrywa'' definicjê okre¶lon± atrybutem style)
number
yes -- w³±cza numerowanie nag³ówków,
no -- wy³±cza numerowanie nag³ówków
ownnumber
yes -- pozwala na wstawienie w³asnego tekstu w polu numeracji nag³ówków, czyli na oznaczanie nag³ówków w nietypowy sposób (niezale¿ny od innych poziomów) (p. u¿ywanie poleceñ do tworzenia nag³ówków),
no -- wy³±czenie wy¿ej opisanej mo¿liwo¶ci
page
left -- powoduje zmianê strony przed nag³ówkiem, bêdzie on wyprowadzony na najbli¿sz± stronê parzyst± (tylko przy zadeklarowaniu druku dwustronnego),
right -- powoduje zmianê strony przed nag³ówkiem, bêdzie on wyprowadzony na najbli¿sz± stronê nieparzyst± (tylko przy zadeklarowaniu druku dwustronnego),
yes -- powoduje zmianê strony przed nag³ówkiem,
je¿eli atrybut nie ma nadanej warto¶ci (domy¶lnie) nie jest zmieniana strona przed nag³ówkiem (patrz te¿ opis nastêpnego atrybutu)
continue
yes -- je¿eli jest w³±czona zmiana strony przed nag³ówkiem (poprzedni atrybut) i na danej stronie znajduje siê nag³ówkiem wy¿szego poziomu, zmiana strony jest blokowana,
no -- je¿eli jest w³±czona zmiana strony przed nag³ówkiem (poprzedni atrybut) i na danej stronie znajduje siê tytu³ wy¿szego poziomu, to mimo to zmiana strony zstanie wykonana
header
none --nag³ówek strony nie pojawi siê,
empty --nag³ówek strony bêdzie pusty,
high -- ,
nomarking-- w nag³ówku strony nie pojawi siê tre¶æ tytu³u
before \command -- polecenie (bezparametrowe) jest wywo³ywane (o ile zosta³o zdefiniowane) bezpo¶rednio przed wyprowadzeniem ca³ego nag³ówka (obecno¶æ polecenia mo¿e mieæ wp³yw na to, ¿e zmiany warto¶ci atrybutu alternative zostan± zignorowane)
after\command -- polecenie (bezparametrowe) jest wywo³ywane (o ile zosta³o zdefiniowane) bezpo¶rednio po wyprowadzeniem ca³ego nag³ówka. Przyk³ad:
\setuphead[section][
before={\blank[3*big]},
after=\nowhitespace\hairline]

spowoduje dodanie dodatkowego odstêpu przed tytu³em rozdzia³u oraz poziomej linii oddzielaj±cej pod tytu³em. Jako poleceñ \command mo¿na u¿ywaæ w³asnych konstrukcji, nale¿y jednak podkre¶liæ, ¿e mog± one wp³ywaæ na dzia³anie innych atrybutów zmieniaj±cych sposób formatowania nag³ówka (np. alternative)
inbetween\command -- polecenie (bezparametrowe) jest wywo³ywane (o ile zosta³o zdefiniowane) bezpo¶rednio przed wyprowadzeniem ca³ego nag³ówka, a po poleceniu okre¶lonym przez atrybut before
alternative
normal -- o sk³adzie nag³ówka decyduj± inne atrybuty,
margin -- i
inmargin -- akceptowane tylko w przypadku kiedy warto¶æ atrybutu align jest ró¿na od left, a powoduj±, ¿e numer nag³ówka jest prezentowany na marginesie strony,
middle -- tekst nag³ówka jest centrowany (numer jest prezentowany w osobnej linii),
paragraph -- numer nag³ówka nie jest wyró¿niany; stanowi on normalny akapit z tekstem nag³ówka,
text -- nag³ówek jest sk³adany ,,w ci±gu'' ³±czy siê z tekstem przed i po, na ogólnych zasadach; zmiana warto¶ci atrybutu align jest ignorowana
command\command#1#2 -- je¿eli polecenie jest zdefiniowane, to jest ono wywo³ywane ka¿dorazowo przy wyprowadzaniu nag³ówka; za #1 jest podstawiany numer, a za #2 tre¶æ nag³ówka. Dziêki temu mamy nieograniczon± mo¿liwo¶æ wp³ywu na sk³ad nag³ówków.
numbercommand\command#1 -- je¿eli polecenie jest zdefiniowane, to jest ono wywo³ywane ka¿dorazowo przy wyprowadzaniu nag³ówka; za #1 jest podstawiany numer nag³ówka. Za pomoc± tej w³asno¶ci mo¿emy w ³atwy sposób spowodowaæ, aby po numerze by³a dostawiana kropka np.: \def\kropka#1{#1.}
\setupheads[numbercommand={\kropka}]
textcommand\command#1 -- j.w. ale za parametr podstawiany jest tekst nag³ówka
prefix
- -- ,
+ -- ,
text --
placehead
yes -- tekst ca³ego nag³ówka zostanie wyprowadzony na wyj¶cie,
no -- tekst nag³ówka nie zostanie wyprowadzony na wyj¶cie
incrementnumber
yes -- numery nag³ówków s± wyprowadzane na wyj¶cie,
no -- numery nag³ówków nie s± wyprowadzane na wyj¶cie,
file --
align
normal -- nag³ówek jest sk³adany w ,,pude³ko'' (z wyrównaniem do obu marginesów), chyba ¿e warto¶ci± atrybutu alternative jest middle,
left -- tekst nag³ówka jest wyrównywany do prawego marginesu,
right -- tekst nag³ówka jest wyrównywany do lewego marginesu,
broad--
tolerance warto¶æ parametru ma wp³yw na jako¶æ sk³adu nag³ówków i jest przek³adana na warto¶æ rejestru \tolerance oraz ma bli¿ej nieokre¶lony wp³yw na sk³ad w przypadku sk³adu wielokolumnowego
verystrict -- ,
strict -- ,
tolerant -- ,
verytolerant -- ,
stretch--
indentnext
yes -- powoduje, ¿e pierwszy akapit po nag³ówku bêdzie ,,wciêty'' (o ile warto¶æ wciêcia jest wiêksza od zera i zosta³o ono ustalone poleceniem \indenting na warto¶æ first),
no -- pierwszy akapit nie bêdzie mia³ ,,wciêcia'' bez wzglêdu na inne ustawienia
file nazwa -- w³asno¶æ pozwala na tworzenie ró¿nych wersji nag³ówka; w zale¿no¶ci od wcze¶niej zadeklarowanego skojarzenia (polecenie \coupledocument)
expansion
command--
yes -- ,
no --
separator tekst -- tekst (znak) staje siê separatorem liczb wchodz±cych w sk³ad numeru nag³ówka (w³asno¶æ mo¿e byæ zmieniona tylko poleceniem \setupheads)
bodypartlabel nazwa -- u¿ycie atrybutu spowoduje, ¿e numer nag³ówka bêdzie poprzedzony tekstem (mo¿e byæ pusty) przyporz±dkowanego obiektowi nazwa, powo³anemu poleceniem \setuplabeltext. Przyk³ad:
\setuplabeltext[
tytulrozdzialu=Rozdzia³~]
\setuphead[chapter]
bodypartlabel=tytulrozdzialu]
appendixlabel nazwa -- u¿ycie atrybutu spowoduje, ¿e numer nag³ówka bêdzie poprzedzony tekstem (mo¿e byæ pusty) przyporz±dkowanego obiektowi nazwa, powo³anemu poleceniem \setuplabeltext. Przyk³ad:
\setuplabeltext[
tytulrozdzialu=Dodatek~]
\setuphead[chapter]
bodypartlabel=tytulrozdzialu]


W³odzimierz Macewicz z pomoc± i udzia³em Grzegorza Sapijaszko