summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel Pégourié-Gonnard <mpg@elzevir.fr>2010-01-21 22:35:06 +0100
committerManuel Pégourié-Gonnard <mpg@elzevir.fr>2010-03-11 16:13:40 +0100
commit3fbad52bf5c3a8e0d20ed01f784b048afdd34332 (patch)
tree749e3b8edafe349a89266cc0d0b8a1d4cfb9ed4b
parenta67d3b54b330133c7e98fc4e97f6d277e70ef8c2 (diff)
downloadluatexbase-3fbad52bf5c3a8e0d20ed01f784b048afdd34332.tar.gz
Minor attr.dtx revision and todo update.
-rw-r--r--Makefile2
-rw-r--r--TODO10
-rw-r--r--lltxb-dtxstyle.tex1
-rw-r--r--luatexbase-attr.dtx76
4 files changed, 40 insertions, 49 deletions
diff --git a/Makefile b/Makefile
index 8b5b829..06c51d4 100644
--- a/Makefile
+++ b/Makefile
@@ -49,7 +49,7 @@ world: all ctan
%.pdf: %.dtx $(DTXSTY)
$(DO_PDFLATEX)
- $(DO_MAKEINDEX)
+ $(DO_MAKEINDEX) || true
$(DO_PDFLATEX)
$(DO_PDFLATEX)
diff --git a/TODO b/TODO
index b921967..718448b 100644
--- a/TODO
+++ b/TODO
@@ -13,3 +13,13 @@ general
- handle catcodes for Plain
- import/write doc
+
+Later
+=====
+
+regs
+----
+
+- Should the various allocation macros set something in a Lua table, or should
+ we just wait for it to be implemented in LuaTeX? (The \*blk macros would be
+rather tricky in this respect, but are they really used?)
diff --git a/lltxb-dtxstyle.tex b/lltxb-dtxstyle.tex
index 8c80773..fec762d 100644
--- a/lltxb-dtxstyle.tex
+++ b/lltxb-dtxstyle.tex
@@ -1,6 +1,7 @@
% preamble for dtx documentations of the luatexbase package/bundle.
\usepackage[T1]{fontenc}
+\usepackage{lmodern}
\usepackage{geometry}
\usepackage{xspace}
\usepackage[english]{babel}
diff --git a/luatexbase-attr.dtx b/luatexbase-attr.dtx
index ec34307..fe68a3b 100644
--- a/luatexbase-attr.dtx
+++ b/luatexbase-attr.dtx
@@ -11,18 +11,13 @@
%
% This work consists of the main source file luatexbase-attr.dtx
% and the derived files
-% luatexbase-attr.sty attr.lua ...
+% luatexbase-attr.sty luatexbase.attr.lua ...
%
% Unpacking:
% tex luatexbase-attr.dtx
% Documentation:
% pdflatex luatexbase-attr.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 +46,7 @@ This work is under the CC0 license.
This work consists of the main source file luatexbase-attr.dtx
and the derived files
- luatexbase-attr.sty attr.lua ...
+ luatexbase-attr.sty luatexbase.attr.lua ...
\endpreamble
@@ -73,7 +68,7 @@ and the derived files
\generate{%
\usedir{tex/luatex/luatexbase}%
- \file{attr.lua}{\from{luatexbase-attr.dtx}{luamodule}}%
+ \file{luatexbase.attr.lua}{\from{luatexbase-attr.dtx}{luamodule}}%
}
\obeyspaces
@@ -82,7 +77,7 @@ and the derived files
\Msg{* To finish the installation you have to move the following}
\Msg{* files into a directory searched by TeX:}
\Msg{*}
-\Msg{* luatexbase-attr.sty attr.lua ...}
+\Msg{* luatexbase-attr.sty luatexbase.attr.lua ...}
\Msg{*}
\Msg{* Happy TeXing!}
\Msg{*}
@@ -94,12 +89,8 @@ and the derived files
\fi
%</ignore>
%<*driver>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{luatexbase-attr.drv}
- [DATE DESC]
\documentclass{ltxdoc}
-\EnableCrossrefs
-\CodelineIndex
+\input lltxb-dtxstyle
\begin{document}
\DocInput{luatexbase-attr.dtx}%
\end{document}
@@ -116,7 +107,7 @@ and the derived files
% Dollar \$ Percent \% Ampersand \&
% Acute accent \' Left paren \( Right paren \)
% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
+ Minus \- Point \. Solidus \/
% Colon \: Semicolon \; Less than \<
% Equals \= Greater than \> Question mark \?
% Commercial at \@ Left bracket \[ Backslash \\
@@ -126,11 +117,11 @@ and the derived files
%
% \GetFileInfo{luatexbase-attr.drv}
%
-% \title{The \textsf{luatexbase-attr} package}
+% \title{The \pk{luatexbase-attr} package}
% \date{DATE}
% \author{%
-% Manuel P\'egouri\'e-Gonnard \\ \texttt{mpg@elzevir.fr} \and
-% \'Elie Roux \\ \texttt{elie.roux@telecom-bretagne.eu}}
+% Manuel P\'egouri\'e-Gonnard \\ \email{mpg@elzevir.fr} \and
+% \'Elie Roux \\ \email{elie.roux@telecom-bretagne.eu}}
%
% \maketitle
%
@@ -141,24 +132,20 @@ and the derived files
%
% \section{Implementation}
%
-% \subsection{\TeX\ package}
+% \subsection{\tex package}
%
% \begin{macrocode}
%<*texpackage>
% \end{macrocode}
%
-% The most important macro here is \texttt{\string\newluatexattribute} that
-% allocates a new attribute, and adds it in the \texttt{tex.attributename}
-% table (see \texttt{luatextra.attributedef\_from\_tex} for more details.
-% It works just like the other \texttt{\string\new*} macros, we can
-% allocate up to 65536 different attributes.
+% The most important macro here is |\newluatexattribute| that allocates a
+% new attribute, and adds it in the |tex.attributename| table (see
+% |luatextra.attributedef_from_tex| for more details. It works just like
+% the other |\new*| macros, to $65536$ attributes can be allocated.
%
% \begin{macrocode}
-
-
\newcount\luatexattdefcounter
\luatexattdefcounter = 1
-
\def\newluatexattribute#1{%
\ifnum\luatexattdefcounter<65535\relax %
\global\advance\luatexattdefcounter by 1\relax %
@@ -168,25 +155,23 @@ and the derived files
\fi %
\wlog{\string#1=\string\luatexattribute\the\allocationnumber}%
\luadirect{%
- luatextra.attributedef_from_tex([[\noexpand#1]], '\number\allocationnumber')}%
+ luatextra.attributedef_from_tex([[\noexpand#1]],
+ '\number\allocationnumber')}%
\else %
\errmessage{No room for a new \string\attribute}%
\fi %
}
-
% \end{macrocode}
%
% Two convenient macros, one to set an attribute (basically just a
-% wrapper), and another one to uset it. Unsetting attributes with this
+% wrapper), and another one to unset it. Unsetting attributes with this
% function is important, as the \texttt{unset} value may change, as it
-% already has in the 0.37 version.
+% already has in \luatex $0.37$.
%
% \begin{macrocode}
-
\def\setluatexattribute#1#2{%
#1=\numexpr#2\relax %
}
-
\def\unsetluatexattribute#1{%
\ifnum\luatexversion<37\relax %
#1=-1\relax %
@@ -194,7 +179,6 @@ and the derived files
#1=-"7FFFFFFF\relax %
\fi %
}
-
% \end{macrocode}
%
% \begin{macrocode}
@@ -207,33 +191,29 @@ and the derived files
%<*luamodule>
% \end{macrocode}
%
-% Attribute allocation is done mainly in the \texttt{sty} file, but there
-% is also a lua addition for attribute handling: Lua\TeX\ is by default
+% Attribute allocation is done mainly in the \file{.sty} file, but there
+% is also a Lua addition for attribute handling: \luatex is by default
% unable to tell the attribute number corresponding to an attribute name.
% This attribute number is necessary for functions such as
-% \texttt{node.has\_attribute}, which is used very often. The solution
+% |node.has_attribute|, which is used very often. The solution
% until now was to give a chosen attribute number to each attribute, and
% pray that someone else didn't use it before. With this method it was easy
% to know the number of an attribute, as it was chosen. Now with the
-% \texttt{\string\newluaattribute} macro, it's impossible to know the
-% number of an attribute. To fix it, when \texttt{\string\newluaattribute}
-% is called, it calls \texttt{luatextra.attributedef\_from\_tex}. This
-% function registers the number in the table \texttt{tex.attributenumber}.
-% For example to get the number of the attribute \texttt{myattribute}
-% registered with \texttt{\string\newluaattribute\string\myattribute}, you
-% can simply call \texttt{tex.attributenumber[myattribute]}.
+% |\newluaattribute| macro, it's impossible to know the
+% number of an attribute. To fix it, when |\newluaattribute|
+% is called, it calls |luatextra.attributedef_from_tex|. This
+% function registers the number in the table |tex.attributenumber|.
+% For example to get the number of the attribute |myattribute|
+% registered with |\newluaattribute\myattribute|, you
+% can simply call |tex.attributenumber[myattribute]|.
%
% \begin{macrocode}
-
luatextra.attributes = {}
-
tex.attributenumber = luatextra.attributes
-
function luatextra.attributedef_from_tex(name, number)
truename = name:gsub('[\\ ]', '')
luatextra.attributes[truename] = tonumber(number)
end
-
% \end{macrocode}
%
% \begin{macrocode}