( bimlas | 2013. 11. 30., szo – 12:02 )

Mióta utoljára írtam átváltottam xep personal-ra, kerestem egy oprendszer-független framework-ot, megtaláltam a publican-t, nagyon megtetszett a renderelt pdf és a html kimenet is, de hiányoltam, hogy (tudtommal) nem lehet Xep-et használni benne és így a float is ki van lőve. Nem adtam fel a reményt: azóta az xsl-eket hackelem.

Már csak egy dolog hiányzik (egyelőre) a boldogságomhoz: hogy kellene megoldani, hogy teljes oldalszélességű táblázatokat kapjak, de a cellák szélessége a tartalomra igazodjon (kivéve az utolsót: az érjen ki a lap széléig)?

Amennyire vissza tudtam követni a szálakat, a cellák szélességét a

/usr/share/xml/docbook/stylesheet/docbook-xsl/fo/table.xsl

fájlon belül határozza meg az alábbi template:

<xsl:template name="generate.col.raw">
...
      <xsl:variable name="colspec.colwidth">
        <xsl:choose>
          <xsl:when test="normalize-space($colspec/@colwidth)='*'">1*</xsl:when>
          <xsl:when test="$colspec/@colwidth">
            <xsl:value-of select="$colspec/@colwidth"/>
          </xsl:when>
          <xsl:otherwise>1*</xsl:otherwise>
        </xsl:choose>
      </xsl:variable>

Na most az a baj, hogy itt arányokkal számol és mivel nem tudom a szülő blokk (a <para>, ami tartalmazza) szélességét és a táblázat szélességét sem, így nem tudok aránypárt felállítani, tehát nem tudom kiszámolni, hogy az utolsó cella milyen széles legyen.

--

A publican bűvölése mellett gugliztam, hátha rátalálok az O'Reilly xsl-ekre, hamár egyszer tőlük származik a docbook, és a könyveik 'dizájnja' is tetszik, miért ne csináljak én is hasonlót? Azt hiszem meg is találtam:

https://prod.oreilly.com/external/tools/docbook/prod/trunk/

A username=guest jelsző nem kell. Le is szedtem svn-el:

svn checkout --username guest https://prod.oreilly.com/external/tools/docbook/prod/trunk/ .

Van mellé pár sample:

https://github.com/oreillymedia/docbook_samples

...és a hozzájuk tartozó leírás:
http://chimera.labs.oreilly.com/books/1234000000058/

Ezek közül a

book.xml

-el próbálkozok.

[folyamatosan frissíteni fogom ezt a kommentet - gyk. itt logolom a tapasztalataimat.]
--
A kényszer helyett a tudásvágy vezessen a tanulásban!