# phpman > man > etex(1)

[ETEX(1)](https://www.chedong.com/phpMan.php/man/ETEX/1/markdown)                                General Commands Manual                               [ETEX(1)](https://www.chedong.com/phpMan.php/man/ETEX/1/markdown)



## NAME
       etex - extended (plain) TeX

## SYNOPSIS
       **etex** [_options_] [**&**_format_] [_file_|**\**_commands_]

## DESCRIPTION
       Run  the e-TeX typesetter on _file_, by default creating _file.dvi_.  If the file argument has no
       extension, ".tex" will be appended to it.  Instead of a filename, a set of e-TeX commands can
       be given, the first of which must start with a backslash.  With a **&**_format_ argument e-TeX uses
       a different set of precompiled commands, contained in _format_**.fmt**; it is usually better to use
       the **-fmt** _format_ option instead.

       e-TeX  is  the  first concrete result of an international research & development project, the
       NTS Project, which was established under the aegis of DANTE e.V. during 1992. The aims of the
       project  are  to  perpetuate  and develop the spirit and philosophy of TeX, whilst respecting
       Knuth's wish that TeX should remain frozen.

       e-TeX can be used in two different modes: in _compatibility_ _mode_ it is  supposed  to  be  com‐
       pletely  interchangable with standard TeX.  In _extended_ _mode_ several new primitives are added
       that facilitate (among other things) bidirectional typesetting.

       An extended mode format is generated by prefixing the name of the source file for the  format
       with an asterisk (*).

       e-TeX's  handling  of its command-line arguments is similar to that of the other TeX programs
       in the _web2c_ implementation.

## OPTIONS
       This version of e-TeX understands the following command line options.

### -fmt
              Use _format_ as the name of the format to be used, instead of the name  by  which  e-TeX
              was called or a _%&_ line.

### -enc -ini
              For documentation of the encTeX extensions see **<http://www.olsak.net/enctex.html>**.

### -etex -ini

### -file-line-error
              Print error messages in the form _file:line:error_ which is similar to the way many com‐
              pilers format them.

### -no-file-line-error
              Disable printing error messages in the _file:line:error_ style.

### -file-line-error-style
              This is the old name of the **-file-line-error** option.

### -halt-on-error
              Exit with an error code when an error is encountered during processing.

### -help

### -ini
              setting, but no format is preloaded, and basic initializations like  setting  catcodes
              may be required.

### -interaction
              Sets the interaction mode.  The mode can be either _batchmode_, _nonstopmode_, _scrollmode_,
              and _errorstopmode_.  The meaning of these modes is the same as that of the  correspond‐
              ing \commands.

### -ipc
              available is the choice of the installer.

### -ipc-start
              As **-ipc**, and starts the server at the other end  as  well.   Whether  this  option  is
              available is the choice of the installer.

### -jobname
              Use _name_ for the job name, instead of deriving it from the name of the input file.

### -kpathsea-debug
              Sets path searching debugging flags according to the bitmask.  See the _Kpathsea_ manual
              for details.

### -mktex
              Enable mktex_fmt_, where _fmt_ must be either _tex_ or _tfm_.

### -mltex -ini

### -no-mktex
              Disable mktex_fmt_, where _fmt_ must be either _tex_ or _tfm_.

### -output-comment
              Use _string_ for the _DVI_ file comment instead of the date.

### -output-directory
              Write output files in _directory_ instead of the current directory.  Look up input files
              in _directory_ first, the along the normal search path.

### -parse-first-line
              If  the  first  line of the main input file begins with _%&_ parse it to look for a dump
              name or a **-translate-file** option.

### -no-parse-first-line
              Disable parsing of the first line of the main input file.

### -progname
              Pretend to be program _name_.  This affects both the format used and the search paths.

### -recorder
              Enable the filename recorder.  This leaves a trace of the files opened for  input  and
              output in a file with extension _.fls_.

### -shell-escape
              Enable  the  **\write18{**_command_**}** construct.  The _command_ can be any shell command.  This
              construct is normally disallowed for security reasons.

### -no-shell-escape
              Disable the **\write18{**_command_**}** construct, even if it is enabled in the _texmf.cnf_ file.

### -src-specials
              Insert source specials into the _DVI_ file.

### -src-specials
              Insert source specials in certain placed of the _DVI_ file.  _where_ is a  comma-separated
              value list: _cr_, _display_, _hbox_, _math_, _par_, _parent_, or _vbox_.

### -translate-file
              Use  the  _tcxname_ translation table to set the mapping of input characters and re-map‐
              ping of output characters.

### -default-translate-file
              Like **-translate-file** except that a _%&_ line can overrule this setting.

### -version
              Print version information and exit.

## ENVIRONMENT
       See the Kpathsearch library documentation (the `Path specifications' node)  for  precise  de‐
       tails  of how the environment variables are used.  The **kpsewhich** utility can be used to query
       the values of the variables.

       One caveat: In most e-TeX formats, you cannot use ~ in a filename you give directly to e-TeX,
       because  ~  is an active character, and hence is expanded, not taken as part of the filename.
       Other programs, such as Metafont, do not have this problem.

       **TEXMFOUTPUT**
              Normally, e-TeX puts its output files in the current directory.  If  any  output  file
              cannot be opened there, it tries to open it in the directory specified in the environ‐
              ment variable TEXMFOUTPUT.  There is no default value for that variable.  For example,
              if  you  say  _etex_ _paper_ and the current directory is not writable, if TEXMFOUTPUT has
              the value _/tmp_, e-TeX attempts to create _/tmp/paper.log_ (and  _/tmp/paper.dvi_,  if  any
              output is produced.)  TEXMFOUTPUT is also checked for input files, as TeX often gener‐
              ates files that need to  be  subsequently  read;  for  input,  no  suffixes  (such  as
              ``.tex'') are added by default, the input name is simply checked as given.

       **TEXINPUTS**
              Search  path for _\input_ and _\openin_ files.  This should start with ``.'', so that user
              files are found before system files.  An empty path component will  be  replaced  with
              the   paths   defined   in   the  _texmf.cnf_  file.   For  example,  set  TEXINPUTS  to
              ".:/home/user/tex:" to prepend the current  direcory  and  ``/home/user/tex''  to  the
              standard search path.

       **TEXFORMATS**
              Search path for format files.

       **TEXPOOL**
              search path for **etex** internal strings.

       **TEXEDIT**
              Command  template for switching to editor.  The default, usually **vi**, is set when e-TeX
              is compiled.

       **TFMFONTS**
              Search path for font metric (_.tfm_) files.

## FILES
       The location of the files mentioned below varies from system to system.   Use  the  **kpsewhich**
       utility to find their locations.

       _etex.pool_
              Text file containing e-TeX's internal strings.

       _texfonts.map_
              Filename mapping definitions.

       _*.tfm_  Metric files for e-TeX's fonts.

       _*.fmt_  Predigested e-TeX format (.fmt) files.

## NOTES
       Starting with version 1.40, pdfTeX incorporates the e-TeX extensions, so in this installation
       eTeX may be just a symbolic link to pdfTeX.  See [**pdftex**(1)](https://www.chedong.com/phpMan.php/man/pdftex/1/markdown).  This manual page is not meant to
       be exhaustive.  The complete documentation for this version of e-TeX can be found in the info
       manual _Web2C:_ _A_ _TeX_ _implementation_.

## BUGS
       This version of e-TeX implements a number of optional extensions.  In fact, many of these ex‐
       tensions  conflict to a greater or lesser extent with the definition of e-TeX.  When such ex‐
       tensions are enabled, the banner printed when e-TeX starts is changed to print **e-TeXk** instead
       of **e-TeX**.

       This  version  of  e-TeX  fails to trap arithmetic overflow when dimensions are added or sub‐
       tracted.  Cases where this occurs are rare, but when it does the generated _DVI_ file  will  be
       invalid.

## SEE ALSO
       [**pdftex**(1)](https://www.chedong.com/phpMan.php/man/pdftex/1/markdown), [**tex**(1)](https://www.chedong.com/phpMan.php/man/tex/1/markdown), [**mf**(1)](https://www.chedong.com/phpMan.php/man/mf/1/markdown).

## AUTHORS
       e-TeX was developed by Peter Breitenlohner and the NTS team; Peter later continued its devel‐
       opment outside of the team.

       TeX was designed by Donald E. Knuth, who implemented it using his Web system for Pascal  pro‐
       grams.   It was ported to Unix at Stanford by Howard Trickey, and at Cornell by Pavel Curtis.
       The version now offered with the Unix TeX distribution is that generated by the Web to C sys‐
       tem (**web2c**), originally written by Tomas Rokicki and Tim Morgan.

       The encTeX extensions were written by Petr Olsak.



Web2C 2015                                  1 March 2011                                     [ETEX(1)](https://www.chedong.com/phpMan.php/man/ETEX/1/markdown)
