% \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 lualibs.dtx % and the derived file lualibs.lua. % % Unpacking: % tex lualibs.dtx % % Documentation: % pdflatex lualibs.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: lualibs 2012/10/19 v0.97 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 lualibs.dtx and the derived file lualibs.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/lualibs}% \file{lualibs.lua}{\from{lualibs.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{* lualibs.lua} \Msg{*} \Msg{* Happy TeXing!} \Msg{*} \Msg{************************************************************************} \endbatchfile % %<*ignore> \fi % %<*driver> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{lualibs.drv} [2012/10/19 v0.97 Lua additional functions.] \documentclass{ltxdoc} \EnableCrossrefs \CodelineIndex \begin{document} \DocInput{lualibs.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{lualibs.drv} % % \title{The \textsf{lualibs} package} % \date{2012/10/19 v0.97} % \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 minimal standard % library. The aim of this package is to provide an extended standard library, % to be used by various Lua\TeX\ packages. The code is specific to Lua\TeX\ % and depends on Lua\TeX\ functions and modules not available in regular lua. % % \noindent The code is derived from Con\TeX t libraries. % % \section{Usage} % % You can either load the \texttt{lualibs} module, which will load all other % modules, provided by this package: |require("lualibs")|, or explicitly % load the modules you need, e.g.: |require("lualibs-table")|, please note that % some modules depend on others. % % \noindent If your code is running under \textsf{texlua}, you will need to % initialize \textsf{kpse} library so that |require()| can find files under % TEXMF tree: |kpse.set_program_name("luatex")|. % % \section{Files} % % The \textsf{lualibs} bundle contains files from two Con\TeX t Lua % library categories: The generic auxiliary functions (original file prefix: % |l-|) together form something close to a standard libary. Most of these are % extensions of an existing namespace, like for instance |l-table.lua| which % adds full-fledged serialization capabilities to the Lua table library. % They were imported under the \textsf{lualibs}-prefix. % (For a list see table~\ref{tab:extensions}.) % % \begin{table}[h] % \centering % \caption{Extensions of the Lua standard library.} % \begin{tabular}{l l l} % \textsf{lualibs} name & Con\TeX t name & content \\ % \hline % lualibs-lua.lua & l-lua.lua & compatibility, library paths \\ % lualibs-lpeg.lua & l-lpeg.lua & patterns \\ % lualibs-function.lua & l-function.lua & empty except for dummy \\ % lualibs-string.lua & l-string.lua & string manipulation \\ % lualibs-table.lua & l-table.lua & serialization, conversion \\ % lualibs-boolean.lua & l-boolean.lua & boolean converter \\ % lualibs-number.lua & l-number.lua & bit operations \\ % lualibs-math.lua & l-math.lua & math functions \\ % lualibs-io.lua & l-io.lua & reading and writing files \\ % lualibs-os.lua & l-os.lua & platform specific code \\ % lualibs-file.lua & l-file.lua & filesystem operations \\ % lualibs-md5.lua & l-md5.lua & checksum functions \\ % lualibs-dir.lua & l-dir.lua & directory handling \\ % lualibs-unicode.lua & l-unicode.lua & utf and unicode \\ % lualibs-url.lua & l-url.lua & url handling \\ % lualibs-set.lua & l-set.lua & sets \\ % \end{tabular} % \label{tab:extensions} % \end{table} % % The second category comprises a selection of files mostly from the % utilities namespace (|util-|; cf. table~\ref{tab:utilities}). % Their purpose is more specific and at times quite low-level. % % \begin{table}[h] % \centering % \caption{Utility functions.} % \begin{tabular}{l l l} % \textsf{lualibs} name & Con\TeX t name & content \\ % \hline % lualibs-util-lua.lua & util-lua.lua & operations on bytecode \\ % lualibs-util-sto.lua & util-sto.lua & table allocation \\ % lualibs-util-mrg.lua & util-mrg.lua & merging lua sources \\ % lualibs-util-dim.lua & util-dim.lua & converters for dimensions \\ % lualibs-util-str.lua & util-str.lua & extra string functions \\ % lualibs-util-tab.lua & util-tab.lua & extra table functions \\ % lualibs-util-jsn.lua & util-jsn.lua & conversion to and from json \\ % \end{tabular} % \label{tab:utilities} % \end{table} % % \pagebreak % \section{\texttt{lualibs.lua}} % % \iffalse %<*lua> % \fi % % \begin{macrocode} module('lualibs', package.seeall) local lualibs_module = { name = "lualibs", version = 0.97, date = "2012/10/19", 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 luatexbase and luatexbase.provides_module then luatexbase.provides_module(lualibs_module) end % \end{macrocode} % % Load the modules. % % \begin{macrocode} require("lualibs-lua") require("lualibs-lpeg") require("lualibs-function") require("lualibs-string") require("lualibs-table") require("lualibs-boolean") require("lualibs-number") require("lualibs-math") require("lualibs-io") require("lualibs-os") require("lualibs-file") require("lualibs-md5") require("lualibs-dir") require("lualibs-unicode") require("lualibs-url") require("lualibs-set") require("lualibs-util-str") --[[everything below apparently not required for the fontloader]] require("lualibs-util-tab") require("lualibs-util-sto") require("lualibs-util-dim") require("lualibs-util-jsn") --require("lualibs-util-mrg")-- not required require("lualibs-util-lua") % \end{macrocode} % % \iffalse % % \fi % \Finale \endinput