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í
×
    včera 19:11 | Nová verze

    Open source RDP (Remote Desktop Protocol) server xrdp (Wikipedie) byl vydán ve verzi 0.10.0. Z novinek je vypíchnuta podpora GFX (Graphic Pipeline Extension). Nová větev řeší také několik bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 1
    včera 04:11 | Nová verze

    Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    9.5. 22:22 | Bezpečnostní upozornění

    Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].

    Ladislav Hagara | Komentářů: 13
    9.5. 21:11 | Zajímavý článek

    V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.

    Ladislav Hagara | Komentářů: 25
    9.5. 14:33 | Pozvánky

    O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    8.5. 21:55 | Nová verze

    Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.

    Ladislav Hagara | Komentářů: 19
    8.5. 20:22 | IT novinky

    Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.

    Ladislav Hagara | Komentářů: 6
    8.5. 12:55 | Nová verze

    Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 0
    7.5. 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 10
    7.5. 18:33 | IT novinky

    Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.

    Ladislav Hagara | Komentářů: 7
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (8%)
     (14%)
     (16%)
    Celkem 153 hlasů
     Komentářů: 11, poslední včera 18:00
    Rozcestník

    TeX – 8 (život s TeXlive)

    8. 1. 2014 | Petr Olšák | Různé | 3958×

    V linuxových distribucích je TeX zpřístupněn nejčastěji prostřednictvím balíčku TeXlive. To je také název distribuce, tentokrát TeXové, která běží i pod dalšími operačními systémy a počítačovými architekturami. Ta zanechá po své instalaci na disku kupu rozličných souborů. Účelem tohoto dílu seriálu bude udělat v tom rámcový přehled. Principy popsané pro TeXlive platí víceméně i pro jiné TeXové distribuce.

    Obsah

    Dilema s instalací

    link

    TeXlive je možné instalovat jako balíček v linuxové distribuci nebo přímo ze stránek TeXlive. První řešení je přímočařejší a snadnější, má ale nevýhodu: dostanete na disk ne zcela aktuální verze programů a maker a nemůžete využít to, co se skrývá za slovem „live“. TeXlive sám totiž sestává ze skoro šesti tisíc vlastních balíčků, mnohé z nich se vyvíjejí a upgrady nových verzí balíčků jsou k dispozici na síti i několikrát týdně. TeXlive je živoucí organismus.

    Jednou ročně (obvykle v květnu) po větším upgradu je přeznačena verze TeXlive na aktuální rok a je vytvořen DVD obraz, který je vylisován pro účely archivace a rozeslání členům TeXových sdružení jako suvenýr (k čemu jinému by to potřebovali). Autoři linuxových distribucí pak tyto obrazy přebírají a dělají z nich balíček. Při té příležitosti někdy přiohnou některé výchozí konfigurační parametry (umístění souborů, koncepce vyhledávání atd.).

    Pokud se rozhodnete instalovat TeXlive přímo, stačí stáhnout instalační skript a spustit jej. Je to perlovský skript install-tl, který nabídne na terminálu v textovém módu možnost výchozího nastavení základních parametrů, umožní stanovit rozsah instalace a spustí samotnou instalaci jednotlivých balíčků ze sítě završenou automatickým vygenerováním potřebných formátů. Výhodou tohoto postupu je, že pak kdykoli je možné upgradovat jednotlivé balíčky z TeXlive pomocí nástroje tlmgr a udržovat tak nejnovější verze softwaru.

    Linuxový uživatel musí při přímé instalaci TeXlive počítat bohužel také s nevýhodou: jeho systém není zpraven o tom, že je TeXlive instalován, takže při instalaci jakéhokoli dalšího linuxového balíčku se závislostí na TeXlive mu jej linuxová distribuce nainstaluje znovu. Vzniká poněkud chaos.

    Procházka po TeXlive

    link

    Jako každý obvyklý balíček sestává i TeXlive z binárních programů a dat. Mezi binárními programy najdeme nejen TeXové klony (pdftex, luatex, xetex), ale i spoustu dalších obslužných programů. Některé z nich jsou uvedeny v následující tabulce.

    afm2pl, afm2tfm konverze metrik PostScriptových fontů formátu Type1
    bibtex, bibtex8, bibtexu seznamy literatury generované z bibliografických databází
    biber nástupce bibTeXu, o řád komplikovanější
    ctangle, cweave manipulace se zdrojovými soubory .cweb
    dvitype extrahuje příkazy z dvi do čitelného formátu
    dvitty extrahuje text dokumentu z dvi
    dvidvi, dviconcat, dvibook, ...konverze z dvi a modifikace dvi
    dvihp, dvilj konverze z dvi do jazyka tiskárny
    dvips konverze z dvi do PostScriptu
    dvipdfm, xdvipdfmx konverze z dvi do PDF
    xdvi jednoduché prohlížedlo dvi v X Window Systému
    gftopk, gftype manipulace s bitmapovým formátem fontů PK (zastaralé)
    fmtutil, fmtutil-sys nástroj na udržování předgenerovaných formátů
    fontinst instalace fontů v Type1 formátu pomocí virtuálních popisů
    httex, htlatex převod dokumentu do html, xml
    kpsewhich trasovací nástroj pro vyhledávání dat
    makeindex, xindy starší a novější nástroj na sestavování rejstříků
    mf Knuthův Metafont
    mktexlsr = texhash obnovení vyhledávací databáze pro kpathsea
    mktexpk, gsftopk, ps2pk, ttf2pkmanipulace s bitmapovým formátem fontů PK
    mpost Metapost, rozšíření Metafontu s výstupem do PostScriptu
    musixtex sazba not
    patgen generování vzorů dělení slov ze slovníků
    pstops, psbook, psselect konverze a modifikace PostScriptu
    t1asm, t1disasm, t1... konverze a manipulace s Type1 formátem fontů
    tangle, weave, tie manipulace se zdrojovými soubory .web
    texconfig, texconfig-sys nabídka základní konfigurace TeXlive
    updmap, updmap-sys obnova .map souborů, konfigurace Type1 resp. TrueType fontů
    vlna doplnění vlnky za neslabičné přeložky

    Zajímavost: zhruba v roce 2010 se z TeXlive vytratil klasický Knuthův TeX. Binárka pdftex jej totiž dokáže nahradit docela věrně, když je potřeba.

    Data jsou sdružena do adresářového stromu označeného tradičně texmf (ačkoli to dnes už nejsou jen data pro TeX a Metafont). Na první úrovni jsou adresáře členěny podle charakteru dat. Nejpodstatnější adresáře ukazuje následující tabulka.

    bibtex data pro BibTeX
    context makra pro ConTeXt
    doc veškerá dokumentace k balíčkům z TeXlive
    fonts metriky fontů, virtuální fonty i kompletní fonty
    makeindexdata pro Makeindex
    metafont makra pro Metafont
    metapost makra pro Metapost
    source typicky zdrojové soubory balíčků maker před konverzi Docstripem
    tex makra pro TeX, tj. pro plainTeX, LaTeX, LaTeXové balíčky maker atd.
    web2c konfigurační soubory, soubory s předgenerovanými formáty
    xindy data pro Xindy

    I na dalších úrovních jsou adresáře členěny. Například adresář fonts obsahuje podadresáře podle formátu dat souvisejících s fonty, viz tabulku.

    afm metriky PostScriptových fontů
    enc encoding soubory vymezující 256 znakové výřezy PostScriptových fontů
    map mapovací soubory propojující TFM s PostScriptovými fonty
    ofm fonty ve formátu OTF
    opentypefonty ve formátu OpenType
    pk fonty v pravěkém bitmapovém formátu PK
    source zdrojové soubory pro generování fontů pomocí Metafontu
    tfm metriky fontů které čte přímo i klasický TeX
    truetypefonty ve formátu TrueType
    type1 fonty ve formátu PostScript Type1
    vf virtuální fonty

    Binárky jsou většinou slinkovány s knihovnou kpathsea, což umožní sofistikované vyhledávání dat. Tomu se budu věnovat za chvíli. Kromě toho binárky TeXových klonů dokáží načíst formát podle názvu, pod kterým jsou vyvolány (v terminologii jazyka C: podle argumentu nula, který si funkce main() převezme z příkazového řádku). Vysvětlím to na příkladě. Představme si, že uživatel napíše:

    latex dokument
    

    Protože latex je umístěn na některé z cest v seznamu proměnné prostředí PATH, něco se spustí. Můžete si ověřit, že latex je jen link na pdftex, takže se spustí nakonec pdftex. Ten pozná, že byl vyvolán pod jménem latex a zavede tedy před zahájením činnosti předgenerovaný formát latex.fmt. Pracuje tedy stejně, jakoby byl zavolán pomocí

    pdftex -fmt latex dokument
    

    TeX hledá svá data

    link

    TeX potřebuje ke své činnosti najít zdrojový text dokumentu, použitá makra, předgenerovaný formát, fonty, konfiguraci k fontům (tzv. map soubor a enc soubory), obrázky, atd. Platí zlaté pravidlo, že toto vše prvně hledá v aktuálním adresáři a pokud to tam nenajde, vyhledá to „někde v distribuci“. Bohužel za slovy „někde v distribuci“ se skrývá poněkud komplikovaný proces. Než jej aspoň částečně poodhalím, zformuluji kromě výše uvedeného zlatého pravidla ještě další.

    Stříbrné pravidlo: textový soubor je hledán TeXem nejprve tak, jak je specifikován. Když není nalezen, připojí se přípona .tex a je hledán znovu. Takže třeba při latex dokument je nejprve hledán soubor dokument v aktuálním adresáři. Když není nalezen, je hledán dokument.tex v aktuálním adresáři. Když ani ten není nalezen, je hledán dokument na prvním místě „někde v distribuci“, dále na témže místě dokument.tex, dále na druhém místě „někde v distribuci“ dokument, dokument.tex atd.

    Koncepce prohledávání „někde v distribuci“ je zanesena do souboru texmf.cnf, jehož vyhledání je natvrdo zabudováno do každé binárky slinkované s kpathsea. Vyhledání texmf.cnf začíná v místě samotné binárky (tj. například v /usr/local/bin), postupně přechází k nadřazenému a dvakrát nadřazenému adresáři a v každém patře se pokusí podívat také do podadresáře share/texmf-local/web2c, texmf-local/web2c, share/texmf-dist/web2c, texmf-dist/web2c. První výskyt souboru texmf.cnf použije. Můžete se do něj podívat také. Doporučuji podívat se též do dokumentace ke kpathsea. Zjistíte, že způsob prohledávání všech ostatních souborů je vysoce konfigurovatelný. V souvislosti s obsahem souboru texmf.cnf učiním ještě dvě poznámky:

    Všechny proměnné použité v texmf.cnf (například TEXMF, TEXINPUTS atd.) mohou být nastaveny také jako proměnné prostředí. Pak mají přednost před konfigurací z texmf.cnf. Dále si povšimněte dvou vykřičníků použitých jako prefix některých cest v texmf.cnf. V těchto adresářích není prohledávání přímé, ale jen prostřednictvím předgenerovaného souboru ls-R, který je potřeba po každé změně adresářového stromu obnovit příkazem texhash alias mktexlsr. Zapomenete-li na to a dáte „někam do distribuce“ nový soubor, nepřestanete se divit, že ho TeX nemůže najít.

    Aby toho nebylo dost, na počítači typicky existuje celý les texmf stromů. Základní texmf-dist obsahuje soubory z distribuce, při upgradu se mohou změnit. Místní texmf-local může obsahovat konfiguraci správce systému pro všechny uživatele, která by měla mít přednost před konfigurací v texmf-dist a která není zničena upgradem ani odstraněním TeXlive distribuce. Dále texmf-var obsahuje přechodně generované soubory. Uživatel může mít ve svém HOME adresáři také svůj texmf nebo .texmf, nebo .texlive-číslo-verze atd. Tyto stromečky by měly mít přednost i před texmf-local.

    Zdá se vám to příliš komplikované a náchylné k omylům uživatelů? Nejste sami, mně taky. Připomíná mi to pravidlo: dejte vývojářům silný nástroj (jakým je kpathsea) a během krátké chvíle jej zneužijí tak, že se v tom skoro nikdo nevyzná. Osobně sám často musím přistoupit k použití unixového strace a prozkoumat, jakým způsobem TeX šmejdí po disku a kde všude hledá svá data, abych dohledal problém. S nástrojem kpsewhich, který je k tomu určen přímo v TeXlive, jsem se nikdy moc nekamarádil.

    Nástroje na údržbu datových souborů

    link

    Je sice možné vytvořit formát *.fmt přímým voláním odpovídajícího TeXového klonu s parametrem -ini a případnými dalšími parametry, ale pak přibývá starost, kam výsledný soubor umístit, aby ho TeX našel. Uživatel může být těchto starostí zproštěn, použije-li nástroj fmtutil (pro uživatelskou konfiguraci) nebo fmtutil-sys (pro konfiguraci sdílenou všemi uživateli udržovanou správcem systému). Nástroj pracuje s konfiguračním souborem fmtutil.cnf, ve kterém jsou parametry pro generování odpovídajících formátů zapsány.

    Dalším podobným nástrojem je updmap respektive updmap-sys, který udržuje konfigurační soubory pro fonty .map v podobě, které rozumí pdfTeX nebo jiné obslužné programy (např. dvips). Více napoví příslušná manová stránka.

    Uvedené nástroje jsou skripty (perl respektive bash) a volají se z příkazového řádku. Chce-li uživatel volit z nabídek, je k dispozici skript texconfig nebo texconfig-sys, který nabízí v textovém terminálu výběr dalšího postupu při konfiguraci a zavolá nakonec editor na správný konfigurační soubor nebo spolupracuje s dříve zmíněnými nástroji.

    Komplikace s licencemi

    link

    Jak bylo řečeno, TeXlive obsahuje tisíce balíčků od stovek různých autorů, kteří mají rozličné názory na to, jak je možné jejich dílo použít a dále šířit. Často je tento názor inspirován Knuthovou licencí, která je něčím jako „patent na název“. Jinak si s tím můžete dělat v podstatě cokoliv. Myšlenka svobodného použití a víceméně volného šíření je společná všem balíčkům z TeXlive.

    Je nutné si uvědomit, že „patent na název“ chrání i uživatele programu a jeho částí (tj. např. maker) před příliš živelným vývojem, během kterého by při odkazu na název makra (např. příkazem \input) nebylo možné spolehnout se v zásadě na nic. Na podobné myšlence je proto postavena i licence většiny LaTeXových balíčků (LPPL). Lidem kolem Debianu se jeví tento přístup málo liberální a měli velké potíže vůbec TeX a případně distribuci všech dalších balíčků do svého licenčně ortodoxního systému zařadit. Na základě toho probíhal docela dlouhodobý a hluboký názorový střet mezi debianisty a TeXisty, který velmi podrobně shrnul Frank Mittelbach ve svém článku. Chápu sice, že se kdysi Stallman rozhodl proti svému „komerčnímu nepříteli“ bojovat jeho vlastními zbraněmi (tj. licencemi) a jevilo se to jako docela účelné. Přesto osobně mám na to jiný názor. Ale to sem asi nepatří.

           

    Hodnocení: 89 %

            š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ář

    Nuphar avatar 9.1.2014 15:20 Nuphar | skóre: 18
    Rozbalit Rozbalit vše Aktuální balíčky
    Některé distribuce mají extra repozitáře s čerstvými balíčky, viz třeba https://build.opensuse.org/project/show/Publishing:TeXLive pro openSUSE.
    Per aspera, Asparagus et Aspergillus ad a/Astra!
    juraj-bit avatar 10.1.2014 14:45 juraj-bit | skóre: 14 | blog: X BLOG X | Bratislava
    Rozbalit Rozbalit vše Re: TeX – 8 (život s TeXlive)
    Existuje nejaká distribúcia zameraná čiste na TeXlive? Myslím tým niečo také ako bola svojho času Linux Genealogy CD, ktorá bola síce založená na Ubontu 10.10 ale špecializovaná na genealógiu? Ide mi o to aby sa mi nebili systémové balíčky s tými z tugu, keďže by som ich rád aktualizoval. SUSE nepoužívam.
    10.1.2014 23:33 vencas | skóre: 32
    Rozbalit Rozbalit vše Re: TeX – 8 (život s TeXlive)
    V Debianu a derivátech to lze udělat relativně snadno -- poslední sekce pod http://www.tug.org/texlive/debian.html . Kdysi odzkoušeno, chodí.
    11.1.2014 22:27 robertK | skóre: 26 | blog: Klokanuv_blog | Brno
    Rozbalit Rozbalit vše Re: TeX – 8 (život s TeXlive)
    Nebylo by to zbytecne? Abych se nemusel otravovat s TeXem z distribuce, tak instaluji TeXlive do /opt/texlive a cesty mam nastavene tak, aby tento tex mel prednost pri spousteni. TeXlive z distribuce se mi taky natahne do pocitace jako zavislost nejakeho jineho balicku, ale pri velikosti dnesnich disku mi to moc nevadi
    1.10.2018 06:56 ranny
    Rozbalit Rozbalit vše Re: TeX – 8 (život s TeXlive)
    launches and also an adjustable upper Best Dog Harness body belt The leash accessory DogHarnessReview is between the shoulder blades.

    Založit nové vláknoNahoru

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