diff options
author | Karl Berry <karl@freefriends.org> | 2009-06-09 23:31:15 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-06-09 23:31:15 +0000 |
commit | 215b9a864d5829070bdc66ba736986eb72e5143e (patch) | |
tree | fe0882c81fc4ec945cee4b512f72eaa21ea5f791 /Master/texmf-dist/doc/latex/expl3/README | |
parent | df90ec06321940c2f066b05e12f1b5ab099105da (diff) |
expl3 1407 (9jun09)
git-svn-id: svn://tug.org/texlive/trunk@13686 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/expl3/README')
-rw-r--r-- | Master/texmf-dist/doc/latex/expl3/README | 289 |
1 files changed, 289 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/expl3/README b/Master/texmf-dist/doc/latex/expl3/README new file mode 100644 index 00000000000..67059036d41 --- /dev/null +++ b/Master/texmf-dist/doc/latex/expl3/README @@ -0,0 +1,289 @@ + + An Experimental LaTeX3 Programming Convention + ============================================= + + 2009/06/02 + + +WHERE TO GET IT +--------------- + +The files in this distribution represent a snapshot of selected files +from the Subversion (SVN) repository of the LaTeX3 Project. + +To obtain current versions of the files, visit +<http://www.latex-project.org/code.html> which contains further +instructions. + +OVERVIEW +-------- + +The files of the expl3 bundle provide a low-level API for TeX +programmers with special syntax conventions, completely separating it +from document level syntax. Hence, the commands provided are not +intended for use at the document level nor for use in describing +design layouts in document class files. + +This API provides the foundation on which the LaTeX3 kernel and other +advanced extensions are built. Special care has been taken so that +they can be used within a LaTeX2e context as regular packages. + +While expl3 is still experimental, the bundle is now regarded as +broadly stable. The syntax conventions and functions provided are now +ready for wider use. There may still be changes to some functions, but +these will be minor when compared to the scope of expl3. + + +THE GUILTY PERSONS +------------------ + + Frank Mittelbach, Denys Duchier, Johannes Braams, Michael Downes, + David Carlisle, Alan Jeffrey, Chris Rowley, Rainer Schoepf + Javier Bezos, Morten Hoegholm, Thomas Lotze, Will Robertson, + Joseph Wright + + +DISCUSSION +---------- + +Discussion concerning the approach, suggestions for improvements, changes, +additions, etc. should be addressed to the list LATEX-L. + +You can subscribe to this list by sending mail to + + listserv@urz.uni-heidelberg.de + +with the body containing + + subscribe LATEX-L <Your-First-Name> <Your-Second-Name> + + +BUGS +---- + +If you find a real bug that makes a package stop working you can +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. :-) + + + +MANIFEST +-------- + +The following packages are in this release: + + +l3names +======= + +Documents the general naming scheme, and gives new names to all the TeX +primitives. + +If this package is used with the option [removeoldnames] then the +original TeX primitive names (\hbox, \def, ...) are made *undefined* and +so free to be defined for other purposes if needed. Of course this +breaks almost all existing LaTeX2 code, but it may be used for testing +purposes, see test2.tex. + +The option removeoldnames has been disabled temporarily. + +l3basics +======== + +Some basic definitions that are used by the other packages. + +l3chk +===== + +Functions that check definitions. +(Comparable to LaTeX2's \newcommand/\renewcommand.) + +l3alloc +======= + +Generic functions for allocating registers. + +l3toks +====== + +TeX's token registers. (Can be compiled with checking enabled) + +l3tl +===== + +Token Lists and Token List variables, a basic LaTeX3 datatype for storing +token lists. (These are essentially macros with no arguments.) The module also +provides functions for arbitrary token lists. (Package can be compiled +with checking enabled.) + +l3expan +======= + +The argument expansion module. One of the main features of the language +proposed here is a systematic treatment of the handling of argument +expansion. The basic functions for preprocessing command arguments are +defined here. + +l3quark +======= + +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. + +l3seq +===== + +A module implementing the basic list and stack datatypes. + +l3clist +======= + +A module implementing the handling of comma separated lists + +l3prop +====== + +Property lists are the datatype for handling key/value assignments. + +l3int +===== + +Integer and fake integer registers. With eTeX/Omega becoming more and +more accessible this module is, at least in parts only of historical +significance. (Can be compiled with checking enabled) + +l3num +===== + +Storing numbers as token-lists in macros + +l3skip +====== + +Dealing with length registers + +l3precom +========= + +Low-level pointer-related code, with further checking and tracing. + +l3io +==== + +Low-level input and ouput. + +l3prg +===== + +Experimental control structures. This covers booleans and various +other code. + +l3box +===== + +Low level box handling code + +l3token +===== + +Functions that investigate tokens and determine of which categories +they are. For instance, is the token in question expandable or not? Is +it a macro taking arguments? Also functions for peeking ahead in the +token stream. + +l3xref +===== + +Module providing the low-level interface for cross references. This +module also contains a test file which is generated along with the +package. + +l3msg +===== + +Module providing a new mechanism to provide user messages. + +l3calc +===== + +Module for using infix notation for the built-in register types +(lengths and counters). + +l3keyval +===== + +Module for extracting data from a key=val list for further processing. + +===================================================================== + +Install file +============= + +l3.ins +====== + +Process with plain TeX or LaTeX2e to generate the experimental +packages. + +===================================================================== + +Experimental LaTeX3 Format +========================== + +l3vers.dtx +========== + +This file contains the version information and other release related +coding. + +l3final.dtx +=========== + +This file is reserved for the last minute coding for producing a +format (such as the dump instruction). + +l3format.ins +============ + +Process with plain TeX or LaTeX2e to generate the experimental +format file lbase.ltx and its companion lbase.ini. +The run pdfetex --ini "*lbase.ini" to produce the experimental +format. + +===================================================================== + +source3.tex +=========== + +Run this file with pdfLaTeX: +pdflatex source3 to produce the documentation. +Doing this will produce three extra files (source3.ist, l3doc.cfg and +l3full.cfg). The first of these is a style file for makeindex; the +others or configuration files for the documentation class. +If you want to full documentation including the code listings than +rename l3full.cfg to l3doc.cfg and run LaTeX again. +Alternatively, run (in extended mode) + pdflatex "\PassOptionsToClass{full}{l3doc}\input{source3}" +After that run makeindex to produce the index, like so: +makeindex -s source3.ist source3 +and rerun LaTeX. + +expl3.dtx +========= + +This provides a single "load point" for the entire expl3 bundle. +Running pdflatex expl3.dtx will produce a general overview document +explaining the basics of expl3 programming. + +===================================================================== + +--- Copyright 1998 -- 2009 + The LaTeX3 Project. All rights reserved --- + |