I am really sorry for posting a non-working example. It is running when I
cut the code from my previous mail into a clean session in RStudio (OSX).
However, I suspect that you are right. I did cut and paste some code from a
forum yesterday which had characters that had to be replaced. I gave emacs
a try, but could not find the problem there either.
The code below was pasted though textEdit and converted to plain text. I
hope this takes care of any embedded characters.
\documentclass{article}
\begin{document}
<<setup, include=FALSE, cache=FALSE>>=
library(knitr)
library(ggplot2)
@
\title{Knitr and ggplot2}
\author{Daniel Haugstvedt}
\maketitle
There are four plots in this article. Figure \ref{fig:plot-figHeight} uses
the argument fig.height=2.5 while Figures \ref{fig:plot-figWidth}
used both fig.height=2.5 and fig.width=3. The later option makes the font
too big.
An alternative approach is used in Figures \ref{fig:plot-figOutWidthBig}
and
\ref{fig:plot-figOutWidthSmall}. There the argument out.width is set to
12 and 8 cm respectively. This stops the problem of excessively large fonts
for figures with smaller width, but there is still no consistency
across plots in terms o font size.
<<plot-figHeight, echo=FALSE, fig.height=2.5, fig.cap="Density plot with no
fig.width argument", results='hide', fig.pos='ht'>>=
df = data.frame(x = rnorm(100), y = 1:100)
ggplot(df, aes(x = x)) +
geom_histogram(aes(y = ..density..),
binwidth = 1, colour = "black", fill = "white") +
xlab("Improvement, %") +
ylab("Density") +
theme_classic()
@
<<plot-figWidth, echo=FALSE, fig.height=2.5, fig.width = 3,
fig.cap="Density plot with fig.width=3", fig.pos='ht'>>=
ggplot(df, aes(x = x)) +
geom_histogram(aes(y = ..density..),
binwidth = 1, colour = "black", fill = "white") +
xlab("Improvement, %") +
ylab("Density") +
theme_classic()
@
<<plot-figOutWidthBig, echo=FALSE, fig.height=2.5, out.width = "12cm",
fig.cap="Density plot with out.width=12cm", fig.pos='ht'>>=
ggplot(df, aes(x = x)) +
geom_histogram(aes(y = ..density..),
binwidth = 1, colour = "black", fill = "white") +
xlab("Improvement, %") +
ylab("Density") +
theme_classic()
@
<<plot-figOutWidthSmall, echo=FALSE, fig.height=2.5, out.width = "8cm",
fig.cap="Density plot with out.width=8cm", fig.pos='ht'>>=
ggplot(df, aes(x = x)) +
geom_histogram(aes(y = ..density..),
binwidth = 1, colour = "black", fill = "white") +
xlab("Improvement, %") +
ylab("Density") +
theme_classic()
@
\end{document}
On Sun, Dec 22, 2013 at 11:59 PM, Duncan Mackay <[email protected]>wrote:
> Hi Daniel
> I tried it in Sweave after modifying it for Sweave and a similar thing for
> Latex but R crashed.
>
> I think there is an embedded character/s before the first chunk and in the
> first chunk.
>
> Duncan
>
> Duncan Mackay
> Department of Agronomy and Soil Science
> University of New England
> Armidale NSW 2351
> Email: home: [email protected]
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]]
> On Behalf Of John Kane
> Sent: Monday, 23 December 2013 04:19
> To: Daniel Haugstvedt; [email protected]
> Subject: Re: [R] Knitr, ggplot and consistent fonts
>
> Hi Daniel,
>
> For some reason I cannot get your example to work. The problem is in the
> code chunk but I have no idea what is happening. The code is running
> perfectly in R, itself but LaTeX seems to be choking when it hits the first
> ggplot statement, that is the one in <<plot-figHeight>>=
>
> The message I am getting is: "Missing $ inserted <inserted text> $
> ggplot(df, aes(x=x)) = geom_" and my knowledge of LateX is not enough to
> figure out the problem.
>
> I tried stripping out most of the LaTeX specific verbiage in the code
> chunk and running the code in LyX which I use rather than plain vanilla
> LaTeX and I still cannot get it to work. It is almost as if there is some
> hidden character in the in that piece of code since I can duplicate the
> code myself and I even pasted in most of the geom_histogram code into my
> code chunk and it runs.
>
> John Kane
> Kingston ON Canada
>
>
> > -----Original Message-----
> > From: [email protected]
> > Sent: Sun, 22 Dec 2013 12:42:50 +0100
> > To: [email protected]
> > Subject: [R] Knitr, ggplot and consistent fonts
> >
> > Dear R-help
> >
> > I am using Knitr and ggplot to draft an article and have now started
> > to improve on the layout and graphics. So far I have not been able to
> > maintain the same font size for labels in all my figures.
> >
> > My goal is to be able to change the width of the figures while
> > maintaining the same font. This works for the height parameter
> > (example not included).
> >
> > In the true document I also use tikz, but the problem can be
> > reproduced without it.
> >
> > I know the question is very specific, but my understanding is that
> > this combination of packages is common. (They are really great. Keep
> > up the good work.) There has to be others facing the same problem and
> > someone must have found a nice solution.
> >
> > Additional attempts from my side which failed are not included in the
> > example. I have tested the Google results i could find without any luck.
> >
> > Cheers
> > Daniel
> >
> > PS. I know the example plots could have been smaller, but they just
> > became too ugly for me
> >
> >
> > \documentclass{article}
> > \begin{document}
> >
> > <<setup, include=FALSE, cache=FALSE>>=
> > library(knitr)
> > library(ggplot2)
> > @
> >
> > \title{Knitr and ggplot2}
> > \author{Daniel Haugstvedt}
> >
> > \maketitle
> >
> > There are four plots in this article. Figure \ref{fig:plot-figHeight}
> > uses the argument fig.height=2.5 while Figures \ref{fig:plot-figWidth}
> > used both fig.height=2.5 and fig.width=3. The later option makes the
> > font too big.
> >
> > An alternative approach is used in Figures
> > \ref{fig:plot-figOutWidthBig} and \ref{fig:plot-figOutWidthSmall}.
> > There the argument out.width is set to
> > 12 and 8 cm respectively. This stops the problem of excessively large
> > fonts for figures with smaller width, but there is still no
> > consistency across plots in terms of font size.
> >
> > <<plot-figHeight, echo=FALSE, fig.height=2.5, fig.cap="Density plot
> > with no fig.width argument", fig.pos='ht'>>= df = data.frame(x =
> > rnorm(100), y = 1:100) ggplot(df, aes(x = x)) +
> > geom_histogram(aes(y = ..density..),
> > binwidth = 1, colour = "black", fill = "white") +
> > xlab("Improvement, %") +
> > ylab("Density") +
> > theme_classic()
> > @
> >
> > <<plot-figWidth, echo=FALSE, fig.height=2.5, fig.width = 3,
> > fig.cap="Density plot with fig.width=3", fig.pos='ht'>>= ggplot(df,
> > aes(x = x)) +
> > geom_histogram(aes(y = ..density..),
> > binwidth = 1, colour = "black", fill = "white") +
> > xlab("Improvement, %") +
> > ylab("Density") +
> > theme_classic()
> > @
> >
> > <<plot-figOutWidthBig, echo=FALSE, fig.height=2.5, out.width = "12cm",
> > fig.cap="Density plot with out.width=12cm", fig.pos='ht'>>= ggplot(df,
> > aes(x = x)) +
> > geom_histogram(aes(y = ..density..),
> > binwidth = 1, colour = "black", fill = "white") +
> > xlab("Improvement, %") +
> > ylab("Density") +
> > theme_classic()
> > @
> >
> > <<plot-figOutWidthSmall, echo=FALSE, fig.height=2.5, out.width =
> > "8cm", fig.cap="Density plot with out.width=8cm", fig.pos='ht'>>=
> > ggplot(df, aes(x = x)) +
> > geom_histogram(aes(y = ..density..),
> > binwidth = 1, colour = "black", fill = "white") +
> > xlab("Improvement, %") +
> > ylab("Density") +
> > theme_classic()
> > @
> >
> > \end{document}
> >
> > [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > [email protected] mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide
> > http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
>
> ____________________________________________________________
> GET FREE SMILEYS FOR YOUR IM & EMAIL - Learn more at
> http://www.inbox.com/smileys Works with AIM®, MSN® Messenger, Yahoo!®
> Messenger, ICQ®, Google Talk and most webmails
>
> ______________________________________________
> [email protected] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
> ______________________________________________
> [email protected] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
[[alternative HTML version deleted]]
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.