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.xslfá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!