[Rd] Defaults for postscript()

Marc Schwartz marc_schwartz at comcast.net
Thu Dec 6 17:22:06 CET 2007

On Thu, 2007-12-06 at 00:32 -0800, Deepayan Sarkar wrote:
> On 12/6/07, Prof Brian Ripley <ripley at stats.ox.ac.uk> wrote:
> > The defaults for postscript()
> >
> > paper = "default"
> > onefile = TRUE
> > horizontal = TRUE
> >
> > (it seems) date from the days when people used to used this to send plots
> > directly to a postscript printer via print.it=TRUE.  I haven't done that
> > for years, and it seems that our current generation of students don't even
> > know the concept.  It seems 'horizontal = TRUE' is particularly difficult
> > to grasp.
> >
> > Given that I suspect almost all uses of postscript() are to produce plots
> > to be viewed on-screen or incorporated into another document, a more
> > appropriate set of defaults would be
> >
> > width = 7, height = 7
> > paper = "special"
> > onefile = FALSE
> > horizontal = FALSE
> >
> > which would have the advantage of using the same default aspect ratio for
> > plots as all (?) other R graphics devices.
> >
> > Does anyone see a reason not to change the defaults?
> I'm not so sure about the 'onefile' change. Scripts with multiple
> plots run in batch mode will end up with multiple files; I prefer the
> current behaviour. I also have test scripts in packages that go
> postscript("something.ps")
> <many examples>
> dev.off()
> Unless I change all these to have onefile=TRUE, I'll end up only with
> the last plot available after the tests are run.
> -Deepayan

In a vacuum, I would agree that changing the default values makes sense
given the preponderance of the use for postscript() for creating EPS
files for use in LaTeX and other documents (eg. Office/OO.org). It might
also serve to reduce the frequency of questions on the lists on this

That being said, I understand Deepayan's concern.

I don't have a sense of how many others would be affected by such a

Pending any other comments on the matter, an incremental approach might
include an initial near term restructuring of the help file for
postscript(), whereby the following content in the Details section:

The postscript produced for a single R plot is EPS (Encapsulated
PostScript) compatible, and can be included into other documents, e.g.,
into LaTeX, using \includegraphics{<filename>}. For use in this way you
will probably want to set horizontal = FALSE, onefile = FALSE, paper =
"special". Note that the bounding box is for the device region: if you
find the white space around the plot region excessive, reduce the
margins of the figure region via par(mar=).

is moved to a new Notes section, which could precede the Details
section, given the likely nature of such use. This change could be done
now for R-patched and R-devel.

A separate second comment could be added to the Notes section,
indicating that the defaults will change to those above in version
2.8.0. The longer time frame would give affected package maintainers a
heads up of the pending change and more lead time for implementation of
any changes.



More information about the R-devel mailing list