Doporučení pro sazbu textů v rámci grantu G0142 RNDr. Roman Plch, Ph.D. Jan Holeček Poslední změna: 18. 11. 2002 Jedním z cílů grantu G0142 je vytvoření hypertextových učebních textů v elek- tronické podobě. Jako cílový formát byl zvolen Adobe PDF, pro sazbu doporu- čujeme systém LATEX s využitím maker AMS-TEXu k sazbě matematiky. Protože zdrojové texty budou psány různými autory, z nichž většina nemá zkušenosti s tvor- bou hypertextových dokumentů, je pro další zpracování nezbytné sjednotit formát zdrojových textů a upozornit na ty konstrukce LATEXu, které je, nebo naopak není vhodné používat s ohledem na budoucí hypertextovou strukturu dokumentu. To je cílem tohoto textu. V případě jakýchkoli nejasností, problémů a otázek kontaktujte pana Jana Holečka na emailové adrese xholecek@informatics.muni.cz. 1 Tvorba PDF dokumentů systémem LATEX Zde uvedený postup je platný pro počítač bart.math.muni.cz, měl by však být použitelný na libovolném systému, na němž je nainstalován TEXLive 6. Oba postupy vedou k výsledkům, které jsou vzhledově nerozlišitelné, druhý z nich obvykle generuje menší soubor a je rychlejší. 1.1 Vytváření přes PostScript Toto je klasický způsob vytváření dokumentů pomocí LATEXu, veškerá práce se zdrojovým textem i obrázky je stejná jako při vytváření dokumentů v PostScriptu. Dokument ve formátu PDF vytvoří následující příkazy Distanční a kombinovaná forma bakalářského a magisterského studia aplikovaných matema- tických disciplín na MU v Brně plch@math.muni.cz xholecek@informatics.muni.cz 1 cslatex soubor.tex dvips soubor.dvi ps2pdf soubor.ps Program cslatex vytvoří ze zdrojového textu LATEXu soubor ve formátu DVI, ten je programem dvips převeden do formátu PostScript a programem ps2pdf do formátu PDF. 1.2 Přímé vytvoření PDF Pro přímé vytvoření PDF dokumentu ze zdrojového kódu LATEXu lze použít pdfcslatex. Příkaz pdfcslatex soubor.tex vytvoří soubor.pdf. 2 Celková struktura Učební texty budou sázeny systémem LATEX s využitím maker AMS-TEXu. Do- poručujeme používat třídu report, případně book, je-li autorem vyžadována struktura knihy. Načtení všech balíků potřebných pro sazbu a všechna nastavení obsahuje balík grant. Textům bude při finální sazbě vtisknuta jednotná typogra- fie, je proto žádoucí, aby byly texty od začátku vytvářeny při stejných nastaveních. To zaručí právě balík grant. Hlavička textů tedy bude mít tvar (o dělení slov a vlastních makrech jednotlivých autorů viz níže) \documentclass[12pt,a4paper]{report} \usepackage{grant} % definice vlastních maker jednotlivých autorů \newcommand{\novyprikaz}{nový příkaz} ... \begin{document} % vzory pro dělení slov \hyphenation{dě-le-ní slov} ... 2 % vlastní dokument ... \end{document} V době tvorby tohoto textu obsahoval balík grant následující: % načtení Times fontů, včetně matematických \usepackage{times} \usepackage[mtbold,mtplusscr,mtpluscal]{mathtime} % načtení maker AMS-TeXu \usepackage{amsmath,amssymb,amsthm} % umožnění hypertextových odkazů \usepackage[bookmarks=false,pdfborder=0 0 0]{hyperref} % podpora vkládání obrázků \usepackage{graphics} % načtení českých nastavení \usepackage{czech} % definice pro některá loga (viz zdrojový kód balíku) ... Aktuální verze balíku grant bude všem autorům vždy rozeslána, aktualizace se budou provádět na základě jejich žádostí. Pokud budete k sazbě svého textu potřebovat styl, který v balíku grant ještě nebude obsažen, oznamte to, prosím, prostřednictvím emailu panu Janu Holečkovi. Balík bude upraven a rozeslán všem autorům. Vždy bude zachována zpětná kompatibilita. Tento systém má napomoci tomu, aby autoři dbali především na dobré struk- turování textu strukturovacími příkazy (viz níže), nikoli na jeho vzhled. Nežádejte proto, prosím, žádná konkrétní nastavení ovlivňující pouze typografii, těmto žá- dostem nebude vyhověno. 3 Struktura textu, matematické elementy Pro strukturování textů je vhodné používat standardní příkazy LATEXu: \part \section \subsubsection \chapter \subsection \paragraph 3 K přehlednosti a čitelnosti textu přispívá, není-li hloubka zanoření větší než tři. Nečíslované nadpisy (\paragraph) není nutné používat vůbec, kvůli jejich špatné odkazovatelnosti je nedoporučujeme. Zanoření úrovní nadpisů by mělo být postupné. Doporučujeme používat trojici nadpisů \chapter, \section a \subsection, u rozsáhlejších textů mohou existovat důvody pro použití \part. Pro sazbu matematických elementů, jako jsou např. definice, věta nebo lemma, doporučujeme používat balík amsthm. Původní dokumentace tohoto balíku je v souboru amsthdoc.dvi1, nebo lze použít text RNDr. R. Plcha dostupný přes WWW2. Opět je vhodné, aby nebyly měněny styly ani strukturovacích příkazů, ani matematických elementů. 4 Rozměry stránek, přetečené a podtečené boxy, pevné mezery Ze zdrojových textů budou vytvářeny dokumenty na různé formáty stránek, proto nezáleží na rozměrech stránky zvolených jednotlivými autory. Šířka by však ne- měla být větší než šířka formátu A4, zejména kvůli sazbě dlouhých rovnic, které je nutné zalamovat manuálně. Proto také nemá smysl v připravovaných dokumentech zabraňovat zlomu, nebo naopak vnucovat zlom řádku či stránky v následujících případech: ˇ na konci stránky zůstává pouze první řádek odstavce ˇ poslední řádek odstavce je na další stránce ˇ TEX nenalezl vhodný zlom řádku nebo stránky a hlásí Overfull nebo Underfull box. Přetečené a podtečené boxy by se naopak neměly vyskytovat ˇ v tabulkových strukturách (tabulky, matice) ˇ v prostředí minipage apod. ˇ v boxech, jejichž rozměry jsou pevně stanoveny ˇ v rovnicích (nestanovujeme, na jakou šířku rovnice zalamovat, za hornílimit lze považovat 70 em). 1Na stroji bart: /usr/share/texmf/doc/latex/amscls/amsthdoc.dvi 2http://www.math.muni.cz/~plch/vyuka/b.ps 4 Pevnou mezeru (~) za neslabičnými předložkami není nutné vpisovat manu- álně, doplní ji program vlna. Vepsána by naopak měla být u čísla odkazu (např. strana~\pageref{odkaz}), u některých zkratek, za iniciály jmen apod. Protože ve výsledném dokumentu budou zlomy řádků a stránek zpravidla v jiných místech, než jak je vidí autor, je nutné psát pevné mezery všude, kde by ke zlomu dojít nemělo. Pokud automatické dělení slov dělí některé slovo nesprávně, lze vnutit správný vzor dělení pomocí deklarace \hyphenation{slo-vo} na začátku souboru nebo vložením řídící sekvence přímo do děleného slova: slo\-vo. Preferujeme první způsob, je přehlednější a obecnější. 5 Používání rozměrů Vzhledem k dalšímu zpracování a formátování textů není vhodné udávat rozměry v absolutních jednotkách (metr, palec, tiskový bod pt, apod.). Relativní jednotky vzhledem k velikosti písma (em, ex) lze použít při hori- zontálním či vertikálním odsazování. Vzhledem k typografické konzistenci celého textu není vhodné provádět odsazování explicitně v každém místě jeho výskytu. Vhodnější je ponechat formátování textu strukturovacím příkazům LATEXu. Není- li to možné, doporučujeme vytvořit vlastní příkazy, které provedou formátování strukturního elementu textu (viz též níže), nebo použít předdefinovaných příkazů. Vertikální odsazení se provádí příkazy \bigskip (řádek), \medskip (půl řádku) nebo \smallskip (čtvrt řádku), pro horizontální odsazení jsou defino- vány příkazy \quad a \qquad. Stanovují-li se rozměry nějakých větších objektů na stránce (například ob- rázků), je nutné použít rozměry vztažené k rozměrům stránky, odstavce, řádky atd., například 0.4\textwidth. 6 Odkazy a číslování Protože ze zdrojových textů budou vznikat hypertextové dokumenty, je dobrá struktura odkazů nezbytná. Pro všechny odkazy je proto nutné, aby byly vytvářeny pomocí příkazů k tomu určených. 6.1 Křížové odkazy Odkazovaná místa musí být označena příkazem \label{name}. Odkaz na číslo číslovaných elementů se potom získá příkazem \ref{name}. Odkaz na číslo stránky, na níž je odkazované místo, se získá příkazem \pageref{name}. 5 6.2 Číslování rovnic s využitím AMS-TEXu AMS-TEX rozšiřuje možnosti číslování rovnic. Rovnici lze místo automaticky generovaného čísla označit jménem, připíšeme-li k rovnici příkaz \tag{rce}, kde rce je libovolný text označující rovnici. Odkazy na takto pojmenované rov- nice se vytváří standardně, tj. příkazy \label{name} a nějakou verzí příkazu \ref{name}. Pro odkazy na čísla rovnic doporučujeme používat příkaz \eqref{name}, který vysází číslo nebo jméno rovnice i se závorkou. 6.3 Citace Citace na literaturu se vytváří příkazem \cite{name}, kde jména odkazů se získávají z bibliografie. Tu je možné vytvořit bud'automaticky pomocí BIBTEXu3 nebo manuálně v prostředí thebibliography. Formát citací v textu určují jednotliví autoři, v rámci jednoho dokumentu by však měl být konzistentní. 6.4 Tvorba rejstříku K vytváření rejstříku doporučujeme používat program CSIndex4. Má-li dokument obsahovat rejstřík, je nutné do hlavičky přidat příkaz \makeindex. Jednotlivá hesla se do rejstříku přidávají příkazem \index{heslo}, rejstřík se vytiskne příkazem \printindex. 6.5 Odkazy na URL Odkazy na URL lze vytvořit příkazem \url{URL} z balíku hyperref. Tento příkaz umožní i jejich zalamování. Není-li nutné vypisovat vlastní URL, příkaz \href{URL}{text} vytvoří hypertextový odkaz text na URL. Ř etězec tvo- řící URL může obsahovat i ty znaky, které jsou pro TEX speciální, zejména znaky ~ a %. 6.6 Další odkazy Aby bylo možné vytvořit ze slovních odkazů v rámci textu odkazy hypertextové, je nutné použít následující příkazy z balíku hyperref: \hypertarget{name}{text} \hyperlink{name}{text} 3Dokumentace je na síti sekce matematiky dostupná v /usr/share/texmf/doc/bibtex 4Dokumentace je na síti sekce matematiky v /usr/share/texmf/doc/makeindex 6 kde name je jméno odkazu (stejně jako u \label, ale jméno definované pomocí \hypertarget lze použít pouze v \hyperlink). Příkaz \hypertarget označí místo, na něž je možné se odkazovat pomocí \hyperlink. Je-li dokument vybaven i touto hypertextovou strukturou, čtenář má výrazně usnadněnu orientaci v textu. Prosíme proto autory o jejich používání. 7 Obrázky, tabulky Obrázky a tabulky je nezbytné vkládat jako plovoucí objekty, tj. po řadě v prostře- dích figure a table, například takto: \begin{figure}[htb] \centering \includegraphics[width=0.8\textwidth]{kap8mp01} \caption{Funkce $x^2$ a její Fourierův polynom pro $n=3$.}\label{obr81m} \end{figure} Upozorněme, že šířka obrázku byla relativně vztažena k šířce stránky. Jediné možné formáty obrázků jsou Encapsulated PostScript (EPS), probíhá-li zpracování dokumentu způsobem popsaným v odstavci 1.1, nebo Portable Docu- ment Format (PDF), probíhá-li zpracování podle odstavce 1.2. Bitmapové obrázky je do nich nutné zkonvertovat při minimálním rozlišení 300dpi. Vkládání obrázků vytvořených v METAFONTu a METAPOSTu je nutné pře- dem konzultovat. 8 Definice vlastních maker Makra přispívajík udrženíkonzistence textu, proto je pro jisté účely doporučujeme. Používá-li se v textu nějaké složitější označení matematické struktury, je vhodné jej definovat jako makro. Podobně, používá-li se pro nějaké části textu zvláštní nastavení, je vhodné jej definovat jako nové makro. Definice makra je nezbytně nutná, obsahuje-li úprava rozměr nebo jinou konkrétní informaci, která by mohla být v rámci formátování změněna. Vytváření rozsáhlejších maker nedoporučujeme a je nutné jej předem konzul- tovat. 7