texlive[47878] Master: texdate (30may18)

commits+karl at tug.org commits+karl at tug.org
Wed May 30 23:18:26 CEST 2018


Revision: 47878
          http://tug.org/svn/texlive?view=revision&revision=47878
Author:   karl
Date:     2018-05-30 23:18:26 +0200 (Wed, 30 May 2018)
Log Message:
-----------
texdate (30may18)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/libexec/ctan2tds
    trunk/Master/tlpkg/tlpsrc/collection-plaingeneric.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/generic/texdate/
    trunk/Master/texmf-dist/doc/generic/texdate/CHANGES
    trunk/Master/texmf-dist/doc/generic/texdate/README
    trunk/Master/texmf-dist/doc/generic/texdate/lppl.txt
    trunk/Master/texmf-dist/doc/generic/texdate/texdate.pdf
    trunk/Master/texmf-dist/source/generic/texdate/
    trunk/Master/texmf-dist/source/generic/texdate/texdate.dtx
    trunk/Master/texmf-dist/source/generic/texdate/texdate.ins
    trunk/Master/texmf-dist/tex/generic/texdate/
    trunk/Master/texmf-dist/tex/generic/texdate/texdate.sty
    trunk/Master/tlpkg/tlpsrc/texdate.tlpsrc

Added: trunk/Master/texmf-dist/doc/generic/texdate/CHANGES
===================================================================
--- trunk/Master/texmf-dist/doc/generic/texdate/CHANGES	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/texdate/CHANGES	2018-05-30 21:18:26 UTC (rev 47878)
@@ -0,0 +1 @@
+26 May 1202 (30 May 2018):  Initial release.

Added: trunk/Master/texmf-dist/doc/generic/texdate/README
===================================================================
--- trunk/Master/texmf-dist/doc/generic/texdate/README	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/texdate/README	2018-05-30 21:18:26 UTC (rev 47878)
@@ -0,0 +1,26 @@
++AMDG
+
+This document is copyright 2018 by Donald P. Goodman, and is
+released publicly under the LaTeX Project Public License.  The
+distribution and modification of this work is constrained by the
+conditions of that license.  See
+	http://www.latex-project.org/lppl.txt
+for the text of the license.  This document is released
+under version 1.3(c) of that license, and this work may be distributed
+or modified under the terms of that license or, at your option, any
+later version.
+
+This work has the LPPL maintenance status 'maintained'.
+
+The Current Maintainer of this work is Donald P. Goodman
+(dgoodmaniii at gmail.com).
+
+This work consists of the files texdate.ins and
+texdate.dtx, along with derived files texdate.sty and
+texdate.pdf.
+
+The texdate package provides plain-TeX-compatible commands
+for printing and manipulating dates.
+
+This package should run properly on any properly running TeX
+or LaTeX system.


