Package: rubber
Version: 1.0-1
Severity: normal

*** Please type your report below this line ***

When rubber intends to post process a dvi file (e.g. with dvips of 
dvipdfm) then it should create a dvi file optimized for the post 
processor.  This means that packages (hyperref, graphicx, 
grapphics, color etc.) should use the appropriate driver.

As far as I know, latex does not provide a way to specify the post
processor on the command line, which makes a general solution
impossible. However, most of the packages accept the post processor
as option.  So simply making the post processor a global option of 
the
document class does the trick in most cases (for packages graphics,
graphicx, color, xcolor, pgf). This can be achieved by

latex 
'\let\originaldocumentclass\documentclass\renewcommand{\documentclass}[1][]{\originaldocumentclass[POST,#1]}\input{FILE}'

where we want to latex FILE to obtain a dvi file for post processor 
POST.
(The idea is to redefine \documentlcass such that it behaves as if 
POST was an option of it.  I don't know a simpler way of doing 
this, e.g.

latex '\PassOptionsToClass{POST}{CLASS}\input{FILE}'

where CLASS is the document class does not work.  This may be 
related to bug latex/2542 of the LaTeX bugs database.)


Test file test.tex:

\documentclass{article}
\usepackage{graphicx}
\usepackage{color}
\usepackage{hyperref}

\begin{document}
\section{Some graphics}
\label{sec:some-graphics}

\textcolor{red}{This is a red text.}
\textcolor{green}{This is greeen.}

\end{document}


File ~/texmf/tex/latex/config/hyperref.cfg:

\ProvidesFile{hyperref.cfg}%
  [2005/06/27 personal hyperref configuration]
[EMAIL PROTECTED]
\endinput

Let us compare the following commands.  We check the used drivers in 
the log file.  First we check rubber:

[EMAIL PROTECTED] ~/tmp/rubber$ rubber -o dvips test.tex

compiling test.tex...
compiling test.tex...
running dvips on test.dvi...

[EMAIL PROTECTED] ~/tmp/rubber$ grep '[Dd]river' test.log

Package graphics Info: Driver file: dvips.def on input line 80.
File: dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
Package color Info: Driver file: dvips.def on input line 125.
File: dvipsnam.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
*hyperref using default driver hypertex*
File: hypertex.def 2003/11/30 v6.74m Hyperref driver for HyperTeX 
specials

The driver for hyperref is bad, hdvips should have been used.

[EMAIL PROTECTED] ~/tmp/rubber$ rubber --clean -o dvips test.tex
[EMAIL PROTECTED] ~/tmp/rubber$ rubber -o dvipdfm test.tex

compiling test.tex...
compiling test.tex...
running dvipdfm on test.dvi...

[EMAIL PROTECTED] ~/tmp/rubber$ grep '[Dd]river' test.log

Package graphics Info: Driver file: dvips.def on input line 80.
File: dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
Package color Info: Driver file: dvips.def on input line 125.
File: dvipsnam.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
*hyperref using default driver hypertex*
File: hypertex.def 2003/11/30 v6.74m Hyperref driver for HyperTeX 
specials

All three packages use the wrong driver.

Let us check what happens if we use my suggestion for the command 
line for latex:

[EMAIL PROTECTED] ~/tmp/rubber$ latex 
'\let\originaldocumentclass\documentclass\renewcommand{\documentclass}[1][]{\originaldocumentclass[dvips,#1]}\input{test.tex}'

This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4)
entering extended mode
LaTeX2e <2003/12/01>
Babel <v3.8d> and hyphenation patterns for american, french, german, 
ngerman, b
ahasa, basque, bulgarian, catalan, croatian, czech, danish, dutch, 
esperanto, e
stonian, finnish, greek, icelandic, irish, italian, latin, magyar, 
norsk, polis
h, portuges, romanian, russian, serbian, slovak, slovene, spanish, 
swedish,tur
kish, ukrainian, nohyphenation, loaded.
(./test.tex (/usr/share/texmf-tetex/tex/latex/base/article.cls
Document Class: article 2004/02/16 v1.4f Standard LaTeX document 
class
(/usr/share/texmf-tetex/tex/latex/base/size10.clo))
(/usr/share/texmf-tetex/tex/latex/graphics/graphicx.sty
(/usr/share/texmf-tetex/tex/latex/graphics/keyval.sty)
(/usr/share/texmf-tetex/tex/latex/graphics/graphics.sty
(/usr/share/texmf-tetex/tex/latex/graphics/trig.sty)
(/usr/share/texmf-tetex/tex/latex/graphics/graphics.cfg)
(/usr/share/texmf-tetex/tex/latex/graphics/dvips.def)))
(/usr/share/texmf-tetex/tex/latex/graphics/color.sty
(/usr/share/texmf-tetex/tex/latex/graphics/color.cfg)
(/usr/share/texmf-tetex/tex/latex/graphics/dvipsnam.def))
(/usr/share/texmf-tetex/tex/latex/hyperref/hyperref.sty
(/usr/share/texmf-tetex/tex/latex/hyperref/pd1enc.def)
(/home/gabor/texmf/tex/latex/config/hyperref.cfg)
Implicit mode ON; LaTeX internals redefined
(/usr/share/texmf-tetex/tex/latex/url/url.sty))
*hyperref using driver hdvips*
(/usr/share/texmf-tetex/tex/latex/hyperref/hdvips.def
(/usr/share/texmf-tetex/tex/latex/hyperref/pdfmark.def)) 
(./test.aux)
(/usr/share/texmf-tetex/tex/latex/hyperref/nameref.sty) [1] 
(./test.aux) )
Output written on test.dvi (1 page, 2332 bytes).
Transcript written on test.log.

