tex — TeX
tex
[option
...] [[file
] | [\command
...]]
TeX formats the interspersed text and commands contained in the named files and outputs a typesetter independent file (called DVI, which is short for DeVice Independent). TeX's capabilities and language are described in The TeXbook. TeX is normally used with a large body of precompiled macros, and there are several specific formatting systems, such as LaTeX, which require the support of several macro files.
TeX looks at its command-line to see what name it was called
under. Both initex and virtex
are linked to the tex executable. When called as
initex (or when the -initialize
option is given) it can be used to precompile macros into a
.fmt
file. When called as
virtex it will use the plain format. When called
under any other name, TeX will use that name as the name of the
format to use. For example, when called as tex the
tex format is used, which is identical to the plain format. The
commands defined by the plain format are documented in The
TeXbook. Other formats that are often available include
latex and amstex.
The commands given on the command-line to the TeX program are
passed to it as the first input line. (But it is often easier to type
extended arguments as the first input line, since shells tend to
gobble up or misinterpret TeX's favorite symbols, like backslashes,
unless you quote them.) As described in The
TeXbook, that first line should begin with a file name,
a \controlsequence, or a
&formatname
.
The normal usage is to say
tex paper
to start processing paper.tex
. The name
“paper” will be the “job name”, and is used
in forming output file names. If TeX doesn't get a file name in the
first line, the job name is texput
. When looking
for a file, TeX looks for the name with and without the default
extension (.tex
) appended, unless the name
already contains that extension. If paper is the
“job name”, a log of error messages, with rather more
detail than normally appears on the screen, will appear in
paper.log
, and the output file will be in
paper.dvi
.
TeX will look in the first line of the file
paper.tex
to see if it begins with the magic
sequence %&
. If the first line begins with
%&format --translate-file tcxname
, then
TeX will use the named format and transation table
tcxname
to process the source file. Either
the format name or the --translate-file
specification
may be omitted, but not both.
The e
response to TeX's error prompt
causes the default editor to start up at the current line of the
current file. The configuration value Editor
can be used to change the editor
used. It may contain a string with %f
indicating
where the file name goes and %l
indicating where
the decimal line number (if any) goes.
A convenient file is null.tex
, containing
nothing. When TeX can't find a file it thinks you want to input, it
keeps asking you for another file name; responding
null
gets you out of the loop if you don't want
to input anything. You can also type your EOF
character (usually Control-Z).
--alias=app
Pretend to be app
, i.e.,
set program (and memory dump) name to app
.
This may affect the search paths and other values used. Using this
option is equivalent to copying the executable file to
and invoking
app
.exe
.app
.exe
--aux-directory=dir
Set the directory dir
to which
auxiliary files are written. Also look for input files in dir
first, before along the normal search path.
--buf-size=n
Set the the maximum number of characters simultaneously present in current lines of open files and in control sequences between \csname and \endcsname.
--c-style-errors
Change the way, error messages are printed. The alternate style looks like error messages from many compilers and is easier to parse for some editors. This option implies \scrollmode.
--disable-installer
Disable automatic installation of missing packages. Specifying this option overwrites the global configuration setting in MiKTeX Options (see the section called “Automatic Package Installation”).
--disable-pipes
--disable-write18
Disable the
\write18{command
}
construct.
--dont-parse-first-line
Disable checking whether the first line of the main input file starts with %&.
--enable-installer
Enable automatic installation of missing packages. Specifying this option overwrites the global configuration setting in MiKTeX Options (see the section called “Automatic Package Installation”).
--enable-pipes
--enable-write18
Enable the
\write18{command
}
construct. It is disabled by default to avoid security problems.
When enabled, the command (which undergoes the usual
TeX expansions) is passed to the command interpreter.
The output of the command is not diverted anywhere, so it will not appear
in the log file. The command execution either happens at
\output time or right away, according to the
absence or presence of the \immediate
prefix.
--error-line=n
--font-max=n
--font-mem-size=n
--half-error-line=n
Set the width of first lines of contexts in terminal error messages.
--halt-on-error
--help
Give help and exit.
--include-directory=dir
--initialize
--interaction=mode
Set the interaction mode.
Must be one of batchmode
,
nonstopmode
,
scrollmode
and
errorstopmode
.
The meaning of these modes is the same as
the corresponding commands.
--job-name=name
Set the name of the job (\jobname. This has an affect on the output file names.
--job-time=file
Set the time-stamp of all output files equal to
file
's time-stamp.
--max-in-open=n
Set the maximum number of input files and error insertions that can be going on simultaneously.
--max-print-line=n
Set the
width of longest text lines output; should be at least
60
.
--max-strings=n
--mem-bot=n
Set the
the smallest index in the
internal memory array dumped by the INI
variant of the compiler; must not
be less than mem_min
.
--mem-max=n
--mem-min=n
Set the
the smallest index in the
internal memory array; must be
0
or more; must be equal to
mem_bot
in the INI variant
of the compiler, otherwise less than or equal to
mem_bot
}.
--mem-top=n
Set the largest index in the
internal memory array dumped by the INI variant
of the compiler; must be substantially
larger than 0
and not greater than
mem_max
.
--mltex
Enable MLTeX extensions such as \charsubdef.
--nest-size=n
Set the maximum number of semantic levels simultaneously active.
--no-c-style-errors
--output-directory=dir
Create output files in dir
.
This implies --include-directory=
.dir
--param-size=n
Set the the maximum number of simultaneous macro parameters.
--parse-first-line
Check whether the first line of the main input file starts with %&, and parse if it does. This can be used to specify extra command-line options.
--pool-size=n
Set the
maximum number of
characters in strings, including all error messages and
help texts, and the names of all fonts and control
sequences; must exceed
string_vacancies
by the total length
of the program's own strings, which is currently about
30000
.
--quiet
Suppress all output, except errors.
--recorder
Enable the file name recorder.
This leaves a trace of the files opened for input and output in a file
with the extension .fls
.
--record-package-usages=file
--save-size=n
Set the the amount of space for saving values outside of current group.
--src-specials
Embed source file information (source specials) in the DVI file.
--stack-size=n
--string-vacancies=n
Set the minimum number of characters that should be available for the user's control sequences and font names, after the compiler's own error messages are stored.
--tcx=name
Process the TCX table
name
.
--terminal=oem
--time-statistics
--trace[=tracestreams
]
Enable trace messages.
The tracestreams
argument, if speciefied, is a
comma-separated list of trace
stream names (Chapter 9, Trace Streams).
--trie-op-size=n
Set the amount of space for “opcodes” in the hyphenation patterns.
--trie-size=n
Set the amount of space for hyphenation patterns; should be larger for the INI variant of the compiler.
--undump=name
Use name
as the name of the format to
be used, instead of the name by which the program was called or a
%&
line.
--version
Show version information and exit.