Your message dated Sat, 01 Aug 2009 17:24:59 +0200
with message-id <[email protected]>
has caused the   report #533332,
regarding dblatex: numeration problem in docbook.sty
to be marked as having been forwarded to the upstream software
author(s) Benoit Guillon <[email protected]>

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
533332: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=533332
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Yves-Alexis Perez <[email protected]> wrote:

<snip/>
> using dblatex with large documents, I found a problem in the page
> numeration in table of contents. Not in the page, but in the pdf reader
> (tried with evince and adobe reader). The toc numbering is roman, while the
> content numbering is arabic. But it seems that only the first pages of the
> toc are using the roman numbering.
<snip/>

Hi BenoƮt,

I want to inform you about dblatex Debian bug report #533332 [1]:

the problem becomes visible with pdf readers that have a separate page
number display (like Adobe Reader or Evince, but unlike Xpdf): when
using the XeTeX backend, in the page number display the roman numbering
of the TOC is switching to the arabic numbering of the document body
several pages too early, with the following effects:

- The TOC numbers look like i, ii, iii, 1, 2, 3
- The body numbers look like 4, 5, 6, ...
- The display numbers deviate from the numbers on the PDF pages

The problem cause seems to be located in file latex.py, function
recompile_needed(), which fails to detect the necessity of another,
final XeTeX compilation.  If I run xelatex manually on the example, the
only evidence in the second run that could be used as a indicator for a
third run are changes in the .aux file:

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
$ diff -u /tmp/tmpVU_VgQ/test.aux.1 /tmp/tmpVU_VgQ/test.aux.2
--- /tmp/tmpVU_VgQ/test.aux.1   2009-08-01 12:11:26.000000000 +0200
+++ /tmp/tmpVU_VgQ/test.aux.2   2009-08-01 12:11:59.000000000 +0200
@@ -26,7 +26,7 @@
     {2}{97.75826pt}...@entry
     {2}{208.72383pt}...@entry
     {2}{97.75826pt}}
-\h...@entry{3 << /S /D >> }
+\h...@entry{6 << /S /D >> }
 \...@writefile{toc}{\contentsline {section}{\numberline 
{1}trouc}{1}{section.1}}
 \newlabel{_trouc}{{1}{1}{trouc\relax }{section.1}{}}
 \...@writefile{toc}{\contentsline {section}{\numberline 
{2}trouc}{1}{section.2}}
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

For an even longer longer example the output changes to:

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
$ diff -u /tmp/tmpS91JzX/long.aux.1 /tmp/tmpS91JzX/long.aux.2
--- /tmp/tmpS91JzX/long.aux.1   2009-08-01 16:51:20.000000000 +0200
+++ /tmp/tmpS91JzX/long.aux.2   2009-08-01 16:51:38.000000000 +0200
@@ -26,7 +26,7 @@
     {2}{97.75826pt}...@entry
     {2}{208.72383pt}...@entry
     {2}{97.75826pt}}
-\h...@entry{3 << /S /D >> }
+\h...@entry{8 << /S /D >> }
 \...@writefile{toc}{\contentsline {section}{\numberline 
{1}trouc}{1}{section.1}}
 \newlabel{_trouc}{{1}{1}{trouc\relax }{section.1}{}}
 \...@writefile{toc}{\contentsline {section}{\numberline 
{2}trouc}{1}{section.2}}
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

The changing numbers look like the computed TOC page count.  These need
to become stable before recompilation is finished.  Thus I'd argue that
also auxfile changes must be considered when deciding about
recompilation, at least for the XeTeX backend.  The simplest approach
looks like:

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
diff -u /usr/share/dblatex/lib/dbtexmf/dblatex/grubber ~/tmp/latex.py
--- /usr/share/dblatex/lib/dbtexmf/dblatex/grubber/latex.py 2009-08-01 
11:56:06.000000000 +0200
+++ /home/ah/tmp/latex.py   2009-08-01 12:13:40.000000000 +0200
@@ -98,7 +98,7 @@
 #        if self.deps_modified(os.path.getmtime(self.outfile)):
 #            msg.debug(_("dependencies were modified"))
 #            return 1
-        if changed and (len(changed) > 1 or changed[0] != self.auxfile):
+        if changed:
             msg.debug(_("the %s file has changed") % changed[0])
             return 1
         if self.log.run_needed():
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

[1] http://bugs.debian.org/533332

Regards, Andreas

-- 
Andreas Hoenen <[email protected]>
GPG: 1024D/B888D2CE
     A4A6 E8B5 593A E89B 496B
     82F0 728D 8B7E B888 D2CE

Attachment: pgp10T9IlfHEt.pgp
Description: PGP signature


--- End Message ---

Reply via email to