library(tint) library(ggplot2) mtcars$am <- factor(mtcars$am, labels=c("manual", "automatic")) ## download files if connected ## when not connected, two margin figure will not be shown, the rest ## is still processed as usual connected <- tint:::.isConnected() if (connected) { tmpdir <- normalizePath(tempdir(), winslash = "/") latofile <- file.path(tmpdir, "tintPdfLatoPage1.png") garamondfile <- file.path(tmpdir, "tintPdfGaramondPage1.png") download.file("https://eddelbuettel.github.io/tint/tintPdfLatoPage1.png", latofile, quiet = TRUE) download.file("https://eddelbuettel.github.io/tint/tintPdfGaramondPage1.png", garamondfile, quiet = TRUE) }
tint
tint [@cran:tint] updates the look and feel of 'Tufte' documents for R. It combines the (html and pdf parts of the) excellent tufte package [@cran:tufte] with the Roboto Condensed font use and color scheme proposed by envisioned css plus minor style changes such as removal of italics---but remains otherwise true to the tufte package for R. Later additions are a book style and well as generalisation of the font handling allowing for Lato and Garamond fonts along with extended color selection.
ggplot(mtcars, aes(wt, mpg)) + geom_point(size=3, aes(colour=factor(cyl))) + theme(legend.position="none")
The package name follows an old tradition and is recursive: tint is not tufte.
Full documentation is available in the longer PDF vignette, its Lato and Garamond variants (see below) as well as the longer HTML vignette. As these render to about two megabytes each, we no longer include them by default in the package as it swells the size of the installed package unnecessarily.
The margin can be used for arbirtrary 'figure' environments by using the knitr
option
marginfigure
along with standard \LaTeX mathematical markup.
We know from _the first fundamental theorem of calculus_ that for $x$ in $[a, b]$: $$\frac{d}{dx}\left( \int_{a}^{x} f(u)\,du\right)=f(x).$$
We can also add a 'note' using the standard pandoc
notation of text in square brackets
following an hat symbol: ^[text here]
.^[This is a sidenote that was entered using a
footnote.]
Notes can also be added in-line using an R command and the margin_note()
function.
r margin_note("Some text.")
Note that this note is unnumbered.
One feature of the tint /
tufte packages are margin figure such as the first one
on the right. It was created by setting the knitr
option fig.margin=TRUE
; the plotting
code itself is standard.
ggplot(mtcars, aes(wt, mpg)) + geom_point(size=3, aes(colour=factor(cyl))) + theme(legend.position="none")
ggplot(mtcars, aes(wt, mpg)) + geom_point(size=3, aes(colour=factor(cyl))) + theme_tint() + theme(legend.position="none")
Charts can also take advantage of the theme_tint()
we added; it owes a lot to a similar
function in the ggtufte package
[@github:ggtufte] (but which conflicts in its font settings with our, so we
simplified). Its effect can be seen in the second figure. Note that the legend-suppression
has to come after theme_tint()
as changes are additive.
Figures can span across the entire page; this is enabled by using the chunk option
fig.fullwidth = TRUE
. Using the default them but conditioning by number of cylinders:
ggplot(mtcars, aes(wt, mpg)) + geom_point(size=3, aes(colour=am)) + facet_wrap(~ factor(cyl)) + theme(legend.position="bottom")
Besides margin and full width figures, one can of course also include figures constrained
to the main column. This is the default type of figures in the LaTeX/HTML output. A single
figure with cylinders in color and transmission not controlled for, and once again using
theme_tint()
:
ggplot(mtcars, aes(wt, mpg)) + geom_point(size=2, aes(colour=factor(cyl))) + theme_tint() + theme(legend.position="none")
Since version 0.1.1, the Lato and Garamond font families can be used. See the package for details. In contrast to the default Roboto variant, the Lato variant uses
if (connected) knitr::include_graphics(latofile, dpi = NA)
latexfonts: - package: lato options: default - package: FiraMono linkcolor: "0.3,0.3,0.6"
The Garamond variant uses
latexfonts: - package: newtxmath options: - cmintegrals - cmbraces - package: ebgaramond-maths - package: nimbusmononarrow
if (connected) knitr::include_graphics(garamondfile, dpi = NA)
This requires the fonts to be installed on the system on which the document is prepared. How to install additional fonts is beyond the scope of this note, see platform and font-specific help.
One can use Pandoc-style citations using the the Bibtext citation identifier inside of
square brackets: [@someone:1984]
. In pdf mode, the standard natbib
features are
also available such as \citet{}
, \citep{}
and more.
The package, just like any other pandoc
-driven use of markdown, can also typset code
directly. We showed this above with the ggplot()
example (using R formatting) and the
font declarations (using YAML formatting).
As knitr [@cran:knitr] is driving the conversion, many of its options also apply. See the documentation for the tufte and knitr for details.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.