Any news about this man page, I assumed it was OK since there were no further complaints :) but now texlive2009 pretest is out and I see the old man page. Regards, Khaled On Sun, Apr 26, 2009 at 05:43:41PM +0300, Khaled Hosny wrote:
On Thu, Apr 23, 2009 at 09:18:29AM +0200, Taco Hoekwater wrote:
Khaled Hosny wrote:
The option list is a bit outdated in any case, I will try to document the actual, complete option list tomorrow.
That would be very helpful, since I'd to guess most of the time.
First, there are two switches that alter the executable behaviour:
--luaonly --luaconly
Then, there are ignored:
--8bit --etex --[no-]parse-first-line these are always on
--default-translate-file=TCXNAME --translate-file=TCXNAME these are always off
Actually interpreted switches and arguments:
--credits prints credits
--debug-format (normally undocumented) to debug format loading
--draftmode switch on draft mode (generates no output PDF)
--disable-write18 --enable-write18 --[no-]shell-escape --shell-restricted enable/disable/restrict \write18, os.execute(), os.exec(), os.spawn(), and io.popen().
--[no-]file-line-error[-style] disable/enable file:line:error style messages
--fmt=FMTNAME use FMTNAME instead of program name or a %& line
--halt-on-error stop processing at the first error
--help show help
--ini be iniluatex, for dumping formats
--interaction=STRING set interaction mode (STRING=batchmode/nonstopmode/ scrollmode/errorstopmode)
--jobname=STRING set the job name to STRING
--kpathsea-debug=NUMBER set path searching debugging flags according to the bits of NUMBER
--lua=FILE the lua initialization file
--[no-]mktex=FMT disable/enable mktexFMT generation (FMT=tex/tfm)
--nosocket disable the luasocket (network) library
--output-comment=STRING use STRING for DVI file comment instead of date
--output-directory=DIR use DIR as the directory to write files to
--output-format=FORMAT use FORMAT for job output; FORMAT is `dvi' or `pdf
--progname=STRING set program (and fmt) name to STRING
--recorder enable filename recorder
--safer disable easily exploitable lua commands
--synctex=NUMBER enable/disable synctex
--version show version and exit
The presence of --lua makes most of these switches unreliable, because the lua initialization file can disable kpathsea and/or hook functions into various callbacks. Here is the list of possibly affected switches/functionality, and why:
--[no-]file-line-error[-style] --halt-on-error --disable-write18 --enable-write18 --[no-]shell-escape --shell-restricted --fmt --jobname controllable via the texconfig table
--kpathsea-debug --[no-]mktex --output-directory --progname=S --jobname=S --recorder kpathsea can be switched off via the texconfig table
--interaction --output-format --synctex --draftmode can be reset via texconf.init function
--<unrecognized options> the lua initialization script can access the commandline, so it can interpret extra options if it so desires.
Here is an updated one, comments are welcomed.
Regards, Khaled
-- Khaled Hosny Arabic localiser and member of Arabeyes.org team Free font developer
LUATEX(1) Web2C @VERSION@ LUATEX(1)
NNAAMMEE luatex, texlua, texluac - An extended version of pdfTeX using Lua as an embedded scripting language
SSYYNNOOPPSSIISS lluuaatteexx [--lua=_F_I_L_E] [_O_P_T_I_O_N]... [_T_E_X_N_A_M_E[.tex]] [_C_O_M_M_A_N_D_S]
lluuaatteexx [--lua=_F_I_L_E] [_O_P_T_I_O_N]... _\_F_I_R_S_T_-_L_I_N_E
lluuaatteexx [--lua=_F_I_L_E] [_O_P_T_I_O_N]... &&_F_M_T _A_R_G_S
DDEESSCCRRIIPPTTIIOONN Run the luaTeX typesetter on _T_E_X_N_A_M_E, usually creating TEXNAME.pdf. Any remaining _C_O_M_M_A_N_D_S are processed as luaTeX input, after TEXNAME is read.
Alternatively, if the first non-option argument begins with a back‐ slash, 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 _F_M_T 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 tteexxlluuaa it acts as lua interpreter. If called as tteexxlluuaacc it acts as lua bytecode compiler.
LuaTeX is an extended version of pdfTeX with Unicode and OpenType font support, embeded LLuuaa scripting language, the ee--TTeeXX and OOmmeeggaa exten‐ sions, as well as integrated MetaPost engine, that can create _P_D_F files as well as _D_V_I files. For more information about luatex, see http://www.luatex.org, you can read LuaTeX manual using texdoc utility (tteexxddoocc lluuaatteexx).
All LuaTeX text input and output is considered to be Unicode text.
In _D_V_I mode, luaTeX can be used as a complete replacement for the TeX engine.
In _P_D_F mode, luaTeX can natively handle the _P_D_F, _J_P_G, _J_B_I_G_2, and _P_N_G graphics formats. luaTeX cannot include PostScript or Encapsulated PostScript (EPS) graphics files; first convert them to PDF using eeppssttooppddff (1).
OOPPTTIIOONNSS When the LuaTeX executable starts, it looks for the ----lluuaa commandline option. If there is no ----lluuaa option, the commandline 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 commandline pars‐ ing in comparison to the standard web2c programs. The presence of ----lluuaa makes most of other options unreliable, because the lua initialization file can disable kpathsea and/or hook functions into various callbacks.
----lluuaa==_F_I_L_E The lua initialization file.
The following two options alter the executable behaviour:
----lluuaaoonnllyy Start LuaTeX as a Lua interpreter. In this mode, it will set Lua’s _a_r_g_[_0_] to the found script name, pushing preceding options in negative values and the rest of the commandline in the posi‐ tive values, just like the Lua interpreter. LuaTeX will exit immediately after executing the specified Lua script.
----lluuaaccoonnllyy Start LuaTeX as a Lua byte compiler. In this mode, LuaTeX is exactly like lluuaacc from the standalone Lua distribution, except that it does not have the --ll switch, and that it accepts (but ignores) the ----lluuaaccoonnllyy switch.
Then the regular web2c options:
----ddeebbuugg--ffoorrmmaatt Debug format loading.
----ddrraaffttmmooddee Sets \pdfdraftmode so luaTeX doesn’t write a PDF and doesn’t read any included images, thus speeding up execution.
----eennaabbllee--wwrriittee1188 Synonym for ----sshheellll--eessccaappee.
----ddiissaabbllee--wwrriittee1188 Synonym for ----nnoo--sshheellll--eessccaappee.
----sshheellll--eessccaappee Enable the \\wwrriittee1188{{_c_o_m_m_a_n_d}} construct, and Lua functions ooss..eexxeeccuuttee(()), ooss..eexxeecc(()), ooss..ssppaawwnn(()), and iioo..ppooppeenn(()). The _c_o_m_‐ _m_a_n_d can be any shell command. This construct is normally dis‐ allowed for security reasons.
----nnoo--sshheellll--eessccaappee Disable the \\wwrriittee1188{{_c_o_m_m_a_n_d}} construct and the other Lua func‐ tions, even if it is enabled in the _t_e_x_m_f_._c_n_f file.
----sshheellll--rreessttrriicctteedd Enable restricted version of \\wwrriittee1188, ooss..eexxeeccuuttee(()), ooss..eexxeecc(()), ooss..ssppaawwnn(()), and iioo..ppooppeenn(()), only commands listed in _t_e_x_m_f_._c_n_f file are allowed.
----ffiillee--lliinnee--eerrrroorr Print error messages in the form _f_i_l_e_:_l_i_n_e_:_e_r_r_o_r which is simi‐ lar to the way many compilers format them.
----nnoo--ffiillee--lliinnee--eerrrroorr Disable printing error messages in the _f_i_l_e_:_l_i_n_e_:_e_r_r_o_r style.
----ffmmtt==_F_O_R_M_A_T Use _F_O_R_M_A_T as the name of the format to be used, instead of the name by which luaTeX was called or a _%_& line.
----hheellpp Print help message and exit.
----iinnii Start in _I_N_I mode, which is used to dump formats. The _I_N_I mode can be used for typesetting, but no format is preloaded, and basic initializations like setting catcodes may be required.
----iinntteerraaccttiioonn==_M_O_D_E Sets the interaction mode. The _M_O_D_E can be either _b_a_t_c_h_m_o_d_e, _n_o_n_s_t_o_p_m_o_d_e, _s_c_r_o_l_l_m_o_d_e, and _e_r_r_o_r_s_t_o_p_m_o_d_e. The meaning of these modes is the same as that of the corresponding \commands.
----jjoobbnnaammee==_N_A_M_E Use _N_A_M_E for the job name, instead of deriving it from the name of the input file.
----kkppaatthhsseeaa--ddeebbuugg==_B_I_T_M_A_S_K Sets path searching debugging flags according to the _B_I_T_M_A_S_K. See the _K_p_a_t_h_s_e_a manual for details.
----mmkktteexx==_F_M_T Enable mktex_F_M_T generation, where _F_M_T must be either _t_e_x or _t_f_m.
----nnoossoocckkeett Disable the luasocket (network) library.
----oouuttppuutt--ccoommmmeenntt==_S_T_R_I_N_G In _D_V_I mode, use _S_T_R_I_N_G for the _D_V_I file comment instead of the date. This option is ignored in_P_D_F mode.
----oouuttppuutt--ddiirreeccttoorryy==_D_I_R_E_C_T_O_R_Y Write output files in _D_I_R_E_C_T_O_R_Y instead of the current directory. Look up input files in _D_I_R_E_C_T_O_R_Y first, then along the normal search path.
----oouuttppuutt--ffoorrmmaatt==_F_O_R_M_A_T Set the output format mode, where _F_O_R_M_A_T must be either _p_d_f or _d_v_i. This also influences the set of graphics formats understood by luaTeX.
----pprrooggnnaammee==_N_A_M_E Pretend to be program _N_A_M_E (only for kpathsea).
----rreeccoorrddeerr Enable the filename recorder. This leaves a trace of the files opened for input and output in a file with exten‐ sion _._f_l_s.
----ssaaffeerr Disable some Lua commands that can easily be abused by a malicious document.
----ssyynncctteexx==_N_U_M_B_E_R Enable/disable SyncTeX extension.
----vveerrssiioonn Print version information and exit.
----ccrreeddiittss Print credits and version details.
The following options are ignored:
----88bbiitt, ----eetteexx, ----ppaarrssee--ffiirrsstt--lliinnee,"--no-parse-first-line" These are always on.
----ddeeffaauulltt--ttrraannssllaattee--ffiillee==_T_C_X_N_A_M_E,, ----ttrraannssllaattee--ffiillee== TCXNAME These are always off.
SSEEEE AALLSSOO ppddfftteexx(1), eetteexx(1), aalleepphh(1), oommeeggaa(1), lluuaa(1).
AAUUTTHHOORRSS The primary authors of LuaTeX are Hartmut Henkel, Taco Hoekwa‐ ter, and Hans Hagen, 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 gen‐ erated by the Web to C system (wweebb22cc), originally written by Tomas Rokicki and Tim Morgan.
luatex 0.40 2009.04.22 LUATEX(1)
-- Khaled Hosny Arabic localiser and member of Arabeyes.org team Free font developer