Loading ...
Sorry, an error occurred while loading the content.

Re: [XSL-FO] vertical alignment in sidebar

Expand Messages
  • laborde
    Elliot, I got it! I was using , which caused the side float text to be double-spaced exactly like the body paragraph text. But the other problem was
    Message 1 of 8 , Apr 17, 2006
    • 0 Attachment
      Elliot, I got it! I was using <fo:inline>, which caused the side float
      text to be double-spaced exactly like the body paragraph text. But the
      other problem was that when 3 or more <term>s occur in one line, the
      side float definitions printed on top of each other. After reading your
      explanation, I realized that besides using the negative value for
      "space-before" to pull up the definition to the correct line, I then
      have to use a larger, positive, "space-after" value--and set the
      conditionality there too--to keep the definitions from running over each
      other. Until you told me, I didn't know about space getting discarded
      by default. Now all the spacing and alignment is perfect. Again, my
      sincere thanks!
      Susan

      ...maybe this is a no-brainer to everyone else, but in case it's useful
      to anyone, here's what I ended up with:

      <xsl:template match="term">
      <xsl:apply-templates/>
      <fo:float float="end" clear="end">
      <fo:block-container inline-progression-dimension="14em"
      font-family="Helvetica" font-size="8pt" font-style="italic"
      start-indent="1em" end-indent="-20em" line-height="8pt"
      space-before="-16pt" space-before.conditionality="retain"
      space-after="21pt" space-after.conditionality="retain">
      <fo:block>
      <xsl:for-each select="//item[@id=current()/@sameAs]">
      <xsl:apply-templates select="name"/>

      <xsl:apply-templates select="gloss"/>

      </xsl:for-each>
      </fo:block>
      </fo:block-container>
      </fo:float>
      </xsl:template>
    Your message has been successfully submitted and would be delivered to recipients shortly.