Skip to content

Commit ce8bbc6

Browse files
committed
Add commands
Document pct-pull, pct-push, fmtutil family, ttsc/ttsx, and samosa.
1 parent d898b4a commit ce8bbc6

10 files changed

Lines changed: 752 additions & 0 deletions

File tree

assets/commands/fmtutil-sys.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# TAGLINE
2+
3+
manage TeX formats and Metafont bases system-wide
4+
5+
# TLDR
6+
7+
**Rebuild all** system formats
8+
9+
```fmtutil-sys --all```
10+
11+
**Create only missing** system formats
12+
13+
```fmtutil-sys --missing```
14+
15+
**Rebuild** the **pdflatex** format
16+
17+
```fmtutil-sys --byfmt pdflatex```
18+
19+
**Rebuild formats** for the **pdftex** engine
20+
21+
```fmtutil-sys --byengine pdftex```
22+
23+
**List** format configuration
24+
25+
```fmtutil-sys --listcfg```
26+
27+
# SYNOPSIS
28+
29+
**fmtutil-sys** [_OPTION_]... [_COMMAND_]
30+
31+
# DESCRIPTION
32+
33+
**fmtutil-sys** is the system-wide form of **fmtutil**. It rebuilds TeX format files and Metafont bases into TEXMFSYSVAR (typically under the TeX Live tree), reading system configuration from trees such as TEXMFSYSCONFIG, TEXMFLOCAL, and TEXMFDIST.
34+
35+
This is the recommended mode for almost every installation: package managers and **tlmgr** updates expect formats in the system location. Prefer **fmtutil-sys** over **fmtutil-user** unless you deliberately maintain private per-user formats.
36+
37+
Exactly one command is required (**--all**, **--missing**, **--byfmt**, and so on). See **fmtutil** for the full option set; **fmtutil-sys** is equivalent to **fmtutil --sys**.
38+
39+
# PARAMETERS
40+
41+
**--all**
42+
> Recreate all format files
43+
44+
**--missing**
45+
> Create all missing format files
46+
47+
**--byfmt** _FORMAT_
48+
> (Re)create format FORMAT
49+
50+
**--byengine** _ENGINE_
51+
> (Re)create formats built with ENGINE
52+
53+
**--byhyphen** _HYPHENFILE_
54+
> (Re)create formats that depend on HYPHENFILE
55+
56+
**--refresh**
57+
> Recreate only existing format files
58+
59+
**--listcfg**
60+
> List format configurations filtered to available formats
61+
62+
**--enablefmt** _FORMAT_[/_ENGINE_]
63+
> Enable FORMAT
64+
65+
**--disablefmt** _FORMAT_[/_ENGINE_]
66+
> Disable FORMAT
67+
68+
**--cnffile** _FILE_
69+
> Read alternate **fmtutil.cnf** (may be repeated)
70+
71+
**--fmtdir** _DIR_
72+
> Write formats under DIR
73+
74+
**--dry-run**, **-n**
75+
> Do not actually build formats
76+
77+
**--quiet**
78+
> Be silent
79+
80+
**--version**, **--help**
81+
> Show version or help and exit
82+
83+
# CAVEATS
84+
85+
Usually requires write access to the TeX Live system trees (root or the texlive admin account). If a user has previously run **fmtutil-user**, their TEXMFVAR formats still override system ones for that account until removed. Building **--all** can take several minutes.
86+
87+
# HISTORY
88+
89+
Part of TeX Live's multi-**fmtutil** design; **fmtutil-sys** selects system trees the way **updmap-sys** does for font maps. See the TeX Live sys-vs-user documentation for migration details.
90+
91+
# SEE ALSO
92+
93+
[fmtutil](/man/fmtutil)(1), [fmtutil-user](/man/fmtutil-user)(1), [mktexfmt](/man/mktexfmt)(1), [kpsewhich](/man/kpsewhich)(1), [tlmgr](/man/tlmgr)(1)
94+
95+
# RESOURCES
96+
97+
```[Documentation](https://tug.org/texlive/scripts-sys-user.html)```
98+
99+
```[Homepage](https://tug.org/texlive/)```
100+
101+
<!-- verified: 2026-07-17 -->

