[R] Graphics and LaTeX documents with the same font
jiho
jo.irisson at gmail.com
Sat Sep 29 18:48:20 CEST 2007
On 2007-September-28 , at 18:25 , Frank E Harrell Jr wrote:
> jiho wrote:
>> On 2007-September-28 , at 16:57 , Frank E Harrell Jr wrote:
>>> jiho wrote:
>>>> On 2007-September-28 , at 15:18 , Paul Smith wrote:
>>>>> On 9/28/07, Prof Brian Ripley <ripley at stats.ox.ac.uk> wrote:
>>>>>>> I know how to export graphics as pdf files and then how to
>>>>>>> include
>>>>>>> them in LaTeX documents. However, I do not know how to do in
>>>>>>> order to
>>>>>>> have the text of the graphics written with the font selected
>>>>>>> for the
>>>>>>> LaTeX document. Is that possible?
>>>>>> [...]
>>>> If you don't mind an extra step between R and LaTeX, you could
>>>> use Inkscape to modify your graphics:
>>>> [...]
>>>> I personally use Inkscape on all my R graphics because I find
>>>> it easier and quicker to get decent graphics and R and refine
>>>> their look in Inkscape than to get them perfect in R in one
>>>> shot ( though with ggplot2 things are improving on R's side).
>>> As this works against principles of reproducible research, I
>>> wouldn't recommend it.
>> Do you consider that changing the font size of the graphic would
>> be altering the research result? Or laying out a 2d contour and a
>> 3d plot
>
> Not per se, but accidents happen when editing graphics. More
> importantly it creates more work. Datasets get updated/corrected
> and graphics need to be reproduced.
>
>> in parallel, or changing the line color/pattern...? My
>> modifications are usually of this kind. Of course those things are
>> doable with R but they are usually immensely easier in a graphics
>> program (where the color palettes are predefined, the dash
>> patterns are more diverse etc.).
>> For example, I often find myself using the same plot in an
>> article, a presentation, and a poster, usually with different
>> color palettes and font requirements. I just open the pdf, change
>> the colors, font and font size to match the design of the article/
>> presentation/poster, realign the labels a bit and re-save it. I
>> don't think that I am doing any harm to my result or present any
>> false information to the readers, I just make the graphics easier
>> on their eyes.
>
> A great application for a wrapper graphics function with an
> argument for presentation mode.
I could do that indeed but it would require changing the margins,
device size, fonts, colors etc. all by hand in R. I am not saying
this is impossible (well in some things are: R may not have access to
all the fonts in my system, R won't produce print-ready CMYK pdfs
etc.) but it is just much more trouble than producing one "OK"
graphic with R and handling the finer presentational details in a
program more suited for these maters. Not to mention that it would
also suppose that I know all the presentation requirements in
advance, when writing the plotting function, which is usually not the
case. If I have to redo the plot months later I may as well rewrite a
new plot script based on the old one and go with that.
Once again I am not saying this is impossible, I am just skeptical
about the balance between the cost of producing pixel perfect
graphics from code and the reproducibility benefit associated,
particularly in R. MATLAB's or Scilab plotting models are more suited
in this aspect: the plot is represented as an object, that can be
saved, with properties that you can change _after_ its creation. So
it is easy to come back, even months after the analysis, and change
the colors, the margins etc. of the plot and to produce a pdf again.
The grids packages goes this way fortunately!
>> But maybe I am a bit too much of a purist on these maters. I just
>> find that, much too often, research results that represent months
>> of work are presented as narrow, black and white (possibly even
>> pixallated!) captures of article graphics which don't do justice
>> to the quality of the work behind them. I don't think there is any
>> harm in making (good) science look a bit "sexier", do you?
>
> Yes there is harm. But to make bold lines, easy to read titles is
> fine. See the spar function in http://biostat.mc.vanderbilt.edu/
> SgraphicsHints for a starter. Also see the setps, ps.slide, and
> setpdf functions in the Hmisc package.
Thanks for the pointers, these functions look useful indeed.
I try to do the more I can in R [1], to reduce Inkscape to the fine-
tuning (and not risk more error than needed when editing the
graphics) but eventually, there's always something that does not look
quite right in R's output, or not consistent between two plots etc.
and I _have_ to change it in Inkscape (but that is probably the
design maniac living inside me speaking at this point ;) ).
[1] BTW, for those interested, I extracted the colors of most LaTeX
Beamer themes:
http://en.wikipedia.org/wiki/Beamer_(LaTeX)
and made a Gimp/Inkscape palette with them. I also associated the RGB
codes with color names in an R script, as well as defined color
schemes and a few color related functions. You can get everything here:
http://jo.irisson.free.fr/?p=35
JiHO
---
http://jo.irisson.free.fr/
More information about the R-help
mailing list