Package 'tint'

Title: 'tint' is not 'Tufte'
Description: A 'tufte'-alike style for 'rmarkdown'. A modern take on the 'Tufte' design for pdf and html vignettes, building on the 'tufte' package with additional contributions from the 'knitr' and 'ggtufte' package, and also acknowledging the key influence of 'envisioned css'.
Authors: Dirk Eddelbuettel and Jonathan Gilligan
Maintainer: Dirk Eddelbuettel <[email protected]>
License: GPL-3
Version: 0.1.4
Built: 2024-07-13 12:36:38 UTC

Help Index

Custom document templates


Using custom document templates


If you want to make more significant changes to the document styles, you can make custom Pandoc templates, using the examples provided with this package.

You will need to have some expertise with LaTeX to do this, but you can take the templates, such as tintPdf-template.tex or tintBook-template.tex, which you can locate on your computer with

system.file("rmarkdown", "templates", "tintPdf", "resources",
            "tintPdf-template.tex", package="tint")


system.file("rmarkdown", "templates", "tintBook", "resources",
            "tintBook-template.tex", package="tint")

Copy those files to the folder where your RMarkdown file is located and edit them and then tell tint to use your custom template instead of its built-in ones by using the YAML attribute template in your output block:

    template: "my-custom-template.tex"

See Also


A 'Tufte'-inspired 'ggplot2' theme


A 'Tufte'-inspired 'ggplot2' theme for the 'tint' package


theme_tint(base_size = 11, ticks = TRUE)



An integer value for the base tick size, default is 11.


A logical value indicating if ticks should be drawn, default is TRUE.


This theme is borrows heavily from a similar theme in ggtufte by Jeffrey Arnold (but removes his font processing as it conflicts with ours).


A modified theme for ggplot2 use


Dirk Eddelbuettel modifying earlier work by Jeffrey Arnold

Tint Is Not Tufte – A Tufte-Inspired HTML Format


A template for creating html reports according to the style of Edward R. Tufte and Richard Feynman, but with an updated font choice. The three key functions tintHtml, tintPdf and tintBook offer, respectively, support for html and pdf-based shorter (“article-length” writeups as well as support for longer pdf-based content.




tintPdf(fig_width = 4, fig_height = 2.5, fig_crop = TRUE,
  dev = "pdf", highlight = "tango", citation_package = "natbib",
  latex_engine = "pdflatex", ...)

tintBook(fig_width = 4, fig_height = 2.5, fig_crop = TRUE,
  dev = "pdf", highlight = "tango", citation_package = "natbib",
  latex_engine = "pdflatex", ...)


margin_note(text, icon = "&#8853;")





Other arguments to be passed to pdf_document or html_document

Note: For tintPdf and tintBook, you can specify a custom template argument to replace the default. You cannot use the theme argument in tintHHtml() because this argument has been set internally.


Default width (in inches) for figures


Default height (in inches) for figures


TRUE to automatically apply the pdfcrop utility (if available) to pdf figures


Graphics device to use for figure output (defaults to pdf)


Syntax highlighting style. Supported styles include "default", "tango", "pygments", "kate", "monochrome", "espresso", "zenburn", and "haddock". Pass NULL to prevent syntax highlighting.


The LaTeX package to process citations, natbib or biblatex. Use none if neither package is to be used.


LaTeX engine for producing PDF output. Options are "pdflatex", "lualatex", and "xelatex".


A character string to be presented as a “new thought” (using small caps), or a margin note, or a footer of a quote


A character string to indicate there is a hidden margin note when the page width is too narrow (by default it is a circled plus sign)


tintHtml provides the HTML format based on the Tufte CSS with fonts set according to tintPdf provides a similar PDF format using the same font family and styling applied to the Tufte-LaTeX class. tintBook is a (still somewhat experimental) pdf book variant.

newthought() can be used in inline R expressions in R Markdown (e.g. ‘⁠`r newthought(Some text)`⁠’), and it works for both HTML (‘⁠<span class="newthought">text</span>⁠’) and PDF (‘⁠\newthought{text}⁠’) output.

margin_note() can be used in inline R expressions to write a margin note (like a sidenote but not numbered).

quote_footer() formats text as the footer of a quote. It puts text in ‘⁠<footer></footer>⁠’ for HTML output, and after ‘⁠\hfill⁠’ for LaTeX output (to right-align text).

sans_serif() applies sans-serif fonts to text.


See for the tufte package this was initially derived from. See for usage examples from this package.

See Also

Custom-templates, YAML-metadata.

Customizing PDF document styles


Using YAML metadata to customize PDF documents.


You can easily customize fonts and a few other style attributes of PDF documents (tintPdf and tintBook) with YAML metadata

Changing the fonts

You can use the fonts from the default tufte styles by setting defaultfonts: true

You can choose custom LaTeX font packages using latexfonts:

latexfonts: "bera"

will use Bera Serif fonts. You can also specify multiple fonts (for instance serif, sans-serif, and typewriter families)

  - "bera"
  - "FiraSans"
  - "FiraSansMono"

will use the Bera Serif font for regular text, Fira Sans Regular for sans serif, and Fira Sans Mono for typewriter.

You can also pass options to the packages:

  - package: newtxmath
      - cmintegrals
      - cmbraces
  - package: ebgaramond-maths
  - package: nimbusmononarrow

will use EB Garamond, with matching maths fonts from the newtxmath package, and Nimbus Mono Narrow for the typewriter font.

If you want to specify a sans-serif font for the main text, many packages allow you to do this with options: The default for tint is to use the equivalent of

  - package: roboto
      - sfdefault
      - condensed

where sfdefault specifies that the default text font should be Roboto. Other packages use different options, such as Lato, another sans-serif font, which you would specify as the main font like this:

  - package: lato
    options: default

Link Color

Changing the link color

By default, tint uses a grayish-blue color for hyperlinks. If you want to change this, you can use the YAML linkcolor variable either as a string with three numbers (red, green, and blue) separated by commas:

linkcolor: "0.3,0.3,0.6"

which gives a subtler bluish-gray, or as a list of three colors:

  - 0.5
  - 0.2
  - 0.5

which gives a mauve color.

See Also