*[[LuaJITTeX:https://foundry.supelec.fr/projects/luajittex/]] [#y53144a3]

&color(White,#5F2F2F){  ''◆目次◆''  };&br;

#contents

*LuaJITTeX とは [#u3c93cbf]

LuaJITTeX は [[LuaTeX]] で使用されている [[Lua]] を [[LuaJIT:http://luajit.org/]] に置き換えたものです.~

-[[FusionForge: LuaJITTeX: Project Home:https://foundry.supelec.fr/projects/luajittex/]]

**License [#a9b7759e]

[[GPLv2:https://foundry.supelec.fr/scm/viewvc.php/trunk/COPYING?view=markup&root=luajittex]]

**ChangeLog [#s3ef1408]
-[[FusionForge: LuaJITTeX: SCM Repository:https://foundry.supelec.fr/scm/viewvc.php/trunk/?root=luajittex]]
--[[log:https://foundry.supelec.fr/scm/viewvc.php/trunk/?root=luajittex&view=log]]

*インストール [#e0acc4f5]

W32TeX に含まれています.~
W32TeX の LuaJITTeX は [[LuaTeX-ja]] が使用可能です.~

Linux の場合は以下のサイトからバイナリが入手出来ます.~

-http://standalone.contextgarden.net/current/bin/luajittex/
-http://svn.contextgarden.net/suite-bin/tex/

 $ wget http://standalone.contextgarden.net/current/bin/luajittex/linux-64/bin/luajittex
 $ chmod +x luajittex
 $ sudo cp luajittex /usr/bin
 $ sudo ln -s /usr/bin/luajittex /usr/bin/luajitlatex
 $ luajitlatex --fmt=lualatex.fmt test.tex

などとすればとりあえず動作するようです.

*使い方 [#vad7d54e]

LuaJITTeX は [[FFI library:http://luajit.org/ext_ffi.html]] を使って簡単に C の関数を呼び出すことができます.~

**Windows [#b1c497b6]
LuaJITTeX は MessageBox などの Windows API を呼び出すことが可能です.

----
 \documentclass{article}
 \begin{document}
 \directlua{
   local ffi = require("ffi")
   ffi.cdef[[
   int MessageBoxA(void* window, const char* text, const char* caption, int type);
   ]]
   ffi.C.MessageBoxA(nil, "Happy LuaJITLaTeXing!", "LuaJITTeX", 0)
 }
 \end{document}
----

LuaJITLaTeX を実行すると以下のような MessageBox が表示されます.

----
&color(Black,#ACDEFE){%%% ''LuaJITTeX''        &color(Black,#CC3333){[  &color(White){''✕''};  ]}; %%%};&br;

   Happy LuaJITLaTeXing!

&color(Black,#F0F0F0){          &color(Black,#EEEEEE){[    OK    ]}; };
----

Windows PowerShell またはコマンド プロンプト (標準出力) に出力したい場合は printf を使用します.

----
 \documentclass{article}
 \usepackage{luacode}
 \begin{document}
 \begin{luacode*}
   local ffi = require("ffi")
   ffi.cdef[[
   int printf(const char* format, ...);
   ]]
   local msvcrt = ffi.load(ffi.os == "Windows" and "msvcrt")
   msvcrt.printf("%s %s\n", "Happy", "LuaJITLaTeXing!")
 \end{luacode*}
 \end{document}
----

**Linux [#v08e3a2f]

コンソール (標準出力) に出力したい場合は printf を使用します.
----
 \documentclass{article}
 \usepackage{luacode}
 \begin{document}
 \begin{luacode*}
   local ffi = require("ffi")
   ffi.cdef[[
   int printf(const char* format, ...);
   ]]
   local libc = ffi.load(ffi.os == "Linux" and "libc")
   libc.printf("%s %s\n", "Happy", "LuaJITLaTeXing!")
 \end{luacode*}
 \end{document}
----

*関連リンク [#s999db35]
-[[Newest 'luajittex' Questions - TeX - LaTeX:http://tex.stackexchange.com/questions/tagged/luajittex]]
-[[QA: luajittex:http://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=911]]
-https://code.launchpad.net/~reviczky/luatex/debian-luajittex
-https://code.launchpad.net/~reviczky/+archive/luatex-daily
-https://code.launchpad.net/~reviczky/+recipe/luajittex-daily