OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Incorrect page numbers in index for indexterms within mediaobjects?


Folks,

Now that I can include external pages in my document, I want to be able 
to add indexterms to them. When I generate the index, however, the page 
numbers aren't quite right. These should each end up on a separate page. 
Instead, I get:
T
TEST, 144, 144
TEST2, 144
TEST3, 144

Here's my source:
<chapter>
          <title>Case Study</title>
          <mediaobject>

<objectinfo><indexterm><primary>TEST</primary></indexterm></objectinfo>
              <imageobject>
                  <imagedata fileref="casestudy_001.pdf" scalefit="1"
width="100%" contentdepth="100%" format="PDF"/>
              </imageobject>
          </mediaobject>
          <para/>
          <mediaobject>

<objectinfo><indexterm><primary>TEST2</primary></indexterm></objectinfo>
              <imageobject>
                  <imagedata fileref="casestudy_002.pdf" scalefit="1"
width="100%" contentdepth="100%" format="PDF"/>
              </imageobject>
          </mediaobject>
          <para/>
          <mediaobject>

<objectinfo><indexterm><primary>TEST3</primary></indexterm></objectinfo>
              <imageobject>
                  <imagedata fileref="casestudy_003.pdf" scalefit="1"
width="100%" contentdepth="100%" format="PDF"/>
              </imageobject>
          </mediaobject>
          <para/>
          <mediaobject>

<objectinfo><indexterm><primary>TEST</primary></indexterm></objectinfo>
              <imageobject>
                  <imagedata fileref="casestudy_004.pdf" scalefit="1"
width="100%" contentdepth="100%" format="PDF"/>
              </imageobject>
          </mediaobject>
      </chapter>

Ideas?

Thanks,

--Scott

