diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-12 23:57:14 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-12 23:57:14 +0000 |
commit | 89676d2bc257e3b020cb4692ffa5cb092470a1b5 (patch) | |
tree | 008e97aad811c7f81018234028961f9370ccbe65 /Master/texmf-dist/tex/latex/isodate/isodateo.sty | |
parent | 76f683b146315bf9236a0f9599561bd6d616555e (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.sty | 151 |
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'. |