% \iffalse meta-comment
%
% File `ngermanb.dtx'
%
% Copyright 1989--2014 Johannes L. Braams
%                     Bernd Raichle
%                     Walter Schmidt,
%                     Juergen Spitzmueller
% All rights reserved.
% 
% This file is part of the babel-german bundle,
% an extension to 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 Juergen Spitzmueller.
%
% This file is based on german.tex version 2.5e
%                       by Bernd Raichle, Hubert Partl et.al.
%
% \fi
% \CheckSum{294}
%
% \iffalse
%    Tell the \LaTeX\ system who we are and write an entry on the
%    transcript.
%<*dtx>
\ProvidesFile{ngermanb.dtx}
%</dtx>
%<austrian>\ProvidesLanguage{naustrian}
%<german>\ProvidesLanguage{ngerman}
%<swiss>\ProvidesLanguage{nswissgerman}
%<germanb>\ProvidesLanguage{ngermanb}
%\fi
%\ProvidesFile{ngermanb.dtx}
        [2013/12/13 v2.7 German support for babel (new orthography)]
%\iffalse
%
%<*filedriver>
\documentclass{ltxdoc}
\usepackage{bera}
\usepackage{url}
\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*\Babel{\textsf{Babel}}
\newcommand*\langvar{$\langle \it lang \rangle$}
\newcommand*\note[1]{}
\newcommand*\Lopt[1]{\textsf{#1}}
\newcommand*\file[1]{\texttt{#1}}
\GlossaryMin = .33\textheight

\begin{document}
 \DocInput{ngermanb.dtx}
\end{document}
%</filedriver>
%\fi
% \GetFileInfo{ngermanb.dtx}
%
%\RecordChanges
%
% \changes{ngermanb-2.7}{2013/12/13}{Added support for variety \texttt{nswissgerman}.}
% \changes{ngermanb-2.7}{2013/12/13}{Revised \texttt{naustrian} support.}
% \changes{ngermanb-2.7}{2013/12/13}{Revised documentation: Turn the \babel{}
%          manual chapter into a self-enclosed manual.}
%
% \changes{ngermanb-2.6f}{1999/03/24}{Renamed from \file{germanb.ldf};
%          language names changed from \texttt{german} and \texttt{austrian}
%          to \texttt{ngerman} and \texttt{naustrian}.}
%
%  \title{Babel support for the German language (new~orthography)}
%  \author{Johannes Braams \and Bernd Raichle \and Walter Schmidt \and J\"urgen Spitzm\"uller\thanks{%
%         Current maintainer. Address correspondence to juergen (at) spitzmueller (dot) org.}}
%  \date{\fileversion\ (\filedate)}
%  \maketitle
%
%    \begin{abstract}
%      \noindent This manual documents the \babel\ language definition file \file{ngermanb.ldf}
%      for German (new orthography).
%      The file is part of the \textsf{babel-german} bundle.
%    \end{abstract}
%
%    \section{Aim and usage}
%
%    The file \file{ngermanb.ldf} provides the \babel\ package with all language
%    definition macros (language specific strings and settings) for the German
%    language, including the Austrian and Swiss varieties of German. Furthermore,
%    it assures that the correct hyphenation patterns for the respective language
%    or variety are used.\footnote{The file \file{ngermanb.ldf} started as a
%    re-implementation of the package \file{ngerman.sty} by Bernd Raichle (cf. \cite{gerdoc}),
%    which itself builds on \file{german.sty}, originally developed by Hubert Partl
%    (cf. \cite{HP}) and later maintained by Bernd Raichle as well.
%    The re-implementation was done by Johannes Braams.}
%    The file adheres to the reformed (1996\,ff.) orthography.
%    For traditional (1901--1996) German orthography support,
%    please refer to the complementary |germanb.ldf| file.
%
%    In order to use the language definitions provided here, you need to use
%    the \babel\ package and pass the respective language name as an
%    option, either of
%
%    \begin{itemize}
%       \setlength{\itemsep}{0pt}
%       \item |\usepackage[ngerman]{babel}|
%       \item |\usepackage[naustrian]{babel}|
%       \item |\usepackage[nswissgerman]{babel}|
%    \end{itemize}
%    Please consult the \babel\ manual \cite{babel} for details.
%
%    \section{Shorthands}
%
%    For all three varieties of German, the character |"| is made active
%    in order to provide some shorthand macros.
%    The shorthands provide access to some frequently
%    used special characters as well as some further possibilities
%    to control hyphenation, to break lines and to deal with ligatures.
%    Table~\ref{tab:german-quote} provides an overview of the shorthands
%    that are provided by \file{ngermanb.ldf}.
%    \begin{table}[htb]
%     \begin{center}
%     \begin{tabular}{lp{.75\textwidth}}
%      |"a| & umlaut \"a (shorthand for |\"a|). Similar shorthands are
%                  available for all other lower- and uppercase
%                  vowels (umlauts: |"a|, |"o|, |"u|, |"A|, |"O|,
%                  |"U|, as well as tremata: |"e|, |"i|, |"E|, |"I|).\\
%      |"s| & German \ss{} (shorthand for |\ss{}|).                \\
%      |"z| & German \ss{} (shorthand for |\ss{}|).                \\
%      |"S| & |SS| (|\uppercase{"s}|, since \ss{} must be written
%               as SS in uppercase writing).                       \\
%      |"Z| & |SZ| (|\uppercase{"z}|). An alternative to |"S| common
%               in traditional spelling, where \ss{} could also
%               be written as SZ instead of SS in uppercase writing.
%               Note that, with reformed orthography, the SZ
%               variant has been deprecated in favour of SS only.  \\
%      \verb="|= & disable ligature at this position
%                  (e.\,g. \verb=Auf"|lage=).                      \\
%      |"-| & an additional breakpoint that does still
%             allow for hyphenation at the breakpoints preset in
%             the hyphenation patterns (as opposed to |\-|).       \\
%      |""| & a breakpoint that does not output a hyphen sign
%             if the line break is performed (useful for compound
%             words with hyphen, e.\,g.\ |(Un-)""Sinn|).           \\
%      |"~| & a compound word mark without a breakpoint. Useful for
%              cases such as |bergauf und "~ab|.          \\
%      |"=| & a compound word mark with a breakpoint, allowing
%             for hyphenation at the other points preset in the
%             hyphenation patterns (as opposed to plain |-|).      \\
%      |"`| & German left double quotes (i.\,e. ,,).               \\
%      |"'| & German right double quotes (i.\,e. ``).              \\
%      |"<| & French/Swiss left double quotes (i.\,e. <<).        \\
%      |">| & French/Swiss right double quotes (i.\,e. >>).       \\
%     \end{tabular}
%     \caption{The extra definitions made
%              by \file{ngermanb.ldf}}\label{tab:german-quote}
%     \end{center}
%    \end{table}
%
%    Table~\ref{tab:more-quote} lists some macros for quotation marks
%    that might be used as an alternative to the quotation mark shorthands
%    provided by \file{ngermanb.ldf}.
%    \begin{table}[htb]
%     \begin{center}
%     \begin{tabular}{lp{8cm}}
%      |\glqq| & German left double quotes (i.\,e. ,,).   \\
%      |\grqq| & German right double quotes (i.\,e. ``).  \\
%      |\glq|  & German left single quotes (i.\,e. ,).    \\
%      |\grq|  & German right single quotes (i.\,e. `).   \\
%      |\flqq| & French/Swiss left double quotes (i.\,e. <<). \\
%      |\frqq| & French/Swiss right double quotes (i.\,e. >>).\\
%      |\flq|  & French/Swiss left single quotes (i.\,e. \guilsinglleft).  \\
%      |\frq|  & French/Swiss right single quotes (i.\,e.  \guilsinglright). \\
%      |\dq|   & the original quotation mark character (i.\,e. |"|).       \\
%     \end{tabular}
%     \caption{Alternative commands for quotation marks (provided by \babel)}\label{tab:more-quote}
%     \end{center}
%    \end{table}
%
% \StopEventually{}
%
%
%    \section{Implementation}
%
%    \subsection{General settings}
%
%    If \file{ngermanb.ldf} is read via the \babel\ option \Lopt{ngermanb},
%    we make it behave as if \Lopt{ngerman} was specified.
% \iffalse
%<*germanb>
% \fi
%    \begin{macrocode}
\def\bbl@tempa{ngermanb}
\ifx\CurrentOption\bbl@tempa
  \def\CurrentOption{ngerman}
\fi
%    \end{macrocode}
%
%    The macro |\LdfInit| takes care of preventing that this file is
%    loaded more than once, checking the category code of the
%    \texttt{@} sign, etc.
%    \begin{macrocode}
\LdfInit\CurrentOption{captions\CurrentOption}
%    \end{macrocode}
%
%    If \file{ngermanb.ldf} is read as an option, i.e., by the |\usepackage|
%    command, \texttt{ngerman} will be an `unknown' language, so we
%    have to make it known.  We check for the existence of
%    |\l@ngerman| to see whether we have to do something here.
%
%    \begin{macrocode}
\ifx\l@ngerman\@undefined
  \@nopatterns{ngerman}
  \adddialect\l@ngerman0
\fi
%    \end{macrocode}
%
%    We set \texttt{naustrian} and \texttt{nswissgerman} as dialects
%    of \texttt{ngerman}, since they use the same hyphenation patterns
%    than \texttt{ngerman}.
%    \begin{macrocode}
\adddialect\l@naustrian\l@ngerman
\adddialect\l@nswissgerman\l@ngerman
%    \end{macrocode}
%
%    \subsection{Language-specific strings (captions)}
%
%    The next step consists of defining macros that provide language specific strings
%    and settings.
%
%  \begin{macro}{\captionsngerman}
% \changes{ngermanb-2.6n}{2008/07/06}{Corrected typo
%    \cs{captionnsgerman}} 
%    The macro |\captionsngerman| defines all strings used in the four
%    standard document classes provided with \LaTeX\ for German.
%
% \changes{ngermanb-2.7}{2013/12/13}{Split \cs{captionsngerman} from
%                                    \cs{captionsnaustrian} and
%                                    \cs{captionsnswissgerman}.}
% \changes{ngermanb-2.7}{2013/12/13}{Changed \cs{enclname} in
%                                     \texttt{naustrian} to
%                                    \emph{Beilage(n)}.}
% \changes{ngermanb-2.6k}{2000/09/20}{Added \cs{glossaryname}}
%    \begin{macrocode}
\@namedef{captionsngerman}{%
  \def\prefacename{Vorwort}%
  \def\refname{Literatur}%
  \def\abstractname{Zusammenfassung}%
  \def\bibname{Literaturverzeichnis}%
  \def\chaptername{Kapitel}%
  \def\appendixname{Anhang}%
  \def\contentsname{Inhaltsverzeichnis}%    % oder nur: Inhalt
  \def\listfigurename{Abbildungsverzeichnis}%
  \def\listtablename{Tabellenverzeichnis}%
  \def\indexname{Index}%
  \def\figurename{Abbildung}%
  \def\tablename{Tabelle}%                  % oder: Tafel
  \def\partname{Teil}%
  \def\enclname{Anlage(n)}%
  \def\ccname{Verteiler}%                   % oder: Kopien an
  \def\headtoname{An}%
  \def\pagename{Seite}%
  \def\seename{siehe}%
  \def\alsoname{siehe auch}%
  \def\proofname{Beweis}%
  \def\glossaryname{Glossar}%
  }
%    \end{macrocode}
%  \end{macro}
%  \begin{macro}{\captionsnaustrian}
%    The macro |\captionsnaustrian| builds on |\captionsngerman|, but
%    redefines some strings following Austrian conventions (for the
%    respective variants, cf. \cite{vwb}).
%    \begin{macrocode}
\@namedef{captionsnaustrian}{%
  \@nameuse{captionsngerman}
  \def\enclname{Beilage(n)}%
  }
%    \end{macrocode}
%  \end{macro}
%  \begin{macro}{\captionsnswissgerman}
%    The macro |\captionsnswissgerman| builds on |\captionsngerman|, but
%    redefines some strings following Swiss conventions (for the
%    respective variants, cf. \cite{vwb}).
%    \begin{macrocode}
\@namedef{captionsnswissgerman}{%
  \@nameuse{captionsngerman}
  \def\enclname{Beilage(n)}%
  }
%    \end{macrocode}
%  \end{macro}
%
%  \subsection{Date localizations}
%
%  \begin{macro}{\datengerman}
%    The macro |\datengerman| redefines the command
%    |\today| to produce German dates.
%    \begin{macrocode}
\def\month@ngerman{\ifcase\month\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\datengerman{\def\today{\number\day.~\month@ngerman
    \space\number\year}}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\datenswissgerman}
%    \changes{ngermanb-2.7}{2013/12/13}{Added \cs{datenswissgerman}.}
%    The macro |\datenswissgerman| does the same for Swiss German dates.
%    The result is identical to German.
%    \begin{macrocode}
\def\datenswissgerman{\def\today{\number\day.~\month@ngerman
    \space\number\year}}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\datenaustrian}
