texlive[46702] trunk: makedtx (21feb18)

commits+karl at tug.org commits+karl at tug.org
Thu Feb 22 00:30:26 CET 2018


Revision: 46702
          http://tug.org/svn/texlive?view=revision&revision=46702
Author:   karl
Date:     2018-02-22 00:30:25 +0100 (Thu, 22 Feb 2018)
Log Message:
-----------
makedtx (21feb18)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/makedtx/makedtx.pl
    trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
    trunk/Master/texmf-dist/doc/support/makedtx/makedtx.pdf
    trunk/Master/texmf-dist/scripts/makedtx/makedtx.pl
    trunk/Master/texmf-dist/source/support/makedtx/makedtx.dtx
    trunk/Master/texmf-dist/source/support/makedtx/makedtx.ins

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/support/makedtx/CHANGES.org
    trunk/Master/texmf-dist/doc/support/makedtx/README.txt
    trunk/Master/texmf-dist/doc/support/makedtx/latexmkrc.pl
    trunk/Master/texmf-dist/doc/support/makedtx/makedtx-version.tex
    trunk/Master/texmf-dist/tex/latex/makedtx/createdtx.sty

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/support/makedtx/CHANGES
    trunk/Master/texmf-dist/doc/support/makedtx/README
    trunk/Master/texmf-dist/doc/support/makedtx/creatdtx.perl
    trunk/Master/texmf-dist/doc/support/makedtx/makedtx-manual.html
    trunk/Master/texmf-dist/tex/latex/makedtx/creatdtx.sty

Modified: trunk/Build/source/texk/texlive/linked_scripts/makedtx/makedtx.pl
===================================================================
(Binary files differ)

Modified: trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl	2018-02-21 22:34:36 UTC (rev 46701)
+++ trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl	2018-02-21 23:30:25 UTC (rev 46702)
@@ -1,12 +1,12 @@
 #!/usr/bin/env perl
-# $Id: tlmgr.pl 46591 2018-02-11 00:19:58Z karl $
+# $Id: tlmgr.pl 46683 2018-02-20 05:44:02Z preining $
 #
 # Copyright 2008-2018 Norbert Preining
 # This file is licensed under the GNU General Public License version 2
 # or any later version.
 
-my $svnrev = '$Revision: 46591 $';
-my $datrev = '$Date: 2018-02-11 01:19:58 +0100 (Sun, 11 Feb 2018) $';
+my $svnrev = '$Revision: 46683 $';
+my $datrev = '$Date: 2018-02-20 06:44:02 +0100 (Tue, 20 Feb 2018) $';
 my $tlmgrrevision;
 my $tlmgrversion;
 my $prg;
@@ -436,7 +436,12 @@
   ddebug("arguments: @ARGV\n") if @ARGV;
 
   if ($opts{"version"} || (defined $action && $action eq "version")) {
-    info(give_version());
+    if ($::machinereadable) {
+      # give_version already is machinereadable aware
+      print give_version();
+    } else {
+      info(give_version());
+    }
     exit(0);
   }
 
