miktex-tools
| Chapter 6. Programs |

## Name

miktex-tools — experimental TeX additions

## Description

MiKTeX Tools should be regarded as an addition to the host TeX system installed on your system.

The following utilities are included:

- miktex-pdftex: MiKTeX implementation of the pdfTeX engine

- mpm: MiKTeX Package Manager

- mthelp: MiKTeX Help Utility

## System-wide configuration

In order to configure MiKTeX Tools for your system, you run the MiKTeX configuration utility (initexmf) and the MiKTeX package manager (mpm):

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

This is what happens:

- The TEXMF trees of the host TeX system are collected; the information is written to `/var/lib/miktex-texmf/miktex/config/miktexstartup.ini`

- the system-wide file name database is created

- the package database is downloaded from the MiKTeX package repository

## Per-user configuration

Once you have configured MiKTeX Tools 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.

## MiKTeX-pdfTeX

MiKTeX-pdfTeX is an alternative pdfTeX engine. The engine features integrated package management, i.e., missing packages will be installed on the-fly (after confirmation).

You invoke MiKTeX-pdfTeX as follows:

    miktex-pdftex --undump=latex sample2e

The `--undump` option must be used to specify the format. See the miktex-pdftex reference page, for more information.

If you prefer shortcuts, you can create symbolic links to the MiKTeX-pdfTeX engine:

    mkdir ~/bin
    cd ~/bin
    ln -s /usr/bin/miktex-pdftex latex
    ln -s /usr/bin/miktex-pdftex pdflatex
    PATH=~/bin:$PATH

Then you can invoke the engine in the usual way:

    pdflatex sample2e

Of course, you can replace `~/bin` with a more suitable directory.

## Using the MiKTeX package manager

MPM (MiKTeX Package Manager) was originally intended to be a tool for MiKTeX users. But the program can be helpful for users of other TeX systems too, because many of the MiKTeX packages are system-independent.

There are two variants of the package manager: GUI and console. Run

    mpm

to start the GUI variant of the package manager. You will be presented with a list of packages.

The rest of this section describes the console variant of the package manager.

To list the contents of the package database, run

    mpm --list

To get detailed information about a package, run

    mpm --print-package-info=package

If you want to install a package, run

    mpm --install=package

## Using the mthelp utility

The mthelp utility can be used to lookup package documentation.

Run

    mthelp package

to view an HTML page wich contains links to the documentation files of a package.

## Caveats

The integrated package manager installs packages in the user home directory under `~/miktex-texmf/`. A better approach would be to enhance the auto-install dialog box:

1. add a new check box: Install package in /usr/share/miktex-texmf

2. A password dialog pops up, if the user has chosen to install the package in the `/usr/` directory.

3. the package manager is run with root privileges, if the the user entered the root password.

This will be implemented in one of the next beta releases.

## See also

initexmf(1), miktex-pdftex(1), mpm(1), mthelp(1)

mf |  | mpm