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
|
+------------------------------------+
| NEWCOMMAND.PY |
| |
| More flexible argument processing |
| than what \newcommand provides |
| |
| By Scott Pakin, scott+nc@pakin.org |
+------------------------------------+
Description
-----------
LaTeX's \newcommand is fairly limited in the way it processes optional
arguments, but the TeX alternative, a batch of \defs and \futurelets,
can be overwhelming to the casual LaTeX user. newcommand.py is a
Python program that automatically generates LaTeX macro definitions
for macros that require more powerful argument processing than
\newcommand can handle. newcommand.py is intended for LaTeX advanced
beginners (i.e., those who know how to use \newcommand but not
internal LaTeX2e commands such as \@ifnextchar) and for more advanced
users who want to save some typing when defining complex macros.
With newcommand.py, the user specifies a template for a macro's
arguments. newcommand.py then custom-generates a macro definition
according to the user's specifications and includes a user-friendly
"Put code here" comment to indicate where the macro's main code should
appear. newcommand.py supports arbitrary interleavings of required
and optional arguments, starred macros, mandatory literal text, macros
with more than nine arguments, optional arguments delimited by
parentheses instead of square brackets, and optional arguments whose
value defaults to the value given for a prior argument. The generated
macros can easily be pasted into a LaTeX document and edited as
desired.
Installation
------------
You'll need a Python interpreter (http://www.python.org/). Besides
that, just make sure that newcommand.py is placed somewhere in your
path and that spark.py is somewhere that newcommand.py can find it.
Copyright and license
---------------------
Copyright (C) 2010 Scott Pakin, scott+nc@pakin.org
This package may be distributed and/or modified under the conditions
of the LaTeX Project Public License, either version 1.3c of this
license or (at your option) any later version. The latest version of
this license is in:
http://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX version
2006/05/20 or later.
|