Menu
CTAN
Comprehensive TeX Archive Network
Cover Upload Browse Search

Direc­tory tex-archive/support/newcommand

		+------------------------------------+
                |           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.

Files

Name Size Date Notes
README 2336 2010-06-01 03:35
newcommand.pdf 404178 2010-06-02 04:58
newcommand.py 26992 2010-06-01 06:06
newcommand.tex 23847 2010-06-01 07:57
spark.py 14285 2003-09-26 19:09

Down­load the con­tents of this pack­age in one zip archive (399.0k).

new­com­mand – Gen­er­ate new LaTeX com­mand def­i­ni­tions

Gen­er­at­ing any other than the sim­ple \new­com­mand-style com­mands, in LaTeX, is te­dious (in the least). This script al­lows the spec­i­fi­ca­tion of com­mands in a ‘nat­u­ral’ style; the script then gen­er­ates macros to de­fine the com­mand.

Pack­age De­tailsnew­com­mand
Ver­sion2.0
Li­censeThe LaTeX Project Public Li­cense
Copy­right2008 Scott Pakin
Main­tainerScott Pakin
Con­tained inTeXlive as new­com­mand
Topics sup­port for de­vel­op­ment of (La)TeX macros
Guest Book Sitemap Contact