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

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook message

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


Subject: Re: DOCBOOK: more index troubles with tex/ps output


Previously, Kevin M. Dunn wrote in list.davenport.docbook:
> Sam Roberts wrote:
> 
> I have had the same trouble but now have it (mostly) figured out. There are
> four problems with your processing commands:
> 1. You have to call collateindex with the -N flag to generate an empty
> index.sgml.

Did that, forgot to put it in the example.

> 2. You have to give the "-V html-index" flag to jade when you call it the
> first time. This builds HTML.index.

I put this into my customization layer.

> 3. I have tried many variations, but have never gotten an "xxx-both.dsl"
> type dsl to work with the "-V html-index" flag. My only success has come

Well, I'm not using the -V, I put the defn in the style sheet:

(define html-index
  #t)

and I use a copy of cygnus-both.dsl customized for our site.

> from using a separate stylesheet for html and print. I have used the
> standard docbook.dsl and I have used cygnus-both.dsl with the html and
> print stylesheets copied into separate files. So it seems not to be a
> problem with the cygnus-both.dsl stylesheets, but rather with the "\#html"
> on the command line (which works fine except for generating the index).

This doesn't seem to be a problem for me, but the following was the
reminder I needed.

> 4. For printing, you have to give collateindex the "-p" flag for the page
> numbers to actually be inserted.

BINGO! This is really frustrating, but I've fixed this bug in 'collateindex.pl',
but different versions of the tools keep getting installed, and it gets lost.
The -p isn't necessary, but is still possible, if you make the following change
to collateindex.pl. Without this fix, the -p is necessary to get indexs generated.

Basically, the indexes use ulinks, where the url attribute is used verbatim
for html output, and the role attribute is an ID used for tex cross-referencing.
If you don't have a valid ID in the role, you get stuff like:

<ulink url="ref.html" role="ref.html">

That ref.html is, of course, absolutely meaningless to jadetex in deterimining
a page number. If you use the -p, then the url is has an ID attached to it,
and the perl code uses it as the role:

<ulink url="ref.html#IX" role="IX">

Which tex groks. My change makes the role be the ID whether you use -p or not.

<ulink url="ref.html" role="IX">

diff -u -r1.1 -r1.2
--- collateindex.pl     1999/06/23 18:11:31     1.1
+++ collateindex.pl     2000/03/27 19:43:09     1.2
@@ -480,7 +480,7 @@
            $linkend = $key;
        }

-       $role = $linkend;
+       $role = $phref{$key};
        $role = $1 if $role =~ /\#(.*)$/;

        print OUT $indent;

I've posted this to the list before, is there a chance at having this
in the official release, Norm? Or is there something wrong with what
I'm saying?

Sam

--
Sam Roberts (sam@cogent.ca), Cogent Real-Time Systems (www.cogent.ca)
"News is very popular among its readers." - RFC 977 (NNTP)



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


Powered by eList eXpress LLC