dwww Home | Manual pages | Find package

LUATEX(1)                   General Commands Manual                   LUATEX(1)

NAME
       luatex,  dviluatex,  luahbtex,  luajittex, texlua, texluac - An extended
       version of TeX using Lua as an embedded scripting language

SYNOPSIS
       luatex [--lua=FILE] [OPTION]...  [TEXNAME[.tex]] [COMMANDS]
       luatex [--lua=FILE] [OPTION]...  \FIRST-LINE
       luatex [--lua=FILE] [OPTION]...  &FMT [ARGS]

DESCRIPTION
       Run the luaTeX typesetter on TEXNAME, usually creating TEXNAME.pdf.  Any
       remaining COMMANDS are processed as luaTeX input, after TEXNAME is read.

       Alternatively, if the first non-option argument begins with a backslash,
       interpret all non-option arguments as a line of luaTeX input.

       Alternatively, if the first non-option argument begins  with  a  &,  the
       next word is taken as the FMT to read, overriding all else.  Any remain-
       ing arguments are processed as above.

       If no arguments or options are specified, prompt for input.

       If  called as texlua it acts as a Lua interpreter.  If called as texluac
       it acts as a Lua bytecode compiler.

       LuaTeX began as an extended version of pdfTeX with Unicode and  OpenType
       font  support,  embedded Lua scripting language, the e-TeX and Omega ex-
       tensions, as well as an integrated MetaPost engine, that can create  PDF
       files  as  well  as  DVI  files.  For more information about luatex, see
       http://www.luatex.org; and you can read the LuaTeX manual using the tex-
       doc utility (texdoc luatex).

       All LuaTeX text input and output is considered to be Unicode  text,  al-
       though various filters make it possible to support any encoding.

       In  DVI  mode,  LuaTeX can be used as a complete replacement for the TeX
       engine.

       In PDF mode, LuaTeX can natively handle the PDF,  JPG,  JBIG2,  and  PNG
       graphics  formats.   LuaTeX  cannot  include  PostScript or Encapsulated
       PostScript (EPS) graphics files; first convert them  to  PDF  using  ep-
       stopdf(1).

       The luajittex variant includes the Lua just-in-time compiler.

       The  luahbtex variant can use the HarfBuzz engine for glyph shaping, in-
       stead of LuaTeX's built-in shaper.

OPTIONS
       When the LuaTeX executable starts, it looks for the  --lua  command-line
       option.  If there is no --lua option, the command line is interpreted in
       a similar fashion as in traditional pdfTeX and Aleph.  But if the option
       is  present, LuaTeX will enter an alternative mode of command-line pars-
       ing in comparison to the standard web2c programs.  The presence of --lua
       makes most of other options unreliable, because the  lua  initialization
       file can disable kpathsea and/or hook functions into various callbacks.

       --lua=FILE
              The lua initialization file.

       The following two options alter the executable behaviour:

       --luaonly
              Start  LuaTeX  as  a  Lua interpreter.  In this mode, it will set
              Lua's arg[0] to the found script name, pushing preceding  options
              in  negative values and the rest of the command line in the posi-
              tive values, just like the Lua interpreter.  LuaTeX will exit im-
              mediately after executing the specified Lua script.

       --luaconly
              Start LuaTeX as a Lua byte compiler.  In this mode, LuaTeX is ex-
              actly like luac from the standalone Lua distribution, except that
              it does not have the -l switch, and that it accepts (but ignores)
              the --luaconly switch.

       Then the regular web2c options:

       --debug-format
              Debug format loading.

       --draftmode
              Sets \pdfdraftmode so luaTeX doesn't write a PDF and doesn't read
              any included images, thus speeding up execution.

       --enable-write18
              Synonym for --shell-escape.

       --disable-write18
              Synonym for --no-shell-escape.

       --shell-escape
              Enable the \write18{command} construct, and Lua functions os.exe-
              cute(), os.exec(), os.spawn(), and io.popen().  The  command  can
              be  any shell command.  This construct is normally disallowed for
              security reasons.

       --no-shell-escape
              Disable the \write18{command} construct and the other  Lua  func-
              tions, even if it is enabled in the texmf.cnf file.

       --shell-restricted
              Enable  restricted  version of \write18, os.execute(), os.exec(),
              os.spawn(), and io.popen(), only  commands  listed  in  texmf.cnf
              file are allowed.

       --file-line-error
              Print error messages in the form file:line:error which is similar
              to the way many compilers format them.

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

       --fmt=FORMAT
              Use  FORMAT  as the name of the format to be used, instead of the
              name by which luaTeX was called or a %& line.

       --help Print help message and exit.

       --ini  Start in INI mode, which is used to dump formats.  The  INI  mode
              can  be used for typesetting, but no format is preloaded, and ba-
              sic initializations like setting catcodes may be required.

       --interaction=MODE
              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 corresponding \commands.

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

       --kpathsea-debug=BITMASK
              Sets path searching debugging flags  according  to  the  BITMASK.
              See the Kpathsea manual for details.

       --mktex=FMT
              Enable mktexFMT generation, where FMT must be either tex or tfm.

       --nosocket
              Disable the luasocket (network) library.

       --output-comment=STRING
              In  DVI  mode, use STRING for the DVI file comment instead of the
              date.  This option is ignored inPDF mode.

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

       --output-format=FORMAT
              Set  the  output  format mode, where FORMAT must be either pdf or
              dvi.  This also influences the set of graphics formats understood
              by luaTeX.

       --progname=NAME
              Pretend to be program NAME (only for kpathsea).

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

       --safer
              Disable  some  Lua  commands that can easily be abused by a mali-
              cious document.

       --synctex=NUMBER
              Enable/disable SyncTeX extension.

       --version
              Print version information and exit.

       --credits
              Print credits and version details.

       The following options are ignored:

       --8bit, --etex, --parse-first-line, --no-parse-first-line
              These are always on.

       --default-translate-file=TCXNAME, --translate-file=TCXNAME
              These are always off.

SEE ALSO
       pdftex(1), etex(1), aleph(1), lua(1).

AUTHORS
       The primary authors of LuaTeX are Taco Hoekwater, Hartmut  Henkel,  Hans
       Hagen,  and  Luigi Scarso, with help from Martin Schröder, Karel Skoupy,
       and Han The Thanh.

       TeX was designed by Donald E. Knuth, who implemented it  using  his  Web
       system for Pascal programs.  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  system
       (web2c), originally written by Tomas Rokicki and Tim Morgan.

       The LuaTeX home page is http://luatex.org.

Web2C 2025/dev                  17 November 2019                      LUATEX(1)

Generated by dwww version 1.16 on Tue Dec 16 06:17:10 CET 2025.