Beyond the Basics
Configuring TeXWorks, TeXnicCenter or TeXShop
Some users are uncomfortable with the command line.
TeX-oriented "integrated development environments" are available combining an editor, a previewer,
and menus for various operations. One of these is
which is available in MiKTeX, TeXLive, MacTeX and BasicTeX.
Here we explain how to configure TeXWorks
input files using the musixtex script.
After starting TeXWorks, click on
Edit Preferences Typesetting
then click on + to add a new processing tool as follows:
You can move this processor up the list of available processors by using the up-arrow button.
- MusiXTeX (or whatever you want)
is a TeX-oriented editor for
Windows. To process files using the musixtex script,
Build Define Output Profiles Add
and provide a profile name, such as MusiXTeX => PDF; use
musixtex as the (La)TeX compiler
and choose "Main file's full path without extension" as the command-line argument.
Click on "Do not use BibTeX" and "Do not use MakeIndex", and
is available for OS-X and
has similar capabilities; check out
TeXShop Help Menu TeXShop Help Panel Advanced Help Additional Typesetting Engines
Problems with the Adobe PDF Reader
On many systems, the Adobe Reader is the default PDF viewer. But this application
does not re-load the display automatically if the pdf file changes and, on Windows,
the pdf file can't be overwritten while the Reader has it open. These properties make it difficult
to use while editing a music file.
There are several
ways to avoid these problems. One approach on Windows
use the pdfopen/pdfclose applications
available in MiKTeX
with the Adobe Reader, as follows:
(process a source file)
> pdfopen --file file.pdf
(edit the source file)
> pdfclose --file file.pdf
(process the source file)
> pdfopen --file file.pdf
(edit the source file)
Note that you can only use pdfclose on a file that has
been opened with pdfopen. The pdfopen/pdfclose applications
in (the non-Windows versions of) TeXLive differ from those in MiKTeX.
Another approach is to use
a PDF viewer that allows the file to be
overwritten and re-loads automatically when that happens.
Here are some recommended
- GSview. Note that
must be installed first. GSview is free to use but a "registration" nag message will be displayed
when you open it.
On Mac OS-X: Preview, which is the default PDF viewer on OS-X (but check out
Any of these can normally be installed using your distribution's package manager.
- gv (ghostview)
Finally there are several TeX-oriented editing environments (such as
TeXWorks, available in TeXLive, MiKTeX and MacTeX, or
TeXShop, for MacTeX) which
have an integrated PDF viewer
and can be configured
to use the musixtex script as the TeX
Adding Non-Distribution Packages
Normally, packages are updated or added to MiKTeX or TeXLive or to a Linux distribution by using the
distribution's update or package manager, as discussed above. But if you want to add a package or an update that isn't
(yet or any longer) in your distribution, such as one of the
addon or beta packages described below
or packages from
(the Comprehensive TeX Archive Network), you should
set up and use a "personal" texmf tree; do
not modify or add to
the distribution tree, which will confuse the package manager and may lead to instability.
Normally, files in a personal texmf tree (or in a working directory) have precedence over files in the
Detailed instructions for setting up a personal texmf tree in MiKTeX can be found
Integrating Local Additions
in Chapter 4 of the
Essentially, you create a new folder somewhere (even on your desktop),
and populate it with subfolders and files following the TDS standards (discussed below).
Then add the path to the new folder in the Roots option of the MiKTeX Settings wizard.
Note that if you have admin privileges on your system, there will be both an Admin
Settings and a User Settings wizard; use the former to make the added files accessible to all
users. Update the File-Name Database (FNDB) in the Settings wizard after adding files to
a personal or local texmf tree.
In TeXLive, personal additions are by default expected to be
under $HOME/texmf; after any changes to this tree, execute
texhash $HOME/texmf to update the data base of file names.
In MacTeX, $HOME/Library/texmf/ is by default a user's personal texmf tree.
On Lion and Mountain Lion,
the $HOME/Library folder is hidden; to open it, use the Finder's Go menu and hold down the Option key
to reveal an extra item in the menu.
On all platforms, it is important to put files into suitable sub-directories, as specified in
(TeX Directory Standard); the following is
a summary of the most relevant paths:
where texmf is the path to the root of the texmf tree and package-name is the name of the package;
for Windows, replace / by
- TeX macros:
- LaTeX macros and sty (style) files:
- mf (Metafont source) files:
- tfm (Tex font metric) files:
- vf (virtual font) files:
- pfb (Type 1 font) files:
- enc (font encoding) files:
- map (font-map) files:
- fd (font-definition) files:
Consistent use of package-name directories, as above, makes it
easier to find and
uninstall all the files of a package.
For more information,
A Directory Structure for TeX Files.
Executables (other than platform-independent scripts) do not appear in texmftrees; distributions deal with executables in different ways. If the package
provides an executable suitable for your platform, you must move it
to a directory on the PATH of executables; otherwise, you may need
to first compile the program from source files extracted from an archive,
./configure && make && sudo make install.
If you have added new fonts to your personal texmf tree,
it may be necessary to enable the relevant font-map file.
- For MiKTeX,
open a command-prompt window and do
initexmf --edit-config-file updmap
which will open a Notepad window on the relevant configuration file. For each new font map file
add a line
(or MixedMap xyz.map if both Metafont and Type1 formats are available);
save the file and exit Notepad. Then do
which will rebuild all the font-map files.
You can add the --admin option to these commands if you want to update the font maps for all users, but then
you must open the command-prompt window as Admin (right-click on the item in the
- For TeXLive, execute
updmap --enable Map=map-file
or, for fonts such as the musixtex fonts that are available in both Type 1 and Metafont formats,
updmap --enable MixedMap=map-file
You should also run updmap (with no arguments) after TeXLive system fonts have been added or updated.
- For MacTeX, see
Installing TeX fonts
Installing personal TeX fonts.
- For other distributions, you may have to read the relevant documentation.
On all platforms, the command kpsewhich can be used to see where any TeX-related file
is located; for example,
will tell you where the currently "active" map for Type 1 fonts is.
You can check that the relevant lines have been added,
but do not edit psfonts.map directly because
your modifications will be overwritten when you install new packages.
- Postscript Slur Package M (Ver 0.53, 21 July 09)
by Hiroaki Morimoto. The package requires MetaPost. It will work with
DVI viewers and dvipdfm. PMX does not expressly support it but does
support MusiXTeX font-based slurs, with which this package should be
to examples and setup instructions in English.
- Direct link to
Tarball. Windows users
may need to right click and "save target as", then open it locally
with Winzip or equivalent, as it doesn't seem to open
directly thru IE and Winzip when left-clicking.
- musixser (Ver 1.2) (zip, tgz, README), a MusiXTeX
extension package for voice-wise entry of music, by Rainer Dunker
- musixlyr (Ver 2.1c, 12 June 03) (zip, tgz, README) a MusiXTeX
extension package for lyrics handling, by Rainer Dunker
- German description
how to create a Gottesdienstordnung using
LaTeX, M-Tx, PMX, MusiXTeX and musixlyr with complete source provided by Dirk Baack
- a package used to typeset
by Hildegard von Bingen incl. TeX-font containing Hildegard's
- MusiXTeX extensions for tabulature-notation with
example (TeX-source, PS-file) by Ronald Gelten
- TTRM (Ver 3.0), a package by Alexandros
Droseltis to generate a MusiXTeX file for a row matrix (48
forms) starting from a single row. Additional options generate the
square matrix and the stravinskian rotation arrays ("verticals").
Tarball, info, manual.
- MusiXTeX macros by Moriwaki
Expansion Macros, White
Mensural Notation Macros, MIDI Auto Generating
Macros. For more information follow this link.
- musixdbr.tex. This
macro package by Rainer Dunker provides commands for dashed and
dotted barlines. Being an enhanced variant of musixbar.tex, it
supports individual barline settings per instrument and
inter-instrument space, multi-staff instruments, different numbers
of lines per staff, and individual \setsize settings. Dashing and
dotting style may be changed by redefining \barlinedash or
\barlinedots, respectively. See the included example code about how
to make use of the different commands.
- musixcrd, a package
for typesetting jazz chord symbols by Robert Hennig.
This package is distributed with the MusiXTeX package.
pmxchords is a package
by Ondrej Fafejta which allows chord symbols
to be typeset above notes. The user adds macro calls to a pmx file. Key transposition is
supported by a pre-processing script.
a macro package that supports typesetting of bagpipe music. It has been updated
to use MusiXTeX by default and is now available at CTAN.
harmony is a LaTeX2e package for typesetting
harmony symbols etc. in musicological texts.
musixplt is a MusiXTeX extension library
that replaces the default Computer Modern text fonts by Palatino-based fonts.
- Don Simons has provided a musixjazz
which supports typesetting scores
that look like a jazz fake book.
To install, you can either
install the files in the tex, type1, tfm,
map and doc directories into a personal or
local texmf tree, as described in
Adding Non-Distribution Packages, Texmf Files,
at the root of a personal or local texmf tree.
After refreshing the file-name database,
you must enable the font-map file musixjazz.map as described in
Adding Non-Distribution Packages, Font Maps.
- Repository of music-notation mistakes in
by Jean-Pierre Coulon.
The source files are included in the musixtex packages.
- list of
changes to PMX since version 2.5.
- 4-page example of typesetting orchestral scores with
- 1-page text on the combination of PMX with LaTeX2e by Eric
Petersen - PDF, TeX source
- 1-page text on typesetting rests by Werner Icking - PDF, TeX source
- 2-page example on typesetting scales using \relativeaccid, by
Werner Icking - PDF , GIF , TeX source .
- 4-page text on tabulature by Michel Caprace
- Illustrated and expanded PMX tutorials (PDF's) in Italian with sources (Rev. 3, 20 Feb 2010), French, German,
The Italian manual, created
by Luigi Cataldi, is enhanced with many typeset examples, plus
software installation instructions and an intro to M-Tx. The
French, and German
manuals are translations of the Italian
one by Olivier Vogel and Christof Biebricher,
English translation (with many updates) by Cornelius C. Noack is referenced
under Primary Documentation above.
- Old-feta fonts
(both type1 and type3), info . These are
primarily for mensural notation.
- Lute fonts Version 1.01.
based on Wayne Cripp's TeX fonts for his Tab
program, Contents of zip, Info for Postscript
- figbas (Ver 1.0.1,
10 January 2011), fonts for
special figured-bass ligatures for 2+, 4+, 5+, 6+, and 9+, by Bob Tennent. This
is available as a package in TeXLive and MiKTeX.
Binaries and Scripts
musixtex script included
from version 1.20 of the MusiXTeX package
subsumes scripts m-tx and pmx2pdf used formerly with M-Tx and PMX files;
it is also available separately
- A sample batch script for running PMX (on Windows only);
you may have to edit the paths to suit your installation.
- DOS/Win binaries for dvidvi, dviconca,
dviselec. These handy tools let you rearrange pages in
dvifiles, for example to make a booklet. The DOS/Win binaries can
be hard to find.
- mtxutil, M-Tx utilities written in
Perl to extract voices (info) or to
- Bob Tennent has uploaded an
containing a MusiXTeX extension library musixtnt.tex and C source code, binaries for Windows (32 bit and
64 bit) and MacOSX, and documentation for a program
msxlint. This will be of interest to music
typesetters who use MusiXTeX directly, rather than via
pre-processors PMX or M-Tx.
- Bob Tennent has provided an autosp
package; autosp is a new preprocessor that
generates note-spacing commands for
MusiXTeX scores. For more information, see the
Now included in the package is a small utility (rebar) that
reads a MusiXTeX source from standard input
and generates a copy to standard output with correct
bar-number comments of the form %barno appended to
Dieter Glötzel has released version 1.0
of his MusicXML-to-PMX converter
A beta program or version is software that is released for testing by the developers
but has not yet been deemed "stable" (ready for general use). Software referenced here
is not for novices nor for "production" use.
Bugs are to be expected and should be reported to the developers.