diff options
author | Karl Berry <karl@freefriends.org> | 2010-03-09 19:01:45 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-03-09 19:01:45 +0000 |
commit | f49787d34b3d88f0739926730aaf7543206fbf70 (patch) | |
tree | 41c6647fad73ba71b374534e06f1b70da7ee1abf /Master/texmf-dist/doc/support | |
parent | 57003d47895ba53223608347c9d5a9133767a438 (diff) |
new script de-macro (12sep08)
git-svn-id: svn://tug.org/texlive/trunk@17399 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/support')
-rw-r--r-- | Master/texmf-dist/doc/support/de-macro/README | 92 | ||||
-rw-r--r-- | Master/texmf-dist/doc/support/de-macro/user-guide.pdf | bin | 0 -> 50828 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/support/de-macro/user-guide.tex | 119 |
3 files changed, 211 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/support/de-macro/README b/Master/texmf-dist/doc/support/de-macro/README new file mode 100644 index 00000000000..aee8708d405 --- /dev/null +++ b/Master/texmf-dist/doc/support/de-macro/README @@ -0,0 +1,92 @@ +Copyright 2005 Peter Gacs +Licensed under the Academic Free Licence version 2.1 + + DE-MACRO + +Version 1.3 - this version is much more conservative about deleting + comments and inserting or deleting blank space: tries to + leave in all comments, adds space only when necessary, and + tries not to delete space in the main text. + The motivating comments came from Daniel Webb. +Version 1.2 - a syntactical bug corrected, thanks Brian de Alwis! + + +PURPOSE + +This program can eliminate most private macros from a LaTeX file. +Applications: + - your publisher has difficulty dealing with many private macros + - you cooperate with colleagues who do not understand your macros + - preprocessing before a system like latex2html, which is somewhat + unpredictable with private macros. + +PLATFORM + +This is a Python program, which I only have tried to run under Unix. But +the Unix dependence is minimal (for example all the directory path +references are platform-independent). It should be easy to adapt the +program to Windows, and also to avoid command-line arguments. + +In case your Python is not in /usr/bin, you should change the +top line (the "shebang" line) of the program accordingly. +This top line uses the -O option for python (stands for "optimize"). +Without it, the program may run too slowly. If you do not care for speed, +a number of other complications (the database, the checking for newer +versions) could be eliminated. + +USAGE + +Warning: this documentation contains "less" and "greater" signs. +Important information is lost when it is displayed as html. +Click directly on the README file instead! + +Command line: + +de-macro [--defs <defs-db>] <tex-file-1>[.tex] [<tex-file-2>[.tex] ...] + +Simplest example: de-macro testament + +(As you see, the <> is used only in the notation of this documentation, +you do should not type it.) + +If <tex-file-i> contains a command \usepackage{<defs-file>-private} +then the file <defs-file>-private.sty will be read, and its macros will be +replaced in <tex-file-i> with their definitions. +The result is in <tex-file-i>-clean.tex. + +Only newcommand, renewcommand, newenvironment, and renewenvironment are +understood (it does not matter, whether you write new or renew). +These can be nested but do not be too clever, since I do not +guarantee the same expansion order as in TeX. + +FILES + +<tex-file-1>.db +<tex-file>-clean.tex +<defs-file>-private.sty + +For speed, a macro database file called <defs-file>.db is created. +If such a file exists already then it is used. +If <defs-file>-private.sty is older than <tex-file-1>.db then it will not +be used. + +It is possible to specify another database filename via --defs <defs-db>. +Then <defs-db>.db will be used. + +(Warning: with some Python versions and/or Unix platforms, the database +file name conventions may be different from what is said here.) + +For each <tex-file-i>, a file <tex-file-i>-clean.tex will be produced. +If <tex-file-i>-clean.tex is newer than <tex-file-i>.tex then it stays. + +INPUT COMMAND + +If a tex file contains a command \input{<tex-file-j>} or \input <tex-file-j> +then <tex-file-j>.tex is processed recursively, and <tex-file-j>-clean.tex +will be inserted into the final output. +For speed, if <tex-file-j>-clean.tex is newer than <tex-file-j>.tex +then <tex-file-j>.tex will not be reprocessed. + +The dependency checking is not sophisticated, so if you rewrite some macros +then remove all *-clean.tex files! + diff --git a/Master/texmf-dist/doc/support/de-macro/user-guide.pdf b/Master/texmf-dist/doc/support/de-macro/user-guide.pdf Binary files differnew file mode 100644 index 00000000000..7e5ea4d8db1 --- /dev/null +++ b/Master/texmf-dist/doc/support/de-macro/user-guide.pdf diff --git a/Master/texmf-dist/doc/support/de-macro/user-guide.tex b/Master/texmf-dist/doc/support/de-macro/user-guide.tex new file mode 100644 index 00000000000..0fc17a32e3f --- /dev/null +++ b/Master/texmf-dist/doc/support/de-macro/user-guide.tex @@ -0,0 +1,119 @@ +\documentclass[11pt]{article} + +\topmargin=0in +\oddsidemargin=0.25in +\evensidemargin=0.25in +\textwidth=6in +\textheight=8in + +\setlength{\vfuzz}{4pt} % to ignore trivial vertical overfull boxes +\sloppy + +\usepackage[noBBpl]{mathpazo} +\usepackage{enumerate} + + \begin{document} + + \title{DE-MACRO} + + \author{Copyright 2005-2007 P\'eter G\'acs\\ +Licensed under the Academic Free Licence version 2.1} + +\maketitle + +Version 1.3 - this version is much more conservative about deleting + comments and inserting or deleting blank space: tries to + leave in all comments, adds space only when necessary, and + tries not to delete space in the main text. + The motivating comments came from Daniel Webb. + +Version 1.2 - a syntactical bug corrected, thanks Brian de Alwis! + + \section*{Purpose} + +This program can eliminate most private macros from a LaTeX file. +Applications: + \begin{enumerate}[--] + \item your publisher has difficulty dealing with many private macros + \item you cooperate with colleagues who do not understand your macros + \item preprocessing before a system like latex2html, which is somewhat + unpredictable with private macros. + \end{enumerate} + + \section*{Platform} + +This is a Python program, which I only have tried to run under Unix. +But the Unix dependence is minimal (for example all the directory path +references are platform-independent). +It should be easy to adapt the +program to Windows, and also to avoid command-line arguments. + +In case your Python is not in \verb`/usr/bin`, you should change the +top line (the "shebang" line) of the program accordingly. +This top line uses the \verb`-O` option for python (stands for ``optimize''). +Without it, the program may run too slowly. +If you do not care for speed, +a number of other complications (the database, the checking for newer +versions) could be eliminated. + + \section*{Usage} + +Command line: + \begin{verbatim} + de-macro [--defs <defs-db>] <tex-file-1>[.tex] [<tex-file-2>[.tex] ...] + \end{verbatim} +{\bfseries Simplest example:} \verb`de-macro testament`\\[0pt] +(As you see, the \verb`<>` is used only in the notation of this +documentation, you should not type it.) + +If \verb`<tex-file-i>` contains a command +\verb`\usepackage{<defs-file>-private}` +then the file \verb`<defs-file>-private.sty` +will be read, and its macros will be +replaced in \verb`<tex-file-i>` with their definitions. +The result is in \verb`<tex-file-i>-clean.tex`. + +Only \verb`newcommand`, \verb`renewcommand`, +\verb`newenvironment` and \verb`renewenvironment` are +understood (it does not matter, whether you write \verb`new` or +\verb`renew`). +These can be nested but do not be too clever, since I do not +guarantee the same expansion order as in TeX. + + \section*{Files} + + \begin{verbatim} +<tex-file-1>.db +<tex-file>-clean.tex +<defs-file>-private.sty + \end{verbatim} +For speed, a macro database file called \verb`<defs-file>.db` is created. +If such a file exists already then it is used. +If \verb`<defs-file>-private.sty` is older than \verb`<tex-file-1>.db` +then it will not be used. + +It is possible to specify another database filename via \verb`--defs <defs-db>`. +Then \verb`<defs-db>.db` will be used. + +(Warning: with some Python versions and/or Unix platforms, the database +file name conventions may be different from what is said here.) + +For each \verb`<tex-file-i>`, a file \verb`<tex-file-i>-clean.tex` +will be produced. +If \verb`<tex-file-i>-clean.tex` is newer than \verb`<tex-file-i>.tex` +then it stays. + + \section*{Input command} + +If a tex file contains a command \verb`\input{<tex-file-j>}` or +\verb`\input <tex-file-j>` +then \verb`<tex-file-j>.tex` is processed recursively, and +\verb`<tex-file-j>-clean.tex` will be inserted into the final output. +For speed, if \verb`<tex-file-j>-clean.tex` is newer than +\verb`<tex-file-j>.tex` then \verb`<tex-file-j>.tex` will not be +reprocessed. + +The dependency checking is not sophisticated, so if you rewrite some macros +then remove all \verb`*-clean.tex` files! + + \end{document} |