Editors for knitr

Work with Emacs, Texmaker, TeXShop, WinEdt and TextMate, etc

I have written about LyX, RStudio, Emacs Org-mode and Eclipse. There are still other editors that we can use with knitr, such as Texmaker and WinEdt. The key is that you call R and load the knitr package, then call the function knit() or knit2pdf().

Texmaker

You can define a custom command to process Rnw documents by User --> User Commands --> Edit User Commands:

Defind user commands in Texmaker

Note if you have not added R's bin path to the PATH variable, you need to use the full path to Rscript.exe in the above command like:

"C:/Program Files/R/R-2.14.2/bin/Rscript.exe" -e "knitr::knit2pdf('%.Rnw')"

If you do know where is Rscript.exe, simply open R and use R.home('bin') to find it. Then for an Rnw document, you can use this knitr command to compile it:

Compile Rnw in Texmaker with knitr

Click the arrow on the left to compile the document, and the right arrow to view PDF. Of course the above configuration is for Windows, but it is straightforward for other systems as well: change Rscript.exe to Rscript (in fact you can use Rscript under Windows as well).

TeXStudio

It is basically the same thing as Texmaker (thanks, Henrik Nyhus):

knitr in TeXStudio

WinEdt

The WinEdt mode R-Sweave supports knitr now. Please read on if you want to configure WinEdt by yourself instead.

The following instructions were from Phil Chalmers, and I did not test them at all, but I feel it should be in the ballpark.

  1. Go to Options -> Execution Modes -> PDFTeXify. Then look for executable Rscript.exe (e.g. C:\Program Files\R\R-2.14.2\bin\Rscript.exe) and select that.
  2. under Switches put -e, and under Parameters put "knitr::knit2pdf('%n%t')"

Now hitting F9 will run everything for you at once, including opening up the PDF.

Thanks, Phil.

Emacs/ESS

Since 12.09, knitr has been officially supported in ESS. If you are using Debian/Ubuntu, you can install it by

sudo apt-get install ess

Below is a short video showing how to use knitr in ESS:

(For historic interest only) Both Simon Potter and lucialam have blog posts about Emacs/knitr.

Sublime

The KnitrSublime package by Andrew Heiss provides very rudimentary LaTeX support for knitr in Sublime Text 2.

Vim

The Vim-R-Plugin has comprehensive support to knitr thanks to Jakson Aquino.

TextMate

See #252 for one approach with Applescript for TextMate 2, and the knitr.tmbundle repository by Chris Fonnesbeck.

TeXShop

It is easy to configure TeXShop to work with knitr; just save the code below as a file Knitr.engine under the Engines directory of TeXShop (usually ~/Library/TeXShop/Engines/):

#!/bin/bash
export PATH=$PATH:/usr/texbin:/usr/local/bin
Rscript -e "library(knitr); knit('$1')"
latexmk -pdf "${1%.*}"

Courtesy of Cameron Bracken and Fabian Greimel.

TeXworks

TeXworks is similar to Texmaker in terms of configuration for additional tools. Below is a screenshot of the configuration under Ubuntu, thanks to Speravir for the answer on StackExchange (Windows/Mac OS should be similar, as long as Rscript is in PATH).

TeXworks with knitr

Kile

The following method was pointed out by tirip01 in the comments below:

  1. Open the Build tab, select New.., type knitr and press Finish. In the General tab enter Rscript in the Command field. Below, in the Options field type: -e "knitr::knit2pdf('%source')"

  2. Go to Advanced tab and set Rnw as Source extension and pdf as Target extension.

  3. In menu select Compile

Dr Marek GÄ…golewski also has a blog post Configure Kile for knitr under GNU/Linux, which describes a more complicated approach.

Tinn-R

Tinn-R started to support knitr since v2.3.7.3.