1LUATEX(1)                   General Commands Manual                  LUATEX(1)
2
3
4

NAME

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

SYNOPSIS

10       luatex [--lua=FILE] [OPTION]...  [TEXNAME[.tex]] [COMMANDS]
11       luatex [--lua=FILE] [OPTION]...  \FIRST-LINE
12       luatex [--lua=FILE] [OPTION]...  &FMT [ARGS]
13

DESCRIPTION

15       Run the luaTeX typesetter on  TEXNAME,  usually  creating  TEXNAME.pdf.
16       Any  remaining COMMANDS are processed as luaTeX input, after TEXNAME is
17       read.
18
19       Alternatively, if the first non-option argument  begins  with  a  back‐
20       slash, interpret all non-option arguments as a line of luaTeX input.
21
22       Alternatively,  if  the  first non-option argument begins with a &, the
23       next word is taken as the FMT to read, overriding all else. Any remain‐
24       ing arguments are processed as above.
25
26       If no arguments or options are specified, prompt for input.
27
28       If called as texlua it acts as a Lua interpreter.  If called as texluac
29       it acts as a Lua bytecode compiler.
30
31       LuaTeX began as an extended version of pdfTeX with Unicode and OpenType
32       font  support, embedded Lua scripting language, the e-TeX and Omega ex‐
33       tensions, as well as an integrated MetaPost engine, that can create PDF
34       files  as  well  as  DVI files.  For more information about luatex, see
35       http://www.luatex.org; and you can read the  LuaTeX  manual  using  the
36       texdoc utility (texdoc luatex).
37
38       All  LuaTeX text input and output is considered to be Unicode text, al‐
39       though various filters make it possible to support any encoding.
40
41       In DVI mode, LuaTeX can be used as a complete replacement for  the  TeX
42       engine.
43
44       In  PDF  mode,  LuaTeX can natively handle the PDF, JPG, JBIG2, and PNG
45       graphics formats.  LuaTeX cannot  include  PostScript  or  Encapsulated
46       PostScript (EPS) graphics files; first convert them to PDF using epsto‐
47       pdf (1).
48
49       The luajittex variant includes the Lua just-in-time compiler.
50
51       The luahbtex variant can use the HarfBuzz engine for glyph shaping, in‐
52       stead of LuaTeX's built-in shaper.
53
54

OPTIONS

