Portál AbcLinuxu, 3. května 2025 18:48
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.
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.
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.
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.
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...
V minulém dílu již byla zmíněna definice písma pro celý dokument:
@InitialFont { písmo varianta [další volby] velikost }
Roman
, Helvetica
, Courier
a Symbol
.Base
, Slope
, Bold
a BoldSlope
.p
, místy také v centimetrech c
nebo palcích i
. Dále se používají relativní jednotky f
(násobek aktuální velikosti písma) nebo s
(šířka mezery). Více o jednotkách na straně 5 v dokumentaci.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. }
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.
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
@Heading
@Display
.@PP
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
,...@Display
.@NumberedList
, @RomanList
, @AlphaList
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
@TaggedList
, @WideTaggedList
, @VeryWideTaggedList
@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… }
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
Zvláštními položkami seznamu jsou @ParagraphItem
a @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ě o strukturování dokumentů, tedy především o kapitolách či sekcích, dále například o odkazech.
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.