% \iffalse meta-comment % % Copyright 1989-2021 Johannes L. Braams and any individual authors % listed elsewhere in this file. All rights reserved. % % This file is part of the Babel system. % -------------------------------------- % % It may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 % 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.3 or later is part of all distributions of LaTeX % version 2003/12/01 or later. % % This work has the LPPL maintenance status "maintained". % % The Current Maintainer of this work is Javier Bezos. % % The list of all files belonging to the Babel system is % given in the file `manifest.bbl. See also `legal.bbl' for additional % information. % % The list of derived (unpacked) files belonging to the distribution % and covered by LPPL is defined by the unpacking scripts (with % extension .ins) which are part of the distribution. % \fi % \CheckSum{305} %\iffalse % Tell the \LaTeX\ system who we are and write an entry on the % transcript. %<*dtx> \ProvidesFile{dutch.dtx} % %\ProvidesLanguage{dutch} %\fi %\ProvidesFile{dutch.dtx} [2021/08/29 v3.8l Dutch support from the babel system] %\iffalse %% File `dutch.dtx' % %% Dutch Language Definition File %% Copyright (C) 1989 - 2021 %% by Johannes Braams, TeXniek % % This file is part of the babel system, it provides the source % code for the Dutch language definition file. %<*filedriver> \documentclass{ltxdoc} \makeatletter \gdef\dlqq{{\setbox\tw@=\hbox{,}\setbox\z@=\hbox{''}% \dimen\z@=\ht\z@ \advance\dimen\z@-\ht\tw@ \setbox\z@=\hbox{\lower\dimen\z@\box\z@}\ht\z@=\ht\tw@ \dp\z@=\dp\tw@ \box\z@\kern-.04em}} \makeatother \font\manual=logo10 % font used for the METAFONT logo, etc. \newcommand*\MF{{\manual META}\-{\manual FONT}} \newcommand*\TeXhax{\TeX hax} \newcommand*\babel{\textsf{babel}} \newcommand*\langvar{$\langle \it lang \rangle$} \newcommand*\note[1]{} \newcommand*\Lopt[1]{\textsf{#1}} \newcommand*\file[1]{\texttt{#1}} \begin{document} \DocInput{dutch.dtx} \end{document} % % \fi % \GetFileInfo{dutch.dtx} % % \changes{dutch-2.0a}{1990/04/02}{Added checking of format} % \changes{dutch-2.0b}{1990/04/02}{Added extrasdutch} % \changes{dutch-2.0c}{1990/04/18}{Added grqq macros} % \changes{dutch-2.1}{1990/04/24}{reflect change to version 2.1 in % babel and changes in german v2.3} % \changes{dutch-2.1a}{1990/05/01}{Incorporated Nico's comments} % \changes{dutch-2.1b}{1990/07/04}{Incorporated more comments by Nico} % \changes{dutch-2.1c}{1990/07/16}{Fixed some typos} % \changes{dutch-2.2}{1990/07/16}{Fixed problem with the use of % \texttt{"} in moving arguments while \texttt{"} is active} % \changes{dutch-2.3}{1990/07/30}{When using PostScript fonts with the % Adobe font-encoding, the dieresis-accent is located elsewhere, % modified code} % \changes{dutch-2.3a}{1990/08/27}{Modified the documentation somewhat} % \changes{dutch-3.0}{1991/04/23}{Modified for babel 3.0} % \changes{dutch-3.0a}{1991/05/25}{Removed some problems in change log} % \changes{dutch-3.1}{1991/05/29}{Removed bug found by van der Meer} % \changes{dutch-3.2a}{1991/07/15}{Renamed babel.sty in babel.com} % \changes{dutch-3.3}{1991/10/31}{Rewritten parts of the code to use % the new features of babel version 3.1} % \changes{dutch-3.6}{1994/02/02}{Update or LaTeX2e} % \changes{dutch-3.6c}{1994/06/26}{Removed the use of \cs{filedate}, % moved identification after the loading of babel.def} % \changes{dutch-3.7a}{1995/02/03}{Moved identification code to the % top of the file} % \changes{dutch-3.7a}{1995/02/04}{Rewrote the code with respect to % the active double quote character} % \changes{dutch-3.7f}{1996/07/11}{Replaced \cs{undefined} with % \cs{@undefined} and \cs{empty} with \cs{@empty} for consistency % with \LaTeX} % \changes{dutch-3.8a}{1996/10/04}{Merged in the definitions for % `afrikaans'} % % \section{The Dutch language} % % The file \file{\filename}\footnote{The file described in this % section has version number \fileversion, and was last revised on % \filedate.} defines all the language-specific macros for the Dutch % language and the `Afrikaans' version\footnote{contributed by % Stoffel Lombard} of it. % % For this language the character |"| is made active. In % table~\ref{tab:dutch-quote} an overview is given of its purpose. % One of the reasons for this is that in the Dutch language a word % with a dieresis can be hyphenated just before the letter with the % umlaut, but the dieresis has to disappear if the word is broken % between the previous letter and the accented letter. % % In~\cite{treebus} the quoting conventions for the Dutch language % are discussed. The preferred convention is the single-quote % Anglo-American convention, i.e. `This is a quote'. An % alternative is the slightly old-fashioned Dutch method with % initial double quotes lowered to the baseline, \dlqq This is a % quote'', which should be typed as \texttt{"`This is a quote"'}. % % \begin{table}[htb] % \centering % \begin{tabular}{lp{8cm}} % |"a| & |\"a| which hyphenates as |-a|; % also implemented for the other letters. \\ % |"y| & puts a negative kern between \texttt{i} and \texttt{j}\\ % |"Y| & puts a negative kern between \texttt{I} and \texttt{J}\\ % \verb="|= & disable ligature at this position. \\ % |"-| & an explicit hyphen sign, allowing hyphenation % in the rest of the word. \\ % |"~| & to produce a hyphencharcter without the following % |\discretionary{}{}{}|.\\ % |""| & to produce an invisible `breakpoint'.\\ % |"`| & lowered double left quotes (see example below).\\ % |"'| & normal double right quotes. \\ % |\-| & like the old |\-|, but allowing hyphenation % in the rest of the word. % \end{tabular} % \caption{The extra definitions made by \file{dutch.ldf}} % \label{tab:dutch-quote} % \end{table} % % \StopEventually{} % % \changes{dutch-3.2c}{1991/10/22}{Removed code to load % \file{latexhax.com}} % \changes{dutch-3.2a}{1991/07/15}{Added reset of catcode of @ before % \cs{endinput}.} % \changes{dutch-3.2c}{1991/10/22}{removed use of \cs{@ifundefined}} % \changes{dutch-3.3a}{1991/11/11}{Moved code to the beginning of the % file and added \cs{selectlanguage} call} % \changes{dutch-3.8a}{1996/10/04}{made check dependant on % \cs{CurrentOption}} % % The macro |\LdfInit| takes care of preventing that this file is % loaded more than once, checking the category code of the % \texttt{@} sign, etc. % \changes{dutch-3.8a}{1996/10/30}{Now use \cs{LdfInit} to perform % initial checks} % \begin{macrocode} %<*code> \LdfInit\CurrentOption{captions\CurrentOption} % \end{macrocode} % % When this file is read as an option, i.e. by the |\usepackage| % command, \texttt{dutch} could be an `unknown' language in which % case we have to make it known. So we check for the existence of % |\l@dutch| or |l@afrikaans| to see whether we have to do % something here. % % First we try to establish with which option we are being % processed. % % \changes{dutch-3.0}{1991/04/23}{Now use \cs{adddialect} if language % undefined} % \changes{dutch-3.2c}{1991/10/22}{removed use of \cs{@ifundefined}} % \changes{dutch-3.3b}{1992/01/25}{Added warning, if no dutch patterns % loaded} % \changes{dutch-3.6c}{1994/06/26}{Now use \cs{@nopatterns} to produce % the warning} % \changes{dutch-3.8a}{1996/10/04}{this needs a more complicated check % as `afrikaans' may or may not have its own hyphenation patterns} % \begin{macrocode} \def\bbl@tempa{dutch} \ifx\CurrentOption\bbl@tempa % \end{macrocode} % If it is \Lopt{dutch} then we first check if the Dutch % hyphenation patterns wer loaded, % \begin{macrocode} \ifx\l@dutch\undefined % \end{macrocode} % if no we issue a warning and make dutch a `dialect' of either the % hyphenation patterns that were loaded in slot 0 or of `afrikaans' % when it is available. % \begin{macrocode} \@nopatterns{Dutch} \ifx\l@afrikaans\undefined \adddialect\l@dutch0 \else \adddialect\l@dutch\l@afrikaans \fi \fi % \end{macrocode} % % The next step consists of defining commands to switch to (and % from) the Dutch language. % % \begin{macro}{\captionsdutch} % The macro |\captionsdutch| defines all strings used % in the four standard document classes provided with \LaTeX. % \changes{dutch-3.1a}{1991/06/06}{Removed \cs{global} definitions} % \changes{dutch-3.1a}{1991/06/06}{\cs{pagename} should be % \cs{headpagename}} % \changes{dutch-3.3a}{1991/11/11}{added \cs{seename} and % \cs{alsoname}} % \changes{dutch-3.3b}{1992/01/25}{added \cs{prefacename}} % \changes{dutch-3.5}{1993/07/11}{\cs{headpagename} should be % \cs{pagename}} % \changes{dutch-3.7c}{1995/06/08}{We need the \texttt{"} to be active % while defining \cs{captionsdutch}} % \changes{dutch-3.7d}{1995/07/04}{Added \cs{proofname} for % AMS-\LaTeX} % \changes{dutch-3.8b}{1997/01/06}{Use \texttt{Bew"ys} instead of % \texttt{Bewijs}} % \changes{dutch-3.8h}{2000/09/19}{Added \cs{glossaryname}} % \changes{dutch-3.8k}{2021/08/28}{Don't use shorthands} % \begin{macrocode} \begingroup \catcode`\"\active \def\x{\endgroup \def\captionsdutch{% \def\prefacename{Voorwoord}% \def\refname{Referenties}% \def\abstractname{Samenvatting}% \def\bibname{Bibliografie}% \def\chaptername{Hoofdstuk}% \def\appendixname{B\ij lage}% \def\contentsname{Inhoudsopgave}% \def\listfigurename{L\ij st van figuren}% \def\listtablename{L\ij st van tabellen}% \def\indexname{Index}% \def\figurename{Figuur}% \def\tablename{Tabel}% \def\partname{Deel}% \def\enclname{B\ij lage(n)}% \def\ccname{cc}% \def\headtoname{Aan}% \def\pagename{Pagina}% \def\seename{zie}% \def\alsoname{zie ook}% \def\proofname{Bew\ij s}% \def\glossaryname{Verklarende Woordenl\ij st}% } }\x % \end{macrocode} % \end{macro} % % \begin{macro}{\datedutch} % The macro |\datedutch| redefines the command |\today| to produce % Dutch dates. % \changes{dutch-3.1a}{1991/06/06}{Removed \cs{global} definitions} % \changes{dutch-3.8e}{1997/10/01}{Use \cs{edef} to define % \cs{today} to save memory} % \changes{dutch-3.8e}{1998/03/28}{use \cs{def} instead of \cs{edef}} % \begin{macrocode} \def\datedutch{% \def\today{\number\day~\ifcase\month\or januari\or februari\or maart\or april\or mei\or juni\or juli\or augustus\or september\or oktober\or november\or december\fi \space \number\year}} % \end{macrocode} % \end{macro} % % When the option with which this file is being process was not % \Lopt{dutch} we assume it was \Lopt{afrikaans}. We perform a % similar check on the availability of the hyphenation paterns. % \begin{macrocode} \else \ifx\l@afrikaans\undefined \@nopatterns{Afrikaans} \ifx\l@dutch\undefined \adddialect\l@afrikaans0 \else \adddialect\l@afrikaans\l@dutch \fi \fi % \end{macrocode} % % \begin{macro}{\captionsafrikaans} % Now is the time to define the words for `Afrikaans'. % \begin{macrocode} \def\captionsafrikaans{% \def\prefacename{Voorwoord}% \def\refname{Verwysings}% \def\abstractname{Samevatting}% \def\bibname{Bibliografie}% \def\chaptername{Hoofstuk}% \def\appendixname{Bylae}% \def\contentsname{Inhoudsopgawe}% \def\listfigurename{Lys van figure}% \def\listtablename{Lys van tabelle}% \def\indexname{Inhoud}% \def\figurename{Figuur}% \def\tablename{Tabel}% \def\partname{Deel}% \def\enclname{Bylae(n)}% \def\ccname{a.a.}% \def\headtoname{Aan}% \def\pagename{Bladsy}% \def\seename{sien}% \def\alsoname{sien ook}% \def\proofname{Bewys}% } % \end{macrocode} % \end{macro} % % \begin{macro}{\dateafrikaans} % Here is the `Afrikaans' version of the date macro. % \changes{dutch-3.8e}{1997/10/01}{Use \cs{edef} to define % \cs{today} to save memory} % \changes{dutch-3.8e}{1998/03/28}{use \cs{def} instead of \cs{edef}} % \begin{macrocode} \def\dateafrikaans{% \def\today{\number\day~\ifcase\month\or Januarie\or Februarie\or Maart\or April\or Mei\or Junie\or Julie\or Augustus\or September\or Oktober\or November\or Desember\fi \space \number\year}} \fi % \end{macrocode} % \end{macro} % % \begin{macro}{\extrasdutch} % \begin{macro}{\extrasafrikaans} % \changes{dutch-3.0b}{1991/05/29}{added some comment chars to prevent % white space} % \changes{dutch-3.1a}{1991/06/6}{Removed \cs{global} definitions} % \changes{dutch-3.2}{1991/07/02}{Save all redefined macros} % \changes{dutch-3.3}{1991/10/31}{Macro complete rewritten} % \changes{dutch-3.3b}{1992/01/25}{modified handling of % \cs{dospecials} and \cs{@sanitize}} % % \begin{macro}{\noextrasdutch} % \begin{macro}{\noextrasafrikaans} % \changes{dutch-2.3}{1990/07/30}{Added \cs{dieresis}} % \changes{dutch-3.0b}{1991/05/29}{added some comment chars to prevent % white space} % \changes{dutch-3.1a}{1991/06/06}{Removed \cs{global} definitions} % \changes{dutch-3.2}{1991/07/02}{Try to restore everything to its % former state} % \changes{dutch-3.3}{1991/10/31}{Macro complete rewritten} % \changes{dutch-3.3b}{1992/01/25}{modified handling of \cs{dospecials} % and \cs{@sanitize}} % \changes{dutch-3.8a}{1996/10/04}{Made all definitions dependant on % \cs{CurrentOption}} % % The macros |\extrasdutch| and |\captionsafrikaans| will perform % all the extra definitions needed for the Dutch language. The % macros |\noextrasdutch| and |noextrasafrikaans| is used % to cancel the actions of |\extrasdutch| and |\captionsafrikaans|. % % For Dutch the \texttt{"} character is made active. This is done % once, later on its definition may vary. Other languages in the % same document may also use the \texttt{"} character for % shorthands; we specify that the dutch group of shorthands should % be used. % \begin{macrocode} \initiate@active@char{"} % \end{macrocode} % Both version of the language use the same set of shorthand % definitions althoug the `ij' is not used in Afrikaans. % \begin{macrocode} \@namedef{extras\CurrentOption}{\languageshorthands{dutch}} \expandafter\addto\csname extras\CurrentOption\endcsname{% \bbl@activate{"}} % \end{macrocode} % % The `umlaut' character should be positioned lower on \emph{all} % vowels in Dutch texts. % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \umlautlow\umlautelow} \@namedef{noextras\CurrentOption}{% \umlauthigh} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\dutchhyphenmins} % \begin{macro}{\afrikaanshyphenmins} % The dutch hyphenation patterns can be used with |\lefthyphenmin| % set to~2 and |\righthyphenmin| set to~3. % \changes{dutch-3.7a}{1995/05/13}{use \cs{dutchhyphenmins} to store % the correct values} % \changes{dutch-3.8h}{2000/09/22}{Now use \cs{providehyphenmins} to % provide a default value} % \begin{macrocode} \providehyphenmins{\CurrentOption}{\tw@\thr@@} % \end{macrocode} % \end{macro} % \end{macro} % % \changes{dutch-3.3a}{1991/11/11}{Added \cs{save@sf@q} macro from % germanb and rewrote all quote macros to use it} % \changes{dutch-3.4b}{1991/02/16}{moved definition of % \cs{allowhyphens}, \cs{set@low@box} and \cs{save@sf@q} to % \file{babel.com}} % \changes{dutch-3.7a}{1995/02/04}{Removed \cs{dlqq}, \cs{@dlqq}, % \cs{drqq}, \cs{@drqq} and \cs{dieresis}} % \changes{dutch-3.7a}{1995/02/15}{moved the definition of the double % quote character at the baseline to \file{glyhps.def}} % % \begin{macro}{\@trema} % In the Dutch language vowels with a trema are treated % specially. If a hyphenation occurs before a vowel-plus-trema, the % trema should disappear. To be able to do this we could first % define the hyphenation break behaviour for the five vowels, both % lowercase and uppercase, in terms of |\discretionary|. But this % results in a large |\if|-construct in the definition of the % active |"|. Because we think a user should not use |"| when he % really means something like |''| we chose not to distinguish % between vowels and consonants. Therefore we have one macro % |\@trema| which specifies the hyphenation break behaviour for all % letters. % % \changes{dutch-2.3}{1990/07/30}{\cs{dieresis} instead of % \cs{accent127}} % \changes{dutch-3.3a}{1991/11/11}{renamed \cs{@umlaut} to % \cs{@trema}} % \begin{macrocode} \def\@trema#1{\allowhyphens\discretionary{-}{#1}{\"{#1}}\allowhyphens} % \end{macrocode} % \end{macro} % % \changes{dutch-3.7a}{1995/02/15}{Moved the definition of \cs{ij} and % \cs{IJ} to \file{glyphs.def}} % \changes{dutch-3.7a}{1995/02/03}{The support macros for the active % double quote have been moved to \file{babel.def}} % % Now we can define the doublequote macros: the tremas, % % \changes{dutch-2.3}{1990/07/30}{\cs{dieresis} instead of % \cs{accent127}} % \changes{dutch-3.2}{1991/07/02}{added case for \texttt{"y} and % \texttt{"Y}} % \changes{dutch-3.2b}{1991/07/16}{removed typo (allowhpyhens)} % \changes{dutch-3.7a}{1995/02/03}{Now use \cs{Declaredq{dutch}} to % define the functions of the active double quote} % \changes{dutch-3.7a}{1995/02/03}{Use \cs{ddot} instead of % \cs{@MATHUMLAUT}} % \changes{dutch-3.7a}{1995/03/05}{Use more general mechanism of % \cs{declare@shorthand}} % \begin{macrocode} \declare@shorthand{dutch}{"a}{\textormath{\@trema a}{\ddot a}} \declare@shorthand{dutch}{"e}{\textormath{\@trema e}{\ddot e}} \declare@shorthand{dutch}{"i}{\textormath {\allowhyphens\discretionary{-}{i}{\"{\i}}\allowhyphens}% {\ddot \imath}} \declare@shorthand{dutch}{"o}{\textormath{\@trema o}{\ddot o}} \declare@shorthand{dutch}{"u}{\textormath{\@trema u}{\ddot u}} % \end{macrocode} % dutch quotes, % \changes{dutch-3.8e}{1997/04/03}{Removed empty groups after double % quote characters} % \begin{macrocode} \declare@shorthand{dutch}{"`}{% \textormath{\quotedblbase}{\mbox{\quotedblbase}}} \declare@shorthand{dutch}{"'}{% \textormath{\textquotedblright}{\mbox{\textquotedblright}}} % \end{macrocode} % and some additional commands: % \changes{dutch-3.7b}{1995/06/04}{Added \texttt{""} shorthand} % \changes{dutch-3.8c}{1997/01/14}{Added the \texttt{"\~{}} shorthand} % \changes{dutch-3.8e}{1997/04/01}{Forgot to replace `german' by % `dutch' when copying definition for \texttt{"\~{}}} % \changes{dutch-3.8j}{2020/10/29}{\cs{babel@texpdf}} % \begin{macrocode} \declare@shorthand{dutch}{"-}{\nobreak-\bbl@allowhyphens} \declare@shorthand{dutch}{"~}{% \babel@texpdf{\leavevmode\hbox{-}}{-}{-}{\textminus}} \declare@shorthand{dutch}{"|}{% \babel@texpdf{\discretionary{-}{}{\kern.03em}}{}{}{}} \declare@shorthand{dutch}{""}{\hskip\z@skip} \declare@shorthand{dutch}{"y}{\textormath{\ij{}}{\ddot y}} \declare@shorthand{dutch}{"Y}{\textormath{\IJ{}}{\ddot Y}} % \end{macrocode} % % Map case. % % \begin{macrocode} \StartBabelCommands{dutch}{} \SetCase[\ij\IJ]{}{} \EndBabelCommands % \end{macrocode} % % To enable hyphenation in two words, written together but % separated by a slash, as in `uitdrukking/opmerking' we define the % command |"/|. % \changes{dutch-3.8e}{1997/10/03}{Added a shorthand with the slash % character} % \changes{dutch-3.8i}{2003/09/15}{\texttt{"/} should use % \cs{bbl@allowhyphens}} % \begin{macrocode} \declare@shorthand{dutch}{"/}{\textormath {\bbl@allowhyphens\discretionary{/}{}{/}\bbl@allowhyphens}{}} % \end{macrocode} % % \begin{macro}{\-} % % All that is left now is the redefinition of |\-|. The new version % of |\-| should indicate an extra hyphenation position, while % allowing other hyphenation positions to be generated % automatically. The standard behaviour of \TeX\ in this respect is % very unfortunate for languages such as Dutch and German, where % long compound words are quite normal and all one needs is a means % to indicate an extra hyphenation position on top of the ones that % \TeX\ can generate from the hyphenation patterns. % \changes{dutch-3.8i}{2003/09/15}{\cs{-} should use % \cs{bbl@allowhyphens}} % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\-} \expandafter\addto\csname extras\CurrentOption\endcsname{% \def\-{\bbl@allowhyphens\discretionary{-}{}{}\bbl@allowhyphens}} % \end{macrocode} % \end{macro} % % The macro |\ldf@finish| takes care of looking for a % configuration file, setting the main language to be switched on % at |\begin{document}| and resetting the category code of % \texttt{@} to its original value. % \changes{dutch-3.8a}{1996/10/30}{Now use \cs{ldf@finish} to wrap up} % \begin{macrocode} \ldf@finish\CurrentOption % % \end{macrocode} % % \Finale %% %% \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 \~} %% \endinput