- From: Tony Graham <tgraham@mentea.net>
- Date: Wed, 1 Jun 2011 19:38:54 +0100 (IST)
- To: www-xsl-fo@w3.org
On Wed, June 1, 2011 5:32 pm, G. Ken Holman wrote:
> At 2011-06-01 17:24 +0100, Dave Pawson wrote:
>>On 1 June 2011 15:52, Tony Graham <tgraham@mentea.net> wrote:
>> > On Wed, June 1, 2011 3:10 pm, Dave Pawson wrote:
>> >> I want to float side notes to the outside, to take space from the
>> >> start|end region
>> >> which have been made large enough for them.
>> >>
>> >> OK when I know which side it will float to... less so when I insert
>> pages
>> >> and the recto content moves to the verso etc.
>> >>
>> >> Any suggestions please? I need a block about 16pc wide?
>> >
>> > float="outside"
>>
>>which stays within the body?
>
> Of course, yes. By definition.
>
>>How to 'push it' into the margin area Tony?
>
> This is not possible in XSL-FO 1.1. Only change bars can be
> synchronized outside of the body area with constructs in the body area.
>
>>Can it be done today?
>
> You have to mimic it using outside floats as Tony has advised you.
Increase the size of the fo:region-body to include the area where you want
the notes to be.
Use separate page masters for recto and verso pages and have a wider
margin on the 'outside' side of the fo:region-body of each.
Put your ordinary content in a fo:block inside a fo:block-container (to
establish a reference area).
Give the fo:block-container negative start-indent and end-indent values.
Give the fo:block the same start-indent and end-indent, but positive this
time.
Put the sidenote content in a fo:block-container in the fo:float. Give
the fo:block-container a negative start-indent equal to its max-width.
YMMV, but something like this (see below) worked nearly well enough at
putting slide numbers in te outside margin when I formatted the slides for
my presentations. See, e.g., the PDF attached to
http://www.mentea.net/wiki/XMLInPractice2009/XSLFO20
> And, then, you have to find a formatter that supports outside floats
> and intrusion displacement in order to do the mimicry.
All too true. I gave up on putting the numbers on the outside because, as
you'll see if you look at the PDF, the formatter sometimes seemed to not
re-evaluate what was 'outside' when content was pushed to the next page.
> Tony's answer is correct for the state of the technology.
XSL FO 2.0 will have better support for marginalia. See, e.g.,
http://www.w3.org/Style/XSL/Group/2009/03/xslfo20.html#req2_2_3
Regards,
Tony Graham tgraham@mentea.net
Consultant http://www.mentea.net
Mentea 13 Kelly's Bay Beach, Skerries, Co. Dublin, Ireland
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
XML, XSL FO and XSLT consulting, training and programming
<xsl:template match="head">
<fo:block-container
start-indent="-6pt"
end-indent="-42pt"
space-before="12pt">
<fo:block
intrusion-displace="none"
start-indent="6pt"
end-indent="42pt"
margin="2pt"
font-size="150%"
keep-with-next="2"
background-color="{$menteith-grey}">
<fo:float float="outside">
<fo:block-container
display-align="before"
intrusion-displace="block"
start-indent="-36pt"
end-indent="-48pt"
max-width="36pt"
border-left="3pt white solid"
border-right="3pt white solid">
<fo:block
display-align="before"
margin="2pt"
font-weight="normal"
font-size="12pt"
line-height="inherit"
start-indent="2pt"
end-indent="2pt"
text-align="center"
background-color="{$menteith-grey}">
<xsl:number level="any"
count="slide|headslide"/>
</fo:block>
</fo:block-container>
</fo:float>
<xsl:apply-templates/>
</fo:block>
</fo:block-container>
</xsl:template>
Received on Wednesday, 1 June 2011 18:39:17 UTC