summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-11-19 01:22:32 +0000
committerKarl Berry <karl@freefriends.org>2009-11-19 01:22:32 +0000
commit985c15fd8ede8df9fa1f88aea533234471dc8be5 (patch)
tree5da4fd6cea3dbebba71f6ebd3d323d7328e45eb2 /Master/texmf-dist/doc
parent01d93d3639c9411877c1fcb7034fa3d4d36e3afe (diff)
datetime update (18nov09)
git-svn-id: svn://tug.org/texlive/trunk@16071 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r--Master/texmf-dist/doc/latex/datetime/CHANGES10
-rw-r--r--Master/texmf-dist/doc/latex/datetime/README8
-rw-r--r--Master/texmf-dist/doc/latex/datetime/datetime-manual.html210
-rw-r--r--Master/texmf-dist/doc/latex/datetime/datetime.pdfbin170340 -> 162723 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datetime/datetime.perl1877
-rw-r--r--Master/texmf-dist/doc/latex/datetime/dt-lang.tex4
-rw-r--r--Master/texmf-dist/doc/latex/datetime/dt-sampl.tex37
7 files changed, 193 insertions, 1953 deletions
diff --git a/Master/texmf-dist/doc/latex/datetime/CHANGES b/Master/texmf-dist/doc/latex/datetime/CHANGES
index e09bc06c7f4..f96adc30803 100644
--- a/Master/texmf-dist/doc/latex/datetime/CHANGES
+++ b/Master/texmf-dist/doc/latex/datetime/CHANGES
@@ -1,5 +1,15 @@
datetime.sty history
+Version 2.56:
+ * Added \formattime. (Specific times can now be displayed in
+ the same format as \currenttime)
+ * Added new date format yyyymmdd
+ * Added new time format hhmmss
+ * Added new package option "iso"
+ * datetime package options now override babel's date format
+ * Moved definition of \newdateformat and \newtimeformat before
+ configuration file is loaded.
+
Version 2.55:
* fixed bug preventing multilingual support
diff --git a/Master/texmf-dist/doc/latex/datetime/README b/Master/texmf-dist/doc/latex/datetime/README
index 66fffe3d3a8..a59396457d3 100644
--- a/Master/texmf-dist/doc/latex/datetime/README
+++ b/Master/texmf-dist/doc/latex/datetime/README
@@ -1,6 +1,6 @@
-LaTeX Package : datetime v 2.55
+LaTeX Package : datetime v 2.56
-Last Modified : 20 Aug 2007
+Last Modified : 16 November 2009
Author : Nicola Talbot
@@ -13,9 +13,9 @@ Files : datetime.dtx - documented source file
The package datetime.sty provides various different
formats for \today, and provides commands for displaying
-the current time.
+the time.
-See the documentation for more details.
+See the documentation for further details.
To extract the code do:
diff --git a/Master/texmf-dist/doc/latex/datetime/datetime-manual.html b/Master/texmf-dist/doc/latex/datetime/datetime-manual.html
index 48ce608fd40..b1012d6df8c 100644
--- a/Master/texmf-dist/doc/latex/datetime/datetime-manual.html
+++ b/Master/texmf-dist/doc/latex/datetime/datetime-manual.html
@@ -7,9 +7,9 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
-<TITLE>datetime.sty v2.55: Formatting Current Date and Time</TITLE>
-<META NAME="description" CONTENT="datetime.sty v2.55: Formatting Current Date and Time">
-<META NAME="keywords" CONTENT="manual">
+<TITLE>datetime.sty v2.56: Formatting Current Date and Time</TITLE>
+<META NAME="description" CONTENT="datetime.sty v2.56: Formatting Current Date and Time">
+<META NAME="keywords" CONTENT="datetime-manual">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
@@ -24,7 +24,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<P>
- <H1 ALIGN="CENTER">datetime.sty v2.55: Formatting Current Date and
+ <H1 ALIGN="CENTER">datetime.sty v2.56: Formatting Current Date and
Time</H1>
<P ALIGN="CENTER"><STRONG>Nicola L. C. Talbot
<BR>
@@ -38,7 +38,7 @@ Norwich. NR4 7TJ.
United Kingdom.
<BR> <TT><A NAME="tex2html1"
HREF="http://theoval.cmp.uea.ac.uk/~nlct/">http://theoval.cmp.uea.ac.uk/~nlct/</A></TT></STRONG></P>
-<P ALIGN="CENTER"><STRONG>20 Aug 2007</STRONG></P>
+<P ALIGN="CENTER"><STRONG>16th November 2009</STRONG></P>
<BR>
<H2><A NAME="SECTION00010000000000000000">
@@ -48,29 +48,31 @@ Contents</A>
<UL>
<LI><A NAME="tex2html24"
- HREF="manual.html#SECTION00020000000000000000">Introduction</A>
+ HREF="datetime-manual.html#SECTION00020000000000000000">Introduction</A>
<LI><A NAME="tex2html25"
- HREF="manual.html#SECTION00030000000000000000">Date Declarations</A>
+ HREF="datetime-manual.html#SECTION00030000000000000000">Predefined Date Formats</A>
<LI><A NAME="tex2html26"
- HREF="manual.html#SECTION00040000000000000000">Time Commands</A>
+ HREF="datetime-manual.html#SECTION00040000000000000000">Time Commands</A>
<LI><A NAME="tex2html27"
- HREF="manual.html#SECTION00050000000000000000">Formating Dates</A>
+ HREF="datetime-manual.html#SECTION00050000000000000000">Formating Dates</A>
<LI><A NAME="tex2html28"
- HREF="manual.html#SECTION00060000000000000000">Defining New Date Formats</A>
+ HREF="datetime-manual.html#SECTION00060000000000000000">Defining New Date Formats</A>
<LI><A NAME="tex2html29"
- HREF="manual.html#SECTION00070000000000000000">Saving Dates</A>
+ HREF="datetime-manual.html#SECTION00070000000000000000">Saving Dates</A>
<LI><A NAME="tex2html30"
- HREF="manual.html#SECTION00080000000000000000">Predefined Names</A>
+ HREF="datetime-manual.html#SECTION00080000000000000000">Predefined Names</A>
<LI><A NAME="tex2html31"
- HREF="manual.html#SECTION00090000000000000000">Package Options</A>
+ HREF="datetime-manual.html#SECTION00090000000000000000">Package Options</A>
<LI><A NAME="tex2html32"
- HREF="manual.html#SECTION000100000000000000000">Multilingual Support</A>
+ HREF="datetime-manual.html#SECTION000100000000000000000">Multilingual Support</A>
<LI><A NAME="tex2html33"
- HREF="manual.html#SECTION000110000000000000000">Configuration File</A>
+ HREF="datetime-manual.html#SECTION000110000000000000000">Registers</A>
<LI><A NAME="tex2html34"
- HREF="manual.html#SECTION000120000000000000000">LaTeX2HTML styles</A>
+ HREF="datetime-manual.html#SECTION000120000000000000000">Configuration File</A>
<LI><A NAME="tex2html35"
- HREF="manual.html#SECTION000130000000000000000">Troubleshooting</A>
+ HREF="datetime-manual.html#SECTION000130000000000000000">LaTeX2HTML styles</A>
+<LI><A NAME="tex2html36"
+ HREF="datetime-manual.html#SECTION000140000000000000000">Troubleshooting</A>
</UL>
<!--End of Table of Contents-->
<H1><A NAME="SECTION00020000000000000000">
@@ -110,13 +112,22 @@ For example:
<P>
<H1><A NAME="SECTION00030000000000000000">
-Date Declarations</A>
+Predefined Date Formats</A>
</H1>
There are various declarations that change the effect of
<TT>&#092;today</TT>. The change can be localised by placing the
declaration within a group.
<P>
+ISO format:
+
+ The declaration <code>\yyyymmdddate</code> will redefine
+<code>\today</code> to produce
+ the current date displayed in the form 2000/03/08. (You can
+redefine <TT>&#092;dateseparator</TT> to <TT>-</TT> to change to
+2000-03-08.)
+
+<P>
<I>Day</I> <I>Month</I> <I>Year</I> formats:
<BR>
@@ -157,7 +168,7 @@ the package option <TT>nodayofweek</TT> is used. Note that
<code>\textdate</code> is defined for use with English, it won't
look right if it is used when another language has been
selected<A NAME="tex2html2"
- HREF="#foot411"><SUP>1</SUP></A>. If you want to define a similar command for
+ HREF="#foot456"><SUP>1</SUP></A>. If you want to define a similar command for
another language, you will first need to check that the
<TT>fmtcount</TT> package supports that language.
@@ -190,7 +201,7 @@ In addition, the declarations <code>\date</code><I>lang</I> are
available for all languages defined either by
calling <TT>babel</TT> prior to <TT>datetime</TT> or by
passing the language name as an option to <TT>datetime</TT>.
-See&nbsp;<A HREF="manual.html#sec:newdate">later</A>
+See&nbsp;<A HREF="datetime-manual.html#sec:newdate">later</A>
if you want to define your own customised date format.
<P>
@@ -211,15 +222,23 @@ Time Commands</A>
The current time is displayed using the command
<code>\currenttime</code>.
- The format can be changed using the declaration
+<P>
+A specific time can be displayed using
+the command <TT>&#092;formattime{</TT><EM>hour</EM><TT>}{</TT><EM>minute</EM><TT>}{</TT><EM>second</EM><TT>}</TT>, where
+<I>hour</I> is a number from&nbsp;0 to&nbsp;23, and <I>minute</I> and
+<I>second</I> are numbers from&nbsp;0 to&nbsp;59.
+
+<P>
+The format can be changed using the declaration
<TT>&#092;settimeformat{</TT><EM>style</EM><TT>}</TT>, where <I>style</I> is the name of the
-format<A NAME="tex2html3"
- HREF="#foot416"><SUP>2</SUP></A>. Available formats
-are:
+format. Predefined formats are:
<DL>
<DT><STRONG>xxivtime</STRONG></DT>
<DD>Twenty-four hour time in the form 22:28 (Default)
</DD>
+<DT><STRONG>hhmmsstime</STRONG></DT>
+<DD>Twenty-four hour time in the form 22:28:00
+</DD>
<DT><STRONG>ampmtime</STRONG></DT>
<DD>Twelve hour time in the form 10:28pm
</DD>
@@ -239,10 +258,11 @@ where <I>name</I> is the name of the new format (used in
<TT>&#092;settimeformat</TT>), and <I>format</I> is how to format the
time. Within <I>format</I> you can use the counters
<TT>HOUR</TT> (number of hours after midnight), <TT>MINUTE</TT>
-(number of minutes past the hour), <TT>HOURXII</TT> (number of
+(number of minutes past the hour), <TT>SECOND</TT> (number of
+seconds) <TT>HOURXII</TT> (number of
hours after midnight/midday), <TT>TOHOUR</TT> (the next hour) and
<TT>TOMINUTE</TT> (number of minutes to the next hour), and the
-corresponding commands: <TT>&#092;THEHOUR</TT>, <TT>&#092;THEMINUTE</TT>,
+corresponding commands: <TT>&#092;THEHOUR</TT>, <TT>&#092;THEMINUTE</TT>, <TT>&#092;THESECOND</TT>,
<TT>&#092;THEHOURXII</TT>, <TT>&#092;THETOHOUR</TT> and <TT>&#092;THETOMINUTE</TT>.
<P>
@@ -273,8 +293,8 @@ format defined above.
Formating Dates</A>
</H1>
- The command <code>\pdfdate</code><A NAME="tex2html4"
- HREF="#foot148"><SUP>3</SUP></A> prints the date in the format required for
+ The command <code>\pdfdate</code><A NAME="tex2html3"
+ HREF="#foot154"><SUP>2</SUP></A> prints the date in the format required for
PDF files, e.g. if the date is 1 May 2004 and time is
22:02, <code>\pdfdate</code> will print 20040501220200. The reason
this date format is separate from all the others is because the
@@ -290,6 +310,10 @@ Example:
/ModDate (D:\pdfdate)
}
</PRE>
+<B>Note</B> that PDFTeX introduced the new primitive
+<TT>&#092;pdfcreationdate</TT> in version 1.30.0, so <TT>&#092;pdfdate</TT> isn't
+required with newer versions of PDFTeX. (<TT>&#092;pdfcreationdate</TT>
+is better than <TT>&#092;pdfdate</TT> as it also stores the time zone.)
<P>
There are two commands that print the name of the current
@@ -306,7 +330,7 @@ example, <code>\monthname[6]</code> will produced the output: June.
<P>
The day of the week is computed using the algorithm documented at
- <TT><A NAME="tex2html5"
+ <TT><A NAME="tex2html4"
HREF="http://userpages.wittenburg.edu/bshelburne/Comp150/DayOfWeek.htm">http://userpages.wittenburg.edu/bshelburne/Comp150/DayOfWeek.htm</A></TT>.
This algorithm works for any date between 1<SUP>st</SUP>
Jan, 1901 and 31<SUP>st</SUP> Dec, 2099.
@@ -354,10 +378,10 @@ will only be added if <I>number</I> is 1, otherwise only
<P>
The macro
-<TT>&#092;formatdate{</TT><EM>day</EM><TT>}{</TT><EM>month</EM><TT>}{</TT><EM>year</EM><TT>}</TT><A NAME="tex2html6"
- HREF="#foot417"><SUP>4</SUP></A> formats the specified date according to
-the current format of <TT>&#092;today</TT><A NAME="tex2html7"
- HREF="#foot421"><SUP>5</SUP></A>.
+<TT>&#092;formatdate{</TT><EM>day</EM><TT>}{</TT><EM>month</EM><TT>}{</TT><EM>year</EM><TT>}</TT><A NAME="tex2html5"
+ HREF="#foot461"><SUP>3</SUP></A> formats the specified date according to
+the current format of <TT>&#092;today</TT><A NAME="tex2html6"
+ HREF="#foot465"><SUP>4</SUP></A>.
(Arguments must all be integers.) For example, in combination with
<code>\longdate</code>, the command
<PRE>
@@ -456,8 +480,8 @@ Saving Dates</A>
<P>
It is possible to save a date for later use using the command:
-<A NAME="tex2html8"
- HREF="#foot244"><SUP>6</SUP></A>
+<A NAME="tex2html7"
+ HREF="#foot255"><SUP>5</SUP></A>
<P>
<TT>&#092;newdate{</TT><EM>name</EM><TT>}{</TT><EM>day</EM><TT>}{</TT><EM>month</EM><TT>}{</TT><EM>year</EM><TT>}</TT>
@@ -558,6 +582,9 @@ The following options may be passed to this package:
<TR><TD ALIGN="LEFT"><TT></TD><TD ALIGN="LEFT">short </TT></TD>
<TD ALIGN="LEFT">make <TT>&#092;today</TT> produce short date</TD>
</TR>
+<TR><TD ALIGN="LEFT"><TT></TD><TD ALIGN="LEFT">yyyymmdd </TT></TD>
+<TD ALIGN="LEFT">make <TT>&#092;today</TT> produce YYYY/MM/DD date</TD>
+</TR>
<TR><TD ALIGN="LEFT"><TT></TD><TD ALIGN="LEFT">ddmmyyyy </TT></TD>
<TD ALIGN="LEFT">make <TT>&#092;today</TT> produce DD/MM/YYYY date</TD>
</TR>
@@ -605,6 +632,10 @@ text</TD>
<TR><TD ALIGN="LEFT"><TT></TD><TD ALIGN="LEFT">nodayofweek </TT></TD>
<TD ALIGN="LEFT">don't display the day of week.</TD>
</TR>
+<TR><TD ALIGN="LEFT"><TT></TD><TD ALIGN="LEFT">hhmmss </TT></TD>
+<TD ALIGN="LEFT">make <TT>&#092;currenttime</TT> produce <TT>hhmmsstime</TT>
+format</TD>
+</TR>
<TR><TD ALIGN="LEFT"><TT></TD><TD ALIGN="LEFT">24hr </TT></TD>
<TD ALIGN="LEFT">make <TT>&#092;currenttime</TT> produce <TT>xxivtime</TT>
format</TD>
@@ -622,8 +653,13 @@ format</TD>
day of week commands</TD>
</TR>
<TR><TD ALIGN="LEFT"><TT></TD><TD ALIGN="LEFT"></TT></TD>
-<TD ALIGN="LEFT">(useful if you only want the time commands or
-<code>\pdfdate</code>)</TD>
+<TD ALIGN="LEFT">(useful if you only want the time commands)</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT></TD><TD ALIGN="LEFT">iso </TT></TD>
+<TD ALIGN="LEFT">as ddmmyyyy and hhmmss but also sets date separator to -</TD>
+</TR>
+<TR><TD ALIGN="LEFT"><TT></TD><TD ALIGN="LEFT"></TT></TD>
+<TD ALIGN="LEFT">and time separator to :</TD>
</TR>
</TABLE>
@@ -638,6 +674,13 @@ Multilingual Support</A>
</H1>
<P>
+If you use the <TT>ngerman</TT> package, you must use <TT>datetime</TT>'s
+<TT>ngerman</TT> package option if you want the date displayed
+in the same form as <TT>ngerman</TT>. You must also load <TT>ngerman</TT>
+<I>before</I> you load <TT>datetime</TT>. Similarly for the
+<TT>german</TT> package.
+
+<P>
If you want to use the <TT>babel</TT> package, you must load
it <I>before</I> you load the <TT>datetime</TT> package. This
is because the <TT>babel</TT> <TT>&#092;date</TT><I>lang</I> commands
@@ -655,6 +698,32 @@ languages that I know, or that other people have been able to supply
for me.
<P>
+As from v2.56, the package options supplied to <TT>datetime</TT>
+override <TT>babel</TT>'s date format. For example:
+<PRE>
+\usepackage[french,spanish]{babel}
+\usepackage[ddmmyyyy]{datetime}
+</PRE>
+will use ddmmyyyy date format regardless of language. Note that
+if you use a declaration instead of a package option, for
+example:
+<PRE>
+\usepackage[french,spanish]{babel}
+\usepackage{datetime}
+\ddmmyyyydate
+</PRE>
+the date format will be switched back to <TT>&#092;datefrench</TT> or
+<TT>&#092;datespanish</TT> whenever the language is set. You can use
+<P>
+<TT>&#092;setdefaultdate{</TT><EM>declaration</EM><TT>}</TT>
+<P>
+to always use <TT>{</TT><EM>declaration</EM><TT>}</TT> whenever the language
+is set. For example:
+<PRE>
+\setdefaultdate{\ddmmyyyydate}
+</PRE>
+
+<P>
The commands <TT>&#092;monthname</TT> and <TT>&#092;shortmonthname</TT>,
will produce the month name in the current language.
If you want the month name in a specific language, you
@@ -671,13 +740,13 @@ for further details.
<P>
There is currently only <I>limited</I> multilingual support for
<TT>&#092;dayofweekname</TT> and <TT>&#092;shortdayofweekname</TT> (just
-English, French, Portuguese, Spanish and German<A NAME="tex2html9"
- HREF="#foot358"><SUP>7</SUP></A>). You can add support
+English, French, Portuguese, Spanish and German<A NAME="tex2html8"
+ HREF="#foot394"><SUP>6</SUP></A>). You can add support
for other languages by defining the commands
<TT>&#092;dayofweeknameid</TT><I>lang</I> and
<TT>&#092;shortdayofweeknameid</TT><I>lang</I>. Note that these
commands only take <I>one</I> argument which should be
-a number from 1 to 7 indicating the day of the week.
+a number from&nbsp;1 to&nbsp;7 indicating the day of the week.
<P>
You can use the following as templates. Replace
@@ -713,6 +782,19 @@ If you want them added to future versions of
<P>
<H1><A NAME="SECTION000110000000000000000">
+Registers</A>
+</H1>
+
+<P>
+TeX provides <TT>&#092;day</TT>, <TT>&#092;month</TT>, <TT>&#092;year</TT> registers. In
+addition, <TT>datetime</TT> provides the registers:
+<TT>&#092;currenthour</TT>, <TT>&#092;currentminute</TT> and <TT>&#092;currentsecond</TT>.
+Note that old distributions of TeX will always have
+<TT>&#092;currentsecond</TT> set to zero.
+
+<P>
+
+<H1><A NAME="SECTION000120000000000000000">
Configuration File</A>
</H1>
@@ -747,7 +829,7 @@ use this format by default.
<P>
-<H1><A NAME="SECTION000120000000000000000">
+<H1><A NAME="SECTION000130000000000000000">
LaTeX2HTML styles</A>
</H1>
@@ -791,64 +873,54 @@ implemented.
<P>
-<H1><A NAME="SECTION000130000000000000000">
+<H1><A NAME="SECTION000140000000000000000">
Troubleshooting</A>
</H1>
<P>
There is a <TT>datetime</TT> FAQ available at:
-<TT><A NAME="tex2html10"
+<TT><A NAME="tex2html9"
HREF="http://theoval.cmp.uea.ac.uk/~nlct/latex/packages/faq/">http://theoval.cmp.uea.ac.uk/~nlct/latex/packages/faq/</A></TT>
<P>
<BR><HR><H4>Footnotes</H4>
<DL>
-<DT><A NAME="foot411">...
+<DT><A NAME="foot456">...
selected</A><A
- HREF="manual.html#tex2html2"><SUP>1</SUP></A></DT>
+ HREF="datetime-manual.html#tex2html2"><SUP>1</SUP></A></DT>
<DD>in fact, you may get an error from the
<TT>fmtcount</TT> package if you are using a language that it
doesn't support.
</DD>
-<DT><A NAME="foot416">...
-format</A><A
- HREF="manual.html#tex2html3"><SUP>2</SUP></A></DT>
-<DD>Note that the commands <TT>&#092;xxivtime</TT>, <TT>&#092;ampmtime</TT>
-and <TT>&#092;oclock</TT> are still available, <TT>&#092;settimeformat</TT> redefines
-<TT>&#092;currenttime</TT> to the command given by placing a backslash in front
-of <I>style</I>. So <TT>&#092;settimeformat{xxivtime}</TT> sets
-<TT>&#092;currenttime</TT> to <TT>&#092;xxivtime</TT> and so on.
-
-</DD>
-<DT><A NAME="foot148">... <code>\pdfdate</code></A><A
- HREF="manual.html#tex2html4"><SUP>3</SUP></A></DT>
+<DT><A NAME="foot154">... <code>\pdfdate</code></A><A
+ HREF="datetime-manual.html#tex2html3"><SUP>2</SUP></A></DT>
<DD>thanks to Ulrich Dirr for
asking about this
</DD>
-<DT><A NAME="foot417">...year</A><A
- HREF="manual.html#tex2html6"><SUP>4</SUP></A></DT>
+<DT><A NAME="foot461">...year</A><A
+ HREF="datetime-manual.html#tex2html5"><SUP>3</SUP></A></DT>
<DD>Note the
name change since version 1.1. The command name was changed from
<TT>&#092;thedate</TT> to <TT>&#092;formatdate</TT> to avoid a name clash when using the
<TT>seminar</TT> class file.
</DD>
-<DT><A NAME="foot421">...today</A><A
- HREF="manual.html#tex2html7"><SUP>5</SUP></A></DT>
+<DT><A NAME="foot465">...today</A><A
+ HREF="datetime-manual.html#tex2html6"><SUP>4</SUP></A></DT>
<DD>To be more precise,
<TT>&#092;today</TT> is defined to be
<TT>&#092;formatdate{<TT>&#092;day</TT>}{<TT>&#092;month</TT>}{<TT>&#092;year</TT>}</TT> where
<TT>&#092;longdate</TT> etc change the definition of <TT>&#092;formatdate</TT>
</DD>
-<DT><A NAME="foot244">... command:</A><A
- HREF="manual.html#tex2html8"><SUP>6</SUP></A></DT>
+<DT><A NAME="foot255">... command:</A><A
+ HREF="datetime-manual.html#tex2html7"><SUP>5</SUP></A></DT>
<DD>Thanks to Denis Bitouz&#233; for asking about this
</DD>
-<DT><A NAME="foot358">... German</A><A
- HREF="manual.html#tex2html9"><SUP>7</SUP></A></DT>
+<DT><A NAME="foot394">... German</A><A
+ HREF="datetime-manual.html#tex2html8"><SUP>6</SUP></A></DT>
<DD>thanks
to Uwe Bieling for supplying the German names
@@ -856,10 +928,10 @@ to Uwe Bieling for supplying the German names
</DL>
<BR><HR>
<ADDRESS>
-<A href=http://theoval.cmp.uea.ac.uk/~nlct/>Nicola L. C. Talbot</A>.
-<A HREF=http://www.cmp.uea.ac.uk/>School of Computing Sciences</A>.
-<A HREF=http://www.uea.ac.uk/>University of East Anglia.</A>
-Last Modified: 2007-08-20
+<A href="http://theoval.cmp.uea.ac.uk/~nlct/">Nicola L. C. Talbot</A>.
+<A HREF="http://www.cmp.uea.ac.uk/">School of Computing Sciences</A>.
+<A HREF="http://www.uea.ac.uk/">University of East Anglia.</A>
+Last Modified: 2009-11-17
</ADDRESS>
</BODY>
</HTML>
diff --git a/Master/texmf-dist/doc/latex/datetime/datetime.pdf b/Master/texmf-dist/doc/latex/datetime/datetime.pdf
index f0c60ad6b65..ec73fb35a96 100644
--- a/Master/texmf-dist/doc/latex/datetime/datetime.pdf
+++ b/Master/texmf-dist/doc/latex/datetime/datetime.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/datetime/datetime.perl b/Master/texmf-dist/doc/latex/datetime/datetime.perl
deleted file mode 100644
index fe56b9f6597..00000000000
--- a/Master/texmf-dist/doc/latex/datetime/datetime.perl
+++ /dev/null
@@ -1,1877 +0,0 @@
-# File : datetime.perl
-# Author : Nicola Talbot
-# Date : 21 Apr 2007
-# Version : 1.03
-#
-# This is a LaTeX2HTML style implementing the datetime package, and
-# is distributed as part of that package.
-# Copyright 2007 Nicola L.C. Talbot
-# This work may be distributed and/or modified under the
-# conditions of the LaTeX Project Public License, either version 1.3
-# of this license of (at your option) any later version.
-# The latest version of this license is in
-# http://www.latex-project.org/lppl.txt
-# and version 1.3 or later is part of all distributions of LaTeX
-# version 2005/12/01 or later.
-#
-# This work has the LPPL maintenance status `maintained'.
-#
-# The Current Maintainer of this work is Nicola Talbot.
-
-# set up default values for internal counters.
-
-($global{SECONDS},$global{MINUTE},$global{HOUR},$global{DAY},$global{MONTH},$global{YEAR})=localtime(time);
-$global{YEAR} += 1900;
-$global{MONTH}++;
-
-$global{HOURXII} = ($global{HOUR} == 12 ? 12 : ($global{HOUR})%12);
-$global{TOHOUR} = ($global{HOUR} == 11 ? 12 :($global{HOUR}+1)%12);
-$global{TOMINUTE} = ($global{MINUTE} == 0? 0 : 60 - $global{MINUTE});
-
-package main;
-
-&do_require_package('fmtcount');
-
-sub do_cmd_ordinaldate{
- &do_cmd_ordinalnum(@_);
-}
-
-# define package options
-
-sub do_datetime_long{
- &do_cmd_longdate(@_);
-}
-
-sub do_datetime_short{
- &do_cmd_shortdate(@_);
-}
-
-sub do_datetime_text{
- &do_cmd_textdate(@_);
-}
-
-sub do_datetime_ddmmyyyy{
- &do_cmd_ddmmyyyydate(@_);
-}
-
-sub do_datetime_dmyyyy{
- &do_cmd_dmyyyydate(@_);
-}
-
-sub do_datetime_ddmmyy{
- &do_cmd_ddmmyydate(@_);
-}
-
-sub do_datetime_dmyy{
- &do_cmd_dmyyyydate(@_);
-}
-
-sub do_datetime_us{
- &do_cmd_usdate(@_);
-}
-
-sub do_datetime_mmddyyyy{
- &do_cmd_mmddyyyydate(@_);
-}
-
-sub do_datetime_mdyyyy{
- &do_cmd_mdyyyydate(@_);
-}
-
-sub do_datetime_mmddyy{
- &do_cmd_mmddyydate(@_);
-}
-
-sub do_datetime_mdyy{
- &do_cmd_mdyyyydate(@_);
-}
-
-sub do_datetime_raise{
- local($tmp)="";
-
- $tmp .= 'sub do_cmd_fmtord{';
- $tmp .= 'local($_) = @_;';
- $tmp .= 'local($num) = &missing_braces unless ((s/$next_pair_pr_rx//o)&&($num=$2));';
- $tmp .= 'join("", "<SUP>",$num,"</SUP>",$_);';
- $tmp .='}';
-
- eval($tmp);
-}
-
-sub do_datetime_level{
- local($tmp)="";
-
- $tmp .= 'sub do_cmd_fmtord{';
- $tmp .= 'local($_) = @_;';
- $tmp .= 'local($num) = &missing_braces unless ((s/$next_pair_pr_rx//o)&&($num=$2));';
- $tmp .= 'join("", $num,$_);';
- $tmp .='}';
-
- eval($tmp);
-}
-
-sub do_datetime_dayofweek{
- &do_cmd_showdowtrue(@_);
-}
-
-sub do_datetime_nodayofweek{
- &do_cmd_showdowfalse(@_);
-}
-
-sub do_datetime_24hr{
- $tmp = 'sub do_cmd_currenttime{local($_) = @_; join(\'\', "\\\\xxivtime", $_[0]); }';
-
- eval($tmp);
-
- join('', $_[0]);
-}
-
-sub do_datetime_12hr{
- $tmp = 'sub do_cmd_currenttime{local($_) = @_; join(\'\', "\\\\ampmtime", $_[0]); }';
-
- eval($tmp);
-
- join('', $_[0]);
-}
-
-sub do_datetime_oclock{
- $tmp = 'sub do_cmd_currenttime{local($_) = @_; join(\'\', "\\\\oclock", $_[0]); }';
-
- eval($tmp);
-
- join('', $_[0]);
-}
-
-# babel stuff (Month will already be redefined by babel, so only need to change $dateformat)
-
-sub do_datetime_austrian{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_dateaustrian{';
- $tmp .= ' $dateformat = "THEDAY. MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_dateaustrian(@_);
-}
-
-if (defined &austrian_today)
-{
- &do_datetime_austrian(@_);
-}
-
-sub do_datetime_bahasa{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_datebahasa{';
- $tmp .= ' $dateformat = "THEDAY MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datebahasa(@_);
-}
-
-if (defined &bahasa_today)
-{
- &do_datetime_bahasa(@_);
-}
-
-sub do_datetime_basque{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_datebasque{';
- $tmp .= ' $dateformat = "THEYEAR.eko MONTHNAME[THEMONTH] THEDAY";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datebasque(@_);
-}
-
-if (defined &basque_today)
-{
- &do_datetime_basque(@_);
-}
-
-sub do_datetime_breton{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_datebreton{';
- $tmp .= ' $dateformat = "{ORDINALDATE{DAY}}\\ a viz MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- $tmp = 'sub do_cmd_ordinaldate{';
- $tmp .= 'local($_) = @_;';
- $tmp .= 'local($num) = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($num=$2));';
- $tmp .= 'local($before) = $num;';
-
- $tmp .= 'if ($num == 1)';
- $tmp .= '{ $before .= \'a\~n\'; }';
-
- $tmp .= '$before . $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datebreton(@_);
-}
-
-if (defined &breton_today)
-{
- &do_datetime_breton(@_);
-}
-
-sub do_datetime_bulgarian{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_datebulgarian{';
- $tmp .= ' $dateformat = "THEDAY MONTHNAME[THEMONTH] THEYEAR \\cyrg.";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datebulgarian(@_);
-}
-
-if (defined &bulgarian_today)
-{
- &do_datetime_bulgarian(@_);
-}
-
-sub do_datetime_catalan{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_datecatalan{';
- $tmp .= ' $dateformat = "THEDAY MONTHNAME[THEMONTH] de THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datecatalan(@_);
-}
-
-if (defined &catalan_today)
-{
- &do_datetime_catalan(@_);
-}
-
-sub do_datetime_croatian{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_datecroatian{';
- $tmp .= ' $dateformat = "THEDAY. MONTHNAME[THEMONTH] THEYEAR.";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datecroatian(@_);
-}
-
-if (defined &croatian_today)
-{
- &do_datetime_croatian(@_);
-}
-
-sub do_datetime_czech{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_dateczech{';
- $tmp .= ' $dateformat = "THEDAY. MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_dateczech(@_);
-}
-
-if (defined &czech_today)
-{
- &do_datetime_czech(@_);
-}
-
-sub do_datetime_danish{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_datedanish{';
- $tmp .= ' $dateformat = "THEDAY. MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datedanish(@_);
-}
-
-if (defined &danish_today)
-{
- &do_datetime_danish(@_);
-}
-
-sub do_datetime_dutch{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_datedutch{';
- $tmp .= ' $dateformat = "THEDAY MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datedutch(@_);
-}
-
-if (defined &dutch_today)
-{
- &do_datetime_dutch(@_);
-}
-
-sub do_datetime_esperanto{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_dateesperanto{';
- $tmp .= ' $dateformat = "THEDAY--a de MONTHNAME[THEMONTH], THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_dateesperanto(@_);
-}
-
-if (defined &esperanto_today)
-{
- &do_datetime_esperanto(@_);
-}
-
-sub do_datetime_estonian{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_dateestonian{';
- $tmp .= ' $dateformat = "THEDAY. MONTHNAME[THEMONTH] THEYEAR. a.";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_dateestonian(@_);
-}
-
-if (defined &estonian_today)
-{
- &do_datetime_estonian(@_);
-}
-
-sub do_datetime_finnish{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_datefinnish{';
- $tmp .= ' $dateformat = "THEDAY. MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datefinnish(@_);
-}
-
-if (defined &finnish_today)
-{
- &do_datetime_finnish(@_);
-}
-
-sub do_datetime_french{
- local($tmp) = "";
-
- eval($tmp);
- $tmp .= 'sub do_cmd_datefrench{';
- $tmp .= ' $dateformat = "{ORDINALDATE{DAY}}\\ MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- $tmp = 'sub do_cmd_ordinaldate{';
- $tmp .= 'local($_) = @_;';
- $tmp .= 'local($num) = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($num=$2));';
- $tmp .= 'local($before) = $num;';
-
- $tmp .= 'if ($num == 1)';
- $tmp .= '{ $before .= \'\ier\'; }';
-
- $tmp .= '$before . $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datefrench(@_);
-}
-
-if (defined &french_today)
-{
- &do_datetime_french(@_);
-}
-
-sub do_datetime_galician{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_dategalician{';
- $tmp .= ' $dateformat = "THEDAY de MONTHNAME[THEMONTH] de THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_dategalician(@_);
-}
-
-if (defined &galician_today)
-{
- &do_datetime_galician(@_);
-}
-
-sub do_datetime_german{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_dategerman{';
- $tmp .= ' $dateformat = "THEDAY. MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_dategerman(@_);
-}
-
-if (defined &german_today)
-{
- &do_datetime_german(@_);
-}
-
-sub do_datetime_greek{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_dategreek{';
- $tmp .= ' $dateformat = "THEDAY MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_dategreek(@_);
-}
-
-if (defined &greek_today)
-{
- &do_datetime_greek(@_);
-}
-
-sub do_datetime_icelandic{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_dateicelandic{';
- $tmp .= ' $dateformat = "THEDAY. MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_dateicelandic(@_);
-}
-
-if (defined &icelandic_today)
-{
- &do_datetime_icelandic(@_);
-}
-
-sub do_datetime_irish{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_dateirish{';
- $tmp .= ' $dateformat = "THEDAY MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_dateirish(@_);
-}
-
-if (defined &irish_today)
-{
- &do_datetime_irish(@_);
-}
-
-sub do_datetime_italian{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_dateitalian{';
- $tmp .= ' $dateformat = "THEDAY MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_dateitalian(@_);
-}
-
-if (defined &italian_today)
-{
- &do_datetime_italian(@_);
-}
-
-sub do_datetime_latin{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_datelatin{';
- $tmp .= ' $dateformat = "ROMANNUMERALU{THEDAY} MONTHNAME[THEMONTH] ROMANNUMERALU{THEYEAR}";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datelatin(@_);
-}
-
-if (defined &latin_today)
-{
- &do_datetime_latin(@_);
-}
-
-sub do_datetime_lsorbian{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_datelsorbian{';
- $tmp .= ' $dateformat = "THEDAY. MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datelsorbian(@_);
-}
-
-if (defined &lsorbian_today)
-{
- &do_datetime_lsorbian(@_);
-}
-
-sub do_datetime_magyar{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_datemagyar{';
- $tmp .= ' $dateformat = "THEDAY. MONTHNAME[THEMONTH] THEYEAR.";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datemagyar(@_);
-}
-
-if (defined &magyar_today)
-{
- &do_datetime_magyar(@_);
-}
-
-sub do_datetime_naustrian{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_datenaustrian{';
- $tmp .= ' $dateformat = "THEDAY. MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datenaustrian(@_);
-}
-
-if (defined &naustrian_today)
-{
- &do_datetime_naustrian(@_);
-}
-
-sub do_datetime_ngerman{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_datengerman{';
- $tmp .= ' $dateformat = "THEDAY. MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datengerman(@_);
-}
-
-if (defined &ngerman_today)
-{
- &do_datetime_ngerman(@_);
-}
-
-sub do_datetime_norsk{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_datenorsk{';
- $tmp .= ' $dateformat = "THEDAY. MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datenorsk(@_);
-}
-
-if (defined &norsk_today)
-{
- &do_datetime_norsk(@_);
-}
-
-sub do_datetime_polish{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_datenorsk{';
- $tmp .= ' $dateformat = "THEDAY MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datenorsk(@_);
-}
-
-if (defined &polish_today)
-{
- &do_datetime_polish(@_);
-}
-
-sub do_datetime_portuges{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_dateportuges{';
- $tmp .= ' $dateformat = "THEDAY de MONTHNAME[THEMONTH] de THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_dateportuges(@_);
-}
-
-if (defined &portuges_today)
-{
- &do_datetime_portuges(@_);
-}
-
-sub do_datetime_romanian{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_dateromanian{';
- $tmp .= ' $dateformat = "THEDAY MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_dateromanian(@_);
-}
-
-if (defined &romanian_today)
-{
- &do_datetime_romanian(@_);
-}
-
-sub do_datetime_russian{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_daterussian{';
- $tmp .= ' $dateformat = "THEDAY MONTHNAME[THEMONTH] THEYEAR \\\\cyrg.";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_daterussian(@_);
-}
-
-if (defined &russian_today)
-{
- &do_datetime_russian(@_);
-}
-
-sub do_datetime_samin{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_datesamin{';
- $tmp .= ' $dateformat = "MONTHNAME[THEMONTH] THEDAY.~b. THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datesamin(@_);
-}
-
-if (defined &samin_today)
-{
- &do_datetime_samin(@_);
-}
-
-sub do_datetime_scottish{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_datescottish{';
- $tmp .= ' $dateformat = "THEDAY MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datescottish(@_);
-}
-
-if (defined &scottish_today)
-{
- &do_datetime_scottish(@_);
-}
-
-sub do_datetime_serbian{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_dateserbian{';
- $tmp .= ' $dateformat = "THEDAY. MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_dateserbian(@_);
-}
-
-if (defined &serbian_today)
-{
- &do_datetime_serbian(@_);
-}
-
-sub do_datetime_slovak{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_dateslovak{';
- $tmp .= ' $dateformat = "THEDAY. MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_dateslovak(@_);
-}
-
-if (defined &slovak_today)
-{
- &do_datetime_slovak(@_);
-}
-
-sub do_datetime_slovene{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_dateslovene{';
- $tmp .= ' $dateformat = "THEDAY. MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_dateslovene(@_);
-}
-
-if (defined &slovene_today)
-{
- &do_datetime_slovene(@_);
-}
-
-sub do_datetime_spanish{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_datespanish{';
- $tmp .= ' $dateformat = "THEDAY~de MONTHNAME[THEMONTH] de~THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datespanish(@_);
-}
-
-if (defined &spanish_today)
-{
- &do_datetime_spanish(@_);
-}
-
-sub do_datetime_swedish{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_dateswedish{';
- $tmp .= ' $dateformat = "THEDAY~MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- $tmp = "";
- $tmp .= 'sub do_cmd_datesymd{';
- $tmp .= ' $dateformat = "THEYEAR-TWODIGIT{THEMONTH}-TWODIGIT{THEDAY}";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- $tmp = "";
- $tmp .= 'sub do_cmd_datesdmy{';
- $tmp .= ' $dateformat = "THEDAY/THEMONTH THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_dateswedish(@_);
-}
-
-if (defined &swedish_today)
-{
- &do_datetime_swedish(@_);
-}
-
-sub do_datetime_turkish{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_dateturkish{';
- $tmp .= ' $dateformat = "THEDAY~MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_dateturkish(@_);
-}
-
-if (defined &turkish_today)
-{
- &do_datetime_turkish(@_);
-}
-
-sub do_datetime_ukraineb{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_dateukraineb{';
- $tmp .= ' $dateformat = "THEDAY~MONTHNAME[THEMONTH] THEYEAR~\\\\cyrr.";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_dateukraineb(@_);
-}
-
-if (defined &ukraineb_today)
-{
- &do_datetime_ukraineb(@_);
-}
-
-sub do_datetime_usorbian{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_dateusorbian{';
- $tmp .= ' $dateformat = "THEDAY.~MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_dateusorbian(@_);
-}
-
-if (defined &usorbian_today)
-{
- &do_datetime_usorbian(@_);
-}
-
-sub do_datetime_welsh{
- local($tmp) = "";
-
- $tmp .= 'sub do_cmd_datewelsh{';
- $tmp .= ' $dateformat = "{ORDINALDATE{DAY}}\\ a viz MONTHNAME[THEMONTH] THEYEAR";';
- $tmp .= ' $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- $tmp = 'sub do_cmd_ordinaldate{';
- $tmp .= 'local($_) = @_;';
- $tmp .= 'local($num) = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($num=$2));';
- $tmp .= 'local($before) = $num;';
-
- $tmp .= 'if ($num == 1)';
- $tmp .= '{ $before .= \'a\~n\'; }';
-
- $tmp .= '$before . $_[0];';
- $tmp .= '}';
-
- eval($tmp);
-
- &do_cmd_datewelsh(@_);
-}
-
-if (defined &welsh_today)
-{
- &do_datetime_welsh(@_);
-}
-
-# As far as I know, LaTeX2HTML doesn't implement TeX conditionals.
-# $showdow corresponds to LaTeX boolean variable showdow
-$showdow = 1;
-
-sub get_monthname{
- local($month) = @_;
-
- if ($month eq 'THEMONTH' or $month eq '\THEMONTH')
- {
- # this is a cludge to help newdateformat work
-
- 'MONTHNAME[THEMONTH]';
- }
- else
- {
- if ($month eq '')
- {
- local($today) = &get_date();
- $today =~ m|(\d+)/0?(\d+)/|;
- $month = $1;
- }
-
- $Month[$month];
- }
-}
-
-sub do_cmd_monthname{
- local($_) = @_;
- local($month,$pat) = &get_next_optional_argument;
-
- local($monthname) = &get_monthname($month);
- join('',$monthname,$_);
-}
-
-sub get_shortmonthname{
- local($month) = @_;
-
- if ($month eq 'THEMONTH' or $month eq '\THEMONTH')
- {
- 'SHORTMONTHNAME[THEMONTH]';
- }
- else
- {
- substr(&get_monthname($month), 0, 3);
- }
-}
-
-sub do_cmd_shortmonthname{
- local($_) = @_;
- local($month,$pat) = &get_next_optional_argument;
-
- local($monthname) = &get_shortmonthname($month);
-
- join('',$monthname,$_);
-}
-
-sub is_leap_year{
- local($year) = @_;
- local($isleapyear) = 0;
-
- if (($year%400) == 0)
- {
- # year mod 400 = 0 => leap year
-
- $isleapyear = 1;
- }
- elsif (($year%100) == 0)
- {
- # year mod 100 = 0 and year mod 400 != 0 => not a leap year
-
- $isleapyear = 0;
- }
- elsif (($year%4) == 0)
- {
- # year mod 4 = 0 and year mod 100 != 0 => leap year
-
- $isleapyear = 1;
- }
-
- $isleapyear;
-}
-
-sub get_day_of_year{
- local($day,$month,$year) = @_;
- local($dayofyear) = 0;
-
- SWITCH: {
- if ($month == 2) {$dayofyear += 31; last SWITCH; }
- if ($month == 3) {$dayofyear += 59; last SWITCH; }
- if ($month == 4) {$dayofyear += 90; last SWITCH; }
- if ($month == 5) {$dayofyear += 120; last SWITCH; }
- if ($month == 6) {$dayofyear += 151; last SWITCH; }
- if ($month == 7) {$dayofyear += 181; last SWITCH; }
- if ($month == 8) {$dayofyear += 212; last SWITCH; }
- if ($month == 9) {$dayofyear += 243; last SWITCH; }
- if ($month == 10) {$dayofyear += 273; last SWITCH; }
- if ($month == 11) {$dayofyear += 304; last SWITCH; }
- if ($month == 12) {$dayofyear += 334; last SWITCH; }
- }
-
- if ($month > 2 && &is_leap_year($year))
- {
- $dayofyear += 1;
- }
-
- $dayofyear += $day;
- local($_)=$dayofyear;
-}
-
-sub get_day_of_week{
- local($day,$month,$year) = @_;
- local($dayofyear) = &get_day_of_year($day,$month,$year);
- local($_) = (((($year-1901)%28)*1.25 + 2)%7 + $dayofyear - 1)%7 + 1;
-}
-
-sub get_day_of_weekname_english{
- local($dow) = @_;
-
- local(@DayOfWeek) = ('Sunday',
- 'Monday',
- 'Tuesday',
- 'Wednesday',
- 'Thursday',
- 'Friday',
- 'Saturday');
-
- if ($dow <= 0 || $dow > 7)
- {
- &write_warnings("Invalid day of week number: $dow");
- }
- else
- {
- $DayOfWeek[$dow-1];
- }
-}
-
-sub get_day_of_weekname_french{
- local($dow) = @_;
-
- local(@DayOfWeek) = ('dimanche',
- 'lundi',
- 'mardi',
- 'mercredi',
- 'jeudi',
- 'vendredi',
- 'samedi');
-
- if ($dow <= 0 || $dow > 7)
- {
- &write_warnings("Invalid day of week number: $dow");
- }
- else
- {
- $DayOfWeek[$dow-1];
- }
-}
-
-sub get_day_of_weekname_spanish{
- local($dow) = @_;
-
- local(@DayOfWeek) = ('domingo',
- 'lunes',
- 'martes',
- 'mi\\\'ercoles',
- 'jueves',
- 'viernes',
- 's\\\'abado');
-
- if ($dow <= 0 || $dow > 7)
- {
- &write_warnings("Invalid day of week number: $dow");
- }
- else
- {
- $DayOfWeek[$dow-1];
- }
-}
-
-sub get_day_of_weekname_portuges{
- local($dow) = @_;
-
- local(@DayOfWeek) = ('domingo',
- 'segunda-feira',
- 'ter\c{c}a-feira',
- 'quarta-feira',
- 'quinta-feira',
- 'sexta-feira',
- 'sabado');
-
- if ($dow <= 0 || $dow > 7)
- {
- &write_warnings("Invalid day of week number: $dow");
- }
- else
- {
- $DayOfWeek[$dow-1];
- }
-}
-
-sub get_day_of_weekname_german{
- local($dow) = @_;
-
- local(@DayOfWeek) = ('Sonntag',
- 'Montag',
- 'Dienstag',
- 'Mittwoch',
- 'Donnerstag',
- 'Freitag',
- 'Samstag');
-
- if ($dow <= 0 || $dow > 7)
- {
- &write_warnings("Invalid day of week number: $dow");
- }
- else
- {
- $DayOfWeek[$dow-1];
- }
-}
-
-sub get_day_of_weekname_ngerman{
- local($dow) = @_;
-
- local(@DayOfWeek) = ('Sonntag',
- 'Montag',
- 'Dienstag',
- 'Mittwoch',
- 'Donnerstag',
- 'Freitag',
- 'Samstag');
-
- if ($dow <= 0 || $dow > 7)
- {
- &write_warnings("Invalid day of week number: $dow");
- }
- else
- {
- $DayOfWeek[$dow-1];
- }
-}
-
-sub get_day_of_weekname{
- local($dow)=@_;
- local($dowsub);
-
- $dowsub = "get_day_of_weekname_$default_language";
-
- if (defined ($dowsub))
- {
- &$dowsub($dow);
- }
- else
- {
- &get_day_of_weekname_english($dow);
- }
-}
-
-sub get_short_day_of_weekname_english{
- local($dow) = @_;
-
- local(@DayOfWeek) = ('Sun',
- 'Mon',
- 'Tue',
- 'Wed',
- 'Thu',
- 'Fri',
- 'Sat');
-
- if ($dow <= 0 || $dow > 7)
- {
- &write_warnings("Invalid day of week number: $dow");
- }
- else
- {
- $DayOfWeek[$dow-1];
- }
-}
-
-sub get_short_day_of_weekname_german{
- local($dow) = @_;
-
- local(@DayOfWeek) = ('So',
- 'Mo',
- 'Di',
- 'Mi',
- 'Do',
- 'Fr',
- 'Sa');
-
- if ($dow <= 0 || $dow > 7)
- {
- &write_warnings("Invalid day of week number: $dow");
- }
- else
- {
- $DayOfWeek[$dow-1];
- }
-}
-
-sub get_short_day_of_weekname_ngerman{
- local($dow) = @_;
-
- local(@DayOfWeek) = ('So',
- 'Mo',
- 'Di',
- 'Mi',
- 'Do',
- 'Fr',
- 'Sa');
-
- if ($dow <= 0 || $dow > 7)
- {
- &write_warnings("Invalid day of week number: $dow");
- }
- else
- {
- $DayOfWeek[$dow-1];
- }
-}
-
-sub get_short_day_of_weekname{
- local($dow)=@_;
- local($dowsub);
-
- $dowsub = "get_short_day_of_weekname_$default_language";
-
- if (defined ($dowsub))
- {
- &$dowsub($dow);
- }
- else
- {
- substr(&get_day_of_weekname($dow),0,3);
- }
-}
-
-sub do_cmd_dayofweeknameid{
- local($_) = @_;
- local($dow);
-
- $dow = &missing_braces unless ((s/$next_pair_pr_rx//o)&&($dow=$2));
-
- join('',&get_day_of_weekname($dow), $_);
-}
-
-sub do_cmd_dayofweekname{
- local($_) = @_;
- local($day,$month,$year);
- # read 1st argument
- $day = &missing_braces unless ((s/$next_pair_pr_rx//o)&&($day=$2));
- # read 2nd argument
- $month = &missing_braces unless ((s/$next_pair_pr_rx//o)&&($month=$2));
- # read 3rd argument
- $year = &missing_braces unless ((s/$next_pair_pr_rx//o)&&($year=$2));
-
- if ($day eq 'THEDAY' or $day eq '\THEDAY')
- {
- # this is a cludge to help newdateformat work
-
- join('', '{DOW}', $_);
- }
- else
- {
- local($dow) = &get_day_of_week($day,$month,$year);
-
- join('',&get_day_of_weekname($dow), $_);
- }
-}
-
-sub do_cmd_shortdayofweekname{
- local($_) = @_;
- local($day,$month,$year);
- # read 1st argument
- $day = &missing_braces unless ((s/$next_pair_pr_rx//o)&&($day=$2));
- # read 2nd argument
- $month = &missing_braces unless ((s/$next_pair_pr_rx//o)&&($month=$2));
- # read 3rd argument
- $year = &missing_braces unless ((s/$next_pair_pr_rx//o)&&($year=$2));
-
- local($dow) = &get_day_of_week($day,$month,$year);
-
- join('',&get_short_day_of_weekname($dow), $_);
-}
-
-sub do_cmd_thisdayofweekname{
- local($dow) = &get_day_of_week($global{DAY}, $global{MONTH}, $global{YEAR});
-
- join('',$DayOfWeek[$dow], $_);
-}
-
-sub do_cmd_thisshortdayofweekname{
- local($dow) = &get_day_of_week($global{DAY}, $global{MONTH}, $global{YEAR});
-
- join('',&get_short_day_of_weekname($dow), $_);
-}
-
-$dateformat = "\\ifshowdow{DOW}\\fi {ORDINALDATE{DAY}}\\ MONTHNAME[THEMONTH], THEYEAR";
-
-sub format_date{
- local($day,$month,$year) = @_;
-
- local($str) = $dateformat;
-
- $str =~ s/THEDAY/$day/g;
- $str =~ s/THEMONTH/$month/g;
- $str =~ s/THEYEAR/$year/g;
-
- $str =~ s/TWODIGIT{([\d]+)}/&get_twodigit($1)/eg;
- $str =~ s/ROMANNUMERAL{([\d]+)}/&froman($1)/eg;
- $str =~ s/ROMANNUMERALU{([\d]+)}/uc(&froman($1))/eg;
- $str =~ s/TRUNCATE{([\d]+)}/&get_twodigit($1%100)/eg;
- $str =~ s/SHORTMONTHNAME\[([\d]+)\]/&get_shortmonthname($1)/eg;
- $str =~ s/MONTHNAME\[([\d]+)\]/&get_monthname($1)/eg;
-
- local($X) = ++$global{'max_id'};
- local($Y) = ++$global{'max_id'};
- local($Z) = ++$global{'max_id'};
- $str =~ s/{DOW}/\\dayofweekname${OP}$X${CP}$day${OP}$X${CP}${OP}$Y${CP}$month${OP}$Y${CP}${OP}$Z${CP}$year${OP}$Z${CP}/g;
- $str =~ s/{SDOW}/\\shortdayofweekname${OP}$X${CP}$day${OP}$X${CP}${OP}$Y${CP}$month${OP}$Y${CP}${OP}$Z${CP}$year${OP}$Z${CP}/g;
-
- local($br_id) = ++$global{'max_id'};
- $suffix = &get_ordinal_suffix($day);
- $str =~ s/{ORDINAL{DAY}}/$day\\fmtord${OP}$br_id${CP}$suffix${OP}$br_id${CP}/g;
-
- $br_id = ++$global{'max_id'};
- $suffix = &get_ordinal_suffix($month);
- $str =~ s/{ORDINAL{MONTH}}/$month\\fmtord${OP}$br_id${CP}$suffix${OP}$br_id${CP}/g;
-
- $br_id = ++$global{'max_id'};
- $suffix = &get_ordinal_suffix($year);
- $str =~ s/{ORDINAL{YEAR}}/$year\\fmtord${OP}$br_id${CP}$suffix${OP}$br_id${CP}/g;
-
- local($br_id) = ++$global{'max_id'};
- $str =~ s/{ORDINALDATE{DAY}}/\\ordinaldate${OP}$br_id${CP}$day${OP}$br_id${CP}/g;
-
- $str =~ s/{NNUMBERSTRING{DAY}}/&get_Numberstring($day)/eg;
- $str =~ s/{NNUMBERSTRING{MONTH}}/&get_Numberstring($month)/eg;
- $str =~ s/{NNUMBERSTRING{YEAR}}/&get_Numberstring($year)/eg;
-
- $str =~ s/{OORDINALSTRING{DAY}}/&get_Ordinalstring($day)/eg;
- $str =~ s/{OORDINALSTRING{MONTH}}/&get_Ordinalstring($month)/eg;
- $str =~ s/{OORDINALSTRING{YEAR}}/&get_Ordinalstring($year)/eg;
-
- $str =~ s/{CAPNUMBERSTRING{DAY}}/uc(&get_numberstring($day))/eg;
- $str =~ s/{CAPNUMBERSTRING{MONTH}}/uc(&get_numberstring($month))/eg;
- $str =~ s/{CAPNUMBERSTRING{YEAR}}/uc(&get_numberstring($year))/eg;
-
- $str =~ s/{CAPORDINALSTRING{DAY}}/uc(&get_ordinalstring($day))/eg;
- $str =~ s/{CAPORDINALSTRING{MONTH}}/uc(&get_ordinalstring($month))/eg;
- $str =~ s/{CAPORDINALSTRING{YEAR}}/uc(&get_ordinalstring($year))/eg;
-
- $str =~ s/{NUMBERSTRING{DAY}}/&get_numberstring($day)/eg;
- $str =~ s/{NUMBERSTRING{MONTH}}/&get_numberstring($month)/eg;
- $str =~ s/{NUMBERSTRING{YEAR}}/&get_numberstring($year)/eg;
-
- $str =~ s/{ORDINALSTRING{DAY}}/&get_ordinalstring($day)/eg;
- $str =~ s/{ORDINALSTRING{MONTH}}/&get_ordinalstring($month)/eg;
- $str =~ s/{ORDINALSTRING{YEAR}}/&get_ordinalstring($year)/eg;
-
- $str;
-}
-
-sub do_cmd_formatdate{
- local($day,$month,$year);
- # read 1st argument
- $day = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($day=$2));
- # read 2nd argument
- $month = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($month=$2));
- # read 3rd argument
- $year = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($year=$2));
-
- join('', &format_date($day,$month,$year), $_[0]);
-}
-
-sub do_cmd_today{
- join('', &format_date($global{DAY},$global{MONTH},$global{YEAR}), $_[0]);
-}
-
-sub do_cmd_day{
- join('', $global{DAY}, $_[0]);
-}
-
-sub do_cmd_month{
- join('', $global{MONTH}, $_[0]);
-}
-
-sub do_cmd_year{
- join('', $global{YEAR}, $_[0]);
-}
-
-sub do_cmd_showdowtrue{
- local($_) = @_;
- $showdow = 1;
- $_[0];
-}
-
-sub do_cmd_showdowfalse{
- local($_) = @_;
- $showdow = 0;
- $_[0];
-}
-
-# This is a bit primative, it doesn't allow for
-# nested conditionals
-
-sub do_cmd_ifshowdow{
- local($_) = @_;
- local($ifbit,$elsebit);
-
- $_[0] =~s/(.*)\\fi//;
-
- $ifbit = $1;
-
- $ifbit =~s/(.*)\\else(.*)/\1/g;
-
- $elsebit = $2;
-
- if ($showdow)
- {
- join('', $ifbit, $_[0]);
- }
- else
- {
- join('', $elsebit, $_[0]);
- }
-}
-
-sub do_cmd_dateseparator{
- join('', '/', $_[0]);
-}
-
-sub do_cmd_longdate{
- $dateformat = "\\ifshowdow{DOW}\\fi {ORDINALDATE{DAY}}\\ MONTHNAME[THEMONTH], THEYEAR";
-
- $_[0];
-}
-
-sub do_cmd_shortdate{
- $dateformat = "\\ifshowdow{SDOW}\\fi {ORDINALDATE{DAY}}\\ SHORTMONTHNAME[THEMONTH], THEYEAR";
-
- $_[0];
-}
-
-sub do_cmd_ddmmyyyydate{
- $dateformat = "TWODIGIT{THEDAY}\\dateseparator TWODIGIT{THEMONTH}\\dateseparator THEYEAR";
-
- $_[0];
-}
-
-sub do_cmd_dmyyyydate{
- $dateformat = "THEDAY\\dateseparator THEMONTH\\dateseparator THEYEAR";
-
- $_[0];
-}
-
-sub do_cmd_dmyydate{
- $dateformat = "THEDAY\\dateseparator THEMONTH\\dateseparator TRUNCATE{THEYEAR}";
-
- $_[0];
-}
-
-sub do_cmd_ddmmyydate{
- $dateformat = "TWODIGIT{THEDAY}\\dateseparator TWODIGIT{THEMONTH}\\dateseparator TRUNCATE{THEYEAR}";
-
- $_[0];
-}
-
-sub do_cmd_textdate{
- $dateformat = "\\ifshowdow{DOW} the\\fi {OORDINALSTRING{DAY}} of MONTHNAME[THEMONTH], {NNUMBERSTRING{YEAR}}";
-
- $_[0];
-}
-
-sub do_cmd_usdate{
- $dateformat = "MONTHNAME[THEMONTH] THEDAY, THEYEAR";
-
- $_[0];
-}
-
-sub do_cmd_mmddyyyydate{
- $dateformat = "TWODIGIT{THEMONTH}\\dateseparator TWODIGIT{THEDAY}\\dateseparator THEYEAR";
-
- $_[0];
-}
-
-sub do_cmd_mdyyyydate{
- $dateformat = "THEMONTH\\dateseparator THEDAY\\dateseparator THEYEAR";
-
- $_[0];
-}
-
-sub do_cmd_mmddyydate{
- $dateformat = "TWODIGIT{THEMONTH}\\dateseparator TWODIGIT{THEDAY}\\dateseparator TRUNCATE{THEYEAR}";
-
- $_[0];
-}
-
-sub do_cmd_mdyydate{
- $dateformat = "THEMONTH\\dateseparator THEDAY\\dateseparator TRUNCATE{THEYEAR}";
-
- $_[0];
-}
-
-sub do_cmd_THEYEAR{
- join('', 'THEYEAR', $_[0]);
-}
-
-sub do_cmd_THEMONTH{
- join('', 'THEMONTH', $_[0]);
-}
-
-sub do_cmd_THEDAY{
- join('', 'THEDAY', $_[0]);
-}
-
-sub do_cmd_newdateformat{
- local($_) = @_;
- local($cmd,$cmdbody);
- local($ntmp);
-
- $cmd = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($cmd=$2));
- $cmdbody = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($cmdbody=$2));
-
- $ntmp = 'sub do_cmd_' . $cmd . '{';
- $ntmp .= '$dateformat = "' . $cmdbody . '";';
-
- $ntmp .= '$_[0];';
- $ntmp .= '}';
-
- eval($ntmp);
-
- join('', $_[0]);
-}
-
-sub do_cmd_pdfdate{
- local($_) = @_;
-
- local($timestring) = sprintf "%d%02d%02d%02d%02d%02d",
- $global{YEAR}, $global{MONTH}, $global{DAY}, $global{HOUR}, $global{MINUTE}, $global{SECONDS};
-
- join('', $timestring, $_[0]);
-}
-
- %userdates = ();
-
-sub do_cmd_newdate{
- local($_)=@_;
- local($datename,$mon,$day,$year);
-
- $datename = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($datename=$2));
-
- $day = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($day=$2));
-
- $mon = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($mon =$2));
-
- $year = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($year =$2));
-
-
- $userdates{$datename}{day} = $day;
- $userdates{$datename}{month} = $mon;
- $userdates{$datename}{year} = $year;
-
- join('', $_[0]);
-}
-
-sub do_cmd_displaydate{
- local($_)=@_;
- local($datename);
- local($cmd,$br_id);
-
- $datename = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($datename=$2));
-
- $br_id = ++$global{'max_id'};
- $cmd = "$OP$br_id$CP" . $userdates{$datename}{day} ."$OP$br_id$CP";
- $br_id = ++$global{'max_id'};
- $cmd .= "$OP$br_id$CP" . $userdates{$datename}{month} ."$OP$br_id$CP";
- $br_id = ++$global{'max_id'};
- $cmd .= "$OP$br_id$CP" . $userdates{$datename}{year} ."$OP$br_id$CP";
-
- join('', '\formatdate', $cmd, $_[0]);
-}
-
-sub do_cmd_getdateyear{
- local($_)=@_;
- local($datename);
-
- $datename = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($datename=$2));
-
- join('', $userdates{$datename}{year}, $_[0]);
-}
-
-sub do_cmd_getdatemonth{
- local($_)=@_;
- local($datename);
-
- $datename = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($datename=$2));
-
- join('', $userdates{$datename}{month}, $_[0]);
-}
-
-sub do_cmd_getdateday{
- local($_)=@_;
- local($datename);
-
- $datename = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($datename=$2));
-
- join('', $userdates{$datename}{day}, $_[0]);
-}
-
-# time commands
-
-sub do_cmd_timeseparator{
- join('', ':', $_[0]);
-}
-
-sub do_cmd_xxivtime{
- local($_) = @_;
-
- local($timestring) = sprintf "%02d\\timeseparator %02d", $global{HOUR}, $global{MINUTE};
-
- join('', $timestring, $_[0]);
-}
-
-sub do_cmd_noon{
- local($_) = @_;
-
- join('', "Noon", $_[0]);
-}
-
-sub do_cmd_midnight{
- local($_) = @_;
-
- join('', "Midnight", $_[0]);
-}
-
-sub do_cmd_amname{
- local($_) = @_;
-
- join('', "am", $_[0]);
-}
-
-sub do_cmd_pmname{
- local($_) = @_;
-
- join('', "pm", $_[0]);
-}
-
-sub do_cmd_amstring{
- local($_) = @_;
-
- join('', "in the morning", $_[0]);
-}
-
-sub do_cmd_pmstring{
- local($_) = @_;
-
- join('', "in the afternoon", $_[0]);
-}
-
-sub do_cmd_halfpast{
- local($_) = @_;
-
- join('', "Half past", $_[0]);
-}
-
-sub do_cmd_quarterpast{
- local($_) = @_;
-
- join('', "Quarter past", $_[0]);
-}
-
-sub do_cmd_quarterto{
- local($_) = @_;
-
- join('', "Quarter to", $_[0]);
-}
-
-sub do_cmd_oclockstring{
- local($_) = @_;
-
- join('', "O'Clock", $_[0]);
-}
-
-sub do_cmd_amorpmname{
- if ($global{HOUR}>12)
- {
- &do_cmd_pmname;
- }
- else
- {
- &do_cmd_amname;
- }
-}
-
-sub do_cmd_amorpmstring{
- if ($global{HOUR}>12)
- {
- &do_cmd_pmstring;
- }
- else
- {
- &do_cmd_amstring;
- }
-}
-
-sub do_cmd_ampmtime{
- local($_) = @_;
- local($timestring);
-
- $timestring = sprintf "%d\\timeseparator %02d\\amorpmname", $global{HOUR}, $global{MINUTE};
-
- join('', $timestring, $_[0]);
-}
-
-sub do_cmd_oclock{
- local($_) = @_;
- local($timestring);
-
- if ($global{HOUR} == 0 && $global{MINUTE} == 0)
- {
- $timestring = "\\midnight";
- }
- elsif ($global{HOUR} == 12 && $global{MINUTE} == 0)
- {
- $timestring = "\\noon";
- }
- else
- {
- if ($global{MINUTE} == 0)
- {
- $timestring = &get_Numberstring($global{HOURXII}) . " \\oclockstring";
- }
- elsif ($global{MINUTE} == 15)
- {
- $timestring = "\\quarterpast\\ " . &get_Numberstring($global{HOURXII});
- }
- elsif ($global{MINUTE} == 30)
- {
- $timestring = "\\halfpast\\ " . &get_Numberstring($global{HOURXII});
- }
- elsif ($global{MINUTE} == 45)
- {
- $timestring = "\\quarterto\\ " . &get_Numberstring($global{TOHOUR});
- }
- elsif ($global{MINUTE} < 30)
- {
- $timestring = get_Numberstring($global{MINUTE});
-
- $timestring .= ($global{MINUTE} == 1 ? " minute" : " minutes") . " past ";
-
- $timestring .= get_Numberstring($global{HOURXII});
- }
- else
- {
- $timestring = get_Numberstring($global{TOMINUTE});
-
- $timestring .= ($global{MINUTE} == 1 ? " minute" : " minutes") . " to ";
-
- $timestring .= get_Numberstring($global{TOHOUR});
- }
-
- $timestring .= ($global{HOUR} < 12 ? " \\amstring" : " \\pmstring");
- }
-
- join('', $timestring, $_[0]);
-}
-
-sub do_cmd_currenttime{
- local($_) = @_;
-
- join('', "\\xxivtime", $_[0]);
-}
-
-sub do_cmd_settimeformat{
- local($_) = @_;
- local($cmd);
-
- $cmd = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($cmd=$2));
-
- #$tmp = 'sub do_cmd_currenttime{local($_) = @_; join(\'\', "\\\\' . $cmd . '", $_[0]); }';
-
- $tmp = 'sub do_cmd_currenttime{&do_cmd_' . $cmd . '(@_);}';
-
- eval($tmp);
-
- join('', $_[0]);
-}
-
-sub do_cmd_newtimeformat{
- local($_) = @_;
- local($cmd,$cmdbody);
-
- $cmd = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($cmd=$2));
- $cmdbody = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($cmdbody=$2));
-
- $tmp = 'sub do_cmd_' . $cmd . '{' . "\n";
-
- $tmp .= 'local($_) = @_;'. "\n";
-
- $tmp .= 'join(\'\',"' . $cmdbody. '", $_[0]); }';
-
- eval($tmp);
-
- join('', $_[0]);
-}
-
-sub do_cmd_THEHOUR{
- local($_) = @_;
-
- join('', $global{HOUR}, $_[0]);
-}
-
-sub do_cmd_THEMINUTE{
- local($_) = @_;
-
- join('', $global{MINUTE}, $_[0]);
-}
-
-sub do_cmd_THETOHOUR{
- local($_) = @_;
-
- join('', $global{TOHOUR}, $_[0]);
-}
-
-sub do_cmd_THETOMINUTE{
- local($_) = @_;
-
- join('', $global{TOMINUTE}, $_[0]);
-}
-
-sub do_cmd_THEHOURXII{
- local($_) = @_;
-
- join('', $global{HOURXII}, $_[0]);
-}
-
-1;
diff --git a/Master/texmf-dist/doc/latex/datetime/dt-lang.tex b/Master/texmf-dist/doc/latex/datetime/dt-lang.tex
index b495ed47cb8..39666f3d9b7 100644
--- a/Master/texmf-dist/doc/latex/datetime/dt-lang.tex
+++ b/Master/texmf-dist/doc/latex/datetime/dt-lang.tex
@@ -1,7 +1,9 @@
\documentclass{article}
+\usepackage[T1]{fontenc}
\usepackage[french,spanish,english]{babel}
-\usepackage{datetime}
+\usepackage{datetime} % Date will be language-dependent
+%\usepackage[iso]{datetime} % Date will be displayed the same for all languages
\begin{document}
English: \today
diff --git a/Master/texmf-dist/doc/latex/datetime/dt-sampl.tex b/Master/texmf-dist/doc/latex/datetime/dt-sampl.tex
index ed39ed2f7ce..d39e0e0f31f 100644
--- a/Master/texmf-dist/doc/latex/datetime/dt-sampl.tex
+++ b/Master/texmf-dist/doc/latex/datetime/dt-sampl.tex
@@ -3,10 +3,11 @@
\usepackage{ifpdf}
\usepackage{datetime}
+
\ifpdf
\pdfinfo{
- /CreationDate (D:20040501215500)
- /ModDate (D:\pdfdate)
+ /CreationDate (D:20040501215500Z)
+ /ModDate (D:\pdfcreationdate)
}
\fi
@@ -32,6 +33,7 @@ Default: \today.
\bfseries Declaration & \bfseries\verb|\today|\\
\verb|\longdate| & \longdate\today\\
\verb|\shortdate| & \shortdate\today\\
+\verb|\yyyymmdddate| & \yyyymmdddate\today\\
\verb|\ddmmyyyydate| & \ddmmyyyydate\today\\
\verb|\dmyyyydate| & \dmyyyydate\today\\
\verb|\ddmmyydate| & \ddmmyydate\today\\
@@ -49,6 +51,7 @@ Default: \currenttime.
\begin{tabular}{@{\ttfamily}ll}
\bfseries\rmfamily Format & \bfseries \verb|\currenttime|\\
+hhmmsstime & \settimeformat{hhmmsstime}\currenttime\\
xxivtime & \settimeformat{xxivtime}\currenttime\\
ampmtime & \settimeformat{ampmtime}\currenttime\\
oclock & \settimeformat{oclock}\currenttime
@@ -57,8 +60,10 @@ oclock & \settimeformat{oclock}\currenttime
\section{Specific Date:}
\begin{tabular}{ll}
+\bfseries Format & \bfseries \verb|\formatdate{1}{3}{2009}|\\
\verb|\longdate| & \longdate\formatdate{1}{3}{2000}\\
\verb|\shortdate| & \shortdate\formatdate{1}{3}{2000}\\
+\verb|\yyyymmdddate| & \yyyymmdddate\formatdate{1}{3}{2000}\\
\verb|\ddmmyyyydate| & \ddmmyyyydate\formatdate{1}{3}{2000}\\
\verb|\dmyyyydate| & \dmyyyydate\formatdate{1}{3}{2000}\\
\verb|\ddmmyydate| & \ddmmyydate\formatdate{1}{3}{2000}\\
@@ -71,6 +76,34 @@ oclock & \settimeformat{oclock}\currenttime
\verb|\mdyydate| & \mdyydate\formatdate{1}{3}{2000}
\end{tabular}
+\section{Specific Time}
+
+\begin{tabular}{@{\ttfamily}ll}
+\bfseries\rmfamily Format & \bfseries \verb|\formattime{15}{45}{00}|\\
+hhmmsstime & \settimeformat{hhmmsstime}\formattime{15}{45}{00}\\
+xxivtime & \settimeformat{xxivtime}\formattime{15}{45}{00}\\
+ampmtime & \settimeformat{ampmtime}\formattime{15}{45}{00}\\
+oclock & \settimeformat{oclock}\formattime{15}{45}{00}
+\end{tabular}
+
+\vskip\baselineskip\noindent
+\begin{tabular}{@{\ttfamily}ll}
+\bfseries\rmfamily Format & \bfseries \verb|\formattime{0}{0}{0}|\\
+hhmmsstime & \settimeformat{hhmmsstime}\formattime{0}{0}{0}\\
+xxivtime & \settimeformat{xxivtime}\formattime{0}{0}{0}\\
+ampmtime & \settimeformat{ampmtime}\formattime{0}{0}{0}\\
+oclock & \settimeformat{oclock}\formattime{0}{0}{0}
+\end{tabular}
+
+\vskip\baselineskip\noindent
+\begin{tabular}{@{\ttfamily}ll}
+\bfseries\rmfamily Format & \bfseries \verb|\formattime{12}{0}{0}|\\
+hhmmsstime & \settimeformat{hhmmsstime}\formattime{12}{0}{0}\\
+xxivtime & \settimeformat{xxivtime}\formattime{12}{0}{0}\\
+ampmtime & \settimeformat{ampmtime}\formattime{12}{0}{0}\\
+oclock & \settimeformat{oclock}\formattime{12}{0}{0}
+\end{tabular}
+
\section{Defining New Dates}
\begin{tabular}{ll}