- 追加された行はこの色です。
- 削除された行はこの色です。
*[[LuaJITTeX:http://foundry.supelec.fr/gf/project/luajittex/]] [#y53144a3]
&color(White,#5F2F2F){ ''◆目次◆'' };&br;
#contents
*LuaJITTeX とは [#u3c93cbf]
LuaJITTeX は [[LuaTeX]] で使用されている [[Lua:http://www.lua.org/]] を [[LuaJIT:http://luajit.org/]] に置き換えたものです.~
-[[LuaJITTeX:http://foundry.supelec.fr/gf/project/luajittex/]]
*インストール [#e0acc4f5]
[2012/12/30] 以降の W32TeX に含まれています.~
W32TeX の LuaJITTeX は [[LuaTeX-ja]] が使用可能です.~
Linux の場合は以下のサイトからバイナリが入手出来ます.~
-http://standalone.contextgarden.net/current/bin/luajittex/
*使い方 [#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 ]}; };
----
コマンド プロンプト (標準出力) に出力したい場合は 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", "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", "Happy", "LuaJITLaTeXing!")
\end{luacode}
\end{document}
----
*関連リンク [#s999db35]
-[[QA: luajittex:http://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=911]]