From 82bb2082acf3aef575a2282eb3ae24567cd9c370 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 11 Jan 2006 23:52:16 +0000 Subject: trunk/Master/texmf-dist/source/latex/datenumber git-svn-id: svn://tug.org/texlive/trunk@220 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/latex/datenumber/datenumber.dtx | 693 +++++++++++++++++++++ .../source/latex/datenumber/datenumber.ins | 66 ++ 2 files changed, 759 insertions(+) create mode 100644 Master/texmf-dist/source/latex/datenumber/datenumber.dtx create mode 100644 Master/texmf-dist/source/latex/datenumber/datenumber.ins (limited to 'Master/texmf-dist/source/latex') diff --git a/Master/texmf-dist/source/latex/datenumber/datenumber.dtx b/Master/texmf-dist/source/latex/datenumber/datenumber.dtx new file mode 100644 index 00000000000..96864d5b3fd --- /dev/null +++ b/Master/texmf-dist/source/latex/datenumber/datenumber.dtx @@ -0,0 +1,693 @@ +%\iffalse meta comment +% +% This is file `datenumber.dtx', +% +% This file is part of the `datenumber' package, +% +% Copyright (C) 2001 J"org-Michael Schr"oder. +% +% IMPORTANT NOTICE: +% +% This program may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.2 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.2 or later is part of all distributions of LaTeX +% version 1999/12/01 or later. +% +% This program consists of all files listed in README.txt. +% +% For error reports, or offers to help make this a more powerful +% tool, please contact me on schrj020@mail.uni-mainz.de +% +%\fi +% +%\iffalse +%<*datenumber> +\def\fileversion{v0.02} +\def\filedate{2001/08/06} +% +%<*driver> +\documentclass{ltxdoc} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\usepackage{german} +\usepackage[latin1]{inputenc} +\parindent0pt +\begin{document} +\DocInput{datenumber.dtx} +\PrintIndex +\PrintChanges +\end{document} +% +%<*datenumber> +%\fi +% \DoNotIndex{\setcounter, \addtocounter, \newcount, \newcounter, \value, \the} +% \DoNotIndex{\@tempcnta, \@tempcntb} +% \DoNotIndex{\day,\month, \year,\relax} +% \DoNotIndex{\ifcase,\or,\else,\fi,\if,\ifdim,\ifnum,\ifx, \loop, \repeat} +% \DoNotIndex{\def,\gdef} +% \DoNotIndex{\advance, \multiply, \divide} +% \DoNotIndex{\csname, \endcsname, \expandafter} +% \DoNotIndex{\ProvidesPackage,\NeedsTeXFormat, \DeclareOption, \ProcessOptions} +% \DoNotIndex{\input, \endinput, \empty, \errmessage} +% +%\title{Das {\tt datenum.sty} Paket \fileversion} +%\author{J\"org-Michael Schr\"oder\\{\small\texttt{schrj020@mail.uni-mainz.de}}} +%\date{\filedate} +%\maketitle +%\MakeShortVerb{\|} + +%\section{Der Programmcode} +%\subsection{Am Anfang} +% Identifizierung +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{datenumber}[\filedate \fileversion] +% \end{macrocode} + +% Sprachoptionen deklarieren und entsprechende Dateien laden. +% \begin{macrocode} +\DeclareOption{english}{\input datenumberenglish.ldf} +\DeclareOption{USenglish}{\input datenumberUSenglish.ldf} +\DeclareOption{french}{\input datenumberfrench.ldf} +\DeclareOption{italian}{\input datenumberitalian.ldf} +\DeclareOption{spanish}{\input datenumberspanish.ldf} +\DeclareOption{german}{\input datenumbergerman.ldf} +\DeclareOption{ngerman}{\input datenumbergerman.ldf} +\input datenumberUSenglish.ldf +\ProcessOptions +% \end{macrocode} +% Interne Zähler +% \begin{macrocode} +\newcounter{@dayscnt} +\newcounter{@startyear} +% \end{macrocode} + +%\DescribeMacro{\setstartyear} +%Hiermit kann der Start der Nummerierung festgelegt werden. Außerden werden alle Zähler +%(siehe Abschnitt~\ref{defcounter}) Auf den heutigen Tag gesetzt. +%Am Ende der Datei wird diese Makro aufgerufen. +%|@startyear| muß größer als 0 sein und +%kleiner als das Jahr eines, zu berechnenden Datums. Je kleiner der Wert ist, desto länger +%dauern die Rechnungen. +% \begin{macrocode} +\def\setstartyear#1{% + \ifnum#1<1 + \errmessage{Package datenumber: startyear < 1}% + \fi + \setcounter{@startyear}{#1}% + \setdatetoday +} +% \end{macrocode} + +%\DescribeMacro{\thestartyear} +%Hiermit kann auf einfache Weise der Wert von |@startyear| ausgegeben werden. +% \begin{macrocode} +\def\thestartyear{\the@startyear} +% \end{macrocode} + +%\subsection{Die grundlegenden Berechnungen} +%\DescribeMacro{\setmydatenumber} +%Berechnung einer laufenden Nummer für ein gegebenes Datum. Der erste Parameter ist der Name +%eines Zählers in dem die Nummer gespeichtert wird. \#2, \#3, \#4 sind die Werte für das Jahr, den Monat und den Tag. +%Es wird getestet, ob das Datum gültig ist, ob |startyear| größer 1 und ob das übergebene +%Jahr nicht kleiner als |startyear| ist. Die Zwischenergebnisse werden in |@dayscnt| gespeichert und zum +%Schluß in den Zähler \#1 geschrieben. +% \begin{macrocode} +\def\setmydatenumber#1#2#3#4{% + \ifvaliddate{#2}{#3}{#4}% + \else + \errmessage{\@errmessage}% + \fi + \ifnum\the@startyear<1 + \errmessage{Package datenumber: startyear < 1}% + \fi + \ifnum#2<\the@startyear + \errmessage{Package datenumber: datenumber < startyear (#2 < \the@startyear)}% + \fi + \setcounter{@dayscnt}{0}% + \ifnum#2>\the@startyear + \relax\@yearloop{#2}% + \fi + \addtocounter{@dayscnt}{% + \ifcase #3% + \or 0\or 31\or 59 + \or 90\or 120\or 151 + \or 181\or 212\or 243 + \or 273\or 304\or 334 + \fi + }% + \ifleapyear{#2}% + \ifnum#3>2 + \addtocounter{@dayscnt}{1}% + \fi + \fi + \ifnum#2=1582 + \ifnum#3>10 + \addtocounter{@dayscnt}{-10}% + \fi + \ifnum#3=10 + \ifnum#4>14 + \addtocounter{@dayscnt}{-10}% + \fi + \fi + \fi + \addtocounter{@dayscnt}{#4}% + \setcounter{#1}{\the@dayscnt}% +} +% \end{macrocode} + +%\DescribeMacro{\setmydatebynumber} +%Berechnung eines Datums aus der laufenden Nummer. Der erste Parameter ist der Wert der Nummer. +%\#2, \#3, \#4 sind die Namen von Zählern in denen das Jahr, der Monat und der Tag gespeichert werden sollen. +%Es wird getestet, ob |startyear| größer 1 und ob die übergebene Nummer größer 0 ist. +%Die |loop|, |return| Schleife ist nicht unbedingt erforderlich, macht das Ganze aber schneller. +% \begin{macrocode} +\def\setmydatebynumber#1#2#3#4{% + \ifnum\the@startyear<1 + \errmessage{Package datenumber: startyear < 1}% + \fi + \ifnum#1<1 + \errmessage{Package datenumber: datenumber < 1}% + \fi + \setcounter{#2}{\the@startyear}% + \setcounter{@dayscnt}{1}% + \loop + \ifleapyear{\thedateyear}% + \@tempcnta=366 + \else + \@tempcnta=365 + \fi + \ifnum\thedateyear=1582 + \@tempcnta=355 + \fi + \addtocounter{@dayscnt}{\the\@tempcnta}% + \ifnum\the@dayscnt<#1\addtocounter{dateyear}{1}% + \repeat + \addtocounter{@dayscnt}{-\the\@tempcnta}% + % + \setcounter{#3}{1}% + \setcounter{#4}{1}% + \setmydatenumber{@dayscnt}{\value{#2}}{\value{#3}}{\value{#4}}% + \ifnum#1>\the@dayscnt\relax + \loop + \mynextdate{#2}{#3}{#4}% + \addtocounter{@dayscnt}{1}% + \ifnum\the@dayscnt<#1\relax + \repeat + \setmydatenumber{@dayscnt}{\value{#2}}{\value{#3}}{\value{#4}}% + \fi +} +% \end{macrocode} + +%\DescribeMacro{\mynextdate} +%Berechnung des nächsten Datums. Die Parameter \#1, \#2, \#3 sind die Namen von Zählern +%in denen das Jahr, der Monat und der Tag steht und in die das neues Datum geschrieben werden soll. +%Es wird getestet, ob das Datum gültig ist. Auf den 4.10.1582 folgt der 15.10.1582 +%(siehe hierzu auch Abschnitt \ref{sonstiges}, Stichwort |\ifleapyear| und |\ifvaliddate|). +%Vielen Dank an David und Heiko für die Anregungen zu diesem Makro +% \begin{macrocode} +\def\mynextdate#1#2#3{% + \ifvaliddate{\value{#1}}{\value{#2}}{\value{#3}}% + \else + \errmessage{\@errmessage}% + \fi + \addtocounter{#3}{1}% + \ifleapyear{\value{#1}}% + \@tempcnta=29 + \else + \@tempcnta=28 + \fi + \ifnum\value{#3}>% + \ifcase\value{#2}\or31\or\@tempcnta\or31\or30\or31\or30% + \or31\or31\or30\or31\or30\else31% + \fi\relax + \setcounter{#3}{1}% + \addtocounter{#2}{1}% + \ifnum\value{#2}>12 + \setcounter{#2}{1}% + \addtocounter{#1}{1}% + \fi + \fi + \ifnum\value{#1}=1582 + \ifnum\value{#2}=10 + \ifnum\value{#3}=5 + \setcounter{#3}{15}% + \fi + \fi + \fi +} +% \end{macrocode} + +%\DescribeMacro{\myprevdate} +%Das gleiche wie eben nur anders herum. +% \begin{macrocode} +\def\myprevdate#1#2#3{% + \ifvaliddate{\value{#1}}{\value{#2}}{\value{#3}}% + \else + \errmessage{\@errmessage}% + \fi + \addtocounter{#3}{-1}% + \ifleapyear{\value{#1}}% + \@tempcnta=29 + \else + \@tempcnta=28 + \fi + \ifnum\value{#3}=0 + \addtocounter{#2}{-1}% + \ifnum\value{#2}=0 + \addtocounter{#1}{-1}% + \setcounter{#2}{12}% + \fi + \setcounter{#3}{% + \ifcase\value{#2}\or 31\or\the\@tempcnta\or 31\or 30\or 31\or 30 + \or 31\or 31\or 30\or 31\or 30\else 31 + \fi + }% + \fi + \ifnum\value{#1}=1582 + \ifnum\value{#2}=10 + \ifnum\value{#3}=14 + \setcounter{#3}{4}% + \fi + \fi + \fi +} +% \end{macrocode} + +%\subsection{Für den Anwender\label{defcounter}} + +% Es werden 5 Zähler definiert, damit man das nicht jedesmal selbst machen muß. +% \begin{macrocode} +\newcounter{datenumber} +\newcounter{dateyear} +\newcounter{datemonth} +\newcounter{dateday} +\newcounter{datedayname} +% \end{macrocode} +%Dann kommen die gleichen Makros wie eben, nur das diese mit den definierten Zählern arbeiten. +%Außerdem werden alle Zähler aktualisiert und die Kommandos |\datedayname| und |\datemonthname| +%neu definiert (siehe Abschnitt \ref{month} und \ref{dayname}). + +%\DescribeMacro{\setdatenumber} +%Parameter \#1, \#2, \#3: Jahr, Monat und Tag +% \begin{macrocode} +\def\setdatenumber#1#2#3{% + \setmydatenumber{datenumber}{#1}{#2}{#3}% + \setcounter{dateyear}{#1}% + \setcounter{datemonth}{#2}% + \setcounter{dateday}{#3}% + \setdaynamebynumber{\thedatenumber}% + \setmonthname{\thedatemonth}% +} +% \end{macrocode} + +%\DescribeMacro{\setdatebynumber} +%Parameter: Nummer des Tages +% \begin{macrocode} +\def\setdatebynumber#1{% + \setmydatebynumber{#1}{dateyear}{datemonth}{dateday}% + \setcounter{datenumber}{#1}% + \setdaynamebynumber{\thedatenumber}% + \setmonthname{\thedatemonth}% +} +% \end{macrocode} + +%\DescribeMacro{\nextdate} +% \begin{macrocode} +\def\nextdate{% + \mynextdate{dateyear}{datemonth}{dateday}% + \setdate{\thedateyear}{\thedatemonth}{\thedateday}% +} +% \end{macrocode} + +%\DescribeMacro{\prevdate} +% \begin{macrocode} +\def\prevdate{% + \myprevdate{dateyear}{datemonth}{dateday}% + \setdate{\thedateyear}{\thedatemonth}{\thedateday}% +} +% \end{macrocode} +% Jetzt noch ein paar Makros, die das Leben einfacher machen. + +%\DescribeMacro{\setdate} +%Für intuitivere Schreibweise +% \begin{macrocode} +\def\setdate#1#2#3{%#1 year, #2 month, #3 day + \setdatenumber{#1}{#2}{#3}% +} +% \end{macrocode} + +%\DescribeMacro{\setdatetoday} +%Setzt alles auf Heute +% \begin{macrocode} +\def\setdatetoday{% + \setdatenumber{\the\year}{\the\month}{\the\day}% +} +% \end{macrocode} + +%\subsection{Monat\label{month}} + +%\DescribeMacro{\setmonthname} +%Definiert |\datemonthname| entsprechend des übergebenen Wertes (1--12, Januar--Dezember). +%Wird von den Makros in Abschnitt \ref{defcounter} aufgerufen. +%Das Makro |\@monthname| wird in den |.ldf|-Dateien definiert. +% \begin{macrocode} +\def\setmonthname#1{% + \def\datemonthname{\@monthname{#1}}% +} +% \end{macrocode} + +%\subsection{Wochentag\label{dayname}} + +%\DescribeMacro{\setdayname} +%Definiert |\datedayname| entsprechend des übergebenen Wertes (1--7, Montag--Sonntag). +%Das Makro |\@dayname| wird in den |.ldf|-Dateien definiert. +% \begin{macrocode} +\def\setdayname#1{% + \def\datedayname{\@dayname{#1}}% +} +% \end{macrocode} + +%\DescribeMacro{\setdaynamebynumber} +%Berechnung des Wochentages aus der Nummer des Tages und Aktualisierung +%von |\datedayname|. Funktioniert, wenn +%|startyear| auf 1800, 1900 oder 2000 gesetzt ist oder aus Zufall. +%Wird von den Makros in Abschnitt \ref{defcounter} aufgerufen. +% \begin{macrocode} +\def\setdaynamebynumber#1{% + \@tempcnta=#1\relax + \ifnum\the@startyear=1800\advance \@tempcnta by 1\fi + \ifnum\the@startyear=1900\advance \@tempcnta by 6\fi + \ifnum\the@startyear=2000\advance \@tempcnta by 4\fi + \@modulo{\the\@tempcnta}{7}% + \setcounter{datedayname}{\the\@den}% + \addtocounter{datedayname}{1}% + \setdayname{\thedatedayname}% +} +% \end{macrocode} + +%\subsection{Sonstiges\label{sonstiges}} +%\DescribeMacro{\datedate} +%Gibt das Datum aus, das in den Standardzählern steht (siehe Abschnitt\ref{defcounter}). +%Das Makro |\@datedate| wird in den |.ldf|-Dateien definiert. +% \begin{macrocode} +\def\datedate{\@datedate}% +% \end{macrocode} + + +%\subsection{Sonstiges\label{sonstiges}} +%\DescribeMacro{\dateselectlanguage} +%Umschalten der Sprache. Das Makro |\@datelanguage#1| wird in den |.ldf|-Dateien definiert. +% \begin{macrocode} +\def\dateselectlanguage#1{% + \csname @datelanguage#1\endcsname + \setdayname{\thedatedayname}% + \setmonthname{\thedatemonth}% +} +% \end{macrocode} + +%\DescribeMacro{\ifleapyear} +%Schaltjahrtest (\#1 Jahr). Nach dem Julianischen Kalender ist jedes Jahr ein Schaltjahr, das ein ganzahliges +%Vielfaches von 4 ist. Der Gregorianischer Kalender wurde 1582 eingeführt, aber nicht von +%allen (Christen) übernommen. Dieses Paket übernimmt ihn ab 1582. D.h., ab 1582 ist ein Jahr, daß +%ein ganzzahlige Vielfaches von 100 ist nur dann ein Schaltjahr, wenn es auch +%ein ganzzahlige Vielfaches von 400 ist. +% \begin{macrocode} +\def\ifleapyear#1{%#1 year + \ifnum#1>1500 + \@modulo{#1}{100}% + \ifnum\@den=0 + \@modulo{#1}{400}% + \else + \@modulo{#1}{4}% + \fi + \else + \@modulo{#1}{4}% + \fi + \ifnum\@den=0 +} +% \end{macrocode} + +%\DescribeMacro{\ifvaliddate} +%Testet auf gültige Datum (\#1, \#2, \#3: Jahr, Monat, Tag). +%Eine Fehlermeldung wird in |\@errmessage| geschrieben, wenn das Datum ungültig ist. +%Im Jahr 1582 folgte nach der Gregorianischer Kalenderreform auf den 4.10 der 15.10. +%Er hat uns also 10 Tage geklaut. +% \begin{macrocode} +\def\ifvaliddate#1#2#3{% + \ifleapyear{#1}% + \@tempcnta=29 + \else + \@tempcnta=28 + \fi + \gdef\@errmessage{}% + \ifnum#1<1 + \gdef\@errmessage{Package datenumber: % + invalid date: year < 1, #1/#2/#3}% + \fi% + \ifnum#2<1 + \gdef\@errmessage{Package datenumber: % + invalid date: month < 1, #1/#2/#3}% + \fi% + \ifnum#2>12 + \gdef\@errmessage{Package datenumber: % + invalid date: month > 12, #1/#2/#3}% + \fi% + \ifnum#3<1 + \gdef\@errmessage{Package datenumber: % + invalid date: day < 1, #1/#2/#3}% + \fi% + \@tempcntb= + \ifcase#2 31\or 31\or\the\@tempcnta\or 31\or 30\or 31\or 30 + \or 31\or 31\or 30\or 31\or 30\else 31 + \fi\relax + \ifnum#3>\@tempcntb + \gdef\@errmessage{Package datenumber: % + invalid date: day > \the\@tempcntb, #1/#2/#3}% + \fi% + \ifnum#1=1582 + \ifnum#2=10 + \ifnum#3>4 + \ifnum#3<15 + \gdef\@errmessage{Package datenumber: % + invalid date: #1/#2/#3}% + \fi + \fi + \fi + \fi + \ifx\@errmessage\empty +} +% \end{macrocode} + +%\subsection{Interna} +%\DescribeMacro{\@yearloop} +%Berechnet die Anzahl der Tage vom Startjahr bis zum Jahr \#1. +% \begin{macrocode} +\def\@yearloop#1{% + \@tempcnta=\the@startyear% + \loop + \ifleapyear{\@tempcnta}% + \addtocounter{@dayscnt}{366}% + \else + \addtocounter{@dayscnt}{365}% + \fi + \ifnum\@tempcnta=1582 + \addtocounter{@dayscnt}{-10}% + \fi + \advance \@tempcnta by 1 + \ifnum\@tempcnta=#1\else + \repeat +} +% \end{macrocode} + +% Die brauchen wir gleich +% \begin{macrocode} +\newcount\@nom\newcount\@den +% \end{macrocode} + +%\DescribeMacro{\@modulo} +%Berechnet \#1 modulo \#2 und speichert das Ergebnis in |\@den| +%Vielen Dank an Christian für dieses Makro und an Heiko für die +%Verbesserungen +% \begin{macrocode} +\def\@modulo#1#2{% + \@nom=#1\relax + \@den=#2\relax + \divide\@nom by \@den% + \multiply\@nom by \@den% + \@den=#1% + \advance\@den by -\@nom% +} +% \end{macrocode} + +%\subsection{Zum Schluß} +%Zum Schluß setzen wir noch das Startjahr, was gleichzeitig +%alle Zähler auf das heutige Datum setzt. +% \begin{macrocode} +\setstartyear{1800} +% \end{macrocode} +%\iffalse +% +%<*english> + +\ProvidesFile{datenumberenglish.ldf} + +\def\@datelanguageenglish{% + \def\@dayname{\@daynameenglish} + \def\@monthname{\@monthnameenglish}% + \def\@datedate{\@datedateenglish}% +} + +\def\@monthnameenglish#1{% + \ifcase#1\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi}% + +\def\@daynameenglish#1{% + \ifcase#1\or + Monday\or Tuesday\or Wednesday\or Thursday\or + Friday\or Saturday\or Sunday\fi} + +\def\@datedateenglish{\thedateday \ifcase\thedateday \or + st\or nd\or rd\or th\or th\or th\or th\or th\or th\or th\or + th\or th\or th\or th\or th\or th\or th\or th\or th\or th\or + st\or nd\or rd\or th\or th\or th\or th\or th\or th\or th\or + st\fi~\datemonthname \space\thedateyear} + +\@datelanguageenglish +% +%<*USenglish> + +\ProvidesFile{datenumberUSenglish.ldf} + +\def\@datelanguageUSenglish{% + \def\@dayname{\@daynameUSenglish} + \def\@monthname{\@monthnameUSenglish}% + \def\@datedate{\@datedateUSenglish}% +} + +\def\@monthnameUSenglish#1{% + \ifcase#1\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi}% + +\def\@daynameUSenglish#1{% + \ifcase#1\or + Monday\or Tuesday\or Wednesday\or Thursday\or + Friday\or Saturday\or Sunday\fi} + +\def\@datedateUSenglish{\datemonthname\space\thedateday, \thedateyear} + +\@datelanguageUSenglish +% +%<*french> + +\ProvidesFile{datenumberfrench.ldf} + +\def\@datelanguagefrench{% + \def\@dayname{\@daynamefrench} + \def\@monthname{\@monthnamefrench}% + \def\@datedate{\@datedatefrench}% +} + +\def\@monthnamefrench#1{% + \ifcase#1\or + janvier\or f\'evrier\or mars\or avril\or mai\or juin\or + juillet\or ao\^ut\or septembre\or octobre\or novembre\or d\'ecembre\fi}% + +\def\@daynamefrench#1{% + \ifcase#1\or + Lundi\or Mardi\or Mercredi\or Jeudi\or + Vendredi\or Samedi\or Dimanche\fi} + +\def\@datedatefrench{\thedateday \ifnum1=\thedateday \/$^{\rm er}$\fi + \space \datemonthname\space \number\year} + +\@datelanguagefrench +% +%<*spanish> + +\ProvidesFile{datenumberspanish.ldf} + +\def\@datelanguagespanish{% + \def\@dayname{\@daynamespanish} + \def\@monthname{\@monthnamespanish}% + \def\@datedate{\@datedatespanish}% +} + +\def\@monthnamespanish#1{% + \ifcase#1\or + enero\or febrero\or marzo\or abril\or mayo\or junio\or + julio\or agosto\or septiembre\or octubre\or noviembre\or diciembre\fi}% + +\def\@daynamespanish#1{% + \ifcase#1\or + Lunes\or Martes\or Mi\'ercoles\or Jueves\or + Viernes\or S\'abado\or Domingo\fi} + +\def\@datedatespanish{\thedateday~de \datemonthname\ de~\the\year} + +\@datelanguagespanish + +% +%<*german> + +\ProvidesFile{datenumbergerman.ldf} + +\def\@datelanguagegerman{% + \def\@dayname{\@daynamegerman}% + \def\@monthname{\@monthnamegerman}% + \def\@datedate{\@datedategerman}% +} + +\def\@monthnamegerman#1{% + \ifcase#1\or + Januar\or Februar\or M\"arz\or April\or Mai\or Juni\or + Juli\or August\or September\or Oktober\or November\or Dezember\fi}% + +\def\@daynamegerman#1{% + \ifcase#1\or + Montag\or Dienstag\or Mittwoch\or Donnerstag\or + Freitag\or Samstag\or Sonntag\fi} + +\def\@datedategerman{\thedateday.~\datemonthname\space\thedateyear} + +\@datelanguagegerman +% +%<*dummy> + +\ProvidesFile{datenumberdummy.ldf} + +\makeatletter + +\def\@datelanguagedummy{% + \def\@dayname{\@daynamedummy} + \def\@monthname{\@monthnamedummy}% + \def\@datedate{\@datedatedummy}% +} + +\def\@monthnamedummy#1{% + \ifcase#1\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi}% + +\def\@daynamedummy#1{% + \ifcase#1\or + Monday\or Tuesday\or Wednesday\or Thursday\or + Friday\or Saturday\or Sunday\fi} + +\def\@datedatedummy{\datemonthname\space\thedateday, \thedateyear} + +\@datelanguagedummy + +\makeatother +% + +%\fi +%\Finale +\endinput +%\def{\fileversion}{v0.02}\def{\filedate}{2001/08/06} \ No newline at end of file diff --git a/Master/texmf-dist/source/latex/datenumber/datenumber.ins b/Master/texmf-dist/source/latex/datenumber/datenumber.ins new file mode 100644 index 00000000000..1a23d376675 --- /dev/null +++ b/Master/texmf-dist/source/latex/datenumber/datenumber.ins @@ -0,0 +1,66 @@ +%% datenumber.ins +%% +%% Docstrip installation instruction file +%% for the `datenumber' package, Version 0.02 of 2001/08/06 +%% +%% Copyright (C) 2001 J"org-Michael Schr"oder. + +\def\batchfile{datenumber.ins} +\input docstrip.tex + + +\preamble + +This file is part of the `datenumber' package, + +Copyright (C) 2001 J"org-Michael Schr"oder. + +IMPORTANT NOTICE: + +This program may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either version 1.2 +of this license or (at your option) any later version. +The latest version of this license is in +http://www.latex-project.org/lppl.txt +and version 1.2 or later is part of all distributions of LaTeX +version 1999/12/01 or later. + +This program consists of all files listed in README.txt. + +For error reports, or offers to help make this a more powerful +tool, please contact me on schrj020@mail.uni-mainz.de + +\endpreamble + +\declarepreamble\emptypreamble +\endpreamble + +\Msg{* Generating files *} + +\generate{% + \file{datenumber.sty}{\from{datenumber.dtx}{datenumber}} + \file{datenumberenglish.ldf}{\from{datenumber.dtx}{english}} + \file{datenumberUSenglish.ldf}{\from{datenumber.dtx}{USenglish}} + \file{datenumberfrench.ldf}{\from{datenumber.dtx}{french}} + \file{datenumberspanish.ldf}{\from{datenumber.dtx}{spanish}} + \file{datenumbergerman.ldf}{\from{datenumber.dtx}{german}} + \file{datenumberdummy.ldf}{\from{datenumber.dtx}{dummy}} +} + +\Msg{************************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* files into a directory searched by TeX:} +\Msg{*} +\Msg{* \space datenumber.sty} +\Msg{*} +\Msg{*} +\Msg{* To produce the documentation you} +\Msg{* can run the file `datenumber.dtx' through LaTeX:} +\Msg{* \space latex datenumber.dtx} +\Msg{*} +\Msg{* Happy TeXing} +\Msg{************************************************************} +\endbatchfile +%% +%% End of file `datenumber.ins'. -- cgit v1.2.3