[tex-k] dvips: BeginPaperSize in postscript DSC

pierre.mackay pierre.mackay at comcast.net
Sat Nov 11 00:28:18 CET 2006

Jean-François Mertens wrote:

> On 10 Nov 2006, at 18:13, pierre.mackay wrote:
>> The 3.0 Structuring Conventions are worth even more attention, and  
>> we should probably be using
>> @+ ! %%DocumentMedia: <whatever>
>> instead of
>> @+ ! %%DocumentPaperSizes
> Wonderful !
> This implies, if I understand correctly, you suggest to replace the  
> first line in the output of dvips :
> %!PS-Adobe-2.0
> by:
> %!PS-Adobe-3.0
> (Cf, eg, loc. cit. , p. 17 :
> "A conforming document is recognized by the header comment
> %!PS-Adobe-3.0
> and ..."
> ; also at many other places _ I understand this to mean that such  
> comments
> are maybe "non-conforming" , or whatever, if preceded by "%!PS- 
> Adobe-2.0", and/or
> when run on a device that understands only level 2 PostScript.)
> This might have some other implications within dvips, that I'm not  
> aware of...
> But I would a priori guess that indeed currently almost all devices  
> should understand level 3.
> This does not alleviate my concern however about a ps2pdf(14) _ or gs  
> _ that does not
> interpret correctly all existing documents (at least, created by  
> dvips): a ps file has to be
> able to serve as an electronic "document" , still useable several  
> decades (or centuries...)
> later _ as a paper document _ .
> So I think gs should still interpret correctly documents starting  
> with "%!PS-Adobe-2.0" _
> or else we'll need another tool taking as input a ps file of any  
> level or age, and translating
> it to a "current ps" format...
>> I regret that there is no way of cancelling the David Fuchs 1 inch  
>> margin by using %%BeginFeature . . . %%EndFeature, but it seems
>> impossible.  It would be nice to be able to write pdfs with no area  
>> outside the cropmarks using a single -t flag, but -O is not too
>> burdensome.
> Thanks again, for the pointer to "-O" ! several times be bothered  
> about this issue...
> Best,
> Jean-Francois
> PS: who is David Fuchs ? (and a pointer to that history ... ?)
I guess that it might in practice be possible to declare that dvips 
output has risen to !PS-Adobe-3.0 compatibility solely on the change in 
Document Structuring Comments, but I am uneasy about it.  Most of what 
distinguishes 3.0 from 2.0 has to do with extremely sophisticated 
color-handling in blends and such refinements, and simple type rarely 
has to think about such matters.  But  there are things like PageOffset 
and ImageShift that might be of interest if one were sure that they 
would work.  On the whole, I think it would be safer to keep the sense 
that we are dealing with level 2 but allowing level 3 Structuring 
Comments, since changes in structuring comments don't affect the running 
of dvips, and Ghostscript seems to have incorporated the essentials of 
level 3 comments. 

Perhaps we should start by offering a basic config.ps for level 2 and a 
model for level 3, to be used by those who have no worry
about confusing a level 2 printer.  The chief problem is going to be in 
level 2 printer drivers (CUPS for example) and firmware, and I have no 
sense of how many of those there are still.  The system is actually 
pretty flexible.  As long as dvips is not run in a sort of black-box 
way, a discovered incompatibility means only that the active version of 
config.ps needs to be changed.  There is no reason to change the 
software that really belongs to the TeX suite of programs. 

Adobe has done a not-too-bad job of maintaining backward compatibility, 
but I am not sure that it is the responsibility of the TeX
community to guarantee that old PS documents will have the same archival 
consistency that TeX source is supposed to have. 
I have to take archival stability rather seriously, but I would not 
store PS documents to achieve that.  I would store *.tex source, and 
rely on the maintenance of trip-tested TeX engines.

David Fuchs was Donald Knuth's right hand man during the development of 
both TeX79 and TeX82.  Perhaps his most remarkable contribution was to 
notice that the instruction format of the Dec10s and Dec20s used for the 
original development had some spare bits, and to use those bits to mark 
whether an instruction had been used during a run of TeX.  Those 
statistics were used in the evaluation of TRIP and TRAP to make sure 
that TRIP and TRAP tests exercised every line of TeX code. 

David had a lot to do with the management of DVI, and when I was working 
on a dvi-to-device output program, I asked him about the 1 inch margin.  
His answer was, in effect, "It IS." The great OZ has spoken, therefore 
"It IS."   One tended not to argue too much with David Fuchs. 

Pierre MacKay

More information about the tex-k mailing list