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 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 2
    včera 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 6
    včera 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 34
    25.4. 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 13
    25.4. 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 3
    25.4. 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    25.4. 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    25.4. 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    25.4. 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    25.4. 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

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

    TeX – 3 (příklady autorského značkování)

    30. 10. 2013 | Petr Olšák | Různé | 6246×

    Předvedeme jednoduchý a typický dokument s odkazy, poznámkami, generovaným obsahem, obrázkem, tabulkou a vzorcem vytvořený třemi způsoby: pomocí CSplainu+OPmac, pomocí XeLaTeXu a pomocí ConTeXtu. Kromě toho si mohou čtenáři tohoto dílu trochu zasoutěžit, ovšem ceny nejsou vypsány žádné.

    Obsah

    Jak bylo řečeno v prvním díle seriálu, autor připraví smluveným způsobem označkovaný zdrojový dokument ke zpracování TeXem. Příklady, jak může zdrojový dokument vypadat a jak následně vypadá výstup po zpracování, jsou shrnuty zde:

    formát zdrojový text výstup
    CSplain+OPmac priklad-opmac.tex priklad-opmac.pdf
    XeLaTeX priklad-latex.tex priklad-latex.pdf
    ConTeXt priklad-context.texpriklad-context.pdf
    Vše včetně obrázkupriklady.zip

    O značkování v jednotlivých příkladech si nyní řekneme více. Ve všech ukázkách je deklarační část. Obsah této části ovlivní globálně celý dokument. V této části jsem za procenta umístil komentáře vysvětlující, k čemu konkrétní řádek deklarační části slouží. Poznámka pro čtenáře, kteří vidí TeX poprvé: znak procento uvozuje komentář, který TeX při zpracování ignoruje (od procenta do konce řádku). Chce-li autor procento do textu napsat, musí použít \% nebo něco podobného. Implicitně jsou nastaveny jako „TeXovsky specifické“ ještě tyto znaky: \, {, }, $, &, #, ^, _~. To se uživatel dozví v úvodu každé příručky o TeXu.

    Ve všech ukázkách se vyskytuje:

    Elementární makro – lorem ipsum

    link

    Pokud chce typograf pouze vyzkoušet, jak vypadá font, návrh stránky atd. a nemá po ruce konkrétní text (resp. nechce, aby byl čtenář textem rozptylován), použije text „Lorem ipsum ... est laborum“. Je to vykousaný text z Cicera. V ukázkách je vytvořena zkratka \lorem expandující na tento text například takto:

    \def\lorem{Lorem ipsum ... est laborum}
    A nyní můžeme text použít: \lorem.
    A třeba ještě dvakrát: \lorem. \lorem.
    

    Podíváte-li se do jednotlivých ukázek, zjistíte, že primitivní příkaz \def je použit jen v ukázce s OPmac. Na druhé straně například uživatel LaTeXu použije \newcommand (toto makro pochopitelně interně provede \def). Proč LaTeXista nepoužije \def rovnou? Je to jednak proto, že v LaTeXových příručkách je zmíněno makro LaTeXu \newcomand a zatajen primitivní příkaz \def, dále proto, že \newcommand pohlídá, zda uživatel něco omylem nepředefinuje, a konečně proto, že se sluší v LaTeXovém dokumentu použít lexikální prvky z LaTeXu, třebaže by primitivní příkazy fungovaly také. Je to podobné, jako když programátor, který užívá vyšší programovací jazyk, přejde z ničeho nic do assembleru: může to udělat, ale nesluší se to.

    Ukázka první – CSplain + OPmac

    link

    CSplainOPmac jsou má práce, jsou tedy mému srdci nejbližší, takže popis značkování začnu u tohoto příkladu.

    CSplain je základní rozšíření Knuthova plainTeXu. Samotné použití tohoto formátu znamená, že všechny vlastnosti dokumentu (nadpisy, odkazy, generování obsahu) si musí uživatel naprogramovat sám. Každý uživatel si tak vytvoří svou sadu maker, do kterých vidí, kterým rozumí a která odpovídají jeho stupni pochopení, jak funguje TeX. Pro začátečníka, který se nechce spoléhat na rozsáhlejší hotová řešení v balíčcích maker typu LaTeX nebo ConTeXt, je zde ale velká vstupní překážka. Naprogramovat třeba jen automatické generování obsahu není úplně jednoduché. Proto jsem loni zveřejnil svá makra, která jsem nazval OPmac, podrobně je dokumentoval (pro autory i pro experty) a nabídl je uživatelům, kteří chtějí zůstat u jednoduchosti plainTeXu, ale rádi využijí Olšákova hotová řešení. Po zavedení makra pomocí \input opmac je tedy k dispozici zhruba to, co nabízí LaTeX+hyperref+graphicx+amsmath+color, ale vše je výrazně jednodušší.

    Příkazem \input cs-schola v záhlaví dokumentu se zavádí fontová rodina Schola projektu TeXGyre. V tomto projektu se autoři rozhodli přepsat obvyklé fonty Times, Helvetica, Courier, Bookman, Palatino, Avantgarde, New Century do moderního formátu (OTF), přidat jim další vlastnosti, opravit drobné chyby a nazvat je mírně jinak: Termes, Heros, Cursor, Bonum, Pagella, Adventor, Schola. CSplain nabízí sadu „fontových souborů“, kterými se zvolená rodina fontů zavede. V tomto příkladě tedy \input cs-schola.

    Dokument psaný v OPmac se člení například na sekce označené příkazem \sec a podsekce označené příkazem \secc. Za tímto příkazem následuje název sekce/podsekce a ten je ukončen prázdným řádkem. Analogicky pomocí \tit vytvoříme titul.

    Obsah vytvoříme příkazem \maketoc. Pro výčty je použita dvojice \begitems\enditems s tím, že mezi touto dvojicí je hvězdička aktivní a zahájí další položku výčtu. Pro výpisy kódů slouží dvojice \begtt\endtt, kterou jsem popsal už před mnoha lety v knize TeXbook naruby.

    Odkazy (dopředné i zpětné) se řeší pomocí \label, \ref\pgref. Lejblík, který se používá pro propojení odkazů ve zdrojovém dokumentu, ale ve výstupu není vidět, je třeba zapouzdřit do hranatých závorek. Obrázky se zařadí příkazem \inspic a tabulky lze vytvořit příkazem \table. Přímé použití primitivních příkazů TeXu nebo maker plainTeXu se nepovažuje za projev neslušného vychování, ale je to běžný vyjadřovací prostředek. Uživatel tím dosáhne na páky přímo spojené s TeXem bez toho, aby byl od nich oddělen dodatečným makro-polštářem.

    Vzhled ukázkového dokumentu je „implicitní pro OPmac“. Při použití OPmac se předpokládá, že typograf přetáhne některá makra z OPmac do svého souboru a tam je předefinuje k obrazu svému a k obrazu cíleného dokumentu. Ve zdrojovém textu pak bude napsáno \input opmac následované například \input styl, kde proběhne předefinování. Proto jsou makra OPmac napsána srozumitelně a bez zbytečných parametrů.

    Ukázka druhá – XeLaTeX

    link

    LaTeX v záhlaví dokumentu zavádí tzv. balíčky pomocí \usepackage. Přesněji: makro \usepackage použije primitivní příkaz \input k načtení specifikovaného souboru maker. Uživatel LaTeXu teoreticky nemusí nic nestandardního řešit: jakýkoli požadavek, na který si vzpomene, je pravděpodobně už vyřešen v nějakém balíčku. Takže uživateli stačí přijít na to, který to je balíček (CTAN je poměrně rozsáhlý), nastudovat dokumentaci k vybranému balíčku a balíček použít. Nicméně velká většina balíčků řeší úkol, který je na úrovni TeXu samotného řešitelný jen pár řádky maker (je jen potřeba vědět, jakými). OPmac proto místo takových krátkých balíčků používá www stránku OPmac triků.

    Čtenáři, kteří znají LaTeX, si ve zdrojovém dokumentu v ukázce povšimnou několika podstatných změn, které jsou typické pro XeLaTeX: místo balíčku babel pro vícejazyčnou sazbu je použit balíček polyglossia, dále se nepoužívá balíček fontenc ani inputenc, protože XeTeX nekompromisně předpokládá vstup v UTF-8 a textové fonty v UNICODE. K zavedení rodin fontů je třeba použít balíček fontspec, který je nově vytvořen pro UNICODE fonty.

    Prvním povelem LaTeXu \documentclass se specifikuje základní typ dokumentu (tzv. třída dokumentu). Obvykle se používá jedna z možností article, report, book, letter nebo slides. Povel \documentclass přečte soubor odpovídajícího názvu s příponou cls (například article.cls), kde jsou makra nastavující výchozí stav dokumentu podle požadované třídy a dodatečných parametrů specifikovaných v hranaté závorce.

    LaTeX nutí uživatele dodržovat strukturu do sebe vnořených tzv. prostředí obklopených příkazy \begin{něco}\end{něco}. Pro zahájení sekce se používá příkaz \section a pro podsekci \subsection. Nadpis následuje uzavřený ve svorkách. Obrázek načteme pomocí \includegraphics (toto makro je definováno v balíčku graphicx). Tabulku tvoříme v prostředí tabular. Zájemcům o LaTeX doporučuji Satrapovu knížku LaTeX pro pragmatiky.

    Svůj soukromý vztah LaTeXu jsem shrnul v článku Proč nerad používám LaTeX. Ačkoli jsem článek napsal před 16 lety, nic bych v něm neměnil ani dnes.

    Ukázka třetí – ConTeXt

    link

    Podíváte-li se do ukázkového zdrojového souboru, shledáte, že prostředí v ConTeXtu se vymezují příkazy \startněco\stopněco. Nejpodstatnějším rysem ConTeXtu je možnost nastavení parametrů sazby příkazem \setupněco následovaným údaji ve tvaru klíč=hodnota v hranatých závorkách. Pro sekce a podsekce se používají příkazy \section\subsection stejně jako v LaTeXu. Na rozdíl od něj ale může za těmito příkazy v hranaté závorce následovat lejblík pro odkaz bez nutnosti psát slovo \label.

    Záměrem ConTeXtu je umožnit uživateli nastavovat typografické a další parametry sazby pomocí dokumentovaných parametrů. Tím se liší od LaTeXu, kde se předpokládá, že použitím stylového souboru jsou typografické parametry nastaveny a uživatel se o to nestará. ConTeXt se liší pochopitelně taky od OPmac, kde si typografické parametry uživatel nastaví přímo na úrovni primitivních registrů TeXu a není nucen hledat v dokumentaci, jak se která vlastnost jmenuje a jak ji nastavit v nové vrstvě, která se nad TeXem rozprostírá a jmenuje se ConTeXt.

    ConTeXt (ve verzi MKIV) je silně propojen s Lua skriptováním a (v obou verzích MKIV i MKII) s Metapostem, což je (zhruba řečeno) jazyk na „programování obrázků“. Grafické prvky tak kooperují se samotnou sazbou prostřednictvím Metapostu. K této problematice se vrátím až v díle věnovaném grafice. K verzi ConTeXtu MKII vyšel před léty seriál na rootu.

    Soutěž o LaTeXového a ConTeXtového experta

    link

    Osobně nejsem ani jedním z uvedených expertů. Proto jsem s ukázkami LaTeXu a ConTeXtu měl jisté potíže. Například v LaTeXu nevím, jak přesvědčit tabulku, aby měla kolem vodorovných čar více vertikálního prostoru a zejména aby ty vodorovné čáry neprotínaly dvojitou svislou čáru. Kdo první v diskusi pod tímto článkem ukáže LaTeXové řešení (tj. nikoli TeXové, na úrovni \halign, \strut atd. to umím taky), toho budu nazývat LaTeXovým expertem.

    Dále je zde druhá XeLaTeXová úloha: matematické fonty zůstaly v Computer Modern, což se k písmu Schola poněkud nehodí. Chtěl bych tam mít (jako v ukázce s OPmac) TXfonty. Použití \usepackage{txfonts} se nesnáší s balíčkem fontspec. Kdo vyřeší tento problém, toho budu nazývat XeLaTeX-fontovým expertem. Komu se podaří vytvořit tabulku se dvojitými čarami dle vzoru z OPmac-ukázky v ConTeXtu, toho budu nazývat ConTeXtovým expertem.

           

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

    30.10.2013 07:22 beginer
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Děkuji za výborný článek.

    Čím to je, že se mi subjektivně více líbí text vysázený pomocí maker p.Olšáka ?
    30.10.2013 08:34 jOHAN
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Mne sa tak isto viac páči. Sú tam isto také isté fonty? V LaTex a ConTeX výstupe vidím pri podrobnom priblížení rôzne veľkosti (výšky) písmen v slove. Text pôsobí rozhádzane. V TeX+OPmac výstupe je všetko pekné, vyrovnané.
    olsak avatar 30.10.2013 10:26 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Textové fonty jsou ve všech třech ukázkách stejné. Například pomocí příkazu pdffonts se můžete přesvědčit: TeXGyreSchola-Regular/Bold/Italic.

    Já nevidím rozházený text ani různé velikosti písmen v jednotlivých ukázkách. To asi taky záleží na PDF prohlížeči...
    30.10.2013 10:46 jOHAN
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Máte pravdu, bolo to prehliadačom PDF vo firefoxe. PDF prehliadač v systéme (Ubuntu 12.04, evince) to zobrazuje korektne.
    30.10.2013 08:05 K>
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    vice vertikalniho prostoru v tabulce se dela nastavenim registru na vetsi hodnotu nez 1, tedy pomoci: \renewcommand{\arraystretch}{1.3}
    30.10.2013 08:15 K>
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Hm, ale to protinani dvojitych car nevim, takze jsem leda tak polovicni LaTeXovy expert :)
    wamba avatar 30.10.2013 09:14 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    to se dá řešit pomocí balíčku hhline a pak místo příslušných \hline použít \hhline{||-|--||}
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    olsak avatar 30.10.2013 10:17 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    > to se dá řešit pomocí balíčku hhline ...

    Ano, pana kolegu Krňávka tedy od této chvíle nazývám LaTeXovým expertem. Je zde také názorně vidět, co jsem psal v článku: pro skoro jakýkoli problém v LaTeXu existuje balíček, jen je třeba vědět jaký.

    Nevyřešené problémy nicméně zůstávají: matematické fonty v XeLaTeXu ani ConTeXtu nejsou TXfonty (implicitní Computer Modern se k textovému písmu Schola vůbec nehodí), a dále v ConTeXtu jsme se zatím nevyrovnali s křížením čar v tabulce.
    30.10.2013 10:56 vencas | skóre: 32
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Existují opentype matematické fonty XITS, v XeLaTeXu jsou natáhnout pomocí \setmathfont{XITS}, viz např. zde.
    olsak avatar 30.10.2013 11:37 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    > Existují opentype matematické fonty XITS ...

    XITS jsem pro ukázku tohoto článku taky zkoušel, ale nějak se nedařilo. Chtělo by to tedy předvést funkční řešení: vyjít ze zdrojáku priklad-latex.tex, zabudovat do něj změny a poslat odkaz na zdroják a výsledné PDF.
    wamba avatar 30.10.2013 22:00 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Tak po trošce hledání a experimentů předkládám:
    \documentclass[a4paper,11pt]{article} 
    \usepackage{polyglossia}               % nastavení jazyka (náhrada za babel)
    \setdefaultlanguage{czech}             % české vzory dělení, atd. 
    \usepackage{amsmath}
    \usepackage{amsfonts}
    \usepackage{fontspec}
    \setmainfont{XITS}
    \usepackage{unicode-math}
    \setmathfont{XITS Math}
    \usepackage{hhline}
    \begin{document}
    \begin{tabular}{||l|cc||} 
      \hline
      & \multicolumn{2}{c||}{počet \qquad\null}\\
      makro             & řádků kódu & stran dokumentace \\ 
      \hhline{||-|--||}
      &&\\ [-2ex]
      plain             &    1241 & 100 \\
      OPmac             &    1600 &  19 \\ 
     \hhline{||-|--||}
      &&\\ [-2ex]
      \LaTeX{} (jádro)  &    8000 & 240 \\
      hyperref          &   24773 & 423 \\
      color + graphics  &    2469 &  81 \\
     \hhline{||-|--||}
      &&\\ [-2ex]
      Ti\textit{k}Z     & 1\,634\,882 & 726 \\ 
     \hhline{||-|--||}
     &&\\ [-2ex]
      Con\TeX{}t        & 1\,155\,673 & 547 \\ 
      \hline
    \end{tabular}
    
    V řádku se píše matematika mezi dolary: $a^2+b^2=c^2$. Nebo je možno
    sestavit samostatnou rovnici obklopenou dvojicí dolarů:
    
    \begin{equation}
      \int x^\alpha \mathrm{d}x = 
      \begin{cases}
        \frac{x^{\alpha+1}}{\alpha+1} & \mbox{pro } \alpha\not=-1 \\
        \ln x                         & \mbox{pro } \alpha=-1 
      \end{cases}
      \label{rce}
    \end{equation}
    Vzorce se zapisují zhruba tak, jak bychom je anglicky přečetli.
    
    
    \[
      \mathbb{A} = 
      \begin{pmatrix} 
        a & b & c \\
        d & e & f \\
        g & h & i 
      \end{pmatrix}
    \]
    Toť na úvod vše.
    
    \end{document}
    
    Nastavení math fontů:\usepackage{unicode-math} \setmathfont{XITS Math} (u mě funguje jen po přesunu amsmath a amsfont před)

    dříve diskutované \hhline a za ním vložený "fake" řádek zmenčený &&\\ [-2ex] (no dobře to moc elegantní není :))

    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    olsak avatar 31.10.2013 08:45 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Děkuji za námět na vylepšení LaTeXové ukázky. Je vidět, že nemám ty správné LaTeXové návyky, tj. nenapadlo mě zkoušet přehazovat pořadí zavedení jednotlivých balíčků. V zadání ovšem bylo ponechat textový font Schola. Protože navíc nemám fonty instalované v systému (mám je jen jako .otf soubory v TeXové distribuci), byl jsem nucen upravit zavedení fontu nikoli podle názvu fontu, ale názvu jeho souboru. Takže hlavička vypadá takto:
    \documentclass[a4paper,11pt]{article}  % V LaTeXu povinné
    \usepackage{polyglossia}               % nastavení jazyka (náhrada za babel)
    \setdefaultlanguage{czech}             % české vzory dělení, atd.
    \usepackage{amsmath}
    \usepackage{amsfonts}
    \usepackage{fontspec}                  % nastavení fontu
    \setmainfont[Ligatures=TeX,
        Extension=.otf,
        UprightFont= *-regular,
        BoldFont=*-bold,
        ItalicFont=*-italic,
        BoldItalicFont=*-bolditalic
    ]{texgyreschola}                      % fontová rodina TeXGyre Schola
    \usepackage{unicode-math}             % nastavení matematického fontu
    \setmathfont{xits-math.otf}
    \setmathfont[range=\mathit]{texgyreschola-italic.otf}
    
    Kompletní výsledek je na priklad-latex-b.tex a priklad-latex-b.pdf. Je možné si všimnout, že to stále není úplně totéž, jako v OPmac ukázce. Například jednička není z fontu Schola ale z xits fontu, což nepůsobí dobře. A otázka, jak zavést do xelatexu matematický TXfont (který není unicode) taky není zodpovězena. Přitom XeTeX tomu technickou překážku neklade: za použití XeTeX+OPmac tam ten TXfont mám snadno. Nevylučuji, že problém je jen v tom, že LaTeXu příliš nerozumím, takže do něj neumím vpravit TXfont.
    wamba avatar 5.11.2013 21:47 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    ta jednička by šla změnit pomocí \setmathfont[range=\mathup]{texgyreschola-regular.otf} popř. i nastavit další range=\mathbfup
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    olsak avatar 30.10.2013 10:11 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Děkuji za částečné řešení toho vertikálního prostoru v LaTeXové tabulce pomocí \renewcommand{\arraystretch}{1.3}. Chápu to tedy tak, že potom mezi řádky, kde se nevyskytuje vodorovná linka a tudíž tak velký prostor není potřeba, je nutné vrazit něco jako \vspace se záporným argumentem.
    30.10.2013 10:15 Jaroslav
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Příloha:
    nevim, jestli nemam spatny firefox, ale priklad k OPmac ma nedokonceny znak integralu i zavorky kolem matice, v ostatnich prikladech to bylo dobre. kdyz to otevru externe, tak je vsechno dobre. nevite nekdo, proc?
    Jakub Lucký avatar 30.10.2013 10:28 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Protože pdf.js... Ten prohlížeč ve FF je taková fórová hračka...
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    30.10.2013 11:10 vencas | skóre: 32
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Text "proč nerad používám LaTeX" jsem četl už asi před 10 lety a také i o něm stále myslím totéž: je to pohled autora-programátora v TeXu, který chce mít sazbu přesně podle svého gusta (je asi shodný s pohledem mnoha TeXařských elitářů).

    Mně tedy většinou záleží primárně na obsahu, přijetí obsahu by měla sazba umožnit, tedy vypadat "přijatelně" a nerušit (což třeba Word, zvlášť s matematikou, ani náhodou nesplňuje), a taky pro mně jako autora proveditelná s vynaložením rozumného úsilí. A LaTeX mi v tom poskytuje akorát tu rovnováhu, která se mi líbí - většina věcí funguje, když něco zřídka chci jinak, dá se to přiohnout.

    Při publikaci článků, mají vydavatelé styly pro LaTeX, které většinou potřebují jen malou úpravu zdrojáku, pokud je napsán "čistě". Argumenty, že autoři dokumentu v LaTeXu prasí (v článku p. Olšáka) jsou podobné, jako že c++ je špatný jazyk, protože v něm lze psát špinavě. Docela by mě zajímalo, jak by pan Olšák připravoval sborník v plainu (když uvádí jako příklad, jaké je to peklo s LaTeXem), kdyby se mu sešlo 40 příspěvků v plainu, přičemž každý by si nejdřív definoval všechny svoje věci (obsahy, obrázky, floaty, citace, nadpisy) vlastními makry?

    Psát si vlastní makra na obsah, no, kdo chce tam, pomozme mu tam. Opravdu nemám čas na to, abych si psal makra na prezentace (jako beamer, který má těch skvělých vychytávek opravdu dost), číslování řádků textu (ve dvousloupcové sazbě na vnějším okraji a další drobnosti) a pokračovat by se dalo dlouho - stačilo by projít seznam balíčků, které v LaTeXu používám a každý z nich bych si nějak uprasil sám. Celkem mám představu, jak ty balíčky vevnitř vypadají, mnoho z toho bych v TeXu napsal (TeXbook naruby je super), ale proč...?
    olsak avatar 30.10.2013 11:33 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    > Docela by mě zajímalo, jak by pan Olšák připravoval sborník v plainu (když uvádí jako příklad, jaké je to peklo s LaTeXem), kdyby se mu sešlo 40 příspěvků v plainu, přičemž každý by si nejdřív definoval všechny svoje věci (obsahy, obrázky, floaty, citace, nadpisy) vlastními makry?

    Ano, připravoval jsem sborník v plainu, sešlo se 40 příspěvků, většina byla v LaTeXu, několik v plainu. Ty LaTeXové jsem prelovským skriptíkem přeznačkoval do mého značkování, u těch plainových jsem odříznul definice sazby, protože definice sazby měl sborník vlastní. Nikde nebyl žádný problém. Sborník jsem sestavil v pohodě.
    31.10.2013 07:44 vencas | skóre: 32
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Já jsem si právě představoval, že každý článek v plainu měl svoje definice kapitol, obrázků, citací apod - a ta makra se navíc nejmenovala stejně. Vy použijete \kap, někdo jiných \chap, další \secti atd.

    Já když jsem jednou sborník v LaTeXu dělal, kde těch příspěvků taky bylo kolem 40, tak jsem věděl, že střeva článků - \section atd - se jmenují stejně, takže jsem uřezával preambule (ve kterých bylo plno ošklivých věcí jako 60 definic \def\bka{\mathbold{\kappa}}\def\bKa{\mathbold{\Kappa}} které si autor nosil nejspíš už od diplomky), ale na těch základních věcech panovala shoda a už jsem je upravovat nemusel.

    A shodneme se na tom, že peklo byly příspěvky, které přišly ve Wordu a někdo je zkonvertoval čímsi do "LaTeXu" plného \vskipů, \hspace, \textbf atp.
    30.10.2013 13:05 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Psát si vlastní makra na obsah, no, kdo chce tam, pomozme mu tam
    Trochu mi to pripada jako NIH syndrom.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    30.10.2013 14:38 dad
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    jsem tehoz nazoru, ale musim priznat, ze jsem to nechtel psat u clanku, ktery ma uroven, psat u nekoho , kdo ma uroven a sve praci rozumi.

    Navic me pri cteni toho clanku napadlo, ze pan Olsak nabizi svetu 'sva' makra, ktera jsou 'lepsi' nez ta makra v tom LaTexu. To jsem musel ale nejak spatne pochopit, protoze to by odporovalo te jeho myslence, ze psat se ma v tom cistem TeXu a ne v nejakych predpripravenych a tim omezujicich subsystemech.

    Musism rict, ze se v tom stale jeste nevyznam, protoze sem to pochopil tak, ze ja jako treba autor budu spolupracovat s nejakym expertem na TeX, s kterym si domluvim co ja v mem originale musim zapsat za 'kouzelna slovicka' a pak se to vytiskne optimalne. Je to tak spravne?

    Tedy, kdyby to tak melo byt, tak to je z hlediska sazby jiste optimalni, ale zda se mi to neprakticke?
    30.10.2013 23:11 nasson
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Osobně mám podobný názor (LaTeX vs plain TeX), prostě začnu psát hned a detaily řeším později. U plainu musím umět nejdříve vše (nebrat doslova) a pak začít psát...

    Pan Olšák to třeba vysvětlí. Ale pokud to chápu dobře, tak neříká, že jsou lepší (měla by dělat více méně totéž), ale že jsou jednodušší ve smyslu snažšího přiohnutí do konkrétní podoby. Prostě si vezmu kus a použiju ho, zbytek smažu/změním. A to u LaTeXu neudělám takto snadno...

    OPmac jsou makra pana Olšáka. Existuje něco podobného, světově rozšířeného? Nebo ještě jinak - jsou jednotlivé názvy maker používané v OPmac v souladu s těmi, co se obecně používají v TeX komunitě? A má vůbec TeX komunita běžně užívané názvy pro makra? (např. * jako odrážka, to je inovace jen v OPmac, nebo běžná praxe i u ostatních?)

    Jinak názvy LaTeX a ConTeX jsou otřesné. V tu chvíli mě nezajímají slečny v těsných gaťkách a vyhledat informaci o contextu je přímo nemožné...
    olsak avatar 31.10.2013 09:14 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Pan Olšák to třeba vysvětlí...
    Výhody OPmac jsou shrnuty na první a druhé stránce dokumentace. Vlastnosti, které má LaTeX rozprostřeny v desítkách balíčků s celkovým počtem stotisíců řádků kódu, jsou naprogramovány v jediném souboru s 1600 řádky. Chtěl jsem hlavně ukázat, že se věci dají dělat jednoduše.

    A nemusíme jen srovnávat počty řádků kódu, ale též počet stran dokumentace. OPmac je na 19 stranách. Když ale chcete třeba použít beamer (typicky proto, aby člověk na slídu napsal: nadpis, * výkřik první, * výkřik druhý), musí se prokousat více než dvěma sty stránkami dokumentace.
    jsou jednotlivé názvy maker používané v OPmac v souladu s těmi, co se obecně používají v TeX komunitě? A má vůbec TeX komunita běžně užívané názvy pro makra? (např. * jako odrážka, to je inovace jen v OPmac, nebo běžná praxe i u ostatních?)
    TeXová komunita obecně používá (bohužel) LaTeXové značkování. OPmac jsem zveřejnil v prosinci 2012 na setkání uživatelů TeXu v Brně a pak v dubnu mi o tom vyšel podrobný článek v americkém TUGboatu. Je to tedy relativně nové, takže zatím asi málo užívané.
    2.11.2013 07:10 vencas | skóre: 32
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Já sice chápu, že obhajujete svoje makra, ale jestli tvrdíte, že byste i beamer napsal na 1.6k řádků a zdokumentoval na 19 stranách (nejde o přesné počty, ale o to, že je to řádově méně), tak tomu moc nevěřím (přechody, pauzování uprostřed slidu (včetně TikZ!) , obsah a ukazování postupu v rámci sekce, konfigurovatelnost sekcí, výstup na stránku s přehledem slidů).

    Samozřejmě že když se píše monolitický systém, který má být spíš podkladem pro to, aby si ho věci znalý člověk přiohnul podle potřeby, může být úspornější, než balík maker, který má aspiraci pokrýt bezpočet použití a podporovat všemožná rozšíření.

    olsak avatar 2.11.2013 07:44 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Jsem přesvědčen, že 90 procentům uživatelů stačí jednoduché slídy, které jsou v OPmac-tricks zmíněny pod číslem 0017 a 0022. Tím těmto uživatelům ušetřím dlouhé studium dvousetstránkové dokumentace. A poměr jednoduchost OPmac / složitost Beameru je v tomto případě gigantický: implementace není na 1.6 k řádcích, ale slovy na 24 řádcích. Dokumentace včetně implementace se vejde na jednu obrazovku www prohlížeče.

    A TikZ je další obluda, bez které se obejdu, viz článek Jednoduchá grafika PDF primitivně.

    Můžete samozřejmě namítat, že v mém řešení není všechno, ale co tam chybí si šikovný uživatel dodělá. Stačí umět TeX (tj. přečíst řádově 100 stránek dokumentace) na rozdíl od stovek až tisíců stránek k jednotlivým balíčkům. Každý si může vybrat, co se mu jeví jednodušší.
    5.11.2013 14:53 vencas | skóre: 32
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Já si právě radši přečtu jednoduchý example k beameru a pak si v dokumentaci vždycky najdu to, co potřebuju. S TikZ udělám na pár řádek věci, které bych primitivy psal dlouho a kdybych na to měl století, udělal bych si vlastní TikZ, akorát horší.

    Asi rozumíte rozdílu mezi "přečíst" si 100 stránek dokumentace k TeXu (a tím se začít učit programovat v jazyce, který je popsán na 100 stránkách, ale přečtení a porozumění stavebním blokům je tisícina úsilí, které musíte potom vynaložit) a "přečíst" si dokumentaci k Beameru, kterou si opravdu jen přečtu a některé části přímo použiju.

    Úplně rozumím tomu, že pro Vás je snažší psát v TeXu; když ale argumentujete proti LaTeXu, snažíte se prezentovat Vaši osobní preferenci jako něco, co by měli všichni nahlédnout (a ještě s určitou zahořklostí, že se prosadilo něco podřadného). Už to, že většina žurnálů (aspoň těch matematicko/přírodovědecko/technických) bere příspěvky v LaTeXu, ukazuje, že LaTeX bude mít asi i nějaké výhody.
    5.11.2013 16:13 nasson
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    No, mate pravdu, ale asi jen castecne. Beamer moc neznam, nebudu komentovat. TikZ je bezva a bude fungovat i v plainu. Ale co se tyce LaTeX vs TeX. Tak v LaTeXu si sice prectu jednu kratkou knizku a muzu zacit psat, ale kdyz pak chci neco urciteho, tak je to vazne tvrdy boj. Pak mohu zacit hledat vhodny balicek a nejspise ho i najdu, ale opet musim cist dokumentaci (nekdy to mam za 10 minut hotove a je to bezva, jindy ctu 500 strankovou knizku). Obcas se pak balicky mezi sebou nemaji rady, zalezi treba i na poradi, atd. On by to byl boj i v plainu. Ale otazkou je, proc LaTeX? Proc radsi nebyla v historii vystavena jen makra nad plainem, ale stale se drzici tech zakladu, tak jako to dela OPmac? Bylo by to lepsi? Pokud by byl vysledek stejny, tak si myslim, ze bylo. LaTeX ma jednu obri vyhodu, kterou hrave porazi plain i Context. Rozsirenost. Proste dokumentaci, ruzna rozsireni, jak co udelat, aniz bych musel znat cokoliv ze strev, atd.

    Ja napr. zkousel context. Je lepsi? Nepochybne. Ale jsem zpatky u LaTeXu, protoze pouzivam rozsireni, ktera v contextu nejsou. A hlavne, veci z dokumentace pak v MKIV nefunguji. Zkratka chybi dobra dokumentace a ucit se zaklady z mail listu... navic z nevyhledatelnym nazvem context...
    olsak avatar 31.10.2013 11:50 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Abych ukázal, v jakém poměru je zhruba jednoduchost OPmac proti složitosti LaTeXu, rozhodl jsem se spočítat soubory a řádky, které XeLaTeX potřeboval na vyprodukování ukázky z tohoto článku a srovnat to s počtem souborů a řádků, které ke stejnému výsledku potřeboval CSplain.

    XeLaTeX při zpracování priklad-latex-b.tex načetl 89 dalších souborů s celkem 69843 řádky. Skoro se divím, že to všechno drží pohromadě a jakým zázrakem to vlastně funguje.

    CSplain při zpracování priklad-opmac.tex načetl 5 dalších souborů s celkem 2999 řádky a vytvořil víceméně totéž.

    Při generování formátů byly síly obou variant daleko vyrovnanější: XeLaTeX potřeboval pro vygenerování sebe sama 33 souborů a 42709 řádků a CSplain potřeboval 23 souborů a 20000 řádků. Zde jsem nezapočítal soubory při generování XeLaTeXu s jinými vzory dělení, než je čeština, slovenština a angličtina, protože vzory dělení zabírají nejvíce místa. Pravda, XeLaTeX má během generování načteno cca 50 vzorů dělení. To umí CSplain taky (dokonce vzory dělení načte v různých kódováních, což zas LaTeX neumí), ale v implicitní konfiguraci má CSplain načtenu jen češtinu, slovenštinu a angličtinu. Tak, abychom měli porovnání, ostatní jazyky XeLaTeXu jsem nepočítal.

    Pro zajímavost můžete spočítat, kolik řádků externích souborů potřeboval k vytvoření ukázky ConTeXt. Shledáte, že jich je ještě více, než v případe XeLaTeXu.
    Josef Kufner avatar 30.10.2013 18:55 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    I ten LaTeX vyžaduje docela hodně úsilí. a v něm kdysi psával také, ale postupem času jsem plně přešel na LyX, který za mne vyřeší prakticky všechny technické detaily a já mám více času na zkoumání zajímavějśích věcí, abych pak měl o čem psát. Na druhou stranu je pořád dobré vědět, jak to funguje pod pokličkou, neboť je pak snažší řešit neobvyklé situace.
    Hello world ! Segmentation fault (core dumped)
    30.10.2013 11:14 vencas | skóre: 32
    Rozbalit Rozbalit vše tex.stackexchange.com
    Pro vyřešení "soutěžních" otázek (i všemožných dalších problémů s *TeXem) doporučuji tex.stackexchange.com.
    31.10.2013 00:00 dgvdtfdsffx
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    p.olsak je naprosta legenda jenz vse programuje v texu jako kdysi emacsari delali jen emacsu. ja se jen divim ze mame freebsd, netbsd, gnu linux a hafo c kompileru i c libek pribyva, tak sazeci system je furt jen jeden tex a nadstavby. interesantni!!!
    Josef Kufner avatar 31.10.2013 01:08 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Scribus ;-)
    Hello world ! Segmentation fault (core dumped)
    1.11.2013 11:15 Hudry
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Scribus? Vtip? zkousel sem si v tom vysazet knizku cca 200 stran... nemel sem dost casu abych mel se Scribem trpelivost. Kdo mi napise ze na nizkonakladove casopisy s malym poctem stran je to vyborne, tak at si to rovnou odpusti.
    31.10.2013 15:17 fxf
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Děkuju za tento seriál. Rád se poučím o tom, kam se TeX ubírá. Používám TeX a především LaTeX už dlouhá léta, především pro psaní odborných textů. Bohužel musím říct, že to používání není tak úplně dobrovolné. Spíš je to tak, že prostě není nic lepšího k dispozici, jinak mám občas pocit, že se vracím někam do počítačového pravěku. Vpodstatě souhlasím se všemi stížnostmi na LaTeX uvedenými zde. Vím, že mnoho z toho jsou stížnosti na LaTeX, ale samotný TeX mi příjde příliš nízkoúrovňový.

    Neudál se v této oblasti nějaký pokrok k modernějšímu systému, který by stál za otestování? Ať už se jedná o nějakou nadstavbu TeXu (skriptování v Lua místo v TeXu mi zní nadějně), nebo o nějakou modernější alternativu?

    ghibulo avatar 31.10.2013 18:05 ghibulo | skóre: 6 | blog: ghibulo
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Přišla mi jako poměrně dobrá myšlenka používat asciidoc asciidoc - ty značky se snadno osvojí a na rozdíl od konkurence to má tolik konstrukcí, že by to mělo bez problémů stačit od diplomky po dopis babičce. Ovšem nejen dle mých zkušeností ten export funguje spolehlivě jen do html - nicméně dost slušně, včetně matiky. Trochu si teď pohrávám s myšlenkou, udělat z toho export do TEXu pana Olšáka. Člověk by pak mohl psát všechno jedním způsobem a měl by super výsledky v html/pdf/elknihyDOC. Do různejch wysiwyg editorů by se to zatím dalo dostat přes import htmlka. Zdá se mi, že by tomuto řešení v současné nabídce těžko něco obdobného konkurovalo, ale možná se mýlím...? Domnívám se, že budoucnost zveřejňování textů musí vést přes nějaké takovéhle esperanto, které bude každej server schopnej překlopit dle požadavků do jakéhokoliv formátu v co nejlepší kvalitě - otázka je, jestli je vhodné za toto 'esperanto' pasovat právě asciidoc. Asi by tyto věci stály za diskuzi odborníků, aby se vytyčilo k čemu směřovat. Mnoho kostiček už máme připraveno a plainTEX nebo asciidoc by mohla být jedna z nich.
    Fluttershy, yay! avatar 1.11.2013 12:18 Fluttershy, yay! | skóre: 92 | blog:
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    pandoc rozšiřitelný Haskellem. ^_^
    🇵🇸Touch grass🇺🇦 ✊ no gods, no masters
    ghibulo avatar 1.11.2013 15:28 ghibulo | skóre: 6 | blog: ghibulo
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Díky za upozornění, pěkná kostička do naší stavby, ale přímá odpověď na to, co pasovat na "esperanto", ve kterém by šlo psát co nejvýhodněji většinu textů, to není. Dle mého, by toto "esperanto" mělo splňovat toto:
  • žádné rapidní změny, co jednou napíšu, už nechci nikdy přepisovat nebo přeznačkovávat (IMHO např. Latex toto ve svém vývoji popřel, možná ještě popře?)
  • snadnost zápisu - žádnej XML hybrid, kterej by prudil pamatováním na zbytečné ukončovací značky atd. (DocBook se tím zřejmě vylučuje)
  • poměrně rozsáhlé možnosti, každý uživatel si to nastuduje do takové hloubky, jakou bude potřebovat a co nejméně požadavků by mělo být řešeno spešl v exportních souborech (markdown nebo textile nejsou příliš vhodné pro svou omezující jednoduchost)

    Možná mám jen omezenej pohled, ale stále mi zatím připadá AsciiDoc jako nejlepší kandidát z možných.

  • 1.11.2013 16:00 lolo
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    založený na xml... http://tbookdtd.sourceforge.net/

    a trochu lehčí varianta k AsciiDoc - http://txt2tags.org/

    Kdosi tu psal, že moderní latex je ConTeXt...
    2.11.2013 07:14 vencas | skóre: 32
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Já jsem se (pro dokumentaci programů) přiklonil ke Sphinx - rozšířený je, rozšiřitelný taky; syntaxi má celkem jednoduchou, byť na diplomku podle mě nestačí (nějaké složitější tabulky asi moc nepůjdou), lze vkládat rovnice, obrázky, grafy. Občas trochu těžkopádné, ale jde si na to zvyknout a výstup do HTML, pdf a mnoha dalších je přesně to, co mi sedne.
    olsak avatar 2.11.2013 09:19 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Dříve, než začneme uvádět odkazy na jednotlivá konvertítka mezi formáty, je třeba učinit zásadní rozhodnutí: jaký formát je ten výchozí, ze kterého se ostatní formáty generují, se kterým pracuje uživatel, píše v něm dokument a který je ukládán pro potřebu archivace. Můj názor je, že výchozí formát musí být pro autora poměrně přítulný, ale navíc v něm musí jít udělat vše bez kompromisů. A dokument bez kompromisů je dle mého názoru jedině v TeXu s výstupem do PDF. Všechny ostatní formáty (html, ePub, reStructuredText atd.) obsahují nějaký kompromis a tedy po konverzi představují ztrátu informace.

    Ačkoli po autorech žádáme čisté značkování, nakonec při zcela závěrečné úpravě sazby my sazeči do zdrojového dokumentu vložíme občas nějakou prasárnu typu \kern0.5mm, \looseness-1 atd. Například makro sice umístí obrázek s nanometrovou přesností na střed, ale obrázek má své subjektivní těžiště někde jinde a je potřeba jej podle toho mírně posunout. Nebo je třeba přesvědčit formátovač o speciálním formátování některých odstavců, abychom docílili balancování dvoustrany. Tyto značky jsou tedy vloženy dodatečně sazečem do zdrojového dokumentu TeXu. Je možné je označit například pomocí \pdfout{značka}. Zdrojový dokument TeXu by se tedy měl stát výchozím (pro archivaci, pro konverze). Jedině ve zdrojovém dokumentu TeXu lze dělat takovéto úpravy, jedině tam nejsme my sazeči omezeni žádnými kompromisy. Máme totiž v ruce Turingův stroj.

    Jestliže např. pandoc na www stránkách uvádí, že zkonvertuje cokoli na cokoli, tak je lhář, protože bez ztráty informace to z podstaty těch formátů není možné.

    LaTeX má nevýhodu, že nutí člověka k příliš ukecanému značkování (všude je spousta kudrlinkových závorek, všude plno \begin{},\end{}) a to člověka odrazuje a získává pocit, že LaTeXový dokument nemůže psát, že ho musí kódovat. Proto tady pan Kufner neopomene pod každým dílem seriálu připomenout LyX, proto vznikly uživatelsky přítulnější formáty (reStructuredText, Wiki atd.). Ovšem tato řešení vzdalují uživatele od zdrojového textu TeXu, ve kterém lze jedině vytvořit a uložit informaci bez kompromisů. Je sice možné napsat makra v TeXu, která přečtou XML, reStructuredText nebo něco podobného (předváděl jsem to např. na jednom tutoriálu na TeXové konferenci), ale není to pro TeX zcela nativní a komplikuje to práci s ním. Proto jsem navrhnul uživatelsky přítulné ale stále TeXovsky nativní značkování v OPmac. Ideální z mého pohledu tedy je toto značkování použít jako základ pro archivaci i psaní. Ovšem svět půjde asi jiným směrem: stále ke větší složitosti, ačkoli já se snažím prosadit jednoduchost.
    ghibulo avatar 2.11.2013 18:28 ghibulo | skóre: 6 | blog: ghibulo
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Musím uznat, že Váš příspěvek je velmi přesvědčující. Proč omezovat možnosti autora nějakými Asciidocy/Sphinxy, které v této oblasti TeXu nemůžou konkurovat? Souhlasím s Vámi i v tom, že když má svět na výběr mezi dobrým a méně dobrým, tak často spolehlivě vybírá to méně dobré. :-) V tomto konkrétním případě můžou být důvody následující:
  • zdánlivě velmi pozvolná křivka závislosti věnovaného času a výsledku. Píšu "zdánlivě", protože se z nějakého důvodu mezinárodně neprosadilo žádné jednoduché řešení à la OPmac. Když má nováček na výběr prokousávat se LaTeXem, vytvořit si všechno sám z nuly v plainu nebo začít pracovat v AsciiDocu/txt2tags/...Lyxu/Wordu, tak je zřejmé, co zvolí. Přitom csplain+opmac je s jednoduchými značkovacími jazyky v této věci zřejmě zcela srovnatelný.
  • malé množství konverzních nástrojů, asi jako důsledek toho, co uvádíte jako výhodu - že jde o Turingův stroj. Vytvořit konverzní nástroj z formátu, kde má autor možnost vytvářet zapeklitá makra, není tak snadné jako zkonvertovat asciidoc do html. Tohle je ale zřejmě jen otázka času, zatím by možná stačilo omezit se na rozumnou podmnožinu, jejíž hranice by autor dobře znal a respektoval.
  • poslední bod, který mě napadá, souvisí s předchozím - špatná spolupráce s lidmi, které TeX nepolíbil. Pro společnou úpravu dokumentu na cloudu se z pochopitelných důvodů nejčastěji prosadí nějaké WYSIWYG řešení, v nejlepším případě nějaký hodně snadný značkovací jazyk. Možná, kdybych mohl svou práci z TeXu vyexportovat do rozumně ostylovaného odt-dokumentu, nechat kolegy provést stylové+obsahové úpravy a pak si to převést zpět a pokračovat v závěrečných úpravách již ve svém TeX-prostředí...

    Po pravdě jsem velmi zvědav na Vaše řešení konverze do html - jestli to zvládne matiku/obsahy/rejstříky/citace jako odkazy atd. Třeba již zmíněný AsciiDoc je v této věci hodně silnou konkurencí.
  • olsak avatar 4.11.2013 23:01 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Po pravdě jsem velmi zvědav na Vaše řešení konverze do html - jestli to zvládne matiku/obsahy/rejstříky/citace jako odkazy atd. Třeba již zmíněný AsciiDoc je v této věci hodně silnou konkurencí.
    Moje html řešení je šité na jednu konkrétní úlohu a matematiku v něm neřeším. To jen, abyste neměl příliš vysoká očekávání...
    ghibulo avatar 4.11.2013 23:55 ghibulo | skóre: 6 | blog: ghibulo
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Koukal jsem jak je to řešený v asciidocu a zdá se, že to naštěstí není pro nějakou konverzní utilitu až tak velký problém. Vrazí kolem 2000 řádků scriptů do hlavičky a pak již je možno vkládat LaTeXovské matematické výrazy ohraničené dolary do těla stránky.
    Josef Kufner avatar 3.11.2013 01:49 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    LyX je na jednu stranu WYSIWYG editor, kde není třeba na makra TeXu ani pohledět, ale na druhou stranu umožňuje libovolná makra do dokumentu velmi snadno vkládat (a případně i obalit náhledem). A také umí zobrazovat generovaný LaTeXový kód současně při editaci.

    Ve výsledku je to nástroj, kde lze pohodlně psát a nezatěžovat se technickými detaily, ale při tom mít možnost zasáhnout, když automatika nestačí. Tedy uživatel je od zdrojového kódu v TeXu tak daleko, jak zrovna potřebuje. Například náhledy rovnic přímo při editaci výrazně šetří čas, neboť lze přemýšlet nad vzorečkama při psaní a bez přepínání se do PDF. Při sestavování okrasné titulní strany však lze psát přímo v TeXu. Obávám se, že tohle sebelepší sada maker netrumfne, neboť tam vždy bude velký ústupek v uživatelském rozhraní.
    Hello world ! Segmentation fault (core dumped)
    ghibulo avatar 3.11.2013 09:07 ghibulo | skóre: 6 | blog: ghibulo
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    To jsou jistě velké výhody, ale na druhou stranu - pouhé srovnání složitosti LaTeXu s CSplainu+OPmac ukazuje, že u té "okrasné titulní strany" se zvláště člověk přivyklý na wysiwyg pěkně nadře. Značkovací jazyky (a zvláště tak komplikované jako LaTeX) projevují svojí efektivitu tehdy, když ty značky člověk často používá a nemusí často někde něco hledat a zkoumat. Navíc s tou možností archivovat dokumenty je to oproti plainTeXu také dost nekonkurenční. Nicméně kdyby existoval nějakej konvertor, kterej by ten automatickej LaTeX uměl přerovnat do CSplainu+OPmac, tak si umím představit že by to řešilo ten můj "poslední bod". :-)
    7.11.2013 11:47 vencas | skóre: 32
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Součísti HTML je třeba JavaScript, který turingovsky úplný je. Vedle toho TeX jako jazyk není na obecné programování to nejpřehlednější (Brainfuck je taky turingovsky úplný, ale prostě těžkopádný), což je ostatně taky důvod, proč existuje LuaTeX - načítání OTF lze taky teoreticky napsat v TeXu, ale...

    Vy nechcete mít kompromisy v sazbě, používejte TeX. Kdybych dělal pořádné dlouhodobé tiskoviny jako knihy, kde na sazbě záleží, vůbec neváhám v tom, že TeX je jasná volba.

    V tom, co většinou píšu, nechci mít zase kompromisy v tom, do jakých formátů lze konvertovat nástroji, které již existují (to je pro mě důležité), třeba HTML, a to i za senu horší sazby do pdf. Jestli se vám chce psát konverze do z TeXu do HTML včetně třeba matematiky (třeba ten Mathjax je taky v JavaScriptu) nebo CSS, prosím, ale jste v tomto odhodlání asi dost osamělý.

    Pandoc zkonvertuje cokoliv na cokoliv se ztrátou informace, to se asi rozumí samo s sebou - ale kdo chce psa bít, vždycky si nějakou hůl vymyslí (na jejich webu opravdu nic takového nevidím).
    Fluttershy, yay! avatar 7.11.2013 12:37 Fluttershy, yay! | skóre: 92 | blog:
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Součísti HTML je třeba JavaScript

    wat

    Nebo tím myslíš buzzword HTML5?

    🇵🇸Touch grass🇺🇦 ✊ no gods, no masters
    ghibulo avatar 7.11.2013 14:44 ghibulo | skóre: 6 | blog: ghibulo
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)

    Se vším co píšete, plně souhlasím. Vaší pragmatický volbě rozumím. Kdysi jsem totiž z podobných důvodů 'vystřízlivěl' a přešel od plainTeXu k značkovacím jednoduchostem. Cítil jsem bolestně na jedné straně nedokonalost svých TeX-maker a na druhé daleko efektnější výstupy (s daleko menší námahou) z AsciiDocu.

    Teď mi nicméně přijde, že je to podobné, jako když si člověk vytváří databázi fotek v JPG, hudby v MP3... pro nějakou snadnou použitelnost, místo aby na archivaci používal nějaké bezztrátové formáty. Přitom ty těžkosti, které nás v současné době lákají obětovat sazbu, jsou ve své podstatě snadno řešitelné. Nebo byste si nevybral plainTeX, kdybyste v něm měl nadefinovanou podmnožinu příkazů à la Sphinx, obdobné možnosti konverze a navíc byste v případě potřeby mohl sáhnout po nástrojích, které by Vaše možnosti posunuli o několik levelů výš? Je pak ještě vůbec představitelné, že by Vás něco v budoucnu mohlo donutit změnit vaše ustálené zvyky tvorby dokumentů?

    Co se týče mého "osamělého odhodlání" :) ... domnívám se, že to nestojí za řeč. Spíš to asi zatím vidím jen na nějaké temporary řešení pro rychlej přístup k velkému množství formátů (plain+opmac -> txt2tags) a pokud mi nebude stačit pdfko, tak se budu krotit a používat jenom to, co mi můj konvertor sežvejká a přímej export do hlavních výstupních formátů (html, odt) v rozumné kvalitě ve svém případě vidím spíš jen jako takové pokusničení a dokonalou vizi budoucnosti :D

    4.11.2013 13:20 bhy | skóre: 35 | blog: bhyblog | brno
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Děkuji za vynikající článek. Mám jeden dotaz a jednu připomínku.
    1) jak je na tom OPmac s jinými jazyky než čeština, slovenština a angličtina?
    2) text "licence" na OPmac možná uvede do nepohody až stavu naštvanosti package maintainery některých dister:)
    ghibulo avatar 4.11.2013 15:29 ghibulo | skóre: 6 | blog: ghibulo
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    ad 1) OKTeX?
    olsak avatar 4.11.2013 20:27 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Děkuji za vynikající článek. Mám jeden dotaz a jednu připomínku.
    ad 1) OPmac jazyk neneřeší s výjimkou dvou věcí: má připravena slova Kapitola, Tabulka a Obrázek v uvedených třech jazycích a není problém přidat další, např. \sdef{mt:chap:de}{Kapitel}. Druhá věc je řazení do rejstříku, které je připraveno pro angličtinu a podle české normy. Řazení podle norem jiných jazyků by se muselo dodělat modifikací stávajících maker.

    Možná ale Váš dotaz se týkal možnosti psát v daném jazyce a používat dělení slov. To je pak dotaz na CSplain, ne na OPmac. CSplain pod 8bitovým TeXem dovolí načíst všechna dostupná dělení slov jazyků, jejichž abecedy se schovají do evropského kódování T1, což představuje 29 jazyků. CSplain pod 16bitovým TeXem (v Unicode) dovolí načíst všechna dostupná delení slov, což představuje nyní 54 jazyků včetně ruštiny, řečtiny atd.

    ad 2) Tím, že jste zmínil uvedené slovo v souvislosti s OPmac, uvedl jste mě do nepohody až stavu naštvanosti:). Pokud maintaineři dister přijmou TeXlive jako celek, který je z pohledu této problematiky velmi různobarevný, pak tam OPmac najdete.

    ad OKTeX: s touto myšlenkou jsem si pohrával zhruba před deseti lety, pro jednu věc jsem to použil. Nemám zprávy, že by to někdo jiný použil, takže jsem se tím přestal zabývat a dále jsem to nerozvíjel.
    olsak avatar 4.11.2013 21:08 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování)
    Kolegyně a kolegové,

    je skoro týden pryč a zatím nikdo nenapsal řešení, jak dostat TXfonty do matematických vzorečků v XeLaTeXu a v ConTeXtu. Přitom tady někdo uvedl nápovědu, jak postupovat:
    Pro vyřešení "soutěžních" otázek (i všemožných dalších problémů s *TeXem) doporučuji tex.stackexchange.com.
    Že by ta nápověda nezabrala? Chtěl bych zdůraznit, že TXfonty sice nejsou unicodové, ale pro matematiku to v XeTeXu nevadí.

    Připomínám další nezodpovězenou otázku: jak zajistit nekřížení čar v tabulce v ConTeXtu. Nějak mě to utvrzuje v názoru, že přiohnout si sazbu k obrazu svému ve složitějších nadstavbách opravdu není jednoduché...
    5.11.2013 20:18 lama
    Rozbalit Rozbalit vše TeX – 3 (příklady autorského značkování) - Angličtina?
    Dobrý den, učím se pracovat s Texem a velice se mi líbí vaše makra pro csplain. Momentálně zpracovávám anglický text a chtěl bych proto vědět, jak přepnout vaše makra aby generovaly anglické názvy (kapitoly, obsah, ...). Koukal jsem na soubor /csplain/base/czech.sty a vypadá to že tam ta možnost je, ale nejsem z toho moc moudrý. Nebo je lepší jít na to jinou cestou?

    Děkuji
    olsak avatar 5.11.2013 21:31 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování) - Angličtina?
    Soubor czech.sty do csplainu asi 20 let nepatří, protože slouží CSLaTeXu. Loni jsem ho konečně vypoklonkoval do příslušných mezí: do již nepodporovaného CSLaTeXu. Ale v Linuxových distribucích má tento můj úkon asi zpoždění, tj. ve Vámi používané distribuci se ještě neprojevil. Takže doporučuji s tímto souborem provést toto: rm czech.sty.

    CSplain negeneruje žádná slova automaticky, takže tam nemá smysl se ptát, jak přeponout automaticky generovaná slova do příslušného jazyka. Na druhé straně OPmac generuje tři slova: Tabulka, Obrázek a Kapitola ve třech jazycích. V jakém jazyce to vyleze, záleží na tom, jaké máte zapnuto dělení slov: implicitně anglické, nebo \chyph české, nebo \shyph slovenské. Rozšíření o další slova nebo jazyky dle potřeby je v OPmac snadné a je popsáno v dokumentaci.
    egg avatar 6.11.2013 09:41 egg | skóre: 20 | Praha
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování) - Angličtina?
    \chyph české, nebo \shyph slovenské
    Možná jsem hnidopich, ale nebylo by lepší označovat jazyky standardními kódy dle ISO 639-1? Tj \cshyph a \skhyph. Je to, myslím, v zájmu budoucího rozšiřování.
    olsak avatar 6.11.2013 09:57 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování) - Angličtina?
    Makra \chyph a \shyph jsou součástí CSplainu 22 let a zůstanou tam. Kromě toho ale CSplain podporuje alternativní přepínače \czlang, \sklang, \delang, \frlang, \rulang, \hulang atd. viz soubor hyphen.lan. Přitom \chyph je zcela totéž jako \czlang.
    egg avatar 6.11.2013 10:09 egg | skóre: 20 | Praha
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování) - Angličtina?
    Ale cz je kód státu, ne jazyka. :-/
    Josef Kufner avatar 7.11.2013 22:06 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování) - Angličtina?
    A co rozdíly mezi německou němčinou a švýcarskou němčinou (locales de_DE vs. de_CH)? Podle diffu překladu grubu to vypadá, že používají jiné uvozovky.
    Hello world ! Segmentation fault (core dumped)
    olsak avatar 8.11.2013 07:55 olsak | skóre: 29
    Rozbalit Rozbalit vše Re: TeX – 3 (příklady autorského značkování) - Angličtina?
    TeX je primárně na psaní textu, ne na jeho automatické generování. A švýcar ví, jakou má použít uvozovku a němec taky. Oba použijí stejné vzory dělení slov. Nikdo nepotřebuje speciální přepínač.

    Pokud budu automaticky generovat švýcarské faktury a ve zdrojové databázi jsou místo uvozovek znaky "coul" (což je bohužel obvyklé), pak udělám makra, která to překlopí na správné uvozovky. Podle tamní normy taky udělám makra, která formátují správně datum, adresu sídla instituce atd. Pokud to dělám v Česku, pracuji podle normy ČSN 01 6910. Teprve v okamžiku, kdy budu chtít vytvořit systém na generování faktur pro více zemí, musím nastudovat legislativu každé z nich a na základě toho vytvořit zřejmě přepínač, který mění způsob formátování dle odpovídající normy.

    Jinak děkuji za upozornění na chybu v označení jazyka (cz--cs). Pokusím se to v nejbližší době opravit.

    Založit nové vláknoNahoru

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