mtxrun(1)

πŸ“¦ version 2026.0, in alpine 3.24

πŸ’… mtxrun(1) β€” the ConTeXt TDS Runner Tool, bestie edition ✨

okay so real talk: this is mtxrun, the ConTeXt TDS Runner Tool, and it's basically the main character of the ConTeXt toolchain. It runs scripts, finds files, pokes at databases, manages stubs, and generally holds the whole vibe together. Come sit with me, I gotchu 🫢


✨ SYNOPSIS ✨

mtxrun [ OPTIONS ...  ] [ FILENAMES ]

that's it. options first, filenames wherever they land, and honestly it's giving "I contain multitudes" πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

ConTeXt TDS Runner Tool

short and iconic. no notes. periodt.


πŸŽ€ OPTIONS πŸŽ€

okay this is the long part, grab a snack πŸ“

  • --script β€” runs an mtx script (lua is the preferred method, ngl) (--noquotes). if you pass no script at all, it just gives you a list. a little menu moment ✨
  • --evaluate β€” runs code you passed on the commandline, between quotes (=loop). and exit/quit aborts it, so you can escape 😌
  • --execute β€” runs a script or program, the texmfstart method (--noquotes)
  • --direct β€” runs a program, direct, no detours
  • --resolve β€” resolves prefixed arguments
  • --ctxlua β€” runs internally, using preloaded libs
  • --internal β€” runs a script using built-in libraries (same thing as --ctxlua)
  • --locate β€” locates the given filename in the database (that's the default) or in the system (--first, --all, --detail) πŸ”
  • --tree=pathtotree β€” uses the given texmf tree (default file: setuptex.tmf)
  • --path=runpath β€” goes to the given path before execution, like a little pre-game commute
  • --ifchanged=filename β€” only executes when the given file has actually changed (md checksum). no change, no run, we respect the vibe check πŸ’…
  • --iftouched=old,new β€” only executes when the given file has changed (time stamp)
  • --makestubs β€” creates stubs for (context related) scripts
  • --removestubs β€” removes stubs for (context related) scripts
  • --stubpath=binpath β€” the paths where stubs will be written
  • --windows β€” creates windows (mswin) stubs
  • --unix β€” creates unix (linux) stubs
  • --addbinarypath β€” prepends the (found) binarypath to runners
  • --verbose β€” gives a bit more info. crumbs, if you will 🍞
  • --trackers=list β€” enables the given trackers
  • --progname=str β€” format or backend
  • --platform=str β€” shows the platform as seen by the script
  • --systeminfo=str β€” shows current operating system, processor, etc
  • --edit β€” launches the editor with the found file
  • --launch β€” launches files like manuals, assumes os support (--all, --list)
  • --associate β€” launches files like manuals, assumes os support via suffix association
  • --timedrun β€” runs a script and times its run ⏱️
  • --autogenerate β€” regenerates databases if needed (handy when you use it to run context inside an editor)
  • --usekpse β€” uses kpse as fallback (only when there's no mkiv and cache installed, and it's often slower)
  • --forcekpse β€” forces using kpse (handy when there's no mkiv and cache installed, but it comes with less functionality)
  • --prefixes β€” shows supported prefixes
  • --generate β€” generates the file database
  • --variables β€” shows configuration variables
  • --configurations β€” shows configuration order
  • --directives β€” shows (known) directives
  • --trackers β€” shows (known) trackers
  • --experiments β€” shows (known) experiments
  • --expand-braces β€” expands a complex variable
  • --resolve-path β€” expands a variable (completely resolves paths)
  • --expand-path β€” expands a variable (resolves paths)
  • --expand-var β€” expands a variable (resolves references)
  • --show-path β€” shows the path expansion of ...
  • --show-details β€” shows details of the configuration
  • --var-value β€” reports the value of a variable
  • --find-file β€” reports the file location
  • --find-path β€” reports the path of a file
  • --format-path β€” reports the path where format files end up
  • --pattern=string β€” filters variables
  • --all=string β€” reports all (when applicable)
  • --format=string β€” filters by file format (when applicable)
  • --selfclean=string β€” removes libraries (maintainance)
  • --selfmerge=string β€” embeds libraries (maintainance)
  • --selfupdate=string β€” moves to the bin path (maintainance)
  • --help=string β€” shows help info
  • --version=string β€” shows version info
  • --gethelp=string β€” launches the given help info (--url)
ok bestie real talk: the --selfclean, --selfmerge and --selfupdate ones are labeled maintainance in the source, so maybe don't casually yeet them around unless you actually know what you're doing πŸ™ˆ

πŸ‘‘ AUTHOR πŸ‘‘

more info about ConTeXt and the tools that come with it lives at:

like, the whole friend group of links. go say hi πŸ’–


🌈 sign-off 🌈

and that's the page, bestie β€” version 1.33, dated 01-01-2026, written up as mtxrun(1) in the ConTeXt TDS Runner Tool section. slay, ate, no cap, go run some scripts πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from