Property changes on: trunk/Master/texmf-dist/doc/generic/texdate/README
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/generic/texdate/lppl.txt
===================================================================
--- trunk/Master/texmf-dist/doc/generic/texdate/lppl.txt	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/generic/texdate/lppl.txt	2018-05-30 21:18:26 UTC (rev 47878)
@@ -0,0 +1,416 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c  2008-05-04
+
+Copyright 1999 2002-2008 LaTeX3 Project
+    Everyone is allowed to distribute verbatim copies of this
+    license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute.  This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but 
+it is written in such a way that you can use it even if your work is 
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work.  If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+   `Work'
+    Any work being distributed under this License.
+    
+   `Derived Work'
+    Any work that under any applicable law is derived from the Work.
+
+   `Modification' 
+    Any procedure that produces a Derived Work under any applicable
+    law -- for example, the production of a file containing an
+    original file associated with the Work or a significant portion of
+    such a file, either verbatim or with modifications and/or
+    translated into another language.
+
+   `Modify'
+    To apply any procedure that produces a Derived Work under any
+    applicable law.
+    
+   `Distribution'
+    Making copies of the Work available from one person to another, in
+    whole or in part.  Distribution includes (but is not limited to)
+    making any electronic components of the Work accessible by
+    file transfer protocols such as FTP or HTTP or by shared file
+    systems such as Sun's Network File System (NFS).
+
+   `Compiled Work'
+    A version of the Work that has been processed into a form where it
+    is directly usable on a computer system.  This processing may
+    include using installation facilities provided by the Work,
+    transformations of the Work, copying of components of the Work, or
+    other activities.  Note that modification of any installation
+    facilities provided by the Work constitutes modification of the Work.
+
+   `Current Maintainer'
+    A person or persons nominated as such within the Work.  If there is
+    no such explicit nomination then it is the `Copyright Holder' under
+    any applicable law.
+
+   `Base Interpreter' 
+    A program or process that is normally needed for running or
+    interpreting a part or the whole of the Work.    
+
+    A Base Interpreter may depend on external components but these
+    are not considered part of the Base Interpreter provided that each
+    external component clearly identifies itself whenever it is used
+    interactively.  Unless explicitly specified when applying the
+    license to the Work, the only applicable Base Interpreter is a
+    `LaTeX-Format' or in the case of files belonging to the 
+    `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1.  Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope.  In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2.  You may distribute a complete, unmodified copy of the Work as you
+received it.  Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3.  You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4.  If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work.  You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work.  Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5.  If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6.  If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition.  Only
+the Current Maintainer is allowed to add such statements of exemption 
+to a component of the Work. 
+
+  a. If a component of this Derived Work can be a direct replacement
+     for a component of the Work when that component is used with the
+     Base Interpreter, then, wherever this component of the Work
+     identifies itself to the user when used interactively with that
+     Base Interpreter, the replacement component of this Derived Work
+     clearly and unambiguously identifies itself as a modified version
+     of this component to the user when used interactively with that
+     Base Interpreter.
+     
+  b. Every component of the Derived Work contains prominent notices
+     detailing the nature of the changes to that component, or a
+     prominent reference to another file that is distributed as part
+     of the Derived Work and that contains a complete and accurate log
+     of the changes.
+  
+  c. No information in the Derived Work implies that any persons,
+     including (but not limited to) the authors of the original version
+     of the Work, provide any support, including (but not limited to)
+     the reporting and handling of errors, to recipients of the
+     Derived Work unless those persons have stated explicitly that
+     they do provide such support for the Derived Work.
+
+  d. You distribute at least one of the following with the Derived Work:
+
+       1. A complete, unmodified copy of the Work; 
+          if your distribution of a modified component is made by
+          offering access to copy the modified component from a
+          designated place, then offering equivalent access to copy
+          the Work from the same or some similar place meets this
+          condition, even though third parties are not compelled to
+          copy the Work along with the modified component;
+
+       2. Information that is sufficient to obtain a complete,
+          unmodified copy of the Work.
+
+7.  If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8.  The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9.  Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+     
+10. a. A Derived Work may be distributed under a different license
+       provided that license itself honors the conditions listed in
+       Clause 6 above, in regard to the Work, though it does not have
+       to honor the rest of the conditions in this license.
+      
+    b. If a Derived Work is distributed under a different license, that
+       Derived Work must provide sufficient documentation as part of
+       itself to allow each recipient of that Derived Work to honor the 
+       restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12.  Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work.  Except when otherwise stated in
+writing, the Copyright Holder provides the Work `as is', without
+warranty of any kind, either expressed or implied, including, but not
+limited to, the implied warranties of merchantability and fitness for a
+particular purpose.  The entire risk as to the quality and performance
+of the Work is with you.  Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1.  Make a reasonable attempt to trace the Current Maintainer (and
+     the Copyright Holder, if the two differ) through the means of
+     an Internet or similar search.
+
+ 2.  If this search is successful, then enquire whether the Work
+     is still maintained.
+
+  a. If it is being maintained, then ask the Current Maintainer
+     to update their communication data within one month.
+     
+  b. If the search is unsuccessful or no action to resume active
+     maintenance is taken by the Current Maintainer, then announce
+     within the pertinent community your intention to take over
+     maintenance.  (If the Work is a LaTeX work, this could be
+     done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+     maintenance of the Work to you, then this takes effect
+     immediately upon announcement.
+     
+  b. If the Current Maintainer is not reachable and the Copyright
+     Holder agrees that maintenance of the Work be passed to you,
+     then this takes effect immediately upon announcement.  
+    
+ 4.  If you make an `intention announcement' as described in 2b. above
+     and after three months your intention is challenged neither by
+     the Current Maintainer nor by the Copyright Holder nor by other
+     people, then you may arrange for the Work to be changed so as
+     to name you as the (new) Current Maintainer.
+     
+ 5.  If the previously unreachable Current Maintainer becomes
+     reachable once more within three months of a change completed
+     under the terms of 3b) or 4), then that Current Maintainer must
+     become or remain the Current Maintainer upon request provided
+     they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer.  You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license.  These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license.  You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license.  It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate.  Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component.  While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community.  It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one.  Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified.  Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+  %% pig.dtx
+  %% Copyright 2005 M. Y. Name
+  %
+  % 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 M. Y. Name.
+  %
+  % This work consists of the files pig.dtx and pig.ins
+  % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.  
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+   The LPPL requires that distributions of the Work contain all the
+   files of the Work.  It is therefore important that you provide a
+   way for the licensee to determine which files constitute the Work.
+   This could, for example, be achieved by explicitly listing all the
+   files of the Work near the copyright notice of each file or by
+   using a line such as:
+
+    % This work consists of all files listed in manifest.txt.
+   
+   in that place.  In the absence of an unequivocal list it might be
+   impossible for the licensee to determine what is considered by you
+   to comprise the Work and, in such a case, the licensee would be
+   entitled to make reasonable conjectures as to which files comprise
+   the Work.
+


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

Index: trunk/Master/texmf-dist/doc/generic/texdate/texdate.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/generic/texdate/texdate.pdf	2018-05-30 21:16:02 UTC (rev 47877)
+++ trunk/Master/texmf-dist/doc/generic/texdate/texdate.pdf	2018-05-30 21:18:26 UTC (rev 47878)

Property changes on: trunk/Master/texmf-dist/doc/generic/texdate/texdate.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/generic/texdate/texdate.dtx
===================================================================
--- trunk/Master/texmf-dist/source/generic/texdate/texdate.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/generic/texdate/texdate.dtx	2018-05-30 21:18:26 UTC (rev 47878)
@@ -0,0 +1,1546 @@
+% \iffalse
+% +AMDG  This document was begun on 1 May 1202, the
+% feast of St. Joseph the Worker, and it
+% is humbly dedicated to him and to the Immaculate Heart of
+% Mary for their prayers, and to the Sacred Heart of Jesus 
+% for His mercy.
+%
+% This document is copyright 2018 by Donald P. Goodman, and is
+% released publicly under the LaTeX Project Public License.  The
+% distribution and modification of this work is constrained by the
+% conditions of that license.  See
+% 	http://www.latex-project.org/lppl.txt
+% for the text of the license.  This document is released
+% under version 1.3(c) of that license, and this work may be distributed
+% or modified under the terms of that license or, at your option, any
+% later version.
+% 
+% This work has the LPPL maintenance status 'maintained'.
+% 
+% The Current Maintainer of this work is Donald P. Goodman
+% (dgoodmaniii at gmail.com).
+% 
+% This work consists of texdate.dtx, texdate.ins, and
+% derived files texdate.sty and texdate.pdf.
+% \fi
+
+% \iffalse
+%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<package>\ProvidesPackage{texdate}[2018/05/30 v1.0 Print and manipulate dates in plain TeX]
+%<*driver>
+\documentclass{ltxdoc}
+
+\usepackage{doc}
+\usepackage{modulus}
+\usepackage{multicol}
+\usepackage{texdate}
+\usepackage{fancyvrb}
+\usepackage{fvrb-ex}
+\usepackage{booktabs}
+\usepackage[typeone]{dozenal}
+\def\x{\noexpand{\TextOrMath{\protect\doz{{X}}}{\doz at X}}}%
+\def\e{\noexpand{\TextOrMath{\protect\doz{{E}}}{\doz at E}}}%
+\usepackage{longtable}
+\usepackage{xellipsis}
+
+\begin{document}
+\DocInput{texdate.dtx}
+\end{document}
+%</driver> \fi
+%
+% \title{The |texdate| Package, v1.0}
+% \author{Donald P.\ Goodman III}
+% \date{\today}
+%
+% \maketitle
+%
+% \begin{abstract}
+% \noindent
+% \TeX\ and \LaTeX\ provide few facilities for dates by
+% default, though many packages have filled this gap.
+% |texdate| fills it, as well, with a pure \TeX-primitive
+% implementation.  It can print dates, advance them by
+% numbers of days, weeks, or months, determine the weekday
+% automatically, and print them in (mostly) arbitrary
+% format.  It can also print calendars (monthly and yearly)
+% automatically, and can be easily localized for non-English
+% languages.
+% \end{abstract}
+%
+% \tableofcontents
+%
+% \section{Introduction:  The State of the \TeX}
+% \label{sect:intro}
+%
+% \TeX\ by default contains very little facilities for
+% dealing with dates, and \LaTeX\ follows suit.  As far as
+% primitives go, \TeX\ just offers the counters |\day|,
+% |\month|, and |\year|, which give the current values of
+% those units of time; e.g., |\the\year-\the\month-\the\day|
+% will yield ``\the\year-\the\month-\the\day'' (which is the
+% date on which this document was compiled).  \LaTeX\ also
+% has |\today|, which will produce the current date in the
+% default American style:  ``\today''.  But that's
+% really about all there is.
+%
+% Many packages have attempted to fill up this gap, some
+% with excellent success; |datetime2| certain deserves
+% special mention here, particularly as it goes beyond what
+% |texdate| offers, given that |texdate| contains no
+% facilities for \emph{times} at all.  |texdate| tries to fill the gap,
+% as well; but it does it using only \TeX-primitives, in the
+% hope that the solution will be (a) pretty fast, (b)
+% pretty portable, and (c) not requiring the loading of
+% massive packages, only a fraction of the capabilities of
+% which will actually be used.
+%
+% For comparison, |datetime2| uses |pgfcalendar|, which of
+% course requires |pgf|, which is a huge package.  Our
+% modern computers make loading such packages often a
+% negligible overhead; but with large and complex documents,
+% it's not always trivial.  Also, it's an enjoyable
+% challenge to write a usable package in \TeX\ for something
+% for which \TeX\ was not designed; and some of us enjoy
+% \emph{just knowing} that we're using a lean package, even
+% it makes little practical difference.
+%
+% This document is numbered in \emph{dozenal}, or base
+% twelve; numbering proceeds 1, 2, 3, 4, 5, 6, 7, 8, 9, \x,
+% \e, 10, 11, 12\xelip  It uses the |dozenal| \LaTeX\
+% package to do this.  For more information, see
+% \url{http://www.dozenal.org}.
+%
+% \section{Printing and Setting the Date}
+% \label{sect:basic}
+%
+% |texdate| works with an \emph{internal date}, which is the
+% current setting of all the date variables.  When
+% initiated, the internal date is 1 January of the current
+% year.  We can print that date with
+% \DescribeMacro{\printdate}|\printdate|:
+%
+% \bigskip
+% \hrule
+% \begin{Example}
+% \printdate
+% \end{Example}
+% \hrule
+% \bigskip
+%
+% We can easily set the internal date to the current date by
+% running the macro \DescribeMacro{\initcurrdate}|\initcurrdate|:
+%
+% \bigskip
+% \hrule
+% \begin{Example}
+% \initcurrdate
+% \printdate
+% \end{Example}
+% \hrule
+% \bigskip
+%
+% (This is the current date at the time this document was
+% compiled.)
+%
+% You can also easily \emph{set} the internal date, by
+% running the \DescribeMacro{\initdate}|\initdate| macro:
+%
+% \begin{quote}
+% \cmd{\initdate} \marg{year} \marg{month} \marg{day-of-month}
+% \end{quote}
+%
+% The elements of the date must be supplied to |\initdate|
+% in that order, or |texdate| will become confused.  It's
+% obvious why; what should |texdate| do if the month is
+% entered as |2019|?
+%
+% \bigskip
+% \hrule
+% \begin{Example}
+% \initdate{2019}{6}{24}
+% \printdate
+% \end{Example}
+% \hrule
+% \bigskip
+%
+% While internally dates are kept as zero-indexed, these
+% dates are received by |\initdate| as one-indexed; that is,
+% |24| will mean the twenty-fourth, not the twenty-fifth,
+% because we count starting at 1 rather than 0.
+%
+%
+% \section{Date Formats}
+% \label{sect:dateforms}
+%
+% The date format we've seen so far is the default, which is
+% designed primarily to demonstrate several of the possible
+% variables that can be in a date format.  Naturally, you'll
+% want to change it; and it can be changed, almost
+% arbitrarily, simply by redefining a command, or by using
+% one of several presets.
+%
+% \subsection{Preset Formats}
+% \label{sub:presetforms}
+%
+% |texdate| provides a number of preset formats that can be
+% easily selected without having to design a format string
+% (for which see Section \ref{sub:customforms}, on page
+% \pageref{sub:customforms}).
+%
+% \DescribeMacro{\printfdate\{ISO\}}|\printfdate{ISO}|
+% will print the current date in the default
+% ISO 8601 format, which is \emph{|yyyymmdd|}.  In
+% |texdate|'s formatting strings, this is |Ymd|; you'll
+% learn more about these in Section \ref{sub:customforms}.
+% There is also the ``ISO extended'' form, |Y-m-d|.
+%
+% \bigskip
+% \hrule
+% \begin{Example}
+% \initdate{2019}{6}{24}
+% \printfdate{ISO}
+%
+% \printfdate{ISOext}
+% \end{Example}
+% \medskip
+% \hrule
+% \bigskip
+%
+% For Americans fond of our curious customary format, you
+% can use
+% \DescribeMacro{\printfdate\{american\}}|\printfdate{american}|;
+% in |texdate| format strings, this is |B\ d, Y|.  There is
+% also
+% \DescribeMacro{\printfdate\{shamerican\}}|\printfdate{shamerican}|,
+% which is the abbreviated form, using slashes rather than
+% hyphens.
+%
+% \bigskip
+% \hrule
+% \begin{Example}
+% \initdate{2019}{6}{24}
+% \printfdate{american}
+%
+% \printfdate{shamerican}
+% \end{Example}
+% \medskip
+% \hrule
+% \bigskip
+%
+% The British also have their own ways of writing dates,
+% which correspond largely to the way the American military
+% writes them (which are consequently sometimes called
+% ``military dates,'' in the same way that twenty-four-hour
+% time readings are sometimes called ``military time'').
+% These are
+% \DescribeMacro{\printfdate\{british\}}|\printfdate{british}|
+% and 
+% \DescribeMacro{\printfdate\{shbritish\}}|\printfdate{shbritish}|,
+% along with alternate form 
+% \DescribeMacro{\printfdate\{shbritishdots\}}|\printfdate{shbritishdots}|,
+%
+% \bigskip
+% \hrule
+% \begin{Example}
+% \initdate{2019}{6}{24}
+% \printfdate{british}
+%
+% \printfdate{shbritish}
+%
+% \printfdate{shbritishdots}
+% \end{Example}
+% \medskip
+% \hrule
+% \bigskip
+%
+% This is enough to cover the standards of most places in
+% the world.  However, if you want something different, you
+% can easily create it with format strings.
+%
+% \subsection{Custom Date Formats}
+% \label{sub:customforms}
+%
+% All the custom formats described in Section
+% \ref{sub:presetforms} and printed with |\printfdate| are
+% created using the same general mechanism described in this
+% section.  We will begin by discussing a way to generically
+% change the presentation of all dates called with the basic
+% |\printdate|, then move on to creating custom date formats
+% that can be printed by name with |\printfdate|.
+%
+% The macro \DescribeMacro{\setdateformat}|\setdateformat|
+% holds the formatting string for the date.  It's not
+% \emph{completely} arbitrary, because none of the
+% characters used to produce specific parts of the date can
+% be used in the string itself; however, it's pretty
+% flexible despite that limitation.
+%
+% The default date format string, quite unsuitable for real
+% work, includes most of the possible control characters,
+% and is |A{ }(a),\ B\ (b){ }d,\ Y|.  Note that spaces
+% have to be preserved by either \emph{bracing} them or
+% \emph{escaping} them; that is, to put a space in your
+% format string, use either ``|\ |'' or ``|{ }|''.
+%
+% Table \ref{tab:lets} on page \pageref{tab:lets} shows
+% the control characters, an
+% explanation of their meaning, and an example of each.
+% They assume the date 4 June 2019, selected by
+% |\initdate{2019}{6}{4}|.
+% \initdate{2019}{6}{4}
+%
+% \begin{table}[htp]
+% \centering
+% \begin{tabular}{lp{3in}l}
+% \toprule
+% \itshape Let. & \itshape Result & \itshape Ex. \\
+% \midrule
+% d & Numeric day of the month; 0-padded to two digits if
+%		necessary & \printfdate{d} \\
+% e & Numeric day of the month; space-padded to two spaces
+%		if necessary & \printfdate{e} \\
+% B & Full name of the month & \printfdate{B} \\
+% b & Abbreviated name of the month & \printfdate{b} \\
+% h & Abbreviated name of the month; same as |b| & \printfdate{h} \\
+% m & Number of month, with January as 1; 0-padded to two
+%		digits if necessary & \printfdate{m} \\
+% A & Full name of the weekday & \printfdate{A} \\
+% a & Abbreviated name of the weekday & \printfdate{a} \\
+% w & Numeric value of weekday, with Sunday as 0 & \printfdate{w} \\
+% u & ISO numeric value of weekday, with Monday as 1 and
+%		Sunday as 7 & \printfdate{u} \\
+% Y & Number of the current year & \printfdate{Y} \\
+% j & Numeric day of the year, starting on a constant count
+%		from 1 Jan; 0-padded to three digits if necessary & \printfdate{j} \\
+% C & Century; essentially, the first two digits of the year &
+%		\printfdate{C} \\
+% y & The year, in only two digits & \printfdate{y} \\
+% U & Week number of the year, starting at 0, with the week
+%		starting on Sunday; 0-padded to two digits if
+%		necessary & \printfdate{U} \\
+% V & ISO week number of the year, starting at 1, with the week
+%		starting on Monday; 0-padded to two digits if
+%		necessary & \printfdate{V} \\
+% W & Week number of the year, starting at 0, with the week
+%		starting on Monday; 0-padded to two digits if necesary &
+%		\printfdate{W} \\
+% \bottomrule
+% \end{tabular}
+% \caption{Control codes for date formats}
+% \label{tab:lets}
+% \end{table}
+%
+% For folks not familiar with the \emph{control characters}
+% concept, the essential idea is that you format some
+% information with a certain ``string,'' called the ``format
+% string.''  The format string contains some characters
+% which are meaningless as far as formatting goes, and are
+% passed through unchanged; and some characters which will
+% be replaced with certain information.  In other words,
+% assume that we have a format string consisting of the
+% following characters:  |a b c d e|.  |c| is a control
+% character, and represents the information ``zzz''; the other
+% characters are not control characters.
+%
+% \begin{quote}
+% |a b c d e| $\rightarrow$ a b zzz d e
+% \end{quote}
+%
+% Anyone who has used GNU
+% |date| or BSD |date| will recognize these control
+% characters, though of course in those programs a |%|
+% character would be necessary, as well.  |texdate|
+% duplicates the behavior of these programs as closely as
+% my \TeX-pertise allows.
+%
+% \bigskip
+% \hrule
+% \begin{Example}
+% \initcurrdate
+% \advancebyweeks{6}
+% \def\setdateformat{d\ B\ Y}
+% |d\ B\ Y|:  \printdate\par
+% \def\setdateformat{Y-m-d}
+% |Y-m-d|:  \printdate\par
+% \def\setdateformat{a,\ d\ b\ Y}
+% |a,\ d\ b\ Y|:  \printdate\par
+% \end{Example}
+% \medskip
+% \hrule
+% \bigskip
+%
+% We can meddle with this however we like, except that these
+% control characters (the ones that turn into elements of
+% the date) cannot be included literally.
+%
+% You can also define \emph{named date formats}:
+% \DescribeMacro{\nameddateformat}
+%
+% \begin{quote}
+% \cmd{\nameddateformat} \marg{name} \marg{format-string}
+% \end{quote}
+%
+% Perhaps I want a peculiar date format, with the month,
+% followed by the year, followed by the day of the month,
+% followed by the day of the year in parentheses.  My format
+% string should be |m-Y-d\ (j)|.  I'll then want to use the
+% \DescribeMacro{\printfdate}|\printfdate| command with its single
+% argument, which is the name of the date format I want to
+% use.
+%
+% \bigskip
+% \hrule
+% \begin{Example}
+% \initcurrdate
+% \nameddateformat{weird}{m-Y-d\ (j)}
+% \printfdate{weird}\par
+% \printdate
+% \end{Example}
+% \medskip
+% \hrule
+% \bigskip
+%
+% It's worth nothing that all of the control characters also
+% have a formatted print string that can be called by name.
+% So one could duplicate the above |weird| date format the
+% hard way, by using these each individually:
+%
+% \bigskip
+% \hrule
+% \begin{Example}
+% \initcurrdate
+% \printfdate{m}-\printfdate{Y}-\printfdate{d} (\printfdate{j})
+% \end{Example}
+% \medskip
+% \hrule
+% \bigskip
+%
+% These seems a bit convoluted, but perhaps you want to wrap
+% it in a macro?
+%
+% \subsection{Number Format}
+% \label{sub:numforms}
+%
+% Any command which will work on a \TeX\ count register can
+% be inserted into the
+% \DescribeMacro{\texdatenumformat}|\texdatenumformat|
+% command, which will be applied to all the numbers which
+% |texdate| outputs.  For example, if you are using the
+% |dozenal| package:
+%
+% \bigskip
+% \hrule
+% \begin{Example}
+% \def\texdatenumformat#1{\dozens{#1}}
+% \initdate{2018}{12}{25}
+% \printfdate{ISOext}
+% \end{Example}
+% \medskip
+% \hrule
+% \bigskip
+%
+%
+% \section{Manipulating Dates}
+% \label{sect:manipdate}
+%
+% |texdate| goes well beyond merely printing and setting
+% dates; you can manipulate them in many ways.  The original
+% purpose of the package was to allow \LaTeX\ to print
+% calendar sheets and things of that nature without
+% resorting to an external program, or loading some enormous
+% package, so it needed the ability to move forward and
+% backward by given increments.  So we have that.
+%
+% \subsection{Moving Dates Forward and Backward}
+% \label{sub:movedate}
+%
+% You can advance the date by a certain number of days,
+% weeks, or months.  The macros are named, unsurprisingly,
+% \DescribeMacro{\advancebydays}|\advancebydays|,
+% \DescribeMacro{\advancebyweeks}|\advancebyweeks|, and
+% \DescribeMacro{\advancebymonths}|\advancebymonths|, each
+% of which takes one argument, which is the number of that
+% unit you wish to advance the date by.  The corresponding
+% commands \DescribeMacro{\regressbydays}|\regressbydays|,
+% \DescribeMacro{\regressbyweeks}|\regressbyweeks|, and
+% \DescribeMacro{\regressbymonths}|\regressbymonths| also
+% exist.
+%
+% \bigskip
+% \hrule
+% \begin{Example}
+% \initcurrdate
+% Current date:  \printdate\par
+% \advancebydays{8}
+% 8 days later:  \printdate\par
+% \advancebyweeks{4}
+% 4 weeks later:  \printdate\par
+% \advancebymonths{4}
+% 4 months later:  \printdate\par
+% \regressbydays{14}
+% 14 days earlier:  \printdate\par
+% \regressbyweeks{8}
+% 8 weeks earlier:  \printdate\par
+% \regressbymonths{2}
+% 2 months earlier:  \printdate\par
+% \end{Example}
+% \nobreak\medskip\nobreak
+% \hrule
+% \bigskip
+%
+% Note that |\advancebymonths| does not validate the date,
+% so it's possible that you'll end up with something
+% impossible, such as 31 September.  It's best to watch the
+% results of this one carefully.
+%
+% Both the |\advanceby|s and the |\regressby|s should be
+% given positive numbers; negative numbers will just confuse
+% them.
+%
+% \subsection{Saving and Restoring Dates}
+% \label{sub:savedate}
+%
+% Sometimes you may wish to save a date, change the internal
+% date, use that internal date for a while, then restore the
+% old date.  |texdate| makes it possible to save and use as
+% many dates as you want (or, at any rate, as many as \TeX\
+% will tolerate).
+%
+% \DescribeMacro{\savedate}|\savedate| takes a single
+% argument, the \emph{name} you'd like to give your saved
+% date.  This can be anything that \TeX\ allows in a control
+% sequence; best to stick with normal, seven-bit ASCII
+% letters.  You then access the saved date with
+% \DescribeMacro{\restoredate}|\restoredate|, which takes
+% that same name as its argument.
+%
+% \bigskip
+% \hrule
+% \begin{Example}
+% \initcurrdate
+% \printdate\par
+% \savedate{current}
+% \advancebyweeks{12}
+% \printdate\par
+% \savedate{advanced}
+% \restoredate{current}
+% \printdate\par
+% \advancebydays{3}
+% \printdate\par
+% \restoredate{advanced}
+% \printdate\par
+% \restoredate{current}
+% \printdate\par
+% \end{Example}
+% \medskip
+% \hrule
+% \bigskip
+%
+% You can also retrieve your saved date directly; rather
+% than calling |\restoredate|, you can call
+% |\savedate<name>|, without the angle brackets.  That's the
+% name that |texdate| uses internally, and calls with
+% |\restoredate| to get your information back.
+%
+%
+% \section{Convenience Macros}
+% \label{sect:convmacs}
+%
+% |texdate| offers a few macros for tasks which its author
+% anticipates will likely be common.  For example, to
+% produce a small monthly calendar, consider using the
+% |\texdcal| macro, which takes two arguments:  the year and
+% the month of the calendar you're seeking to create:
+%
+% \bigskip
+% \hrule
+% \begin{Example}
+% \begin{center}
+% \begin{tabular}{cc}
+% \texdcal{2018}{5} &
+% \texdcal{2018}{6} \\
+% \texdcal{2018}{8} &
+% \texdcal{2018}{9} \\
+% \end{tabular}
+% \end{center}
+% \end{Example}
+% \medskip
+% \hrule
+% \bigskip
+%
+% Notice that |\texdcal| does the right thing when there a
+% month goes into an extra week:  it simply prints another
+% week.  It also correctly refuses to print the days of a
+% week which do not belong to the requested month.
+%
+% \DescribeMacro{\texdcalyear}|\texdcalyear| will produce
+% one of these calendars for an entire year, in three
+% columns; the year chosen is the argument given to the
+% macro.  Because the margins of the \LaTeX\ standard
+% classes are much too large (or rather, the paper sizes are
+% much too large; the text blocks are rather nicely
+% proportioned), |\texdcalyear| prints this calendar in a
+% small size, with very small space between columns.
+%
+% \bigskip
+% \hrule
+% \begin{Example}
+% \footnotesize%
+% \begin{center}
+% \texdcalyear{2018}
+% \end{center}
+% \end{Example}
+% \medskip
+% \hrule
+% \bigskip
+%
+% Obviously, it uses |\texdcal| internally to do this, so
+% the definition of |\texdcalyear| is much simpler than that
+% of |\texdcal|.
+%
+% Just as obviously, these yearly calendars
+% could easily be formatted in many different ways; so many,
+% in fact, that attempting to make the macros flexible
+% enough for meaningful customization would be prohibitively
+% difficult.  More fruitful results can be obtained by
+% reading the macros themselves (they are truly not very
+% difficult) and customizing them oneself.
+%
+% \section{Language Specification}
+% \label{sect:lang}
+%
+% |texdate| does understand \LaTeX\ language specifications,
+% using Heiko Oberdiek's |iflang| package, which should work
+% for both |babel| and |polyglossia|.  Built-in are
+% only English (the default), Spanish, French, and German.
+% However, it's pretty simple to customize the
+% month name and weekday name strings by defining a few
+% commands, so if you need a different language, you just
+% need to redefine a few strings.
+%
+% Each string begins with the prefix |\texd@|, then the
+% English ordinal string for the order in which it comes,
+% with January being the first month and Sunday being the
+% first weekday; e.g., |\texd at first|.  Then comes |sh| if
+% it's an abbreviation; e.g., |\texd at firstsh|.  Finally
+% comes the string |mon| if it's a month, or |name| if
+% it's a weekday name.  Below is the complete list, for
+% German.
+%
+% \begin{quote}
+% |\makeatletter|\\
+% |\def\texd at firstmon{Januar}|\\
+% |\def\texd at firstshmon{Jan}|\\
+% |\def\texd at secondmon{Februar}|\\
+% |\def\texd at secondshmon{Feb}|\\
+% |\def\texd at thirdmon{März}|\\
+% |\def\texd at thirdshmon{März}|\\
+% |\def\texd at fourthmon{April}|\\
+% |\def\texd at fourthshmon{Apr}|\\
+% |\def\texd at fifthmon{Mai}|\\
+% |\def\texd at fifthshmon{Mai}|\\
+% |\def\texd at sixthmon{Juni}|\\
+% |\def\texd at sixthshmon{Juni}|\\
+% |\def\texd at seventhmon{Juli}|\\
+% |\def\texd at seventhshmon{Juli}|\\
+% |\def\texd at eighthmon{August}|\\
+% |\def\texd at eighthshmon{Aug}|\\
+% |\def\texd at ninthmon{September}|\\
+% |\def\texd at ninthshmon{Sept}|\\
+% |\def\texd at tenthmon{Oktober}|\\
+% |\def\texd at tenthshmon{Okt}|\\
+% |\def\texd at eleventhmon{November}|\\
+% |\def\texd at eleventhshmon{Nov}|\\
+% |\def\texd at twelfthmon{Dezember}|\\
+% |\def\texd at twelfthshmon{Dez}|\\
+% |\def\texd at firstdayname{Sonntag}|\\
+% |\def\texd at firstdayshname{So}|\\
+% |\def\texd at seconddayname{Montag}|\\
+% |\def\texd at seconddayshname{Mo}|\\
+% |\def\texd at thirddayname{Dienstag}|\\
+% |\def\texd at thirddayshname{Di}|\\
+% |\def\texd at fourthdayname{Mittwoch}|\\
+% |\def\texd at fourthdayshname{Mi}|\\
+% |\def\texd at fifthdayname{Donnerstag}|\\
+% |\def\texd at fifthdayshname{Do}|\\
+% |\def\texd at sixthdayname{Freitag}|\\
+% |\def\texd at sixthdayshname{Fr}|\\
+% |\def\texd at seventhdayname{Samstag}|\\
+% |\def\texd at seventhdayshname{Sa}|\\
+% |\makeatother|
+% \end{quote}
+%
+% Doing something like this for your desired language,
+% \emph{after} you've loaded |texdate|, will localize all
+% the strings involved.
+%
+% \section{Implementation}
+%
+%    \begin{macrocode}
+\RequirePackage{modulus}%
+\RequirePackage{padcount}%
+\RequirePackage{iflang}%
+\newcount\texd at loopi\texd at loopi=0%
+\newcount\texd at mon\texd at mon=0%
+\newcount\texd at dow\texd at dow=0%
+\newcount\texd at dom\texd at dom=0%
+\newcount\texd at yr\texd at yr=\year%
+\newcount\texd at rdom\texd at rdom=\texd at dom\advance\texd at rdom by1%
+\newcount\texd at rmon%
+%% taken from dayofweek.tex, by Martin Minow of DEC;
+%% included in TeXLive
+\def\texd at nextdow#1#2#3{%
+	\newcount\texd at dow% Gets day of the week
+	\newcount\texd at leap% Leap year fingaler
+	\newcount\texd at x% Temp register
+	\newcount\texd at y% Another temp register
+	\global\texd at leap=#2%
+	\global\advance\texd at leap by-14%
+	\global\divide\texd at leap by12%
+	\global\advance\texd at leap by#3%
+	\global\texd at dow=#2%
+	\global\advance\texd at dow by10%
+	\global\texd at y=\texd at dow%
+	\global\divide\texd at y by13%
+	\global\multiply\texd at y by12%
+	\global\advance\texd at dow by-\texd at y%
+	\global\multiply\texd at dow by13%
+	\global\advance\texd at dow by-1%
+	\global\divide\texd at dow by5%
+	\global\advance\texd at dow by#1%
+	\global\advance\texd at dow by77%
+	\global\texd at x=\texd at leap%
+	\global\texd at y=\texd at x%
+	\global\divide\texd at y by100%
+	\global\multiply\texd at y by100%
+	\global\advance\texd at x by-\texd at y%
+	\global\multiply\texd at x by5%
+	\global\divide\texd at x by4%
+	\global\advance\texd at dow by\texd at x%
+	\global\texd at x=\texd at leap%
+	\global\divide\texd at x by400%
+	\global\advance\texd at dow by\texd at x%
+	\global\texd at x=\texd at leap%
+	\global\divide\texd at x by100%
+	\global\multiply\texd at x by2%
+	\global\advance\texd at dow by-\texd at x%
+	\global\texd at x=\texd at dow%
+	\global\divide\texd at x by7%
+	\global\multiply\texd at x by7%
+	\global\advance\texd at dow by-\texd at x%
+}
+%% end taken from dayofweek.tex, by Martin Minow of DEC;
+%% included in TeXLive
+\def\texd at leapyear{%
+}%
+\def\texd at downame{%
+  \ifcase\texd at dow
+		\texd at firstdayname%
+	\or%
+		\texd at seconddayname%
+	\or%
+		\texd at thirddayname%
+	\or%
+		\texd at fourthdayname%
+	\or%
+		\texd at fifthdayname%
+	\or%
+		\texd at sixthdayname%
+	\or%
+		\texd at seventhdayname%
+	\fi%
+}%
+\def\texd at shdowname{%
+  \ifcase\texd at dow
+		\texd at firstdayshname%
+	\or%
+		\texd at seconddayshname%
+	\or%
+		\texd at thirddayshname%
+	\or%
+		\texd at fourthdayshname%
+	\or%
+		\texd at fifthdayshname%
+	\or%
+		\texd at sixthdayshname%
+	\or%
+		\texd at seventhdayshname%
+	\fi%
+}%
+\def\texd at nextmonth{%
+	\ifnum\texd at mon<11\global\advance\texd at mon by1\fi%
+	\ifnum\texd at mon=11\global\texd at mon=0\fi%
+}%
+\def\texd at lastmonth{%
+	\ifnum\texd at mon=0%
+		\global\texd at mon=11%
+		\global\advance\texd at yr by-1%
+	\fi%
+	\ifnum\texd at mon>0\global\advance\texd at mon by-1\fi%
+}%
+\def\texd at nextdate{%
+	\ifnum\texd at mon=11%
+		\ifnum\texd at dom=30%
+			\global\advance\texd at yr by1%
+			\global\texd at mon=0%
+			\global\texd at dom=0%
+		\fi%
+		\ifnum\texd at dom<30%
+			\global\advance\texd at dom by1%
+		\fi%
+	\else\ifnum\texd at mon=10%
+		\ifnum\texd at dom=29%
+			\global\advance\texd at mon by1%%
+			\global\texd at dom=0%
+		\fi%
+		\ifnum\texd at dom<29%
+			\global\advance\texd at dom by1%
+		\fi%
+	\else\ifnum\texd at mon=9%
+		\ifnum\texd at dom=30%
+			\global\advance\texd at mon by1%%
+			\global\texd at dom=0%
+		\fi%
+		\ifnum\texd at dom<30%
+			\global\advance\texd at dom by1%
+		\fi%
+	\else\ifnum\texd at mon=8%
+		\ifnum\texd at dom=29%
+			\global\advance\texd at mon by1%%
+			\global\texd at dom=0%
+		\fi%
+		\ifnum\texd at dom<29%
+			\global\advance\texd at dom by1%
+		\fi%
+	\else\ifnum\texd at mon=7%
+		\ifnum\texd at dom=30%
+			\global\advance\texd at mon by1%%
+			\global\texd at dom=0%
+		\fi%
+		\ifnum\texd at dom<30%
+			\global\advance\texd at dom by1%
+		\fi%
+	\else\ifnum\texd at mon=6%
+		\ifnum\texd at dom=30%
+			\global\advance\texd at mon by1%%
+			\global\texd at dom=0%
+		\fi%
+		\ifnum\texd at dom<30%
+			\global\advance\texd at dom by1%
+		\fi%
+	\else\ifnum\texd at mon=5%
+		\ifnum\texd at dom=29%
+			\global\advance\texd at mon by1%%
+			\global\texd at dom=0%
+		\fi%
+		\ifnum\texd at dom<29%
+			\global\advance\texd at dom by1%
+		\fi%
+	\else\ifnum\texd at mon=4%
+		\ifnum\texd at dom=30%
+			\global\advance\texd at mon by1%%
+			\global\texd at dom=0%
+		\fi%
+		\ifnum\texd at dom<30%
+			\global\advance\texd at dom by1%
+		\fi%
+	\else\ifnum\texd at mon=3%
+		\ifnum\texd at dom=29%
+			\global\advance\texd at mon by1%%
+			\global\texd at dom=0%
+		\fi%
+		\ifnum\texd at dom<29%
+			\global\advance\texd at dom by1%
+		\fi%
+	\else\ifnum\texd at mon=2%
+		\ifnum\texd at dom=30%
+			\global\advance\texd at mon by1%%
+			\global\texd at dom=0%
+		\fi
+		\ifnum\texd at dom<30%
+			\global\advance\texd at dom by1%
+		\fi%
+	\else\ifnum\texd at mon=1%
+		\ifnum\texd at leapyear=0%
+			\ifnum\texd at dom=27%
+				\global\advance\texd at mon by1%
+				\global\texd at dom=0%
+			\fi
+			\ifnum\texd at dom<27%
+				\global\advance\texd at dom by1%
+			\fi%
+		\else\ifnum\texd at leapyear=1%
+			\ifnum\texd at dom=28%
+				\global\advance\texd at mon by1%
+				\global\texd at dom=0%
+			\fi%
+			\ifnum\texd at dom<28%
+				\global\advance\texd at dom by1%
+			\fi%
+		\fi\fi%
+	\else\ifnum\texd at mon=0%
+		\ifnum\texd at dom=30%
+			\global\advance\texd at mon by1%%
+			\global\texd at dom=0%
+		\fi%
+		\ifnum\texd at dom<30%
+			\global\advance\texd at dom by1%
+		\fi%
+	\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+	\global\texd at rdom=\texd at dom\global\advance\texd at rdom by1%
+	\global\texd at rmon=\texd at mon\global\advance\texd at rmon by1%
+	\texd at setjnum%
+	\texd at nextdow{\the\texd at rdom}{\the\texd at rmon}{\the\texd at yr}%
+}%
+\def\texd at lastdate{%
+	\global\advance\texd at dom by-1%
+	\ifnum\texd at dom=0%
+		\global\advance\texd at mon by-1%
+		\ifnum\texd at mon=11%
+			\global\texd at dom=30%
+		\fi%
+		\ifnum\texd at mon=0%
+			\global\texd at mon=11%
+			\global\advance\texd at yr by-1%
+			\global\texd at dom=30%
+		\fi%
+		\ifnum\texd at mon=10%
+			\global\texd at dom=29%
+		\fi%
+		\ifnum\texd at mon=9%
+			\global\texd at dom=30%
+		\fi%
+		\ifnum\texd at mon=8%
+			\global\texd at dom=29%
+		\fi%
+		\ifnum\texd at mon=7%
+			\global\texd at dom=30%
+		\fi%
+		\ifnum\texd at mon=6%
+			\global\texd at dom=30%
+		\fi%
+		\ifnum\texd at mon=5%
+			\global\texd at dom=29%
+		\fi%
+		\ifnum\texd at mon=4%
+			\global\texd at dom=30%
+		\fi%
+		\ifnum\texd at mon=3%
+			\global\texd at dom=29%
+		\fi%
+		\ifnum\texd at mon=2%
+			\global\texd at dom=30%
+		\fi%
+		\ifnum\texd at mon=1%
+			\ifnum\texd at leapyear=0%
+				\global\texd at dom=27%
+			\else\ifnum\texd at leapyear=1%
+				\global\texd at dom=28%
+			\fi\fi%
+		\fi%
+		\ifnum\texd at mon=0%
+			\global\texd at dom=30%
+		\fi%
+	\fi%
+	\global\texd at rdom=\texd at dom\global\advance\texd at rdom by1%
+	\global\texd at rmon=\texd at mon\global\advance\texd at rmon by1%
+	\texd at setjnum%
+	\texd at nextdow{\the\texd at rdom}{\the\texd at rmon}{\the\texd at yr}%
+}%
+\def\texd at setrdom{\global\texd at rdom=\texd at dom\global\advance\texd at rdom by1}%
+\def\texd at setrmon{\global\texd at rmon=\texd at mon\global\advance\texd at rmon by1}%
+%    \end{macrocode}
+% We have to deal with leap years somehow.  We have the
+% counter |\texd at leapyear|, which is 0 if it's not a leap
+% year and 1 if it is.  Then we have |\texd at isleapyear|,
+% which sets the counter appropriately.
+%    \begin{macrocode}
+\newcount\texd at leapyear\texd at leapyear=0%
+\def\texd at isleapyear{%
+	\global\texd at leapyear=0%
+	\modulo{\texd at yr}{4}%
+	\ifnum\remainder=0%
+		\modulo{\texd at yr}{100}%
+		\ifnum\remainder=0%
+			\global\texd at leapyear=0%
+		\fi\ifnum\remainder>0%
+			\global\texd at leapyear=1%
+		\fi%
+	\fi%
+}%
+%    \end{macrocode}
+% Print the month names.
+%    \begin{macrocode}
+\def\texd at monthname{%
+	\ifnum\texd at mon=0%
+		\texd at firstmon%
+	\fi%
+	\ifnum\texd at mon=1%
+		\texd at secondmon%
+	\fi%
+	\ifnum\texd at mon=2%
+		\texd at thirdmon%
+	\fi%
+	\ifnum\texd at mon=3%
+		\texd at fourthmon%
+	\fi%
+	\ifnum\texd at mon=4%
+		\texd at fifthmon%
+	\fi%
+	\ifnum\texd at mon=5%
+		\texd at sixthmon%
+	\fi%
+	\ifnum\texd at mon=6%
+		\texd at seventhmon%
+	\fi%
+	\ifnum\texd at mon=7%
+		\texd at eighthmon%
+	\fi%
+	\ifnum\texd at mon=8%
+		\texd at ninthmon%
+	\fi%
+	\ifnum\texd at mon=9%
+		\texd at tenthmon%
+	\fi%
+	\ifnum\texd at mon=10%
+		\texd at eleventhmon%
+	\fi%
+	\ifnum\texd at mon=11%
+		\texd at twelfthmon%
+	\fi%
+}%
+\def\texd at shmonthname{%
+	\ifnum\texd at mon=0%
+		\texd at firstshmon%
+	\fi%
+	\ifnum\texd at mon=1%
+		\texd at secondshmon%
+	\fi%
+	\ifnum\texd at mon=2%
+		\texd at thirdshmon%
+	\fi%
+	\ifnum\texd at mon=3%
+		\texd at fourthshmon%
+	\fi%
+	\ifnum\texd at mon=4%
+		\texd at fifthshmon%
+	\fi%
+	\ifnum\texd at mon=5%
+		\texd at sixthshmon%
+	\fi%
+	\ifnum\texd at mon=6%
+		\texd at seventhshmon%
+	\fi%
+	\ifnum\texd at mon=7%
+		\texd at eighthshmon%
+	\fi%
+	\ifnum\texd at mon=8%
+		\texd at ninthshmon%
+	\fi%
+	\ifnum\texd at mon=9%
+		\texd at tenthshmon%
+	\fi%
+	\ifnum\texd at mon=10%
+		\texd at eleventhshmon%
+	\fi%
+	\ifnum\texd at mon=11%
+		\texd at twelfthshmon%
+	\fi%
+}%
+%    \end{macrocode}
+% Here we define the |\advanceby|s, so that you can add move
+% the internal date forward by a given number of units.  Does
+% \emph{not} print the date.
+%    \begin{macrocode}
+\def\advancebydays#1{%
+	\texd at loopi=0%
+	\loop%
+		\ifnum\texd at loopi<#1%
+			\texd at nextdate%
+			\advance\texd at loopi by1%
+	\repeat%
+}%
+\def\regressbydays#1{%
+	\texd at loopi=0%
+	\loop%
+		\ifnum\texd at loopi<#1%
+			\texd at lastdate%
+			\advance\texd at loopi by1%
+	\repeat%
+}%
+\newcount\texd at loopj%
+\def\advancebyweeks#1{%
+	\texd at loopi=0%
+	\texd at loopj=#1%
+	\multiply\texd at loopj by7%
+	\loop%
+		\ifnum\texd at loopi<\texd at loopj%
+			\texd at nextdate%
+			\advance\texd at loopi by1%
+	\repeat%
+}%
+\def\regressbyweeks#1{%
+	\texd at loopi=0%
+	\texd at loopj=#1%
+	\multiply\texd at loopj by7%
+	\loop%
+		\ifnum\texd at loopi<\texd at loopj%
+			\texd at lastdate%
+			\advance\texd at loopi by1%
+	\repeat%
+}%
+\def\advancebymonths#1{%
+	\texd at loopi=0%
+	\loop%
+		\ifnum\texd at loopi<#1%
+			\texd at nextmonth%
+			\advance\texd at loopi by1%
+	\repeat%
+	\texd at setrmon%
+	\initdate{\the\texd at yr}{\the\texd at rmon}{\the\texd at rdom}%
+}%
+\def\regressbymonths#1{%
+	\texd at loopi=0%
+	\loop%
+		\ifnum\texd at loopi<#1%
+			\texd at lastmonth%
+			\advance\texd at loopi by1%
+	\repeat%
+	\texd at setrmon%
+	\initdate{\the\texd at yr}{\the\texd at rmon}{\the\texd at rdom}%
+}%
+%    \end{macrocode}
+% Print the date, either with the default format or a named
+% format.
+%    \begin{macrocode}
+\def\printdate{%
+	\texd at dateformat%
+}%
+\def\printfdate#1{%
+	\texd at formatdateformat{#1}%
+}%
+%    \end{macrocode}
+% This defines the date format.  We need some helper macros
+% to flip through each character one at a time.
+%    \begin{macrocode}
+\def\texd at expandloop#1{%
+	\texd at xloop#1\relax
+}
+\def\texdatenumformat#1{#1}
+\def\texd at xloop#1{%
+	\ifx\relax#1%
+	\else%
+		\ifx#1d%
+			\setpadnum{2}\setpadchar{0}%
+			\padnum{\texdatenumformat{\the\texd at rdom}}%
+		\else\ifx#1e%
+			\setpadnum{2}\setpadchar{\hskip1ex}%
+			\padnum{\texdatenumformat{\the\texd at rdom}}%
+		\else\ifx#1a%
+			\texd at shdowname%
+		\else\ifx#1A%
+			\texd at downame%
+		\else\ifx#1b%
+			\texd at shmonthname%
+		\else\ifx#1h%
+			\texd at shmonthname%
+		\else\ifx#1B%
+			\texd at monthname%
+		\else\ifx#1w%
+			\the\texd at dow%
+		\else\ifx#1u%
+			\ifnum\texd at dow>0\leavevmode\texdatenumformat{\the\texd at dow}\fi%
+			\ifnum\texd at dow=0 7\fi%
+		\else\ifx#1Y%
+			\setpadnum{2}\setpadchar{0}%
+			\padnum{\texdatenumformat{\the\texd at yr}}%
+		\else\ifx#1m%
+			\texd at setrmon%
+			\setpadnum{2}\setpadchar{0}%
+			\leavevmode\padnum{\texdatenumformat{\the\texd at rmon}}%
+		\else\ifx#1j%
+			\texd at setjnum%
+			\setpadnum{3}\setpadchar{0}%
+			\leavevmode\padnum{\texdatenumformat{\the\texd at jnum}}%
+		\else\ifx#1C%
+			\quotient{\texd at yr}{100}%
+			\leavevmode\texdatenumformat{\the\intquotient}%
+		\else\ifx#1y%
+			\modulo{\texd at yr}{100}%
+			\leavevmode\texdatenumformat{\the\remainder}%
+		\else\ifx#1U%
+			\quotient{\texd at jnum}{7}
+			\setpadnum{2}\setpadchar{0}%
+			\leavevmode\padnum{\texdatenumformat{\the\intquotient}}%
+		\else\ifx#1V%
+			\quotient{\texd at jnum}{7}
+			\ifnum\texd at dow>0\advance\intquotient by1\fi%
+			\setpadnum{2}\setpadchar{0}%
+			\leavevmode\padnum{\texdatenumformat{\the\intquotient}}%
+		\else\ifx#1W%
+			\quotient{\texd at jnum}{7}
+			\ifnum\texd at dow=0\advance\intquotient by-1\fi%
+			\setpadnum{2}\setpadchar{0}%
+			\leavevmode\padnum{\texdatenumformat{\the\intquotient}}%
+		\else%
+			#1%
+		\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+		\expandafter\texd at xloop%
+	\fi%
+}%
+\def\texd at dateformat{%
+	\expandafter\expandafter\texd at expandloop{\setdateformat}%
+}%
+\def\texd at formatdateformat#1{%
+	\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\texd at expandloop{\csname texd at df#1\endcsname}%
+}%
+\def\setdateformat{A{ }(a),\ B\ (b){ }d,\ Y}
+\def\nameddateformat#1#2{%
+	\expandafter\def\csname texd at df#1\endcsname{#2}%
+}%
+\nameddateformat{american}{B\ d,\ Y}
+\nameddateformat{shamerican}{m/d/Y}
+\nameddateformat{ISO}{Ymd}
+\nameddateformat{ISOext}{Y-m-d}
+\nameddateformat{shbritish}{d/m/Y}
+\nameddateformat{shbritishdots}{d.m.Y}
+\nameddateformat{british}{d\ B\ Y}
+\nameddateformat{d}{d}
+\nameddateformat{e}{e}
+\nameddateformat{B}{B}
+\nameddateformat{b}{b}
+\nameddateformat{h}{h}
+\nameddateformat{m}{m}
+\nameddateformat{A}{A}
+\nameddateformat{a}{a}
+\nameddateformat{w}{w}
+\nameddateformat{u}{u}
+\nameddateformat{Y}{Y}
+\nameddateformat{j}{j}
+\nameddateformat{C}{C}
+\nameddateformat{y}{y}
+\nameddateformat{U}{U}
+\nameddateformat{V}{V}
+\nameddateformat{W}{W}
+%    \end{macrocode}
+% Initialize the date to the current date, or to an
+% arbitrary date, entered in the order year, month, and day
+% of month.
+%    \begin{macrocode}
+\def\initcurrdate{%
+	\global\texd at mon=\month%
+	\global\advance\texd at mon by-1%
+	\global\texd at dom=\day%
+	\global\advance\texd at dom by-1%
+	\global\texd at yr=\year%
+	\texd at isleapyear%
+	\texd at setrdom%
+	\texd at setrmon%
+	\texd at setjnum%
+	\texd at nextdow{\the\texd at rdom}{\the\texd at rmon}{\the\texd at yr}%
+}%
+\def\initdate#1#2#3{%
+	\global\texd at yr=#1%
+	\global\texd at mon=#2%
+	\global\advance\texd at mon by-1%
+	\global\texd at dom=#3%
+	\global\advance\texd at dom by-1%
+	\global\texd at setrdom%
+	\global\texd at setrmon%
+	\texd at setjnum%
+	\texd at isleapyear%
+	\texd at nextdow{\the\texd at rdom}{\the\texd at rmon}{\the\texd at yr}%
+}%
+%    \end{macrocode}
+% Now we define the macros for saving and restoring dates.
+%    \begin{macrocode}
+\def\savedate#1{%
+	\expandafter\edef\csname savedate#1\endcsname{\initdate{\the\texd at yr}{\the\texd at rmon}{\the\texd at rdom}}%
+}%
+\def\restoredate#1{%
+	\csname savedate#1\endcsname%
+}%
+%    \end{macrocode}
+% Convenience macros.  First, |\texdcal|.
+%    \begin{macrocode}
+\newcount\texd at looptmp\texd at looptmp=0%
+\def\texdcal#1#2{%
+	\global\texd at mon=#2%
+	\global\advance\texd at mon by-1%
+	\global\texd at yr=#1%
+	\global\texd at dom=0%
+	\texd at setrmon\texd at setrdom%
+	\initdate{\the\texd at yr}{\the\texd at rmon}{\the\texd at rdom}%
+	\def\setdateformat{B\ Y}%
+	\begin{tabular}{rrrrrrr}
+		\multicolumn{7}{c}{\printdate} \\
+		\loop\ifnum\texd at dow>0\texd at lastdate\repeat%
+		\def\setdateformat{d}%
+			\ifnum\texd at dom>8 {} \fi\ifnum\texd at dom<8\leavevmode\printdate\fi&
+		\def\setdateformat{d}\advancebydays{1}%
+			\ifnum\texd at dom>8 {} \fi\ifnum\texd at dom<8\leavevmode\printdate\fi&
+		\def\setdateformat{d}\advancebydays{1}%
+			\ifnum\texd at dom>8 {} \fi\ifnum\texd at dom<8\leavevmode\printdate\fi&
+		\def\setdateformat{d}\advancebydays{1}%
+			\ifnum\texd at dom>8 {} \fi\ifnum\texd at dom<8\leavevmode\printdate\fi&
+		\def\setdateformat{d}\advancebydays{1}%
+			\ifnum\texd at dom>8 {} \fi\ifnum\texd at dom<8\leavevmode\printdate\fi&
+		\def\setdateformat{d}\advancebydays{1}%
+			\ifnum\texd at dom>8 {} \fi\ifnum\texd at dom<8\leavevmode\printdate\fi&
+		\def\setdateformat{d}\advancebydays{1}%
+			\ifnum\texd at dom>8 {} \fi\ifnum\texd at dom<8\leavevmode\printdate\fi\\
+		\def\setdateformat{d}\advancebydays{1}\printdate &
+		\def\setdateformat{d}\advancebydays{1}\printdate &
+		\def\setdateformat{d}\advancebydays{1}\printdate &
+		\def\setdateformat{d}\advancebydays{1}\printdate &
+		\def\setdateformat{d}\advancebydays{1}\printdate &
+		\def\setdateformat{d}\advancebydays{1}\printdate &
+		\def\setdateformat{d}\advancebydays{1}\printdate \\
+		\def\setdateformat{d}\advancebydays{1}\printdate &
+		\def\setdateformat{d}\advancebydays{1}\printdate &
+		\def\setdateformat{d}\advancebydays{1}\printdate &
+		\def\setdateformat{d}\advancebydays{1}\printdate &
+		\def\setdateformat{d}\advancebydays{1}\printdate &
+		\def\setdateformat{d}\advancebydays{1}\printdate &
+		\def\setdateformat{d}\advancebydays{1}\printdate \\
+		\def\setdateformat{d}\advancebydays{1}\printdate &
+		\def\setdateformat{d}\advancebydays{1}\printdate &
+		\def\setdateformat{d}\advancebydays{1}\printdate &
+		\def\setdateformat{d}\advancebydays{1}\printdate &
+		\def\setdateformat{d}\advancebydays{1}\printdate &
+		\def\setdateformat{d}\advancebydays{1}\printdate &
+		\def\setdateformat{d}\advancebydays{1}\printdate \\
+		\def\setdateformat{d}\advancebydays{1}%
+			\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+		\def\setdateformat{d}\advancebydays{1}%
+			\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+		\def\setdateformat{d}\advancebydays{1}%
+			\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+		\def\setdateformat{d}\advancebydays{1}%
+			\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+		\def\setdateformat{d}\advancebydays{1}%
+			\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+		\def\setdateformat{d}\advancebydays{1}%
+			\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+		\def\setdateformat{d}\advancebydays{1}%
+			\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi\\
+		\def\setdateformat{d}\advancebydays{1}%
+			\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+		\def\setdateformat{d}\advancebydays{1}%
+			\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+		\def\setdateformat{d}\advancebydays{1}%
+			\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+		\def\setdateformat{d}\advancebydays{1}%
+			\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+		\def\setdateformat{d}\advancebydays{1}%
+			\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+		\def\setdateformat{d}\advancebydays{1}%
+			\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+		\def\setdateformat{d}\advancebydays{1}%
+			\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi\\
+	\end{tabular}
+}%
+\def\texdcalyear#1{%
+	\texd at yr=#1%
+	\texd at mon=0%
+	\texd at dom=0%
+	\texd at setrmon%
+	\texd at setrdom%
+	{\tabcolsep=3pt%
+	\begin{tabular}{ccc}
+		\texdcal{#1}{1} & \texdcal{#1}{2} & \texdcal{#1}{3} \\
+		\texdcal{#1}{4} & \texdcal{#1}{5} & \texdcal{#1}{6} \\
+		\texdcal{#1}{7} & \texdcal{#1}{8} & \texdcal{#1}{9} \\
+		\texdcal{#1}{10} & \texdcal{#1}{11} & \texdcal{#1}{12} \\
+	\end{tabular}
+	}%
+}%
+%    \end{macrocode}
+% Calculate the day of the year (|%j|).
+%    \begin{macrocode}
+\newcount\texd at jnum\texd at jnum=0%
+\def\texd at setjnum{%
+	\texd at jnum=0%
+	\ifnum\texd at mon>0\global\advance\texd at jnum by31\fi%
+	\ifnum\texd at mon>1%
+		\global\advance\texd at jnum by28%
+	\fi%
+	\ifnum\texd at mon>2\global\advance\texd at jnum by31\fi%
+	\ifnum\texd at mon>3\global\advance\texd at jnum by30\fi%
+	\ifnum\texd at mon>4\global\advance\texd at jnum by31\fi%
+	\ifnum\texd at mon>5\global\advance\texd at jnum by30\fi%
+	\ifnum\texd at mon>6\global\advance\texd at jnum by31\fi%
+	\ifnum\texd at mon>7\global\advance\texd at jnum by31\fi%
+	\ifnum\texd at mon>8\global\advance\texd at jnum by30\fi%
+	\ifnum\texd at mon>9\global\advance\texd at jnum by31\fi%
+	\ifnum\texd at mon>10\global\advance\texd at jnum by30\fi%
+	\global\advance\texd at jnum by\the\texd at dom%
+	\global\advance\texd at jnum by1%
+}%
+%    \end{macrocode}
+% Language strings.  I've only got English here right now, but
+% additiona languages would be trivial to add, either in a
+% particular document, or in a separate package.
+%    \begin{macrocode}
+\def\texd at firstmon{January}%
+\def\texd at firstshmon{Jan}%
+\def\texd at secondmon{February}%
+\def\texd at secondshmon{Feb}%
+\def\texd at thirdmon{March}%
+\def\texd at thirdshmon{Mar}%
+\def\texd at fourthmon{April}%
+\def\texd at fourthshmon{Apr}%
+\def\texd at fifthmon{May}%
+\def\texd at fifthshmon{May}%
+\def\texd at sixthmon{June}%
+\def\texd at sixthshmon{Jun}%
+\def\texd at seventhmon{July}%
+\def\texd at seventhshmon{Jul}%
+\def\texd at eighthmon{August}%
+\def\texd at eighthshmon{Aug}%
+\def\texd at ninthmon{September}%
+\def\texd at ninthshmon{Sep}%
+\def\texd at tenthmon{October}%
+\def\texd at tenthshmon{Oct}%
+\def\texd at eleventhmon{November}%
+\def\texd at eleventhshmon{Nov}%
+\def\texd at twelfthmon{December}%
+\def\texd at twelfthshmon{Dec}%
+\def\texd at firstdayname{Sunday}%
+\def\texd at firstdayshname{Sun}%
+\def\texd at seconddayname{Monday}%
+\def\texd at seconddayshname{Mon}%
+\def\texd at thirddayname{Tuesday}%
+\def\texd at thirddayshname{Tue}%
+\def\texd at fourthdayname{Wednesday}%
+\def\texd at fourthdayshname{Wed}%
+\def\texd at fifthdayname{Thursday}%
+\def\texd at fifthdayshname{Thu}%
+\def\texd at sixthdayname{Friday}%
+\def\texd at sixthdayshname{Fri}%
+\def\texd at seventhdayname{Saturday}%
+\def\texd at seventhdayshname{Sat}%
+\AtBeginDocument{%
+	\IfLanguageName{spanish}{%
+		\def\texd at firstmon{enero}%
+		\def\texd at firstshmon{ene}%
+		\def\texd at secondmon{febrero}%
+		\def\texd at secondshmon{feb}%
+		\def\texd at thirdmon{marzo}%
+		\def\texd at thirdshmon{mar}%
+		\def\texd at fourthmon{abril}%
+		\def\texd at fourthshmon{abr}%
+		\def\texd at fifthmon{mayo}%
+		\def\texd at fifthshmon{may}%
+		\def\texd at sixthmon{junio}%
+		\def\texd at sixthshmon{jun}%
+		\def\texd at seventhmon{julio}%
+		\def\texd at seventhshmon{jul}%
+		\def\texd at eighthmon{agosto}%
+		\def\texd at eighthshmon{ago}%
+		\def\texd at ninthmon{septiembre}%
+		\def\texd at ninthshmon{sep}%
+		\def\texd at tenthmon{octubre}%
+		\def\texd at tenthshmon{oct}%
+		\def\texd at eleventhmon{noviembre}%
+		\def\texd at eleventhshmon{nov}%
+		\def\texd at twelfthmon{diciembre}%
+		\def\texd at twelfthshmon{dic}%
+		\def\texd at firstdayname{domingo}%
+		\def\texd at firstdayshname{dom}%
+		\def\texd at seconddayname{lunes}%
+		\def\texd at seconddayshname{lun}%
+		\def\texd at thirddayname{martes}%
+		\def\texd at thirddayshname{mar}%
+		\def\texd at fourthdayname{miercoles}%
+		\def\texd at fourthdayshname{mie}%
+		\def\texd at fifthdayname{jueves}%
+		\def\texd at fifthdayshname{jue}%
+		\def\texd at sixthdayname{viernes}%
+		\def\texd at sixthdayshname{vie}%
+		\def\texd at seventhdayname{sabado}%
+		\def\texd at seventhdayshname{sab}%
+	}{}%
+	\IfLanguageName{french}{%
+		\def\texd at firstmon{janvier}%
+		\def\texd at firstshmon{janv}%
+		\def\texd at secondmon{février}%
+		\def\texd at secondshmon{févr}%
+		\def\texd at thirdmon{mars}%
+		\def\texd at thirdshmon{mars}%
+		\def\texd at fourthmon{avril}%
+		\def\texd at fourthshmon{avr}%
+		\def\texd at fifthmon{mai}%
+		\def\texd at fifthshmon{mai}%
+		\def\texd at sixthmon{juin}%
+		\def\texd at sixthshmon{juin}%
+		\def\texd at seventhmon{juil}%
+		\def\texd at seventhshmon{juil}%
+		\def\texd at eighthmon{août}%
+		\def\texd at eighthshmon{août}%
+		\def\texd at ninthmon{septembre}%
+		\def\texd at ninthshmon{sept}%
+		\def\texd at tenthmon{octobre}%
+		\def\texd at tenthshmon{oct}%
+		\def\texd at eleventhmon{novembre}%
+		\def\texd at eleventhshmon{nov}%
+		\def\texd at twelfthmon{décembre}%
+		\def\texd at twelfthshmon{déc}%
+		\def\texd at firstdayname{dimanche}%
+		\def\texd at firstdayshname{dim}%
+		\def\texd at seconddayname{lundi}%
+		\def\texd at seconddayshname{lun}%
+		\def\texd at thirddayname{mardi}%
+		\def\texd at thirddayshname{mar}%
+		\def\texd at fourthdayname{mercredi}%
+		\def\texd at fourthdayshname{mer}%
+		\def\texd at fifthdayname{jeudi}%
+		\def\texd at fifthdayshname{jeu}%
+		\def\texd at sixthdayname{vendredi}%
+		\def\texd at sixthdayshname{ven}%
+		\def\texd at seventhdayname{samedi}%
+		\def\texd at seventhdayshname{sam}%
+	}{}%
+	\IfLanguageName{german}{%
+		\def\texd at firstmon{Januar}%
+		\def\texd at firstshmon{Jan}%
+		\def\texd at secondmon{Februar}%
+		\def\texd at secondshmon{Feb}%
+		\def\texd at thirdmon{März}%
+		\def\texd at thirdshmon{März}%
+		\def\texd at fourthmon{April}%
+		\def\texd at fourthshmon{Apr}%
+		\def\texd at fifthmon{Mai}%
+		\def\texd at fifthshmon{Mai}%
+		\def\texd at sixthmon{Juni}%
+		\def\texd at sixthshmon{Juni}%
+		\def\texd at seventhmon{Juli}%
+		\def\texd at seventhshmon{Juli}%
+		\def\texd at eighthmon{August}%
+		\def\texd at eighthshmon{Aug}%
+		\def\texd at ninthmon{September}%
+		\def\texd at ninthshmon{Sept}%
+		\def\texd at tenthmon{Oktober}%
+		\def\texd at tenthshmon{Okt}%
+		\def\texd at eleventhmon{November}%
+		\def\texd at eleventhshmon{Nov}%
+		\def\texd at twelfthmon{Dezember}%
+		\def\texd at twelfthshmon{Dez}%
+		\def\texd at firstdayname{Sonntag}%
+		\def\texd at firstdayshname{So}%
+		\def\texd at seconddayname{Montag}%
+		\def\texd at seconddayshname{Mo}%
+		\def\texd at thirddayname{Dienstag}%
+		\def\texd at thirddayshname{Di}%
+		\def\texd at fourthdayname{Mittwoch}%
+		\def\texd at fourthdayshname{Mi}%
+		\def\texd at fifthdayname{Donnerstag}%
+		\def\texd at fifthdayshname{Do}%
+		\def\texd at sixthdayname{Freitag}%
+		\def\texd at sixthdayshname{Fr}%
+		\def\texd at seventhdayname{Samstag}%
+		\def\texd at seventhdayshname{Sa}%
+	}{}%
+}%
+%    \end{macrocode}
+% Happy \TeX{}ing!


Property changes on: trunk/Master/texmf-dist/source/generic/texdate/texdate.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/generic/texdate/texdate.ins
===================================================================
--- trunk/Master/texmf-dist/source/generic/texdate/texdate.ins	                        (rev 0)
+++ trunk/Master/texmf-dist/source/generic/texdate/texdate.ins	2018-05-30 21:18:26 UTC (rev 47878)
@@ -0,0 +1,65 @@
+% +AMDG
+% This document was begun on 12 Apr 1202, the feast of St.
+% Justin Martyr, and it is humbly dedicated to him and to
+% the Immaculate Heart of Mary, for their prayers, and to
+% the Sacred Heart of Jesus, for His mercy.
+%
+% This document is copyright 2018 by Donald P. Goodman, and is
+% released publicly under the LaTeX Project Public License.  The
+% distribution and modification of this work is constrained by the
+% conditions of that license.  See
+% 	http://www.latex-project.org/lppl.txt
+% for the text of the license.  This document is released
+% under version 1.3(c) of that license, and this work may be distributed
+% or modified under the terms of that license or, at your option, any
+% later version.
+% 
+% This work has the LPPL maintenance status 'maintained'.
+% 
+% The Current Maintainer of this work is Donald P. Goodman
+% (dgoodmaniii at gmail.com).
+% 
+% This work consists of texdate.dtx, texdate.ins, and
+% derived files texdate.sty and texdate.pdf.
+
+\input docstrip.tex
+
+\preamble
+This is a generated file.
+
+This document is copyright 2018 by Donald P. Goodman, and is
+released publicly under the LaTeX Project Public License.  The
+distribution and modification of this work is constrained by the
+conditions of that license.  See
+	http://www.latex-project.org/lppl.txt
+for the text of the license.  This document is released
+under version 1.3(c) of that license, and this work may be distributed
+or modified under the terms of that license or, at your option, any
+later version.
+
+This work has the LPPL maintenance status 'maintained'.
+
+The Current Maintainer of this work is Donald P. Goodman
+(dgoodmaniii at gmail.com).
+
+This work consists of texdate.dtx, texdate.ins, and
+derived files texdate.sty and texdate.pdf.
+\endpreamble
+
+\keepsilent
+\generate{\file{texdate.sty}{\from{texdate.dtx}{package}}}
+
+\Msg{******************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the}
+\Msg{* following file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space texdate.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file texdate.dtx}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{******************************************************}
+
+\endbatchfile

Added: trunk/Master/texmf-dist/tex/generic/texdate/texdate.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/texdate/texdate.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/generic/texdate/texdate.sty	2018-05-30 21:18:26 UTC (rev 47878)
@@ -0,0 +1,856 @@
+%%
+%% This is file `texdate.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% texdate.dtx  (with options: `package')
+%% This is a generated file.
+%% 
+%% This document is copyright 2018 by Donald P. Goodman, and is
+%% released publicly under the LaTeX Project Public License.  The
+%% distribution and modification of this work is constrained by the
+%% conditions of that license.  See
+%% http://www.latex-project.org/lppl.txt
+%% for the text of the license.  This document is released
+%% under version 1.3(c) of that license, and this work may be distributed
+%% or modified under the terms of that license or, at your option, any
+%% later version.
+%% 
+%% This work has the LPPL maintenance status 'maintained'.
+%% 
+%% The Current Maintainer of this work is Donald P. Goodman
+%% (dgoodmaniii at gmail.com).
+%% 
+%% This work consists of texdate.dtx, texdate.ins, and
+%% derived files texdate.sty and texdate.pdf.
+
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{texdate}[2018/05/30 v1.0 Print and manipulate dates in plain TeX]
+\RequirePackage{modulus}%
+\RequirePackage{padcount}%
+\RequirePackage{iflang}%
+\newcount\texd at loopi\texd at loopi=0%
+\newcount\texd at mon\texd at mon=0%
+\newcount\texd at dow\texd at dow=0%
+\newcount\texd at dom\texd at dom=0%
+\newcount\texd at yr\texd at yr=\year%
+\newcount\texd at rdom\texd at rdom=\texd at dom\advance\texd at rdom by1%
+\newcount\texd at rmon%
+%% taken from dayofweek.tex, by Martin Minow of DEC;
+%% included in TeXLive
+\def\texd at nextdow#1#2#3{%
+\newcount\texd at dow% Gets day of the week
+\newcount\texd at leap% Leap year fingaler
+\newcount\texd at x% Temp register
+\newcount\texd at y% Another temp register
+\global\texd at leap=#2%
+\global\advance\texd at leap by-14%
+\global\divide\texd at leap by12%
+\global\advance\texd at leap by#3%
+\global\texd at dow=#2%
+\global\advance\texd at dow by10%
+\global\texd at y=\texd at dow%
+\global\divide\texd at y by13%
+\global\multiply\texd at y by12%
+\global\advance\texd at dow by-\texd at y%
+\global\multiply\texd at dow by13%
+\global\advance\texd at dow by-1%
+\global\divide\texd at dow by5%
+\global\advance\texd at dow by#1%
+\global\advance\texd at dow by77%
+\global\texd at x=\texd at leap%
+\global\texd at y=\texd at x%
+\global\divide\texd at y by100%
+\global\multiply\texd at y by100%
+\global\advance\texd at x by-\texd at y%
+\global\multiply\texd at x by5%
+\global\divide\texd at x by4%
+\global\advance\texd at dow by\texd at x%
+\global\texd at x=\texd at leap%
+\global\divide\texd at x by400%
+\global\advance\texd at dow by\texd at x%
+\global\texd at x=\texd at leap%
+\global\divide\texd at x by100%
+\global\multiply\texd at x by2%
+\global\advance\texd at dow by-\texd at x%
+\global\texd at x=\texd at dow%
+\global\divide\texd at x by7%
+\global\multiply\texd at x by7%
+\global\advance\texd at dow by-\texd at x%
+}
+%% end taken from dayofweek.tex, by Martin Minow of DEC;
+%% included in TeXLive
+\def\texd at leapyear{%
+}%
+\def\texd at downame{%
+  \ifcase\texd at dow
+\texd at firstdayname%
+\or%
+\texd at seconddayname%
+\or%
+\texd at thirddayname%
+\or%
+\texd at fourthdayname%
+\or%
+\texd at fifthdayname%
+\or%
+\texd at sixthdayname%
+\or%
+\texd at seventhdayname%
+\fi%
+}%
+\def\texd at shdowname{%
+  \ifcase\texd at dow
+\texd at firstdayshname%
+\or%
+\texd at seconddayshname%
+\or%
+\texd at thirddayshname%
+\or%
+\texd at fourthdayshname%
+\or%
+\texd at fifthdayshname%
+\or%
+\texd at sixthdayshname%
+\or%
+\texd at seventhdayshname%
+\fi%
+}%
+\def\texd at nextmonth{%
+\ifnum\texd at mon<11\global\advance\texd at mon by1\fi%
+\ifnum\texd at mon=11\global\texd at mon=0\fi%
+}%
+\def\texd at lastmonth{%
+\ifnum\texd at mon=0%
+\global\texd at mon=11%
+\global\advance\texd at yr by-1%
+\fi%
+\ifnum\texd at mon>0\global\advance\texd at mon by-1\fi%
+}%
+\def\texd at nextdate{%
+\ifnum\texd at mon=11%
+\ifnum\texd at dom=30%
+\global\advance\texd at yr by1%
+\global\texd at mon=0%
+\global\texd at dom=0%
+\fi%
+\ifnum\texd at dom<30%
+\global\advance\texd at dom by1%
+\fi%
+\else\ifnum\texd at mon=10%
+\ifnum\texd at dom=29%
+\global\advance\texd at mon by1%%
+\global\texd at dom=0%
+\fi%
+\ifnum\texd at dom<29%
+\global\advance\texd at dom by1%
+\fi%
+\else\ifnum\texd at mon=9%
+\ifnum\texd at dom=30%
+\global\advance\texd at mon by1%%
+\global\texd at dom=0%
+\fi%
+\ifnum\texd at dom<30%
+\global\advance\texd at dom by1%
+\fi%
+\else\ifnum\texd at mon=8%
+\ifnum\texd at dom=29%
+\global\advance\texd at mon by1%%
+\global\texd at dom=0%
+\fi%
+\ifnum\texd at dom<29%
+\global\advance\texd at dom by1%
+\fi%
+\else\ifnum\texd at mon=7%
+\ifnum\texd at dom=30%
+\global\advance\texd at mon by1%%
+\global\texd at dom=0%
+\fi%
+\ifnum\texd at dom<30%
+\global\advance\texd at dom by1%
+\fi%
+\else\ifnum\texd at mon=6%
+\ifnum\texd at dom=30%
+\global\advance\texd at mon by1%%
+\global\texd at dom=0%
+\fi%
+\ifnum\texd at dom<30%
+\global\advance\texd at dom by1%
+\fi%
+\else\ifnum\texd at mon=5%
+\ifnum\texd at dom=29%
+\global\advance\texd at mon by1%%
+\global\texd at dom=0%
+\fi%
+\ifnum\texd at dom<29%
+\global\advance\texd at dom by1%
+\fi%
+\else\ifnum\texd at mon=4%
+\ifnum\texd at dom=30%
+\global\advance\texd at mon by1%%
+\global\texd at dom=0%
+\fi%
+\ifnum\texd at dom<30%
+\global\advance\texd at dom by1%
+\fi%
+\else\ifnum\texd at mon=3%
+\ifnum\texd at dom=29%
+\global\advance\texd at mon by1%%
+\global\texd at dom=0%
+\fi%
+\ifnum\texd at dom<29%
+\global\advance\texd at dom by1%
+\fi%
+\else\ifnum\texd at mon=2%
+\ifnum\texd at dom=30%
+\global\advance\texd at mon by1%%
+\global\texd at dom=0%
+\fi
+\ifnum\texd at dom<30%
+\global\advance\texd at dom by1%
+\fi%
+\else\ifnum\texd at mon=1%
+\ifnum\texd at leapyear=0%
+\ifnum\texd at dom=27%
+\global\advance\texd at mon by1%
+\global\texd at dom=0%
+\fi
+\ifnum\texd at dom<27%
+\global\advance\texd at dom by1%
+\fi%
+\else\ifnum\texd at leapyear=1%
+\ifnum\texd at dom=28%
+\global\advance\texd at mon by1%
+\global\texd at dom=0%
+\fi%
+\ifnum\texd at dom<28%
+\global\advance\texd at dom by1%
+\fi%
+\fi\fi%
+\else\ifnum\texd at mon=0%
+\ifnum\texd at dom=30%
+\global\advance\texd at mon by1%%
+\global\texd at dom=0%
+\fi%
+\ifnum\texd at dom<30%
+\global\advance\texd at dom by1%
+\fi%
+\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+\global\texd at rdom=\texd at dom\global\advance\texd at rdom by1%
+\global\texd at rmon=\texd at mon\global\advance\texd at rmon by1%
+\texd at setjnum%
+\texd at nextdow{\the\texd at rdom}{\the\texd at rmon}{\the\texd at yr}%
+}%
+\def\texd at lastdate{%
+\global\advance\texd at dom by-1%
+\ifnum\texd at dom=0%
+\global\advance\texd at mon by-1%
+\ifnum\texd at mon=11%
+\global\texd at dom=30%
+\fi%
+\ifnum\texd at mon=0%
+\global\texd at mon=11%
+\global\advance\texd at yr by-1%
+\global\texd at dom=30%
+\fi%
+\ifnum\texd at mon=10%
+\global\texd at dom=29%
+\fi%
+\ifnum\texd at mon=9%
+\global\texd at dom=30%
+\fi%
+\ifnum\texd at mon=8%
+\global\texd at dom=29%
+\fi%
+\ifnum\texd at mon=7%
+\global\texd at dom=30%
+\fi%
+\ifnum\texd at mon=6%
+\global\texd at dom=30%
+\fi%
+\ifnum\texd at mon=5%
+\global\texd at dom=29%
+\fi%
+\ifnum\texd at mon=4%
+\global\texd at dom=30%
+\fi%
+\ifnum\texd at mon=3%
+\global\texd at dom=29%
+\fi%
+\ifnum\texd at mon=2%
+\global\texd at dom=30%
+\fi%
+\ifnum\texd at mon=1%
+\ifnum\texd at leapyear=0%
+\global\texd at dom=27%
+\else\ifnum\texd at leapyear=1%
+\global\texd at dom=28%
+\fi\fi%
+\fi%
+\ifnum\texd at mon=0%
+\global\texd at dom=30%
+\fi%
+\fi%
+\global\texd at rdom=\texd at dom\global\advance\texd at rdom by1%
+\global\texd at rmon=\texd at mon\global\advance\texd at rmon by1%
+\texd at setjnum%
+\texd at nextdow{\the\texd at rdom}{\the\texd at rmon}{\the\texd at yr}%
+}%
+\def\texd at setrdom{\global\texd at rdom=\texd at dom\global\advance\texd at rdom by1}%
+\def\texd at setrmon{\global\texd at rmon=\texd at mon\global\advance\texd at rmon by1}%
+\newcount\texd at leapyear\texd at leapyear=0%
+\def\texd at isleapyear{%
+\global\texd at leapyear=0%
+\modulo{\texd at yr}{4}%
+\ifnum\remainder=0%
+\modulo{\texd at yr}{100}%
+\ifnum\remainder=0%
+\global\texd at leapyear=0%
+\fi\ifnum\remainder>0%
+\global\texd at leapyear=1%
+\fi%
+\fi%
+}%
+\def\texd at monthname{%
+\ifnum\texd at mon=0%
+\texd at firstmon%
+\fi%
+\ifnum\texd at mon=1%
+\texd at secondmon%
+\fi%
+\ifnum\texd at mon=2%
+\texd at thirdmon%
+\fi%
+\ifnum\texd at mon=3%
+\texd at fourthmon%
+\fi%
+\ifnum\texd at mon=4%
+\texd at fifthmon%
+\fi%
+\ifnum\texd at mon=5%
+\texd at sixthmon%
+\fi%
+\ifnum\texd at mon=6%
+\texd at seventhmon%
+\fi%
+\ifnum\texd at mon=7%
+\texd at eighthmon%
+\fi%
+\ifnum\texd at mon=8%
+\texd at ninthmon%
+\fi%
+\ifnum\texd at mon=9%
+\texd at tenthmon%
+\fi%
+\ifnum\texd at mon=10%
+\texd at eleventhmon%
+\fi%
+\ifnum\texd at mon=11%
+\texd at twelfthmon%
+\fi%
+}%
+\def\texd at shmonthname{%
+\ifnum\texd at mon=0%
+\texd at firstshmon%
+\fi%
+\ifnum\texd at mon=1%
+\texd at secondshmon%
+\fi%
+\ifnum\texd at mon=2%
+\texd at thirdshmon%
+\fi%
+\ifnum\texd at mon=3%
+\texd at fourthshmon%
+\fi%
+\ifnum\texd at mon=4%
+\texd at fifthshmon%
+\fi%
+\ifnum\texd at mon=5%
+\texd at sixthshmon%
+\fi%
+\ifnum\texd at mon=6%
+\texd at seventhshmon%
+\fi%
+\ifnum\texd at mon=7%
+\texd at eighthshmon%
+\fi%
+\ifnum\texd at mon=8%
+\texd at ninthshmon%
+\fi%
+\ifnum\texd at mon=9%
+\texd at tenthshmon%
+\fi%
+\ifnum\texd at mon=10%
+\texd at eleventhshmon%
+\fi%
+\ifnum\texd at mon=11%
+\texd at twelfthshmon%
+\fi%
+}%
+\def\advancebydays#1{%
+\texd at loopi=0%
+\loop%
+\ifnum\texd at loopi<#1%
+\texd at nextdate%
+\advance\texd at loopi by1%
+\repeat%
+}%
+\def\regressbydays#1{%
+\texd at loopi=0%
+\loop%
+\ifnum\texd at loopi<#1%
+\texd at lastdate%
+\advance\texd at loopi by1%
+\repeat%
+}%
+\newcount\texd at loopj%
+\def\advancebyweeks#1{%
+\texd at loopi=0%
+\texd at loopj=#1%
+\multiply\texd at loopj by7%
+\loop%
+\ifnum\texd at loopi<\texd at loopj%
+\texd at nextdate%
+\advance\texd at loopi by1%
+\repeat%
+}%
+\def\regressbyweeks#1{%
+\texd at loopi=0%
+\texd at loopj=#1%
+\multiply\texd at loopj by7%
+\loop%
+\ifnum\texd at loopi<\texd at loopj%
+\texd at lastdate%
+\advance\texd at loopi by1%
+\repeat%
+}%
+\def\advancebymonths#1{%
+\texd at loopi=0%
+\loop%
+\ifnum\texd at loopi<#1%
+\texd at nextmonth%
+\advance\texd at loopi by1%
+\repeat%
+\texd at setrmon%
+\initdate{\the\texd at yr}{\the\texd at rmon}{\the\texd at rdom}%
+}%
+\def\regressbymonths#1{%
+\texd at loopi=0%
+\loop%
+\ifnum\texd at loopi<#1%
+\texd at lastmonth%
+\advance\texd at loopi by1%
+\repeat%
+\texd at setrmon%
+\initdate{\the\texd at yr}{\the\texd at rmon}{\the\texd at rdom}%
+}%
+\def\printdate{%
+\texd at dateformat%
+}%
+\def\printfdate#1{%
+\texd at formatdateformat{#1}%
+}%
+\def\texd at expandloop#1{%
+\texd at xloop#1\relax
+}
+\def\texdatenumformat#1{#1}
+\def\texd at xloop#1{%
+\ifx\relax#1%
+\else%
+\ifx#1d%
+\setpadnum{2}\setpadchar{0}%
+\padnum{\texdatenumformat{\the\texd at rdom}}%
+\else\ifx#1e%
+\setpadnum{2}\setpadchar{\hskip1ex}%
+\padnum{\texdatenumformat{\the\texd at rdom}}%
+\else\ifx#1a%
+\texd at shdowname%
+\else\ifx#1A%
+\texd at downame%
+\else\ifx#1b%
+\texd at shmonthname%
+\else\ifx#1h%
+\texd at shmonthname%
+\else\ifx#1B%
+\texd at monthname%
+\else\ifx#1w%
+\the\texd at dow%
+\else\ifx#1u%
+\ifnum\texd at dow>0\leavevmode\texdatenumformat{\the\texd at dow}\fi%
+\ifnum\texd at dow=0 7\fi%
+\else\ifx#1Y%
+\setpadnum{2}\setpadchar{0}%
+\padnum{\texdatenumformat{\the\texd at yr}}%
+\else\ifx#1m%
+\texd at setrmon%
+\setpadnum{2}\setpadchar{0}%
+\leavevmode\padnum{\texdatenumformat{\the\texd at rmon}}%
+\else\ifx#1j%
+\texd at setjnum%
+\setpadnum{3}\setpadchar{0}%
+\leavevmode\padnum{\texdatenumformat{\the\texd at jnum}}%
+\else\ifx#1C%
+\quotient{\texd at yr}{100}%
+\leavevmode\texdatenumformat{\the\intquotient}%
+\else\ifx#1y%
+\modulo{\texd at yr}{100}%
+\leavevmode\texdatenumformat{\the\remainder}%
+\else\ifx#1U%
+\quotient{\texd at jnum}{7}
+\setpadnum{2}\setpadchar{0}%
+\leavevmode\padnum{\texdatenumformat{\the\intquotient}}%
+\else\ifx#1V%
+\quotient{\texd at jnum}{7}
+\ifnum\texd at dow>0\advance\intquotient by1\fi%
+\setpadnum{2}\setpadchar{0}%
+\leavevmode\padnum{\texdatenumformat{\the\intquotient}}%
+\else\ifx#1W%
+\quotient{\texd at jnum}{7}
+\ifnum\texd at dow=0\advance\intquotient by-1\fi%
+\setpadnum{2}\setpadchar{0}%
+\leavevmode\padnum{\texdatenumformat{\the\intquotient}}%
+\else%
+#1%
+\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+\expandafter\texd at xloop%
+\fi%
+}%
+\def\texd at dateformat{%
+\expandafter\expandafter\texd at expandloop{\setdateformat}%
+}%
+\def\texd at formatdateformat#1{%
+\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\texd at expandloop{\csname texd at df#1\endcsname}%
+}%
+\def\setdateformat{A{ }(a),\ B\ (b){ }d,\ Y}
+\def\nameddateformat#1#2{%
+\expandafter\def\csname texd at df#1\endcsname{#2}%
+}%
+\nameddateformat{american}{B\ d,\ Y}
+\nameddateformat{shamerican}{m/d/Y}
+\nameddateformat{ISO}{Ymd}
+\nameddateformat{ISOext}{Y-m-d}
+\nameddateformat{shbritish}{d/m/Y}
+\nameddateformat{shbritishdots}{d.m.Y}
+\nameddateformat{british}{d\ B\ Y}
+\nameddateformat{d}{d}
+\nameddateformat{e}{e}
+\nameddateformat{B}{B}
+\nameddateformat{b}{b}
+\nameddateformat{h}{h}
+\nameddateformat{m}{m}
+\nameddateformat{A}{A}
+\nameddateformat{a}{a}
+\nameddateformat{w}{w}
+\nameddateformat{u}{u}
+\nameddateformat{Y}{Y}
+\nameddateformat{j}{j}
+\nameddateformat{C}{C}
+\nameddateformat{y}{y}
+\nameddateformat{U}{U}
+\nameddateformat{V}{V}
+\nameddateformat{W}{W}
+\def\initcurrdate{%
+\global\texd at mon=\month%
+\global\advance\texd at mon by-1%
+\global\texd at dom=\day%
+\global\advance\texd at dom by-1%
+\global\texd at yr=\year%
+\texd at isleapyear%
+\texd at setrdom%
+\texd at setrmon%
+\texd at setjnum%
+\texd at nextdow{\the\texd at rdom}{\the\texd at rmon}{\the\texd at yr}%
+}%
+\def\initdate#1#2#3{%
+\global\texd at yr=#1%
+\global\texd at mon=#2%
+\global\advance\texd at mon by-1%
+\global\texd at dom=#3%
+\global\advance\texd at dom by-1%
+\global\texd at setrdom%
+\global\texd at setrmon%
+\texd at setjnum%
+\texd at isleapyear%
+\texd at nextdow{\the\texd at rdom}{\the\texd at rmon}{\the\texd at yr}%
+}%
+\def\savedate#1{%
+\expandafter\edef\csname savedate#1\endcsname{\initdate{\the\texd at yr}{\the\texd at rmon}{\the\texd at rdom}}%
+}%
+\def\restoredate#1{%
+\csname savedate#1\endcsname%
+}%
+\newcount\texd at looptmp\texd at looptmp=0%
+\def\texdcal#1#2{%
+\global\texd at mon=#2%
+\global\advance\texd at mon by-1%
+\global\texd at yr=#1%
+\global\texd at dom=0%
+\texd at setrmon\texd at setrdom%
+\initdate{\the\texd at yr}{\the\texd at rmon}{\the\texd at rdom}%
+\def\setdateformat{B\ Y}%
+\begin{tabular}{rrrrrrr}
+\multicolumn{7}{c}{\printdate} \\
+\loop\ifnum\texd at dow>0\texd at lastdate\repeat%
+\def\setdateformat{d}%
+\ifnum\texd at dom>8 {} \fi\ifnum\texd at dom<8\leavevmode\printdate\fi&
+\def\setdateformat{d}\advancebydays{1}%
+\ifnum\texd at dom>8 {} \fi\ifnum\texd at dom<8\leavevmode\printdate\fi&
+\def\setdateformat{d}\advancebydays{1}%
+\ifnum\texd at dom>8 {} \fi\ifnum\texd at dom<8\leavevmode\printdate\fi&
+\def\setdateformat{d}\advancebydays{1}%
+\ifnum\texd at dom>8 {} \fi\ifnum\texd at dom<8\leavevmode\printdate\fi&
+\def\setdateformat{d}\advancebydays{1}%
+\ifnum\texd at dom>8 {} \fi\ifnum\texd at dom<8\leavevmode\printdate\fi&
+\def\setdateformat{d}\advancebydays{1}%
+\ifnum\texd at dom>8 {} \fi\ifnum\texd at dom<8\leavevmode\printdate\fi&
+\def\setdateformat{d}\advancebydays{1}%
+\ifnum\texd at dom>8 {} \fi\ifnum\texd at dom<8\leavevmode\printdate\fi\\
+\def\setdateformat{d}\advancebydays{1}\printdate &
+\def\setdateformat{d}\advancebydays{1}\printdate &
+\def\setdateformat{d}\advancebydays{1}\printdate &
+\def\setdateformat{d}\advancebydays{1}\printdate &
+\def\setdateformat{d}\advancebydays{1}\printdate &
+\def\setdateformat{d}\advancebydays{1}\printdate &
+\def\setdateformat{d}\advancebydays{1}\printdate \\
+\def\setdateformat{d}\advancebydays{1}\printdate &
+\def\setdateformat{d}\advancebydays{1}\printdate &
+\def\setdateformat{d}\advancebydays{1}\printdate &
+\def\setdateformat{d}\advancebydays{1}\printdate &
+\def\setdateformat{d}\advancebydays{1}\printdate &
+\def\setdateformat{d}\advancebydays{1}\printdate &
+\def\setdateformat{d}\advancebydays{1}\printdate \\
+\def\setdateformat{d}\advancebydays{1}\printdate &
+\def\setdateformat{d}\advancebydays{1}\printdate &
+\def\setdateformat{d}\advancebydays{1}\printdate &
+\def\setdateformat{d}\advancebydays{1}\printdate &
+\def\setdateformat{d}\advancebydays{1}\printdate &
+\def\setdateformat{d}\advancebydays{1}\printdate &
+\def\setdateformat{d}\advancebydays{1}\printdate \\
+\def\setdateformat{d}\advancebydays{1}%
+\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+\def\setdateformat{d}\advancebydays{1}%
+\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+\def\setdateformat{d}\advancebydays{1}%
+\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+\def\setdateformat{d}\advancebydays{1}%
+\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+\def\setdateformat{d}\advancebydays{1}%
+\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+\def\setdateformat{d}\advancebydays{1}%
+\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+\def\setdateformat{d}\advancebydays{1}%
+\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi\\
+\def\setdateformat{d}\advancebydays{1}%
+\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+\def\setdateformat{d}\advancebydays{1}%
+\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+\def\setdateformat{d}\advancebydays{1}%
+\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+\def\setdateformat{d}\advancebydays{1}%
+\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+\def\setdateformat{d}\advancebydays{1}%
+\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+\def\setdateformat{d}\advancebydays{1}%
+\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi&
+\def\setdateformat{d}\advancebydays{1}%
+\ifnum\texd at dom<14 {} \fi\ifnum\texd at dom>14\leavevmode\printdate\fi\\
+\end{tabular}
+}%
+\def\texdcalyear#1{%
+\texd at yr=#1%
+\texd at mon=0%
+\texd at dom=0%
+\texd at setrmon%
+\texd at setrdom%
+{\tabcolsep=3pt%
+\begin{tabular}{ccc}
+\texdcal{#1}{1} & \texdcal{#1}{2} & \texdcal{#1}{3} \\
+\texdcal{#1}{4} & \texdcal{#1}{5} & \texdcal{#1}{6} \\
+\texdcal{#1}{7} & \texdcal{#1}{8} & \texdcal{#1}{9} \\
+\texdcal{#1}{10} & \texdcal{#1}{11} & \texdcal{#1}{12} \\
+\end{tabular}
+}%
+}%
+\newcount\texd at jnum\texd at jnum=0%
+\def\texd at setjnum{%
+\texd at jnum=0%
+\ifnum\texd at mon>0\global\advance\texd at jnum by31\fi%
+\ifnum\texd at mon>1%
+\global\advance\texd at jnum by28%
+\fi%
+\ifnum\texd at mon>2\global\advance\texd at jnum by31\fi%
+\ifnum\texd at mon>3\global\advance\texd at jnum by30\fi%
+\ifnum\texd at mon>4\global\advance\texd at jnum by31\fi%
+\ifnum\texd at mon>5\global\advance\texd at jnum by30\fi%
+\ifnum\texd at mon>6\global\advance\texd at jnum by31\fi%
+\ifnum\texd at mon>7\global\advance\texd at jnum by31\fi%
+\ifnum\texd at mon>8\global\advance\texd at jnum by30\fi%
+\ifnum\texd at mon>9\global\advance\texd at jnum by31\fi%
+\ifnum\texd at mon>10\global\advance\texd at jnum by30\fi%
+\global\advance\texd at jnum by\the\texd at dom%
+\global\advance\texd at jnum by1%
+}%
+\def\texd at firstmon{January}%
+\def\texd at firstshmon{Jan}%
+\def\texd at secondmon{February}%
+\def\texd at secondshmon{Feb}%
+\def\texd at thirdmon{March}%
+\def\texd at thirdshmon{Mar}%
+\def\texd at fourthmon{April}%
+\def\texd at fourthshmon{Apr}%
+\def\texd at fifthmon{May}%
+\def\texd at fifthshmon{May}%
+\def\texd at sixthmon{June}%
+\def\texd at sixthshmon{Jun}%
+\def\texd at seventhmon{July}%
+\def\texd at seventhshmon{Jul}%
+\def\texd at eighthmon{August}%
+\def\texd at eighthshmon{Aug}%
+\def\texd at ninthmon{September}%
+\def\texd at ninthshmon{Sep}%
+\def\texd at tenthmon{October}%
+\def\texd at tenthshmon{Oct}%
+\def\texd at eleventhmon{November}%
+\def\texd at eleventhshmon{Nov}%
+\def\texd at twelfthmon{December}%
+\def\texd at twelfthshmon{Dec}%
+\def\texd at firstdayname{Sunday}%
+\def\texd at firstdayshname{Sun}%
+\def\texd at seconddayname{Monday}%
+\def\texd at seconddayshname{Mon}%
+\def\texd at thirddayname{Tuesday}%
+\def\texd at thirddayshname{Tue}%
+\def\texd at fourthdayname{Wednesday}%
+\def\texd at fourthdayshname{Wed}%
+\def\texd at fifthdayname{Thursday}%
+\def\texd at fifthdayshname{Thu}%
+\def\texd at sixthdayname{Friday}%
+\def\texd at sixthdayshname{Fri}%
+\def\texd at seventhdayname{Saturday}%
+\def\texd at seventhdayshname{Sat}%
+\AtBeginDocument{%
+\IfLanguageName{spanish}{%
+\def\texd at firstmon{enero}%
+\def\texd at firstshmon{ene}%
+\def\texd at secondmon{febrero}%
+\def\texd at secondshmon{feb}%
+\def\texd at thirdmon{marzo}%
+\def\texd at thirdshmon{mar}%
+\def\texd at fourthmon{abril}%
+\def\texd at fourthshmon{abr}%
+\def\texd at fifthmon{mayo}%
+\def\texd at fifthshmon{may}%
+\def\texd at sixthmon{junio}%
+\def\texd at sixthshmon{jun}%
+\def\texd at seventhmon{julio}%
+\def\texd at seventhshmon{jul}%
+\def\texd at eighthmon{agosto}%
+\def\texd at eighthshmon{ago}%
+\def\texd at ninthmon{septiembre}%
+\def\texd at ninthshmon{sep}%
+\def\texd at tenthmon{octubre}%
+\def\texd at tenthshmon{oct}%
+\def\texd at eleventhmon{noviembre}%
+\def\texd at eleventhshmon{nov}%
+\def\texd at twelfthmon{diciembre}%
+\def\texd at twelfthshmon{dic}%
+\def\texd at firstdayname{domingo}%
+\def\texd at firstdayshname{dom}%
+\def\texd at seconddayname{lunes}%
+\def\texd at seconddayshname{lun}%
+\def\texd at thirddayname{martes}%
+\def\texd at thirddayshname{mar}%
+\def\texd at fourthdayname{miercoles}%
+\def\texd at fourthdayshname{mie}%
+\def\texd at fifthdayname{jueves}%
+\def\texd at fifthdayshname{jue}%
+\def\texd at sixthdayname{viernes}%
+\def\texd at sixthdayshname{vie}%
+\def\texd at seventhdayname{sabado}%
+\def\texd at seventhdayshname{sab}%
+}{}%
+\IfLanguageName{french}{%
+\def\texd at firstmon{janvier}%
+\def\texd at firstshmon{janv}%
+\def\texd at secondmon{février}%
+\def\texd at secondshmon{févr}%
+\def\texd at thirdmon{mars}%
+\def\texd at thirdshmon{mars}%
+\def\texd at fourthmon{avril}%
+\def\texd at fourthshmon{avr}%
+\def\texd at fifthmon{mai}%
+\def\texd at fifthshmon{mai}%
+\def\texd at sixthmon{juin}%
+\def\texd at sixthshmon{juin}%
+\def\texd at seventhmon{juil}%
+\def\texd at seventhshmon{juil}%
+\def\texd at eighthmon{août}%
+\def\texd at eighthshmon{août}%
+\def\texd at ninthmon{septembre}%
+\def\texd at ninthshmon{sept}%
+\def\texd at tenthmon{octobre}%
+\def\texd at tenthshmon{oct}%
+\def\texd at eleventhmon{novembre}%
+\def\texd at eleventhshmon{nov}%
+\def\texd at twelfthmon{décembre}%
+\def\texd at twelfthshmon{déc}%
+\def\texd at firstdayname{dimanche}%
+\def\texd at firstdayshname{dim}%
+\def\texd at seconddayname{lundi}%
+\def\texd at seconddayshname{lun}%
+\def\texd at thirddayname{mardi}%
+\def\texd at thirddayshname{mar}%
+\def\texd at fourthdayname{mercredi}%
+\def\texd at fourthdayshname{mer}%
+\def\texd at fifthdayname{jeudi}%
+\def\texd at fifthdayshname{jeu}%
+\def\texd at sixthdayname{vendredi}%
+\def\texd at sixthdayshname{ven}%
+\def\texd at seventhdayname{samedi}%
+\def\texd at seventhdayshname{sam}%
+}{}%
+\IfLanguageName{german}{%
+\def\texd at firstmon{Januar}%
+\def\texd at firstshmon{Jan}%
+\def\texd at secondmon{Februar}%
+\def\texd at secondshmon{Feb}%
+\def\texd at thirdmon{März}%
+\def\texd at thirdshmon{März}%
+\def\texd at fourthmon{April}%
+\def\texd at fourthshmon{Apr}%
+\def\texd at fifthmon{Mai}%
+\def\texd at fifthshmon{Mai}%
+\def\texd at sixthmon{Juni}%
+\def\texd at sixthshmon{Juni}%
+\def\texd at seventhmon{Juli}%
+\def\texd at seventhshmon{Juli}%
+\def\texd at eighthmon{August}%
+\def\texd at eighthshmon{Aug}%
+\def\texd at ninthmon{September}%
+\def\texd at ninthshmon{Sept}%
+\def\texd at tenthmon{Oktober}%
+\def\texd at tenthshmon{Okt}%
+\def\texd at eleventhmon{November}%
+\def\texd at eleventhshmon{Nov}%
+\def\texd at twelfthmon{Dezember}%
+\def\texd at twelfthshmon{Dez}%
+\def\texd at firstdayname{Sonntag}%
+\def\texd at firstdayshname{So}%
+\def\texd at seconddayname{Montag}%
+\def\texd at seconddayshname{Mo}%
+\def\texd at thirddayname{Dienstag}%
+\def\texd at thirddayshname{Di}%
+\def\texd at fourthdayname{Mittwoch}%
+\def\texd at fourthdayshname{Mi}%
+\def\texd at fifthdayname{Donnerstag}%
+\def\texd at fifthdayshname{Do}%
+\def\texd at sixthdayname{Freitag}%
+\def\texd at sixthdayshname{Fr}%
+\def\texd at seventhdayname{Samstag}%
+\def\texd at seventhdayshname{Sa}%
+}{}%
+}%
+\endinput
+%%
+%% End of file `texdate.sty'.


Property changes on: trunk/Master/texmf-dist/tex/generic/texdate/texdate.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2018-05-30 21:16:02 UTC (rev 47877)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2018-05-30 21:18:26 UTC (rev 47878)
@@ -618,7 +618,8 @@
     tex-ewd tex-font-errors-cheatsheet tex-gyre tex-gyre-math tex-ini-files
     tex-label tex-overview tex-ps tex-refs tex-virtual-academy-pl
     tex4ebook texapi texbytopic texcount
-    texdef texdiff texdirflatten texdraw texfot texilikechaps texilikecover
+    texdate texdef texdiff texdirflatten texdraw
+    texfot texilikechaps texilikecover
     texliveonfly texloganalyser texlogos texmate texments
     texosquery texpower texproposal texshade textualicomma texvc
     textcase textfit textglos textgreek textmerg textopo textpath textpos

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2018-05-30 21:16:02 UTC (rev 47877)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2018-05-30 21:18:26 UTC (rev 47878)
@@ -1513,6 +1513,7 @@
  'systeme',             'generic',
  'tabto-generic',       'generic',
  'tap',                 'generic',
+ 'texdate',             'generic',
  'texdraw',             'generic',
  'texsis',              'texsis',
  'textmerg',            'generic',
@@ -2158,6 +2159,7 @@
  'tex-virtual-academy-pl',	'generic',
  'texbytopic',          'plain',
  'texcount',            'support',
+ 'texdate',		'generic',
  'texdiff',             'support',
  'texdirflatten',       'support',
  'texdraw',             'support',
@@ -2297,6 +2299,7 @@
  'startex',     'startex',
  'stix',        'fonts',
  't2',          'generic',
+ 'texdate',	'generic',
  'textmerg',    'generic',
  'trajan',      'fonts',
  'universa',    'fonts',

Modified: trunk/Master/tlpkg/tlpsrc/collection-plaingeneric.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-plaingeneric.tlpsrc	2018-05-30 21:16:02 UTC (rev 47877)
+++ trunk/Master/tlpkg/tlpsrc/collection-plaingeneric.tlpsrc	2018-05-30 21:18:26 UTC (rev 47878)
@@ -82,6 +82,7 @@
 depend tex-ps
 depend tex4ht
 depend texapi
+depend texdate
 depend texinfo
 depend timetable
 depend tracklang

Added: trunk/Master/tlpkg/tlpsrc/texdate.tlpsrc
===================================================================


More information about the tex-live-commits mailing list