abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:33 | Nová verze

    OpenTofu, tj. svobodný a otevřený fork Terraformu vzniknuvší jako reakce na přelicencování Terraformu z MPL na BSL (Business Source License) společností HashiCorp, bylo vydáno ve verzi 1.7.0. Přehled novinek v aktualizované dokumentaci. Vypíchnout lze State encryption.

    Ladislav Hagara | Komentářů: 0
    včera 23:55 | Humor

    Spouštět webový prohlížeč jenom kvůli nákupu kávy? Nestačí ssh? Stačí: ssh terminal.shop (𝕏).

    Ladislav Hagara | Komentářů: 2
    včera 18:11 | Nová verze

    Yocto Project byl vydán ve verzi 5.0. Její kódové jméno je Scarthgap. Yocto Project usnadňuje vývoj vestavěných (embedded) linuxových systémů na míru konkrétním zařízením. Cílem projektu je nabídnou vývojářům vše potřebné. Jedná se o projekt Linux Foundation.

    Ladislav Hagara | Komentářů: 0
    včera 17:56 | Nová verze

    Operační systém 9front, fork operačního systému Plan 9, byl vydán v nové verzi "do not install" (pdf). Více o 9front v FQA.

    Ladislav Hagara | Komentářů: 0
    včera 13:11 | Nová verze

    Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána v nové verzi 6.1. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu. Řešeny jsou také 2 bezpečnostní chyby.

    Ladislav Hagara | Komentářů: 3
    včera 12:33 | Zajímavý software

    Lennart Poettering na Mastodonu představil utilitu run0. Jedná se o alternativu k příkazu sudo založenou na systemd. Bude součástí systemd verze 256.

    Ladislav Hagara | Komentářů: 14
    29.4. 23:22 | Nová verze

    Hudební přehrávač Amarok byl vydán v nové major verzi 3.0 postavené na Qt5/KDE Frameworks 5. Předchozí verze 2.9.0 vyšla před 6 lety a byla postavená na Qt4. Portace Amaroku na Qt6/KDE Frameworks 6 by měla začít v následujících měsících.

    Ladislav Hagara | Komentářů: 11
    29.4. 21:44 | Komunita

    Ubuntu 24.10 bude Oracular Oriole (věštecká žluva).

    Ladislav Hagara | Komentářů: 13
    29.4. 20:22 | Nová verze

    Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.

    Ladislav Hagara | Komentářů: 0
    29.4. 13:33 | IT novinky

    Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 888 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    TeX – 14 (spolupracující software)

    10. 4. 2014 | Petr Olšák | Různé | 3096×

    Jsou případy, kdy je účelné k vytvoření sazby kromě TeXu zapojit další program, který s TeXem spolupracuje. V tomto díle seriálu si ukážeme typické případy takové kooperace, zejména zmíníme tvorbu rejstříku a seznamu literatury.

    Obsah

    TeX spolupracuje sám se sebou

    link

    Často se stává, že není možné sazbu v definitivní podobě vytvořit hned po prvním průchodu zpracování TeXem. Důvodem může být například potřeba zařadit obsah publikace na začátek, přitom obsah odkazuje na kapitoly a na stránky, které teprve budou vysázeny. Obecně se tomu říká „dopředná reference“. Uživatel v místě odkazu napíše třeba \pgref[lejblík] a v místě cíle, který je v sazbě později, napíše \label[lejblík]. Při prvním zpracování TeX do místa odkazu napíše třeba otazník a na terminál varování.

    Jakmile později v sazbě narazí na \label[lejblík], propojí lejblík s číslem aktuální strany a uloží si dvojici lejblík=strana do pracovního souboru. Při druhém zpracování dokumentu TeX na začátku nejprve přečte pracovní soubor a uloží si z něj do paměti potřebné informace. Jakmile se dostane do místa \pgref[lejblík], ví, jakou stranu má místo lejblíku napsat. Během každého průchodu TeX pracovní soubor přečte (pokud existuje), smaže a znovu do něj zapisuje. Po každém průchodu jsou tedy v pracovním souboru všechny informace aktualizované.

    Zakládání a čtení pracovních souborů lze programovat pomocí maker TeXu. Pro zápis se používá příkaz \write, pro čtení příkaz \input, výjimečně příkaz \read. LaTeX zakládá pro účely referencí soubor s příponou aux a speciálně pro obsah soubor s příponou toc. OPmac pro oba účely zakládá společný soubor s příponou ref.

    Je možné, že ani po dvou průchodech není sazba v pořádku. Čtenář si jistě rozmyslí, že třeba vícestránkový obsah vpředu potřebuje tři průchody, než jsou odkazy na stránky v pořádku.

    Zpracování maker a umisťování sazby do stránek probíhá asynchronně. V době, kdy zpracováváme makro \label typicky nevíme, na které straně se toto místo objeví. TeX totiž rozhodne o stránkovém zlomu později, než je zpracováno makro \label, a může odsunout inkriminované místo na následující stranu. Proto je příkaz \write vybaven možným zpožděním: bude pracovat až tehdy, když bude stránkový zlom vyřešen. Pak tedy \write zapíše do souboru správné číslo strany. Kvůli tomuto zpoždění při vytvoření dvojice lejblík=strana je nutné přes pracovní soubor zpracovávat nejen dopředné reference, ale i zpětné reference na čísla stran.

    Opakované TeXování není jediný způsob spolupráce TeXu samotného se sebou. Například kdysi jsem dělal inzertní přílohu jednoho časopisu. Během sazby TeX počítal řádky inzerátů, znal cenu za řádek v jednotlivých rubrikách i kontaktní údaje inzerentů. Kromě sazby TeX vytvořil pomocný soubor, jehož následné zpracování TeXem vytvořilo faktury pro inzerenty.

    Tvorba rejstříku

    link

    Chceme-li vytvořit rejstřík, je nejprve potřeba ve zdrojovém textu dokumentu na odpovídajících místech vyznačit hesla, která mají být uvedena v rejstříku. Pokud takto označený dokument zpracujeme TeXem, uloží se každý výskyt označeného hesla do pracovního souboru společně se stranou, na které se heslo vyskytuje. Takový soubor má obvykle příponu idx nebo raw. Obsahuje tzv. „surová data“ pro rejstřík. Jedno heslo se tam může vyskytovat vícekrát, pokaždé svázané k nějaké straně, někdy i vícekrát ke stejné straně. Takovýto soubor se předloží procesoru pro rejstřík, který dělá v zásadě dva kroky. Nejprve sloučí různé výskyty stejných hesel do hesla jediného, vedle kterého nyní napíše seznam stran, na kterých se heslo vyskytuje. Při této příležitosti zjednoduší seznam stran, tj. neopakuje stejné strany a ze souvislých posloupností stran (25, 26, 27) udělá intervaly (25–27). V druhém kroku procesor pro rejstřík seřadí hesla podle abecedy a uloží je do výstupního souboru s vhodným TeXovým označkováním tak, že soubor může následně přečíst TeX a sestavit z toho rejstřík.

    Procesorem pro rejstřík je v případě TeXu už dlouhá léta program MakeIndex. Od roku 1998 je pak k dispozici i novější procesor xindy (fleXible INDex sYstem), který je postaven na konfiguračních souborech ala lisp a umí daleko více věcí: respektuje pravidla řazení mnoha jazyků, dokáže pracovat i s jinými různě uspořádanými odkazovými údaji (nejen s čísly stran) a je určen jako procesor pro hypoteticky libovolný systém na přípravu dokumentů. Jeho použití pro TeX je jen jedna možnost.

    Protože MakeIndex se nedokázal nikdy pořádně vypořádat s českým abecedním řazením, byl pro češtinu vytvořen modifikovaný program csindex. V současné době se domnívám, že jej dokáže plně nahradit program xindy. České abecední řazení není nic jednoduchého. Není zde jen dvojhláska ch, ale používá se sofistikovaný tříprůchodový systém. Kdysi dávno jsem to popsal ve svém článku.

    Tvorba rejstříku je tedy příkladem spolupráce TeXu s externím programem. Nicméně externí program není nezbytně nutný. Například OPmac má rejstřík včetně abecedního řazení dle angličtiny nebo češtiny (slovenštiny) implementován na úrovni maker TeXu. Podobně rejstříky v ConTeXtu jsou udělané pomocí lua skriptů a maker TeXu. Sestavování rejstříků pro LaTeX přímo v makrojazyku TeXu vytvořil také Petr Březina a popsal to v článku pro Zpravodaj. Vyšel přitom z maker pro řazení, které jsem vytvořil pro balíček DocByTeX určený k dokumentování softwarových projektů. V tomto balíčku jsem asi poprvé TeXové veřejnosti předvedl možnost řazení dle abecedy přímo pomocí TeXových maker. Je zde použit algoritmus merge-sort, který do maker TeXu přepsal můj syn Mirek.

    Bibliografické odkazy a seznamy

    link

    Lidé mají bibliografické záznamy, které chtějí citovat, uloženy v databázích. Pro potřeby konkrétní odborné práce je třeba z databáze vybrat jen odpovídající záznamy, údaje v nich správně uvést dle zvyklostí časopisu nebo dle normy a setřídit je. Na to se používá externí program, který vygeneruje potřebné údaje pro TeX. Od pradávna je tímto programem BibTeX, který vytvořil Oren Patashnik. Nově se začíná používat Biber.

    Principy tvorby bibliografických odkazů a citací popíšu na případě BibTeXu. Databázové údaje jsou uloženy v textových souborech s příponou bib, kde jeden záznam může vypadat například takto:

    @BOOK{ tbn,
      author    = {Olšák, Petr},
      title     = {{\TeX}book naruby},
      publisher = {Konvoj},
      address   = {Brno},
      year      = {2001},
      isbn      = {80-7302-007-6},
      url       = {http://petr.olsak.net/tbn.html},
    }
    

    Slovo @BOOK udává typ záznamu, podle kterého se pozná, které údaje jsou povinné a které jsou dobrovolné. Dále následuje lejblík, který se použije v místě odkazu jako argument příkazu \cite. Jakmile je práce napsaná, vyskytuje se v ní na mnoha místech \cite s lejblíky. Tyto lejblíky TeX při zpracování dokumentu vloží do pracovního souboru s příponou aux. Ve zdrojovém textu dokumentu je také třeba dát vzkaz BibTeXu, jaký má použít soubor s databází bib a jaký bibliografický styl bst. Konkrétní styl je většinou vyžadován nakladatelem a ovlivní formátování odkazů i seznamu literatury. Všechny tyto vzkazy TeX přestěhuje do souboru aux, odkud si je přečte BibTeX.

    V dalším kroku se spustí BibTeX, jehož činnost je zhruba následující:

    • Přečte si pracovní soubor aux a dozví se z něj, co má dělat.
    • Přečte z databázového bib souboru jen záznamy citované v dokumentu.
    • Připraví formátování záznamů pro seznam literatury dle vybraného stylu.
    • Připraví formátování odkazů dle vybraného stylu.
    • Seřadí pořadí záznamů dle pravidla specifikovaného ve stylu.
    • Vytvoří soubor bbl se seznamem literatury označkovaný TeXovými značkami pro zpracování TeXem.

    Po BibTeXu je třeba ještě dvakrát spustit zpracování dokumentu TeXem, protože v místě \cite jsou dopředné odkazy. Po prvním (celkově už druhém) zpracování dokumentu jsou v místech \cite otazníčky a případná čísla nebo značky se TeX dozví až během zpracování seznamu literatury při čtení bbl souboru na konci dokumentu. Potřebná data uloží do pracovního souboru. Teprve další (celkově třetí) zpracování TeXem vytvoří dokument včetně správných odkazů.

    Z přehledu činností BibTeXu plyne, že na bibliografickém stylu závisí několik věcí:

    • Formátování seznamu literatury. Nejprve je třeba rozebrat údaj author, který může obsahovat více autorů oddělených spojkou and, přitom každý autor může mít více jmen, před příjmením mohou být různé shluky písmen (jako třeba von). To vše BibTeX analyzuje a dále dle stylu rozhodne, kolik autorů uvede (než to vzdá a napíše třeba et al.), jakým způsobem bude autory oddělovat, v jakém pořadí bude psát jména, příjmení, zda bude jména zkracovat, zda bude příjmení psát verzálkami či kapitálkami atd. Dále dle pokynu stylu kontroluje v závislosti na typu záznamu, zda jsou všechny povinné údaje přítomné, vytiskne do bbl souboru údaje ve stanoveném pořadí a formátování a oddělí je stanovenou interpunkcí.
    • Formátování odkazů. Existují odkazy číselné, nebo s použitím zkratek, např. [Knu81], nebo ve tvaru jméno–rok, např. (Knuth, 1981). Nejsou-li odkazy číselné, BibTeX musí připravit jejich vzhled. V opačném případě TeX dostane pokyn, že má očíslovat záznamy v seznamu literatury a čísla použít v odkazech.
    • Řazení záznamů. Je možné si představit požadavek, že je třeba nejprve řadit dle příjmení prvního autora, pak podle jeho jména, roku, pak podle měsíce a případně celého data vydání, pak podle pořadí odkazů v textu. Nebo naopak nejprve podle pořadí odkazů v textu.

    V seznamech literatury se setkáváme s babylónem jazyků, ve kterém nějak prosvítá i jazyk vnějšího dokumentu. Podle pravidel jakého jazyka se má řadit, jaká slova zůstávají součástí záznamu a jaká se překládají do jazyka vnějšího dokumentu, to vše by měl řešit bibliografický styl. V současné době dochází k obřímu nárustu počtu odborných publikací, je publikován a citován každý štěk z důvodu, že vědci jsou často financováni dle kvantity publikací a citací. Tím se násobně zvýšily nároky na manipulaci s bibliografickými záznamy. Starodávný BibTeX přestává stíhat. Jeho stylové soubory jsou napsané v něčem podobném, jako je jazyk Forth, což je poměrně šílený postfixový jazyk. Takže do BibTeXového stylu dnes dokáže dloubnout jen opravdový odvážlivec nebo masochista.

    Existují pokusy o reinkarnaci BibTeXu v podobě programu bibtex8, který rozšiřuje ASCII na 8bitové kódování. Čte navíc konfigurační soubor csf s deklarací způsobu abecedního řazení. Dalším pokusem je program bibtexu, který umí UTF-8 a řazení probíhá pomocí knihovny ICU. Projekt ale zůstal v nedokončeném a zřejmě nefunkčním stavu. Dále je zde bibulous, který pracuje v Unicode a je to přepis BibTeXu pomocí Pythonu. Tím je umožněno programovaní bibliografických stylů daleko pohodlněji. A konečně je tu již zmíněný projekt Biber, který umí sice daleko více, ale opustil původní jednoduchost. Očekává konfigurační soubory v XML. S Biberem spolupracuje poměrně komplikovaný soubor TeXových maker biblatex.sty. Spoluráce TeXu s Biberem je v zásadě stejná, jako s BibTeXem, jen bohužel makra TeXu musí navíc vytvářet složité konfigurační soubory v jazyce XML. LaTeXový uživatel na to má hotové řešení v podobě biblatex.sty, ale uživatelé jiných formátů mají zatím smůlu.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    10.4.2014 23:56 TyPo
    Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
    Jak je zajištěno, že proces zpracování dopředných referencí je stabilní? Tedy mějme odkaz např. na straně 1 a to na label, který je někde na konci strany 2 nebo začátku strany 3 a to podle toho, jak je široké číslo odkazu na straně 1. První průchod tam doplní otazník (který má nějakou šířku) a label pak vyjde na stranu řekněme 1. To se zapíše do pomocného souboru a při dalším průchodu se na dané místo doplní místo otazníku číslo 1. To má jinou šířku a label najednou bude na straně 2, která se zapíše do pomocného souboru. Při dalším průchodu se místo jedničku doplní číslo 2, které má zase jinou šířku a způsobí, že label vyjde na stranu 1.

    (neberte ten příklad prosím doslova, v běžném fontu nebude dvojka užší než jednička, ale při jiné konstelaci odkazů a fontů...)

    A jak vlastně uživatel zjistí, že je to stabilní a všechno vychází? Nebo naopak, jak detekuje nestabilitu, kdy odkaz bude ukazovat na jinou stranu, než kde je label?
    olsak avatar 11.4.2014 06:28 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
    Za celou svou TeXovou praxi se mi toto nestalo, ale neumím dokázat, že to je v běžných situacích skutečně nemožné. V DocByTeXu něco takového preventivně řeším, protože tam je odkazů mraky, vkládají se i do poznámek pod čarou a ty poznámky jsou pak pro různé situace různě vysoké a ovlivňují výšku strany a tedy i stránkový zlom. Proto tam počítám počet průchodů a od jistého čísla fixuji výšky poznámek pod čarou, aby se to zase nerozhodilo.

    Jde-li pouze o kontrolu, uživatel může v Makefile pro spuštění TeXu psát třeba něco takového
    touch dokument.ref
    cp dokument.ref dokument.bak
    csplain dokument
    diff -q dokument.bak dokument.ref || echo NEKONZISTENCE ODKAZU, TeXuj znova 
    
    Nebo se totéž dá řešit na úrovni maker TeXu, což je popsáno například na OPmac-tricks.

    LaTeXisté na to budou mít asi nějaký balíček, ovšem to jsem nikdy nehledal.
    13.4.2014 01:03 TyPo
    Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
    Děkuji.
    11.4.2014 08:51 nasson
    Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
    Jo, bibtex je možná pro programátory použitelný, ale pro obyčejné smrtelníky je to fakt děs. Malé úpravy a dva dny studia. Přičemž za půl roku to zapomenu, takže pak můžu začít studovat znova:(. Na větší úpravy můžu rovnou zapomenout, ty prostě nezvládám. Biblatex je sice vylepšení, ale pořád nic moc. Osobně se mi nejvíce líbí způsob, jak to má ConTeXt. Snadné, rychle naučitelné a mám pocit, že se tam toho dá udělat dost (všechno?).

    Při použití plain mi připadá nejlepší šáhnout po balíčku Librarian. Zvláště, když jsem vykradl nápady z OPmac, tak se dá udělat vše potřebné a přitom potřebuju jen TeX.
    olsak avatar 11.4.2014 18:49 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
    BibTeX je podle mého názoru skutečně problém. V databázích nikdy nebudou informace dostatečně pečlivě strukturovány, aby dokázal automat reagovat na všechny nuance normy. Mám na mysli třeba normu ISO 960. Ta je napsaná tak, že záznamy může možná tvořit člověk, když to nějak pochopí. Pro stroj to není dělané.

    Vždy jsem se divil, proč Oren Patashnik zvolil pro vkládání databázových údajů jazyk Scribe, místo aby použil něco odvozeného od TeXu, ale stále lidsky čitelného. Konverze ze Scribe do TeXu přímo makry TeXu je díky všem možným nuancím jazyka skoro nemožná. Dnes se ale potuluje plno bibliografických databází v tomto BibTeXovém jazyku a taky některá konvertítka do .bib (například na google books). Takže utéci od BibTeXu není jednouché. Časopisy přijímají články prohnané přes BibTeXové styly vytvořené před dvaceti lety a dloubnout do těch stylů dnes asi neumí skoro nikdo. Jazyk Forth pro BibTeXové styly je něco úplně strašného.

    Uvítal bych snahy zapomenout na BibTeX a najít něco jednoduššího. Ovšem Biber jde cestou: zapomenout na BibTeX a nahradit to něčím násobně složitějším. S tím se nemohu ztotožnit.
    Při použití plain mi připadá nejlepší šáhnout po balíčku Librarian.
    Můžete, prosím, podrobněji rozvést, co máte na mysli? Toto jméno se na internetu vyskytuje ve více významech a nedaří se mi dohledat, o co jde. Přitom únik od bibTeXu k jednoduchosti mě zajímá.

    Pro informaci: tento týden jsem vyjednal s lidmi na citace.com přidání exportu do TeXu (měli zatím jen nabídku exportu do BibTeXu). Jejich portál se snaží dodržet normu ISO 960, umí to dohledat údaje podle ISBN nebo DOI. To je fajn. Ovšem kopíruje to českou normu s předpokladem vložení do českého dokumentu, takže anglicky publikující jedinci to asi nemohou jednoduše použít.
    11.4.2014 20:20 nasson
    Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
    Příloha:
    Mám na mysli tento balíček:

    http://www.ctan.org/pkg/librarian

    Přikládám příklad. Nejsem programátor, tak je to takové ošklivé, ale dělá to, co chci. Autor-rok citace jsou taky použitelné - ale detaily jsem zatím nedořešil, hlavně změna (Komenský 1631, Komenský 1633) na Komenský 1631, 1633), apod.
    olsak avatar 11.4.2014 21:01 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
    Díky za odkaz.

    Pokud jde o (Komenský 1631, Komenský 1633), zabýval jsem se tím docela nedávno. V březnu jsem proto mírně upravil opmac.tex a přidal na téma bibliografické odkazy asi šest OPmac triků.
    13.4.2014 17:03 nasson
    Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
    Děkuji, přesně tyhle věci jsem měl v plánu řešit.
    olsak avatar 14.4.2014 19:00 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
    Mám na mysli tento balíček: http://www.ctan.org/pkg/librarian
    Podíval jsem se na ten balíček a přesně splňuje očekávání, které jsem dlouho hledal. Je to skvělé, bombastické. Kdysi před mnoha lety jsem taky přemýšlel o možném přímém čtení bib souborů TeXovými makry, ale vzhledem k různým zrůdnostem jazyka Scribe (někdy uvozovky, jindy svorky, malá a velká písmena a hlavně: manipulace se stringy na úrovni bib souborů) jsem to vzdal. Přitom autor libraian balíčku Paul Isambert použil geniální myšlenku, která mě tehdy nenapadla: vybodnout se na manipulaci se stringy v bib souborech. Kdo by to potřeboval, když může použít TeX, že.

    Neodolal jsem, a vytvořil jsem hned za použití librarian verzi maker pro OPmac umožňující psát přehledné bibliografické styly. První verzi jsem dnes zveřejnil. Můžete se na to podívat na opmac-bib.tex a opmac-bib-simple.tex.
    25.4.2014 16:09 TyPo
    Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
    Uvažuji, že bych TeX používal pro sazbu různých popisků apod. Tedy na vstupu by byl nějaký text, daná max. šířka, font apod. a na výstupy bych očekával PDF, které bude těsně text obalovat. Tedy variabilní výška stránky PDF a ideálně i variabilní šířka stránky (pokud text nezaplní ani celý první řádek). Lze toho v TeXu nějak elegantně docílit?
    olsak avatar 29.4.2014 08:54 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
    Řešení je docela snadné:
    \newdimen\margin \margin=1pt             % okraj, abychom si nedřízli mírné přetahy
    \pdfhorigin=\margin \pdfvorigin=\margin  % horní a levý okraj
    \def\outtext#1{\setbox0=\hbox{#1} % nakrmíme box 0
       \ifdim\wd0>\hsize   % je-li text delší než \hsize, přelomíme ho do odstavce
          \setbox0=\vbox{\noindent\unhbox0}\fi
       \pdfpageheight=\ht0 \advance\pdfpageheight by\dp0
       \pdfpagewidth=\wd0  % nastavení velikosti papíru dle velikosti boxu 
       \advance\pdfpagewidth by2\margin \advance\pdfpageheight by2\margin % přidání okraje
       \shipout\box0       % box vypudíme do stránky
    }
    
    \outtext{Aha}
    
    \outtext{Ouha, to je delší}
    
    \outtext{Ha, to je dlouhé, dlouhé tak, že to obsadí více řádků textu, takže
             je potřeba napsat něco skutečně dlouhého, abychom to vyzkoušeli.}
    
    \end
    
    
    30.4.2014 01:44 TyPo
    Rozbalit Rozbalit vše Re: TeX – 14 (spolupracující software)
    Děkuji za řešení i komentáře, funguje to perfektně.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.