Scott Hudson wrote:
> Thanks, John! I had to add an additional template to contain the
> chapter, but otherwise works like a charm!
> 
>      <xsl:template match="chapter[@role='external-doc']">
>          <xsl:apply-imports />
>      </xsl:template>
> 
>      <xsl:template match="chapter[@role='external-doc']/mediaobject">
>          <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format";
> font-size="0"
>              line-height="0" break-before="page"
>              break-after="page"   start-indent="0" end-indent="0">
>              <xsl:apply-imports/>
>          </fo:block>
>      </xsl:template>
> 
> Best regards,
> 
> --Scott
> 
> 
> John Brown wrote:
>> Scott Hudson <scott.hudson <at> flatironssolutions.com> writes:
>>
>>> John Brown and Jirka Kosek both had good suggestions to split the case
>>> study into individual pages using pdftk and then use mediaobject.
>>>
>>> This approach seems to work pretty well, although the generated index
>>> entries don't seem to point to the same page where the image is rendered
>>> (pretty close, though).
>>>
>> Never used indexterm, so I have no idea.
>>
>> <! -- Docbook code snipped -->
>>
>>> The biggest problem I'm having now is that the image doesn't appear to
>>> scale the entire width of the page. I'm using XEP, but FOP 0.95 does the
>>> same (or worse).
>>>
>>> What am I missing? I've tried width="100%" but that also errors. I've
>>> also tried setting the default.image.width param, but that doesn't seem
>>> to work either.
>>>
>>> Any ideas?
>>>
>>> Thanks and best regards,
>>>
>>> --Scott
>> DocBook is making the image fit within the margins. The answer is
>> to define custom page masters with left and right margins = 0.
>> Maybe you will also want to suppress the normal DocBook headers
>> and footers with titles and page numbers.
>>
>> The following code allows you to write
>> <appendix role='external-doc'>
>>   <mediaobject>
>>     ...
>>   </mediaobject>
>>   <mediaobject>
>>     ...
>>   </mediaobject>
>>   <!-- etc. -->
>> </appendix>
>>
>> If your external page is the same size as your DocBook page, it will
>> take up the entire page.
>>
>> <xsl:template name="user.pagemasters">
>>   <fo:simple-page-master master-name="back-odd-body-only"
>>                            page-width="{$page.width}"
>>                            page-height="{$page.height}"
>>                            margin-top="0"
>>                            margin-bottom="0"
>>                            margin-left="0"
>>                            margin-right="0">
>>       <xsl:if test="$axf.extensions != 0">
>>         <xsl:call-template name="axf-page-master-properties">
>>           <xsl:with-param name="page.master">back-odd-body-only</xsl:with-param>
>>         </xsl:call-template>
>>       </xsl:if>
>>       <fo:region-body margin-bottom="0"
>>                       margin-top="0"
>>                       column-gap="{$column.gap.back}"
>>                       column-count="{$column.count.back}">
>>       </fo:region-body>
>>
>>     </fo:simple-page-master>
>>
>>     <fo:simple-page-master master-name="back-even-body-only"
>>                            page-width="{$page.width}"
>>                            page-height="{$page.height}"
>>                            margin-top="0"
>>                            margin-bottom="0"
>>                            margin-left="0"
>>                            margin-right="0">
>>       <xsl:if test="$axf.extensions != 0">
>>         <xsl:call-template name="axf-page-master-properties">
>>           <xsl:with-param name="page.master">back-even-body-only</xsl:with-param>
>>         </xsl:call-template>
>>       </xsl:if>
>>       <fo:region-body margin-bottom="0"
>>                       margin-top="0"
>>                       column-gap="{$column.gap.back}"
>>                       column-count="{$column.count.back}">
>>       </fo:region-body>
>>     </fo:simple-page-master>
>>
>>     <fo:page-sequence-master master-name="back-body-only">
>>       <fo:repeatable-page-master-alternatives>
>>         <fo:conditional-page-master-reference master-reference="blank"
>>                                               blank-or-not-blank="blank"/>
>>         <fo:conditional-page-master-reference master-reference="back-first"
>>                                               page-position="first"/>
>>         <fo:conditional-page-master-reference master-reference="back-odd-body-only"
>>                                               odd-or-even="odd"/>
>>         <fo:conditional-page-master-reference odd-or-even="even">
>>           <xsl:attribute name="master-reference">
>>             <xsl:choose>
>>               <xsl:when test="$double.sided !=0">back-even-body-only</xsl:when>
>>               <xsl:otherwise>back-odd-body-only</xsl:otherwise>
>>             </xsl:choose>
>>           </xsl:attribute>
>>         </fo:conditional-page-master-reference>
>>       </fo:repeatable-page-master-alternatives>
>>     </fo:page-sequence-master>
>>
>>   </xsl:template>
>>
>> <xsl:template name="select.user.pagemaster">
>>   <xsl:param name="element"/>
>>   <xsl:param name="pageclass"/>
>>   <xsl:param name="default-pagemaster"/>
>>
>>   <!-- Return my customized title page master name if for titlepage,
>>        otherwise return the default -->
>>
>>   <xsl:choose>
>>     <xsl:when test="@role = 'external-doc'">
>>       <xsl:value-of select="'back-body-only'" />
>>     </xsl:when>
>>     <xsl:otherwise>
>>       <xsl:value-of select="$default-pagemaster"/>
>>     </xsl:otherwise>
>>   </xsl:choose>
>>   </xsl:template>
>>
>>   <xsl:template match="d:appendix[@role='external-doc']/d:mediaobject">
>>     <fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"; font-size="0"
>> line-height="0" break-before="page"
>>               break-after="page"   start-indent="0" end-indent="0">
>>       <xsl:apply-imports/>
>>     </fo:block>
>>   </xsl:template>
>>
>> I am not sure if the back-body-even-only and back-body-odd-only
>> page masteres are strictly necessary.
>>
>> See the following thread:
>> http://thread.gmane.org/gmane.text.docbook.apps/19707
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org
>> For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org
>>
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org
> For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org
> 
> 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]