summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/basque-date/basque-date.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/basque-date/basque-date.dtx')
-rw-r--r--macros/latex/contrib/basque-date/basque-date.dtx230
1 files changed, 230 insertions, 0 deletions
diff --git a/macros/latex/contrib/basque-date/basque-date.dtx b/macros/latex/contrib/basque-date/basque-date.dtx
new file mode 100644
index 0000000000..d38359077c
--- /dev/null
+++ b/macros/latex/contrib/basque-date/basque-date.dtx
@@ -0,0 +1,230 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2012 by Edorta Ibarra
+%
+% This file 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 the distributions of
+% LaTeX version 1999/12/01 or later.
+%
+% \fi
+%
+% \iffalse
+%
+% \begin{macrocode}
+%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<package>\ProvidesPackage{basque-date}
+%<package> [2012/05/15 v1.05 basque-date Package]
+% \end{macrocode}
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{basque-date}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{basque-date.dtx}
+\end{document}
+%</driver>
+% \fi
+% \CheckSum{0}
+%% \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 \~}
+%%
+% \changes{v1.00}{12/05/7}{First version}
+% \changes{v1.02}{12/05/15}{Some bugs corrected}
+% \changes{v1.05}{12/05/16}{First public version}
+%
+% \GetFileInfo{basque-date.sty}
+%
+% \title{The \textsf{basque-date} package\thanks{This file has version
+% \fileversion\ last revised \filedate.}}
+% \author{Edorta Ibarra\\\texttt{gautegiz@yahoo.es}}
+%
+% \maketitle
+
+% \begin{abstract}
+% \noindent This package provides two \LaTeX\ commands to print the current
+% date in Basque according to the correct forms ruled by The Basque Language
+% Academy (\textit{Eus\-kaltzaindia}). These commands automatically solve the
+% complex decli\-nation issues of numbers in Basque.
+% \end{abstract}
+%
+% \tableofcontents
+%
+% \section{Commands}
+%
+% According to The Basque Language Academy (\textit{Euskaltzaindia}), there
+% are various correct forms to display the date in Basque\footnote{\textit{37.
+% araua. Data nola adierazi}. http://euskaltzaindia.net/dok/arauak/Araua\_0037.pdf}.
+% The most used form, which includes the name of the location where the document or
+% text has been written, is the following:
+%
+% \begin{center}
+% \textit{Durango(n), 1983ko martxoaren 7a(n)},
+% \end{center}
+% where the inessive case \textit{``n"} is optional. It must be taken into account
+% that the declination of numbers in Basque is not straightforward. In this sense,
+% the following two commands \verb|\eusdata| and \verb|\eusdatainesibo| are provided by
+% the package \texttt{basque-date}.
+
+% \DescribeMacro{\eusdata} The command \verb|\eusdata| prints the current date without
+% the inessive case, e.g.
+%
+% \begin{quote}
+% \verb|Durango, \eusdata|
+% \end{quote}
+%
+% \pagebreak
+%
+% \begin{quote}
+% \verb|\date{Gernika-Lumo, \eusdata.}|
+% \end{quote}
+%
+% \DescribeMacro{\eusdatainesibo} Similarly, the command \verb|\eusdatainesibo| prints
+% the current date including the inessive case, e.g.
+%
+% \begin{quote}
+% \verb|Durangon, \eusdatainesibo|
+%
+% \verb|\date{Gernika-Lumon, \eusdatainesibo.}|
+% \end{quote}
+%
+% It is important to note that another way to print the date
+% in Basque is using \verb|\usepackage[basque]{babel}|. However, the aforementioned
+% solution uses a form that does not follow the recommendations of the Basque
+% Language Academy.
+%
+% \section{Calling the package}
+%
+% The package \verb|basque-date| is called using the \verb|\usepackage|
+% command:\\ \verb|\usepackage{basque-date}|.
+%
+% No package options are provided in the current \verb|basque-date| version.
+%
+% \appendix
+%
+% \section{License}
+%
+% Copyright 2012 Edorta Ibarra.
+%
+% 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/basee/lppl.txe; either version 1.2 of the License, or any later
+% version.
+%
+% \section{Implementation}
+%
+% At the beginning of the code, the first two digits of the year are
+% extracted\footnote{As it can be seen from the code, this algorithm is
+% intended for the current century. For other centuries, the modification
+% to be performed is straightforward.}. This information will be used to
+% select the correct declination for the year.
+% \begin{macrocode}
+\newcounter{urtea}
+\setcounter{urtea}{\year}
+\addtocounter{urtea}{-2000}
+% \end{macrocode}
+% \DescribeMacro{\eusdata} In the next step, the \verb|\eusdata| command is defined
+% taking into account the Basque declination rules for year, month and day:
+% \begin{macrocode}
+\newcommand\eusdata{{\number\year}\ifcase\arabic{urtea}
+ %Declination for the year
+ %00-20
+ ko \or eko \or ko \or ko \or ko \or eko \or ko
+ \or ko \or ko \or ko \or eko \or ko \or ko
+ \or ko \or ko \or eko \or ko \or ko \or ko
+ \or ko \or ko \or
+ %21-40
+ eko \or ko \or ko \or ko \or eko \or ko
+ \or ko \or ko \or ko \or eko \or ko \or ko
+ \or ko \or ko \or eko \or ko \or ko \or ko
+ \or ko \or ko \or
+ %41-60
+ eko \or ko \or ko \or ko \or eko \or ko
+ \or ko \or ko \or ko \or eko \or ko \or ko
+ \or ko \or ko \or eko \or ko \or ko \or ko
+ \or ko \or ko \or
+ %61-80
+ eko \or ko \or ko \or ko \or eko \or ko
+ \or ko \or ko \or ko \or eko \or ko \or ko
+ \or ko \or ko \or eko \or ko \or ko \or ko
+ \or ko \or ko \or
+ %81-100
+ eko \or ko \or ko \or ko \or eko \or ko
+ \or ko \or ko \or ko \or eko \or ko \or ko
+ \or ko \or ko \or eko \or ko \or ko \or ko
+ \or ko \or eko
+ \fi
+\ifcase\month\or %months in Basque (declined)
+ urtarrilaren\or otsailaren\or martxoaren\or apirilaren\or
+ maiatzaren\or ekainaren\or uztailaren\or abuztuaren\or
+ irailaren\or urriaren\or azaroaren\or
+ abenduaren\fi~\number\day
+\ifcase\number\day %declination for the day
+ \or a\or a\or a\or a\or a\or a\or a\or a\or a\or a\or \or
+ a\or a\or a\or a\or a\or a\or a\or a\or a\or a\or a\or a\or
+ a\or a\or a\or a\or a\or a\or a\or\fi}
+% \end{macrocode}
+% \DescribeMacro{\eusdatainesibo} Finally, the \verb|\eusdatainesibo|
+% command is defined in a similar way:
+% \begin{macrocode}
+\newcommand\eusdatainesibo{{\number\year}\ifcase\arabic{urtea}
+ %Declination for the year
+ %00-20
+ ko \or eko \or ko \or ko \or ko \or eko \or ko
+ \or ko \or ko \or ko \or eko \or ko \or ko
+ \or ko \or ko \or eko \or ko \or ko \or ko
+ \or ko \or ko \or
+ %21-40
+ eko \or ko \or ko \or ko \or eko \or ko
+ \or ko \or ko \or ko \or eko \or ko \or ko
+ \or ko \or ko \or eko \or ko \or ko \or ko
+ \or ko \or ko \or
+ %41-60
+ eko \or ko \or ko \or ko \or eko \or ko
+ \or ko \or ko \or ko \or eko \or ko \or ko
+ \or ko \or ko \or eko \or ko \or ko \or ko
+ \or ko \or ko \or
+ %61-80
+ eko \or ko \or ko \or ko \or eko \or ko
+ \or ko \or ko \or ko \or eko \or ko \or ko
+ \or ko \or ko \or eko \or ko \or ko \or ko
+ \or ko \or ko \or
+ %81-100
+ eko \or ko \or ko \or ko \or eko \or ko
+ \or ko \or ko \or ko \or eko \or ko \or ko
+ \or ko \or ko \or eko \or ko \or ko \or ko
+ \or ko \or eko
+ \fi
+\ifcase\month\or %months in Basque (declined)
+ urtarrilaren\or otsailaren\or martxoaren\or apirilaren\or
+ maiatzaren\or ekainaren\or uztailaren\or abuztuaren\or
+ irailaren\or urriaren\or azaroaren\or
+ abenduaren\fi~\number\day
+ \ifcase\number\day %declination for the day (inessive case)
+ \or ean\or an\or an\or an\or ean\or an\or an\or an\or an\or ean\or
+ n\or an\or an\or an\or ean\or an\or an\or an\or an\or an\or ean\or
+ an\or an\or an\or ean\or an\or an\or an\or an\or ean\or n\fi}
+% \end{macrocode}
+%
+% \Finale
+\endinput \ No newline at end of file