[xep-support] baseline alignment problem

Chris Branch chris_branch at fscreations.com
Mon Feb 17 12:38:37 PST 2003

I've recently started evaluating XEP for potential use in a project, and
so far, it's been a very positive experience.  However, I've run into
one particular (seemingly simple) layout that I am unable to get XEP to
render the way that I want.  The PDF documents that I'll be generating
consist of numbered lists; each numbered item will contain arbitrary
content (mixed fonts/sizes, images, tables, etc.)  Example:

1. (arbitrary content for item #1)
2. (arbitrary content for item #2).

I'd like the numbers to be right justified and outdented.  Example:

  1. content for item #1...content content content content
     content content content content
  2. content for item #2...content content content content
     content content content content
123. content for item #123...content content content content
     content content content content

To construct this document in Microsoft Word, I would set the first line
indent to -.5" set a right tab stop at -.125", then type:

Attempt #1:
Since tab stops are not possible with XSL-FO, my first attempt was to
use a two-column table.  This gives me the desired layout, EXCEPT that
the baselines in the first/second columns do not line up if the content
in the second column contains mixed font sizes.  If I read the XLS
specification correctly, it looks like I should be able to solve this
problem with:

	<fo:table-cell relative-align="baseline">

but XEP apparently does not support relative-align (according to
documentation on the RenderX website).

Attempt #2
Next, I tried using a <fo:list-block>, but this produces the same
baseline alignment problem.  Specifically, XEP does not adjust the
baseline of <fo:list-item-label> to match the content in
<fo:list-item-body>, so the end result is the same as the table example.

The XSL spec doesn't seem to say much about vertical alignment for list
item label vs. body, so I'm unsure whether the XEP behaviour is
correct.  If this *is* correct per XSL, it seems strange for the default
alignment to be "top".  Is this another case where "relative-align"
might have solved my problem?

Attempt #3
As a last attempt, it seemed like I should be able to simulate the
layout I want by using one or more <fo:inline> elements if I could
specify an exact width for the inline element.  Example:

<fo:inline width=".5in" text-align="right">1.</fo:inline>content...

However, XEP seems to ignore the 'width' attribute.  Again, the XSL spec
seems to suggest this should work, but I'm not 100% sure my
interpretation is correct.

Is there any way to accomplish the layout I want using XEP?

(*) To unsubscribe, send a message with words 'unsubscribe xep-support'
in the body of the message to majordomo at renderx.com from the address
you are subscribed from.
(*) By using the Service, you expressly agree to these Terms of Service http://www.renderx.com/tos.html

More information about the Xep-support mailing list