Portál AbcLinuxu, 3. května 2025 18:48

Typografický systém Lout: Formátování

7. 7. 2009 | David Kolibáč
Články - Typografický systém Lout: Formátování  

V druhém dílu seriálu o Loutu se naučíme jednoduše formátovat text, což zahrnuje vytváření odstavců, seznamů, nadpisů a tak dále.

Obsah

Zdrojové kódy

Dále v textu nehodlám uvádět kompletní zdrojové texty příkladů. Kostru pro své dokumenty najdete v předchozím dílu seriálu. Předpokládám, že již máte Lout nainstalovaný a budete ho používat.

Objekty

Ne, řeč opravdu nebude o objektově orientovaném programování… Objekty v Loutu jsou obdélníky, jimiž jsou ohraničeny části dokumentu – znak je objektem, tučně psaný text je objektem, odstavec je objektem nebo třeba celá stránka je objektem. O objekt jde samozřejmě i v případě, že je například odstavec přerušen koncem stránky.

@B Lorem ipsum dolor sit amet, consectetaur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Tučně je napsáno jen první slovo, ale když jich budeme chtít mít tučných více? Použijeme složené závorky, v nichž bude obsaženo to, co chceme ztučnit. Je to z toho důvodu, že @B je symbol (respektive příkaz), který se vztahuje k následujícímu objektu, a tím je v tomto případě slovo. Více slov uzavřených ve složených závorkách tvoří dohromady jeden objekt.

@B { Lorem ipsum } dolor sit amet, consectetaur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

lout 2 objekty

Kolem složených závorek mezery být nemusí, nicméně je konvencí používat je, zvyšuje se tím čitelnost kódu. Možná vás napadlo, že by se měly zobrazit, když jsem v minulém dílu tvrdil, že se má více mezer vedle sebe zobrazit a ty složené závorky se přece "nepočítají"… Inu, to pravidlo platí jen pro bílé znaky mezi objekty. Všimněte si, co se stane s mezerami v následujícím příkladu:

@I { im }@B { possible }

Ale pozor, symboly musí být odděleny bílými znaky – něco jako @B@I slovo neprojde.

Ještě musím zmínit prázdný objekt, tedy objekt, který je „vykreslen“ jako obdélník nulových rozměrů, není tedy vykreslen vůbec. Zapisuje se jako prázdné složené závorky {} nebo prázdné uvozovky "". Symbol, za nímž nenásleduje objekt, také tvoří prázdný objekt, například:

@PP
@PP

Rozbor problematiky objektů (a mezer) v Loutu najdete v uživatelské příručce hlavně na stranách 3 až 7.

Exotické znaky

Může se stát, že budete potřebovat vložit do dokumentu nějaký méně častý znak, který se na klávesnici nenachází… Lout jich naštěstí zná celou řadu (vyčerpávající přehled najdete v dokumentaci na stranách 7 až 12), nyní jen malá ukázka:

@Sym Delta @Sym Phi means...
"\""@Euro – Teuro"\""...
The F{ @Char aring }r{ @Char odieresis } island is situated...
Mummy, I see @Ding a118 in the sky...

lout 2 symboly

Písma

V minulém dílu již byla zmíněna definice písma pro celý dokument:

@InitialFont { písmo varianta [další volby] velikost }

Lokálně lze měnit písmo příkazem @Font:

volby @Font objekt

V následujícím příkladu si všimněte použití relativních jednotek:

Tento text je normální. { Helvetica Slope +2p } @Font { A 1.5f @Font tento ne. }

lout 2 pisma

Pro zjednodušení existuje příkaz @R pro normální písmo, @I pro kurzívu, @B pro tučné, @S pro kapitálky, @BI pro tučnou kurzívu a dále „inteligentní“ příkaz @II, který aplikuje kurzívu jak v tučném, tak v normálním textu bez změny tučnosti.

Přehled písem a další podrobnosti najdete v dokumentaci na stranách 13 až 16.

Nyní je záhodno ještě zmínit příkaz pro horní respektive dolní index – @Sup resp. @Sub. Fungují přesně tak, jak lze očekávat.

Základní formátování

Příklad snad hovoří v zásadě za vše:

@Display @Heading { De Finibus et Malorum }
@PP
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium
doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore
veritatis et quasi architecto beatae vitae dicta sunt explicabo...
@PP
At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis
praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias
excepturi sint occaecati cupiditate non provident,...
@RightDisplay Cicero

Stručně o použitých příkazech:

