diff options
-rw-r--r-- | luatexbase-loader.dtx | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/luatexbase-loader.dtx b/luatexbase-loader.dtx index a6fa7e7..8584aa9 100644 --- a/luatexbase-loader.dtx +++ b/luatexbase-loader.dtx @@ -122,10 +122,33 @@ See source file '\inFileName' for details. % \maketitle % % \begin{abstract} +% Lua modules are loaded using the |require()| function which, similarly to +% \tex's |\input|, takes care of locating the file and load it, but also makes +% a few supplementary checks, for example to avoid loading the same module +% twice. This package adapts the way the files are searched in order to +% accomodate the TDS as well as usual Lua naming conventions. +% +% For higher-level functions related to Lua modules, see +% \href{file:luatexbase-modutils.pdf}{\pk{luatexbase-modutils}}, which also +% loads the present package. % \end{abstract} % % \section{Documentation} % +% Starting with \luatex 0.45.0, |require()| uses Kpathsea for file searching +% when the library is initalised (which is always the case in \tex mode, unless +% explicitly disabled by the user). However, it does not respect the Lua +% convention that |require("foo.bar")| should look for |foo/bar.lua|. +% +% This package implements such behaviour. More precisely, it looks for file +% |foo/bar| using Kpathsea with the format |lua| (that is, search along +% |LUAINPUTS| and try the following extensions: |.luc|, |.luctex|, |.texluc|, +% |.lua|, |.luatex|, |.texlua|). If this search fails, it falls back to +% |foo.bar|. +% +% It also implements this behaviour with older versions of \luatex (or it soon +% will). +% % \section{Implementation} % % \subsection{\tex package} @@ -219,7 +242,9 @@ See source file '\inFileName' for details. % % \subsubsection{Main content} % -% Load the supporting Lua module. +% Load the supporting Lua module. This one doesn't follow the usual naming +% conventions, since it won't be loaded with the usual functions for +% obvious bootstraping reasons. % % \begin{macrocode} \directlua{% @@ -244,6 +269,8 @@ See source file '\inFileName' for details. module('luatexbase', package.seeall) % \end{macrocode} % +% Find the full path corresponding to a mudole name. +% % \begin{macrocode} local function find_module_file(mod) return kpse.find_file(mod:gsub('%.', '/'), 'lua') |