summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/expl3
diff options
context:
space:
mode:
authorManuel Pégourié-Gonnard <mpg@elzevir.fr>2008-07-29 11:23:34 +0000
committerManuel Pégourié-Gonnard <mpg@elzevir.fr>2008-07-29 11:23:34 +0000
commitef285e6a49a93af098150d0b3125a34d3477ba55 (patch)
tree124a55595390d358e0cda8ae26f78e9a263e9a21 /Master/texmf-dist/doc/latex/expl3
parente7477f362711cc9d05dfa1ee71301fb34cce2d94 (diff)
expl3 update (2008/06/20)
git-svn-id: svn://tug.org/texlive/trunk@9869 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/expl3')
-rw-r--r--Master/texmf-dist/doc/latex/expl3/ChangeLog.fmi13
-rw-r--r--Master/texmf-dist/doc/latex/expl3/expl3.pdfbin161313 -> 155070 bytes
-rw-r--r--Master/texmf-dist/doc/latex/expl3/expl3.tex753
-rw-r--r--Master/texmf-dist/doc/latex/expl3/l32eproc.pdfbin112902 -> 108098 bytes
-rw-r--r--Master/texmf-dist/doc/latex/expl3/l32eproc.tex523
-rw-r--r--Master/texmf-dist/doc/latex/expl3/l3xref-test.tex107
-rw-r--r--Master/texmf-dist/doc/latex/expl3/lbase.ini65
-rw-r--r--Master/texmf-dist/doc/latex/expl3/readme.txt55
-rw-r--r--Master/texmf-dist/doc/latex/expl3/source3.pdfbin439909 -> 962916 bytes
-rw-r--r--Master/texmf-dist/doc/latex/expl3/source3.tex397
-rw-r--r--Master/texmf-dist/doc/latex/expl3/test1.tex89
-rw-r--r--Master/texmf-dist/doc/latex/expl3/test2.tex73
-rw-r--r--Master/texmf-dist/doc/latex/expl3/test3.tex135
13 files changed, 20 insertions, 2190 deletions
diff --git a/Master/texmf-dist/doc/latex/expl3/ChangeLog.fmi b/Master/texmf-dist/doc/latex/expl3/ChangeLog.fmi
deleted file mode 100644
index 5257f0f1092..00000000000
--- a/Master/texmf-dist/doc/latex/expl3/ChangeLog.fmi
+++ /dev/null
@@ -1,13 +0,0 @@
-2005-01-22 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
-
- * updates for xlang and fix for seq inline mapping which defined
- \seq_elt:w globally
-
-2004-09-19 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
-
- * l3io.dtx: added \ior_close:N and \if_eof:w (pr/2850)
-
-Mon Jul 6 22:37:45 1998 Frank Mittelbach <Frank.Mittelbach@uni-mainz.de>
-
- * l3seq.dtx: added forgotten doc on stacks
-
diff --git a/Master/texmf-dist/doc/latex/expl3/expl3.pdf b/Master/texmf-dist/doc/latex/expl3/expl3.pdf
index f1724b88d1e..63fc49bb884 100644
--- a/Master/texmf-dist/doc/latex/expl3/expl3.pdf
+++ b/Master/texmf-dist/doc/latex/expl3/expl3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/expl3/expl3.tex b/Master/texmf-dist/doc/latex/expl3/expl3.tex
deleted file mode 100644
index 8d9e1880667..00000000000
--- a/Master/texmf-dist/doc/latex/expl3/expl3.tex
+++ /dev/null
@@ -1,753 +0,0 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% based on version for the TUGboat proceedings
-% Copyright 1997--98 David Carlisle, Chris Rowley, Frank Mittelbach
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% $Id: expl3.tex 246 2004-11-11 08:20:37Z mittelba $
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\documentclass{article}
-
-\usepackage{shortvrb}
-\MakeShortVerb{\|}
-
-% A couple of \provide.. so document runs with
-% both ltugproc and ltxguide classes
-%
-\providecommand \m [1]{$\langle$\textit{#1}$\rangle$}
-%\providecommand \netaddress {\date}
-\providecommand \acro [1]{\textsc{\MakeLowercase{#1}}}
-\providecommand \ie {i.e.,~}
-\providecommand \eg {e.g.,~}
-
-\hyphenation{para-meters para-meter}
-% I have found at least 3 other hyphenations of this in various refs,
-% but I did also find this, which is my personal favourite ---chris
-
-\hyphenation{ignore ignored ignores}
-
-\begin{document}
-
-\title{The \LaTeX3 Programming Language---\\
-a proposed system for \TeX\ macro programming}
-
-
-\author{\copyright~David Carlisle, Chris Rowley and\\ Frank Mittelbach\\
-\LaTeX3 project\\
-\texttt{latex-l@urz.uni-heidelberg.de}}
-
-
-\maketitle
-
-\begin{abstract}
-
-This paper gives s brief introduction to a new set of programming
-conventions that have been designed to meet the requirements of
-implementing large scale \TeX\ macro programming projects such as
-\LaTeX.
-
-The main features of the system described are:
-\begin{itemize}
-\item classification of the macros (or, in \LaTeX{} terminology,
- commands) into \LaTeX{} functions and \LaTeX{} parameters, and also
- into modules containing related commands;
-\item a systematic naming scheme based on these
- classifications;
-\item a simple mechanism for controlling the expansion of a function's
-arguments.
-\end{itemize}
-A system such as this is being used experimentally as the basis for
-\TeX{} programming within the \LaTeX3 project.
-Note that the language is not intended for either
-document mark-up or style specification.
-
-This paper is based on a talk given by David Carlisle in San
-Francisco, July 1997, but it describes the work of several people:
-principally
- Frank Mittelbach and
- Denys Duchier,
-together with
- Johannes Braams,
- David Carlisle,
- Michael Downes,
- Alan Jeffrey,
- Chris Rowley and
- Rainer Sch\"opf.
-\end{abstract}
-
-\vspace{4pt}
-
-
-\section{Introduction}
-
-This paper describes the conventions for a \TeX-based programming
-language which is intended to provide a more consistent and rational
-environment for the construction of large scale systems, such as
-\LaTeX, using \TeX{} macros.
-
-Variants of this language have been in use by The \LaTeX3 Project Team
-since around 1990 but the syntax specification to be outlined here
-should \emph{not} be considered final. This is an experimental
-language thus many aspects, such as the syntax conventions and naming
-schemes, may (and probably will) change as more experience is gained
-with using the language in practice.
-
-The next section shows where this language fits into a complete
-\TeX-based document processing system. We then describe the major
-features of the syntactic structure of command names, including the
-argument specification syntax used in function names.
-
-The practical ideas behind this argument syntax will be explained,
-together with the semantics of the expansion control mechanism and the
-interface used to define variant forms of functions. The paper also
-discusses some advantages of the syntax for parameter names.
-
-As we shall demonstrate, the use of a structured naming scheme and of
-variant forms for functions greatly improves the readability of the
-code and hence also its reliability. Moreover, experience has shown
-that the longer command names which result from the new syntax do not
-make the process of \emph{writing} code significantly harder
-(especially when using a reasonably intelligent editor).
-
-The final section gives some details of our plans to distribute parts
-of this system during the next year.
-More general information concerning the work of the \LaTeX3 Project
-can be found in~\cite{tub:MR98-1}.
-
-
-\section{Languages and interfaces}
-\label{sec:langs}
-
-It is possible to identify several distinct languages related to the
-various interfaces that are needed in a \TeX-based document processing
-system. This section looks at those we consider most important for
-the \LaTeX3 system.
-
-\begin{description}
-\item[Document mark-up] This comprises those commands (often called tags)
- that are to embedded in the document (the |.tex| file).
-
- It is generally accepted that such mark-up should be essentially
- \emph{declarative}.
- It may be traditional \TeX-based mark-up such as
- \LaTeXe, as described in~\cite{A-W:LLa94} and~\cite{A-W:GMS94},
- or a mark-up language defined via \acro{SGML} or \acro{XML}.
-
- One problem with more traditional \TeX\ coding conventions (as
- described in~\cite{A-W:K-TB}) is that the names and syntax of \TeX's
- primitive formatting commands are ingeniously designed to be
- `natural' when used directly by the author as document mark-up or in
- macros. Ironically, the ubiquity (and widely recognised
- superiority) of logical mark-up has meant that such explicit
- formatting commands are almost never needed in documents or in
- author-defined macros. Thus they are used almost exclusively by
- \TeX{} programmers to define higher-level commands; and their
- idiosyncratic syntax is not at all popular with this community.
- Moreover, many of them have names that could be very useful as
- document mark-up tags were they not pre-empted as primitives (\eg
- |\box| or |\special|).
-
-\item[Designer interface] This relates a (human) typographic
- designer's specification for a document to a program that `formats
- the document'. It should ideally use a declarative language that
- facilitates expression of the relationship and spacing rules specified
- for the layout of the various document elements.
-
- This language is not embedded in document text and it will be very
- different in form to the document mark-up language. For
- \acro{SGML}-based systems the \acro{DSSSL} language may come to play
- this role. For \LaTeX, this level was almost completely missing
- from \LaTeX2.09; \LaTeXe\ made some improvements in this area but it
- is still the case that implementing a design specification in
- \LaTeX\ requires far more `low-level' coding than is acceptable.
-\item[Programmer interface]
- This language is the implementation
- language within which the basic typesetting functionality is
- implemented, building upon the primitives of \TeX\ (or a
- successor program).
- It may also be used to implement the previous
- two languages `within' \TeX, as in the current \LaTeX\ system.
-\end{description}
-
-Only the last of these three interfaces is covered by this paper,
-which describes a system aimed at providing a suitable basis for
-coding large scale projects in \TeX{} (but this should not preclude its
-use for smaller projects). Its main distinguishing features are
-summarised here.
-
-\begin{itemize}
-\item A consistent naming scheme for all commands, including \TeX\
- primitives.
-\item The classification of commands as \LaTeX{} functions or \LaTeX{}
- parameters, and also their division into modules according to their
- functionality.
-\item A simple mechanism for controlling argument expansion.
-\item Provision of a set of core \LaTeX{} functions that is sufficient
- for handling programming constructs such as queues, sets,
- stacks, property lists.
-\item A \TeX{} programming environment in which, for example, all
- white space is ignored.
-\end{itemize}
-
-\section{The naming scheme}
-\label{sec:scheme}
-
-The naming conventions for this programming language distinguish
-between \textit{functions} and \textit{parameters}. Functions can have
-arguments and they are executed. Parameters can be assigned values
-and they are used in arguments to functions; they are not directly
-executed but are manipulated by mutator and accessor functions.
-Functions and parameters with a related functionality (for example
-accessing counters, or manipulating token-lists, etc.)\ are collected
-together into a
-\textit{module}.
-
-
-Note that all these terms are only \LaTeX{} terminology and are not,
-for example, intended to indicate that the commands have these
-properties when considered in the context of basic \TeX{} or in any
-more general programming context.
-
-
-\subsection{Examples}
-\label{sec:ex}
-
-Before giving the details of the naming scheme, here are a few typical
-examples to indicate the flavour of the scheme; first some parameter
-names.
-\begin{quote}
-|\l_tmpa_box| is a local parameter (hence the~|l_| prefix)
-corresponding to a box register.\\
-|\g_tmpa_int| is a global parameter (hence the~|g_| prefix)
-corresponding to an integer register (\ie a \TeX{} count register).\\
-|\c_empty_toks|
-is the constant~(|c_|) token register parameter that is for ever empty.
-\end{quote}
-Now here is an example of a typical function name.
-
-|\seq_push:Nn| is the function which puts the token list specified by
-its second argument onto the stack specified by its first argument.
-The different natures of the two arguments are indicated by the~|:Nn|
-suffix. The first argument must be a single token which `names'
-the stack parameter: such single-token arguments are denoted~|N|.
-The second argument is a normal \TeX\ `undelimited argument', which
-may either be a single token or a balanced, brace-delimited token
-list (which we shall here call a \textit{braced token list}): the~|n|
-denotes such a `normal' argument form.
-
-|\seq_push:cn| would be similar to the above, but in this case the~|c|
-means that the stack-name is specified in the first argument by a
-token list that expands, using |\csname...|, to a control sequence that
-is the \emph{name} of the stack parameter.
-
-\noindent
-The names of these two functions also indicate that they are in the
-module called |seq|.
-
-
-\subsection{Formal syntax of the conventions}
-\label{sec:namesyn}
-
-We shall now look in more detail at the syntax of these names.\\
-The syntax of parameter names is as follows:
- \begin{quote}
- |\|\m{access}|_|\m{module}|_|\m{description}|_|\m{type}
- \end{quote}
-The syntax of function names is as follows:
- \begin{quote}
- |\|\m{module}|_|\m{description}|:|\m{arg-spec}
- \end{quote}
-
-
-\subsection{Modules and descriptions}
-\label{sec:modules}
-
-The syntax of all names contains
-\begin{quote}
- \m{module} and \m{description}:
-\end{quote}
-these both give information about the command.
-
-A \textit{module} is a collection of
-closely related functions and parameters.
-Typical module names include~|int| for integer parameters
-and related functions,~|seq| for sequences and~|box| for boxes.
-
-Packages providing new programming functionality will add new modules
-as needed; the programmer can choose any unused name, consisting
-of letters only, for a module.
-
-The \textit{description} gives more detailed information about the
-function or parameter, and provides a unique name for it. It should
-consist of letters and, possibly,~|_|~characters.
-
-\subsection{Parameters: access and type}
-\label{sec:parms}
-
-The \m{access} part of the name describes how the parameter can be
-accessed. Parameters are primarily classified as local, global or
-constant (there are further, more technical, classes). This
-\textit{access} type appears as a code at the beginning of the name;
-the codes used include:
-\begin{itemize}
-\item[\bf c]
- constants (global parameters whose value should not be changed);
-\item[\bf g]
- parameters whose value should only be set globally;
-\item[\bf l]
- parameters whose value should only be set locally.
-\end{itemize}
-
-The \m{type} will normally (except when introducing a new data-type)
-be in the list of available \textit{data-types}; these include the
-primitive \TeX\ data-types, such as the various registers, but to
-these will be added data-types built within the \LaTeX{} programming
-system.
-
-Here are some typical data-type names:
-\begin{description}
-\item[int] integer-valued count register;
-\item[toks] token register;
-\item[box] box register;
-\item[fint] `Fake-integer': (or fake-counter) a data type created to
- avoid problems with the limited number of available count registers
- in (standard) \TeX;
-\item[seq] `sequence': a data-type used to implement lists
- (with access at both ends) and stacks;
-\item[plist] property list
-\end{description}
-When the \m{type} and \m{module} are identical (as often happens in
-the more basic modules) the \m{module} part is often omitted for
-aesthetic reasons.
-
-
-\subsection{Functions: argument specifications}
-\label{sec:args}
-
- Function names end with an \m{arg-spec} after a colon. This
- gives an indication of the types of argument that a function takes,
- and provides a convenient method of naming similar functions that
- differ only in their argument forms (see the next section for
- examples).
-
- The \m{arg-spec} consists of a (possibly empty) list of characters,
- each denoting one argument of the function. It is important to
- understand that `argument' here refers to the effective argument of
- the \LaTeX{} function, not to an argument at the \TeX-level. Indeed,
- the top level \TeX\ macro that has this name typically has no
- arguments. This is an extension of the existing \LaTeX\ convention
- where one says that |\section| has an optional argument and a
- mandatory argument, whereas the \TeX\ macro |\section| actually has
- zero parameters at the \TeX\ level, it merely calls an internal \LaTeX\
- command which in turn calls others that look ahead for star forms and
- optional arguments.
-
-The list of possible argument specifiers includes the following.
-\begin{itemize}
-\item[\bf n] Unexpanded token or braced token list.\\
- This is a standard \TeX\ undelimited macro argument.
-\item[\bf o] One-level-expanded token or braced token list.\\
- This means that the argument is expanded one level, as by
- |\expandafter|, and the expansion is passed to the function as a braced
- token list. Note that if the original argument is a braced
- token list then only the first token in that list is expanded.
-\item[\bf x] Fully-expanded token or braced token list.\\
- This means that the argument is expanded as in the replacement text of
- an~|\edef|, and the expansion is passed to the function as a
- braced token list.
-\item[\bf c] Character string used as a command name.\\ The argument (a
- token or braced token list) must, when fully expanded, produce a
- sequence of characters which is then used to construct a command
- name (via~|\csname|, |\endcsname|). This command name is the single
- token that is passed to the function as the argument.
-\item[\bf N] Single token (unlike~|n|, the argument must \emph{not} be
- surrounded by braces).\\
- A typical example of a command taking an~|N|
- argument is~|\def|, in which the command being defined must be
- unbraced.
- \item[\bf O] One-level-expanded single token (unbraced).\\
- As for~|o|, the one-level expansion is passed (as a
- braced token list) to the function.
- \item[\bf X] Fully-expanded single token (unbraced).\\
- As for~|x|, the full expansion is passed (as a
- braced token list) to the function.
- \item[\bf C] Character string used as a command name
- then one-level expanded.\\
- The form of the argument is exactly as for~|c|, but the
- resulting token is then expanded one level (as for~|O|), and
- the expansion is passed to the function as a braced token list.
- \item[\bf p] Primitive \TeX\ parameter specification.\\
- This can be something simple like~|#1#2#3|, but may use arbitrary
- delimited argument syntax such as: |#1,#2\q_stop#3|.
- \item[\bf T,F\hspace{-10pt}]
- \hspace{10pt}%
- These are special cases of~|n| arguments, used for the
- true and false code in conditional commands.
-\end{itemize}
-There are two other specifiers with more general meanings:
-\begin{itemize}
-\item[\bf D] This means: \textbf{Do not use}. This special case is used
- for \TeX\ primitives and other commands that are provided for use
- only while bootstrapping the \LaTeX\ kernel. If the \TeX\ primitive
- needs to be used in other contexts it will be given an alternative,
- more appropriate, name with a useful argument specification. The
- argument syntax of these is often weird, in the sense described next.
- \item[\bf w] This means that the argument syntax is `weird' in that it
- does not follow any standard rule. It is used for functions with
- arguments that take non standard forms: examples are \TeX-level
- delimited arguments and the boolean tests needed after certain
- primitive |\if|\ldots\ commands.
-\end{itemize}
-
-
-\section{Expansion control}
-\label{sec:exp}
-
-\subsection{Simpler means better}
-\label{sec;simpler}
-
-Anyone who programs in \TeX\ is frustratingly familiar with the
-problem of arranging that arguments to functions are suitably expanded
-before the function is called. To illustrate how expansion control
-can bring instant relief to this problem we shall consider two
-examples copied from \texttt{latex.ltx}.
-
-\begin{verbatim}
- \global
- \expandafter
- \expandafter
- \expandafter
- \let
- \expandafter
- \reserved@a
- \csname \curr@fontshape \endcsname
-\end{verbatim}
-This first piece of code is in essence simply a
-global |\let|. However, the token to be defined is obtained by
-expanding |\reserved@a| one level; and, worse, the token to which it
-is to be let is obtained by fully expanding |\curr@fontshape| and then
-using the characters produced by that expansion to construct a command
-name. The result is a mess of interwoven |\expandafter| and~|\csname|
-beloved of all \TeX\ programmers, and the code is essentially
-unreadable.
-
-Using the conventions and functionality outlined here, the task would
-be achieved with code such as this:
-\begin{verbatim}
- \glet:Oc \g_reserved_a_tlp
- \l_current_font_shape_tlp
-\end{verbatim}
-The command |\glet:Oc| is a global~|\let| that expands its
-first argument once, and generates a command name out of its second
-argument, before making the definition. This produces code that
-is far more readable and more likely to be correct first time.
-
-Here is the second example.
-\begin{verbatim}
- \expandafter
- \in@
- \csname sym#3%
- \expandafter
- \endcsname
- \expandafter
- {%
- \group@list}%
-\end{verbatim}
-This piece of code is part of the definition of another function. It
-first produces two things: a token list, by expanding |\group@list| once;
-and a token whose name comes from~`|sym#3|'. Then the function~|\in@|
-is called and this tests if its first argument occurs in the token list
-of its second argument.
-
-Again we can improve enormously on the code. First we shall rename
-the function~|\in@| according to our conventions. A function such as
-this but taking two normal `\texttt{n}' arguments might reasonably be
-named |\seq_test_in:nn|; thus the variant function we need will be
-defined with the appropriate argument types and its name will be
-|\seq_test_in:cO|. Now this code fragment will be simply:
-\begin{verbatim}
- \seq_test_in:cO {sym#3} \l_group_seq
-\end{verbatim}
-Note that, in addition to the lack of |\expandafter|, the space after
-the~|}| will be silently ignored since all white space is ignored in
-this programming environment.
-
-
-\subsection{New functions from old}
-\label{sec:newfunc}
-
-For many common functions the \LaTeX3 kernel will provide variants
-with a range of argument forms, and similarly it is expected that
-extension packages providing new functions will make them available in
-the all the commonly needed forms.
-
-However, there will be occasions where it is necessary to construct a
-new such variant form; therefore the expansion module provides a
-straightforward mechanism for the creation of functions with any
-required argument type, starting from a function that takes `normal'
-\TeX\ undelimited arguments.
-
-To illustrate this let us suppose you have a `base function'
-|\demo_cmd:nnn| that takes three normal arguments, and that you need
-to construct the variant |\demo_cmd:cnx|, for which the first argument
-is used to construct the \emph{name} of a command, whilst the third
-argument must be fully expanded before being passed to
-|\demo_cmd:nnn|.
-To produce the variant form from the base form, simply use this:
-\begin{verbatim}
- \exp_def_form:nnn {demo_cmd} {nnn} {cnx}
-\end{verbatim}
-This defines the variant form so that you can then write, for example:
-\begin{verbatim}
- \demo_cmd:cnx {abc} {pq} {\rst \xyz }
-\end{verbatim}
-rather than \ldots\ well, something like this!
-\begin{verbatim}
- \def \tempa {{pq}}%
- \edef \tempb {\rst \xyz}%
- \expandafter
- \demo@cmd
- \csname abc%
- \expandafter
- \expandafter
- \expandafter
- \endcsname
- \expandafter
- \tempa
- \expandafter
- {%
- \tempb
- }%
-\end{verbatim}
-
-Another example: you may wish to declare a function
-|\demo_cmd_b:xcxcx|, a variant of an existing function
-|\demo_cmd_b:nnnnn|, that fully
-expands arguments 1,~3 and~5, and produces commands to pass as
-arguments 2 and~4 using~|\csname|.
-The definition you need is simply
-\begin{verbatim}
- \exp_def_form:nnn
- {demo_cmd_b} {nnnnn} {xcxcx}
-\end{verbatim}
-
-This extension mechanism is written so that if the same new form of
-some existing command is implemented by two extension packages then the
-two definitions will be identical and thus no conflict will occur.
-
-
-\section{Parameter assignments and accessor functions}
-\label{sec:access}
-
-\subsection{Checking assignments}
-\label{sec:check}
-
-One of the advantages of having a consistent scheme is that the system
-can provide more extensive error-checking and debugging facilities.
-For example, an accessor function that makes a \emph{global}
-assignment of a value to a parameter can check that it is not passed
-the name of a \emph{local} parameter as that argument: it does this by
-checking that the name starts with~|\g_|.
-
-Such checking is probably too slow for normal use, but the code can
-have hooks built in that allow a format to be made in which all
-functions perform this kind of check.
-
-A typical section of the source%
-\footnote{This code uses the \textsf{docstrip}
-system described in~\cite{A-W:GMS94}, Section~14.3.}
-for such code might look like this
-(recall that all white space is ignored):
-
-\begin{verbatim}
- %<*!check>
- \let_new:NN
- \toks_gset:Nn \tex_global:D
- %</!check>
- %<*check>
- \def_new:Npn
- \toks_gset:Nn #1
- {
- \chk_global:N #1
- \tex_global:D #1
- }
- %</check>
-\end{verbatim}
-In the above code the function |\toks_gset:Nn| takes a single
-token~(|N|) specifying a token register, and globally sets it to the
-value passed in the second argument.
-
-A typical use of it would be:
-\begin{verbatim}
- \toks_gset \g_xxx_toks {<some value>}
-\end{verbatim}
-In the normal definition, |\toks_gset| can be simply~|\let|
-to~|\global| because the primitive \TeX{} token register does not
-require any explicit assignment function:
-this is done by the |%<*!check>| code above.
-
-The alternative definition first checks that the argument
-passed as~|#1| is the name of a global parameter and raises an error
-if it is not. It does this by taking apart the command name passed
-as~|#1| and checking that it starts~|\g_|.
-
-\subsection{Consistency}
-\label{sec:cons}
-
-The primitive \TeX\ syntax for register assignments has a very minimal
-syntax and, apart from box functions, there are no explicit functions
-for assigning values to these registers.
-
-This makes it impossible to implement alternative data-types with a
-syntax that is both consistent and at all similar to the syntax for
-the primitives; moreover, it encourages a coding style that is very
-error prone.
-
-As in the |\toks_gset:Nn| example given above, all \LaTeX\ data-types
-are provided with explicit functions for assignment and for use, even
-when these have essentially empty definitions. This allows for better
-error-checking as described above; it also allows the construction of
-further data-types with a similar interface, even when the
-implementation of the associated functions is very complex.
-
-For example, the `fake-counter' (\texttt{fint}) data-type mentioned
-above will appear at the \LaTeX{} programming level to be exactly like
-the data-type based on primitive count registers; however, internally
-it makes no use of count registers. Typical functions in this module
-are illustrated here.
-
-\begin{verbatim}
-\fint_new:N \l_tmpa_fint
-\end{verbatim}
-This declares the local parameter |\l_example_fint| as a fake-counter.
-
-\begin{verbatim}
-\fint_add:Nn \l_example_fint \c_thirty_two
-\end{verbatim}
-This increments the value of this fake-counter by 32.
-
-
-\section{The experimental distribution}
-\label{sec:dist}
-
-The initial implementations of a \LaTeX\ programming language using
-this kind of syntax remain unreleased (and not completely functional);
-they partly pre-date \LaTeXe! The planned distribution will provide a
-subset of the functionality of those implementations, in the form of
-packages to be used on top of \LaTeXe.
-
-The intention is to allow experienced \TeX\ programmers to experiment
-with the system and to comment on the interface. This means that
-\textbf{\itshape the interface will change}. No part of this system,
-including the name of anything, should be relied upon as being
-available in a later release. Please do \emph{experiment} with these
-packages, but do \emph{not} use them for code that you expect to keep
-unchanged over a long period.
-
-In view of the intended experimental use for this distribution we
-shall, in the first instance, produce only a few modules for use with
-\LaTeXe. These will set up the conventions and the basic functionality
-of, for example, the expansion mechanism; they will also implement some
-of the basic programming constructs, such as token-lists and sequences.
-They are intended only to give a flavour of the code: the full \LaTeX3
-kernel will provide a very rich set of programming constructs so that
-packages can efficiently share code, in contrast with the situation in
-the current \LaTeX\ where every large package must implement its own
-version of queues, stacks, etc., as necessary.
-
-In the first release of this experimental system at least the
-following modules will be distributed.
-\begin{description}
-\item[l3names] This sets up the basic naming scheme and renames all
-the \TeX\ primitives. If it is loaded with the option
-\texttt{[removeoldnames]} then the old primitive names such as~|\box|
-become \emph{undefined} and are thus available for user
-definition. Caution: use of this option will certainly break existing
-\TeX\ code!
-
-\item [l3basics]
-This contains the basic definition modules used
-by the other packages.
-
-\item[l3chk] A module that provides functionality comparable to
-\LaTeX's |\newcommand| and |\renewcommand|, and also the extra level of
-checking described above in section~\ref{sec:check}.
-
-\item[l3tlp]
-This implements a basic data-type, called a \textit{token-list
-pointer}, used for storing named token lists: these are essentially
-\TeX{} macros with no arguments.
-
-\item[l3expan] This is the argument expansion module discussed above.
-
-\item[l3quark] A `quark' is a command that is defined to expand to
-itself! Therefore they must never be expanded as this will generate
-infinite recursion; they do however have many uses, \eg as
-special markers and delimiters within code.
-
-\item[l3seq]
-This implements data-types such as queues and stacks.
-
-\item[l3prop]
-This implements the data-type for `property lists' that are used, in
-particular, for storing key/value pairs.
-
-\item[l3int]
-This implements the integer and `fake integer' data-types.
-
-\item[l3toks]
-A data-type corresponding to \TeX's primitive token registers.
-
-\item[l3io]
-A module providing low level input and output functions.
-
-\item[l3precom]
-A `pre-compilation' module that provides functions dealing with pointer
-creation and handling, and using external files to record the state of the current
-definitions.
-\end{description}
-This distribution will also contain the \LaTeX\ source for the latest
-version of this document, a docstrip install file and three small test
-files.
-
-
-In later releases we plan to add further modules and a full-fledged
-example of the use of the new language: a proto-type implementation
-for the ideas described in the article `Language Information in
-Structured Documents: A Model for Mark-up and
-Rendering'~\cite{tub:MR98-2}.
-
-\begin{thebibliography}{1}
-
-\bibitem{A-W:K-TB}
-Donald E Knuth
-\newblock {\em The {\TeX}book}.
-\newblock Addison-Wesley, Reading, Massachusetts, 1984.
-
-\bibitem{A-W:GMS94}
-Goossens, Mittelbach and Samarin.
-\newblock {\em The {\LaTeX} Companion}.
-\newblock Addison-Wesley, Reading, Massachusetts, 1994.
-
-\bibitem{A-W:LLa94}
-Leslie Lamport.
-\newblock {\em {\LaTeX:} A Document Preparation System}.
-\newblock Addison-Wesley, Reading, Massachusetts, second edition, 1994.
-
-\bibitem{tub:MR98-1}
-Frank Mittelbach and Chris Rowley.
-\newblock The {\LaTeX3} Project.
-\newblock {\em {TUG}boat}, ????? ??? 1998.
-
-\bibitem{tub:MR98-2}
-Frank Mittelbach and Chris Rowley.
-\newblock Language Information in
-Structured Documents: A Model for Mark-up and Rendering.
-\newblock {\em {TUG}boat}, ????? ??? 1998.
-
-\end{thebibliography}
-
-\end{document}
-
-
-
-
-
diff --git a/Master/texmf-dist/doc/latex/expl3/l32eproc.pdf b/Master/texmf-dist/doc/latex/expl3/l32eproc.pdf
index ea0168b10a3..39d6ed345d4 100644
--- a/Master/texmf-dist/doc/latex/expl3/l32eproc.pdf
+++ b/Master/texmf-dist/doc/latex/expl3/l32eproc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/expl3/l32eproc.tex b/Master/texmf-dist/doc/latex/expl3/l32eproc.tex
deleted file mode 100644
index d560c0c2338..00000000000
--- a/Master/texmf-dist/doc/latex/expl3/l32eproc.tex
+++ /dev/null
@@ -1,523 +0,0 @@
-\documentclass
- {ltugproc}
-% {ltxguide}
-
-\usepackage{shortvrb}
-\MakeShortVerb{\|}
-\setlength\hfuzz{10pt}
-
-% A couple of \provide.. so document runs with
-% both ltugproc and ltxguide classes
-%
-\providecommand\m[1]{$\langle$\textit{#1}$\rangle$}
-\providecommand\netaddress{\date}
-\providecommand\acro[1]{\textsc{\MakeLowercase{#1}}}
-
-\begin{document}
-\title{The \LaTeX3 Programming Language\\
-A syntax proposal for \TeX\ macro programming}
-
-
-\author{The \LaTeX3 Project}
-\netaddress{latex-l@urz.uni-heidelberg.de}
-
-
-
-\begin{abstract}
-This paper proposes a new set of programming conventions suitable for
-implementing large scale \TeX\ programming projects such as \LaTeX.
-(This syntax is not suitable for either document
-markup, or as a style specification language.)
-
-The main features include a systematic naming scheme for all commands,
-and a systematic mechanism for controlling the expansion of arguments
-to functions.
-
-The syntax is under consideration as a basis for programming within
-the \LaTeX3 project.
-
-This paper is based on a talk given by David
-Carlisle but describes the work of several people, principally:
- Frank Mittelbach,
- Denys Duchier,
- Rainer Sch\"opf,
- Chris Rowley,
- Michael Downes,
- Johannes Braams,
- David Carlisle and
- Alan Jeffrey.
-\end{abstract}
-
-\maketitle
-
-
-\section{Introduction}
-This paper describes a \TeX\ based language which is intended to
-provide a more consistent and rational programming environment for the
-construction of large scale \TeX\ macro projects such as \LaTeX.
-
-Variants of this language have been in use within the \LaTeX3 project
-since around 1990 but the syntax specification to be outlined here
-should \emph{not} be considered final. This is an experimental
-language, and the syntax and command names may (and probably will)
-change as more experience is gained with using the language in
-practice.
-
-\section{Programming Interface levels for \LaTeX}
-
-One may identify several distinct languages that one might want to see
-in a \TeX\ based system. This paper will \emph{only} be concerned with
-the last of these three.
-
-\begin{description}
-\item[Document Markup] This language consists of the commands that are
- to be embedded in the document instance. It is generally accepted
- that such a language should be essentially \emph{declarative}.
- One might consider a traditional \TeX\ based markup such as the
- \LaTeX2 markup as described in \cite{A-W:LLa94}, or alternatively one
- might consider an \acro{SGML} based markup.
-
- One problem with more traditional \TeX\ coding conventions is that
- the command names and syntax of the \TeX\ primitives are designed to
- have a `natural' syntax when used directly by the author as document
- markup. In fact one almost never uses the primitives in this
- way, rather they are just used to define higher level commands.
-
-\item[Designer's Interface] In order to easily translate a (human)
- designer's design specification into a program that accepts the
- document instance one would ideally like to have a declarative
- language that allows the relationships and spacing rules of the
- various document elements to be easily expressed. As this language
- is not embedded within the document text, it may take a rather
- different form to the markup language described above. For
- \acro{SGML} based systems one may consider the \acro{DSSSL} language
- as playing this role. For \LaTeX2, then this level was essentially
- missing in \LaTeX2.09. \LaTeXe\ made some improvements in this area
- but it is still the case that implementing a design specification in
- \LaTeX\ requires more `low level' coding than would be desired.
-\item[Programmer's Interface]
- This language, the subject of this paper, is the implementation
- language in which the basic typesetting functionality is
- implemented, building upon the primitives supplied by \TeX\ (or a
- successor program). It may also be used to implement the previous
- two languages `within' \TeX, as in the current \LaTeX\ system.
-\end{description}
-
-
-\section{Programming language: Main Features}
-
-The language outlined in this paper aims to provide a suitable
-base for coding large (and small) scale projects in \TeX.
-Its main distinguishing features are the following.
-\begin{itemize}
-\item Consistent naming scheme for all functions, including \TeX\
- primitives.
-\item Standard mechanisms for controlling argument expansion.
-\item Provision of sufficiently rich set of core functions for
- handling programming constructs such as:
- sequences, sets, stacks, property lists, etc.
-\item White space ignored.
-\end{itemize}
-
-\section{Naming Scheme}
-
-The name space is divided between \emph{Functions} and
-\emph{Parameters}. Functions (normally) take arguments and are
-executed, Parameters are usually passed as arguments to functions.
-They are not directly executed, but accessed though accessor functions.
-
-Functions and parameters associated with a similar function (for
-example accessing counters, or manipulating lists, etc.) are arranged
-into \emph{modules}. Before giving the details of the form of the
-command names, we give a few examples.
-
-|\l_tmpa_box| is a local parameter (hence the |l_| prefix)
-corresponding to a box register.
-
-|\g_tmpa_box| is a global parameter (hence the |g_| prefix)
-corresponding to a box register.
-
-|\c_one| is the constant (|c_|) parameter with value one.
-
-|\cnt_add:Nn| is the function which adds the value specified by
-its second argument to the count register specified by its first
-argument. The different natures of the two arguments are indicated by
-the |:Nn| suffix. The first argument must be a single token specifying
-the name of the count parameter. Such single token arguments are
-denoted |N|. The second argument is a normal \TeX\ `non-delimited
-argument' which may either be a single token, or a brace delimited
-token list containing an expression for the value to be added.
-The |n| denotes such `normal' argument forms.
-
-|\cnt_add:cn| is similar to the above, but in this case the the
-counter is specified in the first argument by a list of tokens that
-expands to the \emph{name} of the count parameter.
-
-These examples should give the basic flavour of the scheme. Parameters
-are classified into local, global or constant (there are further more
-technical cases in addition to these three) and this access type is
-shown by |\l_|, |\g_| or |\c_|. Functions are arranged by
-\emph{module} (The |cnt| module in these cases) with a descriptive
-name followed by an indication of the type of argument to be passed.
-
-In more detail the specification of the names is as follows.
-
-Functions have the following general syntax:
- \begin{quote}
- |\|\m{module}|_|\m{description}|:|\m{arg-spec}
- \end{quote}
- The programmer can chose an arbitrary \m{module} name (consisting
- of letters only) a group of functions with related functionality are
- then all given names prefixed by this module name. The \m{description}
- is a description of the functionality of the function, and should
- consist of letters, and possibly |_| characters. \m{arg-spec}
- describes the type of arguments as will be described below.
-
-The syntax of parameters is as follows:
- \begin{quote}
- |\|\m{access}|_|\m{module}|_|\m{description}|_|\m{type}
- \end{quote}
- \m{access} describes how the parameter can be accessed. The
- principal access types are \emph{constant}, \emph{local} or
- \emph{global}. As described below, some special access types relate
- to \TeX\ primitive parameters. The meanings of \m{module} and
- \m{description} in the parameter syntax is the same as that for
- functions. Finally \m{type} should denote the type of parameter,
- such as |cnt| for count registers, etc.
-
-
-
-Typical \m{module} names in the kernel include |cnt| for integer count
-related functions, |seq| for functions relating to sequences, |box|,
-etc. Normally additional packages adding new functionality would add
-new modules as needed.
-
-The \m{description} is an arbitrary name for the function or
-parameter, consisting of letters, or the |_| character.
-
-Function names always end with an \m{arg-spec} after a final colon.
-This gives an indication of the types of argument that a function
-takes, and provides a convenient method of naming similar functions
-that just differ by their argument forms, as will be explained below.
-
-The \m{arg-spec} consists of a (possibly empty) list of characters
-each denoting one argument that the function takes. It is important to
-note that `argument' here refers to the conceptual argument of the
-function.
-The top level \TeX\ macro that has this name typically has no
-arguments. This is similar to the existing \LaTeX\ convention where one
-says that |\section| has an optional argument and a mandatory
-argument, whereas the \TeX\ macro |\section| actually takes no
-parameters at the \TeX\ level, it merely calls some standard \LaTeX\
-internal functions which look ahead for star forms and optional
-arguments. The list of possible argument specifiers includes:
-\begin{description}
-\item[n] Unexpanded token (or token-list if in braces). In other words
- this is a standard \TeX\ undelimited macro argument.
-\item[o] One time expanded token or token-list. In the case of a token
- list then only the first token in the list is expanded.
-\item[x] Fully expanded token or token-list. Typically this means that
- the argument is expanded in the style of |\edef| (|\def:Npx|) before
- being passed to the function.
-\item[c] A character string used (after expansion) as a command name.
- The argument (a token or braced token list) should expand to a
- sequence of characters which is then used to construct a command
- name (via |\csname|, |\cs:w|). This command token is passed as the
- argument to the function.
- \item[N] A single token. (Unlike |n|, this argument must not be
- surrounded by braces). A typical example of a command taking an N
- argument is |\def|, in which the command being defined must be
- unbraced.
- \item[O] Single unbraced token that is expanded once and passed (as a
- braced token list) to the function.
- \item[X] Single unbraced token that is fully expanded and passed (as a
- braced token list) to the function.
- \item[C] A character string used as for |c| arguments but the
- resulting command token is then expanded (as for |O|) and the
- result passed as a braced token list to the function.
- \item[p] A primitive \TeX\ parameter specification. This can be
- something simple like |#1#2#3| but may be arbitrary delimited
- argument syntax, such as |#1,#2\q_stop#3|.
- \item[T, F] These are special cases of |n| arguments, used as the
- true and false cases in conditional tests.
- \item[D] `Do not use'. This special case is used for \TeX\ primitives
- that are only used while bootstrapping the \LaTeX\ kernel. If the
- \TeX\ primitive needs to be used in other contexts it will be given
- an alternative name with a more appropriate argument specification.
- \item[w] `weird' syntax. Used for arguments that take non standard
- forms, usually delimited arguments that are needed internally to
- implement certain modules, and also the boolean tests of many of the
- primitive |\if|\ldots\ tests.
-\end{description}
-
-
-For parameters, the \m{type} should be from the list of available
-data types (which include the primitive \TeX\ registers, but also
-data types built within the system).
-
-Possible values for \m{type} include:
-\begin{description}
-\item[cnt] Integer valued counter.
-\item[toks] Token register.
-\item[box] Box register.
-\item[fcnt] `Fake' count register. A data type supplied by the kernel
- to avoid problems with the limited number of available count
- registers in (standard) \TeX.
-\end{description}
-
-The \m{access} codes that are used in parameter names include
-\begin{description}
-\item[c] Constants.
-\item[l] Parameters that should only be set locally.
-\item[g] Parameters that should only be set globally.
-\end{description}
-
-\section{Checking Parameter assignments}
-One of the advantages of having a consistent scheme is that the system
-can provide more extensive error checking and debugging facilities.
-For example a function that makes a global assignment can check that
-it is not passed a local parameter as argument by checking that the
-name of the command to be assigned starts with |\g_|. Such checking is
-probably too slow for production runs, but the kernel has hooks built
-in to allow a format to be made in which all functions perform this
-kind of check. A typical section of code might look like
-\begin{verbatim}
-%<*check>
-\def_new:Npn \toks_gset:Nn #1 {
- \chk_global:N #1
- \pref_global:D #1
-}
-%</check>
-%<*!check>
-\let_new:NN
- \toks_gset:Nn \pref_global:D
-%</!check>
-\end{verbatim}
-The function |\toks_gset:Nn| takes a single token (|N|) specifying a
-token register, and globally sets it to the value passed in the second
-argument. So typical use would be
-\begin{verbatim}
-\toks_gset \g_xxx_toks {some value}
-\end{verbatim}
-In the normal definition, |\toks_gset| can be defined just to be |\let|
-to |\global|, as the primitive token register does not require any
-explicit assignment function. This is the |%<*!check>| code above.
-However the alternative definition first checks that the argument
-passed as |#1| is a global parameter and raises an error if it is not.
-It does this by taking apart the command name passed as |#1| and
-checking that it starts |\g_|.
-
-\section{Consistent use of accessor functions}
-The primitive \TeX\ syntax for register assignments has a very minimal
-syntax, and apart from box functions there are no explicit functions
-for assignment or use of the registers. This makes it very difficult
-to implement alternative data types with a syntax that is at all
-similar to the syntax for the primitives, and also encourages a coding
-style that is very error prone.
-
-As noted in the example given above, The \LaTeX\ data types are
-provided with explicit functions for setting and using the parameters
-even when these have essentially empty definitions. This allows for
-better error checking as described above, and also allows the
-construction of alternative data types with a similar interface.
-For example the `fake counter' data type mentioned previously works at
-the user level just like the data type based on primitive count
-registers, internally it does not use count registers though.
-Typical functions in the |fcnt| module include:
-
-
-\verb|\fcnt_new:N \l_tempa_fcnt|\\
-Declare the local parameter |\l_tempa_fcnt| as a fake counter.
-
-\verb|\fcnt_add:Nn \l_tempa_fcnt \c_thirty_two|\\
-Increment the counter by 32.
-
-\section{Expansion Control}
-Anyone who programs in \TeX\ is used to the problem of arranging that
-arguments to functions are suitably expanded before the function is
-called. A couple of real examples copied from \texttt{latex.ltx}:
-\begin{verbatim}
-\global
- \expandafter\expandafter\expandafter
- \let
- \expandafter
- \reserved@a
- \csname\curr@fontshape\endcsname
-
-\expandafter
- \in@
- \csname sym#3\expandafter\endcsname
- \expandafter{\group@list}%
-\end{verbatim}
-The first piece of code is a global |\let|. The token to be defined
-is obtained by expanding \verb|\reserved@a| one level. The command
-that it is to be let too is obtained by fully expanding
-\verb|\curr@fontshape| and then using the tokens produced by that
-expansion to construct a command name. This results in the mess
-of interwoven \verb|\expandafter| and \verb|\csname| beloved of all
-\TeX\ programmers, and code that is essentially unreadable.
-
-A similar construction using the conventions outlined here would be
-\begin{verbatim}
-\glet:Oc
- \reserved_a: \l_current_font_shape_tlp
-\end{verbatim}
-The command \verb|\glet:Oc| is a global |\let| that expands its
-argument once, and generates a command name out of its second
-argument, before making the definition. This produces coe that
-is far more readable.
-
-Similarly the second piece of code above produces a token list by
-expanding \verb|\group@list| once, and then creates a command name out
-of `\verb|sym#3|' (this is inside the definition of another fumction).
-The function |\in@| is called which tests if its first argument occurs
-in the token list of its second argument.
-
-Again it would be much clearer, if the above function \verb|\in@| was
-called (say) \verb|\test_if_in:nn| (a function taking two normal
-`\texttt{n}' arguments) and then a variant function was defined with
-the appropriate argument types and simply called as follows:
-\begin{verbatim}
-\test_if_in:co {sym#3} \group_list:
-\end{verbatim}
-Note that apart from the lack of \verb|\expandafter| the space after
-\verb|}| will be silently ignored.
-
-
-For many common functions the kernel will provide functions with a
-range of argument forms, and similarly it is expected that extension
-packages providing new functions will make then available in the more
-common forms. However There will be occasions where it is necessary
-to construct such a variant form.
-
-A consistent mechanism is provided by the kernel to produce functions
-with any argument type, starting from a function that takes `normal'
-\TeX\ delimited arguments. Suppose you have a function \verb|\cmd:nnn|
-that takes two arguments, and you need to construct \verb|\cmd:cnx|
-a variant form in which the first argument is passed as a \emph{name}
-of a command, and the third argument must be fully expanded before
-being passed to \verb|\cmd:nnn|.
-
-One simply defines \verb|\cmd:cx| as follows:
-\begin{verbatim}
-\def:Nn \cmd:cnx {\exp_args:Ncnx \cmd:nnn}
-\end{verbatim}
-The function \verb|\exp_args:Ncnx| takes as its first (\texttt{N})
-argument the `base' function, and then grabs the next three arguments
-from the token stream, acts on the first with \verb|\csname|, and the
-last with \verb|\edef| and then constructs a call to the base function
-with suitably transformed arguments. So
-\begin{verbatim}
-\cmd:cnx {abc}{pq}{\rst\xyz}
-\end{verbatim}
-is equivalent, but emminently more readable, to
-\begin{verbatim}
-\edef\temp{\rst\xyz}
-\expandafter\cmd:nnn
- \csname abc\expandafter\endcsname
- \expandafter{%
- \expandafter p\expandafter q%
- \expandafter}%
- \expandafter{\temp}
-\end{verbatim}
-
-A large range of argument processing functions are provided in
-addition to \verb|\exp_args:Ncnx|. If you need a particular argument
-combination for which a function is not provided, one may be
-constructed in a simple way. For example you need to construct
-\verb|\exp_args:Nxcxcxc| a function that fully expands arguments
-1,~3 and~5 of a given function, and produces commands to pass as
-arguments 2,~4 and~6 using \verb|\csname|. The definition is simply
-\begin{verbatim}
-\def:Npn \exp_args:Nxcxcxc
- {\::x\::c\::x\::c\::x\::c\:::}
-\end{verbatim}
-Similar functions, |::o| etc exist for all the other argument types,
-and they may be strung together in any order, terminated by
-\verb|\:::| to create a function which processes arguments in the
-desired way.
-
-As hopefully demonstrated, the use of variant forms greatly improves
-the readability of the code, and experience shows that the longer
-command names which result from the new syntax do not realy make the
-process of \emph{writing} the code any harder.
-
-\section{The Current Experimental Distribution}
-The initial implementations of a \TeX\ format using this kind of
-syntax were made with an unreleased (and non functional) format
-(which pre-dates \LaTeXe!) The current distribution consists of a
-subset of the functionality of that format, converted to run as
-packages on top of \LaTeXe.
-
-The intention is to allow experienced \TeX\ programmers to experiment
-on the system and to comment on the interface. This means that
-\textbf{\itshape the interface will change}. No part of this system,
-including the names of any commands should be relied upon as being
-available in a later release. Please do \emph{experiment} with these
-packages, but do not use them for documents that you expect to keep
-unchanged over a long period.
-
-In view of the proposed experimental use for this distribution, we
-currently have only converted a few modules for use with \LaTeXe.
-These set up the basic conventions, and then implement a few basic
-programming constructs such as lists and sequences. These are really
-to give a flavour of the code, and to indicate that the intention is
-that the kernel provide a sufficiently rich set of programming
-constructs so that packages may use them and thus more efficiently
-share code, unlike the situation in the current \LaTeX\ where every
-large package implements its own version of lists, stacks etc.
-
-The current packages are:
-\begin{description}
-\item[l3names]
-Sets up the basic naming scheme, including naming the \TeX\
-primitives. If used with the option \texttt{[removeoldnames]}
-then the old primitive names such as \verb|\box| are \emph{undefined}
-and thus made available for user definitions. Use of this option might
-possibly break existing \TeX\ code!
-
-\item [l3basics]
-Some basic definitions that are used by the other packages.
-
-\item[l3chk]
-Functions to check (and make) definitions (comparable to the existing
-\verb|\newcommand| or \verb|\renewcommand|).
-
-\item[l3tlp]
-Token List Pointers. A basic \LaTeX3 data type for storing token lists.
-(These are essentially macros with no arguments.)
-
-
-\item[l3expan]
-The argument expansion module discussed in the previous section.
-
-
-\item[l3quarq]
-
-A `quark' is a command that is defined to expand to itself. So it may
-not be directly used (it would generate an infinite loop) but has many
-uses as special markers within \LaTeX\ code.
-
-
-\item[l3seq]
-A module implementing the basic list and stack data types.
-
-\item[l3prop]
-Property lists are the data type for handling key/value assignments.
-\end{description}
-
-The distribution also contains the \TeX\ source for this document, a
-docstrip install file and two small test files.
-
-\begin{thebibliography}{1}
-
-\bibitem{A-W:LLa94}
-Leslie Lamport.
-\newblock {\em {\LaTeX:} A Document Preparation System}.
-\newblock Addison-Wesley, Reading, Massachusetts, second edition, 1994.
-
-\end{thebibliography}
-
-\end{document}
-
-
diff --git a/Master/texmf-dist/doc/latex/expl3/l3xref-test.tex b/Master/texmf-dist/doc/latex/expl3/l3xref-test.tex
deleted file mode 100644
index 65d229b2d2a..00000000000
--- a/Master/texmf-dist/doc/latex/expl3/l3xref-test.tex
+++ /dev/null
@@ -1,107 +0,0 @@
-%%
-%% This is file `l3xref-test.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3xref.dtx (with options: `testfile')
-%%
-%%
-%% EXPERIMENTAL CODE
-%%
-%% Do not distribute this file without also distributing the
-%% source files specified above.
-%%
-%% Do not distribute a modified version of this file.
-%%
-%%
-%% File: l3xref.dtx Copyright (C) 2006 LaTeX3 project
-%%
-%% It may be distributed and/or modified under the conditions of the
-%% LaTeX Project Public License (LPPL), either version 1.3c of this
-%% license or (at your option) any later version. The latest version
-%% of this license is in the file
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the ``expl3 bundle'' (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% The released version of this bundle is available from CTAN.
-%%
-%% -----------------------------------------------------------------------
-%%
-%% The development version of the bundle can be found at
-%%
-%% http://www.latex-project.org/cgi-bin/cvsweb.cgi/
-%%
-%% for those people who are interested.
-%%
-%%%%%%%%%%%
-%% NOTE: %%
-%%%%%%%%%%%
-%%
-%% Snapshots taken from the repository represent work in progress and may
-%% not work or may contain conflicting material! We therefore ask
-%% people _not_ to put them into distributions, archives, etc. without
-%% prior consultation with the LaTeX Project Team.
-%%
-%% -----------------------------------------------------------------------
-\def\GetIdInfo$Id: #1.dtx #2 #3-#4-#5 #6 #7$#8{%
- \def\fileversion{#2}%
- \def\filedate{#3/#4/#5}%
- \ProvidesFile{\jobname.tex}[#3/#4/#5 v#2 #8]%
-}
-\GetIdInfo$Id: l3xref.dtx 579 2006-11-25 23:38:03Z morten $
- {L3 Experimental cross referencing}
-\documentclass{article}
-\usepackage{l3xref}
-\CodeStart
-\def:Npn \startrecording {\iow_open:Nn \xref_write {\jobname.xref}}
-\def:Npn \DefineCrossReferences {
- \group_begin:
- \NamesStart
- \InputIfFileExists{\jobname.xref}{}{}
- \group_end:
-}
-\AtBeginDocument{\DefineCrossReferences\startrecording}
-
-\xref_new:nn {name}{}
-\def:Npn \setname{\tlp_set:Nn\l_xref_curr_name_tlp}
-\def:Npn \getname{\xref_get_value:nn{name}}
-
-\xref_deferred_new:nn {page}{\thepage}
-\def:Npn \getpage{\xref_get_value:nn{page}}
-
-\xref_deferred_new:nn {valuepage}{\number\value{page}}
-\def:Npn \getvaluepage{\xref_get_value:nn{valuepage}}
-
-\let:NN \setlabel \xref_set_label:n
-
-\CodeStop
-\begin{document}
-\pagenumbering{roman}
-
-Text\setname{This is a name}\setlabel{testlabel1}. More
-text\setname{This is another name}\setlabel{testlabel2}. \clearpage
-
-Text\setname{This is a third name}\setlabel{testlabel3}. More
-text\setname{Hello World!}\setlabel{testlabel4}. \clearpage
-
-\pagenumbering{arabic}
-
-Text\setname{Name 5}\setlabel{testlabel5}. More text\setname{Name
- 6}\setlabel{testlabel6}. \clearpage
-
-Text\setname{Name 7}\setlabel{testlabel 7}. More text\setname{Name
- 8}\setlabel{testlabel8}. \clearpage
-
-Now let's extract some values. \getname{testlabel1} on page
-\getpage{testlabel1} with value \getvaluepage{testlabel1}.
-
-Now let's extract some values. \getname{testlabel 7} on page
-\getpage{testlabel 7} with value \getvaluepage{testlabel 7}.
-\end{document}
-%%
-%%
-%% End of file `l3xref-test.tex'.
diff --git a/Master/texmf-dist/doc/latex/expl3/lbase.ini b/Master/texmf-dist/doc/latex/expl3/lbase.ini
deleted file mode 100644
index 9d21274ebb4..00000000000
--- a/Master/texmf-dist/doc/latex/expl3/lbase.ini
+++ /dev/null
@@ -1,65 +0,0 @@
-%%
-%% This is file `lbase.ini',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3final.dtx (with options: `ini')
-%%
-%%
-%% EXPERIMENTAL CODE
-%%
-%% Do not distribute this file without also distributing the
-%% source files specified above.
-%%
-%% Do not distribute a modified version of this file.
-%%
-%%
-%% File: l3final.dtx Copyright (C) 1990-2006 LaTeX3 project
-%%
-%% It may be distributed and/or modified under the conditions of the
-%% LaTeX Project Public License (LPPL), either version 1.3c of this
-%% license or (at your option) any later version. The latest version
-%% of this license is in the file
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the ``expl3 bundle'' (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% The released version of this bundle is available from CTAN.
-%%
-%% -----------------------------------------------------------------------
-%%
-%% The development version of the bundle can be found at
-%%
-%% http://www.latex-project.org/cgi-bin/cvsweb.cgi/
-%%
-%% for those people who are interested.
-%%
-%%%%%%%%%%%
-%% NOTE: %%
-%%%%%%%%%%%
-%%
-%% Snapshots taken from the repository represent work in progress and may
-%% not work or may contain conflicting material! We therefore ask
-%% people _not_ to put them into distributions, archives, etc. without
-%% prior consultation with the LaTeX Project Team.
-%%
-%% -----------------------------------------------------------------------
-%% Derived from a file by Thomas Esser
-
-\ifx\pdfoutput\undefined \else
- \ifx\pdfoutput\relax \else
- % We're building the latex format with the pdfetex engine (started 2004).
- % See this file for details.
- \input pdftex-dvi.tex
- \fi
-\fi
-
-%% the usual format initialization.
-%%\scrollmode
-\input lbase.ltx
-%%
-%%
-%% End of file `lbase.ini'.
diff --git a/Master/texmf-dist/doc/latex/expl3/readme.txt b/Master/texmf-dist/doc/latex/expl3/readme.txt
index e1012dc0353..895c54120da 100644
--- a/Master/texmf-dist/doc/latex/expl3/readme.txt
+++ b/Master/texmf-dist/doc/latex/expl3/readme.txt
@@ -3,7 +3,14 @@
A Possible LaTeX3 Programming Convention
========================================
- 2006/08/15
+ 2008/06/20
+
+
+WHERE TO GET IT
+---------------
+
+The current version of these packages can be obtained by following the
+instructions at <http://www.latex-project.org/code.html>.
OVERVIEW
@@ -14,16 +21,17 @@ level' programming in TeX. The syntax conventions described here are NOT
intended either for use in documents or for use in describing design
layouts in document class files.
-All aspects of these package are *experimental*. The names of the
+All aspects of these packages are *experimental*. The names of the
packages, and the names of any commands that they define, may change
at any time. They are being released in this form to allow public
discussion and comment.
Currently all the code is distributed in a format suitable for running
-as LaTeX2e packages. Further documentation may be produced by processing
-either the individual .dtx files, or the file source3.tex with
-LaTeX2e. The packages may be installed by processing l3.ins with
-plain TeX or LaTeX.
+as LaTeX2e packages. Further documentation may be produced by
+processing either the individual .dtx files, or the file source3.tex
+with LaTeX2e. The packages may be installed by processing l3.ins with
+plain TeX or LaTeX. In order to produce the documentation, you must
+have generated the package files.
This code has been developed over time and has been used in previous
versions for prototype implementations, experiments, etc. Its internal
@@ -35,30 +43,6 @@ would never have surfaced and, for the purpose of discussions and
comments, we hope its present form is adequate.
-NOTE (docstrip version)
------------------------
-
-If latex l3.ins
-produces the `docstrip interactive mode' prompt:
-
- * First type the extension of your input file(s): *
- \infileext=
-
-Then your version of docstrip is too old.
-Quit (eg by hitting `enter' to all questions) and get a newer
-docstrip.tex. It must be at least version 2.4.
-
-A suitable docstrip.tex may be found from `CTAN' archives such as
-ftp.dante.de tex-archive/macros/latex/unpacked/docstrip.tex
-
-Docstrip is part of the base LaTeX distribution, so if you have
-an old docstrip then your LaTeX is out of date and you may consider
-getting the whole of that directory and re-installing LaTeX.
-However you need to fetch only the file docstrip.tex to unpack
-this expl3 distribution with your existing format.
-
-
-
THE GUILTY PERSONS
------------------
@@ -86,10 +70,11 @@ BUGS
----
If you find a real bug that makes a package stop working you can
-report it via the standard latexbug.tex mechanism of the LaTeX
-distribution (see bugs.txt there) using the category "l3exp".
-However please do *not* use this method for suggestions / comments /
-improvements / etc. For this the list LATEX-L should be used instead.
+report it via the standard LaTeX bug reporting mechanism of the LaTeX
+distribution (see bugs.txt there) using the category "Experimental
+LaTeX kernel". However please do *not* use this method for
+suggestions / comments / improvements / etc. For this the list LATEX-L
+should be used instead.
Also please don't expect these package to work with *any* code that
floats around in the LaTeX2e world. :-)
@@ -325,6 +310,6 @@ This tests the io and precomp modules.
=====================================================================
---- Copyright 1998 -- 2006
+--- Copyright 1998 -- 2008
The LaTeX3 Project. All rights reserved ---
diff --git a/Master/texmf-dist/doc/latex/expl3/source3.pdf b/Master/texmf-dist/doc/latex/expl3/source3.pdf
index 5a3c071a71f..8091b95dff8 100644
--- a/Master/texmf-dist/doc/latex/expl3/source3.pdf
+++ b/Master/texmf-dist/doc/latex/expl3/source3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/expl3/source3.tex b/Master/texmf-dist/doc/latex/expl3/source3.tex
deleted file mode 100644
index e16341f586e..00000000000
--- a/Master/texmf-dist/doc/latex/expl3/source3.tex
+++ /dev/null
@@ -1,397 +0,0 @@
-% \iffalse
-%% File: source3.dtx Copyright (C) 1990-2006 LaTeX3 project
-%%
-%% It may be distributed and/or modified under the conditions of the
-%% LaTeX Project Public License (LPPL), either version 1.3c of this
-%% license or (at your option) any later version. The latest version
-%% of this license is in the file
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the ``expl3 bundle'' (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% The released version of this bundle is available from CTAN.
-%%
-%% -----------------------------------------------------------------------
-%%
-%% The development version of the bundle can be found at
-%%
-%% http://www.latex-project.org/cgi-bin/cvsweb.cgi/
-%%
-%% for those people who are interested.
-%%
-%%%%%%%%%%%
-%% NOTE: %%
-%%%%%%%%%%%
-%%
-%% Snapshots taken from the repository represent work in progress and may
-%% not work or may contain conflicting material! We therefore ask
-%% people _not_ to put them into distributions, archives, etc. without
-%% prior consultation with the LaTeX Project Team.
-%%
-%% -----------------------------------------------------------------------
-%% \fi
-
-% This document will typeset the LaTeX3 sources as a single document.
-% This will produce quite a large file (roughly ??? pages) and may
-% take a long time.
-%
-% Some notes on processing this document are contained at the end
-% of this document, after \end{document}
-%
-% DPC 1997/11/17
-% JLB 2005/03/09 copied from source2e.tex for l3in2e sources
-% First a special index style for makeindex
-%
-
-\begin{filecontents}{source3.ist}
-actual '='
-quote '!'
-level '>'
-preamble
-"\n \\begin{theindex} \n \\makeatletter\\scan@allowedfalse\n"
-postamble
-"\n\n \\end{theindex}\n"
-item_x1 "\\efill \n \\subitem "
-item_x2 "\\efill \n \\subsubitem "
-delim_0 "\\pfill "
-delim_1 "\\pfill "
-delim_2 "\\pfill "
-% The next lines will produce some warnings when
-% running Makeindex as they try to cover two different
-% versions of the program:
-lethead_prefix "{\\bfseries\\hfil "
-lethead_suffix "\\hfil}\\nopagebreak\n"
-lethead_flag 1
-heading_prefix "{\\bfseries\\hfil "
-heading_suffix "\\hfil}\\nopagebreak\n"
-headings_flag 1
-
-% and just for source3:
-% Remove R so I is treated in sequence I J K not I II III
-page_precedence "rnaA"
-\end{filecontents}
-
-\begin{filecontents}{l3doc.cfg}
- \DisableCrossrefs
- \AtEndOfClass{\OnlyDescription}
-\end{filecontents}
-
-\begin{filecontents}{l3full.cfg}
-
-% Set up the Index and Change History to use \part
- \IndexPrologue{\part*{Index}%
- \markboth{Index}{Index}%
- \addcontentsline{toc}{part}{Index}%
- The italic numbers denote the pages where the
- corresponding entry is described,
- numbers underlined point to the definition,
- all others indicate the places where it is used.}
-
- \GlossaryPrologue{\part*{Change History}%
-% Allow control names to be hyphenated here...
- {\GlossaryParms\ttfamily\hyphenchar\font=`\-}%
- \markboth{Change History}{Change History}%
- \addcontentsline{toc}{part}{Change History}}
-
- \RecordChanges
- \CodelineIndex
- \EnableCrossrefs
- \AlsoImplementation
- \setcounter{IndexColumns}{2}
-\end{filecontents}
-
-
-\documentclass{l3doc}
-
-\listfiles
-
-% Do not index some TeX primitives, and some common plain TeX commands.
-
-%% to be filled in later\DoNotIndex{...}
-% The standard \changes command modified slightly to better cope with
-% this multiple file document.
-%\makeatletter
-%\def\changes@#1#2#3{%
-% \let\protect\@unexpandable@protect
-% \edef\@tempa{\noexpand\glossary{#2\space\currentfile\space#1\levelchar
-% \ifx\saved@macroname\@empty
-% \space
-% \actualchar
-% \generalname
-% \else
-% \expandafter\@gobble
-% \saved@macroname
-% \actualchar
-% \string\verb\quotechar*%
-% \verbatimchar\saved@macroname
-% \verbatimchar
-% \fi
-% :\levelchar #3}}%
-% \@tempa\endgroup\@esphack}
-%\makeatother
-
-% Needed for documentation in ltoutenc.dtx
-\usepackage{textcomp}
-
-\begin{document}
- \title{The \LaTeX3 Sources}
- \author{\Team}
-
- \pagenumbering{roman}
- \maketitle
- \renewcommand\maketitle{}
-
- \tableofcontents
-
- \clearpage
-
- \pagenumbering{arabic}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Each of the following \DocInput lines includes a file with extension
-% .dtx. Each of these files may be typeset separately. For instance
-% latex l3boxes.dtx
-% will typeset the source of the LaTeX3 box commands.
-%
-% If this file is processed, each of these separate dtx files will be
-% contained as a part of a single document. Using ltxdoc.cfg you can
-% then optionally produce a combined index and/or change history for
-% the entire source of the format file. Note that such a document will
-% be quite large (about ??? pages).
-%
-
- \DocInput{l3names.dtx} % System dependant initialisation
-
- \DocInput{l3basics.dtx} %
-
- \DocInput{l3chk.dtx} % Checking assignments
-
- \DocInput{l3tlp.dtx} %
-
- \DocInput{l3expan.dtx} %
-
- \DocInput{l3num.dtx} %
-
- \DocInput{l3seq.dtx} %
-
- \DocInput{l3alloc.dtx} %
-
- \DocInput{l3io.dtx} %
-
- \DocInput{l3clist.dtx} %
-
- \DocInput{l3prop.dtx} %
-
- \DocInput{l3int.dtx} %
-
- \DocInput{l3skip.dtx} %
-
- \DocInput{l3toks.dtx} %
-
- \DocInput{l3messages.dtx} %
-
- \DocInput{l3box.dtx} %
-
- \DocInput{l3precom.dtx} %
-
- \DocInput{l3quark.dtx} %
-
- \DocInput{l3prg.dtx} %
-
- \DocInput{l3token.dtx} %
-
- \DocInput{l3xref.dtx} %
-
-%% \DocInput{l3vers.dtx} % Current version date
-
- \includeltpatch % Corrections distributed after the full release
-
-% Stop here if ltxdoc.cfg says \AtEndOfClass{\OnlyDescription}
-\StopEventually{\end{document}}
-
-\clearpage
-\pagestyle{headings}
-
-% Make TeX shut up.
-\hbadness=10000
-\newcount\hbadness
-\hfuzz=\maxdimen
-
-\typeout{%
- \string # Produce change log with^^J%
- makeindex -s gglo.ist -o source3.gls source3.glo}
-
-
-\PrintChanges
-
-\clearpage
-
-% makeindex needs a symbol between the parts of composite page numbers
-% but we dont want one, so:
-\typeout{%
- \string # Produce index with^^J%
- makeindex -s source3.ist source3.idx}
-
-\begingroup
-\def\endash{--}
-\catcode`\-\active
-\def-{\futurelet\temp\indexdash}
-\def\indexdash{\ifx\temp-\endash\fi}
-
-\PrintIndex
-\endgroup
-
-% Make sure that the index is not printed twice
-% (ltxdoc.cfg might have a second \PrintIndex command)
-\let\PrintChanges\relax
-\let\PrintIndex\relax
-
-\end{document}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-To use this file to produce a fully indexed source code
-you need to execute the following (or equivalent) commands:
-
- latex source3.tex
-
- makeindex -s source3.ist source3.idx
- makeindex -s gglo.ist -o source3.gls source3.glo
-
- latex source3.tex
- latex source3.tex
-
-
-The makeindex style source3.ist is used in place of the usual
-doc gind.ist to ensure that I is used in the sequence I J K
-not I II II, which would be the default makeindex behaviour.
-
-The third run with latex is only required to get the table of
-contents entries for the change log and index. You may speed things up
-by using the \includeonly mechanism so as not to typeset the source
-files on the second run. This involves changing the file
-ltxdoc.cfg
-between the latex runs.
-
-The following unix script automates this.
- (It could easily be ported to scripts for DOS or VMS,
- rm is ReMove a file, and echo "..." > file writes ... to "file".)
-
-
-After this script (after the second ==============) is a similar script
-that will produce the documentation for all the files in the base
-distribution that are *not* included in source3.dvi. This second script
-was requested, but before using it, beware it will take a long time!
-It may however be modified as required, eg to not typeset the fdd files
-or whatever...
-
-==============
-#!/bin/sh
-
-rm -f source3.gls source3.ind source3.toc
-
-# First run:
-# Create new standard ltxdoc.cfg file
-# Pass the (possibly empty) list of arguments supplied on the
-# command line to article class.
-#
-# If you use A4 paper, running this script with argument
-# a4paper
-# may save about 30 pages.
-#
-echo "\PassOptionsToClass{$*}{article}" > ltxdoc.cfg
-
-
-# Now LaTeX the file with this cfg file.
-#
-latex source3.tex
-
-
-# Make the Change log and Glossary.
-#
-makeindex -s source3.ist source3.idx
-makeindex -s gglo.ist -o source3.gls source3.glo
-
-
-# Second run: append \includeonly{} to ltxdoc.cfg to speed up things
-# (this run needed only to get changes and index listed in .toc file)
-#
-# Note that the index will not be made incorrect by the insertion
-# of the table of contents as the front matter uses a diferent page
-# numbering scheme.
-#
-echo "\includeonly{}" >> ltxdoc.cfg
-
-latex source3.tex
-
-
-# Third and final run, to put everything together.
-# First restore the cfg file:
-#
-echo "\PassOptionsToClass{$*}{article}" > ltxdoc.cfg
-latex source3.tex
-
-
-==============
-#!/bin/sh
-
-# Running this script will process all the dtx fdd and *guide.tex
-# and ltnews*.tex files in the LaTeX distribution, except the dtx
-# files included in source3.tex.
-# (The shell first script in the comments of source3.tex will
-# process those.)
-
-# Any command line arguments (eg a4paper) are taken as options to the
-# article class.
-
-# This script is likely to take ages!
-
-echo "\PassOptionsToClass{$*}{article}" > ltxdoc.cfg
-echo "\batchmode" >> ltxdoc.cfg
-
-# The next four lines produce full indexes and change logs
-# you may not want those.
-echo "\AtBeginDocument{\RecordChanges}" >> ltxdoc.cfg
-echo "\AtEndDocument{\PrintChanges}" >> ltxdoc.cfg
-echo "\AtBeginDocument{\CodelineIndex\EnableCrossrefs}" >> ltxdoc.cfg
-echo "\AtEndDocument{\PrintIndex}" >> ltxdoc.cfg
-
-# If you do not want any code listings, just documentation, then instead
-# of the above four lines, uncomment the following:
-# echo "\AtBeginDocument{\OnlyDescription}" >> ltxdoc.cfg
-
-echo "\PassOptionsToClass{$*}{article}" > ltxguide.cfg
-echo "\batchmode" >> ltxguide.cfg
-
-cp ltxguide.cfg ltnews.cfg
-
-
-for i in *dtx *fdd *guide.tex ltnews*.tex
-do
-B=`basename $i .dtx`
-
-if (grep "Include{$B}" source3.tex >/dev/null ; )
-then
-echo In source3: $i
-else
-echo latex $i
- if (latex $i > /dev/null)
- then
- echo latex $i
- latex $i > /dev/null
- echo makeindex -s gind.ist $B.idx
- makeindex -s gind.ist $B.idx > /dev/null 2> /dev/null
- echo makeindex -s gglo.ist -o $B.gls $B.glo
- makeindex -s gglo.ist -o $B.gls $B.glo > /dev/null 2> /dev/null
- echo latex $i
- latex $i > /dev/null
- else
- echo "!!! LaTeX ERROR: $i. (See $B.log.)"
- fi
-fi
-
-done
diff --git a/Master/texmf-dist/doc/latex/expl3/test1.tex b/Master/texmf-dist/doc/latex/expl3/test1.tex
deleted file mode 100644
index d40189e37dc..00000000000
--- a/Master/texmf-dist/doc/latex/expl3/test1.tex
+++ /dev/null
@@ -1,89 +0,0 @@
-% \iffalse
-%% File: test1 Copyright (C) 1990-2006 LaTeX3 project
-%%
-%% It may be distributed and/or modified under the conditions of the
-%% LaTeX Project Public License (LPPL), either version 1.3c of this
-%% license or (at your option) any later version. The latest version
-%% of this license is in the file
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the ``expl3 bundle'' (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% The released version of this bundle is available from CTAN.
-%%
-%% -----------------------------------------------------------------------
-%%
-%% The development version of the bundle can be found at
-%%
-%% http://www.latex-project.org/cgi-bin/cvsweb.cgi/
-%%
-%% for those people who are interested.
-%%
-%%%%%%%%%%%
-%% NOTE: %%
-%%%%%%%%%%%
-%%
-%% Snapshots taken from the repository represent work in progress and may
-%% not work or may contain conflicting material! We therefore ask
-%% people _not_ to put them into distributions, archives, etc. without
-%% prior consultation with the LaTeX Project Team.
-%%
-%% -----------------------------------------------------------------------
-%%
-\def\next$Id: #1.tex #2 #3-#4-#5 #6 #7$#8{%
- \def\fileversion{#2}%
- \def\filedate{#3/#4/#5}%
- \ProvidesFile{#1.tex}[#3/#4/#5 v#2 #8]%
-}
-\next$Id: test1.tex 573 2006-08-21 20:59:37Z morten $
- {L3 Test 1}
-% \fi
-
-\documentclass{article}
-
-\tracingmacros2
-\usepackage{l3expan,l3io}
-
-\begin{document}
-
-\CodeStart
-
-
-\def_new:Npn\test_cmd:nn#1#2{
- \iow_unexpanded_term:n{}
- \iow_unexpanded_term:n{Argument~1:~#1}
- \iow_unexpanded_term:n{Argument~2:~#2}}
-
-
-
-\def:Npn\a{A}
-\def:Npn\b{B}
-
-\def:Npn\aa{\a}
-\def:Npn\bb{\b}
-
-\exp_def_form:nnn {test_cmd}{nn}{oo}
-\exp_def_form:nnn {test_cmd}{nn}{xx}
-\exp_def_form:nnn {test_cmd}{nn}{cc}
-\exp_def_form:nnn {test_cmd}{nn}{nx}
-
-\test_cmd:nn{a}{b}
-
-\test_cmd:nn{\a}{\b}
-
-\test_cmd:oo\aa\bb
-
-\test_cmd:xx\aa\bb
-
-\test_cmd:cc{a}{b}
-
-\test_cmd:nx{a}{\b}
-
-\CodeStop
-
-\LaTeX\ still works!
-
-\end{document}
-
diff --git a/Master/texmf-dist/doc/latex/expl3/test2.tex b/Master/texmf-dist/doc/latex/expl3/test2.tex
deleted file mode 100644
index 764ad74fc39..00000000000
--- a/Master/texmf-dist/doc/latex/expl3/test2.tex
+++ /dev/null
@@ -1,73 +0,0 @@
-% \iffalse
-%% File: test2 Copyright (C) 1990-2006 LaTeX3 project
-%%
-%% It may be distributed and/or modified under the conditions of the
-%% LaTeX Project Public License (LPPL), either version 1.3c of this
-%% license or (at your option) any later version. The latest version
-%% of this license is in the file
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the ``expl3 bundle'' (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% The released version of this bundle is available from CTAN.
-%%
-%% -----------------------------------------------------------------------
-%%
-%% The development version of the bundle can be found at
-%%
-%% http://www.latex-project.org/cgi-bin/cvsweb.cgi/
-%%
-%% for those people who are interested.
-%%
-%%%%%%%%%%%
-%% NOTE: %%
-%%%%%%%%%%%
-%%
-%% Snapshots taken from the repository represent work in progress and may
-%% not work or may contain conflicting material! We therefore ask
-%% people _not_ to put them into distributions, archives, etc. without
-%% prior consultation with the LaTeX Project Team.
-%%
-%% -----------------------------------------------------------------------
-%%
-\def\next$Id: #1.tex #2 #3-#4-#5 #6 #7$#8{%
- \def\fileversion{#2}%
- \def\filedate{#3/#4/#5}%
- \ProvidesFile{#1.tex}[#3/#4/#5 v#2 #8]%
-}
-\next$Id: test2.tex 573 2006-08-21 20:59:37Z morten $
- {L3 Test 2}
-% \fi
-
-
-\RequirePackage[removeoldnames]{l3names}
-\RequirePackage{l3expan}
-
-\CodeStart
-
-
-\def_new:Npn\foo:nn#1#2{\def:Npn\xxx{(#1)(#2)}\tex_show:D\xxx}
-
-\def:Npn\a{A}\def:Npn\b{B}
-\def:Npn\aa{\a}\def:Npn\bb{\b}
-
-\def:Npn\foo:oo{\exp_args:Noo\foo:nn}
-\def:Npn\foo:xx{\exp_args:Nxx\foo:nn}
-\def:Npn\foo:cc{\exp_args:Ncc\foo:nn}
-\def:Npn\foo:nx{\exp_args:Nnx\foo:nn}
-
-\foo:nn{a}{b}
-
-\foo:nn{\a}{\b}
-
-\foo:oo\aa\bb
-
-\foo:xx\aa\bb
-
-\foo:cc{a}{b}
-
-\foo:nx{a}{\b}
-
-\tex_end:D
diff --git a/Master/texmf-dist/doc/latex/expl3/test3.tex b/Master/texmf-dist/doc/latex/expl3/test3.tex
deleted file mode 100644
index 3dd5f714d35..00000000000
--- a/Master/texmf-dist/doc/latex/expl3/test3.tex
+++ /dev/null
@@ -1,135 +0,0 @@
-% \iffalse
-%% File: test2 Copyright (C) 1990-2006 LaTeX3 project
-%%
-%% It may be distributed and/or modified under the conditions of the
-%% LaTeX Project Public License (LPPL), either version 1.3c of this
-%% license or (at your option) any later version. The latest version
-%% of this license is in the file
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the ``expl3 bundle'' (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% The released version of this bundle is available from CTAN.
-%%
-%% -----------------------------------------------------------------------
-%%
-%% The development version of the bundle can be found at
-%%
-%% http://www.latex-project.org/cgi-bin/cvsweb.cgi/
-%%
-%% for those people who are interested.
-%%
-%%%%%%%%%%%
-%% NOTE: %%
-%%%%%%%%%%%
-%%
-%% Snapshots taken from the repository represent work in progress and may
-%% not work or may contain conflicting material! We therefore ask
-%% people _not_ to put them into distributions, archives, etc. without
-%% prior consultation with the LaTeX Project Team.
-%%
-%% -----------------------------------------------------------------------
-%%
-% \fi
-\documentclass{article}
-
-\usepackage{l3precom}
-
-% let's dump what is known about the LaTeX internals so far.
-% this will not be much as the very basic stuff doesn't get
-% dumped and we haven't got anything else.
-%
-\dumpLaTeXstate{test1}
-
-\CodeStart
-
-% we need some variants of tlp_set which are not yet
-% defined for use in the code below.
-%
-\exp_def_form:nnn{tlp_set}{Nn}{on}
-\exp_def_form:nnn{tlp_gset}{Nn}{on}
-
-% okay, here we either load a dump file (testdump.cmp)
-% and then jump tp \cs_dump: or we compile one for next time.
-% don't forget that if you change code below it will only have any
-% affect if a new dump file is written so you may have to remove
-% the existing one.
-%
-\cs_load_dump:n{testdump}
-
-% two test definitions
-%
-\def_new:Npn\foo{some foo}
-\def_new:Npn\baz{some baz}
-
-% we say that \foo should be dumped in the compiled style.
-% this is pretty useless as it is certainly not faster than defining
-% it in the first place. but this is only done for showing that it
-% works. just assume that \foo is actually a pretty difficult
-% definition which does need a lot of static compilation due to
-% parsing, comparing values, etc., so that it is much faster load the
-% final version rather than do the compilation each time again.
-%
-% btw note that \baz is not dumped and will not be available in the
-% production run (ie the one using the cmp file)
-%
-\cs_record_name:N\foo
-
-% get our self a scratch register (again this will not be available in
-% the production run)
-%
-\tlp_new:Nn\l_scratch_tlp{}
-
-% now we generate a unique cs name and assign it the string "foo".
-% again pretty useless example. but with this mechansim you can build
-% complex graph structures etc using these names as pointers, etc. and
-% in such a case you need to dump the state of your graph at some
-% point to be able to load it very fast in production.
-%
-\cs_gen_sym:N\l_scratch_tlp{}
-\tlp_set:on \l_scratch_tlp {foo}
-
-% ditto for a global unique name
-%
-\cs_ggen_sym:N\l_scratch_tlp{}
-\tlp_gset:on \l_scratch_tlp {bar}
-
-% and now we dump the whole rubbish. In the current implementation
-% only csnames can be precompiled, perhaps registers should be handled
-% similarly.
-%
-\cs_dump:
-
-% and some int register to show something in the second LaTeX state
-% dump.
-%
-\int_new:N\l_my_int
-\int_set:Nn\l_my_int{42}
-%
-% as the allocation routines are not distributed we have to do this
-% manually.
-%
-\register_record_name:N\l_my_int
-
-\dumpLaTeXstate{test2}
-
-% and changing something ... what happens with the LaTeX state?
-%
-\int_set:Nn\l_my_int{0}
-\def:Npn\file_not_found:nTF#1#2#3{}
-
-\dumpLaTeXstate{test3}
-
-\CodeStop
-
-\begin{document}
-
-\LaTeX\ still works!
-
-\end{document}
-
-
-
-