From 234bcbbd16c240fa889010c8ca0b0fd74f3db7f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?= Date: Sat, 27 Mar 2010 16:42:01 +0100 Subject: Declaration, protection, etc. for loader. --- luatexbase-loader.dtx | 95 ++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 75 insertions(+), 20 deletions(-) (limited to 'luatexbase-loader.dtx') diff --git a/luatexbase-loader.dtx b/luatexbase-loader.dtx index 5e7c77b..5fe77f1 100644 --- a/luatexbase-loader.dtx +++ b/luatexbase-loader.dtx @@ -1,8 +1,5 @@ % \iffalse meta-comment % -% Template : look for DATE DESC VERSION !!! -% and 'derived files' !!! -% % Written in 2009, 2010 by Manuel Pégourié-Gonnard and Élie Roux. % % @@ -11,18 +8,14 @@ % % This work consists of the main source file luatexbase-loader.dtx % and the derived files -% luatexbase-loader.sty loader.lua ... +% luatexbase-loader.sty luatexbase.loader.lua +% test-loader-plain.tex test-loader-latex.tex % % Unpacking: % tex luatexbase-loader.dtx % Documentation: % pdflatex luatexbase-loader.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}% @@ -51,7 +44,8 @@ This work is under the CC0 license. This work consists of the main source file luatexbase-loader.dtx and the derived files - luatexbase-loader.sty loader.lua ... + luatexbase-loader.sty luatexbase.loader.lua + test-loader-plain.tex test-loader-latex.tex \endpreamble @@ -62,6 +56,12 @@ and the derived files \file{luatexbase-loader.sty}{\from{luatexbase-loader.dtx}{texpackage}}% } +\generate{% + \usedir{doc/luatex/luatexbase}% + \file{test-loader-plain.tex}{\from{luatexbase-loader.dtx}{testplain}}% + \file{test-loader-latex.tex}{\from{luatexbase-loader.dtx}{testlatex}}% +} + \def\MetaPrefix{-- } \def\luapostamble{% @@ -73,7 +73,7 @@ and the derived files \generate{% \usedir{tex/luatex/luatexbase}% - \file{loader.lua}{\from{luatexbase-loader.dtx}{luamodule}}% + \file{luatexbase.loader.lua}{\from{luatexbase-loader.dtx}{luamodule}}% } \obeyspaces @@ -94,12 +94,8 @@ and the derived files \fi % %<*driver> -\NeedsTeXFormat{LaTeX2e} -\ProvidesFile{luatexbase-loader.drv} - [DATE DESC] \documentclass{ltxdoc} -\EnableCrossrefs -\CodelineIndex +\input{lltxb-dtxstyle} \begin{document} \DocInput{luatexbase-loader.dtx}% \end{document} @@ -124,10 +120,8 @@ and the derived files % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % -% \GetFileInfo{luatexbase-loader.drv} -% % \title{The \textsf{luatexbase-loader} package} -% \date{DATE} +% \date{v0.1 2010-03-27} % \author{% % Manuel P\'egouri\'e-Gonnard \\ \texttt{mpg@elzevir.fr} \and % \'Elie Roux \\ \texttt{elie.roux@telecom-bretagne.eu}} @@ -141,12 +135,70 @@ and the derived files % % \section{Implementation} % -% \subsection{\TeX\ package} +% \subsection{\tex package} % % \begin{macrocode} %<*texpackage> % \end{macrocode} % +% \subsubsection{Preliminaries} +% +% Reload protection, especially for \plaintex. +% +% \begin{macrocode} + \csname lltxb@loader@loaded\endcsname +\expandafter\let\csname lltxb@loader@loaded\endcsname\endinput +% \end{macrocode} +% +% Package declaration. +% +% \begin{macrocode} +\begingroup + \expandafter\ifx\csname ProvidesPackage\endcsname\relax + \def\x#1[#2]{\immediate\write16{Package: #1 #2}} + \else + \let\x\ProvidesPackage + \fi +\expandafter\endgroup +\x{luatexbase-loader}[2010/03/26 v0.1 Lua module loader for LuaTeX (mpg)] +% \end{macrocode} +% +% Make sure \luatex is used. +% +% \begin{macrocode} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname RequirePackage\endcsname\relax + \input ifluatex.sty +\else + \RequirePackage{ifluatex} +\fi +\ifluatex\else + \begingroup + \expandafter\ifx\csname PackageWarningNoLine\endcsname\relax + \def\x#1#2{\begingroup\newlinechar10 + \immediate\write16{Package #1 warning: #2}\endgroup} + \else + \let\x\PackageWarningNoLine + \fi + \expandafter\endgroup + \x{luatexbase-loader}{LuaTeX is required for this package.^^J + Aborting package loading.} + \expandafter\endinput +\fi +% \end{macrocode} +% +% Make sure the catcode of @ is correct, especially for \plaintex. +% +% \begin{macrocode} +\expandafter\edef\csname lltxb@loader@AtEnd\endcsname{% + \catcode64 \the\catcode64\relax} +\catcode64 11 +% \end{macrocode} +% +% \subsubsection{Main content} +% +% Load the supporting Lua module. +% % \begin{macrocode} \directlua{% local file = "luatexbase.loader.lua" @@ -156,7 +208,10 @@ and the derived files dofile(path)} % \end{macrocode} % +% That's all, folks! +% % \begin{macrocode} +\lltxb@loader@AtEnd % % \end{macrocode} % -- cgit v1.2.3