Jak vytváret odkazy

[  Odkazovací znacky  |  Jednoduché odkazy  |  Vlastní formát odkazu  |  Cítace |  Vlastní cítace ]

V textu, který má být na papíre, nelze pouzívat hypertextové odkazy, proto se odkazuje stylem "(viz kap. 3)" nebo "(blíze na obrázku 4. na str. 255)". Psát tato císla kapitol nebo stránek rucne není dobrý nápad, protoze takový dokument se potom spatne opravuje. Muze se stát, ze kousek textu dopísete a odkazovaný údaj se presune na dalsí stránku. Rucní opravování by bylo velmi pracné a nespolehlivé, proto LaTeX nabízí moznost propocítávat odkazy automaticky.

Odkazovací znacky

Aby se bylo na co odkazovat, musíme nejprve na vhodná místa v dokumentu vlozit pojmenované znacky. Pouzívá se k tomu príkaz \label:

\section{Záver} \label{sec:end}
Programování této úlohy se mi velmi líbilo...

Tento príkaz lze pouzít v témer libovolném míste dokumentu. Jde pouze o znacku pro potreby LaTeXu, a v sázeném textu pouzití tohoto príkazu nijak neprojeví. Jejím parametrem je libovolný text, který dále slouzí pro vlastní odkazování. Je dobré si zvyknout vytváret jména znacek strukturovane. Osobne pouzívám predpony sec: pro oznacení sekcí, fig: pro oznacení obrázku, tab: pro tabulky, a podobne pro ostatní odkazovatelné objekty. Tento zpusob oznacování odkazu ulehcuje práci v nekterých chytrých editorech (napr. Kile), které umí v pravou chvíli nabídnout seznam vsech vytvorených znacek v menu.

Jednoduché odkazy

Existují dva základní údaje, které lze zobrazit jako odkaz - císlo svázané s nekterým z cítacu (cítace kapitol, obrázku, tabulek, ...) nebo císlo stránky. Hodnota príslusného cítace se zobrazuje pomocí príkazu \ref. Zobrazení císla stránky, na které se nachází odkazovaná znacka, se provádí príkazem \pageref.

Dalsí údaje budou popsány v sekci \ref{sec:end}
na strane \pageref{sec:end}.

Vlastní formát odkazu

Nekdy je dobré mít v dokumentu urcité typy odkazu ve stejném tvaru. Obcas mi príjde jako dobrý nápad mít u kazdého odkazu na obrázek i údaj o tom, na které stránce se nachází. Vytvoril jsem si proto nový príkaz:

\newcommand{\obrazek}[1]{(viz obr. \ref{#1}/s\pageref{#1})}

Tento príkaz se pouzívá naprosto stejne jako príkaz \ref.

Trojúhelník se souctem úhlu vetsím nez 180° lze 
nakreslit napríklad na sférické plose \obrazek{sec:end}.

Cítace

V LaTeXových dokumentech jsou standardne pouzívány tyto cítace:

part paragraph figure enumi
chapter subparagraph table enumii
section page footnote enumiii
subsection equation mpfootnote enumiv
subsubsection 

Názvy cítacu vetsinou odpovídají názvum jednotlivých císlovaných prostredí, pouze se nepísí s pocátecním lomítkem. Pro práci s cítaci existuje nekolik príkazu, které se hodí spíse pro definici nových príkazu.

V nekterých dokumentech se obcas hodí nekterý z cítacu vynulovat. Napríklad pokud chci zacít s císlováním stránek od první kapitoly, delám to takto:

\setcounter{page}{1}   % nastaví cítac stránek znovu od jedné
\pagenumbering{arabic} % císlování arabskými císlicemi

Blíze viz kapitolu o císlování stránek. Podobne muze mít obcas smysl císlovat obrázky ci tabulky od jednicky v rámci kazdé kapitoly.

Vlastní cítace

Obcas se stane, ze príkazy a prostredí, které jsou standardne v LaTeXu k dispozici nestací a musíme si definovat vlastní pomocí príkazu \newcommand a \newenvironment. Casto tyto nové príkazy a prostredí potrebujeme císlovat jako napr. nový typ nadpisu, vlastní výcet, císlované prostredí ve stylu theorem, atd. Pro tyto prílezitosti se hodí vedet, jak vytvorit vlastní cítac a jak donutit LaTeX, aby jej vypisoval, podle nasich pozadavku.

Nový cítac se vytvorí pomocí príkazu \newcounter{jméno}[cítac]. Jméno nového cítace musí být unikátní, to znamená, ze se nesmí krýt s jiným cítacem nebo príkazem. Druhý nepovinný parametr urcuje, kdy dojde k resetování naseho cítace. Dojde k tomu vzdy, kdyz dojde ke zmene tohoto cítace. Pokud zde uvedeme napríklad section, potom se nás nový cítac resetuje v kazdé nové sekci. Cítac je po vytvorení vzdy resetován na hodnotu 1. To lze zmenit pomocí príkazu \setcounter{cítac}{hodnota}.

LaTeX pro kazdý cítac automaticky vytvárí príkaz, pomocí kterého tiskne jeho hodnotu. Tento príkaz má vzdy tvar \thejméno_cítace, pricemz za jméno_cítace muzeme dosadit nás nový cítac nebo standardní cítace vyjmenované výse. Pokud chceme zmenit zpusob vypisování naseho cítace, musíme tento príkaz zmenit pomocí renewcommand. Pro zmenu stylu tisku cítace muzeme vyuzít jeden z peti príkazu \alph{cítac}, \Alph{cítac}, \arabic{cítac}, \roman{cítac} a \Roman{cítac}, které tisknou cítac bud jako malé písmeno (a, b, c, ...), velké písmeno (A, B, C, ...), arabskou císlici (1, 2, 3, ...), rímskou císlici malými písmeny (i, ii, iii, iv, ...) nebo rímskou císlici velkými písmeny (I, II, III, IV, ...).

V jednom svém textu jsem potreboval vytvorit nové prostredí pro axiomy, které budou císlovány jako M1, M2, M3, atd. Prostredí theorem se mi na to nehodilo, proto jsem si vytvoril nové prostredí takto:

\newcounter{axiomcounter}[section]
\renewcommand{\theaxiomcounter}{A\arabic{axiomcounter}}
\newtheorem{axiom}[axiomcounter]{Axiom}

Nové prostredí axiom má vlastní cítac axiomcounter, který se resetuje s kazdou novou sekcí. Zde je ukázka pouzití:

\begin{axiom}[Hranicní podmínka]\label{axiom:hranicnipodminka}
Nelze jít dále nez k hranici.
\end{axiom}

\begin{axiom}[Preshranicní podmínka]\label{axiom:preshranicni}
Dostane-li se nekdo za hranici, prestává být obcanem tábora míru.
\end{axiom}

Axiom \ref{axiom:hranicnipodminka} je pekný vopruz!

Výsledek pak vypadá takto:

Axiomy

Autor: David Martinek. Poslední modifikace: 6. March 2008. Pokud v tomto dokumentu narazíte na chybu, dejte mi prosím vedet.