summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/expl3/readme-dev.txt
blob: bae4259fe224636ae28c575e3414af72bf3dde9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120

   The EXPL3 bundle for LaTeX3 Programming
   =======================================

GETTING STARTED for developers
------------------------------

Welcome!
This is a short guide to how the expl3 bundle is set up,
and how you can get started programming with and
contributing to it.

First, some signposts:
Email discussion list     <http://news.gmane.org/gmane.comp.tex.latex.latex3>
SVN repository     <http://www.latex-project.org/svnroot/experimental/trunk/>
SVN repository RRS feed          <http://www.latex-project.org/latex3svn.rss>

Those interested in receiving emails containing the diff
of every commit to the repository should ask on the discussion list.

For more information, please look in the official README 
and in the documentation expl3.pdf.


INSTALLATION
------------

When you pull down the SVN repository, you'll generally
want two things: the actual packages files so you can
use the `expl3` bundle, and the documentation.

## Obtaining the code in the SVN repository

Execute something like this:

    mkdir l3svn
    svn checkout http://www.latex-project.org/svnroot/experimental/trunk/ l3svn

This will give you both the xpackages and the expl3 bundle 
contained within the `l3in2e/` directory, plus a few extras. 
This readme only concerns the expl3 bundle.


## Package files

Install `expl3` in your local texmf directory with

   make localinstall

The installation directory is detected automatically,
and in a normal TeXLive distribution will be used
in preference to any existing `expl3` code directory.
(I.e., after the above command your regular documents
will use the new versions of the modules.)


## Documentation

For an individual module, generate the documentation with

    make doc F=<module>
    
For example, `make doc F=l3quark`. This will produce 
`l3quark.pdf`, which includes the documentation for that 
module and its implementation source code.

To generate the complete reference documentation for
the `expl3` bundle, source3.pdf:

    make sourcedoc
  
Note that source3.pdf does not include the modules'
implementation source code; therefore, source3.pdf is a
rough subset (plus index) of the complete set of typeset 
module PDFs.

To generate `source3.pdf` and the documentation for 
each module, run

    make alldoc


HACKING
-------

There are two main things you need to know when making
changes to the expl3 bundle.

1. We have a regression test suite
2. Don't break it

To make sure things are working, run

    make check
    
If you change something, run that again. All working? Great!
Please send your diffs to the discussion list and we can talk
about adding your code.

You can find more information about the test suite in
  
    l3in2e/testfiles/README.txt

On a less critical level, we also have a method to check
that our documentation is somewhat self-consistent. Run

    make checkdoc
  
and each module will be compiled and verified that what
is defined in the module is also documented.

Note that it only checks what we *claim* we are defining
in the documentation; it does not literally check the code. 
It will also check that each module's documentation 
still compiles without errors.


--- Copyright 1998 -- 2009
    The LaTeX3 Project.  All rights reserved ---