56       When  the LuaTeX executable starts, it looks for the --lua command-line
57       option.  If there is no --lua option, the command line  is  interpreted
58       in a similar fashion as in traditional pdfTeX and Aleph. But if the op‐
59       tion is present, LuaTeX will enter an alternative mode of  command-line
60       parsing  in  comparison to the standard web2c programs. The presence of
61       --lua makes most of other options unreliable, because the lua  initial‐
62       ization  file  can  disable kpathsea and/or hook functions into various
63       callbacks.
64
65       --lua=FILE
66              The lua initialization file.
67
68       The following two options alter the executable behaviour:
69
70       --luaonly
71              Start LuaTeX as a Lua interpreter. In this  mode,  it  will  set
72              Lua's arg[0] to the found script name, pushing preceding options
73              in negative values and the rest of the command line in the posi‐
74              tive values, just like the Lua interpreter. LuaTeX will exit im‐
75              mediately after executing the specified Lua script.
76
77       --luaconly
78              Start LuaTeX as a Lua byte compiler. In this mode, LuaTeX is ex‐
79              actly  like  luac  from  the standalone Lua distribution, except
80              that it does not have the -l switch, and that  it  accepts  (but
81              ignores) the --luaconly switch.
82
83       Then the regular web2c options:
84
85       --debug-format
86              Debug format loading.
87
88       --draftmode
89              Sets  \pdfdraftmode  so  luaTeX  doesn't write a PDF and doesn't
90              read any included images, thus speeding up execution.
91
92       --enable-write18
93              Synonym for --shell-escape.
94
95       --disable-write18
96              Synonym for --no-shell-escape.
97
98       --shell-escape
99              Enable the \write18{command} construct, and Lua functions os.ex‐
100              ecute(), os.exec(), os.spawn(), and io.popen().  The command can
101              be any shell command.  This construct is normally disallowed for
102              security reasons.
103
104       --no-shell-escape
105              Disable  the \write18{command} construct and the other Lua func‐
106              tions, even if it is enabled in the texmf.cnf file.
107
108       --shell-restricted
109              Enable restricted version of \write18, os.execute(),  os.exec(),
110              os.spawn(),  and  io.popen(),  only commands listed in texmf.cnf
111              file are allowed.
112
113       --file-line-error
114              Print error messages in the form file:line:error which is  simi‐
115              lar to the way many compilers format them.
116
117       --no-file-line-error
118              Disable printing error messages in the file:line:error style.
119
120       --fmt=FORMAT
121              Use  FORMAT as the name of the format to be used, instead of the
122              name by which luaTeX was called or a %& line.
123
124       --help Print help message and exit.
125
126       --ini  Start in INI mode, which is used to dump formats.  The INI  mode
127              can be used for typesetting, but no format is preloaded, and ba‐
128              sic initializations like setting catcodes may be required.
129
130       --interaction=MODE
131              Sets the interaction mode.  The MODE can  be  either  batchmode,
132              nonstopmode,  scrollmode,  and  errorstopmode.   The  meaning of
133              these modes is the same as that of the corresponding \commands.
134
135       --jobname=NAME
136              Use NAME for the job name, instead of deriving it from the  name
137              of the input file.
138
139       --kpathsea-debug=BITMASK
140              Sets  path  searching  debugging flags according to the BITMASK.
141              See the Kpathsea manual for details.
142
143       --mktex=FMT
144              Enable mktexFMT generation, where FMT must be either tex or tfm.
145
146       --nosocket
147              Disable the luasocket (network) library.
148
149
150       --output-comment=STRING
151              In DVI mode, use STRING for the DVI file comment instead of  the
152              date.  This option is ignored inPDF mode.
153
154       --output-directory=DIRECTORY
155              Write  output  files  in DIRECTORY instead of the current direc‐
156              tory.  Look up input files in DIRECTORY first,  then  along  the
157              normal search path.
158
159       --output-format=FORMAT
160              Set  the  output format mode, where FORMAT must be either pdf or
161              dvi.  This also influences the set of  graphics  formats  under‐
162              stood by luaTeX.
163
164       --progname=NAME
165              Pretend to be program NAME (only for kpathsea).
166
167       --recorder
168              Enable  the filename recorder.  This leaves a trace of the files
169              opened for input and output in a file with extension .fls.
170
171       --safer
172              Disable some Lua commands that can easily be abused by  a  mali‐
173              cious document.
174
175       --synctex=NUMBER
176              Enable/disable SyncTeX extension.
177
178       --version
179              Print version information and exit.
180
181       --credits
182              Print credits and version details.
183
184       The following options are ignored:
185
186       --8bit, --etex, --parse-first-line, --no-parse-first-line
187              These are always on.
188
189       --default-translate-file=TCXNAME, --translate-file=TCXNAME
190              These are always off.
191
192

SEE ALSO

194       pdftex(1), etex(1), aleph(1), lua(1).
195

AUTHORS

197       The  primary authors of LuaTeX are Taco Hoekwater, Hartmut Henkel, Hans
198       Hagen, and Luigi Scarso, with help from Martin Schröder, Karel  Skoupy,
199       and Han The Thanh.
200
201       TeX  was  designed by Donald E. Knuth, who implemented it using his Web
202       system for Pascal programs.  It was  ported  to  Unix  at  Stanford  by
203       Howard  Trickey,  and  at Cornell by Pavel Curtis.  The version now of‐
204       fered with the Unix TeX distribution is that generated by the Web to  C
205       system (web2c), originally written by Tomas Rokicki and Tim Morgan.
206
207       The LuaTeX home page is http://luatex.org.
208
209
210
211Web2C 2023                     17 November 2019                      LUATEX(1)
Impressum