HITEX(1)
β¨ NAME β¨
hitex is the HINT output from TeX π bestie, this tool is a whole vibe.
π«Ά SYNOPSIS π«Ά
hitex [options] [&format] [file|\commands]
π DESCRIPTION π
okay so hitex runs the HiTeX typesetter on a file, and it usually spits out a file.hnt π¦ If your file name has no extension, ".tex" gets tacked on automatically. You can also skip the file name and hand it a set of HiTeX commands instead, and the first one has to start with a backslash \. If you pass an &format argument, HiTeX uses a different batch of precompiled commands from format.fmt, but honestly? Just use the -fmt option instead, it's cleaner π
HiTeX is a version of TeX that makes HINT files, which are built for reading on screen β¨ When you open one in a HINT viewer (check https://hint.userweb.mwn.de), the content adapts to whatever display area you've got. Iconic. πΈ
The usual move is to use pre-generated formats. The hitex command uses the equivalent of plain TeX, and hilatex uses the equivalent of LaTeX. To make your own formats, use the -ini switch π§
HiTeX handles its command-line arguments the same way the other TeX programs do in the web2c implementation, so if you already know one, you know the rest π
HiTeX has the e-TeX extensions (see etex(1)) if you add the -etex switch π₯
HiTeX also has the extensions needed for LaTeX (see latex(1)) if you use the -ltx switch π
π OPTIONS π
okay here's every command-line option HiTeX understands, bestie π«Ά
-cnf-line stringβ parsestringas a texmf.cnf configuration line. Check the Kpathsea manual for more π-compressβ compresses the HINT file ποΈ smaller files, but they need decompressing when you view them. Only bother if file size really matters to you π-empty-pageβ when people write books, empty pages sneak in, like when a chapter has to start on a right-hand page. On screen there's no left or right, so these are a total nuisance π this option keeps them in the output.-no-empty-pageβ tries to get rid of those empty pages in the output. This one is the default β¨-etexβ turns on the e-TeX extensions. It only works together with-ini. Seeetex(1)π§-file-line-errorβ prints error messages asfile:line:error, which looks like how a lot of compilers do it π-no-file-line-errorβ turns off thefile:line:errorerror style π ββοΈ-fmt formatβ usesformatas the format name, instead of the name you called HiTeX by or a%&line π-helpβ prints the help message and exits πΈ-hint-debug bitmaskβ sets the HINT debugging flags using the bitmask. Peek at-hint-debug-helpfor the details π-hint-debug-helpβ explains the HINT debugging flags, then exits π¦-hyphenate-first-wordβ normally TeX won't try to add hyphenation points to the first word of a paragraph. But if a HINT file has to show up on a super tiny device, those hyphenation points might actually be needed. This is on by default π-no-hyphenate-first-wordβ stops hyphenation points from being added to the first word of a paragraph. You only need this if you want full TeX compatibility, no cap π-iniβ starts INI mode, which is what you use to dump formats π§ you can typeset in INI mode too, but no format is preloaded, so you might have to do basic setup like setting catcodes yourself-interaction modeβ sets the interaction mode. The choices arebatchmode,nonstopmode,scrollmode, anderrorstopmode. They mean the same thing as the matching\commandsπ-jobname nameβ usesnameas the job name, instead of pulling it from the input file name π-kpathsea-debug bitmaskβ sets the path-searching debug flags using the bitmask. Full details are in the Kpathsea manual π-ltxβ turns on the LaTeX extensions. Only works with-ini. Seelatex(1)π-mfmode modeβ usesmodeas the Metafont mode when HiTeX generates fonts that are missing. Seemf(1)for the tea β-mktex fmtβ enablesmktexfmt, wherefmthas to betex,tfm,fmt, orpkπ-no-mktex fmtβ disablesmktexfmt, wherefmthas to betex,tfm,fmt, orpkπ ββοΈ-output-directory directoryβ writes output files intodirectoryinstead of the current one. Input files get looked up indirectoryfirst, then along the normal search path π¦-parse-first-lineβ if the first line of the main input file starts with%&, HiTeX parses it to look for a dump name β¨-no-parse-first-lineβ turns off parsing of the first line of the main input file π-progname nameβ pretends to be the programname. This changes both the format that gets used and the search paths π-resolution numberβ when Metafont is making missing pk fonts, it uses a resolution ofnumberDPI. Seemf(1)πΈ-versionβ prints the version info and exits π
π ENVIRONMENT π
for the exact deets on how the environment variables get used, check the Kpathsea library docs (like the Path specifications node). You can also use the kpsewhich utility to look up what the variables are set to π
β οΈ caveat, bestie: in most HiTeX formats, you can't use~in a file name you hand straight to HiTeX. That's because~is an active character in TeX, so it gets expanded instead of being treated as part of the file name. Other programs, like Metafont, don't have this problem π
TEXMFOUTPUTβ normally HiTeX puts its output files in the current directory. If an output file can't be opened there, it tries the directory set inTEXMFOUTPUTinstead. There's no default value for this one. For example, if you runhitex paper, the current directory isn't writable, andTEXMFOUTPUTis/tmp, HiTeX tries to create/tmp/paper.log(and/tmp/paper.hnt, if any output gets produced).TEXMFOUTPUTis also checked for input files, since TeX often makes files it needs to read later. For input, no suffixes like".tex"get added by default, so the input name is checked exactly as you typed it π«ΆTEXINPUTSβ the search path for\inputand\openinfiles. It normally starts with".", so your own files get found before the system ones. An empty path component gets replaced with the paths from thetexmf.cnffile. For example, setTEXINPUTSto".:/home/user/tex:"to add the current directory and"/home/user/tex"in front of the standard search path πTEXFORMATSβ the search path for format files π§TFMFONTSβ the search path for font metric (.tfm) files πSOURCE_DATE_EPOCHβ if this is set, its value (in epoch-seconds) gets used for the creation date and as the reference moment for LaTeX's time-related primitives. Super useful for reproducible builds πFORCE_SOURCE_DATEβ if set to"1", the time-related TeX primitives (\year,\month,\day,\time) also get initialized fromSOURCE_DATE_EPOCH. The page warns this isn't recommended if there's any viable alternative π
Many, many more environment variables get consulted for path searching. Check the Kpathsea manual for those π
π FILES π
the locations of these files differ from system to system, so use the kpsewhich utility to track them down π
*.tfmβ metric files for HiTeX's fonts π¦*.fmtβ predigested HiTeX format files π§*.pk *.pfbβ font files used by HiTeX πΈ
π NOTES π
this manual page isn't meant to be exhaustive, so don't panic if something's missing π the full HiTeX user manual has the complete docs. More info lives in the Kpathsea library manual, and in HINT: The file format, which you can get as a book or electronically from the HINT project home page at https://hint.userweb.mwn.de π
π BUGS π
π known issues: this version of HiTeX doesn't correctly handle glues and kerns whose width depends on\hsizeor\vsize. Similarly, when the layout of table entries or math formulas depends on\hsizeor\vsize, the output might come out distorted.
π· AVAILABILITY π·
HiTeX should compile on a huge range of machine architectures and operating systems β¨ It's also part of the TeX Live distribution π
The HiTeX home page is at https://hint.userweb.mwn.de. There you'll find extra software (most importantly viewers for HINT files) and more info π¦
π SEE ALSO π
histretch(1), hishrink(1), latex(1), tex(1), kpsewhich(1),
π©βπ» AUTHORS π©βπ»
the primary author of HiTeX is Martin Ruckert, with the eTeX extensions by Peter Breitenlohner, the LaTeX extensions by Thierry Laronde, and the kpathsearch library by Karl Berry π
TeX was designed by Donald E. Knuth, who implemented it using his Web system for Pascal programs π«Ά
Many, many more people contributed to the typesetting system now known as TeX, like, way too many to name here π
that's the whole page, bestie π HITEX(1), version 1.0, last updated 11 November 2021 πβ¨
π¦ where this page comes from
- arch rolling: texlive-doc 2026.1-1 Β· GPL
- debian bookworm: texlive-binaries 2022.20220321.62855-5.1+deb12u2
- debian trixie: texlive-binaries 2024.20240313.70630+ds-6 Β· TeX-Live
- fedora 43: texlive-hitex 11:svn65883-93.fc43 Β· MIT
- fedora 43: texlive-hitex 11:svn65883-95.fc43.1 Β· MIT
- fedora 44: texlive-hitex 12:svn77830-105.fc44 Β· MIT
- fedora 44: texlive-hitex 12:svn77830-111.fc44 Β· MIT
- opensuse-leap 16.0: texlive-hitex-doc 2025.221.svn74030-160000.3.1 Β· LPPL-1.0
- ubuntu noble: texlive-binaries 2023.20230311.66589-9build3 Β· TeX-Live
- ubuntu questing: texlive-binaries 2024.20240313.70630+ds-6ubuntu2 Β· TeX-Live
- π girlified by anthropic/claude-haiku-5.5 on : a language model's rewrite of the original, under its terms