From ddf0ebc277361f955b47575e08dfc8fc63fe493a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?= <mpg@elzevir.fr>
Date: Sat, 21 May 2011 16:03:52 +0200
Subject: new luatex.dtx

---
 luatex.dtx | 312 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 312 insertions(+)
 create mode 100644 luatex.dtx

(limited to 'luatex.dtx')

diff --git a/luatex.dtx b/luatex.dtx
new file mode 100644
index 0000000..843148c
--- /dev/null
+++ b/luatex.dtx
@@ -0,0 +1,312 @@
+% \iffalse meta-comment
+%
+% Written in 2011 by Manuel Pégourié-Gonnard <mpg@elzevir.fr>
+%
+% This work is under the CC0 license.
+%
+% This work consists of the main source file luatex.dtx
+% and the derived files
+%    luatex.sty
+%
+% Unpacking:
+%    tex luatex.dtx
+% Documentation:
+%    pdflatex luatex.dtx
+%
+%<*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
+
+\keepsilent
+\askforoverwritefalse
+
+\preamble
+
+See source file '\inFileName' for licence and contact information.
+
+\endpreamble
+
+\generate{%
+  \usedir{tex/luatex/luatexbase}%
+  \file{luatex.sty}{\from{luatex.dtx}{texpackage}}%
+}
+
+\generate{%
+  \usedir{doc/luatex/luatexbase}%
+  \file{test-luatex-plain.tex}{\from{luatex.dtx}{testplain}}%
+  \file{test-luatex-latex.tex}{\from{luatex.dtx}{testlatex}}%
+}
+
+\obeyspaces
+\Msg{************************************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* files into a directory searched by TeX:}
+\Msg{*}
+\Msg{*     luatex.sty}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*}
+\Msg{************************************************************************}
+
+\endbatchfile
+%</install>
+%<*ignore>
+\fi
+%</ignore>
+%<*driver>
+\documentclass{ltxdoc}
+\input{lltxb-dtxstyle}
+\newcommand\subpk[1]{%
+  \item[\href{luatexbase-#1.pdf}{luatexbase-#1}\normalfont:]}
+\begin{document}
+  \DocInput{luatex.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         \~}
+%
+% \author{%
+%   Heiko Oberdiek \& Manuel P\'egouri\'e-Gonnard\\
+%   Support: \email{lualatex-dev@tug.org}%
+% }
+% \hypersetup{%
+%   pdfauthor = {Manuel Pegourie-Gonnard and Heiko Oberdiek},
+% }
+% \pkdate{luatex}{v0.5 2011-05-21}
+%
+% \maketitle
+%
+% \begin{abstract}
+% This package provides resource management for the LuaTeX macro programmer.
+%
+% It is now a wrapper around \pk{luatexbase} subpackages, with additinal names
+% for some macros in order to ensure compatibility with previous versions of
+% this package. You are encouraged to use \pk{luatexbase} directly and switch
+% to the new names.
+% \end{abstract}
+%
+% \tableofcontents
+%
+% \section{Documentation}
+%
+% The \pk{luatex} package loads the following sub-packages of \pk{luatexbase}:
+% \begin{description}
+%   \subpk{compat} compatibility helpers for \verb+\directlua+, primitive
+%   names and version information from Lua.
+%   \subpk{loader} extension of \luatex's Lua module loader (since version
+%   0.60.0, this is more of a compatibility layer for older versions than a
+%   real extension).
+%   \subpk{regs} extented allocation scheme for registers and the like,
+%   \emph{\`a la} \pk{etex}.
+%   \subpk{cctb} catcode table allocation.
+%   \subpk{attr} attribute allocation.
+% \end{description}
+%
+% In addition, it defines the following synonyms:
+% \begin{center}
+% \begin{tabular}{rl}
+% \toprule
+% Deprecated name & New name \\
+% \midrule
+% \cs{newattribute} & \cs{newluatexattribute} \\
+% \cs{setattribute} & \cs{setluatexattribute} \\
+% \cs{unsetattribute} & \cs{unsetluatexattribute} \\
+% \cs{newcatcodetable} & \cs{newluatexcatcodetable} \\
+% \bottomrule
+% \end{tabular}
+% \end{center}
+% The deprecated names trigger a warning and will be removed in a future
+% version.
+%
+%
+%    \section{Implementation}
+%
+%    \begin{macrocode}
+%<*texpackage>
+%    \end{macrocode}
+%
+%    \subsection{Preliminaries}
+%
+%    Reload protection, especially for \plaintex.
+%
+%    \begin{macrocode}
+                \csname lltxb@luatex@loaded\endcsname
+\expandafter\let\csname lltxb@luatex@loaded\endcsname\endinput
+%    \end{macrocode}
+%
+%    Catcode defenses.
+%
+%    \begin{macrocode}
+\begingroup
+  \catcode123 1 % {
+  \catcode125 2 % }
+  \catcode 35 6 % #
+  \toks0{}%
+  \def\x{}%
+  \def\y#1 #2 {%
+    \toks0\expandafter{\the\toks0 \catcode#1 \the\catcode#1}%
+    \edef\x{\x \catcode#1 #2}}%
+  \y 123 1  % {
+  \y 125 2  % }
+  \y  35 6  % #
+  \y  10 12 % ^^J
+  \y  34 12 % "
+  \y  36 3  % $ $
+  \y  39 12 % '
+  \y  40 12 % (
+  \y  41 12 % )
+  \y  42 12 % *
+  \y  43 12 % +
+  \y  44 12 % ,
+  \y  45 12 % -
+  \y  46 12 % .
+  \y  47 12 % /
+  \y  60 12 % <
+  \y  61 12 % =
+  \y  64 11 % @ (letter)
+  \y  62 12 % >
+  \y  95 12 % _ (other)
+  \y  96 12 % `
+  \edef\y#1{\endgroup\edef#1{\the\toks0\relax}\x}%
+\expandafter\y\csname lltxb@luatex@AtEnd\endcsname
+%    \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{luatex}[2010/10/06 v0.3 Module utilities for LuaTeX]
+%    \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 PackageError\endcsname\relax
+      \def\x#1#2#3{\begingroup \newlinechar10
+        \errhelp{#3}\errmessage{Package #1 error: #2}\endgroup}
+    \else
+      \let\x\PackageError
+    \fi
+  \expandafter\endgroup
+  \x{luatex}{LuaTeX is required for this package. Aborting.}{%
+    This package can only be used with the LuaTeX engine^^J%
+    (command `lualatex' or `luatex').^^J%
+    Package loading has been stopped to prevent additional errors.}
+  \lltxb@luatex@AtEnd
+  \expandafter\endinput
+\fi
+%    \end{macrocode}
+%
+%    \subsection{Packages loading}
+%
+%    \begin{macrocode}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname RequirePackage\endcsname\relax
+  \input luatexbase-compat.sty
+  \input luatexbase-loader.sty
+  \input luatexbase-regs.sty
+  \input luatexbase-attr.sty
+  \input luatexbase-cctb.sty
+\else
+  \RequirePackage{luatexbase-compat}
+  \RequirePackage{luatexbase-loader}
+  \RequirePackage{luatexbase-regs}
+  \RequirePackage{luatexbase-attr}
+  \RequirePackage{luatexbase-cctb}
+\fi
+%    \end{macrocode}
+%
+%    \subsection{Compatibility names}
+%
+%    Defined a synonym, triggerring a one-time warning.
+%
+%    \begin{macrocode}
+\def\lltxb@synonym#1#2{%
+  \def#1{%
+    \begingroup
+    \ifdefined\PackageWarning
+      \let\x\PackageWarning
+    \else
+      \def\x####1####2{%
+        \begingroup \endlinechar10
+        \message{Package ####1 warning: ####2}}%
+        \endgroup
+    \fi
+    \expandafter\endgroup
+    \x{luatex}{\string#1 is deprecated^^J%
+      and will be removed in the next version of the package.^^J%
+      Please use \string#2 instead.}
+    \let#1#2%
+    #1}}
+%    \end{macrocode}
+%
+%    Now the list of synonyms.
+%
+%    \begin{macrocode}
+\lltxb@synonym \newattribute    \newluatexattribute
+\lltxb@synonym \setattribute    \setluatexattribute
+\lltxb@synonym \unsetattribute  \unsetluatexattribute
+\lltxb@synonym \newcatcodetable \newluatexcatcodetable
+%    \end{macrocode}
+%
+%    This is the end, my friend\dots the end.
+%
+%    \begin{macrocode}
+\lltxb@luatex@AtEnd
+%</texpackage>
+%    \end{macrocode}
+%
+%    \section{Test file}
+%
+%    Very minimal, just check that the package correctly loads.
+%
+%    \begin{macrocode}
+%<testplain>\input luatex.sty
+%<testlatex>\RequirePackage{luatex}
+%<testplain>\bye
+%<testlatex>\stop
+%    \end{macrocode}
+%
+%
+% \Finale
+\endinput
-- 
cgit v1.2.3

