Is it possible to compile minted under Emacs?

I am trying to use minted package... Here is an example minimal.tex:

\documentclass{article}
\usepackage{minted}
\begin{document}
\begin{minted}{c}
int main() {
printf("hello, world");
return 0;
4
}
\end{minted}
\end{document}


I need to run pdflatex -shell-escape minimal in a terminal to compile it... When I try to compile it within Emacs as a usual tex file by C-c C-c, I got an error: Package minted Error: You must invoke LaTeX with the -shell-escape flag. Could anyone tell me where I could add this -shell-escape flag under Emacs?

Another small question is regarding minted.sty, at the moment I put it in the same folder as the tex files, which is not the best way I guess... Where do you often put .sty files?

On a per-file basis, you would add it as a local variable, usually at the end of the document:

%%% Local Variables:
%%% LaTeX-command: "latex -shell-escape"
%%% End:


After you do this, C-x C-s to save and C-x C-n to reparse the document. Once you reparse the document you, C-c C-c will compile with the -shell-escape option automatically.

Every time you open the file after this, Emacs will complain about -shell-escape being a potentially risky variable. You can choose to apply it or not.

• See here how to make LaTeX-command safe as a local variable. You should mention this works with AUCTeX. Jul 2, 2013 at 7:35

I think that it is not exactly what you are asking, but you can compile it in emacs with M-! and then pdflatex -shell-escape source.tex

This adds the -shell-escape flag to the compile-command:

(require 'tex-mode)
(setcar (cdr (cddaar tex-compile-commands)) " -shell-escape ")

• Welcome to TeX.SX! You can have a look at our starter guide to familiarize yourself further with our format. Jul 1, 2013 at 19:54
• cddaar requires cl (or cl-lib). You should mention this works with Emacs builtin TeX mode, not AUCTeX. Jul 2, 2013 at 7:39