From: Alexander Lakhin <exclusion@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
To: pgsql-docs@lists.postgresql.org
Subject: Re: Getting our tables to render better in PDF output
Date: Wed, 19 Feb 2020 00:00:00 +0300
Message-ID: <525a6c9e-a4e2-cd8f-54b6-b69f40d70289@gmail.com> (raw)
In-Reply-To: <5d1f5b72-1b4a-6e15-6730-d94e2252a073@gmail.com>
References: <20200212221818.GA15503@alvherre.pgsql>
<23574.1581555393@sss.pgh.pa.us>
<10810.1581883655@sss.pgh.pa.us>
<5d1f5b72-1b4a-6e15-6730-d94e2252a073@gmail.com>
17.02.2020 00:21, Alexander Lakhin wrote:
> Hello Tom,
>> 16.02.2020 23:07, Tom Lane wrote:
>>
>>
>> I poked at this a little bit, and found that I could get a pretty
>> decent-looking result if I hacked the .fo file to contain
>> "<fo:inline baseline-shift="10%">→</fo:inline>" rather than a bare
>> right arrow. (See attached screenshot, wherein the last rightarrow
>> was fixed this way but the others weren't.) However, I do not
>> have much of a clue as to how such a fix might be injected into
>> our stylesheets --- anybody have a suggestion?
> Please look at the XSLT template for processing .fo before calling fop.
> Maybe this can be done with just the existing stylesheet-fo.xsl, I'll
> try to research this later.
I've managed to simplify the patch a little by incorporating those
templates in stylesheet-fo.xsl.
Maybe it's better to use the same formatting as in the docbook xsl
template (see docbook/stylesheet/docbook-xsl/xhtml-1_1/inline.xsl).
There "$menuchoice.menu.separator" is enclosed in <fo:inline
font-size=".75em" font-family="{$symbol.font.family}">...</fo:inline>
and you can see the effect on page 536 (IPC parameters can be set in the
System Administration Manager (SAM) under Kernel Configu-
ration → Configurable Parameters.)
Yet another possibility is to use the docbook tags:
<funcdef><function>func()</function>
<returnvalue>int</returnvalue></funcdef>.
Then we can define the desired formatting for such markup (similar to
<menuchoice><guimenu>...</guimenu><guimenuitem>...</guimenuitem></menuchoice>).
Best regards,
Alexander
Attachments:
[text/x-patch] shift_arrow_up2.patch (1.2K, ../525a6c9e-a4e2-cd8f-54b6-b69f40d70289@gmail.com/2-shift_arrow_up2.patch)
download | inline diff:diff --git a/doc/src/sgml/stylesheet-fo.xsl b/doc/src/sgml/stylesheet-fo.xslindex ea754084be0..7b843e7037f 100644--- a/doc/src/sgml/stylesheet-fo.xsl+++ b/doc/src/sgml/stylesheet-fo.xsl@@ -94,4 +94,35 @@
</fo:bookmark>
</xsl:template>
+<xsl:template match="text()">+ <xsl:choose>+ <xsl:when test='contains(., "→")'>+ <xsl:call-template name="shift_arrow_up">+ <xsl:with-param name="text" select="."/>+ </xsl:call-template>+ </xsl:when>+ <xsl:otherwise>+ <xsl:value-of select="."/>+ </xsl:otherwise>+ </xsl:choose>+</xsl:template>++<xsl:template name="shift_arrow_up">+ <xsl:param name="text" />+ <xsl:choose>+ <xsl:when test='contains($text, "→")'>+ <xsl:call-template name="shift_arrow_up">+ <xsl:with-param name="text" select='substring-before($text, "→")'/>+ </xsl:call-template>+ <fo:inline baseline-shift="10%">→</fo:inline>+ <xsl:call-template name="shift_arrow_up">+ <xsl:with-param name="text" select='substring-after($text, "→")'/>+ </xsl:call-template>+ </xsl:when>+ <xsl:otherwise>+ <xsl:value-of select="$text"/>+ </xsl:otherwise>+ </xsl:choose>+</xsl:template>+
</xsl:stylesheet>
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-docs@postgresql.org
Cc: exclusion@gmail.com, tgl@sss.pgh.pa.us, pgsql-docs@lists.postgresql.org
Subject: Re: Getting our tables to render better in PDF output
In-Reply-To: <525a6c9e-a4e2-cd8f-54b6-b69f40d70289@gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox