Jak udělám X v TeXu nebo LaTeXu? |
| Vyhledávání podle slov v CS-FAQ Hledaný řetězec: ### Prostředí důkaz (proof) Není možné vytvořit prostředí `proof` (matematický důkaz), které by umožňovalo automatické vkládání značky konce důkazu. Některé důkazy končí ve vysazené (displayed) matematice, jiné nikoli. Jestliže vstup obsahuje `...\] \end{proof}` pak LaTeX ukončí vysazenou matematiku a je připraven sázet nový řádek, aniž by předtím četl jakoukoli informaci spojenou s ukončením důkazu. Značka konce důkazu se tedy vysází na nový řádek, avšak podle tradic sazby se na nový řádek sázet nemá, a proto je ho třeba při psaní každého důkazu vkládat ručně. ### Matematické věty a definice sázené antikvou Chceme-li využít výhod příkazu `\newtheorem`, a přitom nechceme být omezeni na to, že obsah bude vysázen skloněným fontem (např. k vytvoření poznámek, příkladů, důkazů,...) pak použijeme styl `theorem.sty` (CTAN: 2etools). Popřípadě můžeme definovat prostředí, např. `remark`, jehož obsah bude sázen antikvou (roman):
      \newtheorem{preremark}{Poznámka}

      \newenvironment{remark}%

        {\begin{preremark}\rm}{\end{preremark}}
Prostředí nebude správně fungovat v případě, že mimo LaTeX 2e (nový standard LaTeXu) použijeme Makro NFSS (The New Font Selection Scheme). Příkaz `\rm` má totiž v tomto případě odlišný význam. ### Označení číselných množin Je jistě dobré mít příkazy typu `\R` pro standardní množinu reálných či jiných čísel. Tradičně byly tyto množiny sázeny tučně. Matematici však obvykle nemají přístup k tlustým křídám, a proto si vymysleli speciální symboly, které se nyní běžně používají pro označení `\R`, `\C`, atd. Tyto symboly jsou označovány jako ,,zdvojená latinka`` (blackboard bold). Dříve, než začneme trvat na použití těchto symbolů, bylo by dobré se zamyslet, zda by nebylo lépe se navrátit k původnímu označování číselných množin prostým tučným písmem, což by činilo věc daleko jednodušší. Sada velkých písmen zdvojené latinky je součástí AMS-fontů ,,msam`` (např. ,,msam10`` pro velikost 10pt) a ,,msbm``. Fonty obsahují veliké množství matematických symbolů, které podstatně rozšiřují sadu symbolů dodávanou ve standardní distribuci TeXu. Zdrojové soubory fontu jsou v CTAN: amsfonts-symbols Součástí balíku jsou i dva soubory, z nichž jeden usnadňuje vkládání fontů do dokumentu a ve druhém jsou definovány příkazy pro jednotlivé symboly. Oba lze použít jak v TeXu tak v LaTeXu. Otázky a doporučení tykající se těchto fontů směrujte na `tech-support@math.ams.org.` Jiná úplná sada fontů zdvojené latinky, rodina fontů bbold, je dostupná ve zdrojových souborech pro METAFONT v adresáři CTAN: bbold. Zajímavostí je, že tyto fonty obsahují kromě velkých i malá písmena, které jsou na skutečných tabulích vidět jen zřídka. Lze vytvořit jednoduchá makra pro tvorbu zdvojené latinky:
      \newcommand{\R}{{\sf R\hspace*{-0.9ex}%

        \rule{0.15ex}{1.5ex}\hspace*{0.9ex}}}

      \newcommand{\N}{{\sf N\hspace*{-1.0ex}%

        \rule{0.15ex}{1.3ex}\hspace*{1.0ex}}}

      \newcommand{\Q}{{\sf Q\hspace*{-1.1ex}%

        \rule{0.15ex}{1.5ex}\hspace*{1.1ex}}}

      \newcommand{\C}{{\sf C\hspace*{-0.9ex}%

        \rule{0.15ex}{1.3ex}\hspace*{0.9ex}}}
