mtxrun(1)
π 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). andexit/quitaborts it, so you can escape π--executeβ runs a script or program, thetexmfstartmethod (--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,--selfmergeand--selfupdateones 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:
- maillist:
ntg-context@ntg.nl/http://www.ntg.nl/mailman/listinfo/ntg-context - webpage:
http://www.pragma-ade.nl/http://tex.aanhet.net - wiki:
http://contextgarden.net
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
- alpine 3.24: texmf-dist-context-doc 2026.0-r0 Β· LPPL-1.0 AND LPPL-1.1 AND LPPL-1.2 AND LPPL-1.3a AND LPPL-1.3c AND GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms