Talk:MikTeX

From ConTeXt wiki

Moved to here from Windows Installation. Needs to be checked and imported to the main page.

MikTeX or ProTeXt

MikTeX is probably the easiest and most recommended solution for newbies or for those who have already been using LaTeX and don't want to install anything else. MikTeX is very user-friendly, updating is very easy, missing fonts or third-party modules are installed automatically when you first use them.

However, some more experienced ConTeXt users may not always be happy with it:

  • using fonts doesn't always work as expected (or at least different than in the stand-alone distribution)
  • ConTeXt format is usually recent, but not always the latest (you can still update ConTeXt manually)
  • LuaTeX doesn't work with it yet

After you install or change something: Refresh file name database & Rebuild Formats


TODO: This needs to be updated, it's slightly different on more recent MikTeX (See: To-Do List)


  • MikTeX Options -> General -> Refresh FNDB
  • MikTeX Options -> General -> Update Formats

(Don't forget to run the MikTeX Update Wizard regularly!)

If you have any problems running ConTeXt, check

  • MikTeX Options -> Formats -> cont-en -> Edit

The following should be set:

Compiler:         pdfetex
Input File Name:  cont-en.ini
Output File Name: [empty]
Preloaded Format: [empty]
Description:      [anything]
Exclude when updating: [unchecked]

After Apply-ing and Build-ing, Refresh & Update as described above. This is the MikTeX way for doing texexec --make en. The latter has no influence since MikTeX doesn't set any system variables and consequently ConTeXt doesn't know where to leave the created formats.

Additional settings (for those who use MetaFun)

Some default "security settings" (not really relevant for you unless you run it on a server) may cause you troubles, esp. when using MetaFun. Do the following:

  • In [MikTeX PATH]\tex\context\user\cont-sys.tex uncomment the following lines:
\runMPgraphicstrue
\runMPTEXgraphicstrue
  • In case the file doesn't exist yet, copy the file cont-sys.rme (in the same folder) to cont-sys.tex first. cont-sys.rme may change every now and then, so check for major changes from time to time and update your cont-sys.tex accordingly.
  • Enable write18 (see below)

([MikTeX PATH] and [localtexmf PATH] are chosen during the installation. If you don't know what they are, take a look at MikTeX Options -> Roots)

I don't know why and when exactly this is needed (MPtoPDF may cause problems), but

set TEXSYSTEM=miktex

may help you solving some problems.

write18

write18 allows calling external programs from within TeX. It's not a good idea to have it enabled on a server, but for comfortable work with ConTeXt (for MetaFun or modules for R and gnuplot) you probably need it.

Each application now has it's own configuration file. To enable write18 run

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

and put

EnableWrite18=t

into it. An alternative is to se the environment variable MIKTEX_ENABLEWRITE18=t (in early MikTeX 2.5 versions there was a bug and only MIKTEX_ENABLEWRITE188=t worked, but you should better upgrade your MikTeX to 2.6 or 2.7 anyway).