Frequently Asked Questions

Answers to frequently asked questions.

General

MiKTeX is an implementation of TeX/LaTeX and related programs for Windows, macOS and Linux.

Installation

MiKTeX runs natively on Windows, macOS and selected Linux distributions. Please check this KB article, for detailed information.

A Docker image is also available. This allows you to run MiKTeX on any computer that supports Docker.

It is recommended that you download the Basic MiKTeX Installer. This allows you set up a basic MiKTeX installation. Please see this tutorial.

You can download the Basic MiKTeX installer here.

MiKTeX is distributed as a macOS disk image. You can read the tutorial, to learn more.

The disk image can be downloaded here.

MiKTeX is available for selected Linux distributions. Please read the tutorial, for more information.

You can install all packages which are not currently installed:

  1. start MiKTeX Console
  2. click Packages
  3. sort the list view by column Installed on to make the following step easy
  4. select all packages which are not installed
  5. click the add button to start the installation

MiKTeX and TeX Live can be installed in parallel if you observe the following.

bin directories should be distinct

MiKTeX and TeX Live shouldn't share the same bin directories. On Windows, this is usually not an issue.

On Mac/Linux, you can run this test before installing MiKTeX:

tlmgr=$(which tlmgr)
if [ -z $tlmgr ]; then
    echo TeX Live is not installed
    echo OK to install MiKTeX for yourself or system-wide
elif [ "$(dirname "$tlmgr")" == "/usr/local/bin" ]; then
    echo OK to install MiKTeX for yourself
elif [ "$(dirname "$tlmgr")" == "~/bin" ]; then
    echo OK to install MiKTeX system-wide
else
    echo OK to install for yourself or system-wide
fi

Switching between MiKTeX and TeX Live

You have to adjust the environment variable PATH in order to switch between MiKTeX and TeX Live. Alternatively, you can use absolute path names.

On Windows you can use the standalone version of the MiKTeX Setup Utility:

miktexsetup --package-set=basic download
miktexsetup install

Visit the download page page to get the MiKTeX Setup Utility for Windows.

On a Mac, you simply mount the disk image file:

sudo hdiutil attach miktex-*.dmg

On Linux, the system package manager tools are command-line oriented anyway.

It is possible to remove MiKTeX from your computer using the command line. Open a command prompt window as administrator and execute these commands:

rmdir /S /Q "%PROGRAMFILES%\MiKTeX 2.9"
rmdir /S /Q "%PROGRAMFILES(x86)%\MiKTeX 2.9"
rmdir /S /Q "%PROGRAMDATA%\MiKTeX"
rmdir /S /Q "%APPDATA%\MiKTeX"
rmdir /S /Q "%LOCALAPPDATA%\MiKTeX"
rmdir /S /Q "%LOCALAPPDATA%\Programs\MiKTeX 2.9"
rmdir /S /Q "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\MiKTeX 2.9"
rmdir /S /Q "%APPDATA%\Microsoft\Windows\Start Menu\Programs\MiKTeX 2.9"
reg delete HKCU\Software\MiKTeX.org
reg delete HKLM\SOFTWARE\MiKTeX.org

Maintenance

You can use MiKTeX Console to get the latest package updates.

If you want to install your own .sty files, then you should copy the files into the directory tex/latex/mystuff relative to a new TEXMF root directory.

Example (Mac/Linux):

  1. Create a new TEXMF root: mkdir ~/mytexmf
  2. Create a sub directory: mkdir -p ~/mytexmf/tex/latex/mystuff
  3. Copy your .cls and/or .sty files to ~/mytexmf/tex/latex/mystuff
  4. Register the TEXMF root directory ~/mytexmf

The last step can be carried out in MiKTeX Console.

You can create a scheduled a task (cron job) which uses the setup utility to manage a local package repository. See this article, for the details.

New MiKTeX binaries for Mac and Linux will be made available from time to time (say, 6 times a year).

Mac

If a new disk image (.dmg) is available, you can use it to reinstall the executables. Your MiKTeX configuration will not be affected.

Linux

You get new MiKTeX executables via your package management system. Either automatically, or manually:

sudo apt-get update
sudo apt-get upgrade miktex

Running pdfTeX, LuaTeX and XeTeX

You can use option --job-name=NAME to set the name of the output file.

For example, you would run

pdflatex --job-name=dog cat.tex

to create the PDF file dog.pdf (instead of cat.pdf).

You can use the option --output-directory=NAME to specify an alternative location for all output files.

For example, you would run

pdflatex --output-directory=/tmp mydoc.tex

to create the output file /tmp/mydoc.pdf.

Troubleshooting

The MiKTeX executables log their actions into .log files. The location of the log files depends on your OS platform. You can use MiKTeX Console, to find out the log directory.

If you find that a package is not in the package repository (and thus cannot be installed by MiKTeX): there are two possible reasons.

  1. It is a new package of which the MiKTeX maintainers are not aware of.
  2. The package's license doesn't meet the requirements of the Debian Free Software Guidelines.

Getting Help

Please visit this page for an overview of available support options.

Please visit this page, if you want to get professional support (for an appropriate fee).

Legal

The following text is an adaption of the “TeX Live licensing, copying, and redistribution” statement found here.

If you want to redistribute and/or modify MiKTeX, please see the copying conditions.

As a general statement, the MiKTeX maintainers agree (at least within the shared purpose of working on MiKTeX) with the general principles and philosophy of the free software movement.

Therefore, to the best of our knowledge, all the software in MiKTeX meet the requirements of the Free Software Foundation's definition of free software, and the Debian Free Software Guidelines. In the rare cases of conflict, we generally follow the FSF. Furthermore, the material in MiKTeX should not require nonfree software to be useful.

In short, this means that all the material in MiKTeX may be freely used, copied, modified, and/or redistributed, subject to (in many cases) the sources remaining freely available.

Of course, you must not yourself claim copyright (especially with a proprietary license) on MiKTeX just because you redistribute it. Again, see the copying conditions for more information.

Donald Knuth released his original TeX and METAFONT programs, and Computer Modern fonts, to the public domain: TeX copyright page, MF copyright page, CM copyright page, article by DEK.