I like the fact that the postscript function enables the possbiility of a more useful title than before. However, I'd prefer the default to be the file name. It's very simple for me to make my own postscript function that does just that simply by setting title = file. I always use onefile TRUE, so it always works (so far). However, I'm a little reluctant to do that in case some future changes cause conflicts. I've been warned off tinkering with .Internal My question is: What is the tidiest way of doing such a thing? Should I make a private function that calls the standard postscript function, or should I go the whole hog and make an S4 type method to handle it? Or would it be simpler for the standard function to be changed (assuming, of course, there aren't good reasons against doing that)? best -- Patrick Connolly HortResearch Mt Albert Auckland New Zealand Ph: +64-9 815 4200 x 7188 ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~ I have the world`s largest collection of seashells. I keep it on all the beaches of the world ... Perhaps you`ve seen it. ---Steven Wright ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~
Patrick Connolly wrote:> I like the fact that the postscript function enables the possbiility > of a more useful title than before. However, I'd prefer the default > to be the file name. > > It's very simple for me to make my own postscript function that does > just that simply by setting title = file. I always use onefile > TRUE, so it always works (so far). However, I'm a little reluctant to > do that in case some future changes cause conflicts. I've been warned > off tinkering with .Internal > > My question is: What is the tidiest way of doing such a thing? Should > I make a private function that calls the standard postscript function, > or should I go the whole hog and make an S4 type method to handle it?A private function that calls postscript() seems to be a very clean solution. mypostscript <- function(file = ifelse(onefile, "Rplots.ps", "Rplot%03d.ps"), onefile = TRUE, title = NULL, ...){ if(is.null(title)) title <- basename(file[1]) postscript(file = file, onefile = onefile, title = title, ...) } Uwe Ligges> Or would it be simpler for the standard function to be changed > (assuming, of course, there aren't good reasons against doing that)? > > best >
[ This really should have gone to R-devel instead of R-help. I'm now diverting -- and please leave off "R-help" when replying again. ]>>>>> "PaCo" == Patrick Connolly <p.connolly@hortresearch.co.nz> >>>>> on Wed, 23 Apr 2003 10:08:00 +1200 writes:PaCo> I like the fact that the postscript function enables PaCo> the possbiility of a more useful title than before. PaCo> However, I'd prefer the default to be the file name. PaCo> It's very simple for me to make my own postscript PaCo> function that does just that simply by setting title PaCo> file. I always use onefile = TRUE, so it always works PaCo> (so far). However, I'm a little reluctant to do that PaCo> in case some future changes cause conflicts. I've PaCo> been warned off tinkering with .Internal PaCo> My question is: What is the tidiest way of doing such PaCo> a thing? Should I make a private function that calls PaCo> the standard postscript function, yes, your own function calling the standard high-level postscript(), not some low-level {.Internal(), .Call(), .C() or .For..... } -- these all may be changed "without notice" !} PaCo> or should I go the whole hog and make an S4 type method to handle it? PaCo> Or would it be simpler for the standard function to be changed certainly simpler for you.. ;-) I tend to agree that a change might be useful -- For the new default, I'd actually go further and propose something like (when file = "Rplots.ps") "Rplots.ps [from R 1.7.0]" PaCo> (assuming, of course, there aren't good reasons PaCo> against doing that)? Unfortunately, there's a good reason: back-compatibility. In spite of that, I do advocate a change. Martin
On Wed, 23-Apr-2003 at 09:52AM +0200, Martin Maechler wrote: |> |> [ This really should have gone to R-devel instead of R-help. |> I'm now diverting -- and please leave off "R-help" when replying again. |> ] |> |> >>>>> "PaCo" == Patrick Connolly <p.connolly@hortresearch.co.nz> |> >>>>> on Wed, 23 Apr 2003 10:08:00 +1200 writes: |> PaCo> My question is: What is the tidiest way of doing such |> PaCo> a thing? Should I make a private function that calls |> PaCo> the standard postscript function, |> |> yes, your own function calling the standard high-level postscript(), |> not some low-level {.Internal(), .Call(), .C() or .For..... } -- |> these all may be changed "without notice" !} |> |> PaCo> or should I go the whole hog and make an S4 type method to handle it? |> |> PaCo> Or would it be simpler for the standard function to be changed |> |> certainly simpler for you.. ;-) |> |> I tend to agree that a change might be useful -- |> For the new default, I'd actually go further and propose |> something like (when file = "Rplots.ps") |> |> "Rplots.ps [from R 1.7.0]" Sounds like a good idea though I always specify a file name myself. |> |> PaCo> (assuming, of course, there aren't good reasons |> PaCo> against doing that)? |> |> Unfortunately, there's a good reason: back-compatibility. |> In spite of that, I do advocate a change. In general, back-compatibility is important, but in this case, who would be inconvenienced by not having the same '%%Title:' line in all their postscript files? Someone more experienced might be able to imagine a case. I can't. I was toying with the idea of setting up a perl script that would run through all my postscript files and change the %%Title: line so I can tell what file I'm looking at with ghostview. It won't be necessary with any new ones, so I'll probably do some of the other things I haven't got round to instead. best -- Patrick Connolly HortResearch Mt Albert Auckland New Zealand Ph: +64-9 815 4200 x 7188 ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~ I have the world`s largest collection of seashells. I keep it on all the beaches of the world ... Perhaps you`ve seen it. ---Steven Wright ~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~
On Wed, 23 Apr 2003, Martin Maechler wrote:> > [ This really should have gone to R-devel instead of R-help. > I'm now diverting -- and please leave off "R-help" when replying again. > ] > > >>>>> "PaCo" == Patrick Connolly <p.connolly@hortresearch.co.nz> > >>>>> on Wed, 23 Apr 2003 10:08:00 +1200 writes: > > PaCo> I like the fact that the postscript function enables > PaCo> the possbiility of a more useful title than before. > PaCo> However, I'd prefer the default to be the file name. > > PaCo> It's very simple for me to make my own postscript > PaCo> function that does just that simply by setting title > PaCo> file. I always use onefile = TRUE, so it always works > PaCo> (so far). However, I'm a little reluctant to do that > PaCo> in case some future changes cause conflicts. I've > PaCo> been warned off tinkering with .Internal > > PaCo> My question is: What is the tidiest way of doing such > PaCo> a thing? Should I make a private function that calls > PaCo> the standard postscript function, > > yes, your own function calling the standard high-level postscript(), > not some low-level {.Internal(), .Call(), .C() or .For..... } -- > these all may be changed "without notice" !} > > PaCo> or should I go the whole hog and make an S4 type method to handle it? > > PaCo> Or would it be simpler for the standard function to be changed > > certainly simpler for you.. ;-) > > I tend to agree that a change might be useful -- > For the new default, I'd actually go further and propose > something like (when file = "Rplots.ps") > > "Rplots.ps [from R 1.7.0]" > > PaCo> (assuming, of course, there aren't good reasons > PaCo> against doing that)? > > Unfortunately, there's a good reason: back-compatibility. > In spite of that, I do advocate a change.I'm lost here! Most people don't care what the title is, and I left it as previous versions gave. Why would anyone want the title in the file to default to the file name, which in any case defaults to something anodyne? There's a general R principle here: the person who does the work gets to choose the details. Patrick: if you had submitted a comprehensive patch, you might have got to choose! -- Brian D. Ripley, ripley@stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595