summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel Pégourié-Gonnard <mpg@elzevir.fr>2010-01-13 00:06:04 +0100
committerManuel Pégourié-Gonnard <mpg@elzevir.fr>2010-01-13 00:57:11 +0100
commit5c529f240847925e853192993b379735e490e588 (patch)
treec37e498d1b37fcb806eacca3c913cce7caa75aa8
parent9c57e740c8f26700f25b47d42ec56b852e136fd0 (diff)
downloadluatexbase-5c529f240847925e853192993b379735e490e588.tar.gz
Import the 'registers' part.
-rw-r--r--luatexbase-regs.dtx203
1 files changed, 203 insertions, 0 deletions
diff --git a/luatexbase-regs.dtx b/luatexbase-regs.dtx
new file mode 100644
index 0000000..a02e4a7
--- /dev/null
+++ b/luatexbase-regs.dtx
@@ -0,0 +1,203 @@
+% \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.
+% <mpg@elzevir.fr>
+% <elie.roux@telecom-bretagne.eu>
+%
+% This work is under the CC0 license.
+%
+% This work consists of the main source file luatexbase-regs.dtx
+% and the derived files
+% luatexbase-regs.sty regs.lua ...
+%
+% 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
+%</ignore>
+%<*install>
+\input docstrip.tex
+
+\keepsilent
+\askforoverwritefalse
+
+\let\MetaPrefix\relax
+
+\preamble
+This is a generated file.
+
+Written in 2009, 2010 by Manuel Pégourié-Gonnard and Élie Roux.
+ <mpg@elzevir.fr>
+ <elie.roux@telecom-bretagne.eu>
+
+This work is under the CC0 license.
+
+This work consists of the main source file luatexbase-regs.dtx
+and the derived files
+ luatexbase-regs.sty regs.lua ...
+
+\endpreamble
+
+\let\MetaPrefix\DoubleperCent
+
+\generate{%
+ \usedir{tex/luatex/luatexbase}%
+ \file{luatexbase-regs.sty}{\from{luatexbase-regs.dtx}{texpackage}}%
+}
+
+\def\MetaPrefix{-- }
+
+\def\luapostamble{%
+ \MetaPrefix^^J%
+ \MetaPrefix\space End of File `\outFileName'.%
+}
+
+\def\currentpostamble{\luapostamble}%
+
+\generate{%
+ \usedir{tex/luatex/luatexbase}%
+ \file{regs.lua}{\from{luatexbase-regs.dtx}{luamodule}}%
+}
+
+\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 regs.lua ...}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*}
+\Msg{************************************************************************}
+
+\endbatchfile
+%</install>
+%<*ignore>
+\fi
+%</ignore>
+%<*driver>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{luatexbase-regs.drv}
+ [DATE DESC]
+\documentclass{ltxdoc}
+\EnableCrossrefs
+\CodelineIndex
+\begin{document}
+ \DocInput{luatexbase-regs.dtx}%
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{}
+%
+% \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 luatextra-latex.tex
+\fi
+% \begin{macrocode}
+%</texpackage>
+% \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}
+%</latexfile>
+% \end{macrocode}
+%
+% \Finale
+\endinput