[Tex/LaTex] How to enable write 18 on a MikTeX installation

miktexshell-escape

I have tried my best, but don't seem to get this one right. How do I enable shell escape in MikTeX?

Why XeLaTeX comes with a default for shell escape but not LaTeX?

Best Answer

A similar question came up recently in a German user forum. The user found the answer in the end with help of this link

You can enable write18 by writing

initexmf --edit-config-file=miktex\config\pdflatex.ini

in DOS. You can get to the DOS window by hitting the windows Start button, click on "run" and write "cmd" (without the quotes obviously, this might also be slightly different for win7, I think there you can write cmd right in the search line that comes up after hitting the start button).

It might as well also work to do Start->run and then paste the above line right into this little run window (see below)

the pdflatex.ini should open in an editor and you can enter

EnableWrite18=t

save and close the file. Now it should be permanently enabled with pdflatex.

Another way is to pass -enable-write18 to pdflatex. This can usually be done in the editor of your choice. For example in TeXnicCenter it looks something like:

Path of the compiler:

C:\...\pdflatex.exe (this is set already)

Arguments passed to the compiler

-interaction=nonstopmode -enable-write18 %tm

enter image description here

Update:

To do this on WinEdt, do the following:

  1. Go to Options and click on Execution Modes (See image below)

    enter image description here

  2. Enter --enable-write18 under the pdflatex Accessories under switches as shown in the diagram below.

    execution modes interface