diff options
| author | Manuel Pégourié-Gonnard <mpg@elzevir.fr> | 2011-05-21 16:03:52 +0200 | 
|---|---|---|
| committer | Manuel Pégourié-Gonnard <mpg@elzevir.fr> | 2011-05-21 16:03:52 +0200 | 
| commit | ddf0ebc277361f955b47575e08dfc8fc63fe493a (patch) | |
| tree | 00ff52256a0f254276a72c0512add38e03b3b79a | |
| parent | 854b18e30b45d8bdfb36ee90db29c7433b3b2014 (diff) | |
| download | luatexbase-ddf0ebc277361f955b47575e08dfc8fc63fe493a.tar.gz | |
new luatex.dtx
| -rw-r--r-- | Makefile | 12 | ||||
| -rw-r--r-- | TODO | 7 | ||||
| -rw-r--r-- | lltxb-dtxstyle.tex | 13 | ||||
| -rw-r--r-- | luatex.dtx | 312 | ||||
| -rw-r--r-- | luatexbase-cctb.dtx | 8 | ||||
| -rw-r--r-- | luatexbase.dtx | 2 | 
6 files changed, 332 insertions, 22 deletions
| @@ -23,9 +23,10 @@ UNPACKED_MODUTILS = luatexbase-modutils.sty modutils.lua test-modutils.lua \  UNPACKED_COMPAT = luatexbase-compat.sty \  			test-compat-plain.tex test-compat-latex.tex  UNPACKED_BASE = luatexbase.sty test-base-plain.tex test-base-latex.tex +UNPACKED_LUATEX = luatex.sty test-luatex-plain.tex test-luatex-latex.tex  UNPACKED = $(UNPACKED_MCB) $(UNPACKED_REGS) $(UNPACKED_ATTR) $(UNPACKED_CCTB) \  		   $(UNPACKED_LOADER) $(UNPACKED_MODUTILS) $(UNPACKED_COMPAT) \ -		   $(UNPACKED_BASE) +		   $(UNPACKED_BASE) $(UNPACKED_LUATEX)  COMPILED = $(DOC)  GENERATED = $(COMPILED) $(UNPACKED)  SOURCE = $(DTX) $(DTXSTY) README TODO Changes Makefile @@ -67,7 +68,7 @@ DO_LATEXMK = latexmk -pdf -silent $< >/dev/null  # Main targets definition  all: $(GENERATED)  check: check-regs check-attr check-cctb check-loader check-modutils check-mcb \ -       check-compat check-base +       check-compat check-base check-luatex  doc: $(COMPILED)  unpack: $(UNPACKED)  ctan: check $(CTAN_ZIP) @@ -105,6 +106,9 @@ $(UNPACKED_COMPAT): luatexbase-compat.dtx  $(UNPACKED_BASE): luatexbase.dtx  	$(DO_TEX) +$(UNPACKED_LUATEX): luatex.dtx +	$(DO_TEX) +  check-regs: $(UNPACKED_REGS)  	luatex --interaction=batchmode test-regs-plain.tex >/dev/null  	lualatex --interaction=batchmode test-regs-latex.tex >/dev/null @@ -138,6 +142,10 @@ check-base: $(UNPACKED_BASE)  	luatex --interaction=batchmode test-base-plain.tex >/dev/null  	lualatex --interaction=batchmode test-base-latex.tex >/dev/null +check-luatex: $(UNPACKED_LUATEX) +	luatex --interaction=batchmode test-luatex-plain.tex >/dev/null +	lualatex --interaction=batchmode test-luatex-latex.tex >/dev/null +  $(CTAN_ZIP): $(SOURCE) $(COMPILED) $(TDS_ZIP)  	@echo "Making $@ for CTAN upload."  	@$(RM) -- $@ @@ -11,13 +11,6 @@ test suite  - add debug messages to be used in the test suite?  - import test files from luatex.sty -luatex.sty ----------- - -- do it (depends on cctb update) -- provide \newcatcodetable & all for now, used in l3luatex.sty (to be -  investigated), with a depcracation warning -  compat  ------ diff --git a/lltxb-dtxstyle.tex b/lltxb-dtxstyle.tex index 89c1ac0..7a5c00b 100644 --- a/lltxb-dtxstyle.tex +++ b/lltxb-dtxstyle.tex @@ -4,6 +4,8 @@  \usepackage[T1]{fontenc}  \usepackage{textcomp}  \usepackage{lmodern} +\usepackage{booktabs} +\usepackage{enumitem}  \usepackage{xspace}  \usepackage[a4paper]{geometry}  \usepackage[english]{babel} @@ -34,14 +36,9 @@  \newcommand \pk         {\textsf}  \newcommand \cmdname    {\texttt} -% compact version of itemize -\newenvironment{itemize*}{% -  \itemize -  \setlength\itemsep{0pt}% -  \setlength\parskip{0pt}% -}{% -  \enditemize -} +% compact lists +\setitemize{itemsep=0pt, parsep=0pt} +\setdescription{itemsep=0pt, parsep=0pt}  % no so nice, but anyway...  \newenvironment{qcode}{% 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 diff --git a/luatexbase-cctb.dtx b/luatexbase-cctb.dtx index 0baf01e..e2c701d 100644 --- a/luatexbase-cctb.dtx +++ b/luatexbase-cctb.dtx @@ -151,7 +151,7 @@ See source file '\inFileName' for details.  % used as a basis).  %  % For your convenience, a few catcode tables are predefined: -% \begin{itemize*} +% \begin{itemize}  % \item |\CatcodeTableIniTeX|: Ini\tex catcodes.  % \item |\CatcodeTableString|: the catcode regime used by |\string| and  % |\meaning|: everything has catcode 12, except space (U+0020) that has @@ -163,7 +163,7 @@ See source file '\inFileName' for details.  % Be aware that this does not provide the exact same environment as  % |\ExplSyntaxOn|: most noticibly, some booleans are not set, and  % |\endlinechar| is not adjusted (it should be 32). -% \end{itemize*} +% \end{itemize}  %  % \subsection{Access from Lua}  % @@ -187,14 +187,14 @@ See source file '\inFileName' for details.  % rest of your Lua code.  %  % Also, nicknames are available for the predefined catcode tables: -% \begin{itemize*} +% \begin{itemize}  % \item |CatcodeTableIniTeX| = |ini|,  % \item |CatcodeTableString| = |string|,  % \item |CatcodeTableOther| = |other|,  % \item |CatcodeTableLaTeX| = |latex|,  % \item |CatcodeTableLaTeXAtLetter| = |latex-atletter| = |latex-package|,  % \item |CatcodeTableExpl| = |expl| = |expl3|, -% \end{itemize*} +% \end{itemize}  %  % \subsection{High-level stack interface}  % diff --git a/luatexbase.dtx b/luatexbase.dtx index 9014b2a..4bfd5cb 100644 --- a/luatexbase.dtx +++ b/luatexbase.dtx @@ -214,7 +214,7 @@ See source file '\inFileName' for licence and contact information.        \let\x\PackageError      \fi    \expandafter\endgroup -  \x{luatexbase-attr}{LuaTeX is required for this package. Aborting.}{% +  \x{luatexbase}{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.} | 
