summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/isodate/isodateo.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-12 23:57:14 +0000
committerKarl Berry <karl@freefriends.org>2006-01-12 23:57:14 +0000
commit89676d2bc257e3b020cb4692ffa5cb092470a1b5 (patch)
tree008e97aad811c7f81018234028961f9370ccbe65 /Master/texmf-dist/tex/latex/isodate/isodateo.sty
parent76f683b146315bf9236a0f9599561bd6d616555e (diff)
isodate
git-svn-id: svn://tug.org/texlive/trunk@1000 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/isodate/isodateo.sty')
-rw-r--r--Master/texmf-dist/tex/latex/isodate/isodateo.sty151
1 files changed, 151 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/isodate/isodateo.sty b/Master/texmf-dist/tex/latex/isodate/isodateo.sty
new file mode 100644
index 00000000000..cc9b9439608
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/isodate/isodateo.sty
@@ -0,0 +1,151 @@
+%%
+%% This is file `isodateo.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% isodateo.dtx (with options: `package')
+%%
+%% isodate package
+%%
+%% Copyright 2000--2005 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% h.harders@tu-bs.de
+%%
+\def\packagename{isodateo}
+\def\fileversion{1.06a}
+\def\filedate{2004/02/12}
+\def\docdate{2000/08/08}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{isodateo}[\filedate]
+\RequirePackage{ifthen}
+\RequirePackage{calc}
+\IfFileExists{substr.sty}{\RequirePackage{substr}%
+ }{\PackageError{isodateo.sty}{Package file substr.sty not found}
+ {This version of isodateo.sty needs the package substr.sty.^^J%
+ You can download it from CTAN:/macros/latex/contrib/substr/^^J%
+ E.g. one CTAN node is ftp.dante.de.
+ Install substr.sty into your TeX tree.}}
+\AtBeginDocument{%
+ \@ifpackageloaded{babel}{}{%
+ \@ifpackageloaded{german}{}{%
+ \@ifpackageloaded{ngerman}{}{%
+ \let\dateamerican\today%
+ \setboolean{isodate@american}{true}%
+ \def\iflanguage#1#2#3{\ifthenelse{%
+ \equal{#1}{english}\or%
+ \equal{#1}{american}\or%
+ \equal{#1}{USenglish}%
+ }{#2}{#3}}%
+ }}}}
+\newboolean{isodate@american}%
+\DeclareOption{iso}{\AtBeginDocument{\isodate}}
+\DeclareOption{num}{\AtBeginDocument{\numdate}}
+\DeclareOption{short}{\AtBeginDocument{\shortdate}}
+\DeclareOption{TeX}{\AtBeginDocument{\TeXdate}}
+\DeclareOption{orig}{\AtBeginDocument{\origdate}}
+\ExecuteOptions{orig}
+\ProcessOptions
+\def\dday{\ifthenelse{\number\day<10}{0}{}\number\day}
+\def\dmonth{\ifthenelse{\number\month<10}{0}{}\number\month}
+\DeclareRobustCommand*{\num@today}[1]{%
+ \iflanguage{german}{\dday.\,\dmonth.#1}{%
+ \iflanguage{austrian}{\dday.\,\dmonth.#1}{%
+ \iflanguage{ngerman}{\dday.\,\dmonth.#1}{%
+ \iflanguage{naustrian}{\dday.\,\dmonth.#1}{%
+ \iflanguage{english}{%
+ \ifthenelse{\boolean{isodate@american}}{%
+ \dmonth/\dday/}{\dday/\dmonth/}}{%
+ \dday/\dmonth/}}}}}%
+}
+\DeclareRobustCommand*{\numdate}{%
+ \origdate%
+ \setboolean{isodate@american}{false}%
+ \iflanguage{american}{\IfCharInString{,}{\today}{%
+ \setboolean{isodate@american}{true}}{}}{}%
+ \gdef\today{%
+ \num@today{~}%
+ \number\year}}
+\newcounter{yeartwo}
+\DeclareRobustCommand*{\shortdate}{%
+ \origdate%
+ \setboolean{isodate@american}{false}%
+ \iflanguage{american}{\IfCharInString{,}{\today}{%
+ \setboolean{isodate@american}{true}}{}}{}%
+ \gdef\today{%
+ \num@today{\,}%
+ \setcounter{yeartwo}{\number\year}%
+ \whiledo{\theyeartwo>99}{\setcounter{yeartwo}{\theyeartwo-100}}{}%
+ \ifthenelse{\number\theyeartwo<10}{0}{}\theyeartwo}}
+\DeclareRobustCommand*{\isodate}{%
+ \gdef\today{%
+ \number\year\iso@isodash%
+ \ifthenelse{\number\month<10}{0}{}\number\month\iso@isodash%
+ \ifthenelse{\number\day<10}{0}{}\number\day}}
+\def\iso@isodash{-}%
+\DeclareRobustCommand*{\isodash}[1]{\def\iso@isodash{#1}}%
+\DeclareRobustCommand*{\origdate}{\csname date\languagename\endcsname}
+\DeclareRobustCommand*{\TeXdate}{%
+ \gdef\today{%
+ \number\year/%
+ \ifthenelse{\number\month<10}{0}{}\number\month/%
+ \ifthenelse{\number\day<10}{0}{}\number\day}}
+\DeclareRobustCommand*{\iso@printdate}[3]{%
+ \begingroup%
+ \def\year{#1}%
+ \def\month{#2}%
+ \def\day{#3}%
+ \today%
+ \endgroup%
+}
+\newcounter{iso@slash}
+\newcounter{iso@minus}
+\newcounter{iso@dot}
+\DeclareRobustCommand*{\printdate}[1]{%
+ \expandafter\iso@expafterprintdate\expandafter{#1}}%
+\DeclareRobustCommand*{\iso@expafterprintdate}[1]{%
+ \SubStringsToCounter{iso@slash}{/}{#1}%
+ \SubStringsToCounter{iso@minus}{-}{#1}%
+ \SubStringsToCounter{iso@dot}{.}{#1}%
+ \ifthenelse{\equal{\theiso@dot}{2}}{\printdatenumger{#1}}{%
+ \ifthenelse{\equal{\theiso@minus}{2}}{\printdateiso{#1}}{%
+ \ifthenelse{\equal{\theiso@slash}{2}}{\printdatenumeng{#1}}{%
+ ????\iso@isodash ??\iso@isodash ??%
+ \PackageError{isodateo}{unrecognized date format}{Use one of
+ the following formats as macro argument:^^J%
+ \space\space dd.mm.yyyy^^J%
+ \space\space dd/mm/yyyy^^J%
+ \space\space yyyy-mm-dd^^J%
+ Don't use any spaces or commands like \protect\, or
+ \protect~ inside the argument.}%
+ }}}}
+\DeclareRobustCommand*{\printdateiso}[1]{%
+ \expandafter\iso@printdateiso #1\@empty}
+\def\iso@printdateiso#1-#2-#3\@empty{\iso@printdate{#1}{#2}{#3}}
+\DeclareRobustCommand*{\printdatenumger}[1]{%
+ \expandafter\iso@printdatenumger #1\@empty}
+\def\iso@printdatenumger#1.#2.#3\@empty{\iso@printdate{#3}{#2}{#1}}
+\DeclareRobustCommand*{\printdatenumeng}[1]{%
+ \expandafter\iso@printdatenumeng #1\@empty}
+\def\iso@printdatenumeng#1/#2/#3\@empty{\iso@printdate{#3}{#2}{#1}}
+\DeclareRobustCommand*{\printdateTeX}[1]{%
+ \expandafter\iso@printdateTeX\expandafter{#1}}
+\DeclareRobustCommand*{\iso@printdateTeX}[1]{%
+ \SubStringsToCounter{iso@slash}{/}{#1}%
+ \ifthenelse{\equal{\theiso@slash}{2}}%
+ {\expandafter\iso@@printdateTeX #1\@empty}{%
+ ????\iso@isodash ??\iso@isodash ??%
+ \PackageError{isodateo}{unrecognized date format}{Use the format
+ yyyy/mm/dd.^^J%
+ Don't use any spaces or commands like \protect\, or
+ \protect~ inside the argument.}}%
+}
+\def\iso@@printdateTeX#1/#2/#3\@empty{\iso@printdate{#1}{#2}{#3}}
+\endinput
+%%
+%% End of file `isodateo.sty'.