% \iffalse meta-comment % % Copyright (C) 2009 by PRAGMA ADE / ConTeXt Development Team % % See ConTeXt's mreadme.pdf for the license. % % This work consists of the main source file luaextra.dtx % and the derived file luaextra.lua. % % Unpacking: % tex luatextra.dtx % % Documentation: % pdflatex luaextra.dtx % % The class ltxdoc loads the configuration file ltxdoc.cfg % if available. Here you can specify further options, e.g. % use A4 as paper format: % \PassOptionsToClass{a4paper}{article} % % % %<*ignore> \begingroup \def\x{LaTeX2e}% \expandafter\endgroup \ifcase 0\ifx\install y1\fi\expandafter \ifx\csname processbatchFile\endcsname\relax\else1\fi \ifx\fmtname\x\else 1\fi\relax \else\csname fi\endcsname % %<*install> \input docstrip.tex \Msg{************************************************************************} \Msg{* Installation} \Msg{* Package: luaextra 2010/01/11 v0.92 Lua additional functions.} \Msg{************************************************************************} \keepsilent \askforoverwritefalse \let\MetaPrefix\relax \preamble This is a generated file. Copyright (C) 2009 by PRAGMA ADE / ConTeXt Development Team See ConTeXt's mreadme.pdf for the license. This work consists of the main source file luaextra.dtx and the derived file luaextra.lua. \endpreamble % The following hacks are to generate a lua file with lua comments starting by % -- instead of %% \def\MetaPrefix{-- } \def\luapostamble{% \MetaPrefix^^J% \MetaPrefix\space End of File `\outFileName'.% } \def\currentpostamble{\luapostamble}% \generate{% \usedir{tex/luatex/luatextra}% \file{luaextra.lua}{\from{luaextra.dtx}{lua}}% } \obeyspaces \Msg{************************************************************************} \Msg{*} \Msg{* To finish the installation you have to move the following} \Msg{* files into a directory searched by TeX:} \Msg{*} \Msg{* luaextra.lua} \Msg{*} \Msg{* Happy TeXing!} \Msg{*} \Msg{************************************************************************} \endbatchfile % %<*ignore> \fi % %<*driver> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{luaextra.drv} [2010/01/11 v0.92 Lua additional functions.] \documentclass{ltxdoc} \EnableCrossrefs \CodelineIndex \begin{document} \DocInput{luaextra.dtx}% \end{document} % % \fi % \CheckSum{0} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z % Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z % Digits \0\1\2\3\4\5\6\7\8\9 % Exclamation \! Double quote \" Hash (number) \# % Dollar \$ Percent \% Ampersand \& % Acute accent \' Left paren \( Right paren \) % Asterisk \* Plus \+ Comma \, % Minus \- Point \. Solidus \/ % Colon \: Semicolon \; Less than \< % Equals \= Greater than \> Question mark \? % Commercial at \@ Left bracket \[ Backslash \\ % Right bracket \] Circumflex \^ Underscore \_ % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % % \GetFileInfo{luaextra.drv} % % \title{The \textsf{luaextra} package} % \date{2010/01/11 v0.92} % \author{Elie Roux \\ \texttt{elie.roux@telecom-bretagne.eu}} % % \maketitle % % \begin{abstract} % Additional lua functions taken from the libs of Con\TeX t. For an % introduction on this package (among others), please refer to the document % \texttt{luatex-reference.pdf}. % \end{abstract} % % \section{Overview} % % Lua is a very minimal language, and it does not have a lot of built-in % functions. Some functions will certainly be needed by a lot of packages. % Instead of making each of them implement these functions, the aim of this % file is to provide a minimal set of functions. All functions are taken from % Con\TeX t libraries. % % There are some differences with the Con\TeX t funtions though, especially on % names: for example the \texttt{file.*} funtions are renamed in % \texttt{fpath.*}. It seems more logical as they deal with file paths, not % files. Also the \texttt{file.is\_readable} and \texttt{file.is\_writable} % are renamed \texttt{lfs.is\_readable} and \texttt{lfs.is\_writable}. % % If you use a function you think is missing in this file, please tell the % maintainer. % % \texttt{Warning:} Even if the names will certainly remain the same, some % implementations may differ, and some functions might appear or dissapear. As % Lua\TeX\ is not stable, this file is not neither. % % All functions are described in this document, but the one of the functions % you'll use most will certainly be \texttt{table.serialize} (also named % \texttt{table.tostring}) that takes a table and returns an intented string % describing the table. It describes the table so that Lua\TeX\ can read it % again as a table. You can do a lot of things with this functions, like % printing a table for debugging, or saving a table into a file. Functions are % also converted into bytecode to be saved. % % \section{\texttt{luaextra.lua}} % % \iffalse %<*lua> % \fi % % \begin{macrocode} do local luaextra_module = { name = "luaextra", version = 0.92, date = "2010/01/11", description = "Lua additional functions.", author = "Hans Hagen, PRAGMA-ADE, Hasselt NL & Elie Roux", copyright = "PRAGMA ADE / ConTeXt Development Team", license = "See ConTeXt's mreadme.pdf for the license", } if luatextra then luatextra.provides_module(luaextra_module) end end % \end{macrocode} % Initialize \textsf{Kpathsea} library, so that |require()| will use it to % locate modules. % \begin{macrocode} kpse.set_program_name("luatex") % \end{macrocode} % Load the individual modules. % \begin{macrocode} require("luaextra-string.lua") require("luaextra-lpeg.lua") require("luaextra-boolean.lua") require("luaextra-number.lua") require("luaextra-math.lua") require("luaextra-table.lua") require("luaextra-aux.lua") require("luaextra-io.lua") require("luaextra-os.lua") require("luaextra-file.lua") require("luaextra-md5.lua") require("luaextra-dir.lua") require("luaextra-unicode.lua") require("luaextra-utils.lua") require("luaextra-dimen.lua") require("luaextra-url.lua") require("luaextra-set.lua") require("luaextra-dimen.lua") % \end{macrocode} % Aliases for backward compatibility. % \begin{macrocode} fpath = file lfs.is_readable = file.is_readable lfs.is_writable = file.is_writable % \end{macrocode} % % \iffalse % % \fi % \Finale \endinput