diff options
author | Karl Berry <karl@freefriends.org> | 2015-03-27 23:57:06 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-03-27 23:57:06 +0000 |
commit | 2ba4346999fcbdfb469a19949498dae05c6444d3 (patch) | |
tree | 72453a2c5c4b50fdc0d1ce224a6feae317ccd6ad /Master/texmf-dist/doc | |
parent | 195602d91056fb7b51f85f412dc049eb570cc68b (diff) |
restore datetime (27mar15)
git-svn-id: svn://tug.org/texlive/trunk@36650 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r-- | Master/texmf-dist/doc/latex/datetime/CHANGES | 117 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/datetime/README | 55 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/datetime/datetime-manual.css | 152 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/datetime/datetime-manual.html | 2173 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/datetime/datetime-manual.tex | 666 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/datetime/datetime.pdf | bin | 0 -> 307669 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/datetime/datetime.perl | 2010 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/datetime/dt-lang.tex | 64 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/datetime/dt-sampl.tex | 172 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/datetime/samples/dt-lang.pdf | bin | 0 -> 30762 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/datetime/samples/dt-lang.tex | 64 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/datetime/samples/dt-sampl.pdf | bin | 0 -> 64239 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/datetime/samples/dt-sampl.tex | 172 |
13 files changed, 5645 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/datetime/CHANGES b/Master/texmf-dist/doc/latex/datetime/CHANGES new file mode 100644 index 00000000000..4d6f411bb64 --- /dev/null +++ b/Master/texmf-dist/doc/latex/datetime/CHANGES @@ -0,0 +1,117 @@ +datetime.sty history + +Version 2.60: + + * datetime.sty: + + - Fixed bug in \amorpmname + + * dt-welsh.def: + + - Removed "a viz" + + * dt-croatian.def: + + - Changed "studenog" to studenoga" to keep in line with babel + + Added some more week day name translations provided by various +people + +Version 2.59: + + * Made \ordinaldate robust. + + * Renamed \ifleapyear to \ifDTleapyear to help avoid name clash + with other packages. (If \ifleapyear hasn't been defined, + it's defined to \ifDTLleapyear for backward compatibility.) + + * New: \DTifDefLoaded, \DTloadDefIfNotLoadedButExists + + * Added Croatian days of the week (supplied by Ivan Kokan). + +Version 2.58: + + * Added Polish days of the week (supplied by Piotr Kempa). + + * Fixed bug that caused some of the def files to be truncated when + unpacked from the dtx file. + + * Added \loadDTdef to ensure dt-*.def files are only loaded once. + +Version 2.57: + + * Added Romanian days of the week (supplied by Daniel Dumitriu). + +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 + * fixed copyright text + +Version 2.54: added check for british babel setting. + +Version 2.53: added checks for UKenglish and USenglish. + +Version 2.52: fixed bug in \textdate arising from change in +fmtcount internals. + +Version 2.51: fixed time between midnight and 1am + +Version 2.5: Added (n)german week day names (thanks to Uwe Bieling) +for supplying this. Fixed minor bugs. + +Version 2.49: Fixed some of the multilingual problems, tidied up +code documentation + +Version 2.48: Fixed bug in \pdfdate + +Version 2.47: Defined \ier if it doesn't already exist. + +Version 2.46: Made \today robust. + +Version 2.45: Added command to store dates. + +Version 2.44: Fixed spelling mistakes (oops!) and minor +bugs in LaTeX2HTML style files + +New to version 2.43: Package now compatible with +LaTeX2HTML + +New to version 2.42: Package now compatible with babel. + +New to version 2.41: Package has been split into two +files: datetime.sty and fmtcount.sty. The latter file +contains the definitions for all the macros that display +the value of a counter (e.g. \ordinal, \octal). +Extra macro \decimal added (like \arabic, but can pad it +with leading zeroes.) + +New to version 2.4: New commands: \binary, \octal, +\hexadecimal, \aaalph, \abalph, \Hexadecimal, \AAAlph +and \ABAlph. Added provision for configuration +file datetime.cfg. + +New to version 2.31: The command \pdfdate has been added +(minor bug fixed in version 2.32) + +New to version 2.3: The command \newtimeformat can be +used to define new time formats. Added the command +\currenttime + +New to version 2.2: The command \newdateformat can be +used to define new date formats in addition to the ones +provided by this package. + +see accompanying README file for license and installation +information. + +http://www.dickimaw-books.com/ diff --git a/Master/texmf-dist/doc/latex/datetime/README b/Master/texmf-dist/doc/latex/datetime/README new file mode 100644 index 00000000000..d9fd96a4bbf --- /dev/null +++ b/Master/texmf-dist/doc/latex/datetime/README @@ -0,0 +1,55 @@ +LaTeX Package : datetime v2.60 + +Last Modified : 2015-03-20 + +Author : Nicola Talbot + +Package FAQ : http://www.dickimaw-books.com/faqs/datetimefaq.html + +Files : datetime.dtx - documented source file + datetime.ins - installation script + datetime.perl - LaTeX2HTML style file + dt-sampl.tex - sample files + dt-lang.tex / + + +The package datetime.sty provides various different +formats for \today, and provides commands for displaying +the time. + +See the documentation for further details. + +To extract the code do: + +latex datetime.ins + +This will create datetime.sty datetime-defaults.sty and lots of dt-*.def files, +(NB it may take a while to extract if you have a slow computer!) + +Move the .sty and .def files to somewhere LaTeX will find it +(e.g. texmf/tex/latex/datetime/) and remember to update the TeX +database. + +Copy the datetime.perl file to somewhere where LaTeX2HTML will find it +(e.g. latex2html/styles/). + +To extract the documentation do: + +latex datetime.dtx +makeindex -s gglo.ist -t datetime.glg -o datetime.gls datetime.glo +latex datetime.dtx +latex datetime.dtx + +(If you want the documented source code, remove the command +\OnlyDescription from datetime.dtx before doing the above.) + +Place the resulting file (datetime.dvi) into the documentation +directory (e.g. texmf/doc/latex/datetime/). + +Read the file CHANGES for version changes. + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for +the details of that license. + +http://www.dickimaw-books.com/ diff --git a/Master/texmf-dist/doc/latex/datetime/datetime-manual.css b/Master/texmf-dist/doc/latex/datetime/datetime-manual.css new file mode 100644 index 00000000000..6968b9226cb --- /dev/null +++ b/Master/texmf-dist/doc/latex/datetime/datetime-manual.css @@ -0,0 +1,152 @@ + +/* start css.sty */ +.cmmi-10{font-style: italic;} +.cmr-17{font-size:170%;} +.cmr-12{font-size:120%;} +.cmr-8{font-size:80%;} +.cmsy-8{font-size:80%;} +.cmtt-12{font-size:120%;font-family: monospace;} +.cmtt-12{font-family: monospace;} +.cmtt-12{font-family: monospace;} +.cmtt-12{font-family: monospace;} +.cmtt-12{font-family: monospace;} +.cmss-10{ font-family: sans-serif;} +.cmss-10{ font-family: sans-serif;} +.cmss-10{ font-family: sans-serif;} +.cmtt-10{font-family: monospace;} +.cmtt-10{font-family: monospace;} +.cmtt-10{font-family: monospace;} +.cmtt-10{font-family: monospace;} +.cmtt-10{font-family: monospace;} +.cmti-10{ font-style: italic;} +.cmtt-9{font-size:90%;font-family: monospace;} +.cmtt-9{font-family: monospace;} +.cmtt-9{font-family: monospace;} +.cmtt-9{font-family: monospace;} +.cmtt-9{font-family: monospace;} +.cmr-9{font-size:90%;} +.cmss-8{font-size:80%; font-family: sans-serif;} +.cmss-8{ font-family: sans-serif;} +.cmss-8{ font-family: sans-serif;} +.cmitt-10{font-family: monospace; font-style: italic;} +.cmbx-10{ font-weight: bold;} +.cmtt-8{font-size:80%;font-family: monospace;} +.cmtt-8{font-family: monospace;} +.cmtt-8{font-family: monospace;} +.cmtt-8{font-family: monospace;} +.cmtt-8{font-family: monospace;} +.cmssbx-10{ font-family: sans-serif; font-weight: bold;} +.cmssbx-10{ font-family: sans-serif; font-weight: bold;} +.cmssbx-10{ font-family: sans-serif; font-weight: bold;} +p.noindent { text-indent: 0em } +td p.noindent { text-indent: 0em; margin-top:0em; } +p.nopar { text-indent: 0em; } +p.indent{ text-indent: 1.5em } +@media print {div.crosslinks {visibility:hidden;}} +a img { border-top: 0; border-left: 0; border-right: 0; } +center { margin-top:1em; margin-bottom:1em; } +td center { margin-top:0em; margin-bottom:0em; } +.Canvas { position:relative; } +img.math{vertical-align:middle;} +li p.indent { text-indent: 0em } +li p:first-child{ margin-top:0em; } +li p:last-child, li div:last-child { margin-bottom:0.5em; } +li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; } +.enumerate1 {list-style-type:decimal;} +.enumerate2 {list-style-type:lower-alpha;} +.enumerate3 {list-style-type:lower-roman;} +.enumerate4 {list-style-type:upper-alpha;} +div.newtheorem { margin-bottom: 2em; margin-top: 2em;} +.obeylines-h,.obeylines-v {white-space: nowrap; } +div.obeylines-v p { margin-top:0; margin-bottom:0; } +.overline{ text-decoration:overline; } +.overline img{ border-top: 1px solid black; } +td.displaylines {text-align:center; white-space:nowrap;} +.centerline {text-align:center;} +.rightline {text-align:right;} +div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; } +.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.fbox {display:table} +div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.minipage{width:100%;} +div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;} +div.center div {text-align: left;} +div.flushright, div.flushright div.flushright {text-align: right;} +div.flushright div {text-align: left;} +div.flushleft {text-align: left;} +.underline{ text-decoration:underline; } +.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; } +.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +.framebox-c {text-align:center;} +.framebox-l {text-align:left;} +.framebox-r {text-align:right;} +span.thank-mark{ vertical-align: super } +span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; } +div.footnotes{border-top:solid 1px black; border-bottom:solid 1px black; padding-bottom:1ex; padding-top:0.5ex; margin-right:15%; margin-top:2ex; font-style:italic; font-size:85%;} +div.footnotes p{margin-top:0; margin-bottom:0; text-indent:0;} +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 1px; margin:0px; } +.tabbing-right {text-align:right;} +span.TEX {letter-spacing: -0.125em; } +span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;} +a span.TEX span.E {text-decoration: none; } +span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;} +span.LATEX span.TEX{ position:relative; left: -0.4em; } +div.float, div.figure {margin-left: auto; margin-right: auto;} +div.float img {text-align:center;} +div.figure img {text-align:center;} +.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;} +.marginpar p{margin-top:0.4em; margin-bottom:0.4em;} +table.equation {width:100%;} +.equation td{text-align:center; } +td.equation { margin-top:1em; margin-bottom:1em; } +td.equation-label { width:5%; text-align:center; } +td.eqnarray4 { width:5%; white-space: normal; } +td.eqnarray2 { width:5%; } +table.eqnarray-star, table.eqnarray {width:100%;} +div.eqnarray{text-align:center;} +div.array {text-align:center;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.pmatrix img{vertical-align:middle;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.bar-css {text-decoration:overline;} +img.cdots{vertical-align:middle;} +.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;} +.index-item, .index-subitem, .index-subsubitem {display:block} +div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;} +div.caption span.id{font-weight: bold; white-space: nowrap; } +h1.partHead{text-align: center} +p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;} +.subparagraphHead, .likesubparagraphHead { font-weight: bold;} +.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;} +.verse{white-space:nowrap; margin-left:2em} +div.maketitle {text-align:center;} +h2.titleHead{text-align:center;} +div.maketitle{ margin-bottom: 2em; } +div.author, div.date {text-align:center;} +div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; } +.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; } +.abstract p {margin-left:5%; margin-right:5%;} +div.abstract {width:100%;} +div.important { border : solid red; } +div.verbatim { font-family: monospace; white-space: nowrap; text-align:left; clear:both; padding-top: 2ex; padding-bottom: 2ex;} +/* end css.sty */ + diff --git a/Master/texmf-dist/doc/latex/datetime/datetime-manual.html b/Master/texmf-dist/doc/latex/datetime/datetime-manual.html new file mode 100644 index 00000000000..5c09dd7e449 --- /dev/null +++ b/Master/texmf-dist/doc/latex/datetime/datetime-manual.html @@ -0,0 +1,2173 @@ +<?xml version="1.0" encoding="utf-8" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd--> +<html xmlns="http://www.w3.org/1999/xhtml" +> +<head><title>datetime.sty v2.60: Formatting Current Date and Time</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)" /> +<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)" /> +<!-- xhtml,fn-in,css-in,uni-html4,utf8 --> +<meta name="src" content="datetime-manual.tex" /> +<meta name="date" content="2015-03-20 16:54:00" /> + +<style type="text/css"> +<!-- + +/* start css.sty */ +.cmmi-10{font-style: italic;} +.cmr-17{font-size:170%;} +.cmr-12{font-size:120%;} +.cmr-8{font-size:80%;} +.cmsy-8{font-size:80%;} +.cmtt-12{font-size:120%;font-family: monospace;} +.cmtt-12{font-family: monospace;} +.cmtt-12{font-family: monospace;} +.cmtt-12{font-family: monospace;} +.cmtt-12{font-family: monospace;} +.cmss-10{ font-family: sans-serif;} +.cmss-10{ font-family: sans-serif;} +.cmss-10{ font-family: sans-serif;} +.cmtt-10{font-family: monospace;} +.cmtt-10{font-family: monospace;} +.cmtt-10{font-family: monospace;} +.cmtt-10{font-family: monospace;} +.cmtt-10{font-family: monospace;} +.cmti-10{ font-style: italic;} +.cmtt-9{font-size:90%;font-family: monospace;} +.cmtt-9{font-family: monospace;} +.cmtt-9{font-family: monospace;} +.cmtt-9{font-family: monospace;} +.cmtt-9{font-family: monospace;} +.cmr-9{font-size:90%;} +.cmss-8{font-size:80%; font-family: sans-serif;} +.cmss-8{ font-family: sans-serif;} +.cmss-8{ font-family: sans-serif;} +.cmitt-10{font-family: monospace; font-style: italic;} +.cmbx-10{ font-weight: bold;} +.cmtt-8{font-size:80%;font-family: monospace;} +.cmtt-8{font-family: monospace;} +.cmtt-8{font-family: monospace;} +.cmtt-8{font-family: monospace;} +.cmtt-8{font-family: monospace;} +.cmssbx-10{ font-family: sans-serif; font-weight: bold;} +.cmssbx-10{ font-family: sans-serif; font-weight: bold;} +.cmssbx-10{ font-family: sans-serif; font-weight: bold;} +p.noindent { text-indent: 0em } +td p.noindent { text-indent: 0em; margin-top:0em; } +p.nopar { text-indent: 0em; } +p.indent{ text-indent: 1.5em } +@media print {div.crosslinks {visibility:hidden;}} +a img { border-top: 0; border-left: 0; border-right: 0; } +center { margin-top:1em; margin-bottom:1em; } +td center { margin-top:0em; margin-bottom:0em; } +.Canvas { position:relative; } +img.math{vertical-align:middle;} +li p.indent { text-indent: 0em } +li p:first-child{ margin-top:0em; } +li p:last-child, li div:last-child { margin-bottom:0.5em; } +li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; } +.enumerate1 {list-style-type:decimal;} +.enumerate2 {list-style-type:lower-alpha;} +.enumerate3 {list-style-type:lower-roman;} +.enumerate4 {list-style-type:upper-alpha;} +div.newtheorem { margin-bottom: 2em; margin-top: 2em;} +.obeylines-h,.obeylines-v {white-space: nowrap; } +div.obeylines-v p { margin-top:0; margin-bottom:0; } +.overline{ text-decoration:overline; } +.overline img{ border-top: 1px solid black; } +td.displaylines {text-align:center; white-space:nowrap;} +.centerline {text-align:center;} +.rightline {text-align:right;} +div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; } +.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.fbox {display:table} +div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.minipage{width:100%;} +div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;} +div.center div {text-align: left;} +div.flushright, div.flushright div.flushright {text-align: right;} +div.flushright div {text-align: left;} +div.flushleft {text-align: left;} +.underline{ text-decoration:underline; } +.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; } +.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +.framebox-c {text-align:center;} +.framebox-l {text-align:left;} +.framebox-r {text-align:right;} +span.thank-mark{ vertical-align: super } +span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; } +div.footnotes{border-top:solid 1px black; border-bottom:solid 1px black; padding-bottom:1ex; padding-top:0.5ex; margin-right:15%; margin-top:2ex; font-style:italic; font-size:85%;} +div.footnotes p{margin-top:0; margin-bottom:0; text-indent:0;} +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +td p:first-child{ margin-top:0em; } +td p:last-child{ margin-bottom:0em; } +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 1px; margin:0px; } +.tabbing-right {text-align:right;} +span.TEX {letter-spacing: -0.125em; } +span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;} +a span.TEX span.E {text-decoration: none; } +span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;} +span.LATEX span.TEX{ position:relative; left: -0.4em; } +div.float, div.figure {margin-left: auto; margin-right: auto;} +div.float img {text-align:center;} +div.figure img {text-align:center;} +.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;} +.marginpar p{margin-top:0.4em; margin-bottom:0.4em;} +table.equation {width:100%;} +.equation td{text-align:center; } +td.equation { margin-top:1em; margin-bottom:1em; } +td.equation-label { width:5%; text-align:center; } +td.eqnarray4 { width:5%; white-space: normal; } +td.eqnarray2 { width:5%; } +table.eqnarray-star, table.eqnarray {width:100%;} +div.eqnarray{text-align:center;} +div.array {text-align:center;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.pmatrix img{vertical-align:middle;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.bar-css {text-decoration:overline;} +img.cdots{vertical-align:middle;} +.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;} +.index-item, .index-subitem, .index-subsubitem {display:block} +div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;} +div.caption span.id{font-weight: bold; white-space: nowrap; } +h1.partHead{text-align: center} +p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;} +.subparagraphHead, .likesubparagraphHead { font-weight: bold;} +.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;} +.verse{white-space:nowrap; margin-left:2em} +div.maketitle {text-align:center;} +h2.titleHead{text-align:center;} +div.maketitle{ margin-bottom: 2em; } +div.author, div.date {text-align:center;} +div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; } +.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; } +.abstract p {margin-left:5%; margin-right:5%;} +div.abstract {width:100%;} +div.important { border : solid red; } +div.verbatim { font-family: monospace; white-space: nowrap; text-align:left; clear:both; padding-top: 2ex; padding-bottom: 2ex;} +/* end css.sty */ + + +--> +</style> +</head><body +> + <div class="maketitle"><a + id="top"></a> + + + + + + + +<h2 class="titleHead">datetime.sty v2.60: Formatting Current Date and +Time</h2> + <div class="author" ><span +class="cmr-12">Nicola L. C. Talbot</span> +<br /> <span +class="cmr-12">Dickimaw Books</span> +<br /><a +href="http://www.dickimaw-books.com/" class="url" ><span +class="cmtt-12">http://www.dickimaw-books.com/</span></a></div><br /> +<div class="date" ><span +class="cmr-12">2015-03-20</span></div> + </div> +<!--l. 25--><p class="indent" > <div class="important" title="Important Note"> This is the last version of this package. The replacement package is called <span +class="cmss-10">datetime2</span><a + id="dx1-2"></a> +and will be released shortly after the this final version. </div> +</p><!--l. 29--><p class="noindent" > +</p> + <h3 class="likesectionHead"><a + id="x1-1000"></a>Contents</h3> + <div class="tableofcontents"> + <span class="sectionToc" >1 <a +href="#x1-20001" id="QQ2-1-2">Introduction</a></span> +<br /> <span class="sectionToc" >2 <a +href="#x1-30002" id="QQ2-1-3">Predefined Date Formats</a></span> +<br />  <span class="subsectionToc" >2.1 <a +href="#x1-40002.1" id="QQ2-1-4">ISO format</a></span> +<br />  <span class="subsectionToc" >2.2 <a +href="#x1-50002.2" id="QQ2-1-5"><span +class="cmti-10">Day Month Year </span>formats</a></span> +<br />  <span class="subsectionToc" >2.3 <a +href="#x1-60002.3" id="QQ2-1-6"><span +class="cmti-10">Month Day Year </span>formats</a></span> +<br />  <span class="subsectionToc" >2.4 <a +href="#x1-70002.4" id="QQ2-1-7">Dates defined by <span +class="cmss-10">babel</span></a></span> +<br /> <span class="sectionToc" >3 <a +href="#x1-80003" id="QQ2-1-8">Time Commands</a></span> +<br /> <span class="sectionToc" >4 <a +href="#x1-90004" id="QQ2-1-9">Formating Dates</a></span> +<br /> <span class="sectionToc" >5 <a +href="#x1-100005" id="QQ2-1-10">Defining New Date Formats</a></span> +<br /> <span class="sectionToc" >6 <a +href="#x1-110006" id="QQ2-1-11">Saving Dates</a></span> +<br /> <span class="sectionToc" >7 <a +href="#x1-120007" id="QQ2-1-12">Predefined Names</a></span> +<br /> <span class="sectionToc" >8 <a +href="#x1-130008" id="QQ2-1-13">Package Options</a></span> +<br /> <span class="sectionToc" >9 <a +href="#x1-140009" id="QQ2-1-14">Multilingual Support</a></span> +<br /> <span class="sectionToc" >10 <a +href="#x1-1500010" id="QQ2-1-15">Registers</a></span> +<br /> <span class="sectionToc" >11 <a +href="#x1-1600011" id="QQ2-1-16">Configuration File</a></span> +<br /> <span class="sectionToc" >12 <a +href="#x1-1700012" id="QQ2-1-17">LaTeX2HTML styles</a></span> +<br /> <span class="sectionToc" >13 <a +href="#x1-1800013" id="QQ2-1-18">Troubleshooting</a></span> + + + +<br /> <span class="sectionToc" ><a +href="#Q1-1-19">Index</a></span> +<br /> <span class="sectionToc" ><a +href="#Q1-1-20">Index</a></span> + </div> +<!--l. 33--><p class="noindent" > +</p> +<!--l. 33--><p class="noindent" ><a +href="#top">Top</a><h2 class="sectionHead"></p><h3 class="sectionHead"><span class="titlemark">1 </span> <a + id="x1-20001"></a>Introduction</h3> +<a + id="dx1-2001"></a> +<a + id="dx1-2002"></a> +<!--l. 36--><p class="noindent" >The <span +class="cmss-10">datetime </span>package is a <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span>2<span +class="cmmi-10">ε</span> package that provides various different formats for +<span +class="cmtt-10">\today</span><a + id="dx1-2003"></a>, and provides commands for displaying the current time. If you only want the +time commands but not the date changing commands, you can pass the option <span +class="cmss-10">nodate</span><a + id="dx1-2004"></a> +to the package. <a + id="dx1-2005"></a> +<a + id="dx1-2006"></a> +</p><!--l. 46--><p class="indent" > Since version 2.4, the <span +class="cmss-10">datetime </span>package has been separated into two packages: +<span +class="cmss-10">datetime </span>and <span +class="cmss-10">fmtcount</span><a + id="dx1-2007"></a>. When I originally created this package, I defined the commands, +<span +class="cmtt-10">\ordinal</span><a + id="dx1-2008"></a> etc which could be used in the definition of <span +class="cmtt-10">\today</span>. Since then, I have +extended the number of commands available that can be used to display the value +of a <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> counter, however it seems more appropriate to define all these +counter-related commands in a separate package. The <span +class="cmss-10">fmtcount</span><a + id="dx1-2009"></a> package is now +distributed separately from the <span +class="cmss-10">datetime </span>package, and will also need to be +installed. +<a + id="dx1-2010"></a> +</p><!--l. 59--><p class="indent" > As from version 2.42, the <span +class="cmss-10">datetime </span>package is now compatible with <span +class="cmss-10">babel</span><a + id="dx1-2011"></a>, however +you must load the <span +class="cmss-10">datetime </span>package <span +class="cmti-10">after </span>the <span +class="cmss-10">babel</span><a + id="dx1-2012"></a> package. For example: + + + +</p> + <div class="verbatim" id="verbatim-1"> +\usepackage[francais]{babel} + <br />\usepackage{datetime} +</div> +<!--l. 66--><p class="nopar" > +</p><!--l. 68--><p class="noindent" > +</p> +<!--l. 68--><p class="noindent" ><a +href="#top">Top</a><h2 class="sectionHead"></p><h3 class="sectionHead"><span class="titlemark">2 </span> <a + id="x1-30002"></a>Predefined Date Formats</h3> +<!--l. 69--><p class="noindent" >There are various declarations that change the effect of <span +class="cmtt-10">\today</span><a + id="dx1-3001"></a>. The change can be +localised by placing the declaration within a group. +</p><!--l. 73--><p class="indent" > As from version 2.43, the numerical date formats (such as <span +class="cmtt-10">\ddmmyyyydate</span><a + id="dx1-3002"></a>) use the +command +</p><!--l. 75--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\dateseparator</span><span +class="cmtt-9"> </span></span><a + id="dx1-3003"></a> <span +class="cmtt-10">\dateseparator </span></div><hr> +</p><!--l. 77--><p class="noindent" > +to separate the numbers. So, for example, if you want to hyphens instead of slashes, you +can do: + + + +</p> + <div class="verbatim" id="verbatim-2"> +\renewcommand{\dateseparator}{-} +</div> +<!--l. 82--><p class="nopar" > +</p><!--l. 84--><p class="noindent" > +</p> +<!--l. 84--><p class="noindent" ><a +href="#top">Top</a><h3 class="subsectionHead"></p><h4 class="subsectionHead"><span class="titlemark">2.1 </span> <a + id="x1-40002.1"></a>ISO format</h4> +<!--l. 86--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\yyyymmdddate</span><span +class="cmtt-9"> </span></span><a + id="dx1-4001"></a> <span +class="cmtt-10">\yyyymmdddate </span></div><hr> +</p><!--l. 88--><p class="noindent" > +This declaration will redefine <span +class="cmtt-10">\today</span><a + id="dx1-4002"></a> to produce the current date displayed in +the form 2000/03/08. (You can redefine <span +class="cmtt-10">\dateseparator</span><a + id="dx1-4003"></a> to <span +class="cmtt-10">- </span>to change to +2000-03-08.) +</p><!--l. 93--><p class="noindent" > +</p> +<!--l. 93--><p class="noindent" ><a +href="#top">Top</a><h3 class="subsectionHead"></p><h4 class="subsectionHead"><span class="titlemark">2.2 </span> <a + id="x1-50002.2"></a>⟨<span +class="cmti-10">Day</span>⟩ ⟨<span +class="cmti-10">Month</span>⟩ ⟨<span +class="cmti-10">Year</span>⟩ formats</h4> +<!--l. 95--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\longdate</span><span +class="cmtt-9"> </span></span><a + id="dx1-5001"></a> <span +class="cmtt-10">\longdate </span></div><hr> +</p><!--l. 97--><p class="noindent" > +This declaration will redefine <span +class="cmtt-10">\today</span><a + id="dx1-5002"></a> to produce the current date displayed in the form +Wednesday 8<sup class="textsuperscript"><span +class="cmr-9">th</span></sup> March, 2000 if the package option <span +class="cmss-10">dayofweek</span><a + id="dx1-5003"></a> is used, or 8<sup class="textsuperscript"><span +class="cmr-9">th</span></sup> March, 2000 +if the package option <span +class="cmss-10">nodayofweek</span><a + id="dx1-5004"></a> is used. +</p><!--l. 104--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\shortdate</span><span +class="cmtt-9"> </span></span><a + id="dx1-5005"></a> <span +class="cmtt-10">\shortdate </span></div><hr> +</p><!--l. 106--><p class="noindent" > +This declaration will redefine <span +class="cmtt-10">\today</span><a + id="dx1-5006"></a> to produce the current date displayed in the form +Wed 8<sup class="textsuperscript"><span +class="cmr-9">th</span></sup> Mar, 2000 if the package option <span +class="cmss-10">dayofweek</span><a + id="dx1-5007"></a> is used, or 8<sup class="textsuperscript"><span +class="cmr-9">th</span></sup> Mar, 2000 if the +package option <span +class="cmss-10">nodayofweek</span><a + id="dx1-5008"></a> is used. +</p><!--l. 113--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\ddmmyyyydate</span><span +class="cmtt-9"> </span></span><a + id="dx1-5009"></a> <span +class="cmtt-10">\ddmmyyyydate </span></div><hr> +</p><!--l. 115--><p class="noindent" > +This declaration will redefine <span +class="cmtt-10">\today</span><a + id="dx1-5010"></a> to produce the current date displayed in the form +08/03/2000. +</p><!--l. 119--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\dmyyyydate</span><span +class="cmtt-9"> </span></span><a + id="dx1-5011"></a> <span +class="cmtt-10">\dmyyyydate </span></div><hr> +</p><!--l. 121--><p class="noindent" > +This declaration will redefine <span +class="cmtt-10">\today</span><a + id="dx1-5012"></a> to produce the current date displayed in the form +8/3/2000. +</p><!--l. 125--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\ddmmyydate</span><span +class="cmtt-9"> </span></span><a + id="dx1-5013"></a> <span +class="cmtt-10">\ddmmyydate </span></div><hr> +</p><!--l. 127--><p class="noindent" > +This declaration will redefine <span +class="cmtt-10">\today</span><a + id="dx1-5014"></a> to produce the current date displayed in the form +08/03/00. +</p><!--l. 131--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\dmyydate</span><span +class="cmtt-9"> </span></span><a + id="dx1-5015"></a> <span +class="cmtt-10">\dmyydate </span></div><hr> + + + +</p><!--l. 133--><p class="noindent" > +This declaration will redefine <span +class="cmtt-10">\today</span><a + id="dx1-5016"></a> to produce the current date displayed in the form +8/3/00. +</p><!--l. 137--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\textdate</span><span +class="cmtt-9"> </span></span><a + id="dx1-5017"></a> <span +class="cmtt-10">\textdate </span></div><hr> +</p><!--l. 139--><p class="noindent" > +This declaration will redefine <span +class="cmtt-10">\today</span><a + id="dx1-5018"></a> to produce the current date displayed +in the form: Wednesday the Eighth of March, Two Thousand if the package +option <span +class="cmss-10">dayofweek</span><a + id="dx1-5019"></a> is used, or Eighth of March, Two Thousand if the package +option <span +class="cmss-10">nodayofweek</span><a + id="dx1-5020"></a> is used. Note that <span +class="cmtt-10">\textdate </span>is defined for use with +English, it won’t look right if it is used when another language has been +selected<span class="footnote-mark"><a +href="#fn1x0" id="fn1x0-bk"><sup class="textsuperscript">1</sup></a></span><a + id="x1-5021f1"></a>. +If you want to define a similar command for another language, you will first need to +check that the <span +class="cmss-10">fmtcount</span><a + id="dx1-5023"></a> package supports that language. +</p><!--l. 152--><p class="noindent" > +</p> +<!--l. 152--><p class="noindent" ><a +href="#top">Top</a><h3 class="subsectionHead"></p><h4 class="subsectionHead"><span class="titlemark">2.3 </span> <a + id="x1-60002.3"></a>⟨<span +class="cmti-10">Month</span>⟩ ⟨<span +class="cmti-10">Day</span>⟩ ⟨<span +class="cmti-10">Year</span>⟩ formats</h4> +<!--l. 154--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\usdate</span><span +class="cmtt-9"> </span></span><a + id="dx1-6001"></a> <span +class="cmtt-10">\usdate </span></div><hr> +</p><!--l. 156--><p class="noindent" > +This declaration will redefine <span +class="cmtt-10">\today </span>to produce the current date displayed in the form +March 8, 2000. (As <span class="TEX">T<span +class="E">E</span>X</span> and <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span +class="E">E</span>X</span></span> do by default.) +</p><!--l. 161--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\mmddyyyydate</span><span +class="cmtt-9"> </span></span><a + id="dx1-6002"></a> <span +class="cmtt-10">\mmddyyyydate </span></div><hr> +</p><!--l. 163--><p class="noindent" > +This declaration will redefine <span +class="cmtt-10">\today</span><a + id="dx1-6003"></a> to produce the current date displayed in the form +03/08/2000. +</p><!--l. 167--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\mdyyyydate</span><span +class="cmtt-9"> </span></span><a + id="dx1-6004"></a> <span +class="cmtt-10">\mdyyyydate </span></div><hr> +</p><!--l. 169--><p class="noindent" > +This declaration will redefine <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\today</span></span></span> to produce the current date displayed in the form +3/8/2000. +</p><!--l. 173--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\mmddyydate</span><span +class="cmtt-9"> </span></span><a + id="dx1-6005"></a> <span +class="cmtt-10">\mmddyydate </span></div><hr> +</p><!--l. 175--><p class="noindent" > +This declaration will redefine <span +class="cmtt-10">\today</span><a + id="dx1-6006"></a> to produce the current date displayed in the form +03/08/00. +</p><!--l. 179--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\mdyydate</span><span +class="cmtt-9"> </span></span><a + id="dx1-6007"></a> <span +class="cmtt-10">\mdyydate </span></div><hr> +</p><!--l. 181--><p class="noindent" > +This declaration will redefine <span +class="cmtt-10">\today</span><a + id="dx1-6008"></a> to produce the current date displayed in the form +3/8/00. +</p><!--l. 185--><p class="noindent" > +</p> +<!--l. 185--><p class="noindent" ><a +href="#top">Top</a><h3 class="subsectionHead"></p><h4 class="subsectionHead"><span class="titlemark">2.4 </span> <a + id="x1-70002.4"></a>Dates defined by <span +class="cmss-10">babel</span></h4> +<!--l. 187--><p class="noindent" >In addition to the above, the declarations <span +class="cmtt-10">\date</span>⟨<span +class="cmti-10">lang</span>⟩ are available for all languages +defined either by calling <span +class="cmss-10">babel</span><a + id="dx1-7001"></a> prior to <span +class="cmss-10">datetime </span>or by passing the language name as an + + + +option to <span +class="cmss-10">datetime</span>. See <a +href="#x1-100005"><span +class="cmsy-10">§</span>5 </a><a +href="#x1-100005">Defining New Date Formats<!--tex4ht:ref: sec:newdate --></a> if you want to define your own +customised date format. +</p><!--l. 193--><p class="noindent" > +</p> +<!--l. 193--><p class="noindent" ><a +href="#top">Top</a><h2 class="sectionHead"></p><h3 class="sectionHead"><span class="titlemark">3 </span> <a + id="x1-80003"></a>Time Commands</h3> +<!--l. 195--><p class="noindent" >The current time is displayed using the command +</p><!--l. 196--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\currenttime</span><span +class="cmtt-9"> </span></span><a + id="dx1-8001"></a> <span +class="cmtt-10">\currenttime </span></div><hr> +</p><!--l. 198--><p class="noindent" > +</p><!--l. 200--><p class="indent" > A specific time can be displayed using the command +</p><!--l. 201--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\formattime</span><span +class="cmtt-9"> </span></span><a + id="dx1-8002"></a> <span +class="cmtt-10">\formattime{</span>⟨<span +class="cmitt-10">hour</span>⟩<span +class="cmtt-10">}{</span>⟨<span +class="cmitt-10">minute</span>⟩<span +class="cmtt-10">}{</span>⟨<span +class="cmitt-10">second</span>⟩<span +class="cmtt-10">} </span></div><hr> +</p><!--l. 203--><p class="noindent" > +where ⟨<span +class="cmti-10">hour</span>⟩ is a number from 0 to 23, and ⟨<span +class="cmti-10">minute</span>⟩ and ⟨<span +class="cmti-10">second</span>⟩ are numbers from 0 +to 59. +</p><!--l. 207--><p class="indent" > The format can be changed using the declaration +</p><!--l. 208--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\settimeformat</span><span +class="cmtt-9"> </span></span><a + id="dx1-8003"></a> <span +class="cmtt-10">\settimeformat{</span>⟨<span +class="cmitt-10">style</span>⟩<span +class="cmtt-10">} </span></div><hr> +</p><!--l. 210--><p class="noindent" > +where ⟨<span +class="cmti-10">style</span>⟩ is the name of the format. Predefined formats are: + </p><dl class="description"><dt class="description"> +<span +class="cmbx-10">xxivtime</span> </dt><dd +class="description">Twenty-four hour time in the form 22:28 (Default) + </dd><dt class="description"> +<span +class="cmbx-10">hhmmsstime</span> </dt><dd +class="description">Twenty-four hour time in the form 22:28:00 + </dd><dt class="description"> +<span +class="cmbx-10">ampmtime</span> </dt><dd +class="description">Twelve hour time in the form 10:28pm + </dd><dt class="description"> +<span +class="cmbx-10">oclock</span> </dt><dd +class="description">Displays the current time as a string, e.g. Twenty-Eight minutes past Ten + in the afternoon.</dd></dl> +<!--l. 221--><p class="indent" > New time formats can be defined using the command: +</p><!--l. 222--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\newtimeformat</span><span +class="cmtt-9"> </span></span><a + id="dx1-8004"></a> <span +class="cmtt-10">\newtimeformat{</span>⟨<span +class="cmitt-10">name</span>⟩<span +class="cmtt-10">}{</span>⟨<span +class="cmitt-10">format</span>⟩<span +class="cmtt-10">} </span></div><hr> +</p><!--l. 224--><p class="noindent" > +where ⟨<span +class="cmti-10">name</span>⟩ is the name of the new format (used in <span +class="cmtt-10">\settimeformat</span><a + id="dx1-8005"></a>), and ⟨<span +class="cmti-10">format</span>⟩ is +how to format the time. Within ⟨<span +class="cmti-10">format</span>⟩ you can use the counters <span +class="cmss-10">HOUR</span><a + id="dx1-8006"></a> (number of +hours after midnight), <span +class="cmss-10">MINUTE</span><a + id="dx1-8007"></a> (number of minutes past the hour), <span +class="cmss-10">SECOND</span><a + id="dx1-8008"></a> (number +of seconds) <span +class="cmss-10">HOURXII</span><a + id="dx1-8009"></a> (number of hours after midnight/midday), <span +class="cmss-10">TOHOUR</span><a + id="dx1-8010"></a> (the next +hour) and <span +class="cmss-10">TOMINUTE</span><a + id="dx1-8011"></a> (number of minutes to the next hour), and the corresponding +commands: <span +class="cmtt-10">\THEHOUR</span><a + id="dx1-8012"></a>, <span +class="cmtt-10">\THEMINUTE</span><a + id="dx1-8013"></a>, <span +class="cmtt-10">\THESECOND</span><a + id="dx1-8014"></a>, <span +class="cmtt-10">\THEHOURXII</span><a + id="dx1-8015"></a>, <span +class="cmtt-10">\THETOHOUR</span><a + id="dx1-8016"></a> and +<span +class="cmtt-10">\THETOMINUTE</span><a + id="dx1-8017"></a>. +</p><!--l. 236--><p class="indent" > For example, to define a new time format that uses a dot instead of a colon: + + + +</p> + <div class="verbatim" id="verbatim-3"> +\newtimeformat{dottime}{\twodigit{\THEHOUR}.\twodigit{\THEMINUTE}} +</div> +<!--l. 240--><p class="nopar" > You then need to switch to this new format before you can use it: + + + +</p> + <div class="verbatim" id="verbatim-4"> +\settimeformat{dottime} + <br />\currenttime +</div> +<!--l. 245--><p class="nopar" > +</p><!--l. 247--><p class="indent" > As from version 2.43, if you only want to change the separator, you can simply +redefine +</p><!--l. 249--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\timeseparator</span><span +class="cmtt-9"> </span></span><a + id="dx1-8018"></a> <span +class="cmtt-10">\timeseparator </span></div><hr> +</p><!--l. 251--><p class="noindent" > +instead of defining a new time format. For example: + + + +</p> + <div class="verbatim" id="verbatim-5"> +\renewcommand{\timeseparator}{.} +</div> +<!--l. 255--><p class="nopar" > The <span +class="cmtt-10">xxivtime </span>format will now work like the <span +class="cmtt-10">dottime </span>format defined above. +</p><!--l. 259--><p class="noindent" > +</p> +<!--l. 259--><p class="noindent" ><a +href="#top">Top</a><h2 class="sectionHead"></p><h3 class="sectionHead"><span class="titlemark">4 </span> <a + id="x1-90004"></a>Formating Dates</h3> +<!--l. 260--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\pdfdate</span><span +class="cmtt-9"> </span></span><a + id="dx1-9001"></a> <span +class="cmtt-10">\pdfdate </span></div><hr> +</p><!--l. 262--><p class="noindent" > +This command<span class="footnote-mark"><a +href="#fn2x0" id="fn2x0-bk"><sup class="textsuperscript">2</sup></a></span><a + id="x1-9002f2"></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, <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pdfdate</span></span></span> will print 20040501220200. The reason this date format is +separate from all the others is because the other form doesn’t get properly expanded by +PDF<span class="TEX">T<span +class="E">E</span>X</span>. (This command is defined regardless of whether the package option <span +class="cmtt-10">nodate</span> +is called.) Example: + + + +</p> + <div class="verbatim" id="verbatim-6"> +\pdfinfo{ + <br />   /Author (Me) + <br />   /Title (A Sample Document) + <br />   /CreationDate (D:20040501215500) + <br />   /ModDate (D:\pdfdate) + <br />} +</div> +<!--l. 279--><p class="nopar" > <span +class="cmbx-10">Note </span>that PDF<span class="TEX">T<span +class="E">E</span>X</span> introduced the new primitive <span +class="cmtt-10">\pdfcreationdate </span>in +version 1.30.0, so <span +class="cmtt-10">\pdfdate </span>isn’t required with newer versions of PDF<span class="TEX">T<span +class="E">E</span>X</span>. +(<span +class="cmtt-10">\pdfcreationdate </span>is better than <span +class="cmtt-10">\pdfdate </span>as it also stores the time zone.) +</p><!--l. 285--><p class="indent" > There are two commands that print the name of the current month: +</p><!--l. 287--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\monthname</span><span +class="cmtt-9"> </span></span><a + id="dx1-9003"></a> <span +class="cmtt-10">\monthname[</span>⟨<span +class="cmitt-10">num</span>⟩<span +class="cmtt-10">] </span></div><hr> +</p><!--l. 289--><p class="noindent" > +prints the current month name in full, e.g. August, and +</p><!--l. 292--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\shortmonthname</span><span +class="cmtt-9"> </span></span><a + id="dx1-9004"></a> <span +class="cmtt-10">\shortmonthname[</span>⟨<span +class="cmitt-10">num</span>⟩<span +class="cmtt-10">] </span></div><hr> +</p><!--l. 294--><p class="noindent" > +prints the abbreviated month name, e.g. Aug. Both <span +class="cmtt-10">\monthname </span>and <span +class="cmtt-10">\shortmonthname</span> +take an optional argument (a number from 1 to 12) if the name of a specific +month is required. For example, <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\monthname[6]</span></span></span> will produced the output: +June. +</p><!--l. 300--><p class="indent" > The day of the week is computed using the algorithm documented at +<a +href="http://userpages.wittenburg.edu/bshelburne/Comp150/DayOfWeek.htm" class="url" ><span +class="cmtt-10">http://userpages.wittenburg.edu/bshelburne/Comp150/DayOfWeek.htm</span></a>. This +algorithm works for any date between 1<sup class="textsuperscript"><span +class="cmr-9">st</span></sup> Jan, 1901 and 31<sup class="textsuperscript"><span +class="cmr-9">st</span></sup> Dec, 2099. The following +macros display the day of week for a given date: +</p><!--l. 306--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\dayofweekname</span><span +class="cmtt-9"> </span></span><a + id="dx1-9005"></a> <span +class="cmtt-10">\dayofweekname{</span>⟨<span +class="cmitt-10">day</span>⟩<span +class="cmtt-10">}{</span>⟨<span +class="cmitt-10">month</span>⟩<span +class="cmtt-10">}{</span>⟨<span +class="cmitt-10">year</span>⟩<span +class="cmtt-10">} </span></div><hr> +</p><!--l. 308--><p class="noindent" > +prints the day of week for the specified date. For example, + + + +</p> + <div class="verbatim" id="verbatim-7"> +\dayofweekname{31}{10}{2002} +</div> +<!--l. 312--><p class="nopar" > will produce the output: Thursday. +</p><!--l. 315--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\shortdayofweekname</span><span +class="cmtt-9"> </span></span><a + id="dx1-9006"></a> <span +class="cmtt-10">\shortdayofweekname</span>⟨<span +class="cmitt-10">day</span>⟩<span +class="cmtt-10">{</span>⟨<span +class="cmitt-10">month</span>⟩<span +class="cmtt-10">}{</span>⟨<span +class="cmitt-10">year</span>⟩<span +class="cmtt-10">} </span></div><hr> +</p><!--l. 317--><p class="noindent" > +prints the abbreviated name for the day of week for the specified date. For +example + + + +</p> + <div class="verbatim" id="verbatim-8"> +\shortdayofweekname{31}{10}{2002} +</div> +<!--l. 322--><p class="nopar" > will produce the output: Thu. +</p><!--l. 325--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\ifshowdow</span><span +class="cmtt-9"> </span></span><a + id="dx1-9007"></a> <span +class="cmtt-10">\ifshowdow </span></div><hr> +</p><!--l. 327--><p class="noindent" > +This <span class="TEX">T<span +class="E">E</span>X</span> conditional can be used to determine whether or not the option <span +class="cmss-10">dayofweek</span><a + id="dx1-9008"></a> +has been passed to the package. For example: + + + +</p> + <div class="verbatim" id="verbatim-9"> +\ifshowdow\dayofweekname{31}{10}{2002} \fi +</div> +<!--l. 333--><p class="nopar" > will only display the day of week if the <span +class="cmss-10">dayofweek</span><a + id="dx1-9009"></a> option was passed to <span +class="cmss-10">datetime</span>. +Alternatively, you can use David Carlisle’s <span +class="cmss-10">ifthen</span><a + id="dx1-9010"></a> package: + + + +</p> + <div class="verbatim" id="verbatim-10"> +\ifthenelse{\boolean{showdow}}{\dayofweekname{31}{10}{2002} }{} +</div> +<!--l. 339--><p class="nopar" > +</p><!--l. 341--><p class="indent" > The command +</p><!--l. 342--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\ordinaldate</span><span +class="cmtt-9"> </span></span><a + id="dx1-9011"></a> <span +class="cmtt-10">\ordinaldate{</span>⟨<span +class="cmitt-10">number</span>⟩<span +class="cmtt-10">} </span></div><hr> +</p><!--l. 344--><p class="noindent" > +displays ⟨<span +class="cmti-10">number</span>⟩ as a date-type ordinal. If the current language is English, this will +simply pass the argument to <span +class="cmtt-10">\ordinalnum</span><a + id="dx1-9012"></a> (defined in the <span +class="cmss-10">fmtcount</span><a + id="dx1-9013"></a> package), if the +current language is Breton, Welsh or French, a superscript will only be added if ⟨<span +class="cmti-10">number</span>⟩ +is 1, otherwise only ⟨<span +class="cmti-10">number</span>⟩ will be displayed. +</p><!--l. 352--><p class="indent" > The macro<span class="footnote-mark"><a +href="#fn3x0" id="fn3x0-bk"><sup class="textsuperscript">3</sup></a></span><a + id="x1-9014f3"></a> +</p><!--l. 355--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\formatdate</span><span +class="cmtt-9"> </span></span><a + id="dx1-9016"></a> <span +class="cmtt-10">\formatdate{</span>⟨<span +class="cmitt-10">day</span>⟩<span +class="cmtt-10">}{</span>⟨<span +class="cmitt-10">month</span>⟩<span +class="cmtt-10">}{</span>⟨<span +class="cmitt-10">year</span>⟩<span +class="cmtt-10">} </span></div><hr> +</p><!--l. 357--><p class="noindent" > +formats the specified date according to the current format of +<span +class="cmtt-10">\today</span><a + id="dx1-9017"></a><span class="footnote-mark"><a +href="#fn4x0" id="fn4x0-bk"><sup class="textsuperscript">4</sup></a></span><a + id="x1-9018f4"></a>. +(Arguments must all be integers.) For example, in combination with <span +class="cmtt-10">\longdate</span><a + id="dx1-9022"></a>, the +command + + + +</p> + <div class="verbatim" id="verbatim-11"> +\formatdate{27}{9}{2004} +</div> +<!--l. 366--><p class="nopar" > will produce the output: Monday 27<sup class="textsuperscript"><span +class="cmr-9">th</span></sup> September, 2004. +</p><!--l. 370--><p class="indent" > You can ensure that a number is displayed with at least two digits using the +command +</p><!--l. 372--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\twodigit</span><span +class="cmtt-9"> </span></span><a + id="dx1-9023"></a> <span +class="cmtt-10">\twodigit{</span>⟨<span +class="cmitt-10">num</span>⟩<span +class="cmtt-10">} </span></div><hr> +</p><!--l. 374--><p class="noindent" > +</p><!--l. 376--><p class="noindent" > +</p> +<!--l. 376--><p class="noindent" ><a +href="#top">Top</a><h2 class="sectionHead"></p><h3 class="sectionHead"><span class="titlemark">5 </span> <a + id="x1-100005"></a>Defining New Date Formats</h3> +<!--l. 378--><p class="noindent" >New date formats can be defined using the command: +</p><!--l. 379--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\newdateformat</span><span +class="cmtt-9"> </span></span><a + id="dx1-10001"></a> <span +class="cmtt-10">\newdateformat{</span>⟨<span +class="cmitt-10">name</span>⟩<span +class="cmtt-10">}{</span>⟨<span +class="cmitt-10">format</span>⟩<span +class="cmtt-10">} </span></div><hr> +</p><!--l. 381--><p class="noindent" > +where ⟨<span +class="cmti-10">name</span>⟩ is the name of the new format, and ⟨<span +class="cmti-10">format</span>⟩ is how to format the date. +Within the argument ⟨<span +class="cmti-10">format</span>⟩ you can use the commands <span +class="cmtt-10">\THEDAY</span><a + id="dx1-10002"></a>, <span +class="cmtt-10">\THEMONTH</span><a + id="dx1-10003"></a> and +<span +class="cmtt-10">\THEYEAR</span><a + id="dx1-10004"></a> to represent the relevant day, month and year, or you can use the counters +<span +class="cmss-10">DAY</span><a + id="dx1-10005"></a>, <span +class="cmss-10">MONTH</span><a + id="dx1-10006"></a> and <span +class="cmss-10">YEAR</span><a + id="dx1-10007"></a> if you want to use <span +class="cmtt-10">\ordinal</span><a + id="dx1-10008"></a> etc. Once you have defined the +new date format, you can then switch to it using the declaration <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\</span></span></span>⟨<span +class="cmti-10">name</span>⟩ (i.e. the name +you specified preceded by a backslash), and subsequent calls to <span +class="cmtt-10">\today</span><a + id="dx1-10009"></a> and +<span +class="cmtt-10">\formatdate</span><a + id="dx1-10010"></a> will use your new format. +</p><!--l. 393--><p class="indent" > For example, suppose you want to define a new date format called, say, <span +class="cmtt-10">mydate</span>, that +will typeset the date in the form: 8-3-2002, then you can do: + + + +</p> + <div class="verbatim" id="verbatim-12"> +\newdateformat{mydate}{\THEDAY-\THEMONTH-\THEYEAR} +</div> +<!--l. 398--><p class="nopar" > <span +class="cmtt-10">\newdateformat</span><a + id="dx1-10011"></a> will then define the declaration <span +class="cmtt-10">\mydate </span>which can be used to switch +to your new format. In the following example, two new date formats are defined, +and they are then selected to produce two different formats for the current +date: + + + +</p> + <div class="verbatim" id="verbatim-13"> +\newdateformat{dashdate}{% + <br />\twodigit{\THEDAY}-\twodigit{\THEMONTH}-\THEYEAR} + <br />\newdateformat{usvardate}{% + <br />\monthname[\THEMONTH] \ordinal{DAY}, \THEYEAR} + <br />Dash: \dashdate\today. + <br />US: \usvardate\today. +</div> +<!--l. 413--><p class="nopar" > If the current date is, say, 8th March, 2002, the above code will produce the following: +Dash: 08-03-2002. US: March 8<sup class="textsuperscript"><span +class="cmr-9">th</span></sup>, 2002. +</p><!--l. 418--><p class="indent" > Note that <span +class="cmtt-10">\THEDAY</span><a + id="dx1-10012"></a> etc and <span +class="cmss-10">DAY</span><a + id="dx1-10013"></a> etc have no real meaning outside <span +class="cmtt-10">\newdateformat</span><a + id="dx1-10014"></a> +(this is why they are in uppercase). Incidentally, the <span +class="cmtt-10">dashdate </span>format is not really +necessary, as you can achieve this format using: + + + +</p> + <div class="verbatim" id="verbatim-14"> +\renewcommand{\dateseparator}{-} + <br />\ddmmyyyydate +</div> +<!--l. 426--><p class="nopar" > +</p><!--l. 428--><p class="indent" > Another note: in the above code, <span +class="cmtt-10">\ordinal</span><a + id="dx1-10015"></a> was used to illustrate the use of the <span +class="cmss-10">DAY</span><a + id="dx1-10016"></a> +counter. It is better to use <span +class="cmtt-10">\ordinaldate</span><a + id="dx1-10017"></a> instead: + + + +</p> + <div class="verbatim" id="verbatim-15"> +\newdateformat{usvardate}{% + <br />\monthname[\THEMONTH] \ordinaldate{\THEDAY}, \THEYEAR} +</div> +<!--l. 434--><p class="nopar" > +</p><!--l. 436--><p class="noindent" > +</p> +<!--l. 436--><p class="noindent" ><a +href="#top">Top</a><h2 class="sectionHead"></p><h3 class="sectionHead"><span class="titlemark">6 </span> <a + id="x1-110006"></a>Saving Dates</h3> +<!--l. 438--><p class="noindent" >It is possible to save a date for later use using the command: +<span class="footnote-mark"><a +href="#fn5x0" id="fn5x0-bk"><sup class="textsuperscript">5</sup></a></span><a + id="x1-11001f5"></a> +</p><!--l. 440--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\newdate</span><span +class="cmtt-9"> </span></span><a + id="dx1-11002"></a> <span +class="cmtt-10">\newdate{</span>⟨<span +class="cmitt-10">name</span>⟩<span +class="cmtt-10">}{</span>⟨<span +class="cmitt-10">day</span>⟩<span +class="cmtt-10">}{</span>⟨<span +class="cmitt-10">month</span>⟩<span +class="cmtt-10">}{</span>⟨<span +class="cmitt-10">year</span>⟩<span +class="cmtt-10">} </span></div><hr> +</p><!--l. 442--><p class="noindent" > +</p><!--l. 444--><p class="indent" > This date can later be displayed using the same format as that used by +<span +class="cmtt-10">\formatdate</span><a + id="dx1-11003"></a> using the command: +</p><!--l. 446--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\displaydate</span><span +class="cmtt-9"> </span></span><a + id="dx1-11004"></a> <span +class="cmtt-10">\displaydate{</span>⟨<span +class="cmitt-10">name</span>⟩<span +class="cmtt-10">} </span></div><hr> +</p><!--l. 448--><p class="noindent" > +</p><!--l. 450--><p class="indent" > Individual elements of the date can be extracted using the commands: +</p><!--l. 452--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\getdateday</span><span +class="cmtt-9"> </span></span><a + id="dx1-11005"></a> <span +class="cmtt-10">\getdateday{</span>⟨<span +class="cmitt-10">name</span>⟩<span +class="cmtt-10">} </span></div><hr> +</p><!--l. 454--><p class="noindent" > +</p><!--l. 455--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\getdatemonth</span><span +class="cmtt-9"> </span></span><a + id="dx1-11006"></a> <span +class="cmtt-10">\getdatemonth{</span>⟨<span +class="cmitt-10">name</span>⟩<span +class="cmtt-10">} </span></div><hr> +</p><!--l. 457--><p class="noindent" > +</p><!--l. 458--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\getdateyear</span><span +class="cmtt-9"> </span></span><a + id="dx1-11007"></a> <span +class="cmtt-10">\getdateyear{</span>⟨<span +class="cmitt-10">name</span>⟩<span +class="cmtt-10">} </span></div><hr> +</p><!--l. 460--><p class="noindent" > +</p><!--l. 462--><p class="noindent" > +</p> +<!--l. 462--><p class="noindent" ><a +href="#top">Top</a><h2 class="sectionHead"></p><h3 class="sectionHead"><span class="titlemark">7 </span> <a + id="x1-120007"></a>Predefined Names</h3> +<!--l. 464--><p class="noindent" >The following commands are defined by the <span +class="cmss-10">datetime </span>package: +</p> + + + + <div class="tabular"> <table id="TBL-2" class="tabular" +cellspacing="0" cellpadding="0" +><colgroup id="TBL-2-1g"><col +id="TBL-2-1" /><col +id="TBL-2-2" /></colgroup><tr + style="vertical-align:baseline;" id="TBL-2-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-1-1" +class="td11"><span +class="cmbx-10">Command Name</span></td><td style="white-space:nowrap; text-align:left;" id="TBL-2-1-2" +class="td11"><span +class="cmbx-10">Default Value </span></td></tr><tr + style="vertical-align:baseline;" id="TBL-2-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-2-1" +class="td11"><span +class="cmtt-10">\dateseparator</span><a + id="dx1-12001"></a> </td> <td style="white-space:nowrap; text-align:left;" id="TBL-2-2-2" +class="td11"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">/</span></span></span></td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-3-1" +class="td11"><span +class="cmtt-10">\timeseparator</span><a + id="dx1-12002"></a> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-3-2" +class="td11"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">:</span></span></span> </td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-4-1" +class="td11"><span +class="cmtt-10">\amname</span><a + id="dx1-12003"></a> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-4-2" +class="td11"><span +class="cmtt-10">am </span></td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-5-1" +class="td11"><span +class="cmtt-10">\pmname</span><a + id="dx1-12004"></a> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-5-2" +class="td11"><span +class="cmtt-10">pm </span></td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-6-1" +class="td11"><span +class="cmtt-10">\amorpmname</span><a + id="dx1-12005"></a> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-6-2" +class="td11"><span +class="cmtt-10">\amname</span><a + id="dx1-12006"></a> if morning, otherwise <span +class="cmtt-10">\pmname</span><a + id="dx1-12007"></a> </td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-7-1" +class="td11"><span +class="cmtt-10">\amstring</span><a + id="dx1-12008"></a> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-7-2" +class="td11"><span +class="cmtt-10">in the morning </span></td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-8-1" +class="td11"><span +class="cmtt-10">\pmstring</span><a + id="dx1-12009"></a> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-8-2" +class="td11"><span +class="cmtt-10">in the afternoon </span></td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-9-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-9-1" +class="td11"><span +class="cmtt-10">\amorpmstring</span><a + id="dx1-12010"></a> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-9-2" +class="td11"><span +class="cmtt-10">\amstring</span><a + id="dx1-12011"></a> if morning, otherwise <span +class="cmtt-10">\pmstring</span><a + id="dx1-12012"></a></td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-10-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-10-1" +class="td11"><span +class="cmtt-10">\halfpast</span><a + id="dx1-12013"></a> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-10-2" +class="td11"><span +class="cmtt-10">Half past </span></td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-11-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-11-1" +class="td11"><span +class="cmtt-10">\quarterpast</span><a + id="dx1-12014"></a> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-11-2" +class="td11"><span +class="cmtt-10">Quarter past </span></td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-12-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-12-1" +class="td11"><span +class="cmtt-10">\quarterto</span><a + id="dx1-12015"></a> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-12-2" +class="td11"><span +class="cmtt-10">Quarter to </span></td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-13-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-13-1" +class="td11"><span +class="cmtt-10">\noon</span><a + id="dx1-12016"></a> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-13-2" +class="td11"><span +class="cmtt-10">Noon </span></td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-14-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-14-1" +class="td11"><span +class="cmtt-10">\midnight</span><a + id="dx1-12017"></a> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-14-2" +class="td11"><span +class="cmtt-10">Midnight </span></td> +</tr><tr + style="vertical-align:baseline;" id="TBL-2-15-"><td style="white-space:nowrap; text-align:left;" id="TBL-2-15-1" +class="td11"><span +class="cmtt-10">\oclockstring</span><a + id="dx1-12018"></a> </td><td style="white-space:nowrap; text-align:left;" id="TBL-2-15-2" +class="td11"><span +class="cmtt-10">O’Clock </span></td> </tr></table> +</div> +<!--l. 486--><p class="noindent" > +</p> +<!--l. 486--><p class="noindent" ><a +href="#top">Top</a><h2 class="sectionHead"></p><h3 class="sectionHead"><span class="titlemark">8 </span> <a + id="x1-130008"></a>Package Options</h3> +<!--l. 488--><p class="noindent" >The following options may be passed to this package: + </p><dl class="description"><dt class="description"> +<span +class="cmssbx-10">long</span><a + id="dx1-13001"></a> </dt><dd +class="description">make <span +class="cmtt-10">\today </span>produce long date + </dd><dt class="description"> +<span +class="cmssbx-10">short</span><a + id="dx1-13002"></a> </dt><dd +class="description">make <span +class="cmtt-10">\today </span>produce short date + </dd><dt class="description"> +<span +class="cmssbx-10">yyyymmdd</span><a + id="dx1-13003"></a> </dt><dd +class="description">make <span +class="cmtt-10">\today </span>produce YYYY/MM/DD date + </dd><dt class="description"> +<span +class="cmssbx-10">ddmmyyyy</span><a + id="dx1-13004"></a> </dt><dd +class="description">make <span +class="cmtt-10">\today </span>produce DD/MM/YYYY date + </dd><dt class="description"> +<span +class="cmssbx-10">dmyyyy</span><a + id="dx1-13005"></a> </dt><dd +class="description">make <span +class="cmtt-10">\today </span>produce D/M/YYYY date + </dd><dt class="description"> +<span +class="cmssbx-10">ddmmyy</span><a + id="dx1-13006"></a> </dt><dd +class="description">make <span +class="cmtt-10">\today </span>produce DD/MM/YY date + </dd><dt class="description"> +<span +class="cmssbx-10">dmyy</span><a + id="dx1-13007"></a> </dt><dd +class="description">make <span +class="cmtt-10">\today </span>produce D/M/YY date + </dd><dt class="description"> +<span +class="cmssbx-10">text</span><a + id="dx1-13008"></a> </dt><dd +class="description">make <span +class="cmtt-10">\today </span>produce text date in UK style + </dd><dt class="description"> +<span +class="cmssbx-10">us</span><a + id="dx1-13009"></a> </dt><dd +class="description">make <span +class="cmtt-10">\today </span>produce US style date + </dd><dt class="description"> +<span +class="cmssbx-10">mmddyyyy</span><a + id="dx1-13010"></a> </dt><dd +class="description">make <span +class="cmtt-10">\today </span>produce MM/DD/YYYY date + + + + </dd><dt class="description"> +<span +class="cmssbx-10">mdyyyy</span><a + id="dx1-13011"></a> </dt><dd +class="description">make <span +class="cmtt-10">\today </span>produce M/D/YYYY date + </dd><dt class="description"> +<span +class="cmssbx-10">mmddyy</span><a + id="dx1-13012"></a> </dt><dd +class="description">make <span +class="cmtt-10">\today </span>produce MM/DD/YY date + </dd><dt class="description"> +<span +class="cmssbx-10">mdyy</span><a + id="dx1-13013"></a> </dt><dd +class="description">make <span +class="cmtt-10">\today </span>produce M/D/YY date + </dd><dt class="description"> +<span +class="cmssbx-10">raise</span><a + id="dx1-13014"></a> </dt><dd +class="description">make ordinal st,nd,rd,th appear as superscript + </dd><dt class="description"> +<span +class="cmssbx-10">level</span><a + id="dx1-13015"></a> </dt><dd +class="description">make ordinal st,nd,rd,th appear level with rest of text + </dd><dt class="description"> +<span +class="cmssbx-10">dayofweek</span><a + id="dx1-13016"></a> </dt><dd +class="description">make the day of week appear for <span +class="cmtt-10">\longdate</span><a + id="dx1-13017"></a>, <span +class="cmtt-10">\shortdate</span><a + id="dx1-13018"></a> or + <span +class="cmtt-10">\textdate</span><a + id="dx1-13019"></a> + </dd><dt class="description"> +<span +class="cmssbx-10">nodayofweek</span><a + id="dx1-13020"></a> </dt><dd +class="description">don’t display the day of week. + </dd><dt class="description"> +<span +class="cmssbx-10">hhmmss</span><a + id="dx1-13021"></a> </dt><dd +class="description">make <span +class="cmtt-10">\currenttime </span>produce <span +class="cmtt-10">hhmmsstime </span>format + </dd><dt class="description"> +<span +class="cmssbx-10">24hr</span><a + id="dx1-13022"></a> </dt><dd +class="description">make <span +class="cmtt-10">\currenttime </span>produce <span +class="cmtt-10">xxivtime </span>format + </dd><dt class="description"> +<span +class="cmssbx-10">12hr</span><a + id="dx1-13023"></a> </dt><dd +class="description">make <span +class="cmtt-10">\currenttime </span>produce <span +class="cmtt-10">ampmtime </span>format + </dd><dt class="description"> +<span +class="cmssbx-10">oclock</span><a + id="dx1-13024"></a> </dt><dd +class="description">make <span +class="cmtt-10">\currenttime </span>produce <span +class="cmtt-10">oclock </span>format + </dd><dt class="description"> +<span +class="cmssbx-10">nodate</span><a + id="dx1-13025"></a> </dt><dd +class="description">Don’t redefine <span +class="cmtt-10">\today </span>or define the month or day of week commands + (useful if you only want the time commands) + </dd><dt class="description"> +<span +class="cmssbx-10">iso</span><a + id="dx1-13026"></a> </dt><dd +class="description">as <span +class="cmss-10">ddmmyyyy</span><a + id="dx1-13027"></a> and <span +class="cmss-10">hhmmss</span><a + id="dx1-13028"></a> but also sets date separator to <span +class="cmtt-10">- </span>and time separator + to <span +class="cmtt-10">:</span></dd></dl> +<!--l. 526--><p class="indent" > The default options are: <span +class="cmss-10">long</span><a + id="dx1-13029"></a>, <span +class="cmss-10">raise</span><a + id="dx1-13030"></a>, <span +class="cmss-10">dayofweek</span><a + id="dx1-13031"></a> and <span +class="cmss-10">24hr</span><a + id="dx1-13032"></a>. +</p><!--l. 529--><p class="noindent" > +</p> +<!--l. 529--><p class="noindent" ><a +href="#top">Top</a><h2 class="sectionHead"></p><h3 class="sectionHead"><span class="titlemark">9 </span> <a + id="x1-140009"></a>Multilingual Support</h3> + + + +<!--l. 531--><p class="noindent" >If you use the <span +class="cmss-10">ngerman</span><a + id="dx1-14001"></a> package, you must use <span +class="cmss-10">datetime</span>’s <span +class="cmss-10">ngerman</span><a + id="dx1-14002"></a> package option if you +want the date displayed in the same form as <span +class="cmss-10">ngerman</span><a + id="dx1-14003"></a>. You must also load <span +class="cmss-10">ngerman</span><a + id="dx1-14004"></a> +<span +class="cmti-10">before </span>you load <span +class="cmss-10">datetime</span>. Similarly for the <span +class="cmss-10">german</span><a + id="dx1-14005"></a> package. +</p><!--l. 537--><p class="indent" > If you want to use the <span +class="cmss-10">babel</span><a + id="dx1-14006"></a> package, you must load it <span +class="cmti-10">before </span>you load the <span +class="cmss-10">datetime</span> +package. This is because the <span +class="cmss-10">babel</span><a + id="dx1-14007"></a> <span +class="cmtt-10">\date</span>⟨<span +class="cmti-10">lang</span>⟩ commands redefine <span +class="cmtt-10">\today</span><a + id="dx1-14008"></a>, whereas the +<span +class="cmss-10">datetime</span><a + id="dx1-14009"></a> package redefines <span +class="cmtt-10">\today </span>to use <span +class="cmtt-10">\formatdate</span><a + id="dx1-14010"></a>, and the date formatting +commands (such as <span +class="cmtt-10">\longdate</span><a + id="dx1-14011"></a>) redefine <span +class="cmtt-10">\formatdate </span>rather than <span +class="cmtt-10">\today</span>. This ensures +consistent formatting of the dates whether you use <span +class="cmtt-10">\today </span>or <span +class="cmtt-10">\formatdate</span>. Therefore, +the <span +class="cmss-10">datetime </span>package has to redefine all the <span +class="cmtt-10">\date</span>⟨<span +class="cmti-10">lang</span>⟩ commands accordingly. Thus the +multilingual date support is mostly limited to that provided by <span +class="cmss-10">babel</span><a + id="dx1-14012"></a>. Additional +support, such as the day of week names and abbreviations, are only supplied for +those languages that I know, or that other people have been able to supply for +me. +</p><!--l. 553--><p class="indent" > As from v2.56, the package options supplied to <span +class="cmss-10">datetime </span>override <span +class="cmss-10">babel</span><a + id="dx1-14013"></a>’s date +format. For example: + + + +</p> + <div class="verbatim" id="verbatim-16"> +\usepackage[french,spanish]{babel} + <br />\usepackage[ddmmyyyy]{datetime} +</div> +<!--l. 558--><p class="nopar" > will use ddmmyyyy date format regardless of language. Note that if you use a +declaration instead of a package option, for example: + + + +</p> + <div class="verbatim" id="verbatim-17"> +\usepackage[french,spanish]{babel} + <br />\usepackage{datetime} + <br />\ddmmyyyydate +</div> +<!--l. 566--><p class="nopar" > the date format will be switched back to <span +class="cmtt-10">\datefrench </span>or <span +class="cmtt-10">\datespanish </span>whenever the +language is set. You can use +</p><!--l. 569--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span +class="cmtt-9">\setdefaultdate</span><span +class="cmtt-9"> </span></span><a + id="dx1-14014"></a> <span +class="cmtt-10">\setdefaultdate{</span>⟨<span +class="cmitt-10">declaration</span>⟩<span +class="cmtt-10">} </span></div><hr> +</p><!--l. 571--><p class="noindent" > +to always use <span +class="cmtt-10">{</span>⟨<span +class="cmti-10">declaration</span>⟩<span +class="cmtt-10">} </span>whenever the language is set. For example: + + + +</p> + <div class="verbatim" id="verbatim-18"> +\setdefaultdate{\ddmmyyyydate} +</div> +<!--l. 576--><p class="nopar" > +</p><!--l. 578--><p class="indent" > The commands <span +class="cmtt-10">\monthname</span><a + id="dx1-14015"></a> and <span +class="cmtt-10">\shortmonthname</span><a + id="dx1-14016"></a>, will produce the month name in +the current language. If you want the month name in a specific language, you +can use the command <span +class="cmtt-10">\monthname</span>⟨<span +class="cmti-10">lang</span>⟩. For example, <span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\monthnamefrench[6]</span></span></span> +will produce the output: juin. Note that <span +class="cmtt-10">\textdate</span><a + id="dx1-14017"></a> is formatted for English +dates, and won’t look right if used with another language setting. If you want +a textual date, the <span +class="cmss-10">fmtcount</span><a + id="dx1-14018"></a> package (which is loaded by <span +class="cmss-10">datetime</span>) defines +some commands which display a number or ordinal as a word, but it only has +very limited multilingual support. See the <span +class="cmss-10">fmtcount</span><a + id="dx1-14019"></a> documentation for further +details. +</p><!--l. 591--><p class="noindent" > +</p> +<!--l. 591--><p class="noindent" ><a +href="#top">Top</a><h2 class="sectionHead"></p><h3 class="sectionHead"><span class="titlemark">10 </span> <a + id="x1-1500010"></a>Registers</h3> +<!--l. 593--><p class="noindent" ><span class="TEX">T<span +class="E">E</span>X</span> provides <span +class="cmtt-10">\day</span><a + id="dx1-15001"></a>, <span +class="cmtt-10">\month</span><a + id="dx1-15002"></a> and <span +class="cmtt-10">\year</span><a + id="dx1-15003"></a> registers. In addition, <span +class="cmss-10">datetime </span>provides the +registers: <span +class="cmtt-10">\currenthour</span><a + id="dx1-15004"></a>, <span +class="cmtt-10">\currentminute</span><a + id="dx1-15005"></a> and <span +class="cmtt-10">\currentsecond</span><a + id="dx1-15006"></a>. Note that old +distributions of <span class="TEX">T<span +class="E">E</span>X</span> will always have <span +class="cmtt-10">\currentsecond </span>set to zero. +</p><!--l. 599--><p class="noindent" > +</p> +<!--l. 599--><p class="noindent" ><a +href="#top">Top</a><h2 class="sectionHead"></p><h3 class="sectionHead"><span class="titlemark">11 </span> <a + id="x1-1600011"></a>Configuration File</h3> +<!--l. 601--><p class="noindent" >As from Version 2.4, the <span +class="cmss-10">datetime </span>package will read in settings from the configuration +file <span +class="cmtt-10">datetime.cfg</span>, if it exists, which will override the default package options. +For example, suppose you prefer a short date without the day of week by +default, you will need to create a file called <span +class="cmtt-10">datetime.cfg </span>that contains the +line: + + + +</p> + <div class="verbatim" id="verbatim-19"> +\shortdate\showdowfalse +</div> +<!--l. 609--><p class="nopar" > The file <span +class="cmtt-10">datetime.cfg </span>should then go somewhere on the <span class="TEX">T<span +class="E">E</span>X</span> path. Now all you need +to do is: + + + +</p> + <div class="verbatim" id="verbatim-20"> +\usepackage{datetime} +</div> +<!--l. 614--><p class="nopar" > without having to specify the <span +class="cmss-10">short</span><a + id="dx1-16001"></a> and <span +class="cmss-10">nodayofweek</span><a + id="dx1-16002"></a> options. +</p><!--l. 618--><p class="indent" > You can also use this file to define and set your own date styles. For example, you +could create a configuration file that has the following lines: + + + +</p> + <div class="verbatim" id="verbatim-21"> +\newdateformat{dashdate}{\twodigit{\THEDAY}-\twodigit{\THEMONTH}-\THEYEAR} + <br />\dashdate +</div> +<!--l. 624--><p class="nopar" > Whenever you use the <span +class="cmss-10">datetime </span>package, it will now use this format by default. +</p><!--l. 628--><p class="noindent" > +</p> +<!--l. 628--><p class="noindent" ><a +href="#top">Top</a><h2 class="sectionHead"></p><h3 class="sectionHead"><span class="titlemark">12 </span> <a + id="x1-1700012"></a>LaTeX2HTML styles</h3> +<a + id="dx1-17001"></a> +<a + id="dx1-17002"></a> +<!--l. 632--><p class="noindent" >Version 2.43 and above of the <span +class="cmss-10">datetime </span>bundle supplies the LaTeX2HTML style file +<span +class="cmtt-10">datetime.perl</span>. This file should be placed in a directory searched by LaTeX2HTML. +The following limitations apply to the LaTeX2HTML styles: +</p> + <ul class="itemize1"> + <li class="itemize">The configuration file <span +class="cmtt-10">datetime.cfg </span>is currently ignored. You can however + do: + + + + <div class="verbatim" id="verbatim-22"> + \usepackage{datetime} +  <br />\html{\input{datetime.cfg}} +</div> + <!--l. 645--><p class="nopar" > This, I agree, is an unpleasant cludge. + </p></li> + <li class="itemize">The commands <span +class="cmtt-10">\monthname</span>⟨<span +class="cmti-10">language</span>⟩ are not implemented. + </li> + <li class="itemize">Some of the languages are not implemented. + </li> + <li class="itemize">The package option <span +class="cmss-10">nodate</span><a + id="dx1-17003"></a> is not implemented. + </li></ul> +<!--l. 657--><p class="noindent" > +</p> +<!--l. 657--><p class="noindent" ><a +href="#top">Top</a><h2 class="sectionHead"></p><h3 class="sectionHead"><span class="titlemark">13 </span> <a + id="x1-1800013"></a>Troubleshooting</h3> +<!--l. 659--><p class="noindent" >There is a <span +class="cmss-10">datetime</span><a + id="dx1-18001"></a> FAQ available at: <a +href="http://www.dickimaw-books.com/faqs/datetimefaq.html" class="url" ><span +class="cmtt-10">http://www.dickimaw-books.com/faqs/datetimefaq.html</span></a>. +</p><!--l. 664--><p class="indent" > <a + id="likesection.1"></a><a + id="Q1-1-19"></a> + + + + <a + id="likesection.2"></a><a + id="Q1-1-20"></a> +</p> + <h3 class="likesectionHead"><a + id="x1-1900013"></a>Index</h3> +<!--l. 4--><p class="noindent" > <span +class="cmbx-10">A</span> +</p> + <div class="theindex"><span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\amname</span></span></span>  <a +href="datetime-manual.html#dx1-12003" ><span class="underline">1</span></a>, <a +href="datetime-manual.html#dx1-12006" ><span class="underline">2</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\amorpmname</span></span></span>  <a +href="datetime-manual.html#dx1-12005" ><span class="underline">3</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\amorpmstring</span></span></span>  <a +href="datetime-manual.html#dx1-12010" ><span class="underline">4</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\amstring</span></span></span>  <a +href="datetime-manual.html#dx1-12008" ><span class="underline">5</span></a>, <a +href="datetime-manual.html#dx1-12011" ><span class="underline">6</span></a> <br /></span> +<p class="theindex"> <span +class="cmbx-10">B</span> +<span class="index-item"><span +class="cmss-10">babel </span>package  <a +href="datetime-manual.html#dx1-2011" >7</a>, <a +href="datetime-manual.html#dx1-2012" >8</a>, <a +href="datetime-manual.html#dx1-7001" >9</a>, <a +href="datetime-manual.html#dx1-14006" >10</a>, <a +href="datetime-manual.html#dx1-14007" >11</a>, <a +href="datetime-manual.html#dx1-14012" >12</a>, <a +href="datetime-manual.html#dx1-14013" >13</a> <br /></span> +</p><p class="theindex"> <span +class="cmbx-10">C</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\currenthour</span></span></span>  <a +href="datetime-manual.html#dx1-15004" ><span class="underline">14</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\currentminute</span></span></span>  <a +href="datetime-manual.html#dx1-15005" ><span class="underline">15</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\currentsecond</span></span></span>  <a +href="datetime-manual.html#dx1-15006" ><span class="underline">16</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\currenttime</span></span></span>  <a +href="datetime-manual.html#dx1-8001" ><span +class="cmti-10">17</span></a> <br /></span> +</p><p class="theindex"> <span +class="cmbx-10">D</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\dateseparator</span></span></span>  <a +href="datetime-manual.html#dx1-3003" ><span +class="cmti-10">18</span></a>, <a +href="datetime-manual.html#dx1-4003" ><span class="underline">19</span></a>, <a +href="datetime-manual.html#dx1-12001" ><span class="underline">20</span></a> <br /></span> +<span class="index-item"><span +class="cmss-10">datetime </span>package  <a +href="datetime-manual.html#dx1-14009" >21</a>, <a +href="datetime-manual.html#dx1-18001" >22</a> <br /></span> +<span class="index-item"><span +class="cmss-10">datetime2 </span>package  <a +href="datetime-manual.html#dx1-2" >23</a> <br /></span> +<span class="index-item"><span +class="cmtt-10">DAY </span>(counter)  <a +href="datetime-manual.html#dx1-10005" >24</a>, <a +href="datetime-manual.html#dx1-10013" >25</a>, <a +href="datetime-manual.html#dx1-10016" >26</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\day</span></span></span>  <a +href="datetime-manual.html#dx1-15001" ><span class="underline">27</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\dayofweekname</span></span></span>  <a +href="datetime-manual.html#dx1-9005" ><span +class="cmti-10">28</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\ddmmyydate</span></span></span>  <a +href="datetime-manual.html#dx1-5013" ><span +class="cmti-10">29</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\ddmmyyyydate</span></span></span>  <a +href="datetime-manual.html#dx1-3002" ><span class="underline">30</span></a>, <a +href="datetime-manual.html#dx1-5009" ><span +class="cmti-10">31</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\displaydate</span></span></span>  <a +href="datetime-manual.html#dx1-11004" ><span +class="cmti-10">32</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\dmyydate</span></span></span>  <a +href="datetime-manual.html#dx1-5015" ><span +class="cmti-10">33</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\dmyyyydate</span></span></span>  <a +href="datetime-manual.html#dx1-5011" ><span +class="cmti-10">34</span></a> <br /></span> +</p><p class="theindex"> <span +class="cmbx-10">F</span> +<span class="index-item"><span +class="cmss-10">fmtcount </span>package  <a +href="datetime-manual.html#dx1-2007" >35</a>, <a +href="datetime-manual.html#dx1-2009" >36</a>, <a +href="datetime-manual.html#dx1-5023" >37</a>, <a +href="datetime-manual.html#dx1-9013" >38</a>, <a +href="datetime-manual.html#dx1-14018" >39</a>, <a +href="datetime-manual.html#dx1-14019" >40</a>, <a +href="datetime-manual.html#dx1-5022" >41</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\formatdate</span></span></span>  <a +href="datetime-manual.html#dx1-9016" ><span +class="cmti-10">42</span></a>, <a +href="datetime-manual.html#dx1-10010" ><span class="underline">43</span></a>, <a +href="datetime-manual.html#dx1-11003" ><span class="underline">44</span></a>, <a +href="datetime-manual.html#dx1-14010" ><span class="underline">45</span></a>, <a +href="datetime-manual.html#dx1-9020" ><span class="underline">46</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\formattime</span></span></span>  <a +href="datetime-manual.html#dx1-8002" ><span +class="cmti-10">47</span></a> <br /></span> +</p><p class="theindex"> <span +class="cmbx-10">G</span> + + + +<span class="index-item"><span +class="cmss-10">german </span>package  <a +href="datetime-manual.html#dx1-14005" >48</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\getdateday</span></span></span>  <a +href="datetime-manual.html#dx1-11005" ><span +class="cmti-10">49</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\getdatemonth</span></span></span>  <a +href="datetime-manual.html#dx1-11006" ><span +class="cmti-10">50</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\getdateyear</span></span></span>  <a +href="datetime-manual.html#dx1-11007" ><span +class="cmti-10">51</span></a> <br /></span> +</p><p class="theindex"> <span +class="cmbx-10">H</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\halfpast</span></span></span>  <a +href="datetime-manual.html#dx1-12013" ><span class="underline">52</span></a> <br /></span> +<span class="index-item"><span +class="cmtt-10">HOUR </span>(counter)  <a +href="datetime-manual.html#dx1-8006" >53</a> <br /></span> +<span class="index-item"><span +class="cmtt-10">HOURXII </span>(counter)  <a +href="datetime-manual.html#dx1-8009" >54</a> <br /></span> +</p><p class="theindex"> <span +class="cmbx-10">I</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\ifshowdow</span></span></span>  <a +href="datetime-manual.html#dx1-9007" ><span +class="cmti-10">55</span></a> <br /></span> +<span class="index-item"><span +class="cmss-10">ifthen </span>package  <a +href="datetime-manual.html#dx1-9010" >56</a> <br /></span> +</p><p class="theindex"> <span +class="cmbx-10">L</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\longdate</span></span></span>  <a +href="datetime-manual.html#dx1-5001" ><span +class="cmti-10">57</span></a>, <a +href="datetime-manual.html#dx1-9022" ><span class="underline">58</span></a>, <a +href="datetime-manual.html#dx1-13017" ><span class="underline">59</span></a>, <a +href="datetime-manual.html#dx1-14011" ><span class="underline">60</span></a>, <a +href="datetime-manual.html#dx1-9021" ><span class="underline">61</span></a> <br /></span> +</p><p class="theindex"> <span +class="cmbx-10">M</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\mdyydate</span></span></span>  <a +href="datetime-manual.html#dx1-6007" ><span +class="cmti-10">62</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\mdyyyydate</span></span></span>  <a +href="datetime-manual.html#dx1-6004" ><span +class="cmti-10">63</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\midnight</span></span></span>  <a +href="datetime-manual.html#dx1-12017" ><span class="underline">64</span></a> <br /></span> +<span class="index-item"><span +class="cmtt-10">MINUTE </span>(counter)  <a +href="datetime-manual.html#dx1-8007" >65</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\mmddyydate</span></span></span>  <a +href="datetime-manual.html#dx1-6005" ><span +class="cmti-10">66</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\mmddyyyydate</span></span></span>  <a +href="datetime-manual.html#dx1-6002" ><span +class="cmti-10">67</span></a> <br /></span> +<span class="index-item"><span +class="cmtt-10">MONTH </span>(counter)  <a +href="datetime-manual.html#dx1-10006" >68</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\month</span></span></span>  <a +href="datetime-manual.html#dx1-15002" ><span class="underline">69</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\monthname</span></span></span>  <a +href="datetime-manual.html#dx1-9003" ><span +class="cmti-10">70</span></a>, <a +href="datetime-manual.html#dx1-14015" ><span class="underline">71</span></a> <br /></span> +</p><p class="theindex"> <span +class="cmbx-10">N</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\newdate</span></span></span>  <a +href="datetime-manual.html#dx1-11002" ><span +class="cmti-10">72</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\newdateformat</span></span></span>  <a +href="datetime-manual.html#dx1-10001" ><span +class="cmti-10">73</span></a>, <a +href="datetime-manual.html#dx1-10011" ><span class="underline">74</span></a>, <a +href="datetime-manual.html#dx1-10014" ><span class="underline">75</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\newtimeformat</span></span></span>  <a +href="datetime-manual.html#dx1-8004" ><span +class="cmti-10">76</span></a> <br /></span> +<span class="index-item"><span +class="cmss-10">ngerman </span>package  <a +href="datetime-manual.html#dx1-14001" >77</a>, <a +href="datetime-manual.html#dx1-14003" >78</a>, <a +href="datetime-manual.html#dx1-14004" >79</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\noon</span></span></span>  <a +href="datetime-manual.html#dx1-12016" ><span class="underline">80</span></a> <br /></span> +</p><p class="theindex"> <span +class="cmbx-10">O</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\oclockstring</span></span></span>  <a +href="datetime-manual.html#dx1-12018" ><span class="underline">81</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\ordinal</span></span></span>  <a +href="datetime-manual.html#dx1-2008" ><span class="underline">82</span></a>, <a +href="datetime-manual.html#dx1-10008" ><span class="underline">83</span></a>, <a +href="datetime-manual.html#dx1-10015" ><span class="underline">84</span></a> <br /></span> + + + +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\ordinaldate</span></span></span>  <a +href="datetime-manual.html#dx1-9011" ><span +class="cmti-10">85</span></a>, <a +href="datetime-manual.html#dx1-10017" ><span class="underline">86</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\ordinalnum</span></span></span>  <a +href="datetime-manual.html#dx1-9012" ><span class="underline">87</span></a> <br /></span> +</p><p class="theindex"> <span +class="cmbx-10">P</span> +<span class="index-item">package options:<br /></span> +<span class="index-subitem">    <span +class="cmss-10">12hr</span>  <a +href="datetime-manual.html#dx1-13023" ><span class="underline">88</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">24hr</span>  <a +href="datetime-manual.html#dx1-13022" ><span class="underline">89</span></a>, <a +href="datetime-manual.html#dx1-13032" ><span class="underline">90</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">dayofweek</span>  <a +href="datetime-manual.html#dx1-5003" ><span class="underline">91</span></a>, <a +href="datetime-manual.html#dx1-5007" ><span class="underline">92</span></a>, <a +href="datetime-manual.html#dx1-5019" ><span class="underline">93</span></a>, <a +href="datetime-manual.html#dx1-9008" ><span class="underline">94</span></a>, <a +href="datetime-manual.html#dx1-9009" ><span class="underline">95</span></a>, <a +href="datetime-manual.html#dx1-13016" ><span class="underline">96</span></a>, <a +href="datetime-manual.html#dx1-13031" ><span class="underline">97</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">ddmmyy</span>  <a +href="datetime-manual.html#dx1-13006" ><span class="underline">98</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">ddmmyyyy</span>  <a +href="datetime-manual.html#dx1-13004" ><span class="underline">99</span></a>, <a +href="datetime-manual.html#dx1-13027" ><span class="underline">100</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">dmyy</span>  <a +href="datetime-manual.html#dx1-13007" ><span class="underline">101</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">dmyyyy</span>  <a +href="datetime-manual.html#dx1-13005" ><span class="underline">102</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">hhmmss</span>  <a +href="datetime-manual.html#dx1-13021" ><span class="underline">103</span></a>, <a +href="datetime-manual.html#dx1-13028" ><span class="underline">104</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">iso</span>  <a +href="datetime-manual.html#dx1-13026" ><span class="underline">105</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">level</span>  <a +href="datetime-manual.html#dx1-13015" ><span class="underline">106</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">long</span>  <a +href="datetime-manual.html#dx1-13001" ><span class="underline">107</span></a>, <a +href="datetime-manual.html#dx1-13029" ><span class="underline">108</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">mdyy</span>  <a +href="datetime-manual.html#dx1-13013" ><span class="underline">109</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">mdyyyy</span>  <a +href="datetime-manual.html#dx1-13011" ><span class="underline">110</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">mmddyy</span>  <a +href="datetime-manual.html#dx1-13012" ><span class="underline">111</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">mmddyyyy</span>  <a +href="datetime-manual.html#dx1-13010" ><span class="underline">112</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">ngerman</span>  <a +href="datetime-manual.html#dx1-14002" ><span class="underline">113</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">nodate</span>  <a +href="datetime-manual.html#dx1-2004" ><span class="underline">114</span></a>, <a +href="datetime-manual.html#dx1-13025" ><span class="underline">115</span></a>, <a +href="datetime-manual.html#dx1-17003" ><span class="underline">116</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">nodayofweek</span>  <a +href="datetime-manual.html#dx1-5004" ><span class="underline">117</span></a>, <a +href="datetime-manual.html#dx1-5008" ><span class="underline">118</span></a>, <a +href="datetime-manual.html#dx1-5020" ><span class="underline">119</span></a>, <a +href="datetime-manual.html#dx1-13020" ><span class="underline">120</span></a>, <a +href="datetime-manual.html#dx1-16002" ><span class="underline">121</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">oclock</span>  <a +href="datetime-manual.html#dx1-13024" ><span class="underline">122</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">raise</span>  <a +href="datetime-manual.html#dx1-13014" ><span class="underline">123</span></a>, <a +href="datetime-manual.html#dx1-13030" ><span class="underline">124</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">short</span>  <a +href="datetime-manual.html#dx1-13002" ><span class="underline">125</span></a>, <a +href="datetime-manual.html#dx1-16001" ><span class="underline">126</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">text</span>  <a +href="datetime-manual.html#dx1-13008" ><span class="underline">127</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">us</span>  <a +href="datetime-manual.html#dx1-13009" ><span class="underline">128</span></a> <br /></span> +<span class="index-subitem">    <span +class="cmss-10">yyyymmdd</span>  <a +href="datetime-manual.html#dx1-13003" ><span class="underline">129</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pdfdate</span></span></span>  <a +href="datetime-manual.html#dx1-9001" ><span +class="cmti-10">130</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pmname</span></span></span>  <a +href="datetime-manual.html#dx1-12004" ><span class="underline">131</span></a>, <a +href="datetime-manual.html#dx1-12007" ><span class="underline">132</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\pmstring</span></span></span>  <a +href="datetime-manual.html#dx1-12009" ><span class="underline">133</span></a>, <a +href="datetime-manual.html#dx1-12012" ><span class="underline">134</span></a> <br /></span> +</p><p class="theindex"> <span +class="cmbx-10">Q</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\quarterpast</span></span></span>  <a +href="datetime-manual.html#dx1-12014" ><span class="underline">135</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\quarterto</span></span></span>  <a +href="datetime-manual.html#dx1-12015" ><span class="underline">136</span></a> <br /></span> +</p><p class="theindex"> <span +class="cmbx-10">S</span> +<span class="index-item"><span +class="cmtt-10">SECOND </span>(counter)  <a +href="datetime-manual.html#dx1-8008" >137</a> <br /></span> +<span class="index-item"><span +class="cmss-10">seminar </span>package  <a +href="datetime-manual.html#dx1-9015" >138</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\setdefaultdate</span></span></span>  <a +href="datetime-manual.html#dx1-14014" ><span +class="cmti-10">139</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\settimeformat</span></span></span>  <a +href="datetime-manual.html#dx1-8003" ><span +class="cmti-10">140</span></a>, <a +href="datetime-manual.html#dx1-8005" ><span class="underline">141</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\shortdate</span></span></span>  <a +href="datetime-manual.html#dx1-5005" ><span +class="cmti-10">142</span></a>, <a +href="datetime-manual.html#dx1-13018" ><span class="underline">143</span></a> <br /></span> + + + +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\shortdayofweekname</span></span></span>  <a +href="datetime-manual.html#dx1-9006" ><span +class="cmti-10">144</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\shortmonthname</span></span></span>  <a +href="datetime-manual.html#dx1-9004" ><span +class="cmti-10">145</span></a>, <a +href="datetime-manual.html#dx1-14016" ><span class="underline">146</span></a> <br /></span> +</p><p class="theindex"> <span +class="cmbx-10">T</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\textdate</span></span></span>  <a +href="datetime-manual.html#dx1-5017" ><span +class="cmti-10">147</span></a>, <a +href="datetime-manual.html#dx1-13019" ><span class="underline">148</span></a>, <a +href="datetime-manual.html#dx1-14017" ><span class="underline">149</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\THEDAY</span></span></span>  <a +href="datetime-manual.html#dx1-10002" ><span class="underline">150</span></a>, <a +href="datetime-manual.html#dx1-10012" ><span class="underline">151</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\THEHOUR</span></span></span>  <a +href="datetime-manual.html#dx1-8012" ><span class="underline">152</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\THEHOURXII</span></span></span>  <a +href="datetime-manual.html#dx1-8015" ><span class="underline">153</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\THEMINUTE</span></span></span>  <a +href="datetime-manual.html#dx1-8013" ><span class="underline">154</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\THEMONTH</span></span></span>  <a +href="datetime-manual.html#dx1-10003" ><span class="underline">155</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\THESECOND</span></span></span>  <a +href="datetime-manual.html#dx1-8014" ><span class="underline">156</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\THETOHOUR</span></span></span>  <a +href="datetime-manual.html#dx1-8016" ><span class="underline">157</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\THETOMINUTE</span></span></span>  <a +href="datetime-manual.html#dx1-8017" ><span class="underline">158</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\THEYEAR</span></span></span>  <a +href="datetime-manual.html#dx1-10004" ><span class="underline">159</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\timeseparator</span></span></span>  <a +href="datetime-manual.html#dx1-8018" ><span +class="cmti-10">160</span></a>, <a +href="datetime-manual.html#dx1-12002" ><span class="underline">161</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\today</span></span></span>  <a +href="datetime-manual.html#dx1-2003" ><span class="underline">162</span></a>, <a +href="datetime-manual.html#dx1-3001" ><span class="underline">163</span></a>, <a +href="datetime-manual.html#dx1-4002" ><span class="underline">164</span></a>, <a +href="datetime-manual.html#dx1-5002" ><span class="underline">165</span></a>, <a +href="datetime-manual.html#dx1-5006" ><span class="underline">166</span></a>, <a +href="datetime-manual.html#dx1-5010" ><span class="underline">167</span></a>, <a +href="datetime-manual.html#dx1-5012" ><span class="underline">168</span></a>, <a +href="datetime-manual.html#dx1-5014" ><span class="underline">169</span></a>, <a +href="datetime-manual.html#dx1-5016" ><span class="underline">170</span></a>, <a +href="datetime-manual.html#dx1-5018" ><span class="underline">171</span></a>, <a +href="datetime-manual.html#dx1-6003" ><span class="underline">172</span></a>, <a +href="datetime-manual.html#dx1-6006" ><span class="underline">173</span></a>, <a +href="datetime-manual.html#dx1-6008" ><span class="underline">174</span></a>, <a +href="datetime-manual.html#dx1-9017" ><span class="underline">175</span></a>, <a +href="datetime-manual.html#dx1-10009" ><span class="underline">176</span></a>, <a +href="datetime-manual.html#dx1-14008" ><span class="underline">177</span></a>, <a +href="datetime-manual.html#dx1-9019" ><span class="underline">178</span></a> <br /></span> +<span class="index-item"><span +class="cmtt-10">TOHOUR </span>(counter)  <a +href="datetime-manual.html#dx1-8010" >179</a> <br /></span> +<span class="index-item"><span +class="cmtt-10">TOMINUTE </span>(counter)  <a +href="datetime-manual.html#dx1-8011" >180</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\twodigit</span></span></span>  <a +href="datetime-manual.html#dx1-9023" ><span +class="cmti-10">181</span></a> <br /></span> +</p><p class="theindex"> <span +class="cmbx-10">U</span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\usdate</span></span></span>  <a +href="datetime-manual.html#dx1-6001" ><span +class="cmti-10">182</span></a> <br /></span> +</p><p class="theindex"> <span +class="cmbx-10">Y</span> +<span class="index-item"><span +class="cmtt-10">YEAR </span>(counter)  <a +href="datetime-manual.html#dx1-10007" >183</a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\year</span></span></span>  <a +href="datetime-manual.html#dx1-15003" ><span class="underline">184</span></a> <br /></span> +<span class="index-item"><span class="obeylines-h"><span class="verb"><span +class="cmtt-10">\yyyymmdddate</span></span></span>  <a +href="datetime-manual.html#dx1-4001" ><span +class="cmti-10">185</span></a> <br /></span> +</p></div> + <div class="footnotes"><!--l. 148--><p class="noindent" ><span class="footnote-mark"><a +href="#fn1x0-bk" id="fn1x0"><sup class="textsuperscript">1</sup></a></span><span +class="cmr-8">in fact, you may get an error from the </span><span +class="cmss-8">fmtcount</span><a + id="dx1-5022"></a> <span +class="cmr-8">package if you are using a language that it doesn’t</span> +<span +class="cmr-8">support.</span></p> +<!--l. 264--><p class="noindent" ><span class="footnote-mark"><a +href="#fn2x0-bk" id="fn2x0"><sup class="textsuperscript">2</sup></a></span><span +class="cmr-8">thanks to Ulrich Dirr for asking about this</span></p> +<!--l. 354--><p class="indent" > <span class="footnote-mark"><a +href="#fn3x0-bk" id="fn3x0"><sup class="textsuperscript">3</sup></a></span><span +class="cmr-8">Note the name change since version 1.1. The command name was changed from </span><span +class="cmtt-8">\thedate </span><span +class="cmr-8">to</span> +<span +class="cmtt-8">\formatdate </span><span +class="cmr-8">to avoid a name clash when using the </span><span +class="cmss-8">seminar</span><a + id="dx1-9015"></a> <span +class="cmr-8">class file.</span></p> +<!--l. 361--><p class="indent" > <span class="footnote-mark"><a +href="#fn4x0-bk" id="fn4x0"><sup class="textsuperscript">4</sup></a></span><span +class="cmr-8">To be more precise, </span><span +class="cmtt-8">\today</span><a + id="dx1-9019"></a> <span +class="cmr-8">is defined to be </span><span +class="cmtt-8">\formatdate</span><a + id="dx1-9020"></a><span +class="cmsy-8">{</span><span +class="cmtt-8">\day</span><span +class="cmsy-8">}{</span><span +class="cmtt-8">\month</span><span +class="cmsy-8">}{</span><span +class="cmtt-8">\year</span><span +class="cmsy-8">} </span><span +class="cmr-8">where</span> +<span +class="cmtt-8">\longdate</span><a + id="dx1-9021"></a> <span +class="cmr-8">etc change the definition of </span><span +class="cmtt-8">\formatdate</span></p> +<!--l. 439--><p class="indent" > <span class="footnote-mark"><a +href="#fn5x0-bk" id="fn5x0"><sup class="textsuperscript">5</sup></a></span><span +class="cmr-8">Thanks to Denis Bitouz</span><span +class="cmr-8">é</span> <span +class="cmr-8">for asking about this</span></p> </div> + +</body></html> + + + + diff --git a/Master/texmf-dist/doc/latex/datetime/datetime-manual.tex b/Master/texmf-dist/doc/latex/datetime/datetime-manual.tex new file mode 100644 index 00000000000..0580c26cbc9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/datetime/datetime-manual.tex @@ -0,0 +1,666 @@ +\documentclass{nlctdoc} + +\usepackage[colorlinks, + bookmarks, + bookmarksopen, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime.sty: A Date and Time Package}, + pdfkeywords={date,time,LaTeX}]{hyperref} + +\usepackage{creatdtx} + +\begin{document} +\RecordChanges +\OnlyDescription + +\title{datetime.sty v2.60: +Formatting Current Date and Time} + \author{Nicola L. C. Talbot\\[10pt] + Dickimaw Books\\ + \url{http://www.dickimaw-books.com/}} + \date{2015-03-20} + \maketitle + +\begin{important} +This is the last version of this package. The replacement package is +called \sty{datetime2} and will be released shortly after the +this final version. +\end{important} + + \tableofcontents + + \section{Introduction} +\changes{1.0}{2000/08/08}{First release} +\changes{1.01}{2000/09/18}{Documentation added} +The \styfmt{datetime} package is a \LaTeXe\ package that +provides various different formats for \ics{today}, +and provides commands for displaying the current time. +If you only want the +time commands but not the date changing commands, you can pass +the option \pkgopt{nodate} to the package. +\changes{2.3}{2004/05/01}{nodate package option added} + +\changes{2.41}{2004/10/22}{split package into two files: +datetime.sty and fmtcount.sty} +Since version 2.4, the \styfmt{datetime} package has been +separated into two packages: \styfmt{datetime} and +\sty{fmtcount}. When I originally created this package, +I defined the commands, \ics{ordinal} etc which could be used +in the definition of \cs{today}. Since then, I have extended +the number of commands available that can be used to display the +value of a \LaTeX\ counter, however it seems more appropriate to +define all these counter-related commands in a separate package. +The \sty{fmtcount} package is now distributed separately +from the \styfmt{datetime} package, and will also need to +be installed. + +\changes{2.42}{2004/11/01}{made package compatible with babel} +As from version 2.42, the \styfmt{datetime} package is now +compatible with \sty{babel}, however you must load the +\styfmt{datetime} package \emph{after} the \sty{babel} package. +For example: +\begin{verbatim} +\usepackage[francais]{babel} +\usepackage{datetime} +\end{verbatim} + + \section{Predefined Date Formats} + There are various declarations that change the effect of +\ics{today}. The change can be localised by placing the +declaration within a group. + +As from version 2.43, the numerical date formats (such as +\ics{ddmmyyyydate}) use the command +\begin{definition}[\DescribeMacro{\dateseparator}] +\cs{dateseparator} +\end{definition} +to separate the numbers. So, for example, if you want to hyphens +instead of slashes, you can do: +\begin{verbatim} +\renewcommand{\dateseparator}{-} +\end{verbatim} + +\subsection{ISO format} + +\begin{definition}[\DescribeMacro{\yyyymmdddate}] +\cs{yyyymmdddate} +\end{definition} +This declaration will redefine \ics{today} to produce the current +date displayed in the form 2000/03/08. (You can redefine +\ics{dateseparator} to \texttt{-} to change to 2000-03-08.) + +\subsection{\texorpdfstring{\meta{Day} \meta{Month} \meta{Year}}{Day Month Year} formats} + +\begin{definition}[\DescribeMacro{\longdate}] +\cs{longdate} +\end{definition} +This declaration will redefine \ics{today} to produce the current +date displayed in the form Wednesday 8\textsuperscript{th} March, +2000 if the package option \pkgopt{dayofweek} is used, or +8\textsuperscript{th} March, 2000 if the package option +\pkgopt{nodayofweek} is used. + +\begin{definition}[\DescribeMacro{\shortdate}] +\cs{shortdate} +\end{definition} +This declaration will redefine \ics{today} to produce the current +date displayed in the form Wed 8\textsuperscript{th} Mar, 2000 if +the package option \pkgopt{dayofweek} is used, or +8\textsuperscript{th} Mar, 2000 if the package option +\pkgopt{nodayofweek} is used. + +\begin{definition}[\DescribeMacro{\ddmmyyyydate}] +\cs{ddmmyyyydate} +\end{definition} +This declaration will redefine \ics{today} to produce the current +date displayed in the form 08/03/2000. + +\begin{definition}[\DescribeMacro{\dmyyyydate}] +\cs{dmyyyydate} +\end{definition} +This declaration will redefine \ics{today} to produce the current +date displayed in the form 8/3/2000. + +\begin{definition}[\DescribeMacro{\ddmmyydate}] +\cs{ddmmyydate} +\end{definition} +This declaration will redefine \ics{today} to produce the current +date displayed in the form 08/03/00. + +\begin{definition}[\DescribeMacro{\dmyydate}] +\cs{dmyydate} +\end{definition} +This declaration will redefine \ics{today} to produce the current +date displayed in the form 8/3/00. + +\begin{definition}[\DescribeMacro{\textdate}] +\cs{textdate} +\end{definition} +This declaration will redefine \ics{today} to produce the current +date displayed in the form: Wednesday the Eighth of March, Two +Thousand if the package option \pkgopt{dayofweek} is used, or Eighth +of March, Two Thousand if the package option \pkgopt{nodayofweek} is +used. Note that \cs{textdate} is defined for use with English, it +won't look right if it is used when another language has been +selected\footnote{in fact, you may get an error from the +\sty{fmtcount} package if you are using a language that it doesn't +support.}. If you want to define a similar command for another +language, you will first need to check that the \sty{fmtcount} +package supports that language. + +\subsection{\texorpdfstring{\meta{Month} \meta{Day} \meta{Year}}{Month Day Year} formats} + +\begin{definition}[\DescribeMacro{\usdate}] +\cs{usdate} +\end{definition} +This declaration will redefine \cs{today} to produce the current +date displayed in the form March 8, 2000. (As \TeX\ and \LaTeX\ do +by default.) + +\begin{definition}[\DescribeMacro{\mmddyyyydate}] +\cs{mmddyyyydate} +\end{definition} +This declaration will redefine \ics{today} to produce the current +date displayed in the form 03/08/2000. + +\begin{definition}[\DescribeMacro{\mdyyyydate}] +\cs{mdyyyydate} +\end{definition} +This declaration will redefine \verb"\today" to produce the current +date displayed in the form 3/8/2000. + +\begin{definition}[\DescribeMacro{\mmddyydate}] +\cs{mmddyydate} +\end{definition} +This declaration will redefine \ics{today} to produce the current +date displayed in the form 03/08/00. + +\begin{definition}[\DescribeMacro{\mdyydate}] +\cs{mdyydate} +\end{definition} +This declaration will redefine \ics{today} to produce the current +date displayed in the form 3/8/00. + +\subsection{Dates defined by \texorpdfstring{\styfmt{babel}}{babel}} + +In addition to the above, the declarations \cs{date}\meta{lang} are +available for all languages defined either by calling \sty{babel} +prior to \styfmt{datetime} or by passing the language name as an +option to \styfmt{datetime}. See~\sectionref{sec:newdate} if you +want to define your own customised date format. + + \section{Time Commands} + +The current time is displayed using the command +\begin{definition}[\DescribeMacro{\currenttime}] +\cs{currenttime} +\end{definition} + +A specific time can be displayed using the command +\begin{definition}[\DescribeMacro{\formattime}] +\cs{formattime}\marg{hour}\marg{minute}\marg{second} +\end{definition} +where \meta{hour} is a number from~0 to~23, and \meta{minute} and +\meta{second} are numbers from~0 to~59. + +The format can be changed using the declaration +\begin{definition}[\DescribeMacro{\settimeformat}] +\cs{settimeformat}\marg{style} +\end{definition} +where \meta{style} is the name of the +format. Predefined formats are: +\begin{description} +\item[xxivtime] Twenty-four hour time in the form 22:28 (Default) +\item[hhmmsstime] Twenty-four hour time in the form 22:28:00 +\item[ampmtime] Twelve hour time in the form 10:28pm +\item[oclock] Displays the current time as a string, e.g.\ +Twenty-Eight minutes past Ten in the afternoon. +\end{description} + +New time formats can be defined using the command: +\begin{definition}[\DescribeMacro{\newtimeformat}] +\cs{newtimeformat}\marg{name}\marg{format} +\end{definition} +where \meta{name} is the name of the new format (used in +\ics{settimeformat}), and \meta{format} is how to format the time. +Within \meta{format} you can use the counters \ctr{HOUR} (number +of hours after midnight), \ctr{MINUTE} (number of minutes past +the hour), \ctr{SECOND} (number of seconds) \ctr{HOURXII} +(number of hours after midnight/midday), \ctr{TOHOUR} (the next +hour) and \ctr{TOMINUTE} (number of minutes to the next hour), +and the corresponding commands: \ics{THEHOUR}, \ics{THEMINUTE}, +\ics{THESECOND}, \ics{THEHOURXII}, \ics{THETOHOUR} and +\ics{THETOMINUTE}. + +For example, to define a new time format that uses a dot instead of a +colon: +\begin{verbatim} +\newtimeformat{dottime}{\twodigit{\THEHOUR}.\twodigit{\THEMINUTE}} +\end{verbatim} +You then need to switch to this new format before you can use it: +\begin{verbatim} +\settimeformat{dottime} +\currenttime +\end{verbatim} + +As from version 2.43, if you only want to change the separator, +you can simply redefine +\begin{definition}[\DescribeMacro{\timeseparator}] +\cs{timeseparator} +\end{definition} +instead of defining a new time format. For example: +\begin{verbatim} +\renewcommand{\timeseparator}{.} +\end{verbatim} +The \texttt{xxivtime} format will now work like the \texttt{dottime} +format defined above. + + \section{Formating Dates} +\begin{definition}[\DescribeMacro{\pdfdate}] +\cs{pdfdate} +\end{definition} + This command\footnote{thanks to Ulrich Dirr for +asking about this} prints the date in the format required for + PDF files, e.g.\ if the date is 1 May 2004 and time is + 22:02, \verb"\pdfdate" will print 20040501220200. The reason +this date format is separate from all the others is because the +other form doesn't get properly expanded by PDF\TeX. (This +command is defined regardless of whether the package option +\texttt{nodate} is called.) +Example: +\begin{verbatim} +\pdfinfo{ + /Author (Me) + /Title (A Sample Document) + /CreationDate (D:20040501215500) + /ModDate (D:\pdfdate) +} +\end{verbatim} +\textbf{Note} that PDF\TeX\ introduced the new primitive +\cs{pdfcreationdate} in version 1.30.0, so \cs{pdfdate} isn't +required with newer versions of PDF\TeX. (\cs{pdfcreationdate} +is better than \cs{pdfdate} as it also stores the time zone.) + + There are two commands that print the name of the current + month: +\begin{definition}[\DescribeMacro{\monthname}] +\cs{monthname}\oarg{num} +\end{definition} +prints the current month name in full, +e.g.\ August, and +\begin{definition}[\DescribeMacro{\shortmonthname}] +\cs{shortmonthname}\oarg{num} +\end{definition} +prints the abbreviated month name, e.g.\ Aug. Both \cs{monthname} +and \cs{shortmonthname} take an optional argument (a number from 1 +to 12) if the name of a specific month is required. For example, +\verb"\monthname[6]" will produced the output: June. + + The day of the week is computed using the algorithm documented at + \url{http://userpages.wittenburg.edu/bshelburne/Comp150/DayOfWeek.htm}. + This algorithm works for any date between 1\textsuperscript{st} +Jan, 1901 and 31\textsuperscript{st} Dec, 2099. + The following macros display the day of week for a given date: + +\begin{definition}[\DescribeMacro{\dayofweekname}] +\cs{dayofweekname}\marg{day}\marg{month}\marg{year} +\end{definition} +prints the day of week for the specified date. For example, +\begin{verbatim} +\dayofweekname{31}{10}{2002} +\end{verbatim} +will produce the output: Thursday. + +\begin{definition}[\DescribeMacro{\shortdayofweekname}] +\cs{shortdayofweekname}\meta{day}\marg{month}\marg{year} +\end{definition} +prints the abbreviated name for the day of week for the specified +date. For example +\begin{verbatim} +\shortdayofweekname{31}{10}{2002} +\end{verbatim} +will produce the output: Thu. + +\begin{definition}[\DescribeMacro{\ifshowdow}] +\cs{ifshowdow} +\end{definition} +This \TeX\ conditional can be used to determine whether or not the +option \pkgopt{dayofweek} has been passed to the package. For +example: +\begin{verbatim} +\ifshowdow\dayofweekname{31}{10}{2002} \fi +\end{verbatim} +will only display the day of week if the \pkgopt{dayofweek} option +was passed to \styfmt{datetime}. Alternatively, you can use +David~Carlisle's \sty{ifthen} package: +\begin{verbatim} +\ifthenelse{\boolean{showdow}}{\dayofweekname{31}{10}{2002} }{} +\end{verbatim} + +The command +\begin{definition}[\DescribeMacro{\ordinaldate}] +\cs{ordinaldate}\marg{number} +\end{definition} +displays \meta{number} as a date-type ordinal. If the current +language is English, this will simply pass the argument to +\ics{ordinalnum} (defined in the \sty{fmtcount} package), if the +current language is Breton, Welsh or French, a superscript will only +be added if \meta{number} is 1, otherwise only \meta{number} will be +displayed. + +The macro\footnote{Note the name change since version 1.1. The +command name was changed from \cs{thedate} to \cs{formatdate} to +avoid a name clash when using the \sty{seminar} class file.} +\begin{definition}[\DescribeMacro{\formatdate}] +\cs{formatdate}\marg{day}\marg{month}\marg{year} +\end{definition} +formats the specified date according to the current format of +\ics{today}\footnote{To be more precise, \ics{today} is defined to +be \ics{formatdate}\{\cs{day}\}\{\cs{month}\}\{\cs{year}\} where +\ics{longdate} etc change the definition of \cs{formatdate}}. +(Arguments must all be integers.) For example, in combination with +\ics{longdate}, the command +\begin{verbatim} +\formatdate{27}{9}{2004} +\end{verbatim} +will produce the output: Monday 27\textsuperscript{th} September, +2004. + +You can ensure that a number is displayed with at least two digits +using the command +\begin{definition}[\DescribeMacro{\twodigit}] +\cs{twodigit}\marg{num} +\end{definition} + +\section{Defining New Date Formats}\label{sec:newdate} + +New date formats can be defined using the command: +\begin{definition}[\DescribeMacro{\newdateformat}] + \cs{newdateformat}\marg{name}\marg{format} +\end{definition} +where \meta{name} is the name of the new format, and \meta{format} +is how to format the date. Within the argument \meta{format} you can +use the commands \ics{THEDAY}, \ics{THEMONTH} and \ics{THEYEAR} to +represent the relevant day, month and year, or you can use the +counters \ctr{DAY}, \ctr{MONTH} and \ctr{YEAR} if you want to use +\ics{ordinal} etc. Once you have defined the new date format, you +can then switch to it using the declaration \verb'\'\meta{name} +(i.e.\ the name you specified preceded by a backslash), and +subsequent calls to \ics{today} and \ics{formatdate} will use your +new format. + +For example, suppose you want to define a new date format called, +say, \texttt{mydate}, that will typeset the date in the form: +8-3-2002, then you can do: +\begin{verbatim} +\newdateformat{mydate}{\THEDAY-\THEMONTH-\THEYEAR} +\end{verbatim} +\ics{newdateformat} will then define the declaration +\cs{mydate} which can be used to +switch to your new format. In the following example, +two new date formats are defined, and they are then +selected to produce two different formats for the current date: +\begin{verbatim} +\newdateformat{dashdate}{% +\twodigit{\THEDAY}-\twodigit{\THEMONTH}-\THEYEAR} + +\newdateformat{usvardate}{% +\monthname[\THEMONTH] \ordinal{DAY}, \THEYEAR} + +Dash: \dashdate\today. +US: \usvardate\today. +\end{verbatim} +If the current date is, say, 8th March, 2002, the above code will +produce the following: Dash: 08-03-2002. US: March +8\textsuperscript{th}, 2002. + +Note that \ics{THEDAY} etc and \ctr{DAY} etc have no real +meaning outside \ics{newdateformat} (this is why they +are in uppercase). Incidentally, the \texttt{dashdate} format +is not really necessary, as you can achieve this format +using: +\begin{verbatim} +\renewcommand{\dateseparator}{-} +\ddmmyyyydate +\end{verbatim} + +Another note: in the above code, \ics{ordinal} was +used to illustrate the use of the \ctr{DAY} counter. It +is better to use \ics{ordinaldate} instead: +\begin{verbatim} +\newdateformat{usvardate}{% +\monthname[\THEMONTH] \ordinaldate{\THEDAY}, \THEYEAR} +\end{verbatim} + +\section{Saving Dates} + +It is possible to save a date for later use using the command: +\footnote{Thanks to Denis Bitouz\'e for asking about this} +\begin{definition}[\DescribeMacro{\newdate}] +\cs{newdate}\marg{name}\marg{day}\marg{month}\marg{year} +\end{definition} + +This date can later be displayed using the same format as that +used by \ics{formatdate} using the command: +\begin{definition}[\DescribeMacro{\displaydate}] +\cs{displaydate}\marg{name} +\end{definition} + +Individual elements of the date can be extracted using the +commands: +\begin{definition}[\DescribeMacro{\getdateday}] +\cs{getdateday}\marg{name} +\end{definition} +\begin{definition}[\DescribeMacro{\getdatemonth}] +\cs{getdatemonth}\marg{name} +\end{definition} +\begin{definition}[\DescribeMacro{\getdateyear}] +\cs{getdateyear}\marg{name} +\end{definition} + +\section{Predefined Names} + +The following commands are defined by the \styfmt{datetime} +package: + +\begin{tabular}{ll} +\bfseries Command Name & \bfseries Default Value\\ +\ics{dateseparator} & \verb'/'\\ +\ics{timeseparator} & \verb':'\\ +\ics{amname} & \texttt{am}\\ +\ics{pmname} & \texttt{pm}\\ +\ics{amorpmname} & \ics{amname} if morning, otherwise \ics{pmname}\\ +\ics{amstring} & \texttt{in the morning}\\ +\ics{pmstring} & \texttt{in the afternoon}\\ +\ics{amorpmstring} & \ics{amstring} if morning, otherwise +\ics{pmstring}\\ +\ics{halfpast} & \texttt{Half past}\\ +\ics{quarterpast} & \texttt{Quarter past}\\ +\ics{quarterto} & \texttt{Quarter to}\\ +\ics{noon} & \texttt{Noon}\\ +\ics{midnight} & \texttt{Midnight}\\ +\ics{oclockstring} & \texttt{O'Clock} +\end{tabular} + +\section{Package Options} + + The following options may be passed to this package: +\begin{description} +\item[\pkgopt{long}] make \cs{today} produce long date +\item[\pkgopt{short}] make \cs{today} produce short date +\item[\pkgopt{yyyymmdd}] make \cs{today} produce YYYY/MM/DD date +\item[\pkgopt{ddmmyyyy}] make \cs{today} produce DD/MM/YYYY date +\item[\pkgopt{dmyyyy}] make \cs{today} produce D/M/YYYY date +\item[\pkgopt{ddmmyy}] make \cs{today} produce DD/MM/YY date +\item[\pkgopt{dmyy}] make \cs{today} produce D/M/YY date +\item[\pkgopt{text}] make \cs{today} produce text date in UK style +\item[\pkgopt{us}] make \cs{today} produce US style date +\item[\pkgopt{mmddyyyy}] make \cs{today} produce MM/DD/YYYY date +\item[\pkgopt{mdyyyy}] make \cs{today} produce M/D/YYYY date +\item[\pkgopt{mmddyy}] make \cs{today} produce MM/DD/YY date +\item[\pkgopt{mdyy}] make \cs{today} produce M/D/YY date +\item[\pkgopt{raise}] make ordinal st,nd,rd,th appear as superscript +\item[\pkgopt{level}] make ordinal st,nd,rd,th appear level with rest of +text +\item[\pkgopt{dayofweek}] make the day of week appear for \ics{longdate}, +\ics{shortdate} + or \ics{textdate} +\item[\pkgopt{nodayofweek}] don't display the day of week. +\item[\pkgopt{hhmmss}] make \cs{currenttime} produce \texttt{hhmmsstime} +format +\item[\pkgopt{24hr}] make \cs{currenttime} produce \texttt{xxivtime} +format +\item[\pkgopt{12hr}] make \cs{currenttime} produce \texttt{ampmtime} +format +\item[\pkgopt{oclock}] make \cs{currenttime} produce \texttt{oclock} +format +\item[\pkgopt{nodate}] Don't redefine \cs{today} or define the month or +day of week commands + (useful if you only want the time commands) +\item[\pkgopt{iso}] as \pkgopt{ddmmyyyy} and \pkgopt{hhmmss} but +also sets date separator to \texttt{-} + and time separator to \texttt{:} + \end{description} + +The default options are: \pkgopt{long}, \pkgopt{raise}, +\pkgopt{dayofweek} and \pkgopt{24hr}. + +\section{Multilingual Support} + +If you use the \sty{ngerman} package, you must use \styfmt{datetime}'s +\pkgopt{ngerman} package option if you want the date displayed +in the same form as \sty{ngerman}. You must also load \sty{ngerman} +\emph{before} you load \styfmt{datetime}. Similarly for the +\sty{german} package. + +If you want to use the \sty{babel} package, you must load +it \emph{before} you load the \styfmt{datetime} package. This +is because the \sty{babel} \cs{date}\meta{lang} commands +redefine \ics{today}, whereas the \sty{datetime} package +redefines \cs{today} to use \ics{formatdate}, and the +date formatting commands (such as \ics{longdate}) redefine +\cs{formatdate} rather than \cs{today}. This ensures +consistent formatting of the dates whether you use \cs{today} or +\cs{formatdate}. Therefore, the \styfmt{datetime} package +has to redefine all the \cs{date}\meta{lang} commands accordingly. +Thus the multilingual date support is mostly limited to that provided +by \sty{babel}. Additional support, such as the day of +week names and abbreviations, are only supplied for those +languages that I know, or that other people have been able to supply +for me. + +As from v2.56, the package options supplied to \styfmt{datetime} +override \sty{babel}'s date format. For example: +\begin{verbatim} +\usepackage[french,spanish]{babel} +\usepackage[ddmmyyyy]{datetime} +\end{verbatim} +will use ddmmyyyy date format regardless of language. Note that +if you use a declaration instead of a package option, for +example: +\begin{verbatim} +\usepackage[french,spanish]{babel} +\usepackage{datetime} +\ddmmyyyydate +\end{verbatim} +the date format will be switched back to \cs{datefrench} or +\cs{datespanish} whenever the language is set. You can use +\begin{definition}[\DescribeMacro{\setdefaultdate}] +\cs{setdefaultdate}\marg{declaration} +\end{definition} +to always use \marg{declaration} whenever the language +is set. For example: +\begin{verbatim} +\setdefaultdate{\ddmmyyyydate} +\end{verbatim} + +The commands \ics{monthname} and \ics{shortmonthname}, +will produce the month name in the current language. +If you want the month name in a specific language, you +can use the command \cs{monthname}\meta{lang}. +For example, \verb"\monthnamefrench[6]" will produce the output: +juin. Note that \ics{textdate} is formatted for English dates, +and won't look right if used with another language setting. If you +want a textual date, the \sty{fmtcount} package (which is +loaded by \styfmt{datetime}) defines some commands which display +a number or ordinal as a word, but it only has very limited +multilingual support. See the \sty{fmtcount} documentation +for further details. + +\section{Registers} + +\TeX\ provides \ics{day}, \ics{month} and \ics{year} registers. In +addition, \styfmt{datetime} provides the registers: +\ics{currenthour}, \ics{currentminute} and \ics{currentsecond}. +Note that old distributions of \TeX\ will always have +\cs{currentsecond} set to zero. + +\section{Configuration File} + +As from Version 2.4, the \styfmt{datetime} package will read in settings +from the configuration file \texttt{datetime.cfg}, if it exists, +which will override the default package options. For example, +suppose you prefer a short date without the day of week by default, +you will need to create a file called \texttt{datetime.cfg} that +contains the line: +\begin{verbatim} +\shortdate\showdowfalse +\end{verbatim} +The file \texttt{datetime.cfg} should then go somewhere on the +\TeX\ path. Now all you need to do is: +\begin{verbatim} +\usepackage{datetime} +\end{verbatim} +without having to specify the \pkgopt{short} and +\pkgopt{nodayofweek} options. + +You can also use this file to define and set your own date +styles. For example, you could create +a configuration file that has the following lines: +\begin{verbatim} +\newdateformat{dashdate}{\twodigit{\THEDAY}-\twodigit{\THEMONTH}-\THEYEAR} +\dashdate +\end{verbatim} +Whenever you use the \styfmt{datetime} package, it will now +use this format by default. + +\section{LaTeX2HTML styles} + +\changes{2.43}{2005/02/25}{Added LaTeX2HTML support}% +\changes{2.44}{2005/03/03}{Fixed minor bugs in Perl scripts} +Version 2.43 and above of the \styfmt{datetime} bundle +supplies the LaTeX2HTML style file \texttt{datetime.perl}. +This file should be placed in a +directory searched by LaTeX2HTML. The following limitations +apply to the LaTeX2HTML styles: + +\begin{itemize} +\item The configuration file \texttt{datetime.cfg} +is currently ignored. You can however +do: +\begin{verbatim} +\usepackage{datetime} +\html{\input{datetime.cfg}} +\end{verbatim} +This, I agree, is an unpleasant cludge. + +\item The commands \cs{monthname}\meta{language} are not +implemented. + +\item Some of the languages are not implemented. + +\item The package option \pkgopt{nodate} is not implemented. + +\end{itemize} + +\section{Troubleshooting} + +There is a \sty{datetime} FAQ available at: +\url{http://www.dickimaw-books.com/faqs/datetimefaq.html}. + +\StopEventually{\phantomsection +\addcontentsline{toc}{section}{Index}\PrintIndex +} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/datetime/datetime.pdf b/Master/texmf-dist/doc/latex/datetime/datetime.pdf Binary files differnew file mode 100644 index 00000000000..6aa4f79ab21 --- /dev/null +++ b/Master/texmf-dist/doc/latex/datetime/datetime.pdf diff --git a/Master/texmf-dist/doc/latex/datetime/datetime.perl b/Master/texmf-dist/doc/latex/datetime/datetime.perl new file mode 100644 index 00000000000..f603451934f --- /dev/null +++ b/Master/texmf-dist/doc/latex/datetime/datetime.perl @@ -0,0 +1,2010 @@ +# File : datetime.perl +# Author : Nicola Talbot +# Date : 17 Nov 2009 +# Version : 1.04 +# +# 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}++; + +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_yyyymmdd{ + &do_cmd_yyyymmdddate(@_); +} + +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_hhmmss{ + &set_timeformat_hhmmsstime +} + +sub do_datetime_24hr{ + &set_timeformat_xxivtime +} + +&do_datetime_24hr; + +sub do_datetime_12hr{ + &set_timeformat_ampmtime +} + +sub do_datetime_oclock{ + &set_timeformat_oclock +} + +sub do_datetime_iso{ + &set_timeformat_hhmmsstime; + &do_cmd_yyyymmdddate; + eval('sub do_cmd_dateseparator{join(\'\', \'-\', $_[0]);}'); + eval('sub do_cmd_timeseparator{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_yyyymmdddate{ + $dateformat = "THEYEAR\\dateseparator TWODIGIT{THEMONTH}\\dateseparator TWODIGIT{THEDAY}"; + + $_[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_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 set_timeformat_hhmmsstime{ + $timeformat = "TWODIGIT{THEHOUR}\\timeseparator TWODIGIT{THEMINUTE}" + . "\\timeseparator TWODIGIT{THESECOND}"; +} + +sub set_timeformat_xxivtime{ + $timeformat = "TWODIGIT{THEHOUR}\\timeseparator TWODIGIT{THEMINUTE}"; +} + +sub format_xxivtime{ + local($hour,$min)=@_; + + sprintf "%02d\\timeseparator %02d", $hour, $min; +} + +sub do_cmd_xxivtime{ + + join('', &format_xxivtime($global{HOUR},$global{MINUTE}), $_[0]); +} + +sub format_ampmtime{ + local($hour,$min)=@_; + local($timestring); + local($hourxii) = ($hour == 12 ? 12 : ($hour)%12); + + $timestring = sprintf "%d\\timeseparator %02d", $hourxii, $min; + + $timestring .= ($hour < 12 ? + "\\amname " : (($hour eq 12 and $min eq 0) ? " \\noon" :"\\pmname ")); + + $timestring +} + +sub do_cmd_ampmtime{ + join('', &format_ampmtime($global{HOUR},$global{MINUTE}), $_[0]); +} + +sub do_cmd_timeformat_at_ampmtime{ + local($hour,$min,$sec); + # read 1st argument + $hour = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($day=$2)); + # read 2nd argument + $min = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($month=$2)); + # read 3rd argument + $sec = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($year=$2)); + + join('', &format_ampmtime($hour, $min), $_[0]); +} + +sub do_cmd_timeformatATampmtime{&do_cmd_timeformat_at_ampmtime} + +sub set_timeformat_ampmtime{ + $timeformat = "TWODIGIT{THEHOURXII}\\timeseparator TWODIGIT{THEMINUTE}AMORPMNAME"; +} + +sub format_oclock{ + local($hour,$min)=@_; + + local($hourxii) = ($hour == 12 ? 12 : ($hour)%12); + local($tohour) = ($hour == 11 ? 12 :($hour+1)%12); + local($tominute) = ($min == 0? 0 : 60 - $min); + + local($timestring); + + if ($hour == 0 && $min == 0) + { + $timestring = "\\midnight"; + } + elsif ($hour == 12 && $min == 0) + { + $timestring = "\\noon"; + } + else + { + if ($min == 0) + { + $timestring = &get_Numberstring($hourxii) . " \\oclockstring"; + } + elsif ($min == 15) + { + $timestring = "\\quarterpast\\ " . &get_Numberstring($hourxii); + } + elsif ($min == 30) + { + $timestring = "\\halfpast\\ " . &get_Numberstring($hourxii); + } + elsif ($min == 45) + { + $timestring = "\\quarterto\\ " . &get_Numberstring($tohour); + } + elsif ($min < 30) + { + $timestring = get_Numberstring($min); + + $timestring .= ($min == 1 ? " minute" : " minutes") . " past "; + + $timestring .= get_Numberstring($hourxii); + } + else + { + $timestring = get_Numberstring($tominute); + + $timestring .= ($min == 1 ? " minute" : " minutes") . " to "; + + $timestring .= get_Numberstring($tohour); + } + + $timestring .= ($hour < 12 ? " \\amstring" : " \\pmstring"); + } + + $timestring +} + +sub do_cmd_oclock{ + local($_) = @_; + + join('', &format_oclock($global{HOUR},$global{MINUTE}), $_[0]); +} + +sub do_cmd_timeformat_at_oclock{ + local($hour,$min,$sec); + # read 1st argument + $hour = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($day=$2)); + # read 2nd argument + $min = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($month=$2)); + # read 3rd argument + $sec = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($year=$2)); + + join('', &format_oclock($hour, $min), $_[0]); +} + +sub do_cmd_timeformatAToclock{&do_cmd_timeformat_at_oclock} + +sub set_timeformat_oclock{ + $timeformat="OCLOCK"; +} + +sub do_cmd_formattime{ + local($_) = @_; + local($hour,$min,$sec); + + # read 1st argument + $hour = &missing_braces unless + (s/$next_pair_pr_rx/$hour=$2;''/eo); + # read 2nd argument + $min = &missing_braces unless + (s/$next_pair_pr_rx/$min=$2;''/eo); + # read 3rd argument + $sec = &missing_braces unless + (s/$next_pair_pr_rx/$sec=$2;''/eo); + + join('', &format_time($hour,$min,$sec), $_); +} + +sub do_cmd_currenttime{ + join('', &format_time($global{HOUR},$global{MINUTE},$global{SECONDS}), $_[0]); +} + +sub format_time{ + local($hour,$min,$sec) = @_; + + local($str) = $timeformat; + + local($hourxii) = ($hour == 12 ? 12 : ($hour)%12); + local($tohour) = ($hour == 11 ? 12 :($hour+1)%12); + local($tominute) = ($min == 0? 0 : 60 - $min); + local($amorpmname) = ($hour < 12 ? '\amname' : + ($hour == 12 ? ' \noon' : '\pmname')); + + $str =~ s/THEHOURXII/$hourxii/g; + $str =~ s/THEHOUR/$hour/g; + $str =~ s/THEMINUTE/$min/g; + $str =~ s/THESECOND/$sec/g; + $str =~ s/THETOHOUR/$tohour/g; + $str =~ s/THETOMINUTE/$tominute/g; + $str =~ s/AMORPMNAME/$amorpmname/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/OCLOCK/&format_oclock($hour,$min)/eg; + + $str; +} + +sub do_cmd_settimeformat{ + local($_) = @_; + local($cmd); + + $cmd = &missing_braces unless ($_[0]=~(s/$next_pair_pr_rx//o)&&($cmd=$2)); + + eval('&set_timeformat_'.$cmd); + + $_[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.'{&do_cmd_timeformat_at_'.$cmd.';}'; + eval($tmp); + + $tmp = 'sub set_timeformat_'.$cmd.'{'; + $tmp .= '$timeformat = "'.$cmdbody .'";'; + $tmp .= '}'; + eval($tmp); + + $tmp = 'sub do_cmd_timeformat_at_'.$cmd.'{'; + $tmp .= 'local($_)=@_;'; + $tmp .= 'local($hour,$min,$sec);'; + $tmp .= '$hour=&missing_braces unless '; + $tmp .= '((s/$next_pair_pr_rx//o)&&($hour=$2));'; + $tmp .= '$min=&missing_braces unless '; + $tmp .= '((s/$next_pair_pr_rx//o)&&($min=$2));'; + $tmp .= '$sec=&missing_braces unless '; + $tmp .= '((s/$next_pair_pr_rx//o)&&($sec=$2));'; + $tmp .= '&set_timeformat_'.$cmd.';'; + $tmp .= '&format_time($hour, $min, $sec).$_'; + $tmp .= "}"; + + 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_THESECOND{ + local($_) = @_; + + join('', $global{SECONDS}, $_[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 new file mode 100644 index 00000000000..f4ec0da7c51 --- /dev/null +++ b/Master/texmf-dist/doc/latex/datetime/dt-lang.tex @@ -0,0 +1,64 @@ +%% +%% This is file `dt-lang.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% datetime.dtx (with options: `dt-lang.tex,package') +%% +%% datetime.dtx +%% Copyright 2015 Nicola Talbot +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license of (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Nicola Talbot. +%% +%% This work consists of the files datetime.dtx and datetime.ins and the derived files datetime-defaults.sty, datetime.sty, dt-american.def, dt-australian.def, dt-austrian.def, dt-bahasa.def, dt-basque.def, dt-breton.def, dt-british.def, dt-bulgarian.def, dt-canadian.def, dt-catalan.def, dt-croatian.def, dt-czech.def, dt-danish.def, dt-dutch.def, dt-esperanto.def, dt-estonian.def, dt-finnish.def, dt-french.def, dt-galician.def, dt-german.def, dt-greek.def, dt-hebrew.def, dt-icelandic.def, dt-irish.def, dt-italian.def, dt-latin.def, dt-lsorbian.def, dt-magyar.def, dt-naustrian.def, dt-newzealand.def, dt-ngerman.def, dt-norsk.def, dt-polish.def, dt-portuges.def, dt-romanian.def, dt-russian.def, dt-samin.def, dt-scottish.def, dt-serbian.def, dt-slovak.def, dt-slovene.def, dt-spanish.def, dt-swedish.def, dt-turkish.def, dt-UKenglish.def, dt-ukraineb.def, dt-USenglish.def, dt-usorbian.def, dt-welsh.def, dt-lang.tex, dt-sampl.tex, datetime.perl. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\documentclass{article} + +\usepackage[T1]{fontenc} +\usepackage[french,spanish,english]{babel} +\usepackage{datetime} % Date will be language-dependent + +\begin{document} +English: \today + +\selectlanguage{french} +French: \today + +\selectlanguage{spanish} +Spanish: \today + +\begin{otherlanguage}{french} +French: \today +\end{otherlanguage} + +\today +\end{document} +\endinput +%% +%% End of file `dt-lang.tex'. diff --git a/Master/texmf-dist/doc/latex/datetime/dt-sampl.tex b/Master/texmf-dist/doc/latex/datetime/dt-sampl.tex new file mode 100644 index 00000000000..cd2b8ab08dc --- /dev/null +++ b/Master/texmf-dist/doc/latex/datetime/dt-sampl.tex @@ -0,0 +1,172 @@ +%% +%% This is file `dt-sampl.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% datetime.dtx (with options: `dt-sampl.tex,package') +%% +%% datetime.dtx +%% Copyright 2015 Nicola Talbot +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license of (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Nicola Talbot. +%% +%% This work consists of the files datetime.dtx and datetime.ins and the derived files datetime-defaults.sty, datetime.sty, dt-american.def, dt-australian.def, dt-austrian.def, dt-bahasa.def, dt-basque.def, dt-breton.def, dt-british.def, dt-bulgarian.def, dt-canadian.def, dt-catalan.def, dt-croatian.def, dt-czech.def, dt-danish.def, dt-dutch.def, dt-esperanto.def, dt-estonian.def, dt-finnish.def, dt-french.def, dt-galician.def, dt-german.def, dt-greek.def, dt-hebrew.def, dt-icelandic.def, dt-irish.def, dt-italian.def, dt-latin.def, dt-lsorbian.def, dt-magyar.def, dt-naustrian.def, dt-newzealand.def, dt-ngerman.def, dt-norsk.def, dt-polish.def, dt-portuges.def, dt-romanian.def, dt-russian.def, dt-samin.def, dt-scottish.def, dt-serbian.def, dt-slovak.def, dt-slovene.def, dt-spanish.def, dt-swedish.def, dt-turkish.def, dt-UKenglish.def, dt-ukraineb.def, dt-USenglish.def, dt-usorbian.def, dt-welsh.def, dt-lang.tex, dt-sampl.tex, datetime.perl. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\documentclass[a4paper]{article} + +\usepackage{ifpdf} +\usepackage{datetime} + +\ifpdf +\pdfinfo{ + /CreationDate (D:20040501215500Z) + /ModDate (D:\pdfcreationdate) +} +\fi + +\padzeroes[8] + +\newdateformat{dashdate}{\twodigit{\THEDAY}-\twodigit{\THEMONTH}-\THEYEAR} +\newdateformat{usvardate}{\monthname[\THEMONTH]~\ordinaldate{\THEDAY}, \THEYEAR} +\newdateformat{mydate}{\ifshowdow \dayofweekname{\THEDAY}{\THEMONTH}{\THEYEAR} \fi +\THEDAY\ \monthname[\THEMONTH], \THEYEAR} +\newdateformat{yyyymmdd}{\THEYEAR\twodigit{\THEMONTH}\twodigit{\THEDAY}} +\newdateformat{ukvardate}{\THEDAY\ \monthname[\THEMONTH]\ \THEYEAR} + +\newtimeformat{dottime}{\twodigit{\THEHOUR}.\twodigit{\THEMINUTE}} +\newtimeformat{dashtime12}{\THEHOURXII-\twodigit{\THEMINUTE}} +\newtimeformat{hhmm}{\twodigit{\THEHOUR}\twodigit{\THEMINUTE}} + +\begin{document} + +\section{Date Formats} +Default: \today. + +\begin{tabular}{ll} +\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\\ +\verb|\dmyydate| & \dmyydate\today\\ +\verb|\textdate| & \textdate\today\\ +\verb|\usdate| & \usdate\today\\ +\verb|\mmddyyyydate| & \mmddyyyydate\today\\ +\verb|\mdyyyydate| & \mdyyyydate\today\\ +\verb|\mmddyydate| & \mmddyydate\today\\ +\verb|\mdyydate| & \mdyydate\today +\end{tabular} + +\section{Time Formats} +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 +\end{tabular} + +\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}\\ +\verb|\dmyydate| & \dmyydate\formatdate{1}{3}{2000}\\ +\verb|\textdate| & \textdate\formatdate{1}{3}{2000}\\ +\verb|\usdate| & \usdate\formatdate{1}{3}{2000}\\ +\verb|\mmddyyyydate| & \mmddyyyydate\formatdate{1}{3}{2000}\\ +\verb|\mdyyyydate| & \mdyyyydate\formatdate{1}{3}{2000}\\ +\verb|\mmddyydate| & \mmddyydate\formatdate{1}{3}{2000}\\ +\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} +\verb|\dashdate| & \dashdate\today\\ +\verb|\usvardate| & \usvardate\today\\ +\verb|\ukvardate| & \ukvardate\today\\ +\verb|\mydate| & \mydate\today\\ +\verb|\yyyymmdd| & \yyyymmdd\today\\ +\verb|\dashdate| & \dashdate\formatdate{8}{3}{2000}\\ +\verb|\usvardate| & \usvardate\formatdate{8}{3}{2000}\\ +\verb|\mydate| & \mydate\formatdate{8}{3}{2000}\\ +\verb|\yyyymmdd| & \yyyymmdd\formatdate{8}{3}{2000} +\end{tabular} + +\section{Defining New Times} + +\begin{tabular}{@{\ttfamily}ll} +\bfseries\rmfamily Format & \bfseries \verb|\currenttime|\\ +dottime & \settimeformat{dottime}\currenttime\\ +dashtime12 & \settimeformat{dashtime12}\currenttime\\ +hhmm & \settimeformat{hhmm}\currenttime +\end{tabular} + +\end{document} +\endinput +%% +%% End of file `dt-sampl.tex'. diff --git a/Master/texmf-dist/doc/latex/datetime/samples/dt-lang.pdf b/Master/texmf-dist/doc/latex/datetime/samples/dt-lang.pdf Binary files differnew file mode 100644 index 00000000000..47c9f842b4b --- /dev/null +++ b/Master/texmf-dist/doc/latex/datetime/samples/dt-lang.pdf diff --git a/Master/texmf-dist/doc/latex/datetime/samples/dt-lang.tex b/Master/texmf-dist/doc/latex/datetime/samples/dt-lang.tex new file mode 100644 index 00000000000..f4ec0da7c51 --- /dev/null +++ b/Master/texmf-dist/doc/latex/datetime/samples/dt-lang.tex @@ -0,0 +1,64 @@ +%% +%% This is file `dt-lang.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% datetime.dtx (with options: `dt-lang.tex,package') +%% +%% datetime.dtx +%% Copyright 2015 Nicola Talbot +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license of (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Nicola Talbot. +%% +%% This work consists of the files datetime.dtx and datetime.ins and the derived files datetime-defaults.sty, datetime.sty, dt-american.def, dt-australian.def, dt-austrian.def, dt-bahasa.def, dt-basque.def, dt-breton.def, dt-british.def, dt-bulgarian.def, dt-canadian.def, dt-catalan.def, dt-croatian.def, dt-czech.def, dt-danish.def, dt-dutch.def, dt-esperanto.def, dt-estonian.def, dt-finnish.def, dt-french.def, dt-galician.def, dt-german.def, dt-greek.def, dt-hebrew.def, dt-icelandic.def, dt-irish.def, dt-italian.def, dt-latin.def, dt-lsorbian.def, dt-magyar.def, dt-naustrian.def, dt-newzealand.def, dt-ngerman.def, dt-norsk.def, dt-polish.def, dt-portuges.def, dt-romanian.def, dt-russian.def, dt-samin.def, dt-scottish.def, dt-serbian.def, dt-slovak.def, dt-slovene.def, dt-spanish.def, dt-swedish.def, dt-turkish.def, dt-UKenglish.def, dt-ukraineb.def, dt-USenglish.def, dt-usorbian.def, dt-welsh.def, dt-lang.tex, dt-sampl.tex, datetime.perl. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\documentclass{article} + +\usepackage[T1]{fontenc} +\usepackage[french,spanish,english]{babel} +\usepackage{datetime} % Date will be language-dependent + +\begin{document} +English: \today + +\selectlanguage{french} +French: \today + +\selectlanguage{spanish} +Spanish: \today + +\begin{otherlanguage}{french} +French: \today +\end{otherlanguage} + +\today +\end{document} +\endinput +%% +%% End of file `dt-lang.tex'. diff --git a/Master/texmf-dist/doc/latex/datetime/samples/dt-sampl.pdf b/Master/texmf-dist/doc/latex/datetime/samples/dt-sampl.pdf Binary files differnew file mode 100644 index 00000000000..d6e454a9705 --- /dev/null +++ b/Master/texmf-dist/doc/latex/datetime/samples/dt-sampl.pdf diff --git a/Master/texmf-dist/doc/latex/datetime/samples/dt-sampl.tex b/Master/texmf-dist/doc/latex/datetime/samples/dt-sampl.tex new file mode 100644 index 00000000000..cd2b8ab08dc --- /dev/null +++ b/Master/texmf-dist/doc/latex/datetime/samples/dt-sampl.tex @@ -0,0 +1,172 @@ +%% +%% This is file `dt-sampl.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% datetime.dtx (with options: `dt-sampl.tex,package') +%% +%% datetime.dtx +%% Copyright 2015 Nicola Talbot +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license of (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Nicola Talbot. +%% +%% This work consists of the files datetime.dtx and datetime.ins and the derived files datetime-defaults.sty, datetime.sty, dt-american.def, dt-australian.def, dt-austrian.def, dt-bahasa.def, dt-basque.def, dt-breton.def, dt-british.def, dt-bulgarian.def, dt-canadian.def, dt-catalan.def, dt-croatian.def, dt-czech.def, dt-danish.def, dt-dutch.def, dt-esperanto.def, dt-estonian.def, dt-finnish.def, dt-french.def, dt-galician.def, dt-german.def, dt-greek.def, dt-hebrew.def, dt-icelandic.def, dt-irish.def, dt-italian.def, dt-latin.def, dt-lsorbian.def, dt-magyar.def, dt-naustrian.def, dt-newzealand.def, dt-ngerman.def, dt-norsk.def, dt-polish.def, dt-portuges.def, dt-romanian.def, dt-russian.def, dt-samin.def, dt-scottish.def, dt-serbian.def, dt-slovak.def, dt-slovene.def, dt-spanish.def, dt-swedish.def, dt-turkish.def, dt-UKenglish.def, dt-ukraineb.def, dt-USenglish.def, dt-usorbian.def, dt-welsh.def, dt-lang.tex, dt-sampl.tex, datetime.perl. +%% +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +\documentclass[a4paper]{article} + +\usepackage{ifpdf} +\usepackage{datetime} + +\ifpdf +\pdfinfo{ + /CreationDate (D:20040501215500Z) + /ModDate (D:\pdfcreationdate) +} +\fi + +\padzeroes[8] + +\newdateformat{dashdate}{\twodigit{\THEDAY}-\twodigit{\THEMONTH}-\THEYEAR} +\newdateformat{usvardate}{\monthname[\THEMONTH]~\ordinaldate{\THEDAY}, \THEYEAR} +\newdateformat{mydate}{\ifshowdow \dayofweekname{\THEDAY}{\THEMONTH}{\THEYEAR} \fi +\THEDAY\ \monthname[\THEMONTH], \THEYEAR} +\newdateformat{yyyymmdd}{\THEYEAR\twodigit{\THEMONTH}\twodigit{\THEDAY}} +\newdateformat{ukvardate}{\THEDAY\ \monthname[\THEMONTH]\ \THEYEAR} + +\newtimeformat{dottime}{\twodigit{\THEHOUR}.\twodigit{\THEMINUTE}} +\newtimeformat{dashtime12}{\THEHOURXII-\twodigit{\THEMINUTE}} +\newtimeformat{hhmm}{\twodigit{\THEHOUR}\twodigit{\THEMINUTE}} + +\begin{document} + +\section{Date Formats} +Default: \today. + +\begin{tabular}{ll} +\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\\ +\verb|\dmyydate| & \dmyydate\today\\ +\verb|\textdate| & \textdate\today\\ +\verb|\usdate| & \usdate\today\\ +\verb|\mmddyyyydate| & \mmddyyyydate\today\\ +\verb|\mdyyyydate| & \mdyyyydate\today\\ +\verb|\mmddyydate| & \mmddyydate\today\\ +\verb|\mdyydate| & \mdyydate\today +\end{tabular} + +\section{Time Formats} +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 +\end{tabular} + +\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}\\ +\verb|\dmyydate| & \dmyydate\formatdate{1}{3}{2000}\\ +\verb|\textdate| & \textdate\formatdate{1}{3}{2000}\\ +\verb|\usdate| & \usdate\formatdate{1}{3}{2000}\\ +\verb|\mmddyyyydate| & \mmddyyyydate\formatdate{1}{3}{2000}\\ +\verb|\mdyyyydate| & \mdyyyydate\formatdate{1}{3}{2000}\\ +\verb|\mmddyydate| & \mmddyydate\formatdate{1}{3}{2000}\\ +\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} +\verb|\dashdate| & \dashdate\today\\ +\verb|\usvardate| & \usvardate\today\\ +\verb|\ukvardate| & \ukvardate\today\\ +\verb|\mydate| & \mydate\today\\ +\verb|\yyyymmdd| & \yyyymmdd\today\\ +\verb|\dashdate| & \dashdate\formatdate{8}{3}{2000}\\ +\verb|\usvardate| & \usvardate\formatdate{8}{3}{2000}\\ +\verb|\mydate| & \mydate\formatdate{8}{3}{2000}\\ +\verb|\yyyymmdd| & \yyyymmdd\formatdate{8}{3}{2000} +\end{tabular} + +\section{Defining New Times} + +\begin{tabular}{@{\ttfamily}ll} +\bfseries\rmfamily Format & \bfseries \verb|\currenttime|\\ +dottime & \settimeformat{dottime}\currenttime\\ +dashtime12 & \settimeformat{dashtime12}\currenttime\\ +hhmm & \settimeformat{hhmm}\currenttime +\end{tabular} + +\end{document} +\endinput +%% +%% End of file `dt-sampl.tex'. |