diff options
author | Khaled Hosny <khaledhosny@eglug.org> | 2010-05-10 17:23:06 +0300 |
---|---|---|
committer | Khaled Hosny <khaledhosny@eglug.org> | 2010-05-10 17:23:06 +0300 |
commit | 7002dfe5556f503320d9bee480e5fb43bdb6e7a3 (patch) | |
tree | 384ee73556657b6818c78b006cfa625776c980cd /luaextra.dtx | |
parent | 20864d5fdb81f248500f2e94c95b3b15569cc277 (diff) | |
download | lualibs-7002dfe5556f503320d9bee480e5fb43bdb6e7a3.tar.gz |
Rename to lualibs
Rename luaextra->lualibs when sensible, also use luatexbase instead of
luatextra.
Diffstat (limited to 'luaextra.dtx')
-rw-r--r-- | luaextra.dtx | 408 |
1 files changed, 0 insertions, 408 deletions
diff --git a/luaextra.dtx b/luaextra.dtx deleted file mode 100644 index 0f450d5..0000000 --- a/luaextra.dtx +++ /dev/null @@ -1,408 +0,0 @@ -% \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 -%</ignore> -%<*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 -%</install> -%<*ignore> -\fi -%</ignore> -%<*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} -%</driver> -% \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} -% We could load the modules with |require|, but this works only from version -% 0.44, and doesn't work in Debian, so we simply use |dofile|. -% \begin{macrocode} - -local function load_luaextra_module(filename) - local path = kpse.find_file(filename) - if not path then - texio.write_nl(string.format("luaextra: error: cannot find file %s", filename)) - return - end - texio.write_nl('log', string.format("luaextra: loading file %s", path)) - --if (tex and tex.luatexversion and tex.luatexversion > 44) - -- or (status and status.luatex_version and status.luatex_version > 44) then - -- require(filename) - --else - dofile(path) - --end -end - -load_luaextra_module("luaextra-string.lua") -load_luaextra_module("luaextra-lpeg.lua") -load_luaextra_module("luaextra-boolean.lua") -load_luaextra_module("luaextra-number.lua") -load_luaextra_module("luaextra-math.lua") -load_luaextra_module("luaextra-table.lua") -load_luaextra_module("luaextra-aux.lua") -load_luaextra_module("luaextra-io.lua") -load_luaextra_module("luaextra-os.lua") -load_luaextra_module("luaextra-file.lua") -load_luaextra_module("luaextra-md5.lua") -load_luaextra_module("luaextra-dir.lua") -load_luaextra_module("luaextra-unicode.lua") -load_luaextra_module("luaextra-utils.lua") -load_luaextra_module("luaextra-dimen.lua") -load_luaextra_module("luaextra-url.lua") -load_luaextra_module("luaextra-set.lua") -load_luaextra_module("luaextra-dimen.lua") - -% \end{macrocode} -% Aliases for backward compatibility. -% \begin{macrocode} - -fpath = file -fpath.split = file.split_path -lfs.is_readable = file.is_readable -lfs.is_writable = file.is_writable - -% \end{macrocode} -% Functions no longer provided by Con\TeX t module. -% -% \begin{macro}{string:stripspaces} -% -% A function to strip the spaces at the beginning and at the end of a -% string. -% -% \begin{macrocode} - -function string:stripspaces() - return (self:gsub("^%s*(.-)%s*$", "%1")) -end - -% \end{macrocode} -% -% \end{macro} -% \begin{macro}{lpeg.space and lpeg.newline} -% -% Two small helpers for \texttt{lpeg}, that will certainly be widely used: -% spaces and newlines. -% -% \begin{macrocode} - -lpeg.space = lpeg.S(" \t\f\v") -lpeg.newline = lpeg.P("\r\n") + lpeg.P("\r") +lpeg.P("\n") - -% \end{macrocode} -% -% \end{macro} -% \begin{macro}{table.contains value} -% -% A function returning true if the value \texttt{val} is in the table -% \texttt{t}. -% -% \begin{macrocode} - -function table.contains_value(t, val) - if t then - for k, v in pairs(t) do - if v==val then - return true - end - end - end - return false -end - -% \end{macrocode} -% -% \end{macro} -% \begin{macro}{table.contains key} -% -% A function returning true if the key \texttt{key} is in the table -% \texttt{t} -% -% \begin{macrocode} - -function table.contains_key(t, key) - if t then - for k, v in pairs(t) do - if k==key then - return true - end - end - end - return false -end - -% \end{macrocode} -% -% \end{macro} -% \begin{macro}{table.value position} -% -% A function returning the position of a value in a table. This will be -% important to be able to remove a value. -% -% \begin{macrocode} - -function table.value_position(t, val) - if t then - local i=1 - for k, v in pairs(t) do - if v==val then - return i - end - i=i+1 - end - end - return 0 -end - -% \end{macrocode} -% -% \end{macro} -% \begin{macro}{table.key position} -% -% A function returning the position of a key in a table. -% -% \begin{macrocode} - -function table.key_position(t, key) - if t then - local i=1 - for k,v in pairs(t) do - if k==key then - return i - end - i = i+1 - end - end - return -1 -end - -% \end{macrocode} -% -% \end{macro} -% \begin{macro}{table.remove key} -% -% Removing a key from a table. -% -% \begin{macrocode} - -function table.remove_key(t, k) - local p = table.key_position(t,k) - if p ~= -1 then - table.remove(t, table.key_position(t,k)) - end -end - -% \end{macrocode} -% -% \end{macro} -% \begin{macro}{fpath.normalize sep} -% -% A function to change directory separators to canonical ones (\texttt{/}). -% -% \begin{macrocode} - -function fpath.normalize_sep(str) - return str:gsub("\\", "/") -end - -% \end{macrocode} -% -% \end{macro} -% \begin{macro}{fpath.localize sep} -% -% A function changing directory separators into local ones (\texttt{/} on -% Unix, |\| on Windows). -% -% \begin{macrocode} - -function fpath.localize_sep(str) - if os.type == 'windows' or os.type == 'msdos' then - return str:gsub("/", "\\") - else - return str:gsub("\\", "/") - end -end - -% \end{macrocode} -% -% \end{macro} -% -% \iffalse -%</lua> -% \fi -% \Finale -\endinput |