ALEPH(1)

πŸ¦‹ aleph πŸ¦‹

Okay bestie, this is the aleph page from the General Commands Manual (section 1) πŸ’– It's extended Unicode TeX, and it's giving serious multilingual main character energy ✨


✨ NAME ✨

aleph - extended Unicode TeX πŸ’…

πŸ’– SYNOPSIS πŸ’–

aleph [options] [&format] [file|\commands]

🌸 DESCRIPTION 🌸

Okay so aleph runs the Aleph typesetter on file, and it usually makes a file.dvi for you 🧚 If your file argument has no extension, Aleph tacks ".tex" onto the end for you.

Instead of a filename, you can give it a set of Aleph commands. The first one has to start with a backslash \ πŸ”₯ If you use an &format argument, Aleph switches to a different set of precompiled commands, which live in format.fmt. Honestly though, it's usually better to just use the -fmt format option instead πŸ’…

Aleph is a version of the TeX program that's been glowed up for multilingual typesetting 🌈 It uses Unicode and has extra primitives for (among other things) bidirectional typesetting ✨

Aleph's command line options are basically the same vibe as TeX's 🫢

😭 Aleph is no longer being actively developed. For current activity, see LuaTeX.

πŸŽ€ OPTIONS πŸŽ€

Run aleph --help to see the complete list of options. It's not exhaustive though, so don't panic if something's missing πŸ™ˆ

  • -cnf-line string β€” parse string as a texmf.cnf configuration line. Check the Kpathsea manual for the deets ✨
  • --fmt format β€” use format as the format name, instead of the name Aleph was called by or a %& line 🌸
  • --halt-on-error β€” exit with an error code when an error pops up during processing πŸ’€
  • --help β€” print the help message and exit 🧚
  • --ini β€” be 'initial' Aleph for dumping formats. This is implicitly true if the program gets called as inialeph πŸ‘‘
  • --interaction mode β€” sets the interaction mode. The mode can be batchmode, nonstopmode, scrollmode, or errorstopmode, and each one means the same thing as its matching \commands 🫢
  • --ipc β€” sends DVI output to a socket as well as the usual output file. Whether this option is available is up to the installer πŸ¦‹
  • --ipc-start β€” same as --ipc, but it also starts the server at the other end. Availability is also the installer's call πŸ¦‹
  • --kpathsea-debug bitmask β€” sets the path searching debugging flags according to the bitmask. See the Kpathsea manual for details πŸ”
  • --maketex fmt β€” enables mktexfmt, where fmt must be tex or tfm πŸ› οΈ
  • --no-maketex fmt β€” disables mktexfmt, where fmt must be tex or tfm πŸ™…
  • --output-comment string β€” uses string for the DVI file comment instead of the date πŸ“
  • --output-directory directory β€” writes output files in directory instead of the current directory. Input files get looked up in directory first, then along the normal search path πŸ“‚
  • --parse-first-line β€” if the first line of the main input file begins with %&, Aleph parses it to look for a dump name πŸ”Ž
  • --progname name β€” pretends to be program name. This affects both the format used and the search paths 🎭
  • --recorder β€” enables the filename recorder. It leaves a trail of the files opened for input and output in a file with the extension .ofl. (This option is always on, bestie πŸ’œ)
  • --shell-escape β€” enables the \write18{command} construct. The command can be any Bourne shell command. By default, this construct is enabled in a restricted mode, for security reasons πŸ”
  • --version β€” prints version info and exits πŸŽ€

🌈 ENVIRONMENT 🌈

For the precise details on how the environment variables get used, check the Kpathsearch library documentation (the Path specifications node). The kpsewhich utility can query the values of the variables πŸ”

⚠️ One caveat: in most Aleph formats, you cannot use ~ in a filename you give directly to Aleph. That's because ~ is an active character, so it gets expanded instead of being taken as part of the filename. Other programs, such as Metafont, don't have this problem πŸ™ˆ

🧚 TEXMFOUTPUT

Normally, Aleph puts its output files in the current directory. If any output file can't be opened there, it tries the directory in the TEXMFOUTPUT environment variable. There's no default value for that variable 🫠

For example, say you run tex paper, the current directory isn't writable, and TEXMFOUTPUT has the value /tmp. Aleph attempts to create /tmp/paper.log (and /tmp/paper.dvi, if any output is produced) ✨

TEXMFOUTPUT is also checked for input files, since TeX often generates files that need to be read later. For input, no suffixes (such as ".tex") get added by default. The input name is simply checked as given πŸ“„

🌸 TEXINPUTS

This is the search path for \input and \openin files. It should start with ., so user files get found before system files πŸ’– An empty path component gets replaced with the paths defined in the texmf.cnf file.

For example, set TEXINPUTS to ".:/home/user/tex:" to prepend the current directory and /home/user/tex to the standard search path πŸ¦‹

πŸ’… TEXEDIT

This is the command template for switching to an editor. The default, usually vi, gets set when Aleph is compiled πŸ“


🫢 NOTES 🫢

This manual page isn't meant to be exhaustive. The complete docs for this version of Aleph live in the info manual Web2C: A TeX implementation. See http://tug/org/web2c πŸ“š


πŸ”₯ BUGS πŸ”₯

This version of Aleph implements a bunch of optional extensions. Lowkey, many of them clash with the definition of Aleph to a greater or lesser extent. When those extensions are enabled, the banner Aleph prints when it starts changes from Aleph to Alephk πŸ‘€

πŸ’€ This version also fails to trap arithmetic overflow when dimensions are added or subtracted. Cases where this happens are rare, but when it does, the generated DVI file will be invalid.

πŸ¦‹ SEE ALSO πŸ¦‹

tex(1), mf(1) πŸ’œ

πŸ‘‘ AUTHORS πŸ‘‘

The primary authors of Aleph are John Plaice and Yannis Haralambous 🫢


Okay that's the whole page, bestie! πŸ’– Source: Web2C 2025, dated 24 August 2023. Stay iconic and go typeset something gorgeous πŸ’…βœ¨

πŸ“¦ where this page comes from