[cstex] Výstup do ePub

Zdenek Wagner zdenek.wagner at gmail.com
Tue Mar 24 17:21:03 CET 2015


Dne 24. března 2015 16:16 Petr Olsak <petr at olsak.net> napsal(a):

>
> Dobrý den,
>
> dovolil bych si k tématu také úvahu.
>
> TeX slouží nejen ke generování sazby, ale také k vytvoření zdrojového
> dokumentu v *lidsky přívětivé podobě*, ze které se ta sazba (nebo html nebo
> ePub) může generovat. Pointa je, že zůstává vzájemná interakce mezi tvůrcem
> dokumentu (korektorem atd.) a zdrojovým textem, pokud je zdrojový text
> napsán v lidsky přívětivé podobě.
>
> Jakmile opustíme myšlenku psát zdrojové texty v lidsky přívětivé podobě
> (tu myšlenku například opustil LaTeX, protože nutí uživatele psát samé
> \begin{cosi}, \end{cosi}, plno kučeravých závorek atd.), pak lidé dokument
> nepíší, ale kódují. A ke kódování dokumentu je velice vhodné mezi člověka a
> kódovaný dokument vložit nějaký sofwarový polštář typu Lyx, nebo psát
> dokument v markdown a generovat z toho LaTeX-kód atd.
>
> Všechny tyto postupy zapomínají na podstatnou Knuthovu myšlenku, že TeX
> umožní psát zdrojáky přímo v kontaktu s uživatelem bez mezipolštáře a v
> lidsky přívětivé podobě, je-li podpořen rozumnou sadou maker (LaTeX takovou
> sadou maker bohužel není). A je zřejmé, že zdrojové dokumenty v lidsky
> přívětivé podobě pak mohou být primární a z nich je třeba vše ostatní nějak
> generovat. Nejen sazbu, ale i html či ePub.
>
> LaTeXový zdroják se dá psát úplně stejně dobře jako plainovský. Lyx se
používá jen proto, že uživatel není ochoten se naučit těch pár maker, které
potřebuje. Ovšem takovému uživateli nepomůže, když místo LaTeXu použije
plain. Když není ochoten zvládnout \documentclass, \begin{document},
\end{document}, \section a několik málo dalších maker, pak nezvládne ani
plain, i když teď má k dispozici OPmac.

\begin{cosi} ... \end{cosi} se do XML naopak převádí velmi snadno,
výsledkem je <cosi> ... </cosi>, pokud je to "cosi" správně definováno. A
pokud není přímý ekvivalent, lze to zkonvertovat na <div class="cosi"> ...
</div>. Jestliže \chapter má název v kučeravých závorkách, mohu mít jeden
obecný konvertor, který ví, že \chapter je kapitola s názvek v kučeravých
závorkách. Když se odkloním od tohoto LaTeXového standardu, mohu mít např.:

