abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 12:34 | Komunita

Aktualizovanou počítačovou hru Warhammer 40,000: Dawn of War III v ceně 39,99 eur běžící také na Linuxu lze o víkendu na Steamu hrát zdarma a případně ještě v pondělí koupit s 50% slevou. Do soboty 19:00 lze na Humble Bundle získat zdarma Steam klíč k počítačové hře Sid Meier's Civilization® III v ceně 4,99 eur běžící také ve Wine.

Ladislav Hagara | Komentářů: 0
dnes 00:22 | Nasazení Linuxu

Společnost Samsung oznámila, že skrze dokovací stanici DeX a aplikaci Linux on Galaxy bude možno na Samsung Galaxy S8 a S8+ a Galaxy Note 8 provozovat Linux. Distribuce nebyly blíže upřesněny.

Phantom Alien | Komentářů: 4
včera 23:55 | Komunita

Společnost Purism na svém blogu oznámila, že její notebooky Librem jsou nově dodávány se zrušeným (neutralized and disabled) Intel Management Engine (ME). Aktualizací corebootu na již prodaných noteboocích lze Management Engine také zrušit. Více v podrobném článku.

Ladislav Hagara | Komentářů: 0
včera 21:44 | Nová verze

Organizace Apache Software Foundation (ASF) na svém blogu slaví páté výročí kancelářského balíku Apache OpenOffice jako jejího Top-Level projektu. Při této příležitosti byl vydán Apache OpenOffice 4.1.4 (AOO 4.1.4). Podrobnosti v poznámkách k vydání. Dlouhé čekání na novou verzi tak skončilo.

Ladislav Hagara | Komentářů: 6
včera 19:22 | Pozvánky

Již příští týden - 26. a 27. října se v Praze v hotelu Olšanka odehraje OpenWRT Summit. Na webu konference naleznete program a možnost zakoupení lístků - ty stojí 55 dolarů. Čtvrtek bude přednáškový a v pátek se budou odehrávat převážně workshopy a meetingy.

Miška | Komentářů: 0
včera 13:44 | Nová verze

Bylo vydáno Ubuntu 17.10 s kódovým názvem Artful Aardvark. Ke stažení jsou Ubuntu Desktop a Server, Ubuntu Cloud Images, Ubuntu Netboot, Kubuntu, Lubuntu a Lubuntu Alternate, Lubuntu Next, Ubuntu Budgie, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio a Xubuntu. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 16
včera 13:00 | Komunita

MojeFedora.cz informuje, že Fedora 27 dostane podporu pro AAC. Podpora multimediálních formátů je ve výchozí instalaci Fedory tradičně limitovaná kvůli softwarovým patentům, ale desktopový tým Red Hatu se ji i tak snaží v poslední době co nejvíce rozšířit. Už nějaký čas obsahuje kodeky pro MP3, H.264, AC3 a nyní byl přidán také kodek pro další velmi rozšířený zvukový formát – AAC.

Ladislav Hagara | Komentářů: 2
18.10. 23:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 145. brněnský sraz, který proběhne v pátek 20. října od 18:00 hodin v restauraci Time Out na adrese Novoměstská 2 v Řečkovicích. Jedná se o poslední sraz před konferencí OpenAlt 2017, jež proběhne o víkendu 4. a 5. listopadu 2017 na FIT VUT v Brně. Běží registrace účastníků.

Ladislav Hagara | Komentářů: 0
18.10. 21:44 | Nová verze

Byla vydána verze 5.2.0 multiplatformního virtualizačního nástroje Oracle VM VirtualBox. Jedná se o první stabilní verzi z nové větve 5.2. Z novinek lze zmínit například možnost exportování VM do Oracle Cloudu, bezobslužnou instalaci hostovaného systému nebo vylepšené GUI. Podrobnosti v seznamu změn. Aktualizována byla také dokumentace.

Ladislav Hagara | Komentářů: 2
18.10. 14:00 | Zajímavý projekt

Byl spuštěn Humble Down Under Bundle. Za vlastní cenu lze koupit multiplatformní hry The Warlock of Firetop Mountain, Screencheat, Hand of Fate a Satellite Reign. Při nadprůměrné platbě (aktuálně 3,63 $) také Hacknet, Hacknet Labyrinths, Crawl a Hurtworld. Při platbě 12 $ a více lze získat navíc Armello.

Ladislav Hagara | Komentářů: 0
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (10%)
 (1%)
 (1%)
 (1%)
 (74%)
 (13%)
Celkem 117 hlasů
 Komentářů: 7, poslední včera 23:06
    Rozcestník

    TeX – 14 (spolupracující software)

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

    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.