Sidebar
Jirka Kosek
jirka na kosek.cz
Úterý Červenec 1 17:25:42 CEST 2003
On Tue, 1 Jul 2003, Pavol Vaskovic wrote:
> Takze spravne sa to co chcem vola marginalie (poznamky na okraji
> stranky). No... zda sa ze nieco take je nad schopnosti XSL FO. Alebo
Není, jde k tomu použít objekt fo:flow a správné nastavení velikosti
okrajů.
> Bohuzial vyzaduje aby FO processor podporoval property "float", takze vo
> FOPe sa to neda pouzit. Otestoval som to v trial verzii XEPu.
> Na odsadenie textu od okraja stranky je namiesto margin pouzity
> text-indent. Element ktory chcem pouzit ako poznamku za okrajom,
> umiestnim do float-u, aby som ho vynal z normalneho toku dokumentu (text
> ho bude obtekat). Jeho sirku obmedzim este tym ze ho vopcham do tabulky,
> ktora musi mat rozmery okraja.
Vkládání do tabulky není nutné. Následující úpravy stylů vloží obsah
elementů remark a comment jako marginálii:
<xsl:param name="title.margin.left" select="'-5pc'"/>
<xsl:param name="show.comments.as.marginalias" select="1"/>
<xsl:template match="comment|remark">
<xsl:if test="$show.comments != 0">
<xsl:choose>
<xsl:when test="$show.comments.as.marginalias = 1">
<fo:float float="start">
<fo:block width="4pc" text-align="end" font-family="Helvetica"
font-size="8pt" font-weight="bold" margin-left="{$title.margin.left}">
<xsl:call-template name="inline.charseq"/>
</fo:block>
</fo:float>
</xsl:when>
<xsl:otherwise>
<fo:block font-style="italic">
<xsl:call-template name="inline.charseq"/>
</fo:block>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>
> Toto funguje, ale neviem si dost dobre predstavit ako upravit DocBook
> XSLT styly, aby to fungovalo... ale hlavny problem je ze mam FOP, takze
> na cely projekt mi to je aj tak asi na nic...
Ano, FOP toho bohužel dost neumí.
> Druhy napad, ktory sa spomina v mailing listoch je umiestnovat vsetko do
> tabulky. Ale na urovni zdrojoveho textu DocBooku mi to pripada byt
> kacirstvo. Ale ako to zariadit v styloch si neviem dobre predstavit...
To se nedělá na úrovni DocBooku, ale až ve stylech. Úprava je dost
netriviální, okolo celého dokumentu by se musela udělat fo:table, a každý
blokový objekt by pak vytvořil jednu řádku tabulky se dvěma sloupci.
Jednodušší by podle mne bylo vzít až FO výstup ze stylů a pro něj si
napsat již poměrně jednoduchou transofrmaci, která by doplnila tabulku.
--
-----------------------------------------------------------------
Jirka Kosek
e-mail: jirka na kosek.cz
http://www.kosek.cz
Další informace o konferenci Docbook