Subsections
Beyond the Basics
Configuring TeXWorks, TeXnicCenter, TeXShop or TeXStudio
Some users are uncomfortable with the command line.
Many
TeX-oriented "integrated development environments" are available combining an editor, a previewer,
and menus for various operations.
One of these development environments is
TeXWorks,
which is available in MiKTeX, TeXLive, MacTeX and BasicTeX.
Here we explain how to configure TeXWorks
to process
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:
- Name:
- MusiXTeX (or whatever you want)
- Program:
- musixtex
- Arguments:
- $fullname
You can move this processor up the list of available processors by using the up-arrow button.
TeXnicCenter
is a TeX-oriented editor for
Windows. To process files using the musixtex script,
click on
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
click OK.
TeXShop
is available for OS-X and
has similar capabilities; check out
TeXShop Help Menu TeXShop Help Panel Advanced Help Additional Typesetting Engines
TeXStudio
is another development environment. To configure
this application to use the musixtex
script, click on
Options Configure TeXStudio Add
In the leftmost box, insert musixtex:musixtex
, and in the second box
insert musixtex % | txs:///view-pdf-internal
. Now click OK
and open a MusixTeX score. Compile and view it by clicking
Tools User 1:musixtex
Check out the User Manual to see how to add options to musixtex
or add another
User command.
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
is to
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
(while editing)
a PDF viewer that allows the file to be
overwritten and re-loads automatically when that happens.
Here are some recommended
applications.
On Windows:
- SumatraPDF
- GSview. Note that
ghostscript
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
this
warning)
On Linux:
- evince
- okular
- zathura
- qpdfview
- xpdf
- gv (ghostview)
Any of these can normally be installed using your distribution's package manager.
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
processor.
Adding Non-Distribution Packages
Texmf Files
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
CTAN
(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
distribution
tree.
Detailed instructions for setting up a personal texmf tree in MiKTeX can be found
in
Integrating Local Additions
in Chapter 4 of the
MiKTeX manual.
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
the
TDS
(TeX Directory Standard); the following is
a summary of the most relevant paths:
- TeX macros:
- texmf/tex/generic/package-name/
- LaTeX macros and sty (style) files:
- texmf/tex/latex/package-name/
- scripts:
- texmf/scripts/package-name/
- documentation:
- texmf/doc/generic/package-name/
- sources:
- texmf/source/.../package-name/
- fonts
- mf (Metafont source) files:
texmf/fonts/mf/public/package-name/
- tfm (Tex font metric) files:
texmf/fonts/tfm/public/package-name/
- vf (virtual font) files:
texmf/fonts/vf/public/package-name/
- pfb (Type 1 font) files:
texmf/fonts/type1/public/package-name/
- enc (font encoding) files:
texmf/fonts/enc/dvips/package-name/
- map (font-map) files:
texmf/fonts/map/dvips/package-name/
- fd (font-definition) files:
texmf/tex/latex/package-name/
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 \
.
Consistent use of package-name directories, as above, makes it
easier to find and
uninstall all the files of a package.
For more information,
check out
A Directory Structure for TeX Files.
Executables (other than platform-independent scripts) do not appear in texmf
trees; 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,
typically doing
./configure && make && sudo make install
.
Font Maps
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
xyz.map,
add a line
Map xyz.map
(or MixedMap xyz.map if both Metafont and Type1 formats are available);
save the file and exit Notepad. Then do
initexmf —-mkmaps
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
Programs menu).
- 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
and
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,
kpsewhich psfonts.map
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.
Add-ons
- Postscript Slur Package M (Ver 0.54, 12 August 2017)
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
compatible.
- Link
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
music
by Hildegard von Bingen incl. TeX-font containing Hildegard's
neumes.
- 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
Michio. General
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.
-
bagpipe.tex is
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
package
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,
or
just unzip
this
archive
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.
Documentation
- Repository of music-notation mistakes in
French,
German and
English,
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
MusiXTeX-source
- 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,
respectively. The
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 tablature fonts Version 1.01,
by Wayne Cripps, with type1 versions by Takanori Uchiyama.
Contents of zip, Info for type1
versions, example. Non-commercial use
only, with attribution to Wayne Cripps and referral to the
Tab website required.
- 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
-
The
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
here.
- 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
transpose (info).
- Bob Tennent has uploaded an
archive
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
README.
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
\bar
, \alaligne
, etc.
-
Dieter Glötzel has released version 1.0
of his MusicXML-to-PMX converter
(currently for
Windows
and
Linux
only).
Betas
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.
Bob Tennent