která lze s úspěchem použít v případě, že okolní text je sázen `cmr10`. Avšak, jelikož se nejedná o řádné matematické fonty, nelze je užít v matematických indexech. Krom toho velikost a poloha vertikální linky je ovlivněna výběrem fontu okolního textu (makra obsahují `ex`). ### Jak vysázím značku stupně v TeXu Pomocí makra `\degree` definovaného takto: `\newcommand{\degree}[1][]{\ensuremath{{#1}^\circ}}` ### Jak vysázím ,,středoevropské`` uvozovky Uvozovky v češtině, slovenštině, jakož i jiných středoevropských jazycích, mají jiný tvar než anglické ``'', které TeX sází implicitně. Nejjednodušší způsob, jak vysázet text v ,,našich`` uvozovkách, je pomocí makra `\uv`: `v~\uv{našich} uvozovkách`. Makro `\uv` je součástí balíků `czech.sty` a `slovak.sty`. Lepším a obecnějším řešením je makro Tomáše Hály `\uviq`, které dovoluje uvozované texty vnořovat. Toto makro je součástí distribuce CSTeX. ### Chci desetinnou čárku místo tečky TeX implicitně předpokládá, že v zápisu desetinných čísel odděluje desetiny od jednotek desetinná tečka. Čárku zapsanou v matematickém módu TeX považuje za oddělovač položek v posloupnostech, množinách apod., a proto za ni sází malou mezeru. Chceme-li jednorázově vysázet desetinné číslo s desetinnou čárkou, stačí čárku uzavřít do skupiny: `$3{,}14159$`. Takové řešení je však nevýhodné pro texty, kde je desetinných čísel mnoho. V takovém případě lze nastavit globálně, že za čárkou v matematickém módu se mezera sázet nemá:
       \mathcode`,="002C

       $3,14159$
Pokud při tomto globálním nastavení přesto někde mezeru udělat potřebujeme, musíme ji napsat explicitně: `$(m,\,n)$` nebo `$\{0,\:1,\:2\}$`. Jiným řešením je ponechat ve vstupním souboru desetinné tečky, ale přemapovat na čárky (to se hodí třeba tehdy, když máme velké soubory desetinných čísel z jiných výstupů).
       \mathcode`.="002C

       $3.14159$
### Označování položek výčtů Chceme-li, aby nejvyšší úroveň číslovaného výčtu `enumerate` byla označena ,,I/``, ,,II/``, ..., musíme použít příkazy:
       \renewcommand{\theenumi}{\Roman{enumi}}

       \renewcommand{\labelenumi}{\theenumi/}
Možné styly číslování jsou popsány v oddíle 6.3 Lamportova manuálu (viz Knihy o TeXu a příbuzná literatura). Jsme-li pohodlní a po změně `\labelenumi` provedeme pouze jedno zpracování LaTeXem, budou naše křížové odkazy chybné. Pro nižší úrovně výčtu `enumerate` je třeba zaměnit `enumi` v předchozím příkladě za `enumii`, `enumiii` či `enumiv`, podle úrovně, kterou chceme upravovat. Je-li nové označení položky širší než označení původní, je také třeba změnit `\leftmargini`, `\leftmarginii` atd. Použijeme-li styl `enumerate.sty` (CTAN: 2etools) pro LaTeX 2e, který řeší obdobný problém, získáme stejný výsledek jako předchozím příkladě tak, že na začátek výčtu umístíme příkaz `\begin{enumerate}[I/]`. ### Nečíslované oddíly v obsahu Nejjednodušším způsobem, jak vytvořit v obsahu položku pro takové zvláštní části textu jako jsou například předmluvy, je užití čítače `secnumdepth`, který je popsán v dodatku C manuálu LaTeXu. Například:
        \setcounter{secnumdepth}{-1}

        \chapter{Předmluva}
