[cstex] Alternativní formátovací enginy (Was: Re: OT: Re: serial o ConTeXtu + Win vs.Linux)

Zdenek Wagner zdenek.wagner at gmail.com
Thu Feb 1 13:44:56 CET 2007


2007/2/1, Jirka Kosek <jirka at kosek.cz>:
> JF wrote:
>
> > Neexistuje konvertor/analyzator css pravidel, ktery by je preknovertoval
> > na odpovidajici sty?
> >
> Osobně však nepovažuji kombinaci XML + CSS pro tiskový výstup za
> dostatečně silnou, protože chybí možnost dokument před zpracováním
> transformovat (např. vygenerovat obsah, rejstřík apod.). Za plně funkční
> považuji varianty XML + XSLT + XSL-FO a XML + XSLT + TeX.
>
Já asi tuším, kam původní otázka mířila. Předpokládám, že šlo o to,
jak vytisknout kvalitně soubor, který již není nutno transformovat a
CSS je postačující (tedy CSS2). Šlo by se inspirovat formátem SXW, kde
jsou na začátku styly a v textu jsou odkazy na styly. Ve své konverzní
šabloně, která úmyslně rozumí jen vybrané podmnožině a vše ostatní
ignoruje, to dělám takto:

<xsl:stylesheet version='2.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
                              xmlns:fo="http://www.w3.org/1999/XSL/Format"
                              xmlns:text='http://openoffice.org/2000/text'
                              xmlns:style='http://openoffice.org/2000/style'
                              xmlns:office='http://openoffice.org/2000/office'
>

<xsl:template match='text:span' name='text-content'>
  <xsl:variable name='ts' select='@text:style-name'/>
  <xsl:variable name='style'
select='/office:document-content/office:automatic-styles/style:style[@style:name=$ts]/style:properties'/>
<!-- převod na LaTeXová makra -->
...

CSS2 by se dal přetransformovat na LaTeXová makra (ne zcela, např.
font-size=130% nemá přesný ekvivalent, ale pokud používáte v LaTeXu
Type1 font, lze použít \f at size=1.3\f at size). Pak by se napsal procesor,
který by podle pravidel vygeneroval další XML, kam by se do
příslušných elementů přidaly odkazy na CSS tak, aby v další
transformaci bylo možno doplnit odpovídající TeXová makra.

Pokud bych psal vlastní dokument, udělal bych to buď v čistém LaTeXu,
nebo způsobem, jak popsal Jirka Kosek, ale mnou nastíněná metoda by se
hodila v případě, kdy musím co nejlépe vytisknout již hotový cizí
výtvor.

> --
> ------------------------------------------------------------------
>   Jirka Kosek     e-mail: jirka at kosek.cz     http://www.kosek.cz
> ------------------------------------------------------------------
>   Profesionální školení a poradenství v oblasti technologií XML.
>      Podívejte se na náš nově spuštěný web http://DocBook.cz
>        Podrobný přehled školení http://xmlguru.cz/skoleni/
> ------------------------------------------------------------------
>                    Nejbližší termíny školení:
> ** XML pro vývojáře 19.-22.3.2007 ** XML schémata 16.-18.4.2007 **
>         ** XSL-FO 15.-16.5.2007 ** DocBook 26.-28.6.2007 **
> ------------------------------------------------------------------
>   http://xmlguru.cz    Blog mostly about XML for English readers
> ------------------------------------------------------------------
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> http://lists.felk.cvut.cz/mailman/listinfo/cstex
>


-- 
Zdeněk Wagner
http://hroch486.icpf.cas.cz/wagner/
http://icebearsoft.euweb.cz




More information about the csTeX mailing list