\def\kapitola #1\par{...}
\def\kapitola[#1]{...}
\def\kap#1.{...}

Potom konvertor neví, jak je vlastně definována kapitola a obecně potřebuji
pro každý dokument jinak nakonfigurovaný konvertor (když jsem ještě před
mnoha lety neuměl XML, generoval jsem z MySQL LaTeX a z LaTeXu pomocí
balíčku verbatim HTML). Problémem je samozřejmě případ, kdy je v LaTeXovém
zdrojáku:

\vspace{něco}
\noindent\textbf{číslo}\hspace{něco}\textbf{text}

\vspace{něco}

Tady konvertor nemůže vědět, jestli smí \vspace a \hspace vyházet, nebo
jestli to souvisí s tím, že uživatel neví, jak předefinovat grafický vzhled
\section.


> Cesta, kterou popsal pan Wagner, mít primárně XML, samozřejmě počítá s
> dodatečným softwarovým polštářem mezi XML kódem a uživatelem, takže
> ztrácíme výraznou výhodu TeXu, že máme mezi člověkem a dokumentem jen
> obyčejný textový editor. Nikdo snad nemůže tvrdit, že psát XML lze v
> lidsky přívětivé podobě obyčejným textovým editorem.
>
> Záleží na složitosti. Jednoduchý XML či HTML se tak psát dá, ale na
složitější dokumenty je lepší použít validující editor XML. Existují
komerční i free. Zatímco obyčejný textový editor mi dovolí napsat
\thispagestyle{enpty} nebo \temrm, ve validujícím editoru XML to nelze
(tedy lze, ale je to ihned označeno jako chyba, takže ji člověk opraví
ještě před zpracováním). Tak složitý formát jako ePub nelze psát ani
editorem XML, i když třeba <oXygen/> to umí. ePub je zazipovaná sada mnoha
souborů s pevně danými vazbami, takže to ručně psát nelze, je vhodné, aby
nějaký nástroj odpovídající soubory nějakým způsobem vygeneroval. Pokud mám
standardní strukturu vstupu, pak mohu mít jeden obecný nástroj. Pokud se
značkování zdroje dokument od dokumentu liší, bude to vyžadovat další
netriviální práci od člověka, který bude mít na starosti konverzi a bude
muset pro každý případ konvertor upravit a zajistit všechny příslušné vazby.

Mimochodem, když jsem psal knihu česky, která obsahovala části textu v
hindštině a urdštině (třeba i jen jednu větu v odstavci), editor XML mi
podle hodnoty atributu xml:lang přepínal spellcheck na daný jazyk. Neznám
textový editor, který by tímto způsobem (např. podle značkování babelu nebo
polyglossie) dokázal přepínat spellcheck pro TeXové zdrojáky. (Linux má
slovníky i pro tyto exotické jazyky.)


> Zdravím
>
> Petr Olšák
>
>
>
> Zdeněk Wagner
> http://hroch486.icpf.cas.cz/wagner/
> http://icebearsoft.euweb.cz
>
>
>
>
> On Tue, 24 Mar 2015, Luboš Kloc wrote:
>
>  Dobrý den,
>>
>> dovolil bych si k tématu přidat jednu obecnější úvahu.
>>
>> TeX byl a je určen primárně na tvorbu sazby, tedy konečného vzhledu
>> dokumentu. Což je přesně to, co formáty typu html či ePub vůbec nepotřebují.
>>
>> Takže vytvářet ePub z výstupu TeXu znamená naprostou většinu informací,
>> které Tex vytvořil, zase odstranit, a některé informace, které ve výstupu
>> TeXu už nejsou (protože už nejsou dál potřeba) je nutno pracně
>> rekonstruovat (mezislovní mezery, znovuspojení rozdělených slov...)
>> Je to tedy postup typu "proč to dělat jednoduše, když to jde složitě").
>>
>> Daleko vhodnější je vytvořit ePub přímo z TeXového zdrojáku, nebo (jak
>> navrhuje pan Wagner) napsat zdroják v nějakém master XML formátu, z kterého
>> pak lze vygenerovat jak TeX, tak ePub.
>>
>> Připomínám, že je to jen obecná úvaha a nemám tušení, jaké nástroje
>> existují a jak je využít. Spíš chci připomenout, že bychom neměli ztrácet
>> povědomí, k čemu TeX slouží.
>>
>> S pozdravem,
>>
>> Luboš Kloc
>>
>>
>> Dne 24.3.2015 v 11:02 Zdenek Wagner napsal(a):
>>
>>>  Dobrý den,
>>>
>>>  ovšem konvertor z plainu či z LaTeXu do ConTeXtu neexistuje... Kdybych
>>> teď
>>>  sázel knihu, která má vyjít jak v tištěné podobě, tak v ePub, psal bych
>>>  zdroják v XML a pomocí XSLT vygeneroval všechny výstupy. Problém je ale
>>> v
>>>  tom, že před 25 lety žádné eKnihy nebyly. Vysázel jsem knihu v LaTeXu,
>>> mám
>>>  v archivu jen zdrojáky (protože média byla malá a drahá, vypalovačky
>>> ještě
>>>  nebyly, takže vše bylo nejprve jenom na disketách), a teď se nakladatel
>>>  rozhodl, že to chce vydat jako ePub. A samozřejmě tehdy nebylo ani moc
>>>  počítačů, takže rukopis byl dodán napsaný na mechanickém psacím stroji.
>>>  Jediné, co zůstalo v elektronické podobě, jsou mé LaTeXové zdrojáky.
>>>
>>>  Balíček tex4ht, který zde byl již zmíněn, vlastně také jistým způsobem
>>>  taguje, způsob tagování je konfigurovatelný (já to sice neumím, ale vím,
>>>  že
>>>  to jde). Umí třeba z TeXových matematických vzorců udělat MathML, umí
>>>  vygenerovat XML vhodné pro načtení do Wordu a do OpenOffice, tedy
>>> alespoň
>>>  podle manuálu, nikdy se mi nepodařilo nastavit správné parametry a
>>> vlastně
>>>  to potřebuju tak jednou za 5 let.
>>>
>>>  Zdeněk Wagner
>>> http: //hroch486.icpf.cas.cz/wagner/
>>> http: //icebearsoft.euweb.cz
>>>
>>>  Dne 24. března 2015 8:48 Procházka Lukáš Ing. - Pontex s. r. o. <
>>>  LPr at pontex.cz> napsal(a):
>>>
>>> >  Dobrý den,
>>> > >  jen bych zmínil ConTeXt (wiki: http://wiki.contextgarden.net/
>>> Main_Page),
>>> >  který nativně podporuje výstup (tagování) do XML a konverze do ePUB je
>>> >  poměrně skloňovaným (a zřejmě dost "prošlápnutým") fenoménem mezi >
>>> uživateli
>>> >  ConTeXtu (soudě podle témat v mailing listu).
>>> > >  Osobní zkušenost nemám.
>>> > >  S pozdravem
>>> > >  Lukáš Procházka
>>> > > >  On Mon, 23 Mar 2015 19:48:14 +0100, Mirek Zajdák (Alkor) <
>>> >  mirekkluci at gmail.com> wrote:
>>> > >    Děkuji za rady, v této chvíli se jedná o běžný text ve stylu book
>>> s
>>> > >  běžnou strukturou, jen jsou upraveny některé délky a místo \chapter
>>> > >  používám svoje \kapitola, které sice volá běžné \chapter, ale
>>> opravuje
>>> > >  (podle mého názoru) chybu, že na stránkách, kde začínají kapitoly,
>>> je > >  číslo
>>> > >  strany jinde než na ostatních. Text obsahuje i obrázky. Na druhou >
>>> >  stranu v
>>> > >  budoucnu může přijít i složitější náplň.
>>> > > > > >  --
>>> >  Ing. Lukáš Procházka | mailto:LPr at pontex.cz
>>> >  Pontex s. r. o.      | mailto:pontex at pontex.cz | http://www.pontex.cz
>>> >  Bezová 1658
>>> >  147 14 Praha 4
>>> > >  Tel: +420 241 096 751
>>> >  Fax: +420 244 461 038
>>> > > > >  _______________________________________________
>>> >  csTeX mailing list
>>> >  csTeX at cs.felk.cvut.cz
>>> >  https://lists.felk.cvut.cz/mailman/listinfo/cstex
>>> >
>>>
>>>
>>>  _______________________________________________
>>>  csTeX mailing list
>>>  csTeX at cs.felk.cvut.cz
>>>  https://lists.felk.cvut.cz/mailman/listinfo/cstex
>>>
>>>
>> _______________________________________________
>> csTeX mailing list
>> csTeX at cs.felk.cvut.cz
>> https://lists.felk.cvut.cz/mailman/listinfo/cstex
>>
>>
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> https://lists.felk.cvut.cz/mailman/listinfo/cstex
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.felk.cvut.cz/pipermail/cstex/attachments/20150324/312e8b7b/attachment-0003.html>


More information about the csTeX mailing list