---
name: "musixtex"
section: "1"
platform: "linux"
package: "texlive-doc"
version: "2026.1-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/musixtex"
---

# musixtex(1)

processes MusiXTeX files, using pre-processors prepmx, xml2pmx, pmxab and autosp as necessary, and then deletes intermediate and log files (unless -i is used)

## NAME

musixtex - processes MusiXTeX files, using pre-processors prepmx, xml2pmx, pmxab and autosp  as necessary, and then deletes intermediate and log files (unless  **-i** is used)

## SYNOPSIS

\[ texlua \] **musixtex\[.lua\]** { *option* \|  *jobname* \[ .xml \| .mtx  \| .pmx  \| .aspc \| .tex \| .ltx \] } ...

## DESCRIPTION

- If a jobname argument has a .tex extension, the default effect is to process the file using

  - [**etex**(1)](/etex/1.md)

  (first pass)

- [**musixflx**(1)](/musixflx/1.md)

  (second pass)

- [**etex**(1)](/etex/1.md)

  (third pass)

- [**dvips**(1)](/dvips/1.md)

  (dvi to Postscript)

- [**ps2pdf**(1)](/ps2pdf/1.md)

  (Postscript to Portable Document Format)

- normally followed by removal of intermediate and log files. A log musixtex.log is generated, even if other log files are removed.

  If a jobname argument has a .pmx extension, the file is first preprocessed using [**pmxab**(1)](/pmxab/1.md) and the resulting .tex file is processed as above.

If a jobname argument has a .xml extension, the file is first preprocessed using [**xml2pmx**(1)](/xml2pmx/1.md) and the resulting .pmx file is processed as above.

If a jobname argument has a .mtx extension, the file is first preprocessed using [**prepmx**(1)](/prepmx/1.md) and the resulting .pmx file is processed as above.

If a jobname argument has a .ltx extension, the file is processed using [**latex**(1)](/latex/1.md) (or [**pdflatex**(1)](/pdflatex/1.md)) in place of  **etex**.

If a jobname argument has a .aspc extension, the file is first preprocessed using [**autosp**(1)](/autosp/1.md) and the resulting .tex or .ltx file is processed as above.

If a jobname argument has none of these extensions, the script will look for a file  *jobname*.xml or *jobname*.mtx or *jobname*.pmx or *jobname*.aspc or *jobname*.tex or *jobname*.ltx*,* in that order, and process it as above.

## OPTIONS

- **-v, -version, --version**

  output program name and version number, and quit

- **-h, -help, --help**

  output usage summary and quit

- **-l**

  assume LaTeX source; implied if the file has .ltx extension

- **-p**

  change the TeX processor to  [**pdfetex**(1)](/pdfetex/1.md) or [**pdflatex**(1)](/pdflatex/1.md) (and doesn't run a dvi processor)

- **-c**

  preprocess pmx file using  [**pmxchords**(1)](/pmxchords/1.md)

- **-d**

  don't generate a .ps file and change the dvi processor to [**dvipdfm**(1)](/dvipdfm/1.md)

- **-D dvix**

  use **dvix** as the dvi processor; e.g., -D "dvipdfm -m 0.9".  Use -d *before* -D to suppress .ps generation.

- **-P ps2pdf**

  use  **ps2pdf** as the Postscript processor; e.g., -P "ps2pdf -sPAPERSIZE=a4"

- **-F fmt**

  use  **fmt** as the TeX processor; e.g., -F "luatex --output-format=dvi".  Another example: it is possible to minimize TeX output by using -F "texfot etex".

- **-m**

  stop processing at the pmx file

- **-M mtxx**

  use **mtxx** as the mtx preprocessor; e.g., -M "prepmx -i".

- **-X pmxx**

  use **pmxx** as the pmx preprocessor; e.g., -X "./pmxab",

- **-A aspcx**

  use **aspcx** as the aspc preprocessor; e.g., -A "autosp -l".

- **-L xmlx**

  use  **xmlx** as the xml preprocessor; e.g., -L "./XML2PMX".

- **-t**

  stop processing at the tex/mid files

- **-s**

  stop processing at the dvi file

- **-g**

  stop processing at the ps file

- **-i**

  retain intermediate and log files

- **-1**

  one-pass \[pdf\]\[la\]tex processing; i.e., without calling  **musixflx**

- **-x**

  call  [**makeindex**(1)](/makeindex/1.md) to update index database

- **-f**

  restore default processing

- **-q**

  quiet mode (only musixtex's own messages); other messages are diverted to a temporary file. If an error occurs at the TeX stage, processing halts immediately and the tail of the log file is sent to stderr. Version information is copied from the temporary file to the log file.

- Options affect processing of all succeeding MusiXTeX files unless changed by another option. Option flags cannot be combined; e.g., use **-l -x** rather than **-lx**.

  Note that four TeX engines are available via the -l and -p options:

- etex default

      latex     -l\
       pdfetex   -p\
       pdflatex  -l -p

- If the -F option is used, options -l and -p need to be set if the engine name does not contain "latex" and "pdf" respectively. For example, the above four engines can be replaced by:

    \-F "luatex --output-format=dvi" \
     \-F "lualatex --output-format=dvi"\
     \-F "luatex" -p\
     \-F "lualatex" -p

## SEE ALSO

[**autosp**(1)](/autosp/1.md), [**etex**(1)](/etex/1.md), [**latex**(1)](/latex/1.md), [**pdfetex**(1)](/pdfetex/1.md), [**pdflatex**(1)](/pdflatex/1.md), [**makeindex**(1)](/makeindex/1.md), [**musixflx**(1)](/musixflx/1.md), [**dvipdfm**(1)](/dvipdfm/1.md), [**dvips**(1)](/dvips/1.md), [**pmxab**(1)](/pmxab/1.md), [**pmxchords**(1)](/pmxchords/1.md), [**prepmx**(1)](/prepmx/1.md), [**ps2pdf**(1)](/ps2pdf/1.md), [**xml2pmx**(1)](/xml2pmx/1.md) and musixdoc.pdf.

## AUTHOR

This manual page was written by Bob Tennent \<rdt@cs.queensu.ca\>.  To generate PDF, use groff -man musixtex.1 -T pdf \> musixtex.1.pdf.
