I'm quite confused what means -shell-escape option. I'm trying to beutify creating my tikz images (differently from editing PDFs in Photoshop). I'm using xelatex and TeXnicCenter. I haven't read shell escape enabling details anywhere. I thought that option is to put into Command line arguments to pass the compiler in Define Output Profiles in TeXnic.

MiXtecCenter output profiles

When I run some simple graphics through xelatex, no image is given (standalone convert=true). In log file there is (at the end):

runsystem(xelatex  -shell-escape  -jobname "import" "\expandafter\def\csname sa@internal@run\endcsname{1}\input{import}"

runsystem(imgconvert -density 300 import.pdf  -quality 90 image.png)...executed.

Class standalone Warning: Conversion failed! Please ensure that shell escape
(standalone)              is enabled (e.g. use '-shell-escape').

Please help!

  • Do you have the program imgconvert installed? – user2478 Jun 29 '14 at 20:13
  • The message says "runsystem ... executed", so shell-escape was active. The conversion failed for another reason. Try to run the imgconvert command on the command line from your current directory to find out the reason. – Ulrike Fischer Jun 30 '14 at 6:53
  • It doesn't recognize that command. I've installed Image Magick. I renamed its executable as 'imgconvert' as suggested in standalone manual (page 17)... I suppose those images are saving in the same folder with tex file by default. – ussername Jun 30 '14 at 8:29
  • @UlrikeFischer: I have zero knowledge with Windows so my question is if " ... executed" means that the run was successfull? Or does it only means that the command runsystem was only called from within TeX, without any additional test? – user2478 Jun 30 '14 at 9:05
  • @Herbert If I put \immediate\write18{tlgrm update --list} (remark the typo in tlgrm) then I see on the terminal the message that tlgrm can't be found and the log-file says runsystem(tlgrm update --list)...executed.. Without --shell-escape the log-file says runsystem(tlgrm update --list)...disabled (restricted).. So you can see in the log if the command was run but not if it was successfull. – Ulrike Fischer Jun 30 '14 at 9:19

With MiKTeX, the command-line parameter is --enable-write18. As pointed by Herbert, MiKTeX understands also --shell-escape, but you must write two dashes at the beginning.

  • 1
    MikTeX also understands -shell-escape – user2478 Jun 29 '14 at 19:44
  • @Herbert: In this case the problem might come from writing only one dash at the beginning? – Bernard Jun 29 '14 at 19:51
  • 2
    -shell-escape, --shell-escape, -enable-write18, --enable-write18 always the same result as above – ussername Jun 29 '14 at 20:02
  • 1
    If you try to compile from the console, what's happening? And with another editor, say TeXstudio or TeXmaker? – Bernard Jun 29 '14 at 20:08
  • From console and TeXworks (with xelatex shell escape option), those log lines look alike (from console launched as administrator there is disabled (restricted) instead of executed). – ussername Jun 30 '14 at 8:56

Not the answer you're looking for? Browse other questions tagged or ask your own question.