linl Build Status Package-License CRAN Downloads

Linl is not Letter: LaTeX Letters from RMarkdown


The LaTeX Letter class is very useful for simple letters. As such letters are also somewhat standardized, they make for excellent candidates for use by Markdown.

This package leans on earlier work by Aaron Wolen in his pandoc-letter repository, and extends it for use from R via the rmarkdown package.



The skeleton creates a very simple letter. This shows the (complete) source on the left and the rendered pdf on the right:

Several formatting defaults for font, fontsize, indentation are in use. See help(linl) for a complete list and default values.


The vignette example is a little more featureful and shows how to include a letterhead on-demand, a signature, and a few formatting settings. All of these are driven by simple YAML headers as seen on the left:

The vignette also contains the few lines of vignette metadata one would exclude from a normal letter.


The package is fully working, and on CRAN.


As the package is on CRAN, you can use the standard


to install it from CRAN, and then use as a Markdown template via RStudio, or use code such as

draft("myletter.Rmd", template="pdf", package="linl", edit=FALSE)

to create a first draft of a new myletter.Rmd.

Interim and test versions may also appear on the ghrr drat repo from which they can be installed via one additional line as in

drat:::addRepo("ghrr")     # registers the ghrr drat repo
install.packages("linl")   # installs linl from ghrr

Once installed, the above code examples should work as expected.


Beyond the R package dependencies, a working pandoc binary is needed. RStudio installs its own copy, otherwise do what is needed on your OS (i.e., something like sudo apt-get install pandoc pandoc-citeproc).


Dirk Eddelbuettel and Aaron Wolen.


GPL-3 for this package, the work in pandoc-letter, as well as underlying Pandoc template.