%    The macro |\datenaustrian| redefines the command
%    |\today| to produce Austrian versions of the German dates.
%    Here, the naming of January (,,J\"anner``) differs from the
%    other German varieties.
%    \begin{macrocode}
\def\datenaustrian{\def\today{\number\day.~\ifnum1=\month
  J\"anner\else \month@ngerman\fi \space\number\year}}
%    \end{macrocode}
%  \end{macro}
%
%  \subsection{Extras}
%
%  \begin{macro}{\extrasngerman}
%  \begin{macro}{\extrasnaustrian}
%  \begin{macro}{\extrasnswissgerman}
%  \begin{macro}{\noextrasngerman}
%  \begin{macro}{\noextrasnaustrian}
%  \begin{macro}{\noextrasnswissgerman}
%    The macros |\extrasngerman|, |\extrasnaustrian|
%    and |\extrasnswissgerman|, respectively, will perform all the extra 
%    definitions needed for the German language or the respective
%    variety. The macro |\noextrasngerman| is used to cancel the
%    actions of |\extrasngerman|. |\noextrasnaustrian| and
%    |\noextrasnswissgerman| behave analoguously.
%    \changes{ngermanb-2.7}{2013/12/13}{Added \cs{extrasnswissgerman}
%                                       and \cs{noextrasnswissgerman}.}
%
%    For all German varieties, the character \texttt{"} is
%    made active. This is done once, later on its definition may vary.
%    \begin{macrocode}
\initiate@active@char{"}
\@namedef{extras\CurrentOption}{%
  \languageshorthands{ngerman}}
\expandafter\addto\csname extras\CurrentOption\endcsname{%
  \bbl@activate{"}}
%    \end{macrocode}
%    Turn the shorthands off again outside of German.
% \changes{ngermanb-2.6j}{1999/12/16}{Deactivate shorthands ouside of
%    German}
% \changes{ngermanb-2.7}{2013/12/13}{Deactivate shorthands also outside of
%    \texttt{naustrian} and \texttt{nswissgerman}.}
%    \begin{macrocode}
\expandafter\addto\csname noextras\CurrentOption\endcsname{%
  \bbl@deactivate{"}}
%    \end{macrocode}
%
%
%    In order for \TeX\ to be able to hyphenate German words which
%    contain `\ss' (in the \texttt{OT1} position |^^Y|) we have to
%    give the character a nonzero |\lccode| (see Appendix H, the \TeX
%    book).
%    \begin{macrocode}
\expandafter\addto\csname extras\CurrentOption\endcsname{%
  \babel@savevariable{\lccode25}%
  \lccode25=25}
%    \end{macrocode}
%
%    The umlaut accent macro |\"| is changed to lower the umlaut dots.
%    The redefinition is done with the help of |\umlautlow|.
%    \begin{macrocode}
\expandafter\addto\csname extras\CurrentOption\endcsname{%
  \babel@save\"\umlautlow}
%    \end{macrocode}
% \changes{ngermanb-2.7}{2013/12/13}{Do not use \cs{@namedef} when
%    \cs{noextras} is already defined and should not be overwritten.}
%    \begin{macrocode}
\expandafter\addto\csname noextras\CurrentOption\endcsname{%
  \umlauthigh}
%    \end{macrocode}
%    The current 
%    version of the `new' German hyphenation patterns (\file{dehyphn.tex})
%    is to be used with |\lefthyphenmin| and |\righthyphenmin| set to~2. 
% \changes{ngermanb-2.6k}{2000/09/22}{Now use \cs{providehyphenmins} to
%    provide a default value}
%    \begin{macrocode}
\providehyphenmins{\CurrentOption}{\tw@\tw@}
%    \end{macrocode}
%    For German texts we need to assure that |\frenchspacing| is
%    turned on.
% \changes{ngermanb-2.6m}{2001/01/26}{Turn frenchspacing on, as in
%    \texttt{german.sty}}
%    \begin{macrocode}
\expandafter\addto\csname extras\CurrentOption\endcsname{%
  \bbl@frenchspacing}
\expandafter\addto\csname noextras\CurrentOption\endcsname{%
  \bbl@nonfrenchspacing}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%    \subsection{Active characters, macros \& shorthands}
%
%    The following code is necessary because we need an extra active
%    character. This character is then used as indicated in
%    table~\ref{tab:german-quote}.
%
%    In order to be able to define the function of |"|, we first define a
%    couple of `support' macros.
%
%
%  \begin{macro}{\dq}
%    We save the original double quotation mark character in |\dq| to keep
%    it available, the math accent |\"| can now be typed as |"|.
%    \begin{macrocode}
\begingroup \catcode`\"12
\def\x{\endgroup
  \def\@SS{\mathchar"7019 }
  \def\dq{"}}
\x
%    \end{macrocode}
%  \end{macro}
%
%    Now we can define the doublequote shorthands: the umlauts,
%    \begin{macrocode}
\declare@shorthand{ngerman}{"a}{\textormath{\"{a}\allowhyphens}{\ddot a}}
\declare@shorthand{ngerman}{"o}{\textormath{\"{o}\allowhyphens}{\ddot o}}
\declare@shorthand{ngerman}{"u}{\textormath{\"{u}\allowhyphens}{\ddot u}}
\declare@shorthand{ngerman}{"A}{\textormath{\"{A}\allowhyphens}{\ddot A}}
\declare@shorthand{ngerman}{"O}{\textormath{\"{O}\allowhyphens}{\ddot O}}
\declare@shorthand{ngerman}{"U}{\textormath{\"{U}\allowhyphens}{\ddot U}}
%    \end{macrocode}
%    tremata,
%    \begin{macrocode}
\declare@shorthand{ngerman}{"e}{\textormath{\"{e}}{\ddot e}}
\declare@shorthand{ngerman}{"E}{\textormath{\"{E}}{\ddot E}}
\declare@shorthand{ngerman}{"i}{\textormath{\"{\i}}%
                              {\ddot\imath}}
\declare@shorthand{ngerman}{"I}{\textormath{\"{I}}{\ddot I}}
%    \end{macrocode}
%    German \ss{},
%    \begin{macrocode}
\declare@shorthand{ngerman}{"s}{\textormath{\ss}{\@SS{}}}
\declare@shorthand{ngerman}{"S}{\SS}
\declare@shorthand{ngerman}{"z}{\textormath{\ss}{\@SS{}}}
\declare@shorthand{ngerman}{"Z}{SZ}
%    \end{macrocode}
%    German and French/Swiss quotation marks,
%    \begin{macrocode}
\declare@shorthand{ngerman}{"`}{\glqq}
\declare@shorthand{ngerman}{"'}{\grqq}
\declare@shorthand{ngerman}{"<}{\flqq}
\declare@shorthand{ngerman}{">}{\frqq}
%    \end{macrocode}
%    and some additional commands (hyphenation and ligature control):
%    \begin{macrocode}
\declare@shorthand{ngerman}{"-}{\nobreak\-\bbl@allowhyphens}
\declare@shorthand{ngerman}{"|}{%
  \textormath{\penalty\@M\discretionary{-}{}{\kern.03em}%
              \allowhyphens}{}}
\declare@shorthand{ngerman}{""}{\hskip\z@skip}
\declare@shorthand{ngerman}{"~}{\textormath{\leavevmode\hbox{-}}{-}}
\declare@shorthand{ngerman}{"=}{\penalty\@M-\hskip\z@skip}
%    \end{macrocode}
%
%  \begin{macro}{\mdqon}
%  \begin{macro}{\mdqoff}
%    All that's left to do now is to  define a couple of commands
%    for reasons of compatibility with \file{german.sty}.
%    \begin{macrocode}
\def\mdqon{\shorthandon{"}}
\def\mdqoff{\shorthandoff{"}}
%    \end{macrocode}
%  \end{macro}
%  \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.
%    \begin{macrocode}
\ldf@finish\CurrentOption
%    \end{macrocode}
% \iffalse
%</germanb>
% \fi
%
%  \subsection{\file{naustrian.ldf}, \file{ngerman.ldf} and \file{nswissgerman.ldf}}
%
% \changes{ngermanb-2.7}{2013/12/13}{Generate portmanteau files \file{naustrian.ldf},
%            \file{ngerman.ldf} and \file{nswissgerman.ldf}.}
%
%  \Babel\ expects a \file{\langvar{}.ldf} file for each \langvar. So we create portmanteau
%    ldf files for \texttt{naustrian}, \texttt{ngerman} and \texttt{nswissgerman}.\footnote{%
%    For some \texttt{naustrian} and \texttt{ngerman}, this is not strictly necessary,
%    since \babel\ provides aliases for these languages (pointing to \texttt{ngermanb}).
%    However, since \babel\ does not officially support these aliases anymore after
%    the language definition files have been separated from the core, we provide
%    the whole range of ldf files for the sake of completeness.} These files themselves
%    only load \file{ngermanb.ldf}, which does the real work:
%
% \iffalse
%<*austrian|german|swiss>
% \fi
%    \begin{macrocode}
\input ngermanb.ldf\relax
%    \end{macrocode}
% \iffalse
%</austrian|german|swiss>
% \fi
%
%\PrintChanges
%
%  \begin{thebibliography}{9}
%    \bibitem{vwb} Ammon, Ulrich et al.:
%       \emph{Variantenw\"orterbuch des Deutschen. Die Standardsprache in \"Osterreich, der Schweiz
%        und Deutschland sowie in Liechtenstein, Luxemburg, Ostbelgien und S\"udtirol.}
%        Berlin, New York: De Gruyter.
%    \bibitem{babel} Braams, Johannes and Bezos, Javier:
%       \emph{Babel}.
%       \url{http://mirrors.ctan.org/macros/latex/required/babel/base/babel.pdf}.
%    \bibitem{HP} Partl, Hubert:
%      \emph{German \TeX}, \emph{TUGboat} 9 (1988) \#1, p.~70--72.
%    \bibitem{gerdoc} Raichle, Bernd:
%       \emph{Kurzbeschreibung german.sty und ngerman.sty (Version 2.5)}.
%       \url{http://mirrors.ctan.org/language/german/gerdoc.pdf}.
%  \end{thebibliography}
%
% \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
