MFT(1)
β¨ MFT β ok so bestie, let's talk about the Metafont-to-TeX glow-up β¨
This is mft, from section 1 of the General Commands Manual, and it's giving β¨typesetting fairy godmotherβ¨ energy.
πΈ NAME πΈ
mft β translate Metafont or MetaPost code to TeX code for prettyprinting π
π SYNOPSIS π
mft [OPTIONS] mf_file_name[.mf|.mp]
π DESCRIPTION π
Okay so real talk first: this manual page is not meant to be exhaustive, bestie. The complete documentation for this version of TeX lives in the info file, or in the manual Web2C: A TeX implementation. So like, this is the vibe summary, not the whole syllabus π
The mft program creates a TeX file from a Metafont or MetaPost program. And the way it just handles typographic details? Page layout, indentation, italics, boldface, etc. β all of it, no notes. It's literally illustrated in the book Computer Modern Typefaces, that's how serious this is π
Also there are special conventions in Metafont and MetaPost comments that let you control things that would not otherwise come out right. If you wanna know those rules, section 1 of the MFT source program in the Metafontware report explains them. iykyk π«Ά
Now, the plot: mft uses an optional change file (which works just as the change files to tangle(1) and weave(1) do β same energy, different program) and one or several style files, which get prepended to everything. Like, everything everything.
If no style file is specified, the style file plain.mft for Metafont (or mplain.mft for MetaPost) is automatically used. No stress, it's got a default π
The mf_file_name, optional change_file_name, and style_file_name files are searched for using the MFINPUTS (for Metafont) or MPINPUTS (for MetaPost) and MFTINPUTS environment variables if you have set them β or else the corresponding system defaults. So set them or don't, either way it'll figure it out π«
And the output TeX file name? Formed by using .tex in place of the extension of mf_file_name. Simple. Clean. Iconic. β¨
π₯ OPTIONS π₯
-change=change_file_name[.ch]β Apply the change filechange_file_nametomf_file_name. Glow-up via patch file, basically π-metapostβ Assumemf_file_nameis a MetaPost source file. (This is the default ifmf_file_namehas the extension.mpβ it just knows.)-style=style_file_name[.mft]β Use the style filestyle_file_nameinstead ofplain.mft(ormplain.mft). And bestie β this option can be given more than once, so stack those styles, go off π
π¦ FILES π¦
mftmac.texβ TeX macros used bymftoutput. The scaffolding behind the slay ποΈplain.mft,mplain.mftβ Default style files. The default besties πcmbase.mftβ Style file for Computer Modern. Fancy π
π SEE ALSO π
mf(1),weave(1)- Donald E. Knuth, Computer Modern Typefaces (Volume E of Computers and Typesetting), Addison-Wesley, 1986, ISBN
0-201-13446-2 - Donald E. Knuth et al., Metafontware
π AUTHORS π
Donald E. Knuth wrote the program β main character behavior fr fr β and he ported it to Unix with the help of Pierre MacKay and the Unix port of weave by Howard Trickey and Pavel Curtis. The program is published in the Metafontware technical report, available from the TeX Users Group π«Ά
π quick vibe check: this page is a summary only, not the exhaustive docs. For the full lore, hit the info file or Web2C: A TeX implementation. And for the comment conventions that fix stuff that "would not otherwise come out right," section 1 of the MFT source program in Metafontware is the receipt. π§
okay that's the whole page, mwah π this was Web2C 2025, dated 27 May 2018 β slay, bye bestie! β¨ππ¦
π¦ where this page comes from
- alpine 3.24: texlive-doc 2026.0-r0 Β· GPL-2.0-or-later AND GPL-3.0-or-later
- fedora 44: texlive-mfware 12:svn77830-105.fc44 Β· LicenseRef-Fedora-Public-Domain
- fedora 44: texlive-mfware 12:svn77830-111.fc44 Β· LicenseRef-Fedora-Public-Domain
- opensuse-leap 16.0: texlive-mfware-doc 2025.221.svn73848-160000.3.1 Β· SUSE-Public-Domain
- ubuntu resolute: texlive-binaries 2025.20250727.75242+ds-5build1 Β· TeX-Live
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms