Osobitné spôsoby sadzby
   
Osobitné spôsoby sadzby CSTUG

Vyhledávání podle slov v CS-FAQ

Hledaný řetězec:


Kreslenie s TeXom

V LaTeXu/TeXu 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ý:

  1. pstricks; umným využívaním príkazu \special dáva prístup ku 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é vykreslujú 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 CTANpstricks.

  2. METAPOST; mali ste radi METAFONT, ale nikdy Vás neuchvátili súbory písem? Vyskúšajte METAPOST (pozri Otázku Čo je to METAPOST). Má všetku silu METAFONTu, ale generuje PostScript. D. Knuth ho používa v svojej práci.

  3. Mfpic; páči sa Vám METAFONT, ale nerozumiete jeho jazyku? Tento balík (CTANmfpic) 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.

  4. Páči sa Vám PiCTeX, ale nemáte dosť pamäti alebo času? Pozrite sa na makrá CTANdratex 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á.


Dvojité riadkovanie v dokumentoch LaTeXu

Píšete dizertáciu a chcete dodržať zvyklosti z éry písacích strojov? Alebo píšete článok pre redakciu časopisu, kde je požadované dvojité riadkovanie?

LaTeX je systém pre sadzbu a teda konvencie tu rešpektované sú šité na výrobu kníh a časopisov. Ak vaše požiadavky pramenia zo zvyklostí pre prípravu dizertácií, treba nájsť niekoho, kto je zodpovedný za tvorbu pravidiel na písanie dizertácií, a kto vám poskytne znenie zásad pre písanie dizertácií (napr. ,,ak používate systém pre sadzbu, snažte sa, aby vaša dizertácia vyzerala ako dobre vysádzaná kniha``). (Ak máte požiadavky z časopisu, potom je ešte nepravdepodobnejšie, že si môžete dovoliť tieto požiadavky zmeniť.)

Ak sa vám nepodarí presvedčiť zodpovedných činiteľov alebo chcete sami zmeniť medziriadkové medzery, potom:

  • Skúste zmeniť hodnotu \baselinestretch na 1.2-násobok základnej: \renewcommand{\baselinestretch}{1.2} a to môže byť už dosť, aby ste úradníka presvedčili, že pravidlá dodržiavate. Neskúšajte zmeniť \baselineskip: jeho hodnota sa mení pri každom rozmery meniacom príkaze.

  • Alternatívne, skúste line-spacing package (balík makier na medziriadkové zmeny). Možnosti sú:
    • jednoduchý balík makier doublespace na dvojité riadkovanie, CTANdoublespace, a
    • pokiaľ chcete väčšiu flexibilitu, použite balík makier setspace CTANsetspace, ktorý bol upravený pre LaTeX 2e.


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.

Lepší balík je CTANsoul, 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.

Na CTANu je balík CTANletterspacing.tex, v němž je definováno makro \letterspace. Používá se podobně jako \hbox :
\letterspace to 1.3\naturalwidth{Důkaz:}


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 CTANucthesis), 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 CTANpicins. 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 ale napísal anglické resumé, ktoré je v CTANpicins-summary

  • floatflt CTANfloatflt je zdokonalená verzia floatfig.sty (pre LaTeX 2e), a jeho syntax je:
    \begin{floatingfigure}[options]{ šírka obrázku}
    Obrázok
    \end{floatingfigure}

    Existuje aj (viac-menej 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 CTANwrapfig 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 mnoho, ale nie je jednoduché to urobiť. My to robiť nemusíme, urobil to Piet van Oostrum.

Balík je v adresári CTANfancyhdr. 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í CTAN2etools.

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:


  \begin{alltt}

   \input{verb.txt}

  \end{alltt}

Jistě, tak málo stačí pro vložení souboru...

Balík 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 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: CTANlineno (který dovoluje k jednotlivým řádkům výstupu připojit hesla) a CTANnumline.sty. 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 (CTANmoreverb nebo CTANfancyvrb, viz Otázku Doslovné (verbatim) vložení souboru v LaTeXu). Další balík - edmac (CTANedmac) - nabízí pomoc v případech kritických edicí.


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 CTANmakeindex. Verzia pre Macintosh je dostupná ako CTANmacmakeindex, 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) nebo TeXsis. (CTANtexsis)

  • idxtex pre LaTeX pod VMS. Je dostupný (spolu s ,,poznámkovačom`` glotexCTANglo+idxtex).

  • texindex Veľmi vtipná malá utilita pre LaTeX pod operačným systémom Unix. Je dostupná v CTANtexindex.

    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 (CTANxindy, 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 plainTeXom

Súbor CTANbtxmactex obsahuje makrá a dokumentáciu pre BibTeX s plain TeXom alebo priamo s Eplainom (pozri Otázku Co je to Eplain). Pozri 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í dvě možnosti přístupu k tomuto problému:

  • CTANpath.sty, který definuje příkaz \path. Tento příkaz definuje každý potenciálně problematický znak jako \discretionary a umožňuje každému uživateli definovat svůj osobní seznam těchto znaků. Jeho hlavní nevýhoda je, že patří mezi křehké příkazy.
  • CTANurl.sty, který definuje příkaz \url (mezi jinými také obsahuje vlastní příkaz \path). Tento příkaz přiřadí každému problematickému znaku matematický kód a pak URL vysází v matematickém režimu fontem, který si uživatel vybere. V LaTeXovém prostředí umožňuje vytvářet robustní příkazy (viz Otázku Proč se v LaTeXu užívá ochran (protection)).

Oba balíky fungují s plainTeXem i LaTeXem.


Sadzba nôt v TeXu

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 CTANmusictex. 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. Daniel Taupin a Andreas Egler vyvíjajú rôzne verzie MusiXTeXu. Obe sú dostupné v CTANmusixtex-taupin a CTANmusixtex-egler.

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 CTANmidi2tex.

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 CTANabc2mtex.

Pre diskusiu o problémoch sadzby nôt v TeXu je vytvorená diskusná skupina. Pre subskripciu je treba poslať na adresu mutex-request@stolaf.edu mail, ktorý obsahuje jediné slovo subscribe.


Kreslenie Feynmanových diagramov v LaTeXu

Makro-balík pre kreslenie Feynmanových diagramov v LaTeXu od Michaela Lavine je dostupný v CTANfeynman.

Môžeme tiež použiť CTANfeynmf, 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.


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ý v CTANovské archívu na adrese CTANeucal.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ů (CTANamsps-type1).
  • RSFS \usepackage{mathrsfs} (Tento balík je dostupný jako součást CTANjknappen) 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 CTANrsfs). 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 CTANhoekwater.
  • 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 CTANscriptfonts.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 CTANdraftcopy. 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 CTANms.


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 (CTANrotating, 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 (CTANgraphics). 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 pak můžete otočit pomocí balíku graphics (CTANgraphics. 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.


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 CTANextsizes, 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.


CSTUG
(c) 29.04.2002 16:18 Libor Škarvada, Tomáš Hudec, Aleš Vítek
Připomínky, opravy a zejména odpovědi na další časté otázky posílejte na adresu cstug-faq@cstug.cz
Připomínky k HTML verzi posílejte na adresu libor@fi.muni.cz nebo hudec@fi.muni.cz.