Ľudia stále vymýšľajú triedy, ktoré majú nahradiť štandardné:
súčasný autor vyrobil v roku 1980 triedu ukart používajúcu balík sober a pár
vecí špecifických pre Britov (ako tie, čo sa objavujú v špecializácii babel u
pre britskú angličtinu). Trieda sa stále príležitostne používa.
Podobné verejné snahy boli dostupné v dobe LaTeX 2.09: významným príkladom,
ktorého potešujúci design sa zrejme časom veľmi nezmenil, je trida ntgclass .
Každá zo štandardných tried je nahradená výberom tried pomenovaných v holandčine
(občas s jednou pridanou číslicou). Takže máme triedy artikel2 , rapport1 ,
boek3 a brief . Tieto dokumenty sú priemerne zdokumentované v angličtine.
Balík tried KOMA-script (triedy pomenované scr... ) je v súčasnosti silným
súťažiacim. Triedy sú aktívne podporované, sú obsiahle v pokrytí dôležitostí
sadzby, produkujú dobre vyzerajúci výstup a sú dobre dokumentované v angličtine
i nemčine (scrguien v anglickej distribúcii, scrguide
v nemeckej).
Ďalšou porovnateľnou triedou je memoir . Táto má za cieľ priamo nahradiť
triedy book a report . Podobne ako KOMA-script je obsiahla v pokrytí
drobný problémov. Dokumentácia triedy memoir (memman ) je často
vychvaľovaná a jej dlhý úvod je pravidelne doporučovaný ako tutoriál pre
sadzbu.
balík KOMA-script : CTAN: koma-script
memoir.cls : CTAN: memoir
balík NTGclass : CTAN: ntgclass
sober.sty : CTAN: sober
Kreslenie s TeXom
V TeXu/LaTeXu samotnom je veľa prostriedkov na kreslenie obrázkov
(čo je lepšie ako importovať obrázky externé), od jednoduchých, ako je
prostredie picture , trochu lepších, ako je balík epic, až po
výborné (ale pomalé) kreslenie s PiCTeXom. V závislosti na type
kreslenia by jeden zo štyroch nasledujúcich systémov mohol byť pre Vás
špičkový:
- pstricks; umným využívaním príkazu
\special
dáva prístup k plnej sile PostScriptu z TeXu. Potrebujete
slušný prekladač z DVI do PostScriptu, ale výsledok stojí
za to. Dobre zdokumentovaný balík vám dáva možnosť použiť nielen
príkazy nižšej úrovne, ktoré vykresľujú priamky, kruhy či
kružnice, ale aj makrá vysokej úrovne na manipuláciu s objektami
či textovými rámami, kreslenie stromov, či matíc, pre efekty 3D
grafiky a ďalšie. Balík nájdete na CTAN: pstricks.
Používatelia PDFTeXu môžu používať pdftricks , ktorý (ako aj
epstopdf — viď Otázku Importovaná grafika v PDFLaTeXu)
generuje PDF súbory za behu z príkazov pstricks .
- METAPOST; mali ste radi METAFONT, ale nikdy Vás neuchvátili súbory
písiem? Vyskúšajte METAPOST (pozri Otázku Čo je to METAPOST).
Má všetku silu METAFONTu, ale generuje PostScript. METAPOST je v súčasnosti
súčasťou najdôležitejších distribúcií TeXu/LaTeXu. D. Knuth ho
používa pri svojej práci.
- Mfpic; páči sa Vám METAFONT, ale nerozumiete jeho
jazyku? Tento balík (CTAN: mfpic)
vytvorí pre Vás kód METAFONTu z jednoduchšie zvládnuteľných
TeXovských makier. Nemá všetku silu METAFONTu, ale priateľskejší
vzhľad.
- Páči sa Vám PiCTeX, ale nemáte dosť pamäti alebo času? Pozrite
sa na makrá v CTAN adresári CTAN: dratex od Eitana Guarariho,
ktoré sú tak silné, ako väčšina ostatných balíkov, ale je to celkom
nová implementácia, dobre čitateľná a plne zdokumentovaná.
Prostrkávaná sazba
Jednou ze základních metod zvýrazňování textu v dokumentu je změna
vzdálenosti mezi písmeny. Tato technika se nazývá prostrkávaná sazba.
Toto zvýraznění však není doporučováno, protože ubírá textu na
čitelnosti, což je proti principům typografie. Proto Donald Knuth také
neumožnil jednoduše měnit vzdálenosti mezi znaky.
Jeden z nejvetších typografů — Eric Gill — toto přirovnal ke
„kradení oveček“, což v jeho době byl jeden z nejčastějších přestupků
v Británii. Vkládání mezer mezi velká písmena je však povážováno za
menší „zločin“, než mezi malá písmena. Bežně se ale tato technika
používá při zvýraznění textu psaného gotickým (nebo jiným podobným)
písmem.
Na CTANu je balík CTAN: letterspacing, v němž je definováno
makro \letterspace . Používá se podobně jako \hbox :
\letterspace to 1.3\naturalwidth{Důkaz:}
Lepší balík je CTAN: soul, který je optimalizován pro
použití v LaTeXu, ale funguje i v plainTeXu. Soul také
umožnuje dělení takto zvýraznených slov.
Formátovanie diplomových a disertačních prác v LaTeXu
Štýl pre dizertáciu je obvykle veľmi špecifický pre danú univerzitu.
Preto spravidla nie je príliš užitočné pátrať po takomto štýle mimo
rámec univerzity alebo inštitúcie. Mnoho univerzít vo svojej
excentricite stále používa pre dizertácie dvojité riadkovanie.
Vtedy vás môžeme odkázať na
Otázku Dvojité riadkovanie v dokumentoch LaTeXu.
Ak chcete napísať vlastný štýl pre dizertácie, môže vám poslúžiť
ako dobrý štart štýl University of California
(dostupné v CTAN: ucthesis), ale
nemá cenu púšťať sa do ťažkostí. (Ak vedenie nepripustí štandardné
typografické konvencie, aj tak nebudete schopný vytvoriť esteticky
uspokojivý dokument.)
Obtekanie obrázkov v LaTeXu
Existuje niekoľko LaTeXovských balíkov, ktoré majú za cieľ toto
umožňovať, ale všetky majú svoje ohraničenia, pretože TeX nebol
navrhovaný na riešenie takejto úlohy. Piet van Oostrum, ktorý vytvoril
prehľad dostupných balíkov, odporúča:
- picins
picins.sty je časť veľkého balíku
umožňujúceho zahrnutie obrázkov (napr. so šedými boxami, rôznymi
DOS formátmi, ...). Nachádza sa v CTAN: picins.
Príslušný príkaz je:
\parpic( šírka, výška)( x-off,
y-off)[ Options][ Pozícia]{
Obrázok}
Text odstavca
Všetky parametre okrem Obrázok sú voliteľné. Obrázok
môže byť umiestnený vľavo alebo vpravo, orámovaný obdĺžnikom,
oválom alebo čiarkovane. Môže mať popis (\caption ), ktorý
bude zahrnutý do zoznamu obrázkov.
Nanešťastie (pre tých, ktorí nerozumejú nemecky) je dokumentácia
v nemeckom jazyku. Piet van Oostrum však napísal anglické resumé
(CTAN: picins-summary).
- floatflt
CTAN: floatflt je zdokonalená verzia
floatfig.sty (pre LaTeX 2e), a jeho syntax je:
\begin{floatingfigure}[ options]{
šírka obrázku}
Obrázok
\end{floatingfigure}
Existuje aj (viacmenej podobné) prostredie floatingtable .
Tabuľky alebo obrázky môžu byť dané na pravú/ ľavú časť
strany a párnu/ nepárnu stranu pri dokumentoch, ktoré
rozlišujú párne a nepárne strany.
Tento balík umožňuje použiť aj balík multicol, ale
nespolupracuje s ďalšími blízkymi prostrediami.
- wrapfig
CTAN: wrapfig má syntax:
\begin{wrapfigure}[ výška obrázku v riadkoch]{l ,r ,atď}[ presah
]{ šírka}
obrázok, popis obrázku atď.
\end{wrapfigure}
Syntax prostredia wraptable je podobná.
Výška môže byť vynechaná. Vtedy je dopočítaná automaticky
programom. Program vždy berie väčšiu hodnotu z vypočítanej a
udanej hodnoty. Parameter {l ,r atď} môže byť tiež
špecifikovaný ako i (inside – vnútro) alebo o (outside –
vonkajšok), pre dokumenty, ktoré rozlišujú párne a nepárne strany.
Keď použijeme veľké písmená, obrázok môže byť pohyblivý. Parameter
presah dovoľuje presah obrázku do okrajov. Obrázok alebo
tabuľka môžu byť zahrnuté do zoznamu, keď použijeme príkaz
\caption .
Uvedené prostredia nepracujú vnútri zoznamov, ktoré končia pred
dolným okrajom obrázku alebo tabuľky, ale môžu byť použité
v prostrediach parbox , minipage a to aj pri dvojstĺpcovej
sadzbe.
Alternatívne head- a footline v LaTeXu
Štandardný LaTeX zahŕňa v sebe niekoľko štýlov,
ktoré špecifikujú riadok záhlavia a spodku strany (headline,
footline). Možnosti, ktoré máme na zmeny, sú veľmi obmedzené. LaTeX
umožňuje veľa, ale nie je jednoduché to urobiť. My to robiť nemusíme,
urobil to Piet van Oostrum.
Balík je v adresári CTAN: fancyhdr. Tento balík
poskytuje jednoduchý mechanizmus na definovanie rôznych variantov
záhlavia a spodnej časti strany. Adresár obsahuje aj celkom dobrú
dokumentáciu a ďalší jeden alebo dva balíky. Balík
fancyhdr umožňuje aj predefinovať štýl strany a úvodnej
strany (pozri Otázku Užití \pagestyle{empty} na první stránce v LaTeXu).
Doslovné (verbatim) vložení souboru v LaTeXu
Dobré řešení je použití verbatim.sty od Rainera Schöpfa, které
poskytuje příkaz \verbatiminput , který určuje jméno
vstupního souboru jako argument. Balík je součástí 2etools
(na CTANu v CTAN: 2etools).
\usepackage{verbatim}
...
\verbatiminput{verb.txt}
Jiná metoda je použití prostředí alltt , které vyžaduje
alltt.sty (ten je standardní částí LaTeXu).
Toto prostředí vkládá obsah souboru „vetšinou“ doslovně, provádí však
TeXové příkazy, které v souboru objeví. Pro vložení souboru
verb.txt stačí napsat:
\usepackage{alltt}
...
\begin{alltt}
\input{verb.txt}
\end{alltt}
Jistě, tak málo stačí pro vložení souboru...
Balík moreverb (CTAN: moreverb) rozšiřuje možnosti balíku
verbatim, nabízí prostředí listing a příkaz \listinginput ,
který umožňuje číslovat řádky vkládaného souboru. Balík obsahuje také příkaz
csx{verbatimtabinput}, který respektuje TAB znaky na vstupu (prostředí
listing a příkaz csx{listinginput} taky respektují TAB znaky).
Balík fancyvrb obsahuje konfigurovatelné implementace všeho,
co obsahují balíky moreverb a verbatim a ještě
něco navíc. V současné době bystří sazeči sahají po tomto produktu
nejraději, ale bohatství možností z něho dělá velice komplexní
„potvoru“. Z tohoto důvodu si raději před jeho použitím důkladně
prostudujte dokumentaci.
Vložení čísel řádků do výstupního souboru
Pro celkové číslování řádků existují dva balíky použitelné pod LaTeXem:
lineno (který dovoluje k jednotlivým
řádkům výstupu připojit hesla) a numline . Oba balíky však
neberou ohledy na LaTeXový výstup, což může způsobit problémy.
Na to by si měli dát uživatelé pozor.
Pokud však chcete číslovat doslovný text (verbatim ), pak
je nejlepší použít balíky
(moreverb nebo
fancyvrb , viz
Otázku Doslovné (verbatim) vložení souboru v LaTeXu). Další balík – edmac
(edmac ) – nabízí pomoc v případech kritických edicí.
lineno : CTAN: lineno
numline : CTAN: numline
moreverb : CTAN: moreverb
fancyvbr : CTAN: fancyvrb
edmac : CTAN: edmac
Generovanie registra v TeXu/LaTeXu
Vytvorenie registra – indexu – nie je jednoduchá úloha. Čo to je index a
ako ho robiť je ťažko rozhodnúť. Rovnako je ťažké urobiť všeobecnú
dohodu, ako je správne index robiť. V každom prípade musíte označiť
všetky položky v texte (obvykle príkazom \index ), ktoré majú
byť indexované.
Triedenie veľkého indexu priamo v TeXu nie je praktické, preto sa
používajú postprocessing programy, ktoré spracovávajú index mimo TeXu
a register je dostupný v ďalšom behu programu TeX.
Dostupné sú nasledujúce programy:
- makeindex
pre LaTeX pod Unixom (ale pracuje aj pod
inými operačnými systémami rovnako). Je v CTAN: makeindex.
Verzia pre Macintosh je dostupná na CTANe pod názvom
macmakeindex (CTAN: macmakeindex), pre
MSDOS je súčasťou distribúcie emTeXu a gTeXu (emTeX má
verziu aj pre OS/2).
Dokumentácia pre makeindex predstavuje dobrý zdroj
informácií ako vytvárať register. Makeindex môžeme
použiť aj s niektorými balíkmi makier TeXu, ako je napríklad
Eplain (pozri Otázku Co je to Eplain) alebo TeXsis.
(CTAN: texsis)
- idxtex
pre LaTeX pod VMS. Je dostupný
(s „poznámkovačom“
glotex v CTAN: glo+idxtex).
- texindex
Veľmi vtipná malá utilita pre LaTeX pod
operačným systémom Unix. Je dostupná v CTAN: texindex.
Existujú aj iné programy s menom texindex, napríklad
ten, ktorý je súčasťou distribúcie Texinfo
(pozri Otázku Co je to Texinfo).
- xindy
novo vyvinutý, navrhnutý ako rozsiahlo flexibilný
(vrátane podpory viacjazičných indexov), založený na Common Lispe.
Systém je dostupný na CTANe (CTAN: xindy), ale je
jednoduchšie prístupný internetovým prehliadačom na adrese
http://www.iti.informatik.th-darmstadt.de/xindy/ , pretože
distribúcia obsahuje niekoľko odlišných implementácii.
Používanie BibTeXu s plain TeXom
Súbor CTAN: btxmactex obsahuje makrá a dokumentáciu pre
BibTeX s plain TeXom alebo priamo s Eplainom
(pozri Otázku Co je to Eplain).
Pozrite si aj Otázku Dokumentace k BibTeXu,
ktorá obsahuje ďalšie informácie o BibTeXu samotnom.
Sazba URL
V poslední době se URL prodlužují a obsahují znaky, které jim mohou
přirozeně zabraňovat v hladkém dělení, pokud nejsou typicky
označeny \ttfamily . Proto bez zvláštního ošetření mohou přečnívat
za hranici sloupce a jejich výsledná sazba je hrozná.
Existují tři možnosti přístupu k tomuto problému:
Autor této odpovědi preferuje (novější) balík url (přímo nebo
nepřimo). Oba balíky path a url pracují skvěle
v plain TeXu (ikdyž tam samozřejmě přitažlivé LaTeXovské prostředky
balíku url nemají co dělat).
(hyperref není ve verzi pro plain TeX dostupný.)
Sadzba nôt v TeXu
V minulosti bol napísaný balík mutex od Angeliky Schoferovej a Andreu
Steinbacha, ktorý dokazoval, že sadzba hudby je možná. Balík bol však veľmi
obmedzený a naďalej nie je dostupný.
Výkonný balík, ktorý umožňuje sadzbu zložitých notových osnov, je
MusicTeX, ktorý napísal Daniel Taupin
(taupin@rsovax.lps.u-psud.fr).
Je dostupný v CTAN: musictex, ale nie je naďalej odporúčaný.
V nedávnej minulosti Daniel (ako aj mnohí ďalší,
ako Ross Mitchell a Andreas Egler) pracovali na vývoji MusicTeXu,
ktorý má názov MusiXTeX. MusiXTeX je trojprechodový systém
(s predprocesorovým programom, ktorý počíta medzery pre prvky) a
dosahuje jemnejšiu kontrolu, ako je možné dosiahnuť v nemodifikovanom
MusicTeXu. Momentálne je vyvíjaná iba verzia Daniela Taupina (Andreas Egler
mal tiež svoju verziu, ale v súčasnosti už pracuje a inom balíku) MusiXTeXu.
Obe sú dostupné v CTAN: musixtex-taupin a CTAN: musixtex-egler.
Vstup pre MusixTeX je extrémne zložitá záležitosť. Preferovanou metódou
vytvárania vstupu pre Taupinovu verziu je preprocesor Dona Simonsa
pmx. Pmx veľmi uľahčuje používanie MusixTeXu, ale
nepodporuje všetky prostriedky MusixTeXu priamo. Dovoľuje však in-line kód
MusixTeXu v zrdojovom kóde pmx.
Fanúšikovia digitálnej hudby môžu sádzať notáciu použitím
midi2tex, ktorý prekladá MIDI súbory do zdrojového kódu
MusicTeXu. Je dostupný z CTAN: midi2tex.
O dosť jednoduchší zápis ako MusicTeX má abc2mtex. Je to
balík navrhnutý pre zápis melódie vo forme ASCII znakov
(abc notácia). Táto notácia bola navrhnutá hlavne pre zápis ľudových
melódií západoeurópskeho pôvodu (írskych, anglických a škótskych), ktoré
môžu byť zapísané aj klasickým spôsobom na jednej notovej osnove. Ale
môže byť použitá aj na mnoho iných typov hudby. Balík je dostupný
v CTAN: abc2mtex.
Pre diskusiu o problémoch sadzby nôt v systéme TeX{} využívajte vytvorený
mailing list TeX-music@icking-music-archive.org. Pre subskripciu
využite možnosti stránky
URL{http://icking-music-archive.org/mailman/listinfo/tex-music/}.
Kreslenie Feynmanových diagramov v LaTeXu
Makro-balík pre kreslenie Feynmanových diagramov v LaTeXu od Michaela
Lavine je dostupný v CTAN: feynman.
Môžeme tiež použiť CTAN: feynmf, balík makier pochádzajúci od
Thorstena Ohla, ktorý pracuje v kombinácii s METAFONTom (alebo METAPOSTom).
Makrá z balíkov feynmf alebo feynmp čítajú popis
diagramu, ktorý je napísaný v TeXu, a zapisujú svoj kód. METAFONT
(alebo METAPOST) potom môže vytvoriť v ďalšom behu LaTeXu príslušné
písma. Pre nových používateľov, ktorí majú možnosť použiť METAPOST, možno
odporúčať PostScriptovú verziu pre lepšiu prenositeľnosť dokumentov, ako
aj niektoré ďalšie dôvody.
Ďalšie balíky použiteľné na tento účel sú: axodraw Josa Vermaserena
(CTAN: axodraw) a feyn Normana Graya (CTAN: feyn).
Nulové odsadenie odstavcov
Bežný spôsob sadzby textu nemá odstavce navzájom oddelené, iba prvý riadok
každého odstavca je odsadený.
Konvenciou pre text písaný na písacom stroji naopak bolo neodsadzovanie odstavcov.
Takýto štýl je vyžadovaný pre publikácie ako technické manuály a v štýloch
vyžadujúcich originál písaný písacím strojom (ako napríklad oficiálne
špecifikované formáty dizertácií).
Každý po chvíľke rozmýšlania vidí, že pri nulovom odsadení odstavcov musia byť
tieto oddelené prázdnym miestom, inak bude nemožné rozoznať zlomy medzi
odstavcami.
Jednoduchým prístupom je teda vynulovanie odsadenia odstavcov:
\setlength{\parindent}{0pt}
\setlength{\parskip}{\baselineskip}
a v najjednoduchších textoch je to dobré riešenie.
Avšak nenulový csx{parskip} prekáža zoznamom a podobnému formátovaniu, takže
výsledky vyzerajú hrozne. Balík parskip upravuje veci tak, aby
vyzerali rozumne. Nie je bezchybný, ale vysporiada sa s väčšinou problémov.
Sada tried skupiny používateľov z Holandska obsahuje ekvivatent triedy article
(artikel3 ) a triedy report (rapport3 ), ktorých návrh zahŕňa nulové
odsadenie a nenulový csx{parskip}.
triedy \acro{NTG} : CTAN: ntgclass
parskip.sty : CTAN: parskip
Iniciálky
Bežným štýlom sadzby, v súčasnosti málo sa vyskytujúcim (okrem novín), je
začatie odstavca (v knihách, zvyčajne prvého odstavca kapitoly) prvým písmenom
dostatočne veľkým (rozsahu niekoľkých riadkov).
Tento štýl sa nazýva „iniciálky“ (dropped capitals) alebo (po francúzsky)
„lettrines“. TeXovské prostriedky umožňujú jeho jednoduchú a priamočiaru
implementáciu.
Balík dropping prácu vykoná jednoducho, má ale zvláštny postoj
k výpočtom veľkosti fontu veľkých písmen (iniciálok). Príklady sú uvedené
v dokumentácii, takže pred spracovaním súboru .dtx musíte mať balík už
nainštalovaný. dropping má bohužiaľ chúlostivý vzťah k sade ovládačov
zariadení dostupných v prvých verziách grafického balíku LaTeXu. Nemôžeme si
teda byť istý, že bude pracovať s novinkami ako PDFTeX, VTeX alebo
DVIpdfm.
V takýchto prípadoch pravdepodobne uspeje novší balík lettrine .
Balík má dobre konštruované pole volieb a príklady (celkom pôsobivá sada) sú
dodávané ako osobitný súbor distribúcie (dostupné tiež v PostScripte, aby mohli
byť prezreté bez nutnosti inštalovať balík).
dropping : CTAN: dropping
lettrine : CTAN: lettrine
Psací písma pro matematický režim
Font vybraný příkazem \mathcal je jediným zabudovaným psacím písmem.
Nicméně však v moderních TeXových distribucích jsou zabudovány i další
kaligrafické fonty.
- Euler
\usepackage{eucal}
Je součástí pouze několika nejmodernějších TeXových distribucí,
nicméně je volně dostupný na CTANu archívu na adrese
CTAN: eucal.sty. Je součástí AMS fontů. Nabízí nepatrně
„zakroucenější“ font. Tento balík mění fonty, které jsou vybrány
příkazem \mathcal . Verze Type 1 těchto fontů jsou dostupné
v distribuci AMS fontů (CTAN: amsps-type1).
- RSFS
\usepackage{mathrsfs}
(součást
CTAN: jknappen) používá opravdu ozdobné
psací písmo (zkratka z „Ralph Smith's Formal Scripts“), které je již
součástí nejmodernějších distribucí (můžete ho najít i ve CTANovském
archívu v CTAN: rsfs). Balík vytváří nový příkaz \mathscr . Tyto
fonty ve verzi Type 1 byly zpřístupněny Tacem Hoekwaterem. Jsou
přístupné na CTANu na adrese CTAN: hoekwater.
- Zapf Chancery
je standardní postscriptový kaligrafický font. Není
spojen s žádnými balíky, ale snadno ho můžete zpřístupnit příkazem
\DeclareMathAlphabet{\mathscr}{OT1}{pzc}{m}{it} ve vaší preambuli.
Také ho můžete použít v jiné velikosti:
\DeclareFontFamily{OT1}{pzc}{}
\DeclareFontShape{OT1}{pzc}{m}{it}{<-> s * [0.900] pzcmi7t}{}
\DeclareMathAlphabeth{\mathscr}{OT1}{pzc}{m}{it}
Adobe Zapf Chancery (který výše zmíněný příklad používá) je distribuován
s některými postscriptovými tiskárnami. V podstatě identický font z URW
a je distribuován s Ghostscriptem.
Příklady dostupných stylů jsou
předvedeny na CTAN: scriptfonts.pdf.
„Vodoznak“ na každé stránce
Občas je užitečné na pozadí každé stránky dokumentu umístit jistý text
(např. „DRAFT“). Uživatelé LaTeXu toho dosáhnou použitím balíku
CTAN: draftcopy. Umí pracovat s mnoha
typy DVI procesorů a umí přeložit slovo „DRAFT“ do širokého množství
jazyků (také si však můžete vybrat vlastní slovo). Vypracovanějších
vodoznaků dosáhnete pomocí balíku eso-pic , který ještě využívá
balíček everyshi . Oba jsou distribuovány v balíku
CTAN: ms. Eso-pic ke každé stránce připojí prostředí picture ,
do prostředí můžete vkládat věci. Balík poskytuje příkazy pro umísťování věcí
do určitých užitečných míst obrázku (jako „text nahoru vlevo“, ldots), ale
máte možnosť dělat, co se vám zblíbí.
Sazba textu naležato
Občas je nezbytné vysázet část textu dokumentu naležato. Abychom tohoto
dosáhli, nestačí pouze změnit rozměry stránky, musíme ještě informovat
tiskárnu, že má tuto stránku tisknout odlišně. Existují dva
možné způsoby, jak toho docílit:
- Pokud máte objekt, který svou šířkou přesahuje šířku stránky a hodí
se pouze na stránku naležato, pak můžete použít balík rotating
(CTAN: rotating, který definuje dvě různá
prostředí
sidewaysfigure a sidewaystable , které pracují pouze s celou
stránkou.
- Pokud máte více těchto objektů, které potřebujete vysázet naležato
(např. seznamy různých kódů, široké prostředí
tabbing nebo velké tabulky
sázené pomocí supertabular nebo longtable), pak
můžete použít balík
lscape (CTAN: graphics), připadně pdflscape (když
generujete PDF výstup; CTAN: oberdiek). Ten definuje prostředí
landscape , které vymaže běžnou stránku a zahájí znovu její sazbu
naležato (a smaže stránku na konci prostředí před vrácením do režimu
nastojato).
Žádné běžně dostupné balíky nevytvářejí přímé opatření pro
sazbu v obou možných orientacích na jedné stránce. Pokud byste takové
chování nutně potřebovali, použijte techniku popsanou
v Otázce Obtekanie obrázkov v LaTeXu.
Výsledek můžete otočit pomocí balíku graphics
(CTAN: graphics. Návrat k vertikální orientaci (portrait) je snazší:
vertikálně orientovaná část stránky bude spodním floatem na konci horizontální
(landscape) sekce s otočeným obsahem.
Pro vysázení celého dokumentu horizontálně můžete použít lscape kolem
celého dokumentu. Lepší je volba landscape balíku
geometry . Jestliže mu předáte také volbu dvips nebo pdftex ,
geometry vychrlý rotační instrukce, které spůsobí, že výstup bude
správné orientován. Třída memoir v tomto ohledu poskytuje stejné prostředky
jako geometry .
Na závěr ještě jedno varování:
běžně dostupné prohlížeče TeXových souborů většinou zanedbávají
požadavky na rotaci v DVI souborech. Pokud váš prohlížeč není schopný
rotace, je nutno přeložit soubor do formátu PS nebo
PDF a výsledek pak můžete prohlédnout vhodným programem.
Umiestňovanie na fixné pozície na stránke
TeXovský model sveta je (obecne povedané), že autor píše text a TeX a jeho
makrá rozhodujú, ako sa to všetko zmestí na stránku. Toto nie je dobrá správa
pre autora, ktorý požaduje, aby boli určité veci umiestnené na presné miesta
na stránke.
Na stránke existujú miesta, na ktorých môžu byť „zavesené“ veci. Dva
LaTeXovské balíky vám dovoľujú umiestňovanie relatívne k týmto miestam, čím
poskytujú absolútne umiestnenie.
Balík textpos pomáha vytvárať stránky z bodov umiestnených vôkol
stránky (ako pri plagáte). Vy mu zadáte lokáciu, on príslušne umiestni sádzací
box.
eso-pic definuje „obrázok“ pokrývajúci stránku. Používateľ
do tohto obrázku môže pridávať príkazy módu picture , ktoré môžu obsahovať
samozrejme aj umiestnenia boxov ako aj iných príkazov picture módu.
(Eso-pic potrebuje služby balíku everyshi , ktorý teda musí
tiež byť dostupný.)
eso-pic.sty : CTAN: eso-pic
everyshi.sty : distribuované ako súčasť CTAN: ms
textpos.sty : CTAN: textpos
Zabránenie zlomu stránky medzi riadkami
Občas je potrebné, aby blok vysádzaného materiálu bol na jednej strane.
Zabezpečenie tejto podmienky je prekvapivo zložité.
LaTeX poskytuje prostredie samepage , ktoré o sebe tvrdí, že práve toto za
vás spraví. Postupuje nastavením pokút (penalties) za všetky možné situácie
vedúce k zlomu stránky na nekonečno, no v mnohých prípadoch nepomáha. Ak sa
pokúšate udržať text pohromade, budete musieť ukončiť odstavec
vo vnútri prostredia.
Ak veci, čo chcete udržať pohromade, vkladajú vlastné náznaky na zlom stránky,
samepage nad nimi nemá moc: dobrým príkladom sú položky zoznamu — navrhujú
medzi sebou zlom stránky. Dokonca aj keď prostredie funguje, je pravdepodobné,
že na spodku stránky nechá určité veci vyčnievať.
Vhodným trikom je vysádzať všetko dôležité do \parbox (v prípade, že
obsahuje niečo, čo nemôže byť parametrom \parbox u, do prostredia minipage ).
Výsledný box sa medzi stranami určite „nezlomí“, ale to neznamená, že spraví
to, čo chcete: takisto môže presahovať spodný okraj stránky.
Prečo žiadna z týchto vecí nefunguje? Pretože TeX nerozlíši nekonečne
„zlé“ veci. Prostredie samepage spraví každý možný bod zlomu nekonečne zlým
a boxy dokonca ani neposkytujú možnosť zlomu, ale ak je alternatívou ponechanie
nekonečne zlých pár centimetrov prázdneho papieru na konci strany, TeX sa
vyberie cestou najmenšieho odporu a nespraví nič.
Problém vzniká aj keď máte v platnosti \raggedbottom : TeX si nevšimne
jeho hodnotu, pokiaľ neodošle stránku von. Jeden prístup je nestavenie:
\raggedbottom
\addtolength{\topskip}{0pt plus 10pt}
10pt naznačuje výstupnej rutine, že stĺpec možno roztiahnuť. Toto
spôsobí, že TeX bude pri budovaní stránky tolerantnejší k potrebe
roztiahnutia. Ak to robíte ako dočasné opatrenie, zrušte zmenu u \topskip :
\addtolength{\topskip}{0pt plus-10pt}
Mali by ste aj resetovať \flushbottom . Všimnite si, že 10pt sa
v skutočnosti nikdy neukáže, pretože pri odosielaní stránky von je prekonané
roztiahnuteľnosťou vloženou \raggedbottom ; mohlo by však mať nejaký účinok,
ak by učinkovalo aj \flushbottom .
Alternatívou (odvodenou z Knuthovho návrhu v TeXbooku) je balík
needspace alebo trieda memoir , pričom v oboch je definovaný príkaz
\needspace , ktorého parameter mu vraví, aký prestor je potreba. Ak priestor
nie je dostupný, materiál, ktorý musí zostať spolu, je vložený na druhú stranu.
Ak napríklad 4 riadky textu musia zostať pohromade, použite:
\par
\needspace{4\baselineskip}
% veci, čo musia zostať pohromade
% a teraz veci, na ktorých nám nezáleží
Ďalší Knuthov trik je užitočný, ak máte postunosť malých blokov textu, ktoré
individuálne potrebujú zostať na svojej vlastnej stránke. Vložte príkaz
\filbreak pred každý malý blok a dosaihnete požadovaný efekt. Technika môže
byť použitá v prípade postupností sekcií LaTeXovského štýlu. Zabudujte
\filbreak do definície príkazu. Jednoduchou a efektívnou úpravou
je:
\let\oldsubsubsection=\subsubsection
\renewcommand{\subsubsection}{%
\filbreak
\oldsubsubsection
}
Trik funguje pre nasledujúce postupnosti blokov. V prípade, že postupnosť
je prerušená vynúteným zlomom stránky (ako \clearpage , ktorý môže byť
vložený príkazom \chapter alebo koncom dokumentu), je však trochu obtiažne
dostať sa z takých sekvencii von. Ak postupnosť nie je prerušená, posledný blok
bude pravdepodobne vytlačený na novú stranu bez ohľadu na to, či to skutočne
potrebuje.
Ak akceptujete, že nie všetko sa dá dosiahnuť úplne automaticky, najlepším
spôsobom je vysádzať dokument a skontrolovať problémové veci. V takomto prípade
sa môžete rozhodnúť, ako sa s problémom vysporiadať pri poslednej kontrole
čítaním. Možnosti sú vloženie príkazov \clearpage tam, kde sú potrebné,
alebo použitie \enlargethispage . Predpokladajme, že máte jeden alebo dva
zatúlané riadky. Zadajte príkaz \enlargethispage{2 \baselineskip} a na
aktuálnu stránku budú pridané dva riadky. Záleží na dokumente, či toto vyzerá
nemožne alebo akceptovateľne, ale príkaz zostáva užitočnou položkou
vo výzbroji.
memoir.cls : CTAN: memoir
needspace.sty : CTAN: needspace
Paralelná sadzba textu
Bežne je potrebné prezentovať text v dvoch jazykoch spoločne na jednej stránke
alebo na opačných stranách dvojstranového rozloženia. Aby to bolo
akceptovateľné, musí medzi textami existovať určité zarovnanie.
Balík parallel tieto potreby uspokojuje. Umožňuje sadzbu do dvoch
stĺpcov (nie nutne rovnakej šírky) na jednej strane alebo do opačných strán
dvojstranového rozloženia.
parallel.sty : CTAN: parallel
Sadzba epigrafov
Epigrafy sú tie krásne citáty, ktoré autori vkladajú na začiatok kapitol (alebo
dokonca na koniec kapitol, Knuth v TeXbooku vkladá na koniec kapitol).
Ich sadzba je tak trochu umenie, ale nie je nemožné spraviť ju vlastnoručne.
Balík epigraph však spraví prácu za nás, dokonca aj v situáciach, kde
je mimoriadne protivné spraviť to správne.
Balík definuje príkaz \epigraph na vytvorenie jedného epigrafu (ako
na vrchu kapitoly):
\chapter{The Social Life of Rabbits}
\epigraph{Oh! My ears and whiskers!}%
{Lewis Carroll}
Ďalej definuje prostredie epigraphs na zadávanie viacerých epigrafov za sebou
v istom druhu zoznamu tvoreného príkazmi \qitem :
\begin{epigraphs}
\qitem{What I tell you three times is true}%
{Lewis Carroll}
\qitem{Oh listen do, I'm telling you!}%
{A.A. Milne}
\end{epigraphs}
Príkaz \epigraphhead vám dovoľuje umiestniť epigraf nad hlavičku
kapitoly:
\setlength{\unitlength}{1pt}
...
\chapter{The Social Life of Rabbits}
\epigraphhead[]{%
\epigraph{Oh! My ears and whiskers!}%
{Lewis Carroll}%
}
(vzdalenosť) udáva, ako ďaleko nad nadpis kapitoly sa má epigraf
umietniť; je to vyjadrené v zmysle \unitlength (používané v prostredí
picture ). Autor balíku odporúča hodnotu 70pt .
Balík tiež poskytuje rôzne triky na nastavenie rozloženia hlavičky kapitoly
(potrebné, ak ste našli veľmi dlhú citáciu pre \epigraphhead ), na úpravu
bibliografie, na úpravu strán \part a tak ďalej. (Niektoré z týchto úprav
vás povedú cez písanie vlastného balíku...)
Trieda memoir poskytuje všetky prostriedky balíku epigraph . Triedy
Koma-script obsahujú príkazy \setchapterpreamble a \dictum , ktoré
tieto prostriedky tiež poskytujú.
epigraph.sty : CTAN: epigraph
balík KOMA script : CTAN: koma-script
memoir.cls : CTAN: memoir
Dokumenty s jinou základní velikostí písma
LaTeXové standardní třídy mají koncept základních velikostí
dokumentových fontů. Tyto velikosti jsou základem, na němž jsou
postaveny jiné fonty. Tyto třídy jsou postaveny na předpokladu, že
nebudou používány v jiné velikosti, než kterou umožňuje TeX (10–12
bodů), avšak lidé často potřebují psát jinou velikostí. Typograficky
správné řešení tohoto požadavku spočívá ve vytvoření nového designu
dokumentu, avšak tato představa spoustu lidí odrazuje. Někteří lidé
proto používají balíček CTAN: extsizes,
který umožňuje vytváření dokumentů třídy article , letter , report
nebo book ve velikostech 8, 9, 14, 17 a 20 bodů stejně dobře jako ve
velikostech 10–12.
Dvojité riadkovanie v dokumentoch LaTeXu
Rýchlym a jednoduchým spôsobom, ako získať medziriadkový priestor pre
korektúry, je zmena \baselinestretch — \linestretch{1.2} (alebo
\renewcommand{\baselinestretch}{1.2} ) môže pomôcť. Všimnite si, že
zmeny \baselinestretch sa neuplatnia, pokým si nevyberiete nový font, takže
zmenu robte v preambule predtým, než si vyberiete font. Nepokúšajte sa zmeniť
\baselineskip : jeho hodnota je zmenená po každom príkaze meniacom veľkosť,
takže výsledky by boli nekonzistentné.
Prednosť dajte radšej (pri produkčnom dokumente ako dizertačná práca alebo
článok) riadkovaciemu balíku. Jediným momentálne podporovaným balíkom je
setspace (nenechajte sa zviesť balíkom doublespace —
jeho výkon v aktuálnom LaTeX je prinajlepšom problematický).
Setspace vypína dvojité riadkovanie na miestach, kde by aj najdrsnejší
úradník spochybnil jeho užitočnosť (poznámky pod čiarou, popisky obrázkov atď.).
Je veľmi ťažké toto spraviť konzistentne, ak manipulujete s \baselinestretch
sami.
Skutočným riešením je samozrejme (pre iné účely než korektúra)
nepoužívať dvojité riadkovanie vôbec. Chovanie univerzít vyžadujúcich
dvojité riadkovanie v prácach je neospravedlniteľné: LaTeX je sádzací systém,
nie náhrada písacieho stroja a vie spraviť (správnym použitím) text
s jednoduchým riadkovaním dokonca čitateľnejší ako dvojito riadkovaný text.
Ak máte na systém vašej univerzity akýkoľvek vplyv (napríklad ako vedúci
práce), stálo by za to pokúsiť sa o zmenu pravidiel (aspoň povoliť formát
dobre navrhnutej knihy —„well-designed book“).
Dvojito riadkované príspevky sú tiež obvykle požadované na konferenciách alebo
v žurnáloch. Našťastie (súdiac podľa otázok uživateľov) je táto požiadavka
čoraz zriedkavejšia.
Dokumentácia setspace sa objavuje v samotnom balíku v podobe
TeXovských komentárov.
setspace.sty : CTAN: setspace
|