[EMAIL PROTECTED] ~/tmp/rubber$ grep '[Dd]river' test.log

Package graphics Info: Driver file: dvips.def on input line 80.
File: dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
Package color Info: Driver file: dvips.def on input line 125.
File: dvipsnam.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
*hyperref using driver hdvips*
File: hdvips.def 2003/11/30 v6.74m Hyperref driver for dvips

The correct drivers are used.

[EMAIL PROTECTED] ~/tmp/rubber$ latex 
'\let\originaldocumentclass\documentclass\renewcommand{\documentclass}[1][]{\originaldocumentclass[dvipdfm,#1]}\input{test.tex}'

This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4)
entering extended mode
LaTeX2e <2003/12/01>
Babel <v3.8d> and hyphenation patterns for american, french, german, 
ngerman, b
ahasa, basque, bulgarian, catalan, croatian, czech, danish, dutch, 
esperanto, e
stonian, finnish, greek, icelandic, irish, italian, latin, magyar, 
norsk, polis
h, portuges, romanian, russian, serbian, slovak, slovene, spanish, 
swedish,tur
kish, ukrainian, nohyphenation, loaded.
(./test.tex (/usr/share/texmf-tetex/tex/latex/base/article.cls
Document Class: article 2004/02/16 v1.4f Standard LaTeX document 
class
(/usr/share/texmf-tetex/tex/latex/base/size10.clo))
(/usr/share/texmf-tetex/tex/latex/graphics/graphicx.sty
(/usr/share/texmf-tetex/tex/latex/graphics/keyval.sty)
(/usr/share/texmf-tetex/tex/latex/graphics/graphics.sty
(/usr/share/texmf-tetex/tex/latex/graphics/trig.sty)
(/usr/share/texmf-tetex/tex/latex/graphics/graphics.cfg)
(/usr/share/texmf-tetex/tex/latex/dvipdfm/dvipdfm.def)))
(/usr/share/texmf-tetex/tex/latex/graphics/color.sty
(/usr/share/texmf-tetex/tex/latex/graphics/color.cfg)
(/usr/share/texmf-tetex/tex/latex/graphics/dvipsnam.def))
(/usr/share/texmf-tetex/tex/latex/hyperref/hyperref.sty
(/usr/share/texmf-tetex/tex/latex/hyperref/pd1enc.def)
(/home/gabor/texmf/tex/latex/config/hyperref.cfg)
Implicit mode ON; LaTeX internals redefined
(/usr/share/texmf-tetex/tex/latex/url/url.sty))
*hyperref using driver hdvipdfm*
(/usr/share/texmf-tetex/tex/latex/hyperref/hdvipdfm.def) 
(./test.aux)
(/usr/share/texmf-tetex/tex/latex/hyperref/nameref.sty) (./test.out)
(./test.out) [1] (./test.aux) )
Output written on test.dvi (1 page, 2436 bytes).
Transcript written on test.log.

[EMAIL PROTECTED] ~/tmp/rubber$ grep '[Dd]river' test.log

Package graphics Info: Driver file: dvipdfm.def on input line 80.
File: dvipdfm.def 1999/9/6 vx.x Driver-dependant file
Package color Info: Driver file: dvipdfm.def on input line 125.
File: dvipsnam.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
*hyperref using driver hdvipdfm*
File: hdvipdfm.def 2003/11/30 v6.74m Hyperref driver for dvipdfm
 
Again, the correct drivers are used.

Best wishes,

        Gabor Braun

-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (650, 'testing'), (600, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.14-2-686
Locale: LANG=hu_HU.iso88592, LC_CTYPE=hu_HU.iso88592 (charmap=ISO-8859-2) 
(ignored: LC_ALL set to hu_HU.iso88592)

Versions of packages rubber depends on:
ii  python                        2.3.5-2    An interactive high-level object-o
ii  tetex-bin                     3.0-12     The teTeX binary files

-- no debconf information


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to