@@ -9347,7 +9352,7 @@
 distribution (L<http://tug.org/texlive>) and both are licensed under the
 GNU General Public License Version 2 or later.
 
-$Id: tlmgr.pl 46591 2018-02-11 00:19:58Z karl $
+$Id: tlmgr.pl 46683 2018-02-20 05:44:02Z preining $
 =cut
 
 # to remake HTML version: pod2html --cachedir=/tmp tlmgr.pl >/tmp/tlmgr.html

Deleted: trunk/Master/texmf-dist/doc/support/makedtx/CHANGES
===================================================================
--- trunk/Master/texmf-dist/doc/support/makedtx/CHANGES	2018-02-21 22:34:36 UTC (rev 46701)
+++ trunk/Master/texmf-dist/doc/support/makedtx/CHANGES	2018-02-21 23:30:25 UTC (rev 46702)
@@ -1,19 +0,0 @@
-version 0.94 (2007/08/19) :
-
- * Default preamble changed to one which conforms with the 
-   LaTeX Project Public License (LPPL)
- * license switch added
-
-version 0.93 (2007/08/02) :
-
- * version switch added
- * comment switch added
- * codetitle switch added
-
-version 0.91 (2006/07/21) :
-
- * prefinale switch added
-
-version 0.9 (2005/02/11) :
-
- * Initial beta release

Added: trunk/Master/texmf-dist/doc/support/makedtx/CHANGES.org
===================================================================
--- trunk/Master/texmf-dist/doc/support/makedtx/CHANGES.org	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/support/makedtx/CHANGES.org	2018-02-21 23:30:25 UTC (rev 46702)
@@ -0,0 +1,76 @@
+%%
+%% This is file `CHANGES.org',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% makedtx.dtx  (with options: `CHANGES.org,package')
+%% 
+%%  makedtx.dtx
+%%  Copyright 2018 Nicola L.C. Talbot
+%% 
+%%  This work may be distributed and/or modified under the
+%%  conditions of the LaTeX Project Public License, either version 1.3
+%%  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.3 or later is part of all distributions of LaTeX
+%%  version 2005/12/01 or later.
+%% 
+%%  This work has the LPPL maintenance status `maintained'.
+%% 
+%%  The Current Maintainer of this work is Nicola L.C. Talbot.
+%% 
+%%  This work consists of the files makedtx.dtx and makedtx.ins and the derived files CHANGES.org, makedtx-version.tex, latexmkrc.pl, createdtx.sty, makedtx.pl.
+%% 
+%% \CharacterTable
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%%   Dollar        \$     Percent       \%     Ampersand     \&
+%%   Acute accent  \'     Left paren    \(     Right paren   \)
+%%   Asterisk      \*     Plus          \+     Comma         \,
+%%   Minus         \-     Point         \.     Solidus       \/
+%%   Colon         \:     Semicolon     \;     Less than     \<
+%%   Equals        \=     Greater than  \>     Question mark \?
+%%   Commercial at \@     Left bracket  \[     Backslash     \\
+%%   Right bracket \]     Circumflex    \^     Underscore    \_
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%%   Right brace   \}     Tilde         \~}
+* version 1.2 2018/02/19
+
++ Under MSW use envvar USERNAME rather than getpwuid for getting
+  author default value
++ User Perl I/O layers in order to have LF EOL on output, and accept
+  both LF and CRLF on input
++ Create a test bench --- add a testmode option so that date in output
+  is fixed and output is comparable to a reference value.
++ Fix perl warning about escaping { in regexp.
++ Semi-colonize end of here-documents as recommended in Perl Manual.
++ Fix --version cli argument, so that version is flushed to stdout
+  before script exits.
++ Automate packaging
+
+* version 0.94 (2007/08/19) :
+
++ Default preamble changed to one which conforms with the
+  LaTeX Project Public License (LPPL)
++ license switch added
+
+* version 0.93 (2007/08/02) :
+
++ version switch added
++ comment switch added
++ codetitle switch added
+
+* version 0.91 (2006/07/21) :
+
++ prefinale switch added
+
+* version 0.9 (2005/02/11) :
+
++ Initial beta release
+\endinput
+%%
+%% End of file `CHANGES.org'.


Property changes on: trunk/Master/texmf-dist/doc/support/makedtx/CHANGES.org
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/support/makedtx/README
===================================================================
--- trunk/Master/texmf-dist/doc/support/makedtx/README	2018-02-21 22:34:36 UTC (rev 46701)
+++ trunk/Master/texmf-dist/doc/support/makedtx/README	2018-02-21 23:30:25 UTC (rev 46702)
@@ -1,32 +0,0 @@
-makedtx v0.94b : a Perl script to help create .dtx and .ins files
-
-Last Modified : 19 August 2007
-
-Author        : Nicola Talbot
-
-Files         : makedtx.dtx - documented source file
-                makedtx.ins - installation script
-
-
-The makedtx bundle is provided to help LaTeX2e developers to write the code and
-documentation in separate files, and then combine them into a single .dtx
-file for distribution.  It automatically generates the character table, and also
-writes the associated installation (.ins) script.
-
-To extract the code do:
-
-latex makedtx.ins
-
-To extract the documentation do:
-
-pdflatex makedtx.dtx
-pdflatex makedtx.dtx
-
-Read the documentation for installation instructions.
-
-This material is subject to the LaTeX Project Public License.
-See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for
-the details of that license.
-
-http://theoval.cmp.uea.ac.uk/~nlct/
-

Added: trunk/Master/texmf-dist/doc/support/makedtx/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/support/makedtx/README.txt	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/support/makedtx/README.txt	2018-02-21 23:30:25 UTC (rev 46702)
@@ -0,0 +1,48 @@
+Table of Contents
+─────────────────
+
+
+
+
+makedtx v1.2 : a Perl script to help create .dtx and .ins files
+
+Last Modified: 2018-02-19
+Author : Nicola Talbot
+Files : 
+        • makedtx.dtx - documented source file
+        • makedtx.ins - installation script
+
+
+The makedtx bundle is provided to help LaTeX2e developers to write the
+code and documentation in separate files, and then combine them into a
+single .dtx file for distribution.  It automatically generates the
+character table, and also writes the associated installation (.ins)
+script.
+
+To extract the code do:
+
+┌────
+│ latex makedtx.ins
+└────
+
+To extract the documentation do after extracting the code:
+
+┌────
+│ latexmk -r latexmkrc.pl
+└────
+
+If you don't have latexmk or makeindex, you can also do the following to
+have the documentation w/o index:
+
+┌────
+│ pdflatex makedtx.dtx
+│ pdflatex makedtx.dtx
+└────
+
+Read the documentation for installation instructions.
+
+This material is subject to the LaTeX Project Public License.  See
+[http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html] for
+the details of that license.
+
+[http://theoval.cmp.uea.ac.uk/~nlct/]


Property changes on: trunk/Master/texmf-dist/doc/support/makedtx/README.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/support/makedtx/creatdtx.perl
===================================================================
--- trunk/Master/texmf-dist/doc/support/makedtx/creatdtx.perl	2018-02-21 22:34:36 UTC (rev 46701)
+++ trunk/Master/texmf-dist/doc/support/makedtx/creatdtx.perl	2018-02-21 23:30:25 UTC (rev 46702)
@@ -1,72 +0,0 @@
-# creatdtx.perl LaTeX2HTML file corresponding to creatdtx.sty package
-# author : Nicola Talbot
-# date   : 2nd August 2007
-
-package main;
-
-print " [creatdtx v0.93b (N.L.C. Talbot)]";
-
-sub do_cmd_meta
-{
-   &do_cmd_emph(@_);
-}
-
-sub do_cmd_cs{
-  local($_) = @_;
-  local($name);
-
-  $name = &missing_braces unless
-     (s/$next_pair_pr_rx/$name=$2;''/eo);
-
-  "<TT>\$name</TT>$_";
-}
-
-sub do_cmd_marg{
-  local($_) = @_;
-  local($arg);
-
-  $arg = &missing_braces unless
-     (s/$next_pair_pr_rx/$arg=$2;''/eo);
-
-  "<TT>{</TT><EM>$arg</EM><TT>}</TT>$_";
-}
-
-sub do_cmd_oarg{
-  local($_) = @_;
-  local($arg);
-
-  $arg = &missing_braces unless
-     (s/$next_pair_pr_rx/$arg=$2;''/eo);
-
-  "<TT>[</TT><EM>$arg</EM><TT>]</TT>$_";
-}
-
-sub do_cmd_parg{
-  local($_) = @_;
-  local($arg);
-
-  $arg = &missing_braces unless
-     (s/$next_pair_pr_rx/$arg=$2;''/eo);
-
-  "<TT>(</TT><EM>$arg</EM><TT>)</TT>$_";
-}
-
-&ignore_commands( <<_IGNORED_CMDS_);
-ifmakedtx # {}
-StopEventually # {}
-OnlyDescription
-RecordChanges
-PrintChanges
-EnableCrossRefs
-CodelineIndex
-GetFileInfo # {}
-CheckSum # {}
-DescribeMacro # {}
-DescribeEnvironment # {}
-DoNotIndex # {}
-changes # {} # {} # {}
-DeleteShortVerb # {}
-MakeShortVerb # {}
-_IGNORED_CMDS_
-
-1;

Added: trunk/Master/texmf-dist/doc/support/makedtx/latexmkrc.pl
===================================================================
--- trunk/Master/texmf-dist/doc/support/makedtx/latexmkrc.pl	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/support/makedtx/latexmkrc.pl	2018-02-21 23:30:25 UTC (rev 46702)
@@ -0,0 +1,19 @@
+$dvi_mode = 0;
+$pdf_mode = 1;
+
+ at default_files=();
+foreach $file (glob('makedtx.{dtx,tex}'))
+{
+   if(-e $file){
+      @default_files=($file);
+      break;
+   }
+}
+
+$makeindex= "makeindex -s gind.ist %O -o %D %S";
+
+# 1. For glossaries using glossary package --- \changes generatated by the ltxdoc \changes directive
+add_cus_dep( 'glo', 'gls', 0, 'makeglo2gls' );
+sub makeglo2gls {
+    system("makeindex -s gglo.ist -t \"$_[0].glg\" -o \"$_[0].gls\" \"$_[0].glo\"" );
+}


Property changes on: trunk/Master/texmf-dist/doc/support/makedtx/latexmkrc.pl
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/support/makedtx/makedtx-manual.html
===================================================================
--- trunk/Master/texmf-dist/doc/support/makedtx/makedtx-manual.html	2018-02-21 22:34:36 UTC (rev 46701)
+++ trunk/Master/texmf-dist/doc/support/makedtx/makedtx-manual.html	2018-02-21 23:30:25 UTC (rev 46702)
@@ -1,971 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-
-<!--Converted with LaTeX2HTML 2002 (1.67)
-original version by:  Nikos Drakos, CBLU, University of Leeds
-* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
-* with significant contributions from:
-  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
-<HTML>
-<HEAD>
-<TITLE>makedtx v0.94b : a Perl script to help create a DTX file from source code</TITLE>
-<META NAME="description" CONTENT="makedtx v0.94b : a Perl script to help create a DTX file from source code">
-<META NAME="keywords" CONTENT="manual">
-<META NAME="resource-type" CONTENT="document">
-<META NAME="distribution" CONTENT="global">
-
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Generator" CONTENT="LaTeX2HTML v2002">
-<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
-
-
-</HEAD>
-
-<BODY >
-
-<H1 ALIGN="CENTER">makedtx v0.94b : a Perl script to help create a DTX 
-file from source code</H1>
-<P ALIGN="CENTER"><STRONG>Nicola Talbot
-<BR><TT><A NAME="tex2html1"
-  HREF="http://theoval.cmp.uea.ac.uk/~nlct/">http://theoval.cmp.uea.ac.uk/~nlct/</A></TT></STRONG></P>
-<P ALIGN="CENTER"><STRONG>19th August 2007</STRONG></P>
-
-<P>
-<BR>
-
-<H2><A NAME="SECTION00010000000000000000">
-Contents</A>
-</H2>
-<!--Table of Contents-->
-
-<UL>
-<LI><A NAME="tex2html17"
-  HREF="manual.html#SECTION00020000000000000000">Introduction</A>
-<LI><A NAME="tex2html18"
-  HREF="manual.html#SECTION00030000000000000000">Installation</A>
-<LI><A NAME="tex2html19"
-  HREF="manual.html#SECTION00040000000000000000">makedtx.pl</A>
-<UL>
-<LI><A NAME="tex2html20"
-  HREF="manual.html#SECTION00041000000000000000">Compulsory Arguments</A>
-<LI><A NAME="tex2html21"
-  HREF="manual.html#SECTION00042000000000000000">Options</A>
-</UL><BR>
-<LI><A NAME="tex2html22"
-  HREF="manual.html#SECTION00050000000000000000">The creatdtx Package</A>
-<LI><A NAME="tex2html23"
-  HREF="manual.html#SECTION00060000000000000000">Examples</A>
-<LI><A NAME="tex2html24"
-  HREF="manual.html#SECTION00070000000000000000">Troubleshooting</A>
-<UL>
-<LI><A NAME="tex2html25"
-  HREF="manual.html#SECTION00071000000000000000">Known Bugs</A>
-<LI><A NAME="tex2html26"
-  HREF="manual.html#SECTION00072000000000000000">Possible errors encountered using makedtx.pl</A>
-</UL><BR>
-<LI><A NAME="tex2html27"
-  HREF="manual.html#SECTION00080000000000000000">Perl Regular Expressions</A>
-<LI><A NAME="tex2html28"
-  HREF="manual.html#SECTION00090000000000000000">Bibliography</A>
-</UL>
-<!--End of Table of Contents-->
-<P>
-
-<H3>Abstract:</H3>
-<DIV>
-The <TT>makedtx</TT> bundle is provided to help developers to write
-the code and documentation in separate files, and then combine them
-into a single DTX file for distribution.  It automatically generates
-the character table, and also writes the associated installation
-(.ins) script.
-</DIV>
-<P>
-
-<P>
-
-<H1><A NAME="SECTION00020000000000000000">
-Introduction</A>
-</H1>
-
-<P>
-Authors of L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X2<SUB>e</SUB> class files or packages are encouraged to bundle
-their source and documentation together into a single DTX file.  This
-makes distribution much easier, as users need only download the DTX
-file and possibly a corresponding installation script (INS file)
-instead of a multitude of <TT>.sty</TT>, <TT>.cls</TT>, <TT>.def</TT>
-etc files.  However, having the documentation and code bundled
-together can cause problems if a developer wants to, say, use
-<TT>ispell</TT> to spell check the documentation, or convert the
-documentation to a format other than DVI, PostScript or PDF (such as
-HTML).
-
-<P>
-Why should I want to convert my documentation to HTML when I can just
-use PDFLaTeX?  The more general purpose packages that I write (such
-as <TT>datetime</TT> and <TT>glossary</TT>) I upload to CTAN, however
-most of the packages I write are specific to the School of Computing
-Sciences at the University of East Anglia, so these I keep on my web
-site, and as some of the faculty either don't have a PDF plug in or
-prefer to view HTML rather than PDF documents, I have taken to writing
-both PDF and HTML versions of my package documentation.  However,
- doesn't work on a <TT>.dtx</TT> file so I used to
-convert them manually which is fine for one or two small documents,
-but becomes rather cumbersome as soon as I have large documents or a
-lot of packages.  Therefore I decided to write the documentation
-separately, and use a Perl script to bundle everything together.  It
-also has the added convenience in that I don't have to keep copying
-and pasting the character table every time I write a new package, and
-it saves the laborious task of writing the installation
-script<A NAME="tex2html2"
-  HREF="#foot51"><SUP>1</SUP></A>.
-
-<P>
-This document is structured as follows: Section <A HREF="manual.html#sec:install">2</A>
-describes how to install the <TT>makedtx</TT> bundle,
-Section <A HREF="manual.html#sec:makedtx">3</A> gives an overview of the <TT>makedtx.pl</TT>
-Perl script, Section <A HREF="manual.html#sec:creatdtx">4</A> describes the
-<TT>creatdtx</TT> package, Section <A HREF="manual.html#sec:examples">5</A> illustrates the
-use of the <TT>makedtx</TT> bundle with examples and
-Section <A HREF="manual.html#sec:problems">6</A> gives a list of possible errors and their
-solutions.
-
-<P>
-
-<H1><A NAME="SECTION00030000000000000000"></A><A NAME="sec:install"></A><BR>
-Installation
-</H1>
-
-<P>
-You need to download both <TT>makedtx.dtx</TT> and
-<TT>makedtx.ins</TT>, and run the installation script through
-LaTeX:
-<P>
-<TT>latex makedtx.ins</TT>
-
-<P>
-The following files will be created:
-<DL>
-<DT><STRONG><TT>makedtx.pl</TT></STRONG></DT>
-<DD>Perl script
-</DD>
-<DT><STRONG><TT>creatdtx.sty</TT></STRONG></DT>
-<DD>LaTeX package for use with <TT>makedtx.pl</TT>
-</DD>
-<DT><STRONG><TT>creatdtx.perl</TT></STRONG></DT>
-<DD>Corresponding Perl script for use with LaTeX2HTML
-</DD>
-</DL>
-
-<P>
-If you are using UNIX/Linux etc you will need to make
-<TT>makedtx.pl</TT> executable using
-<TT>chmod</TT>:
-<P>
-<BR>
-<BR><TT>chmod a+x
-makedtx.pl</TT>
-<P>
-<BR>
-<BR>and place it somewhere on your
-path.  If <TT>perl</TT> is located somewhere other than
-<TT>/usr/bin/</TT> you will need to edit the first line of
-<TT>makedtx.pl</TT>.  (If you don't know where <TT>perl</TT> is
-located, you can use the command: <TT>which perl</TT>.)  The package
-<TT>creatdtx.sty</TT> needs to be placed somewhere on the LaTeX path
-and <TT>creatdtx.perl</TT> should be placed in a directory searched by
-.  (See the  documentation for details.)
-
-<P>
-
-<H1><A NAME="SECTION00040000000000000000"></A><A NAME="sec:makedtx"></A><BR>
-makedtx.pl
-</H1>
-
-<P>
-The Perl script <TT>makedtx.pl</TT> has the following syntax:
-<P>
-<TT>makedtx.pl</TT> <TT>[</TT><EM>options</EM><TT>]</TT> <TT>-src</TT> 
-<TT>"</TT><I>expr1</I><code>=></code><I>expr2</I><TT>"</TT> 
-<TT>-doc</TT> <I>filename</I> <I>basename</I>
-
-<P>
-
-<H2><A NAME="SECTION00041000000000000000">
-Compulsory Arguments</A>
-</H2>
-
-<P>
-The very last argument <I>basename</I> is the basename of the
-<TT>.dtx</TT> and <TT>.ins</TT> files you want to create.  The
-<TT>-doc</TT> <I>filename</I> switch indicates the file containing the
-documentation and <TT>-src</TT>
-<code>"</code><I>expr1</I><code>=></code><I>expr2</I><code>"</code> indicates the
-original source file(s), given by <I>expr1</I>, and the corresponding
-file name when it has been extracted from the <TT>.dtx</TT> file,
-given by <I>expr2</I>.  This switch is a little complicated, so it's
-best described using examples.
-
-<P>
-Suppose you have your documentation in the file <TT>foodoc.tex</TT>,
-and the original source code is in the file <TT>foosrc.sty</TT>.  You
-want to create the files <TT>foo.dtx</TT> and <TT>foo.ins</TT>.  When
-you LaTeX <TT>foo.dtx</TT> you want the documentation as specified
-in <TT>foodoc.tex</TT> and when you LaTeX <TT>foo.ins</TT> you want
-the file <TT>foo.sty</TT> to be created, using the code specified in
-<TT>foosrc.sty</TT>.  You will need to do:
-<PRE>
-makedtx.pl -src "foosrc\.sty=>foo.sty" -doc foodoc.tex foo
-</PRE>
-
-<P>
-You may have multiple invocations of the <TT>-src</TT> switch.  For
-example, suppose you also have the file <TT>barsrc.sty</TT> which you
-want to be extracted from the <TT>.dtx</TT> file as <TT>bar.sty</TT>,
-you can do:
-<PRE>
-makedtx.pl -src "foosrc\.sty=>foo.sty" -src "barsrc\.sty=>bar.sty" -doc foodoc.tex foo
-</PRE>
-Alternatively, you can use Perl-type regular expressions:
-<PRE>
-makedtx.pl -src "(.*)src\.sty=>\1.sty" -doc foodoc.tex foo
-</PRE>
-(Note the use of double quotes to prevent shell expansion.)
-Appendix <A HREF="manual.html#sec:prex">A</A> gives a brief overview of Perl regular
-expressions for the uninitiated.
-
-<P>
-
-<H2><A NAME="SECTION00042000000000000000">
-Options</A>
-</H2>
-
-<P>
-<DL>
-<DT><STRONG><TT>-h</TT> or <TT>-help</TT></STRONG></DT>
-<DD>Prints on-line help, and exits.
-
-<P>
-</DD>
-<DT><STRONG><TT>-version</TT></STRONG></DT>
-<DD>Prints version number, and exits.
-
-<P>
-</DD>
-<DT><STRONG><TT>-v</TT></STRONG></DT>
-<DD>Uses verbose mode.
-
-<P>
-</DD>
-<DT><STRONG><TT>-dir</TT> <I>name</I></STRONG></DT>
-<DD>Specifies directory containing source
-files, as specified by the <TT>-src</TT> switch.  For example, suppose
-you have source files <TT>foo.sty</TT>, <TT>bar.sty</TT> in the
-subdirectory <TT>sourcefiles</TT> you can do:
-<PRE>
-makedtx.pl -dir sourcefiles -src "(.*)\.sty=>\1.sty" -doc foodoc.tex foo
-</PRE>
-
-<P>
-</DD>
-<DT><STRONG><TT>-op</TT> <I>character</I></STRONG></DT>
-<DD>sets the Perl pattern matching
-operator (the default is set to <TT>=</TT> symbol since the <TT>/</TT>
-character is used as the directory divider).
-
-<P>
-</DD>
-<DT><STRONG><TT>-askforoverwrite</TT></STRONG></DT>
-<DD>uses <TT>\askforoverwritetrue</TT> in
-the installation script.
-
-<P>
-</DD>
-<DT><STRONG><TT>-noaskforoverwrite</TT></STRONG></DT>
-<DD>uses <TT>\askforoverwritefalse</TT>
-in the installation script (default).
-
-<P>
-</DD>
-<DT><STRONG><TT>-noins</TT></STRONG></DT>
-<DD>Don't create the installation script
-(<TT>.ins</TT> file).  This is useful if you want to tweak the file
-manually and you don't want your modifications overwritten.
-
-<P>
-</DD>
-<DT><STRONG><TT>-preamble</TT> <I>text</I></STRONG></DT>
-<DD>Set the preamble to
-<TT>text</TT>.  The default preamble is:
-<P>
-<TT>
- <I>basename</I>.dtx
- Copyright <I>date</I> <I>author</I>
-</TT>
-<P>
-<TT>This work may be distributed and/or modified under the
- conditions of the LaTeX Project Public License, either version 1.3
- of this license of (at your option) any later version.
- The latest version of this license is in
-   http://www.latex-project.org/lppl.txt
- and version 1.3 or later is part of all distributions of LaTeX
- version 2005/12/01 or later.
-</TT>
-<P>
-<TT>This work has the LPPL maintenance status `maintained'.
-</TT>
-<P>
-<TT>The Current Maintainer of this work is <I>author</I>.
-</TT>
-<P>
-<TT>This work consists of the files <I>basename</I>.dtx and
- <I>basename</I>.ins and the derived files <I>file list</I>.
-</TT>
-
-<P>
-where <I>date</I> is the copyright date, and <I>author</I> is the
-author's name (see below).
-
-<P>
-<B>Note that this has been changed as of makedtx v0.94.
-Older versions of makedtx do not conform to any of the free
-licenses.</B>
-
-<P>
-</DD>
-<DT><STRONG><TT>-license</TT> <I>name</I></STRONG></DT>
-<DD>This sets the preamble to
-the license text for the license <I>name</I>. Currently <I>name</I>
-may be either <TT>lppl</TT> (the default, which produces the 
-default preamble detailed above), <TT>bsd</TT> or <TT>gpl</TT>. 
-You may use either <TT>-license</TT> or <TT>-preamble</TT>, 
-but not both. (If you have used the <TT>-preamble</TT> switch, the
-<TT>-license</TT> switch will be ignored.)
-
-<P>
-</DD>
-<DT><STRONG><TT>-postamble</TT> <I>text</I></STRONG></DT>
-<DD>Set the postamble to
-<TT>text</TT>.  If this is omitted the <TT>\postamble</TT> command is
-omitted from the installation script.
-
-<P>
-</DD>
-<DT><STRONG><TT>-author</TT> <I>name</I></STRONG></DT>
-<DD>The author's name (as used in the
-default preamble).  If omitted the user's name is used.
-
-<P>
-</DD>
-<DT><STRONG><TT>-date</TT> <I>text</I></STRONG></DT>
-<DD>The copyright date (as used in the
-default preamble).  If omitted the current year is used.
-
-<P>
-</DD>
-<DT><STRONG><TT>-stopeventually</TT> <I>text</I></STRONG></DT>
-<DD>Insert <I>text</I> into the
-argument of <TT>\StopEventually</TT>.  For example:
-<code>-stopeventually "\\PrintIndex"</code> will result in the line:
-<TT>\StopEventually</TT><code>{\PrintIndex}</code>.  If <TT>makedtx.pl</TT>
-encounters a <TT>\StopEventually</TT> command within the document,
-this will be used instead.  If there is no <TT>\StopEventually</TT>
-command in the document and the <TT>-stopeventually</TT> switch is
-absent <TT>\StopEventually{}</TT> will be inserted in the DTX
-file.
-
-<P>
-</DD>
-<DT><STRONG><TT>-prefinale</TT> <I>text</I></STRONG></DT>
-<DD>Inset <I>text</I> immediately prior to <TT>\Finale</TT>
-in the dtx file.
-
-<P>
-</DD>
-<DT><STRONG><TT>-setambles</TT> <TT>"</TT><I>expr</I><TT>=></TT><I>text</I><TT>"</TT></STRONG></DT>
-<DD>Sets the pre- and postambles for files matching <I>expr</I> within the
-<TT>\file</TT> command in the installation script.  To illustrate this,
-let's suppose you have source files <TT>foo.sty</TT>, <TT>bar.sty</TT>
-and <TT>foobar.pl</TT> in the subdirectory <TT>sourcefiles</TT>.
-Since <TT>foo.sty</TT> and <TT>bar.sty</TT> are LaTeX files, they
-should have pre- and postambles, but <TT>foobar.pl</TT> is a Perl
-file, and since the percent symbol (%) is not a comment character in
-Perl, there should be no pre- and postambles for this file.  Therefore
-you would need to do something like:
-<PRE>
-makedtx.pl -dir sourcefiles -src "(.*)\.sty=>\1.sty" -src "foobar.pl=>foobar.pl" 
--setambles "foobar\.pl=>\\nopreamble\\nopostamble" -doc foodoc.tex foo
-</PRE>
-(Note that the line is only broken to fit it onto the page, and there
-should be no line break when entering at the command prompt.)
-
-<P>
-If the argument to <TT>-setambles</TT> contains the string
-<code>\\nopreamble</code>, the character table will be excluded from the
-corresponding files.  So, in the above example, when you do:
-<code>latex foo.ins</code> the resulting files <TT>foo.sty</TT> and
-<TT>bar.sty</TT> will contain the character table, but
-<TT>foobar.pl</TT> won't. (If for some reason you don't want a
-preamble but you do want the character table included use
-<code>\\usepreamble\\empty</code> instead of <code>\\nopreamble</code>.
-Conversely, if you want a preamble but don't want the character table
-do something like <code>\\nopreamble\\usepreamble\\defaultpreamble</code>.
-
-<P>
-Note that the <code>=></code><I>text</I> part is optional.  If it is
-omitted, <I>text</I> is assumed to be empty.
-
-<P>
-</DD>
-<DT><STRONG><TT>-macrocode</TT> <TT>"</TT><I>expr</I><TT>"</TT></STRONG></DT>
-<DD>If source
-file matches the Perl regular expression given by <I>expr</I>, the
-source code is inserted into a <TT>macrocode</TT> environment in the
-DTX file.
-
-<P>
-</DD>
-<DT><STRONG><TT>-comment</TT> <TT>"</TT><I>expr</I><TT>"</TT></STRONG></DT>
-<DD>If the source file matches the Perl regular expression given by
-<I>expr</I>, the source code will be inserted between <TT>\iffalse</TT>
-<TT>\fi</TT> commands. The contents of this file will be included in the
-DTX file, but will be excluded from the documentation. Since this
-is provided mainly for non-TeX files (such as Perl scripts) the
-<TT>-comment</TT> switch will typically need to be used in conjunction
-with <TT>-macrocode</TT>.
-
-<P>
-</DD>
-<DT><STRONG><TT>-codetitle</TT> <TT>"</TT><I>title</I><TT>"</TT></STRONG></DT>
-<DD>This sets the title for the code section. The default is 
-<TT>The Code</TT>.
-</DD>
-</DL>
-
-<P>
-
-<H1><A NAME="SECTION00050000000000000000"></A>
-<A NAME="sec:creatdtx"></A><BR>
-The creatdtx Package
-</H1>
-
-<P>
-The documentation source code, as specified using the <TT>-doc</TT>
-switch will typically be a standard LaTeX document using the
-<TT>ltxdoc</TT> class file.  Unlike the DTX file, there is no
-<TT>\DocInput</TT> command, and the lines do not begin with a percent
-symbol, which means that the document can be, say, passed to the
- converter, or some other application that would
-otherwise be confused by a DTX file.  The <TT>creatdtx</TT> package
-can be used in this document using
-<PRE>
-\usepackage{creatdtx}
-</PRE>
-although this package will be not be included in the DTX file by
-<TT>makedtx.pl</TT>.  There is only one command defined in this
-package:<TT>\ifmakedtx{</TT><EM>dtx text</EM><TT>}{</TT><EM>non dtx text</EM><TT>}</TT>.  The first
-argument <I>dtx text</I> will be copied to the DTX file by
-<TT>makedtx.pl</TT>, but the second argument <I>non dtx text</I>
-won't.  However, if you LaTeX the document, the first argument will
-be ignored, and the second argument will be used.
-
-<P>
-For example, if your code (in <TT>foodoc.tex</TT>) contains the
-line:
-<P>
-<BR>
-<BR><TT><TT>\ifmakedtx</TT>{}{<TT>\usepackage</TT>{html}}</TT>
-
-<P>
-<BR>
-<BR>the <TT>html</TT> package will only be
-loaded if you LaTeX <TT>foodoc.tex</TT>, but not when you LaTeX <TT>foo.dtx</TT>.
-
-<P>
-The Perl script <TT>creatdtx.perl</TT> ignores the following commands
-(and any associated arguments): <TT>\OnlyDescription</TT>,
-<TT>\RecordChanges</TT>, <TT>\MakeShortVerb</TT>, <TT>\DeleteShortVerb</TT>,
-<TT>\DoNotIndex</TT>, <TT>\EnableCrossrefs</TT>, <TT>\CodelineIndex</TT>,
-<TT>\GetFileInfo</TT>, <TT>\PrintChanges</TT>, <TT>\changes</TT>, <TT>\CheckSum</TT>,
-<TT>\DescribeMacro</TT> and <TT>\DescribeEnvironment</TT>.  So even if you don't
-use the <TT>\ifmakedtx</TT> command, using the <TT>creatdtx</TT> package
-will help ensure that extraneous text does not appear in the HTML
-document when using .
-
-<P>
-As from version 0.93b, <TT>creatdtx.perl</TT> also defines the
-commands <TT>\cs</TT>, <TT>\marg</TT>, <TT>\oarg</TT> and <TT>\parg</TT>, since there
-is no  implementation of the <TT>ltxdoc</TT> class file.
-
-<P>
-
-<H1><A NAME="SECTION00060000000000000000"></A>
-<A NAME="sec:examples"></A><BR>
-Examples
-</H1>
-
-<P>
-Let's first consider a very simple example.  Suppose you want to
-create a package that redefines <TT>\today</TT> so that the date is
-displayed in the form: yyyy-m-d.  Let's call this package
-<TT>dashdate</TT>.  The file <TT>dashdate.sty</TT> should look
-something like:
-<PRE>
- % First define package:
- %    \begin{macrocode}
- \NeedsTeXFormat{LaTeX2e}
- \ProvidesPackage{dashdate}
- %    \end{macrocode}
- % Redefine |\today| command:
- %    \begin{macrocode}
- \renewcommand{\today}{\the\year-\the\month-\the\day}
- %    \end{macrocode}
-</PRE>
-Now let's make some (very brief) documentation.  Let's call the file,
-say <TT>manual.tex</TT><A NAME="tex2html3"
-  HREF="#foot477"><SUP>2</SUP></A>:
-<PRE>
-\documentclass{ltxdoc}
-\usepackage{creatdtx}
-
-\begin{document}
-\title{A Sample Package}
-\author{AN Other}
-\maketitle
-
-The \texttt{dashdate} package redefines |\today|
-to produce the current date in the form: yyyy-m-d.
-\end{document}
-</PRE>
-Suppose you have saved <TT>dashdate.sty</TT> and <TT>manual.tex</TT>
-in the subdirectory <TT>source</TT>.  You can now create the
-<TT>.dtx</TT> and <TT>.ins</TT> file using the command:
-<PRE>
-makedtx.pl -author "AN Other" -dir source -src "dashdate\.sty=>dashdate.sty" 
--doc source/manual.tex dashdate
-</PRE>
-The file <TT>dashdate.dtx</TT> is created, and contains the following 
-code:
-<PRE>
- %\iffalse
- % dashdate.dtx generated using makedtx.pl version 0.9b (c) Nicola Talbot
- % Command line args:
- %   -dir "source"
- %   -src "dashdate\.sty=>dashdate.sty"
- %   -author "AN Other"
- %   -doc "source/manual.tex"
- %   dashdate
- % Created on 2005/2/10 22:22
- %\fi
- %\iffalse
- %<*package>
- %% \CharacterTable
- %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
- %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
- %%   Digits        \0\1\2\3\4\5\6\7\8\9
- %%   Exclamation   \!     Double quote  \"     Hash (number) \#
- %%   Dollar        \$     Percent       \%     Ampersand     \&
- %%   Acute accent  \'     Left paren    \(     Right paren   \)
- %%   Asterisk      \*     Plus          \+     Comma         \,
- %%   Minus         \-     Point         \.     Solidus       \/
- %%   Colon         \:     Semicolon     \;     Less than     \<
- %%   Equals        \=     Greater than  \>     Question mark \?
- %%   Commercial at \@     Left bracket  \[     Backslash     \\
- %%   Right bracket \]     Circumflex    \^     Underscore    \_
- %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
- %%   Right brace   \}     Tilde         \~}
- %</package>
- %\fi
- % \iffalse
- % Doc-Source file to use with LaTeX2e
- % Copyright (C) 2005 AN Other, all rights reserved.
- % \fi
- % \iffalse
- %<*driver>
- \documentclass{ltxdoc}
-
- \begin{document}
- \DocInput{dashdate.dtx}
- \end{document}
- %</driver>
- %\fi
- %\title{A Sample Package}
- %\author{AN Other}
- %\maketitle
- %
- %The \texttt{dashdate} package redefines "\today"
- %to produce the current date in the form: yyyy-m-d.
- %\end{document}
- %
- %\StopEventually{}
- %\section{The Code}
- %\iffalse
- %    \begin{macrocode}
- %<*dashdate.sty>
- %    \end{macrocode}
- %\fi
- % First define package:
- %    \begin{macrocode}
- \NeedsTeXFormat{LaTeX2e}
- \ProvidesPackage{dashdate}
- %    \end{macrocode}
- % Redefine |\today| command:
- %    \begin{macrocode}
- \renewcommand{\today}{\the\year-\the\month-\the\day}
- %    \end{macrocode}
- %\iffalse
- %    \begin{macrocode}
- %</dashdate.sty>
- %    \end{macrocode}
- %\fi
- %\Finale
- \endinput
-</PRE>
-The installation file <TT>dashdate.ins</TT> looks like:
-<PRE>
- % dashdate.ins generated using makedtx.pl version 0.94b 2007/8/19 22:22
- \input docstrip
-
- \preamble
- dashdate.dtx
- Copyright 2007 AN Other
-
- This work may be distributed and/or modified under the
- conditions of the LaTeX Project Public License, either version 1.3
- of this license of (at your option) any later version.
- The latest version of this license is in
-   http://www.latex-project.org/lppl.txt
- and version 1.3 or later is part of all distributions of LaTeX
- version 2005/12/01 or later.
-
- This work has the LPPL maintenance status `maintained'.
-
- The Current Maintainer of this work is AN Other.
-
- This work consists of the files dashdate.dtx and
- dashdate.ins and the derived file dashdate.sty.
- \endpreamble
-
- \askforoverwritefalse
-
- \generate{\file{dashdate.sty}{\usepreamble\defaultpreamble
- \usepostamble\defaultpostamble\from{dashdate.dtx}{dashdate.sty,package}}
- }
-
- \endbatchfile
-</PRE>
-Note that the command <code>\usepackage{creatdtx}</code> has not been
-transcribed to <TT>dashdate.dtx</TT> (although in this simple example
-it's not really needed).
-
-<P>
-Now let's extend the example: suppose you want to create an analogous
-Perl script for use with .  This will need to be called
-<TT>dashdate.perl</TT> and will look something like:
-<PRE>
-package main;
-
-sub do_cmd_today{
-   local($_) = @_;
-   local($today) = &get_date();
-   $today =~ s|(\d+)/(\d+)/(\d+)|$3-$1-$2|;
-   "$today$_";
-}
-
-1;
-</PRE>
-You will now need to call <TT>makedtx.pl</TT> as follows:
-<PRE>
-makedtx.pl -author "AN Other" -dir source -src "dashdate\.sty=>dashdate.sty" 
--src "dashdate\.perl=>dashdate.perl" 
--setambles "dashdate\.perl=>\\nopreamble\\nopostamble" 
--macrocode "dashdate\.perl" -doc source/manual.tex dashdate
-</PRE>
-(Note that the line is only broken to allow it to fit onto the page,
-there should be no line break when you enter it on the command line.)
-Alternatively, you could save typing and do:
-<PRE>
-makedtx.pl -author "AN Other" -dir source -src "dashdate\.(.*)=>dashdate.\1"
--setambles "dashdate\.perl=>\\nopreamble\\nopostamble" -macrocode "dashdate\.perl"
--doc source/manual.tex dashdate
-</PRE>
-Note the use of the <TT>-setambles</TT> switch which suppresses the
-insertion of text at the start and end of the Perl script which would
-only confuse Perl.  Note also the use of the <TT>-macrocode</TT>
-switch.  This is not needed for <TT>dashdate.sty</TT> since it has
-already been included in the source code, but since % is not a
-comment character in Perl, the <TT>macrocode</TT> environment is not
-included in the source code, and needs to be added.  (If you are
-unfamiliar with DocStrip and the use of the <TT>macrocode</TT>
-environment, I suggest you read either <I>A guide to
-LaTeX</I> [<A
- HREF="manual.html#Kopka98">2</A>, Appendix D] or <I>The LaTeX companion</I> [<A
- HREF="manual.html#Goossens93">1</A>, Chapter 14].)
-
-<P>
-It's likely that you may not want the Perl code to appear in the
-document, but you still want it included in the DTX file. In addition
-to the <TT>-macrocode</TT> switch, you would then also need to use
-the <TT>-comment</TT> switch:
-<PRE>
-makedtx.pl -author "AN Other" -dir source -src "dashdate\.(.*)=>dashdate.\1"
--setambles "dashdate\.perl=>\\nopreamble\\nopostamble" -macrocode "dashdate\.perl"
--comment "dashdate\.perl" -doc source/manual.tex dashdate
-</PRE>
-
-<P>
-As another example, consider the <TT>datetime</TT> package.  Version
-2.42 of this package has 2 <TT>.sty</TT> files and 42 <TT>.def</TT>
-files.  The documentation is written in the file <TT>manual.tex</TT>,
-and the <TT>.sty</TT> and <TT>.def</TT> files are saved in a
-subdirectory called <TT>source</TT>.  Since these are the only files
-in this directory, they can easily be merged into one <TT>.dtx</TT>
-file using:
-<PRE>
-makedtx.pl -author "Nicola Talbot" -dir source -src "(.+)\.(.+)=>\1.\2" 
--doc manual.tex datetime
-</PRE>
-This creates the files <TT>datetime.dtx</TT> and <TT>datetime.ins</TT> which can then be distributed.  The PDF version
-of the documentation is obtained by doing:
-<PRE>
-pdflatex datetime.dtx
-</PRE>
-and the HTML version (<TT>manual.html</TT>) is obtained by doing:
-<PRE>
-latex2html -split 0 -nonavigation -nofootnode -numbered_footnotes -noinfo manual
-</PRE>
-Any minor differences between the HTML and PDF versions are dealt by
-using <TT>\ifmakedtx</TT> in the original file <TT>manual.tex</TT>.
-
-<P>
-
-<H1><A NAME="SECTION00070000000000000000"></A>
-<A NAME="sec:problems"></A><BR>
-Troubleshooting
-</H1>
-
-<P>
-The <TT>makedtx</TT> bundle has only been tested under Linux using
-Perl v5.6.0.  There are no guarantees whether or not it will work on
-other operating systems or on different versions (in fact, there are
-no guarantees or warranties at all). 
-
-<P>
-
-<H2><A NAME="SECTION00071000000000000000">
-Known Bugs</A>
-</H2>
-
-<P>
-It's possible to confuse <TT>makedtx.pl</TT> by placing either the
-command <TT>\end{</TT><EM>document</EM><TT>}</TT> or the command <TT>\ifmakedtx</TT> in a
-<TT>\verb</TT> command, or by having the <TT>\ifmakedtx</TT> command on the same
-line as <TT>\begin{</TT><EM>document</EM><TT>}</TT>.  You will also need to take care
-about lines beginning with a percent symbol (%) in the documentation,
-as this will get converted into a line beginning with <code>%%</code> in the
-<TT>.dtx</TT> file, which has a special meaning.  Either place a space
-immediately prior the percent symbol, or do <code>\relax%</code> if you
-really don't want the extra space (or place your comment in an
-<TT>\iffalse</TT> ... <TT>\fi</TT> conditional).
-
-<P>
-
-<H2><A NAME="SECTION00072000000000000000">
-Possible errors encountered using <TT>makedtx.pl</TT></A>
-</H2>
-
-<P>
-Note: be careful to use double quotes around arguments that contain
-characters that the shell might try interpreting, e.g. <code>*</code> or
-<code>></code>.
-
-<P>
-Syntax error messages:
-
-<OL>
-<LI><TT>No document source specified (missing -doc)</TT>
-
-<P>
-You must use the <TT>-doc</TT> switch.
-
-<P>
-</LI>
-<LI><TT>No source code specified (missing -src)</TT>
-
-<P>
-You must specify at least one <TT>-src</TT> switch.
-
-<P>
-</LI>
-<LI><TT>No basename specified</TT>
-
-<P>
-You must specify the basename of the <TT>.dtx</TT> and <TT>.ins</TT> files.  This should
-be the last argument passed to <TT>makedtx.pl</TT>.
-
-<P>
-</LI>
-<LI><TT>-src ... argument invalid (no output file specified)</TT>
-
-<P>
-You have omitted the <code>=></code> separator in the argument of the
-<TT>-src</TT> switch.
-
-<P>
-</LI>
-<LI><TT>-src argument ... invalid (too many => specified)</TT>
-
-<P>
-You have used too many <code>=></code> separators in the argument of the
-<TT>-src</TT> switch.  (Similarly for the <TT>-setambles</TT> switch.)
-</LI>
-</OL>
-
-<P>
-
-<P>
-
-<H1><A NAME="SECTION00080000000000000000"></A>
-<A NAME="sec:prex"></A><BR>
-Perl Regular Expressions
-</H1>
-
-<P>
-This section gives a very brief overview of Perl regular expressions.  For more detail, look at the Perl
-documentation (use <code>man perlre</code> for the man page.)
-
-<P>
-<TABLE CELLPADDING=3>
-<TR><TD ALIGN="LEFT"><code>\</code></TD>
-<TD ALIGN="LEFT">Quote the next character</TD>
-</TR>
-<TR><TD ALIGN="LEFT"><code>.</code></TD>
-<TD ALIGN="LEFT">Match any character</TD>
-</TR>
-<TR><TD ALIGN="LEFT"><code>|</code></TD>
-<TD ALIGN="LEFT">Alternation</TD>
-</TR>
-<TR><TD ALIGN="LEFT"><code>()</code></TD>
-<TD ALIGN="LEFT">Grouping</TD>
-</TR>
-<TR><TD ALIGN="LEFT"><code>[]</code></TD>
-<TD ALIGN="LEFT">Character class</TD>
-</TR>
-<TR><TD ALIGN="LEFT"><code>*</code></TD>
-<TD ALIGN="LEFT">Match 0 or more times</TD>
-</TR>
-<TR><TD ALIGN="LEFT"><code>+</code></TD>
-<TD ALIGN="LEFT">Match 1 or more times</TD>
-</TR>
-<TR><TD ALIGN="LEFT"><code>?</code></TD>
-<TD ALIGN="LEFT">Match 1 or 0 times</TD>
-</TR>
-<TR><TD ALIGN="LEFT"><code>{n}</code></TD>
-<TD ALIGN="LEFT">Match exactly <TT>n</TT> times</TD>
-</TR>
-<TR><TD ALIGN="LEFT"><code>{n,}</code></TD>
-<TD ALIGN="LEFT">Match at least <TT>n</TT> times</TD>
-</TR>
-<TR><TD ALIGN="LEFT"><code>{n,m}</code></TD>
-<TD ALIGN="LEFT">Match at least <TT>n</TT> but no more than <TT>m</TT> times.</TD>
-</TR>
-</TABLE>
-
-<P>
-In the replacement text, a backslash followed by a number <I>n</I> indicates the text from the <I>n</I>th group.
-
-<P>
-For example, suppose you have the following files:
-<PRE>
-abcsrc.sty
-abcsrc.bst
-abcsrc.perl
-foosrc.sty
-foobarsrc.sty
-</PRE>
-then if you pass the following switch to <TT>makedtx.pl</TT>:
-
-<UL>
-<LI><code>-src "abcsrc\.([styb]+)=>abc.\1"</code> 
-will be equivalent to:
-<PRE>
--src "abcsrc.sty=>abc.sty" -src "abcsrc.bst=>abc.bst"
-</PRE>
-since <code>[styb]+</code> will match one or more of the letters <TT>styb</TT> (so it will match <TT>sty</TT> and <TT>bst</TT>).
-<code>\1</code> indicates the text found in the first group, which in this example will either be <TT>sty</TT> or <TT>bst</TT>.
-
-<P>
-</LI>
-<LI><code>-src "abcsrc\.(.+)=>abc.\1"</code>
-will be equivalent to:
-<PRE>
--src "abcsrc.sty=>abc.sty" -src "abcsrc.bst=>abc.bst" -src "abcsrc.perl=>abc.perl"
-</PRE>
-Note that a full stop represents any character so <TT>.+</TT> means any string of length 1 or more, whereas
-<code>\.</code> means an actual full stop character.
-
-<P>
-</LI>
-<LI><code>-src "foo(.*)src\.sty=>foo\1.sty"</code>
-will be equivalent to:
-<PRE>
--src "foosrc.sty=>foo.sty" -src "foobarsrc.sty=>foobar.sty"
-</PRE>
-
-<P>
-</LI>
-<LI><code>-src "(.+)src\.(.+)=>\1.\2"</code>
-will be equivalent to
-<PRE>
--src "abcsrc.sty=>abc.sty"
--src "abcsrc.bst=>abc.bst"
--src "abcsrc.perl=>abc.perl"
--src "foosrc.sty=>foo.sty"
--src "foobarsrc.sty=>foobar.sty"
-</PRE>
-
-<P>
-</LI>
-</UL>
-
-<P>
-
-<P>
-
- 
-<H2><A NAME="SECTION00090000000000000000">
-Bibliography</A>
-</H2><DL COMPACT><DD><P></P><DT><A NAME="Goossens93">1</A>
-<DD> The LaTeX companion. Michel Goossens, Frank Mittelbach and Alexander Samarin.
-Addison-Wesley 1993.
-
-<P>
-<P></P><DT><A NAME="Kopka98">2</A>
-<DD> A guide to LaTeX.  Helmut Kopka and Patrick W. Daly. Addison-Wesley 1998.
-</DL>
-
-<BR><HR><H4>Footnotes</H4>
-<DL>
-<DT><A NAME="foot51">...
-script</A><A
- HREF="manual.html#tex2html2"><SUP>1</SUP></A></DT>
-<DD>or at least, it's laborious if there are rather a lot
-of files associated with a package
-
-</DD>
-<DT><A NAME="foot477">...manual.tex</A><A
- HREF="manual.html#tex2html3"><SUP>2</SUP></A></DT>
-<DD>Note: if you want to use
- on this document, you will need to use, e.g.,
-<TT>\verb!<TT>\today</TT>!</TT> instead of
-<TT>|<TT>\today</TT>|</TT> since it doesn't recognise
-<TT>\MakeShortVerb</TT>.
-
-</DD>
-</DL><BR><HR>
-<ADDRESS>
-<A href=http://theoval.cmp.uea.ac.uk/~nlct/>Nicola L. C. Talbot</A>. 
-<A HREF=http://www.cmp.uea.ac.uk/>School of Computing Sciences</A>. 
-<A HREF=http://www.uea.ac.uk/>University of East Anglia.</A> 
-Last Modified: 2007-08-19
-</ADDRESS>
-</BODY>
-</HTML>

Added: trunk/Master/texmf-dist/doc/support/makedtx/makedtx-version.tex
===================================================================
--- trunk/Master/texmf-dist/doc/support/makedtx/makedtx-version.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/support/makedtx/makedtx-version.tex	2018-02-21 23:30:25 UTC (rev 46702)
@@ -0,0 +1,44 @@
+%%
+%% This is file `makedtx-version.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% makedtx.dtx  (with options: `makedtx-version.tex,package')
+%% 
+%%  makedtx.dtx
+%%  Copyright 2018 Nicola L.C. Talbot
+%% 
+%%  This work may be distributed and/or modified under the
+%%  conditions of the LaTeX Project Public License, either version 1.3
+%%  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.3 or later is part of all distributions of LaTeX
+%%  version 2005/12/01 or later.
+%% 
+%%  This work has the LPPL maintenance status `maintained'.
+%% 
+%%  The Current Maintainer of this work is Nicola L.C. Talbot.
+%% 
+%%  This work consists of the files makedtx.dtx and makedtx.ins and the derived files CHANGES.org, makedtx-version.tex, latexmkrc.pl, createdtx.sty, makedtx.pl.
+%% 
+%% \CharacterTable
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%%   Dollar        \$     Percent       \%     Ampersand     \&
+%%   Acute accent  \'     Left paren    \(     Right paren   \)
+%%   Asterisk      \*     Plus          \+     Comma         \,
+%%   Minus         \-     Point         \.     Solidus       \/
+%%   Colon         \:     Semicolon     \;     Less than     \<
+%%   Equals        \=     Greater than  \>     Question mark \?
+%%   Commercial at \@     Left bracket  \[     Backslash     \\
+%%   Right bracket \]     Circumflex    \^     Underscore    \_
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%%   Right brace   \}     Tilde         \~}
+\newcommand*\version{v1.2}
+\endinput
+%%
+%% End of file `makedtx-version.tex'.


Property changes on: trunk/Master/texmf-dist/doc/support/makedtx/makedtx-version.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/support/makedtx/makedtx.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/scripts/makedtx/makedtx.pl
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/support/makedtx/makedtx.dtx
===================================================================
--- trunk/Master/texmf-dist/source/support/makedtx/makedtx.dtx	2018-02-21 22:34:36 UTC (rev 46701)
+++ trunk/Master/texmf-dist/source/support/makedtx/makedtx.dtx	2018-02-21 23:30:25 UTC (rev 46702)
@@ -1,18 +1,25 @@
 %\iffalse
-% makedtx.dtx generated using makedtx version 0.94b (c) Nicola Talbot
+% makedtx.dtx generated using makedtx version 1.2 (c) Nicola Talbot
 % Command line args:
-%   -macrocode ".*\.p.*l"
-%   -src "creatdtx.(.*)=>creatdtx.\1"
-%   -src "makedtx=>makedtx.pl"
-%   -author "Nicola Talbot"
+%   -src "CHANGES\.org$=>CHANGES.org"
+%   -src "makedtx-version\.tex$=>makedtx-version.tex"
+%   -src "latexmkrc\.pl$=>latexmkrc.pl"
+%   -src "createdtx\.sty$=>createdtx.sty"
+%   -src "makedtx\.pl$=>makedtx.pl"
+%   -author "Nicola L.C. Talbot"
+%   -doc "makedtx.tex"
+%   -setambles "\.pl$=>\nopreamble\nopostamble"
+%   -macrocode "makedtx\.pl$"
+%   -macrocode "CHANGES\.org$"
+%   -macrocode "makedtx-version\.tex$"
+%   -macrocode "latexmkrc\.pl$"
 %   -v "1"
-%   -dir "source"
-%   -setambles ".*\.p.*l=>\nopreamble\nopostamble"
-%   -comment ".*\.p.*l"
-%   -doc "manual.tex"
-%   -codetitle "creatdtx.sty code"
+%   -comment "makedtx\.pl$"
+%   -comment "CHANGES\.org$"
+%   -comment "makedtx-version\.tex$"
+%   -comment "latexmkrc\.pl$"
 %   makedtx
-% Created on 2007/8/19 14:16
+% Created on 2018/2/21 16:13
 %\fi
 %\iffalse
 %<*package>
@@ -35,11 +42,11 @@
 %\fi
 % \iffalse
 % Doc-Source file to use with LaTeX2e
-% Copyright (C) 2007 Nicola Talbot, all rights reserved.
+% Copyright (C) 2018 Nicola L.C. Talbot, all rights reserved.
 % \fi
 % \iffalse
 %<*driver>
-\documentclass[a4paper]{ltxdoc}
+\documentclass[a4paper,english]{ltxdoc}
 
 \usepackage[colorlinks,
             bookmarks,
@@ -47,6 +54,9 @@
             bookmarksopen,
             pdfauthor={Nicola Talbot},
             pdftitle={makedtx : a Perl script to help create a DTX file from source code}]{hyperref}
+\usepackage{createdtx}
+\usepackage{datetime2}
+\DTMsetstyle{english}
 
 
 \renewcommand{\usage}[1]{\textit{\hyperpage{#1}}}
@@ -64,18 +74,20 @@
 \CheckSum{8}
 
 \newcommand{\PDFLaTeX}{PDF\LaTeX}
+\DTMsavedate{makedtx-date}{2018-02-19}
 
-
+\input{makedtx-version}
 \begin{document}
 \DocInput{makedtx.dtx}
 \end{document}
 %</driver>
 %\fi
-%\title{makedtx v0.94b : a Perl script to help create a DTX 
+%
+%\title{makedtx \version : a Perl script to help create a DTX 
 %file from source code}
 %\author{Nicola Talbot\\
 %\url{http://theoval.cmp.uea.ac.uk/~nlct/}}
-%\date{19th August 2007}
+%\date{\DTMusedate{makedtx-date}}
 %\maketitle
 %
 %\tableofcontents
@@ -334,6 +346,13 @@
 %source code is inserted into a \texttt{macrocode} environment in the
 %DTX file.
 %
+%Please note that the source code is supposed to be text insensitive to end of line format, as a matter of fact
+%\texttt{makedtx.pl} will convert all end of lines of this source code to LF's.
+%
+%Please note also that only the source files given by the \switch{src} switch are considered, the
+%\switch{macrocode} switch by itself does not cause the source file to be insterted into the DTX file, it only
+%affects \emph{how} it is inserted.
+%
 %\item[\switch{comment} \texttt{"}\meta{expr}\texttt{"}]
 %\changes{0.93}{2007/08/02}{comment switch added}%
 %If the source file matches the Perl regular expression given by
@@ -412,7 +431,7 @@
 % %    \end{macrocode}
 %\end{verbatim}
 %Now let's make some (very brief) documentation.  Let's call the file,
-%say \texttt{manual.tex}\footnote{Note: if you want to use
+%say \texttt{manual.tex}\footnote{Note: if you want to use 
 %\latextohtml\ on this document, you will need to use, e.g.,
 %\cs{verb}\texttt{!\cs{today}!} instead of
 %\texttt{\symbol{124}\cs{today}\symbol{124}} since it doesn't recognise
@@ -713,7 +732,7 @@
 %\end{verbatim}
 %then if you pass the following switch to \texttt{makedtx.pl}:
 %\begin{itemize}
-%\item \verb'-src "abcsrc\.([styb]+)=>abc.\1"' 
+%\item \verb'-src "abcsrc\.([styb]+)=>abc.\1"'
 %will be equivalent to:
 %\begin{verbatim}
 %-src "abcsrc.sty=>abc.sty" -src "abcsrc.bst=>abc.bst"
@@ -759,98 +778,106 @@
 %\PrintIndex}
 %
 %
-%
-%
-%\section{creatdtx.sty code}
+%\section{The Code}
 %\iffalse
 %    \begin{macrocode}
-%<*creatdtx.perl>
+%<*CHANGES.org>
 %    \end{macrocode}
 %\fi
 %\iffalse
 %    \begin{macrocode}
-# creatdtx.perl LaTeX2HTML file corresponding to creatdtx.sty package
-# author : Nicola Talbot
-# date   : 2nd August 2007
+* version 1.2 2018/02/19
 
-package main;
++ Under MSW use envvar USERNAME rather than getpwuid for getting
+  author default value
++ User Perl I/O layers in order to have LF EOL on output, and accept
+  both LF and CRLF on input
++ Create a test bench --- add a testmode option so that date in output
+  is fixed and output is comparable to a reference value.
++ Fix perl warning about escaping { in regexp.
++ Semi-colonize end of here-documents as recommended in Perl Manual.
++ Fix --version cli argument, so that version is flushed to stdout
+  before script exits.
++ Automate packaging
 
-print " [creatdtx v0.93b (N.L.C. Talbot)]";
 
-sub do_cmd_meta
-{
-   &do_cmd_emph(@_);
-}
+* version 0.94 (2007/08/19) :
 
-sub do_cmd_cs{
-  local($_) = @_;
-  local($name);
++ Default preamble changed to one which conforms with the 
+  LaTeX Project Public License (LPPL)
++ license switch added
 
-  $name = &missing_braces unless
-     (s/$next_pair_pr_rx/$name=$2;''/eo);
+* version 0.93 (2007/08/02) :
 
-  "<TT>\$name</TT>$_";
-}
++ version switch added
++ comment switch added
++ codetitle switch added
 
-sub do_cmd_marg{
-  local($_) = @_;
-  local($arg);
+* version 0.91 (2006/07/21) :
 
-  $arg = &missing_braces unless
-     (s/$next_pair_pr_rx/$arg=$2;''/eo);
++ prefinale switch added
 
-  "<TT>{</TT><EM>$arg</EM><TT>}</TT>$_";
-}
+* version 0.9 (2005/02/11) :
 
-sub do_cmd_oarg{
-  local($_) = @_;
-  local($arg);
++ Initial beta release
+%    \end{macrocode}
+%\fi
+%\iffalse
+%    \begin{macrocode}
+%</CHANGES.org>
+%    \end{macrocode}
+%\fi
+%\iffalse
+%    \begin{macrocode}
+%<*makedtx-version.tex>
+%    \end{macrocode}
+%\fi
+%\iffalse
+%    \begin{macrocode}
+\newcommand*\version{v1.2}
+%    \end{macrocode}
+%\fi
+%\iffalse
+%    \begin{macrocode}
+%</makedtx-version.tex>
+%    \end{macrocode}
+%\fi
+%\iffalse
+%    \begin{macrocode}
+%<*latexmkrc.pl>
+%    \end{macrocode}
+%\fi
+%\iffalse
+%    \begin{macrocode}
+$dvi_mode = 0;
+$pdf_mode = 1;
 
-  $arg = &missing_braces unless
-     (s/$next_pair_pr_rx/$arg=$2;''/eo);
-
-  "<TT>[</TT><EM>$arg</EM><TT>]</TT>$_";
+ at default_files=();
+foreach $file (glob('makedtx.{dtx,tex}'))
+{
+   if(-e $file){
+      @default_files=($file);
+      break;
+   }
 }
 
-sub do_cmd_parg{
-  local($_) = @_;
-  local($arg);
-
-  $arg = &missing_braces unless
-     (s/$next_pair_pr_rx/$arg=$2;''/eo);
-
-  "<TT>(</TT><EM>$arg</EM><TT>)</TT>$_";
+$makeindex= "makeindex -s gind.ist %O -o %D %S";
+    
+# 1. For glossaries using glossary package --- \changes generatated by the ltxdoc \changes directive
+add_cus_dep( 'glo', 'gls', 0, 'makeglo2gls' );
+sub makeglo2gls {
+    system("makeindex -s gglo.ist -t \"$_[0].glg\" -o \"$_[0].gls\" \"$_[0].glo\"" );
 }
-
-&ignore_commands( <<_IGNORED_CMDS_);
-ifmakedtx # {}
-StopEventually # {}
-OnlyDescription
-RecordChanges
-PrintChanges
-EnableCrossRefs
-CodelineIndex
-GetFileInfo # {}
-CheckSum # {}
-DescribeMacro # {}
-DescribeEnvironment # {}
-DoNotIndex # {}
-changes # {} # {} # {}
-DeleteShortVerb # {}
-MakeShortVerb # {}
-_IGNORED_CMDS_
-
-1;
 %    \end{macrocode}
 %\fi
 %\iffalse
 %    \begin{macrocode}
-%</creatdtx.perl>
+%</latexmkrc.pl>
 %    \end{macrocode}
 %\fi
 %\iffalse
 %    \begin{macrocode}
-%<*creatdtx.sty>
+%<*createdtx.sty>
 %    \end{macrocode}
 %\fi
 % This is the code for the \texttt{creatdtx} package. This 
@@ -869,9 +896,11 @@
 \providecommand{\StopEventually}{}
 \renewcommand{\StopEventually}[1]{#1}
 %    \end{macrocode}
-%\iffalse
+\iffalse Local Variables:\fi
+\iffalse mode: DocTeX\fi
+\iffalse End:\fi%\iffalse
 %    \begin{macrocode}
-%</creatdtx.sty>
+%</createdtx.sty>
 %    \end{macrocode}
 %\fi
 %\iffalse
@@ -886,8 +915,8 @@
 # File          : makedtx
 # Author        : Nicola L. C. Talbot
 # Date          : 29 Oct 2004
-# Last Modified : 19 Aug 2007
-# Version       : 0.94b
+# Last Modified : 2017-04-08
+# Version       : 1.2
 
 # usage : makedtx [options] -src <expr>=><expr> -doc <filename> <basename>
 #
@@ -894,40 +923,54 @@
 # -h  : help message
 # -src <expr>=><expr> : e.g. -src "(foo)src\.(bar)=>$1.$2" will add foosrc.bar to <basename>.dtx to be extracted to foo.bar
 # -doc <filename> : file containing documentation.
-# -prefinale <string> : text to add to dtx file just before \Finale (added to version 0.91b) 
+# -prefinale <string> : text to add to dtx file just before \Finale (added to version 0.91b)
 # <basename> : create <basename>.dtx and <basename>.ins
 
 use Getopt::Long;
 
-$version = "0.94b";
+$version = "1.2";
 
 # process command line options
 
  %optctl = ();
 
+# v1.1 added section switch
 &GetOptions(\%optctl, "h", "help", "v", "src=s@", "doc=s",
 "dir=s", "op=s", "askforoverwrite!", "ins!",
-"preamble=s", "postamble=s", "setambles=s@", "macrocode=s@",
+"preamble=s", "postamble=s", "setambles=s@", "testmode", "macrocode=s@",
 "author=s", "date=s", "stopeventually=s",
 "prefinale=s", "codetitle=s", "comment=s@",
-"version", "license=s") or &syntaxerror();
+"version", "license=s", "section=s") or &syntaxerror();
 
 $srcdir          = ".";
 $patternop       = "=";
 $verbose         = 0;
 $noins           = 0;
+$testmode        = 0;
 $askforoverwrite = 0;
 $preamble        = "";
 $postamble       = "";
-$author          = (getpwuid($<))[6] || 'Unknown';
+my $author;
+if ($^O =~ m/MSWin/)
+{
+    $author          = $ENV{"USERNAME"};
+    if ($author eq ""){ $author = 'Unknown';}
+}
+else
+{
+    $author          = (getpwuid($<))[6] || 'Unknown';
+}
 $stopeventually  = "";
 $prefinale       = "";
 $codetitle       = "The Code";
+$section         = "section";
 $license         = "lppl";
 
 ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
 
 $year = $year + 1900;
+$copyright_date = $year;
+$creation_date = "$year/" . ($mon+1) . "/$mday $hour:" . ($min<10?"0$min" : $min);
 
 foreach $setting (keys %optctl)
 {
@@ -937,7 +980,8 @@
    }
    elsif ($setting eq "version")
    {
-      die "makedtx version $version\n";
+      print "makedtx version $version\n";
+      exit 0;
    }
    elsif ($setting eq "doc")
    {
@@ -989,7 +1033,7 @@
    }
    elsif ($setting eq "date")
    {
-      $year = $optctl{$setting};
+      $copyright_date = $optctl{$setting};
    }
    elsif ($setting eq "stopeventually")
    {
@@ -1003,6 +1047,20 @@
    {
       $codetitle = $optctl{$setting};
    }
+   elsif ($setting eq "section")
+   {
+      $section = $optctl{$setting};
+   }
+   elsif ($setting eq "testmode")
+   {
+      $testmode = $optctl{$setting};
+      if($testmode)
+      {
+         $version = "x.y";
+         $copyright_date = "YYYY";
+         $creation_date = "YYYY/MM/DD hh:mm";
+      }
+   }
    elsif ($setting eq "comment")
    {
       @comment = @{ $optctl{$setting} };
@@ -1033,7 +1091,7 @@
    &syntaxerror();
 }
 
-open DTX, ">$basename.dtx" or die "Can't open '$basename.dtx'\n";
+open DTX, ">:unix","$basename.dtx" or die "Can't open '$basename.dtx'\n";
 
 if ($verbose)
 {
@@ -1084,7 +1142,7 @@
 
          $file{$thisinfile} = $thisoutfile;
          $derivedfiles[$numoutput]{'in'} = $thisinfile;
-         $derivedfiles[$numoutput]{'out'} = $thisoutfile; 
+         $derivedfiles[$numoutput]{'out'} = $thisoutfile;
          $outputfiles[$numoutput] = $thisoutfile;
 
          $numoutput++;
@@ -1096,14 +1154,15 @@
 {
    if ($license eq "lppl")
    {
-     $preamble = <<_END_LICENSE
+# v1.2 fixed typo in preamble
+      $preamble = <<_END_LICENSE;
 
  $basename.dtx
- Copyright $year $author
+ Copyright $copyright_date $author
 
  This work may be distributed and/or modified under the
  conditions of the LaTeX Project Public License, either version 1.3
- of this license of (at your option) any later version.
+ 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.3 or later is part of all distributions of LaTeX
@@ -1117,10 +1176,10 @@
    }
    elsif ($license eq 'bsd')
    {
-     $preamble = <<_END_LICENSE
+      $preamble = <<_END_LICENSE;
 
  $basename.dtx
- Copyright (c) $year $author
+ Copyright (c) $copyright_date $author
  All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
@@ -1149,10 +1208,10 @@
    }
    elsif ($license eq 'gpl')
    {
-     $preamble = <<_END_LICENSE
+      $preamble = <<_END_LICENSE;
 
  $basename.dtx
- Copyright (c) $year $author
+ Copyright (c) $copyright_date $author
 
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -1177,17 +1236,18 @@
    }
 
    $preamble .= " This work consists of the files "
-             . "$basename.dtx and $basename.ins and the derived " 
-             . ($numoutput > 1 ? "files" : "file") 
+             . "$basename.dtx and $basename.ins and the derived "
+             . ($numoutput > 1 ? "files" : "file")
              . " " . join(', ', @outputfiles) . ".\n";
 }
 
-open DOC, $docsrc or die "Can't open '$docsrc'\n";
+open DOC, '<:crlf',$docsrc or die "Can't open '$docsrc'\n";
 
 print DTX "\%\\iffalse\n";
 print DTX "\% $basename.dtx generated using makedtx version $version (c) Nicola Talbot\n";
 print DTX "\% Command line args:\n";
 
+ at cmdline_args = ();
 foreach $setting (keys %optctl)
 {
    if ($setting eq "src")
@@ -1194,7 +1254,7 @@
    {
       foreach $source (@source)
       {
-         print DTX "\%   -src \"$source\"\n";
+	 push @cmdline_args ,"-src \"$source\"";
       }
    }
    elsif ($setting eq "setambles")
@@ -1201,7 +1261,7 @@
    {
       foreach $setamble (@setambles)
       {
-         print DTX "\%   -setambles \"$setamble\"\n";
+	 push @cmdline_args ,"-setambles \"$setamble\"";
       }
    }
    elsif ($setting eq "macrocode")
@@ -1208,7 +1268,7 @@
    {
       foreach $macrocode (@macrocode)
       {
-         print DTX "\%   -macrocode \"$macrocode\"\n";
+	 push @cmdline_args ,"-macrocode \"$macrocode\"";
       }
    }
    elsif ($setting eq "comment")
@@ -1215,7 +1275,7 @@
    {
       foreach $comment (@comment)
       {
-         print DTX "\%   -comment \"$comment\"\n";
+	 push @cmdline_args ,"-comment \"$comment\"";
       }
    }
    else
@@ -1222,13 +1282,19 @@
    {
       $val = $optctl{$setting};
       $val=~s/\\/\\\\/g;
-      print DTX "\%   -", $setting, " \"",  $val, "\"\n";
+      push @cmdline_args ,("-" . $setting . " \"" .  $val . "\"");
    }
 }
+if($testmode){
+   @cmdline_args = sort @cmdline_args;
+}
+foreach $arg (@cmdline_args){
+   print DTX "\%   ", $arg , "\n";
+}
 
 print DTX "\%   $basename\n";
 
-print DTX "\% Created on $year/", $mon+1, "/$mday $hour:", $min<10?"0$min" : $min,"\n";
+print DTX "\% Created on $creation_date\n";
 print DTX "\%\\fi\n";
 print DTX "\%\\iffalse\n";
 print DTX "\%<*package>\n";
@@ -1252,7 +1318,7 @@
 
 print DTX "\% \\iffalse\n";
 print DTX "\% Doc-Source file to use with LaTeX2e\n";
-print DTX "\% Copyright (C) $year $author, all rights reserved.\n";
+print DTX "\% Copyright (C) $copyright_date $author, all rights reserved.\n";
 print DTX "\% \\fi\n";
 
 # driver
@@ -1264,7 +1330,7 @@
 
 while (<DOC>)
 {
-   s/\\usepackage{creatdtx}//;
+   s/\\usepackage\{creatdtx}//;
 
    $restofline = $_;
 
@@ -1324,7 +1390,7 @@
 
    print DTX $line;
 
-   if ($line=~/\\begin{document}/)
+   if ($line=~/\\begin\{document}/)
    {
       $indoc = 1;
 
@@ -1344,12 +1410,12 @@
 
 while (<DOC>)
 {
-   if (/\\begin{verbatim}/)
+   if (/\\begin\{verbatim}/)
    {
       $inverb=1;
    }
 
-   if (/\\end{verbatim}/)
+   if (/\\end\{verbatim}/)
    {
       $inverb=0;
    }
@@ -1415,11 +1481,11 @@
 
    $line = $beginline . $restofline;
 
-   if (($line=~/\\end{document}/) and not $inverb)
+   if (($line=~/\\end\{document}/) and not $inverb)
    {
       $indoc=0;
 
-      $line=~s/\\end{document}//;
+      $line=~s/\\end\{document}//;
    }
 
    $line=~s/\n/\n\%/mg;
@@ -1436,7 +1502,12 @@
    print DTX "\%\\StopEventually{$stopeventually}\n";
 }
 
-print DTX "\%\\section{$codetitle}\n";
+# v1.0 added check
+if ($codetitle)
+{
+  # v1.1 added section
+  print DTX "\%\\$section\{$codetitle\}\n";
+}
 
 for (my $idx = 0; $idx <= $#derivedfiles; $idx++)
 {
@@ -1448,7 +1519,7 @@
          print "$srcdirfile -> $_ \n";
    }
 
-   open SRC, $thisinfile or die "Can't open $thisinfile\n";
+   open SRC, "<:crlf", $thisinfile or die "Can't open $thisinfile\n";
 
    print DTX "\%\\iffalse\n";
    print DTX "\%    \\begin{macrocode}\n";
@@ -1511,9 +1582,9 @@
 
 if (!$noins)
 {
-   open INS, ">$basename.ins" or die "Can't open '$basename.ins'\n";
+   open INS, ">:unix","$basename.ins" or die "Can't open '$basename.ins'\n";
 
-   print INS "\% $basename.ins generated using makedtx version $version $year/",$mon+1,"/$mday $hour:", $min<10?"0$min":$min,"\n";
+   print INS "\% $basename.ins generated using makedtx version $version $creation_date\n";
 
    print INS "\\input docstrip\n\n";
    print INS "\\preamble\n";
@@ -1646,6 +1717,7 @@
    print "-macrocode <expr>  : surround any file which matches <expr> in a macrocode environment\n";
    print "-comment <expr>    : surround any file which matches <expr> with \\iffalse \\fi pair\n";
    print "-codetitle <text>  : The title for the documented code section (default: The Code)\n";
+   print "-section <cs>  : The sectioning command to use for the documented code section (default: 'section')\n";
    print "-license <license> : use the given license for the preamble.\n";
    print "                     Known licenses: lppl (default), bsd, gpl.\n";
    print "-h                 : help message\n";

Modified: trunk/Master/texmf-dist/source/support/makedtx/makedtx.ins
===================================================================
--- trunk/Master/texmf-dist/source/support/makedtx/makedtx.ins	2018-02-21 22:34:36 UTC (rev 46701)
+++ trunk/Master/texmf-dist/source/support/makedtx/makedtx.ins	2018-02-21 23:30:25 UTC (rev 46702)
@@ -1,14 +1,14 @@
-% makedtx.ins generated using makedtx version 0.94b 2007/8/19 14:16
+% makedtx.ins generated using makedtx version 1.2 2018/2/21 16:13
 \input docstrip
 
 \preamble
 
  makedtx.dtx
- Copyright 2007 Nicola Talbot
+ Copyright 2018 Nicola L.C. Talbot
 
  This work may be distributed and/or modified under the
  conditions of the LaTeX Project Public License, either version 1.3
- of this license of (at your option) any later version.
+ 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.3 or later is part of all distributions of LaTeX
@@ -16,17 +16,21 @@
 
  This work has the LPPL maintenance status `maintained'.
 
- The Current Maintainer of this work is Nicola Talbot.
+ The Current Maintainer of this work is Nicola L.C. Talbot.
 
- This work consists of the files makedtx.dtx and makedtx.ins and the derived files creatdtx.perl, creatdtx.sty, makedtx.pl.
+ This work consists of the files makedtx.dtx and makedtx.ins and the derived files CHANGES.org, makedtx-version.tex, latexmkrc.pl, createdtx.sty, makedtx.pl.
 
 \endpreamble
 
 \askforoverwritefalse
 
-\generate{\file{creatdtx.perl}{\nopreamble\nopostamble\from{makedtx.dtx}{creatdtx.perl}}
-\file{creatdtx.sty}{\usepreamble\defaultpreamble
-\usepostamble\defaultpostamble\from{makedtx.dtx}{creatdtx.sty,package}}
+\generate{\file{CHANGES.org}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{makedtx.dtx}{CHANGES.org,package}}
+\file{makedtx-version.tex}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{makedtx.dtx}{makedtx-version.tex,package}}
+\file{latexmkrc.pl}{\nopreamble\nopostamble\from{makedtx.dtx}{latexmkrc.pl}}
+\file{createdtx.sty}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{makedtx.dtx}{createdtx.sty,package}}
 \file{makedtx.pl}{\nopreamble\nopostamble\from{makedtx.dtx}{makedtx.pl}}
 }
 

Deleted: trunk/Master/texmf-dist/tex/latex/makedtx/creatdtx.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/makedtx/creatdtx.sty	2018-02-21 22:34:36 UTC (rev 46701)
+++ trunk/Master/texmf-dist/tex/latex/makedtx/creatdtx.sty	2018-02-21 23:30:25 UTC (rev 46702)
@@ -1,48 +0,0 @@
-%%
-%% This is file `creatdtx.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% makedtx.dtx  (with options: `creatdtx.sty,package')
-%% 
-%%  makedtx.dtx
-%%  Copyright 2007 Nicola Talbot
-%% 
-%%  This work may be distributed and/or modified under the
-%%  conditions of the LaTeX Project Public License, either version 1.3
-%%  of this license of (at your option) any later version.
-%%  The latest version of this license is in
-%%    http://www.latex-project.org/lppl.txt
-%%  and version 1.3 or later is part of all distributions of LaTeX
-%%  version 2005/12/01 or later.
-%% 
-%%  This work has the LPPL maintenance status `maintained'.
-%% 
-%%  The Current Maintainer of this work is Nicola Talbot.
-%% 
-%%  This work consists of the files makedtx.dtx and makedtx.ins and the derived files creatdtx.perl, creatdtx.sty, makedtx.pl.
-%% 
-%% \CharacterTable
-%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%%   Digits        \0\1\2\3\4\5\6\7\8\9
-%%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%%   Dollar        \$     Percent       \%     Ampersand     \&
-%%   Acute accent  \'     Left paren    \(     Right paren   \)
-%%   Asterisk      \*     Plus          \+     Comma         \,
-%%   Minus         \-     Point         \.     Solidus       \/
-%%   Colon         \:     Semicolon     \;     Less than     \<
-%%   Equals        \=     Greater than  \>     Question mark \?
-%%   Commercial at \@     Left bracket  \[     Backslash     \\
-%%   Right bracket \]     Circumflex    \^     Underscore    \_
-%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%%   Right brace   \}     Tilde         \~}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{creatdtx}[2005/02/11 v0.9b (N.L.C. Talbot)]
-\newcommand{\ifmakedtx}[2]{#2}
-\providecommand{\StopEventually}{}
-\renewcommand{\StopEventually}[1]{#1}
-\endinput
-%%
-%% End of file `creatdtx.sty'.

Added: trunk/Master/texmf-dist/tex/latex/makedtx/createdtx.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/makedtx/createdtx.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/makedtx/createdtx.sty	2018-02-21 23:30:25 UTC (rev 46702)
@@ -0,0 +1,51 @@
+%%
+%% This is file `createdtx.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% makedtx.dtx  (with options: `createdtx.sty,package')
+%% 
+%%  makedtx.dtx
+%%  Copyright 2018 Nicola L.C. Talbot
+%% 
+%%  This work may be distributed and/or modified under the
+%%  conditions of the LaTeX Project Public License, either version 1.3
+%%  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.3 or later is part of all distributions of LaTeX
+%%  version 2005/12/01 or later.
+%% 
+%%  This work has the LPPL maintenance status `maintained'.
+%% 
+%%  The Current Maintainer of this work is Nicola L.C. Talbot.
+%% 
+%%  This work consists of the files makedtx.dtx and makedtx.ins and the derived files CHANGES.org, makedtx-version.tex, latexmkrc.pl, createdtx.sty, makedtx.pl.
+%% 
+%% \CharacterTable
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%%   Dollar        \$     Percent       \%     Ampersand     \&
+%%   Acute accent  \'     Left paren    \(     Right paren   \)
+%%   Asterisk      \*     Plus          \+     Comma         \,
+%%   Minus         \-     Point         \.     Solidus       \/
+%%   Colon         \:     Semicolon     \;     Less than     \<
+%%   Equals        \=     Greater than  \>     Question mark \?
+%%   Commercial at \@     Left bracket  \[     Backslash     \\
+%%   Right bracket \]     Circumflex    \^     Underscore    \_
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%%   Right brace   \}     Tilde         \~}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{creatdtx}[2005/02/11 v0.9b (N.L.C. Talbot)]
+\newcommand{\ifmakedtx}[2]{#2}
+\providecommand{\StopEventually}{}
+\renewcommand{\StopEventually}[1]{#1}
+\iffalse Local Variables:\fi
+\iffalse mode: DocTeX\fi
+\iffalse End:\fi%\iffalse
+\endinput
+%%
+%% End of file `createdtx.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/makedtx/createdtx.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property


More information about the tex-live-commits mailing list