MUSIXTEX(1)

πŸ“¦ version 2026.0, in alpine 3.24

πŸ’… MUSIXTEX β€” the manual page, but make it cute

okay so bestie, this is the page for musixtex β€” manual section 1, user commands, iykyk. it does the whole MusiXTeX pipeline for you, calling on the pre-processors prepmx, xml2pmx, pmxab and autosp as needed, and then it cleans up after itself by deleting the intermediate and log files (unless you pass -i, ofc πŸ™ˆ).


✨ SYNOPSIS ✨

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

πŸŽ€ DESCRIPTION πŸŽ€

so when a jobname argument has a .tex extension, the default glow-up is to process that file with:

...and then normally it deletes the intermediate and log files, like a good little cleaner-upper. πŸ’… but heads up: a log file musixtex.log is still generated, even if all the other log files get yeeted. that one stays, no cap.

if your jobname argument has a .pmx extension, the file gets preprocessed first using pmxab(1), and then the resulting .tex file gets processed exactly like above. πŸ¦‹

if it has a .xml extension, the file is preprocessed first using xml2pmx(1), and the resulting .pmx file is then processed as above. 🌸

if it has a .mtx extension, it's preprocessed first using prepmx(1), and the resulting .pmx file is processed as above. πŸŽ€

if it has a .ltx extension, the file is processed using latex(1) (or pdflatex(1)) in place of etex. main character energy, different engine. πŸ‘‘

if it has a .aspc extension, it's preprocessed first using autosp(1), and the resulting .tex or .ltx file is processed as above. ⭐

and if your jobname has none of these extensions at all? the script literally goes shopping for a file β€” it looks for jobname.xml or jobname.mtx or jobname.pmx or jobname.aspc or jobname.tex or jobname.ltx, in that order, and processes whichever one it finds, same as above. the order matters, so don't come for me. 🫢


πŸ’– OPTIONS πŸ’–

  • -v, -version, --version β€” spits out the program name and version number, then dips. πŸ‘‹
  • -h, -help, --help β€” prints the usage summary and quits. your lil cheat sheet.
  • -l β€” assume the source is LaTeX; this is implied automatically if the file has a .ltx extension.
  • -p β€” switches the TeX processor to pdfetex(1) or pdflatex(1) (and, key detail, it does not run a dvi processor).
  • -c β€” preprocesses the pmx file using pmxchords(1).
  • -d β€” doesn't generate a .ps file, and switches the dvi processor to dvipdfm(1).
  • -D dvix β€” uses dvix as the dvi processor; e.g. -D "dvipdfm -m 0.9". use -d before -D to suppress .ps generation. πŸ’€
  • -P ps2pdf β€” uses ps2pdf as the Postscript processor; e.g. -P "ps2pdf -sPAPERSIZE=a4".
  • -F fmt β€” uses fmt as the TeX processor; e.g. -F "luatex --output-format=dvi". another example: it's possible to minimize TeX output by using -F "texfot etex". πŸ”₯
  • -m β€” stops processing at the pmx file.
  • -M mtxx β€” uses mtxx as the mtx preprocessor; e.g. -M "prepmx -i".
  • -X pmxx β€” uses pmxx as the pmx preprocessor; e.g. -X "./pmxab",
  • -A aspcx β€” uses aspcx as the aspc preprocessor; e.g. -A "autosp -l".
  • -L xmlx β€” uses xmlx as the xml preprocessor; e.g. -L "./XML2PMX".
  • -t β€” stops processing at the tex/mid files.
  • -s β€” stops processing at the dvi file.
  • -g β€” stops processing at the ps file.
  • -i β€” retains the intermediate and log files (the opposite of the default clean-up, bestie 🧚).
  • -1 β€” one-pass [pdf][la]tex processing; i.e., without calling musixflx.
  • -x β€” calls makeindex(1) to update the index database.
  • -f β€” restores default processing.
  • -q β€” quiet mode (only musixtex's own messages); other messages get 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. one flag per vibe, please. πŸ’…

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), etex(1), latex(1), pdfetex(1), pdflatex(1), makeindex(1), musixflx(1), dvipdfm(1), dvips(1), pmxab(1), pmxchords(1), prepmx(1), ps2pdf(1), xml2pmx(1) and musixdoc.pdf. go read them, they're iconic. πŸ‘‘


πŸ¦‹ 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. slay. ✨


and that's the whole thing, bestie β€” musixtex version 0.23, dated 2024-04-18. periodt. πŸ’œ

πŸ“¦ where this page comes from