% \iffalse meta-comment % % Template : look for NAME DATE DESC VERSION !!! % and 'derived files' !!! % % Written in 2009, 2010 by Manuel Pégourié-Gonnard and Élie Roux. % % % % This work is under the CC0 license. % % This work consists of the main source file luatexbase-regs.dtx % and the derived files % luatexbase-regs.pdf luatexbase-regs.sty luatexbase-regs-latex.tex % % Unpacking: % tex luatexbase-regs.dtx % Documentation: % pdflatex luatexbase-regs.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 % %<*install> \input docstrip.tex \keepsilent \askforoverwritefalse \preamble This is a generated file. Written in 2009, 2010 by Manuel Pégourié-Gonnard and Élie Roux. This work is under the CC0 license. This work consists of the main source file luatexbase-regs.dtx and the derived files luatexbase-regs.pdf luatexbase-regs.sty luatexbase-regs-latex.tex \endpreamble \generate{% \usedir{tex/luatex/luatexbase}% \file{luatexbase-regs.sty}{\from{luatexbase-regs.dtx}{texpackage}}% \file{luatexbase-regs-latex.tex}{\from{luatexbase-regs.dtx}{latexfile}}% } \generate{% \usedir{doc/luatex/luatexbase}% \file{test-regs-plain.tex}{\from{luatexbase-regs.dtx}{testplain}}% \file{test-regs-latex.tex}{\from{luatexbase-regs.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{* luatexbase-regs.sty luatexbase-regs-latex.tex ...} \Msg{*} \Msg{* Happy TeXing!} \Msg{*} \Msg{************************************************************************} \endbatchfile % %<*ignore> \fi % %<*driver> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{luatexbase-regs.drv} [DATE DESC] \documentclass{ltxdoc} \makeatletter \newcommand\eTeX{$\m@th\varepsilon$-\TeX} \newcommand\LuaTeX{Lua\TeX} \makeatother \EnableCrossrefs \CodelineIndex \begin{document} \DocInput{luatexbase-regs.dtx}% \end{document} % % \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{luatexbase-regs.drv} % % \title{The \textsf{luatexbase-regs} package} % \date{DATE} % \author{% % Manuel P\'egouri\'e-Gonnard \\ \texttt{mpg@elzevir.fr} \and % \'Elie Roux \\ \texttt{elie.roux@telecom-bretagne.eu}} % % \maketitle % % \begin{abstract} % \end{abstract} % % \section{Documentation} % % \section{Implementation} % % \subsection{\TeX\ package} % % \begin{macrocode} %<*texpackage> % \end{macrocode} % % \begin{macrocode} \expandafter\ifx\csname ProvidesPackage\endcsname\relax \else \RequirePackage{etex}[1998/03/26] % % The \texttt{\string\input} is a hack that modifies some values in the % register attribution scheme of $\varepsilon$-\TeX\ and remaps % \texttt{\string\newcount} to \textsf{etex}'s \texttt{\string\globcount}. % We have to do such a remapping in a separate file that Plain doesn't see, % otherwise it outputs an error if we try to change % \texttt{\string\newcount} (because it is an \texttt{\string\outer} % macro). See below for file contents. % % \begin{macrocode} \input luatexbase-regs-latex.tex \fi % \begin{macrocode} % % \end{macrocode} % % \subsection{Specific \LaTeX\ part} % % \begin{macrocode} %<*latexfile> % \end{macrocode} % % This file is very small, it just changes the maximum values of allowed % registers from 32768 to 65536, and remaps \texttt{\string\newcount} (and % friends) to \textsf{etex}'s \texttt{\string\globcount}. % % \begin{macrocode} \def\ltxtra@temp#1{% \ifnum\count27#1=32768 % \count27#1=65536 % \fi }% \ltxtra@temp0% \ltxtra@temp1% \ltxtra@temp2% \ltxtra@temp3% \ltxtra@temp4% \ltxtra@temp5% \ltxtra@temp6% \let\newcount\globcount \let\newdimen\globdimen \let\newskip\globskip \let\newbox\globbox % \end{macrocode} % % \begin{macrocode} % % \end{macrocode} % % \section{Test files} % % Here we test only the two main formatis: Plain~\TeX\ (with etex.src % loaded) and \LaTeX, both with the \LuaTeX\ engine. Those correspond to % the \texttt{luatex} and \texttt{lualatex} commands in \TeX\,Live. % % We want to make sure we can globally and locally allocate $30000$ % registers of each kind, and still globally allocate $100$ % \verb+\insert+s. (Those numbers are not optimal, but they should be % enough for testing purposes.) % % \begin{macrocode} %\input luatexbase-regs.sty %\RequirePackage{luatexbase-regs} %<*testplain,testlatex> \def\checkregister#1{% \edef\newregister{\expandafter\noexpand\csname new#1\endcsname}% \edef\locregister{\expandafter\noexpand\csname loc#1\endcsname}% \count0 1 \loop \newregister\dummy \locregister\dummy \ifnum\count0<30000 \advance\count0 1 \repeat} \checkregister{count} \checkregister{dimen} \checkregister{skip} \checkregister{muskip} %%\checkregister{box} \checkregister{toks} %%\checkregister{marks} \count0 1 \loop \ifnum\count0<100 \newinsert\dummy \advance\count0 1 \repeat % %\bye %\stop % \end{macrocode} % % % \Finale \endinput