assets/commands/fmtutil-user.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# TAGLINE
2+
3+
manage TeX formats and Metafont bases for the current user
4+
5+
# TLDR
6+
7+
**Rebuild all** user-local formats
8+
9+
```fmtutil-user --all```
10+
11+
**Create missing** user formats
12+
13+
```fmtutil-user --missing```
14+
15+
**Rebuild** a single format under the user tree
16+
17+
```fmtutil-user --byfmt pdflatex```
18+
19+
**List** user-visible format configuration
20+
21+
```fmtutil-user --listcfg```
22+
23+
# SYNOPSIS
24+
25+
**fmtutil-user** [_OPTION_]... [_COMMAND_]
26+
27+
# DESCRIPTION
28+
29+
**fmtutil-user** is the per-user form of **fmtutil**. It writes format files under TEXMFVAR (for example **~/.texliveYYYY/texmf-var**) and can read additional config from TEXMFCONFIG / TEXMFHOME. It is equivalent to **fmtutil --user**.
30+
31+
User mode is only appropriate when formats must be private to one account (for example experimental engines under TEXMFHOME). For a normal single- or multi-user machine, **fmtutil-sys** is strongly preferred.
32+
33+
Exactly one command is required. Options match **fmtutil** / **fmtutil-sys**.
34+
35+
# PARAMETERS
36+
37+
**--all**
38+
> Recreate all format files in the user tree
39+
40+
**--missing**
41+
> Create all missing format files
42+
43+
**--byfmt** _FORMAT_
44+
> (Re)create format FORMAT
45+
46+
**--byengine** _ENGINE_
47+
> (Re)create formats built with ENGINE
48+
49+
**--refresh**
50+
> Recreate only existing format files
51+
52+
**--listcfg**
53+
> List format configurations
54+
55+
**--enablefmt** _FORMAT_[/_ENGINE_]
56+
> Enable FORMAT
57+
58+
**--disablefmt** _FORMAT_[/_ENGINE_]
59+
> Disable FORMAT
60+
61+
**--cnffile** _FILE_
62+
> Read alternate **fmtutil.cnf**
63+
64+
**--dry-run**, **-n**
65+
> Do not actually build formats
66+
67+
**--quiet**
68+
> Be silent
69+
70+
**--version**, **--help**
71+
> Show version or help and exit
72+
73+
# CAVEATS
74+
75+
Running **fmtutil-user** once causes user-tree formats to **override** system formats for that account forever after. Later **fmtutil-sys** or package updates will not be visible until you remove the generated files under TEXMFVAR/web2c (after backing them up) or re-run **fmtutil-user** whenever the system formats change. Prefer **fmtutil-sys** unless you understand this trade-off.
76+
77+
# HISTORY
78+
79+
Introduced as an explicit counterpart to **fmtutil-sys** in TeX Live 2017 so bare **fmtutil** would no longer silently default to ambiguous tree selection.
80+
81+
# SEE ALSO
82+
83+
[fmtutil](/man/fmtutil)(1), [fmtutil-sys](/man/fmtutil-sys)(1), [mktexfmt](/man/mktexfmt)(1), [kpsewhich](/man/kpsewhich)(1)
84+
85+
# RESOURCES
86+
87+
```[Documentation](https://tug.org/texlive/scripts-sys-user.html)```
88+
89+
```[Homepage](https://tug.org/texlive/)```
90+
91+
<!-- verified: 2026-07-17 -->