@LeftDisplay, @Display, @RightDisplay
Zarovnává blok textu doleva, na střed, doprava (více na stranách 33 a 34).
@Heading
Označuje nadpis, obvykle se používá společně s některou z variant příkazu @Display.
@PP
Začíná odstavec, existují i další příkazy pro různě formátované odstavce (viz strany 17 až 18 v dokumentaci).

lout 2 text

Seznamy

Obecný tvar seznamu je:

začátek
položky
konec

Počáteční částí je symbol určující typ seznamu, tedy jaká odsazení nebo jaké odrážky se použijí ve výsledném dokumentu. Seznam je zpravidla ukončen symbolem @EndList. Mezi těmito dvěma symboly se nacházejí jednotlivé položky.

Takže jaké druhy seznamů máme na výběr?

@IndentedList, @LeftList, @CentredList,...
Uvozuje seznam bez odrážek, formátování odpovídá příslušnému příkazu @Display.
@NumberedList, @RomanList, @AlphaList
Uvozuje uspořádaný seznam, v němž jsou jako odrážky použita čísla nebo písmena – u nich existují varianty s velkými písmeny (začínají na UC). Na začátek příkazu lze také postavit Paren, což způsobí umístění odrážek do závorek a odstranění teček za nimi.
@BulletList, @StarList, @DashList
Uvozuje seznam s příslušným druhem odrážek.
@TaggedList, @WideTaggedList, @VeryWideTaggedList
Používá se, když je třeba vytvořit seznam s vlastním textem na místě odrážek. V tomto případě se pro položku seznamu používá symbol @TagItem, pokud má být „odrážka“ na novém řádku, používá se @DropTagItem.
@VeryWideTaggedList
@TagItem { první položka } { Lorem ipsum dolor… }
@DropTagItem { druhá položka } { Lorem ipsum dolor… }
@TagItem { třetí položka } { Lorem ipsum dolor… }

lout 2 taggedlist

Ke všem druhům seznamů existuje varianta začínající na Raw (pak se používá @RawEndList) – způsobuje, že seznamu nepředchází (případně nenásleduje) konec řádku.

@NumberedList
@ListItem { první položka }
@ListItem {
    @RawParenRomanList
    @ListItem { první vnořená }
    @ListItem { druhá vnořená }
    @RawEndList
}
@ListItem { … }
@EndList

lout 2 rawlist

Zvláštními položkami seznamu jsou @ParagraphItem@ListInterruptItem. První způsobuje, že text položky seznamu pokračuje pod odrážkou; druhá zase slouží ke vkládání něčeho jiného než položek do seznamu – její obsah se zobrazí bez odsazení či odrážky. Je to z toho důvodu, že v seznamu skutečně nesmí být nic jiného než jeho položky, tedy ani konec stránky – ten je třeba si vynutit explicitně symbolem @ListNewPage.

Přesný popis příkazů a jejich argumentů, co se seznamů týče, najdete v dokumentaci na stranách 34 až 41.

Příště

Příště o strukturování dokumentů, tedy především o kapitolách či sekcích, dále například o odkazech.

Související články

Beamer: LaTeX na prezentace
Tisk v Linuxu pomocí balíku PSUtils
Oboustranný tisk v Linuxu
GNU Lilypond - The music Typesetter - I
GNU Lilypond - II
GNU Lilypond - III
GNU Lilypond - IV
Vektorový elegán Ipe
Scribo, scribere, Scribus
Scribo, scribere, Scribus - II
Scribo, scribere, Scribus - III
Příručka OpenOffice.org - VI
Příručka OpenOffice.org - VII

Další články z této rubriky

VDR a DVB-T2, část 2.
VDR a DVB-T2, část 1.
Šifrovaný Proxmox VE 6: ZFS, LUKS, systemd_boot a Dropbear
MapTiler – proměňte obrázek v zoomovatelnou mapu
Syncthing

Diskuse k tomuto článku

Fluttershy, yay! avatar 9.7.2009 15:06 Fluttershy, yay! | skóre: 93 | blog:
Rozbalit Rozbalit vše Re: Typografický systém Lout: Formátování
Odpovědět | Sbalit | Link | Blokovat | Admin
Poznámka autora: Příště to bude o tabulkách.
🇵🇸Touch grass🇺🇦 ✊ ani boha, ani pána
13.7.2009 11:24 martin
Rozbalit Rozbalit vše Re: Typografický systém Lout: Formátování
Odpovědět | Sbalit | Link | Blokovat | Admin

 Místo latiny bych v příkladech uvítal češtinu - přeci jen je diakritika pro našince důležitá. Sice vím, že Lout ji ovládá, ale kdyby na příkladech byla vidět byly by více vypovídající...

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.