Samozřejmě, že před opětovným použítím číslovaného oddílu je potřeba nastavit parametr `secnumdepth` zpět na jeho obvyklou hodnotu (ve standardních stylech 2). Následuje vysvětlení. Použije-li se `\chapter` bez hvězdičky: vloží se něco do `.toc` souboru; je-li čítač `secnumdepth` větší nebo roven nule, zvětší se čítač kapitoly o jedničku a vysází se jeho hodnota. vysází se název kapitoly. Ostatní příkazy na rozdělování textu (`\section`, `\subsection`,...) pracují obdobně, avšak testují jinou hodnotu. Hodnota čítače `tocdepth` ovlivňuje, který nadpis bude vytištěn v obsahu. Běžně se má jeho hodnota nastavit v preambuli dokumentu, pak je pro celý dokument konstantní. Balík tocvsec2 (CTAN: tocvsec2) nabízí celkem vyhovující rozhraní umožňující měnit hodnotu čítače `secnumdepth` a/nebo `tocdepth` kdekoliv v těle dokumentu. To nabízí docela slušnou nezávislou kontrolu nad číslováním položek v obsahu. Balík abstract (viz Otázku Jednosloupcový výtah v dvousloupcovém dokumentu) zahrnuje volbu pro přidání abstraktu do obsahu, zatímco balík tocbibind (CTAN: tocbibind) má volbu pro vložení samotného obsahu, bibliografie, rejstříku atd. do obsahu. ### Poznámky pod čarou v tabulkách Standardní LaTeXový příkaz `\footnote` neumí pracovat v prostředí tabulek. Toto prostředí totiž poznámkám neumožní ,,uniknout`` až na konec stránky. Pokud je tabulka plovoucí, nejlepší řešení je umístit tabulku do prostředí `minipage` a umístit pak poznámky na spodní okraj stránky nebo použít balík CTAN: threeparttable.sty od Donalda Arsenaua. Pokud není, pak můžete použít jednu z možností: Pomocí `\footnotemark` můžete vhodně umístit do textu značku poznámky před ukončením prostředí `table` vložte příkaz `\footnotetext`. Tento způsob je popsán v Lamportově knize, můžete však použít pouze jednu poznámku. Vložte tabulku do prostředí `minipage`. To vám umožňuje použít všechny vlastnosti poznámek bez většího úsilí. Použijte CTAN: threeparttable.sty. Balík je sice vytvořen pro plovoucí tabulky, ale můžete ho použít i v tomto případě. Použijte `tabularx` nebo `longtable` z LaTeXové distribuce (CTAN: 2etools). Klasické poznámky sice zvládá o poznání hůře než prostředí `tabular`, avšak povoluje poznámky pod čarou. Stáhněte balík footnote skrytý ve CTANovském archívu na adrese CTAN: mdwtools. Pak vložte vaši tabulku do prostředí `savenotes`. Alternativně můžete do preambule dokumentu napsat `\makesavenoteenv{tabular}` a tabulka zvládne poznámky pod čarou korektně. Použijte mdwtab ze stejného adresáře. Ten umí nejen správně zvládat poznámky pod čarou, ale navíc ještě umí vaši tabulku zkrášlit. Ten však může být nekompatibilní s jinými balíky. ### Nadpisy tabulek a obrázků Ve standardním LaTeXu se nadpisy tabulek centrují, zatímco tabulky se sázejí od levého okraje. Je-li tabulka úzká, není výsledek estetický. Řešením může být balík CTAN: caption2. Zarovnání nadpisu se pak nastaví pomocí `\captionstyle`. ### Vzhled nadpisů Předpokládejme, že editor našeho oblíbeného časopisu vyžaduje, aby nadpisy oddílů byly centrované a vysázené kapitálkami a pododdíly byly zarovnány vpravo a vysázeny kurzívou. Nechce se nám však zaplétat do takového druhu programování jaký je popsán v The LaTeX Companion (viz Knihy o TeXu a příbuzná literatura; `\@` a `@` ve jménech maker samotné je diskutováno pod `@'). Následující trik pravděpodobně editory uspokojí. Nově definované příkazy `\ssection` a `\ssubsection`:
      \newcommand{\ssection}[1]{%

         \section[#1]{\centering\textsc{#1}}}

      \newcommand{\ssubsection}[1]{%

         \subsection[#1]{\raggedright\textit{#1}}}
se pak použijí namísto obvyklých `\section` a `\subsection`. Není to však nejhezčí řešení. Čísla v nadpisech oddílů zůstávají vysázena tučně a hvězdičkovaná forma příkazů musí být předefinována zvlášť. Uvedené definice nebudou správně fungovat v případě, že se použije Makro NFSS (The New Font Selection Scheme) mimo LaTeX 2e (nový standard LaTeXu), jelikož v takovém případě se příkazy měnící typ písma chovají odlišně. Balík CTAN: sectsty nabízí jednoduše použitelnou sadu příkazů pro tuto práci, zatímco balík CTAN: titlesec umožňuje pokročilejší řešení této problematiky (titlesec přichází s druhým balíkem - titletoc - který je používán pro úpravu formátu celého obsahu. Záhlaví příkazů `\chapter` a `\part` jsou vytvářena jiným mechanismem, balík sectsty umí zacházet s oběma, zatímco titlesec umí upravit pouze `\chapter`. Balík CTAN: fncychap nabízí širokou škálu předem definovaných designů nadpisů kapitol. ### Odsazení odstavce po nadpisu LaTeX používá stylů, jež neodsazují první odstavec za nadpisem. Je mnoho důvodů proč tomu tak je, ale ne každému to vyhovuje (např. to neodpovídá tradicím české typografie). Užijeme-li styl `indentfirst.sty` (CTAN: 2etools), pak se tento mechanismus potlačí, takže první odstavec bude odsazen. ### Poznámky v LaTeXových nadpisech Umístění příkazu `\footnote` v argumentu příkazu `\section` není dostačující. Použití `\protect\footnote` také není příliš dobrý nápad: argumenty příkazu `\section` jsou používány v obsahu a potenciálně i v záhlaví stránky. Bohužel neexistuje rozumný způsob, jak zamezit zobrazování těchto poznámek v záhlaví a obsahu. K jejich potlačení musíte udělat toto: Využijte toho, že povinné argumentu nejsou volány, pokud se zde vyskytují volitelné: `\section[title]{title\footnote{title ftnt}}` Použijte balík CTAN: footmisc s volbou balíku `stable` - ten upraví poznámky pod čarou tak, že lehce a tiše zmizí, pokud jsou použité jako nepovinné argumenty. ### Změna okrajů v LaTeXu Neměňte okraje v LaTeXu, naučte se LaTeX, napište několik dokumentů a teprve poté se zkuste zeptat znovu: ,,Jak změním okraje v LaTeXu``. Nikdy nelze změnit skutečné okraje dokumentu pomocí programu, jelikož velikost okrajů závisí na konkrétní velikosti použitého papíru, která se může lišit od velikosti, se kterou pracuje počítač (například standardní americký papír má jinou šířku než papír formátu A4). Co však lze měnit, jsou vzdálenosti od domnělého horního a levého okraje papíru a šířka a výška textového zrcadla. Změna šířky a výšky textu vyžaduje daleko více zručnosti, než by se dalo čekat. Výška textu by měla mít jistý vztah ke vzdálenosti po sobě následujících účaří (`\baselineskip`). Šířka by neměla být větší než 75 znaků. Lamportova upozornění v kapitole ,,Customizing the Style`` bychom měli brát vážně. Jednopalcové okraje na papíru formátu A4 jsou vhodné pro psaní na stroji, ale nehodí se pro sazbu desetibodovým písmem, jelikož tolik znaků na jednom řádku zhoršuje čitelnost. ### Trvání na změně okrajů v LaTeXu V této odpovědi se nejprve naučíme změnit okraje v celém dokumentu, poté se dozvíme, jak změnit okraje jenom v jeho části. Snad nejsnazším způsobem, jak získat více místa na stránce, je použít stylu CTAN: fullpage, který nastaví okraje stránky shodně s `plain` TeXem, t.j. jednopalcové okraje od všech čtyř stran papíru. Kromě standardního amerického formátu obsahuje i nastavení pro formát A4. Lepší je však CTAN: vmargin, který obsahuje nadefinovanou množinu velikostí papíru (nadmnožinu těch, jež obsahuje LaTeX 2e), možnost definování vlastní velikosti papíru, nastavení okrajů a podporu dvoustranného tisku. Následuje krátké vysvětlení parametrů popisujících stránku v LaTeXu. Podrobnosti jsou probrány v oddíle C.5.3 manuálu LaTeXu (str. 181-182). Počátek souřadného systému `dvi` souboru je jeden inch od horního a jeden inch od levého okraje papíru. To vysvětluje, proč v manuálu LaTeXu je používáno soustavně o jeden inch méně. V souřadném systému `dvi` souboru rostou kladné hodnoty vpravo v horizontální a dolů ve vertikální ose. Proto chceme-li, aby okraje textu byly blíže než jeden inch k levému nebo hornímu okraji, musí být hodnoty odpovídajících parametrů, t.j. `\evensidemargin`, `\oddsidemargin`, `\topmargin`, záporné. Parametry `\topmargin`, ... neumožňují změnit velikosti okrajů uvnitř dokumentu, lze je měnit pouze v preambuli zdrojového textu, t.j. před příkazem `\begin{document}`. K nastavení okrajů uvnitř dokumentu lze definovat prostředí:
    \newenvironment{changemargin}[2]{%

     \begin{list}{}{%

      \setlength{\topsep}{0pt}%

      \setlength{\leftmargin}{#1}%

      \setlength{\rightmargin}{#2}%

      \setlength{\listparindent}{\parindent}%

      \setlength{\itemindent}{\parindent}%

      \setlength{\parsep}{0pt plus 1pt}%

     }%

    \item[]}{\end{list}}
Prostředí umožňuje odsadit text zleva a zprava o hodnoty uvedené v jeho prvním a druhém parametru. Záporné hodnoty vedou k zúžení okraje; například `\begin{changemargin}{-1cm}{-1cm}` zúží levý a pravý okraj o 1cm. (Je třeba upozornit, že hodnota `0pt plus 1pt` přiřazená `\parsep` je základní hodnotou pro LaTeX; správně by tam však měla být hodnota stejná jako v okolním textu.) ### Zjištění šířky písmene, slova nebo sousloví Slovo se vloží do boxu a poté se zjistí šířka tohoto boxu. Například:
      \newdimen\stringwidth

      \setbox0=\hbox{hi}

      \stringwidth=\wd0
Je třeba však mít na paměti, že je-li v `\hbox`u sousloví, hodnota, kterou určíme, bude pouze přibližnou šířkou, kterou bude vysázené zaujímat ve skutečném textu, neboť mezislovní mezery se při sazbě odstavce mohou změnit. V LaTeXu lze problém řešit takto:
      \newlength{\gnat}

      \settowidth{\gnat}{\textbf{small}}
Hodnota `\gnat` se v tomto případě nastaví na hodnotu šířky ,,small`` vysázeného tučně. ### Vyloučení části textu z `.dvi` souboru `verbatim.sty` Rainera Schöpfa zavádí prostředí `comment`, které umožňuje část textu mezi `\begin{comment}` a `\end{comment}` označit jako komentář a tedy vyloučit z `.dvi`. Balík lze nalézt na CTANu v adresáři CTAN: 2etools. Obecnější prostředí, které rovněž umožňuje vypouštět části textu, CTAN: comment Viktora Eijkhouta, nabízí navíc jednoduché prostředky pro definici vlastních prostředí pro ponechání nebo přeskočení části textu v dokumentu, přičemž lze nastavit, zda prostředí právě slouží pro ponechání textu nebo jeho vynechání. ### Sazba tučných řeckých písmen Jednoduchým řešením tohoto problému je příkaz `\mathbf`, který však nefunguje ve všech případech, protože malá řecká písmena chovají jinak než velká (z důvodů Knuthova esoterického kódování fontů). Nicméně za normálních okolností můžeme `\mathbf` použít pro řecké verzálky, ale AMSLaTeXový balík `amsmath.sty` nepovoluje toto přepínání fontů a pak tedy musíte použít jednu z níže popsaných technik. V některých případech funguje plainTeXové řešení `{\boldmath$\theta$}`, ale `\boldmath` nemůže být použit v matematickém módu, pak to musíte vyřešit následovně: `$...\mbox{\boldmath$\theta$}...$`, to působí problémy v superskriptech a podobně. Tyto problémy mohou být přičítány použití balíku `\boldmath`. balík bm, který je součástí distribuce LaTeXových nástrojů (CTAN: 2etools) definuje příkaz `\bm`, který lze použít kdekoliv v matematickém režimu. balík amsbsy, který je součástí AMSLaTeXu (CTAN: amslatex) definuje příkaz `\boldsymbol`, který pokrývá téměř všechny základní problémy. Všechna tato řešení můžete použít na všechny matematické symboly, nejen na řecká písmena. ### Definice nových označení matematických funkcí v LaTeXu Použije se příkaz `\mathop` podobně jako v tomto příkladě:
      \newcommand{\diag}{\mathop{\rm diag}}
Spodní a horní indexy funkce `\diag` budou umístěny obdobně jako u `\lim` (limita). K tomu, aby indexy byly vždy umístěny vpravo od označení funkce, se použije tato definice:
      \newcommand{\diag}{\mathop{\rm diag}\nolimits}
Tyto definice fungují pouze v LaTeXu 2e a LaTeXu 2.09, avšak nelze je použít spolu s NFSS (viz Podivné chování `\rm`, `\bf`, atd.). V LaTeXu 2e lze problém řešit i tak, že se použije příkaz `\operatorname` z amstex, které je součástí AMSLaTeXu (CTAN: amslatex). Kanonické řešení tohoto problému v LaTeXu 2e však spočívá v použití příkazu `\DeclareMathOperator` z balíku amsopn, který je opět součástí AMSLaTeXu. ### Obrázky v TeXovém dokumentu Součástí TeXových dokumentů mohou být obrázky. Protože pro obrázky existuje mnoho formátů, existuje i více způsobů, jak zařídit, aby se nám na daném místě dokumentu obrázek objevil. Obrázek se však nevkládá ,,přímo do zdrojového textu``. Do zdrojového textu se umístí volání makra, které vytvoří místo pro obrázek. Skutečný import obrazových dat provede posléze TeXový ovladač. Obvykle používaný formát obrázků je `eps` (zapouzdřený PostScript). Pro vložení takového obrázku lze použít balík CTAN: epsfig. Další informace o vkládání postscriptových obrázků a odkazy na starší balíky viz Vkládání PostScriptových obrázků v LaTeXu. Vkládání bitmapových obrázků ve formátu `pcx` podporují ovladače v emTeXu (viz Příkazy typu `\special`). ### Obtékání obrázků Někdy je třeba umístit obrázek dovnitř odstavce, na jednu stranu textového zrcadla - takovým obrázkům říkáme obtékané. Balík CTAN: picinpar definuje prostředí `window`, kterým lze obrázek umístit na levou či pravou stranu odstavce (nebo dokonce doprostřed). Dalšími podobnými balíky jsou CTAN: wrapfig nebo CTAN: window. ### Sazba názvů programů používaných spolu s TeXem Donald Knuth definoval logo TeXu jako konkrétní ukázku toho, co TeX umí. Žel, mnozí si však myslí, že tím přivodil záplavu různých log, jako například AMSTeX, PiCTeX, BibTeX, atd. vytvořených pomocí velkého množství různých fontů, velikostí i základních linek -- jistě vám to znepříjemní čtení. Lamport vymyslel logo LaTeX, což pak přirozeně vedlo ke vzniku nynějšího loga LaTeX 2e. Není však nutně třeba uvádět tato loga v jejich komplikovaném tvaru všude tam, kde se příslušný název vyskytne, avšak pro ty, kdo trvají na jejich použití, existuje v souboru CTAN: texnames veliké množství předdefinovaných log. Fonty loga METAFONTu mohou být přidány k fontům, které LaTeX 2e již zná (tak, že se pak může měnit jeho rozměr spolu s okolním textem) použitím balíku CTAN: mflogo. Pro ty, kdo nepotřebují mít v dokumentu vysázená ta ,,správná`` loga, stačí použít `AMS-\TeX{}` (AMS-TeX) namísto AMSTeX, `Pic\TeX{}` (PicTeX) namísto PiCTeX, `Bib\TeX{}` (BibTeX) namísto BibTeX, atp. ### Jednosloupcový výtah v dvousloupcovém dokumentu Občas je třeba dvousloupcový článek opatřit jednosloupcovým výtahem. Nejlepším způsobem je použít následující trik:
      \documentclass[twocolumn]{article}

      ...

      \begin{document}

      ... % \author, etc

      \twocolumn[

        \begin{@twocolumnfalse}

          \maketitle

          \begin{abstract}

            ...

          \end{abstract}

        \end{@twocolumnfalse}

      ]
Takto však nebude pracovat správně, použijete-li `\thanks` v seznamu `\author`. Pokud potřebujete takto speciálně šíslovaný seznam, docílíte toho následovně:
      \title{Demonstration}

      \author{Me, You\thanks{}}

      \twocolumn[

        ... to samé, co výše ...

      ]

      {

        \renewcommand{\thefootnote}%

          {\fnsymbol{footnote}}

        \footnotetext[1]{Thanks for nothing}

      }
atd. Alternativně můžete použít balík {itabstract} (dostupný z CTAN: abstract), který (kromě jiných usnadnění práce s abstrakty) nabízí příkaz `\saythanks` a prostředí `onecolabstract`, které odtraní potřebu ,,švindlovat`` s `\thanks` a poznámkami. Můžete to použít následovně:
    \twocolumn[

      \maketitle

      \begin{onecolabstract}

      ... text

      \end{onecolabstract}

    ]

    \saythanks
### Změna slov používaných LaTeXem LaTeX používá několik symbolických jmen, které vytvářejí automatický text (nadpisy, tituly, atd.). Např. část textu vysázená příkazem `\tableofcontents` je vždy volána příkazem `\contentsname`. Umožňuje však běžnému uživateli změnit jména používaná standardními třídami, což je užitečné hlavně při tvorbě neanglických dokumentů. Pokud třeba daný dokument píše český autor, chce, aby byl obsah nazván opravdu ,,Obsah`` a ne ,,Table of Contents``, v tom případě musí do preambule dokumentu vložit text `\renewcommand{\contentsname}{obsah}` Nicméně pro neanglického uživatele je přirozené používat babel, protože nabízí mnoho výhod a zpříjemňuje vytváření dokumentů v jejich přirozeném jazyce. Zvláště pokud v babelu vyberete jiný jazyk, tak vám zajistí, že LaTeXová symbolická jména budou vhodně překládána do vybraného jazyka podle vašeho pořadavku. Bohužel výběr jmen v babelu nevyhoví vždy požadavkům uživatele, proto je třeba mechanismus pro náhradu standardních jmen. Kdykoliv babel vybere jiný jazyk, pak jsou všechna standardní jména přeložena právě do tohoto jazyka. Babel zvláště vybírá hlavní jazyk dokumentu, když je vykonán příkaz `\begin{document}`, který ihned zničí veškeré změny standardních jmen, která byla provedena v preambuli dokumentu používajícího babel. Proto babel definuje příkaz, který uživateli umožní změnit definice symbolických jmen na základní výrazy jeho mateřštiny: `\addto\caption<language>`, kde `<language>` značí jazyk, který babel bude používat jako primární. Např.
    \addto\captionczech{%

       \renewcommand{\contentsname}{Obsah}%

    }
### Výpisy zdrojových kódů v LaTeXu Někteří neuroticky estetičtí programátoři považují ,,krásné`` zdrojové kódy za něco k nezaplacení. Správně strukturované zdrojové kódy však mají své místo při psaní disertačních prací studenty informatických i jiných věd, od kterých se očekává, že v budoucnosti budou programovat. Běžně se používá doslovné citování kódů. Doslovné vkládání kódů je však rozebíráno jinde (viz Otázku Doslovné (verbatim) vložení souboru v LaTeXu). ,,Krásné`` kódy jsou generovány pomocí pre-compileru, avšak balík `listings` (CTAN: listings) toto převádí na LaTeX. Dobrým pre-compilerem je systém `lgrind` (CTAN: lgrind), který obsahuje mnoho výhodných vylepšení, která se vám mohou hodit a také má velice široký výběr jazyků. Systém `tiny_c21` (CTAN: tinny_c21) je o něco novější, uživatelé si zde mohou vygenerovat vlastní ovládací soubory pro daný jazyk, jehož kódy zpracovávají. Systém `C++2LaTeX` (CTAN: C++2LaTeX-1_1pl1) přináší mnoho doporučení pro používání s jazyky C a C++. ### Sazba symbolu hlavní hodnoty integrálu Tento symbol (,,přeškrtnutý`` znak integrálu) není obsažen v žádném fontu, který by byl bežně dostupný uživatelům TeXu nebo LaTeXu, může však být vytvořen pomocí následujícího makra:
    \def\Xint#1{\mathchoice

       {\XXint\displaystyle\textstyle{#1}}%

       {\XXint\textstyle\scriptstyle{#1}}%

       {\XXint\scriptstyle\scriptscriptstyle{#1}}%

       {\XXint\scriptscriptstyle\scriptscriptstyle{#1}}%

       \!\int}

    \def\XXint#1#2#3{{\setbox0=\hbox{$#1{#2#3}{\int}$}

         \vcenter{\hbox{$#2#3$}}\kern-.5\wd0}}

    \def\ddashint{\Xint=}

    \def\dashint{\Xint-}
Pro sazbu jednou přeškrtnutého znaku integrálu se použije příkaz `\dashint`, pro sazbu dvakrát přeškrtnutého znaku použijeme `\ddashint`. ### Používání nových jazyků v babelu Babel umí pracovat se širokou řadou jazyků, avšak občas se stane, že nový uživatel chce používat jazyk, který jeho instalace TeXu neumí používat. Např. požadavek `\usepackage[catalan]{babel}` vyvolá chybové hlášení
    Package babel Warning: No hyphenation patterns

    ... were loaded fo the language `Catalan'.

    ... I will use the patterns loaded for

    ... \language=0 instead.
Problém je v tom, že TeX neví, jak dělit katalánská slova: musíte mu to říct, dříve než babel začne pracovat. V LaTeXové instalaci musíte přidat do souboru `language.dat`, který je součástí babelovké instalace, řádek `catalan cahyphen.tex` který, pokud odstraníte komentovací znaménko `(%)`, řekne LaTeXu, že má nahrát vzor pro katalánské dělení slov, pokud mu řeknete, aby vytvořil nový formát. Bohužel, v mnoha babelovských distribucích právě tento řádek není správný - musíte zkontrolovat jména souborů, obsahující vzory, které se chystáte použít. Jak můžete vidět, v autorově systému je očekáván soubor `cahyphen.tex`, ačkoliv jméno souboru, který je v systému, je `cahyph.tex`. V lepších distribucích je většina těchto souborů obsažena, chybějící soubory si můžete najít na CTANovském archívu. Pokud si stáhnete nový soubor, zajistěte jeho korektní instalaci (viz Otázku Instalace nových balíčků). Nakonec musíte obnovit formáty, které používáte (ve skutečnosti většina uživatelů používá babel v LaTeXových dokumentech, takže zde bude dost formátů, které bude nutno upravit; nicméně uživatelé často opravují soubory, které s tímto nemají nic společného). teTeX, fpTeX : pro obnovu všech formátu použijte toto: `fmtutil -all` Pokud si být chcete jisti, co děláte, (to není pro zbabělé), můžete si vybrat posloupnost formátů, které chcete upravovat, a pro každý z nich spustit `fmtutil -byfmt <formatname>`, kde `<formatname>` je něco jako LaTeX nebo `fmtutil -byhyphen <hyphenfile>`, kde `<hyphenfile>` je soubor specifikující dělení slov do formátu - obvykle `language.dat`. MikTeX V MikTeXovské distribuci do verze 2.0 udělejte: `Start` -> `Programs` -> `Miktex` -> `Maintenance` -> `Create all format files` nebo otevřete DOSovské okno a napište `initexmf -dump`. V MikTeXovských distribucích verze 2.0 a vyšší může být celá procedura provedena pomocí GUI. Nový jazyk vyberete takto: `Start` -> `Programs` -> `Miktex 2` -> `Miktex options` a vyberte `Languages`. Vyberte jazyk ze seznamu a stiskněte tlačítko `Apply` a svou volbu potvrďte stiskem buttonku `OK`. Pak vyberte `general` a stiskněte tlačítko `Update Now`. Další možností je vyeditování souboru `language.dat` jak bylo popsáno výš a spusťte `initexmf -dump` jako u verzí nižších než 2.0. POZOR: Je možné, že váš TeX skončí s chybovou hláškou týkající se nedostatku paměti při vytváření nových formátů. Většina TeXových implementací má na uchování dat týkajících se tohoto problému vyhraženo pole fixní délky. Pokud shledáte, že vám přetekla paměť, může to být zásluha prohledávání seznamu dostupných jazyků ve vašem souboru `language.dat`, pak se tedy podívejte, který z jazyků může být odstraněn.
| (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.