assets/commands/fmtutil.md

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
# TAGLINE
2+
3+
manage TeX format files and Metafont bases
4+
5+
# TLDR
6+
7+
**Rebuild all** formats (prefer the sys/user wrappers)
8+
9+
```fmtutil --sys --all```
10+
11+
**Create missing** formats only
12+
13+
```fmtutil --sys --missing```
14+
15+
**Rebuild one** format by name
16+
17+
```fmtutil --sys --byfmt pdflatex```
18+
19+
**Rebuild formats** for a given engine
20+
21+
```fmtutil --sys --byengine pdftex```
22+
23+
**List** configured formats
24+
25+
```fmtutil --sys --listcfg```
26+
27+
# SYNOPSIS
28+
29+
**fmtutil** [**-user**|**-sys**] [_OPTION_]... [_COMMAND_]
30+
31+
# DESCRIPTION
32+
33+
**fmtutil** rebuilds and manages TeX format files and Metafont bases (collectively called "formats"). Formats are pre-dumped engine states (for example **pdflatex.fmt**) that make subsequent TeX runs much faster.
34+
35+
As of TeX Live 2017, prefer the explicit wrappers **fmtutil-sys** and **fmtutil-user**, or pass **-sys** / **-user**. Invoking bare **fmtutil** without a mode prints a warning. Best practice for almost all installations is **system mode** so generated files land under TEXMFSYSVAR and stay consistent with package updates.
36+
37+
Exactly one command must be given (except in **mktexfmt** mode). Configuration is merged from all **fmtutil.cnf** files found via **kpsewhich**.
38+
39+
# PARAMETERS
40+
41+
**-sys**
42+
> Use system trees TEXMFSYSVAR / TEXMFSYSCONFIG (same as **fmtutil-sys**)
43+
44+
**-user**
45+
> Use user trees TEXMFVAR / TEXMFCONFIG (same as **fmtutil-user**)
46+
47+
**--all**
48+
> Recreate all format files
49+
50+
**--missing**
51+
> Create all missing format files
52+
53+
**--byfmt** _FORMAT_
54+
> (Re)create format FORMAT
55+
56+
**--byengine** _ENGINE_
57+
> (Re)create formats built with ENGINE
58+
59+
**--byhyphen** _HYPHENFILE_
60+
> (Re)create formats that depend on HYPHENFILE
61+
62+
**--refresh**
63+
> Recreate only formats that already exist
64+
65+
**--enablefmt** _FORMAT_[/_ENGINE_]
66+
> Enable FORMAT (optionally for a specific engine)
67+
68+
**--disablefmt** _FORMAT_[/_ENGINE_]
69+
> Disable FORMAT
70+
71+
**--listcfg**
72+
> List enabled and disabled configurations for available formats
73+
74+
**--showhyphen** _FORMAT_
75+
> Print the hyphen file name for FORMAT
76+
77+
**--cnffile** _FILE_
78+
> Read FILE instead of the default **fmtutil.cnf** (may be repeated)
79+
80+
**--fmtdir** _DIR_
81+
> Write formats under DIR instead of TEXMF[SYS]VAR
82+
83+
**--dry-run**, **-n**
84+
> Do not actually build formats
85+
86+
**--quiet**
87+
> Be silent
88+
89+
**--nohash**
90+
> Do not update ls-R files
91+
92+
**--no-strict**
93+
> Exit successfully even if a format fails to build
94+
95+
**--version**, **--help**
96+
> Show version or help and exit
97+
98+
# CAVEATS
99+
100+
Running in **user** mode once writes formats under TEXMFVAR that permanently override system formats until those user files are removed. Prefer **fmtutil-sys** / **-sys** unless you intentionally maintain private formats. Building all formats can take a long time and needs a complete TeX Live engine set.
101+
102+
# HISTORY
103+
104+
Originally written by Thomas Esser for teTeX; maintained as part of TeX Live. The **-user** / **-sys** split and dedicated **fmtutil-user** / **fmtutil-sys** commands were introduced around TeX Live 2017.
105+
106+
# SEE ALSO
107+
108+
[fmtutil-sys](/man/fmtutil-sys)(1), [fmtutil-user](/man/fmtutil-user)(1), [mktexfmt](/man/mktexfmt)(1), [kpsewhich](/man/kpsewhich)(1), [pdflatex](/man/pdflatex)(1), [latex](/man/latex)(1)
109+
110+
# RESOURCES
111+
112+
```[Documentation](https://tug.org/texlive/doc/fmtutil.html)```
113+
114+
```[Homepage](https://tug.org/texlive/)```
115+
116+
<!-- verified: 2026-07-17 -->

assets/commands/index.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2313,6 +2313,9 @@ fly.md
23132313
flyctl.md
23142314
fmql.md
23152315
fmt.md
2316+
fmtutil-sys.md
2317+
fmtutil-user.md
2318+
fmtutil.md
23162319
fnm.md
23172320
fold.md
23182321
font2c.md
@@ -4528,6 +4531,7 @@ mkreiserfs.md
45284531
mksquashfs.md
45294532
mkswap.md
45304533
mktemp.md
4534+
mktexfmt.md
45314535
mktorrent.md
45324536
mkvmerge.md
45334537
mkvpropedit.md
@@ -5526,6 +5530,8 @@ pct-listsnapshot.md
55265530
pct-mount.md
55275531
pct-move-volume.md
55285532
pct-move_volume.md
5533+
pct-pull.md
5534+
pct-push.md
55295535
pct-reboot.md
55305536
pct-resize.md
55315537
pct-restore.md
@@ -6812,6 +6818,7 @@ sam.md
68126818
sam2p.md
68136819
samba.md
68146820
samhain.md
6821+
samosa.md
68156822
sample.md
68166823
sampler.md
68176824
samply.md
@@ -7815,6 +7822,8 @@ tsx.md
78157822
tt.md
78167823
ttar.md
78177824
tts.md
7825+
ttsc.md
7826+
ttsx.md
78187827
tty-clock.md
78197828
tty-solitaire.md
78207829
tty.md

0 commit comments

Comments
 (0)