First things first

  • "MiKTeX Tools" does not comprise a TeX system: it should be regarded as an addition to the TeX system installed on your system.

  • The package is meant to be compiled on UNIX system-like platforms.

  • The following utilities are included:

    • miktex-pdftex: MiKTeX implementation of the pdfTeX engine

    • mpm: MiKTeX Package Manager (console application)

    • mpm_qt: MiKTeX Package Manager (GUI application)

    • mthelp: MiKTeX Help Utility (a texdoc alternative)

    • initexmf: the MiKTeX Configuration Utility

For more information about the MiKTeX project, visit the project page at miktex.org.

Prerequisites

  • "MiKTeX Tools" is mostly written in C++. It should work with any ANSI-compliant C++ compiler.

  • CMake 2.8 (or newer) is required for building and installing "MiKTeX Tools".

  • The Qt development kit (version 4.8 or newer) is required, if you intend to enable GUI features (e.g., the auto-installer message box). A common name for this package is libqt4-devel.

  • Lynx (text-based web browser) and xsltproc (XSLT processor) are required for building the reference pages.

  • "MiKTeX Tools" depends on the availability of pthreads libraries and header files.

  • CURL libraries and header files are required. A common name for this package is libcurl-devel.

  • Expat libraries and header files are required. A common name for this package is libexpat-devel.

  • BZip2 libraries and header files are required. A common name for this package is libbz2-devel.

  • UriParser libraries and header files are required. A common name for this package is liburiparser-devel.

  • zlib libraries and header files are required. A common name for this package is zlib-devel.

  • PNG libraries and header files are required. A common name for this package is libpng-devel.

Quick start

Only if you want to avoid reading the rest: execute these commands to build and install "MiKTeX Tools":

cmake -G "Unix Makefiles"
make
sudo make install
sudo initexmf --admin --configure
sudo mpm --admin --update-db
initexmf --update-fndb

You can run these commands, if you want to check to see if it works:

miktex-pdftex --undump=pdflatex miktex-test.tex

This command runs pdflatex on the file miktex-test.tex. The integrated package manager is triggered, if the miktex-test package is not yet installed.

Compiling the package

Run CMake to produce the makefiles customized for your system:

cmake -G "Unix Makefiles"

Run the make utility to build everything:

make

Installing the package

Specify the install target to install the binaries and reference pages:

sudo make install

Configuration

You use the MiKTeX configuration utility (initexmf) and the MiKTeX package manager (mpm) to configure "MiKTeX Tools" system-wide:

sudo initexmf --admin --configure
sudo mpm --admin --update-db

This is what happens:

  • information about the TEXMF roots of the host TeX system is written to /var/lib/miktex-texmf/miktex/config/miktexstartup.ini
  • the system-wide file name database is created

Once you have configured MiKTeX for the system, each user should create the per-user file name database:

initexmf --update-fndb

Without this step, the on-the-fly package installer will not work.

Documentation

The following reference pages are available:

  • initexmf.1,
  • miktex-pdftex.1
  • miktex-tools.7
  • mpm.1
  • mthelp.1

Bugs & Issues

Please visit the MiKTeX Tools project page at miktex.org/unx if you find it difficult to install/use the MiKTeX. You will find references to online forums, mailing lists and issue trackers.