% ====================================================================== % scrdatetime.tex % Copyright (c) Markus Kohm, 2001-2011 % % This file is part of the LaTeX2e KOMA-Script bundle. % % This work may be distributed and/or modified under the conditions of % the LaTeX Project Public License, version 1.3c of the license. % The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions of LaTeX % version 2005/12/01 or later and of this work. % % This work has the LPPL maintenance status "author-maintained". % % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrdatetime.tex % Copyright (c) Markus Kohm, 2001-2011 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. % Die neuste Version dieser Lizenz ist % http://www.latex-project.org/lppl.txt % und Version 1.3c ist Teil aller Verteilungen von LaTeX % Version 2005/12/01 oder spaeter und dieses Werks. % % Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" % (allein durch den Autor verwaltet). % % Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. % % Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== % % Chapter about scrpage2 of the KOMA-Script guide % Maintained by Markus Kohm % % ---------------------------------------------------------------------- % % Kapitel über scrpage2 in der KOMA-Script-Anleitung % Verwaltet von Markus Kohm % % ============================================================================ \ProvidesFile{scrdatetime.tex}[{2011/02/22 KOMA-Script guide (chapter: scrdate, scrtime)}] \translator{Gernot Hassenpflug\and Markus Kohm} % Date of translated german file: 2005-11-27 \chapter{Weekday and Time Using \Package{scrdate} and \Package{scrtime}} \labelbase{datetime} There are two packages included in {\KOMAScript} to improve and extend the handling of date\Index{date} and time\Index{time} over and above what is provided by the standard commands \Macro{today} and \Macro{date}. Like all the other packages from the {\KOMAScript} bundle these two packages may be used not only with {\KOMAScript} classes but also with the standard and many other classes. \section{The Name of the Current Day of the Week Using \Package{scrdate}} \label{sec:sec:datetime.scrdate} \BeginIndex{Package}{scrdate} The first problem is the question of the current day of the week. The answer may be given using the package \Package{scrdate}. \begin{Declaration} \Macro{todaysname} \end{Declaration}% \BeginIndex{Cmd}{todaysname}% You should know that with \Macro{today}\IndexCmd{today} one obtains the current date in a language-dependent spelling. \Package{scrdate} offers you the command \Macro{todaysname} with which one can obtain the name of the current day of the week in a language-dependent spelling. \begin{Example} In your document you want to show the name of the weekday on which the \File{dvi} file was generated using {\LaTeX}. To do this, you write: \begin{lstlisting} I have done the {\LaTeX} run of this document on a \todaysname. \end{lstlisting} This will result in, e.\,g.: \begin{quote} I have done the {\LaTeX} run of this document on a \todaysname. \end{quote} \end{Example} Note that the package is not able to decline words. The known terms are the nominative singular that may be used, e.\,g., in the date of a letter. Given this limitation, the example above can work correctly only for some languages. \begin{Explain} \textbf{Tip:} The names of the weekdays are saved in capitalized form, i.\,e., the first letter is a capital letter, all the others are lowercase letters. But for some languages you may need the names completely in lowercase. You may achieve this using the standard {\LaTeX} command \Macro{MakeLowercase}. You simply have to write \Macro{MakeLowercase}\PParameter{\Macro{todaysname}}. \end{Explain} \EndIndex{Cmd}{todaysname} \begin{Declaration} \Macro{nameday}\Parameter{name} \end{Declaration}% \BeginIndex{Cmd}{nameday}% Analogous to how the output of \Macro{today} can be modified using \Macro{date}\IndexCmd{date}, so the output of \Macro{todaysname} can be changed to \PName{name} by using \Macro{nameday}. \begin{Example} You change the current date to a fixed value using \Macro{date}. You are not interested in the actual name of the day, but want only to show that it is a workday. So you set: \begin{lstlisting} \nameday{workday} \end{lstlisting} After this the previous example will result in: \begin{quote} I have done the {\LaTeX} run of this document on a workday. \end{quote} \end{Example} \EndIndex{Cmd}{nameday} Currently the package \Package{scrdate} knows the languages english (english, american, USenglish, UKenglish and british), german (german, ngerman, austrian, and naustrian), french, italian, spanish, croatian, finnish, and norsk. If you want to configure it for other languages, see \File{scrdate.dtx}. In the current implementation it does not matter whether you load \Package{scrdate} before or after \Package{german}\IndexPackage{german}, \Package{ngerman}\IndexPackage{ngerman}, \Package{babel}\IndexPackage{babel} or similar packages. The current language will be set up at \Macro{begin}\PParameter{document}. \begin{Explain} To explain a little bit more exactly: while you are using a language selection which works in a compatible way to \Package{babel}\IndexPackage{babel} or \Package{german}\IndexPackage{german}, the correct language will be used by \Package{scrdate}. If you are using another language selection you will get (US) english names. In \File{scrdate.dtx} you will find the description of the \Package{scrdate} commands for defining the names. \end{Explain} \EndIndex{Package}{scrdate} \section{Getting the Time with Package \Package{scrtime}} \label{sec:datetime.scrtime} \BeginIndex{Package}{scrtime} The second problem is the question of the current time. The solution may be found using package \Package{scrtime}. \begin{Declaration}% \Macro{thistime}\OParameter{delimiter}\\ \Macro{thistime*}\OParameter{delimiter} \end{Declaration}% \BeginIndex{Cmd}{thistime}\BeginIndex{Cmd}{thistime*}% \Macro{thistime} results in the current time\Index{time}. The delimiter between the values of hour, minutes and seconds can be given in the optional argument. The default symbol of the delimiter is ``\PValue{:}''. \Macro{thistime*} works in almost the same way as \Macro{thistime}. The only difference is that unlike with \Macro{thistime}, with \Macro{thistime*} the value of the minute field is not preceded by a zero when its value is less than 10. Thus, with \Macro{thistime} the minute field has always two places. \begin{Example} The line \begin{lstlisting} Your train departs at \thistime. \end{lstlisting} results, for example, in: \begin{quote} Your train departs at \thistime. \end{quote} or: \begin{quote} Your train departs at 23:09. \end{quote} \bigskip In contrast to the previous example a line like: \begin{lstlisting} This day is already \thistime*[\ hours and\ ] minutes old. \end{lstlisting} results in: \begin{quote} This day is already \thistime*[\ hours and\ ] minutes old. \end{quote} or: \begin{quote} This day is already 12 hours and 25 minutes old. \end{quote} \end{Example} \EndIndex{Cmd}{thistime}\EndIndex{Cmd}{thistime*} \begin{Declaration}% \Macro{settime}\Parameter{time} \end{Declaration}% \BeginIndex{Cmd}{settime}% \Macro{settime} sets the output of \Macro{thistime} and \Macro{thistime*} to the value \PName{time}. Now the optional parameter of \Macro{thistime} or \Macro{thistime*} is ignored, since the result of \Macro{thistime} or \Macro{thistime*} was completely determined using \Macro{settime}.% \EndIndex{Cmd}{settime} \begin{Declaration} \Option{12h}\\ \Option{24h} \end{Declaration}% \BeginIndex{Option}{12h}\BeginIndex{Option}{24h}% Using the options \Option{12h} and \Option{24h} one can select whether the result of \Macro{thistime} and \Macro{thistime*} is in 12- or in 24-hour format. The default is \Option{24h}. The option has no effect on the results of \Macro{thistime} and \Macro{thistime*} if \Macro{settime} is used.% \EndIndex{Option}{12h}\EndIndex{Option}{24h} \EndIndex{Package}{scrtime} %%% Local Variables: %%% mode: latex %%% coding: iso-latin-1 %%% TeX-master: "../guide" %%% End: