[OS X TeX] Page origin problem with TeXLive and dvips

Richard Koch koch at math.uoregon.edu
Wed Jan 31 22:28:54 CET 2007


Folks,

I apologize for this very technical discussion on our mailing list.  
I'll explain my current understanding of the problem and propose a  
slight MacTeX change to fix it. If experts want to object, now is the  
time.


Consider Bruno's example, repeated at the end of this message. If  
MacTeX configures paper size using "texconfig-sys paper a4", then  
this example produces different output under pdftex and under "tex  
and ghostscript." Typesetting with "tex and ghostscript" produces  
text about 2/3 of an inch too high. On the other hand, if MacTeX  
configures paper size as above and then fixes config.ps by adding the  
command "texconfig-sys dvips paper a4", then both methods give the  
same result.

 From now on, typeset with "tex and ghostscript".

Experiment 1: If we compare the output postscript files, we find that  
the only difference is that the "good" file has an extra postscript  
command "a4" missing in the "bad" file.

Experiment 2: The problem only occurs with a4 size paper. The output  
postscript files differ in a similar way using letter paper, but the  
difference causes no change in the final result.

Experiment 3: Changing distiller from the ghostscript distiller to  
Apple's /usr/bin/pstopdf makes no difference

Experiment 4: If we use the "bad" configuration, but change TeXShop  
preferences by adding

	--extradvipsopts "-t a4"

to both "TeX + dvips + distiller" preferences in the second column,  
the problem goes away.



By now, experts on this list have dissected the texconfig script and  
the config.ps file, and consulted the Dvips manual . The above  
experiments are exactly what we would expect from these  
investigations. In short

	1) the Dvips manual warns that not all postscript printers  
understand "a4", so inserting "a4" in the postscript output
	creates nonconforming code

	2) on the other hand, Apple's distiller and the ghostscript  
distiller need to know the paper size to produce correct results, so  
the missing postscript "a4" command causes them to assume letter paper

	3) the extra dvips option for simpdftex adds this "a4" command back


So now we face a choice. Should MacTeX install a completely vanilla  
TeXLive, including the standard TeXLive paper configuration? In that  
case, users with a4 paper may need to fix the problem themselves by  
calling "texconfig-sys dvips paper a4" or else modifying simpdftex  
preferences. The advantage is that we stick with a "default TeXLive"  
and get conforming postscript recommended by the Dvips manual. The  
disadvantage is that we need to educate users who typeset with "tex  
and ghostscript". Another disadvantage is that Gerben uses  texconfig- 
sys dvips paper a4", so gwTeX and TeXLive would be configured  
differently.

These arguments convince me that we should use "texconfig-sys paper  
a4" followed by "texconfig-sys dvis paper a4", and let those few  
users who worry about nonconforming postscript code reconfigure.

By the way, it is now clear that this is not a TeXLive mistake. Faced  
with a difficult choice, the TeXLive folks went one way. I believe  
that the special circumstances of the Mac community (and in  
particular the fact that we almost never print by sending a  
postscript file directly to the printer) suggest that we should use a  
different default configuration.

Comments?

Dick Koch
koch at math.uoregon.edu

PS: Roberto Avanzi sent an interesting message as I was writing this,  
but Bruno conveniently answered. Bruno's reply explains that  
Roberto's new problem isn't related to the problem discussed above.

\documentclass[a4paper]{article}
% Set text width
\setlength{\oddsidemargin}{0pt}
\setlength{\evensidemargin}{\oddsidemargin}
\setlength{\textwidth}{\paperwidth}
\addtolength{\textwidth}{-2in}
% Set text height
\setlength{\topmargin}{0pt}
\setlength{\headheight}{0pt}
\setlength{\headsep}{0pt}
\setlength{\textheight}{\paperheight}
\addtolength{\textheight}{-2in}
\addtolength{\textheight}{-\headheight}
\addtolength{\textheight}{-\headsep}
\addtolength{\textheight}{-\topskip}
\addtolength{\textheight}{-\footskip}
\divide\textheight by\baselineskip
\newcounter{tempcounter}
\setcounter{tempcounter}{\textheight}
\setlength{\textheight}{\value{tempcounter}\baselineskip}
\addtolength{\textheight}{\topskip}
% Let the fun begin
\begin{document}
Sample text.
\end{document}





------------------------- Helpful Info -------------------------
Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
TeX FAQ: http://www.tex.ac.uk/faq
List Archive: http://tug.org/pipermail/macostex-archives/
List Reminders & Etiquette: http://www.esm.psu.edu/mac-tex/list/




More information about the macostex-archives mailing list