summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-09-17 22:58:34 +0000
committerKarl Berry <karl@freefriends.org>2011-09-17 22:58:34 +0000
commit1660ead686e1adf91f9eb96d0fe3010b137136f4 (patch)
treeab37eb5baa0187e16dc3b371f0e7ed1462237f5b
parent03fe8266f35acb30b86416f4c561943d568448f9 (diff)
new german latex pkg dhua (17sep11)
git-svn-id: svn://tug.org/texlive/trunk@23992 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/dhua/README43
-rw-r--r--Master/texmf-dist/doc/latex/dhua/README.pdfbin0 -> 14944 bytes
-rw-r--r--Master/texmf-dist/doc/latex/dhua/README.txt43
-rw-r--r--Master/texmf-dist/doc/latex/dhua/SrcFILEs.txt12
-rw-r--r--Master/texmf-dist/doc/latex/dhua/dhua.pdfbin0 -> 338823 bytes
-rw-r--r--Master/texmf-dist/source/latex/dhua/README.tex12
-rw-r--r--Master/texmf-dist/source/latex/dhua/dhua.tex138
-rw-r--r--Master/texmf-dist/source/latex/dhua/srcfiles.tex14
-rw-r--r--Master/texmf-dist/tex/latex/dhua/dhua.cfg49
-rw-r--r--Master/texmf-dist/tex/latex/dhua/dhua.sty217
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rw-r--r--Master/tlpkg/tlpsrc/collection-langgerman.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/dhua.tlpsrc0
13 files changed, 530 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/dhua/README b/Master/texmf-dist/doc/latex/dhua/README
new file mode 100644
index 00000000000..d3b56674ac5
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dhua/README
@@ -0,0 +1,43 @@
+ README for the `dhua' package
+ (German Abbreviations Using Thin Space)
+ (C) Uwe Lueck 2011/09/16
+
+
+`dhua.sty' provides commands for German phrase abbreviations
+such as `d. h.' that are recommended to use a thin space -
+set-up commands `\newdhua' and `\newtwopartdhua' as well as
+commands for single cases (e.g., `\zB' for `z. B.', to save you
+from typing `z.\,B.'). Package options support generating PDF
+and HTML from the same source and automatical use of `\xspace'.
+
+ Das Paket `dhua' bietet Befehle fuer mehrgliedrige Abkuer-
+ zungen, fuer die schmale Leerzeichen (Festabstaende) empfoh-
+ len werden (Duden, Wikipedia). In die englische Paketdokumen-
+ tation sind deutsche Hinweise eingestreut.
+
+KEYWORDs: German typography;
+ web typography, language support, macro programming
+
+The files `dhua.sty', `dhua.pdf', `dhua.cfg', `dhua.tex' and
+the present `README' file form one work redistributable and/or
+modifiable under the terms of the LaTeX Project Public License;
+either version 1.3c of the License, or any later version, see
+
+ http://www.latex-project.org/lppl.txt
+
+There is NO WARRANTY, the work is somewhat experimental.
+
+The `dhua' package is author-maintained in the sense of
+this license.
+
+The latest public version of the package is available at
+
+ http://mirror.ctan.org/macros/latex/contrib/dhua/
+
+A TDS version of the package is available as `dhua.tds.zip' in
+
+ http://mirror.ctan.org/install/macros/latex/contrib/
+
+Please report bugs, problems, and suggestions via
+
+ http://www.contact-ednotes.sty.de.vu
diff --git a/Master/texmf-dist/doc/latex/dhua/README.pdf b/Master/texmf-dist/doc/latex/dhua/README.pdf
new file mode 100644
index 00000000000..256ab7dc8b2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dhua/README.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/dhua/README.txt b/Master/texmf-dist/doc/latex/dhua/README.txt
new file mode 100644
index 00000000000..d3b56674ac5
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dhua/README.txt
@@ -0,0 +1,43 @@
+ README for the `dhua' package
+ (German Abbreviations Using Thin Space)
+ (C) Uwe Lueck 2011/09/16
+
+
+`dhua.sty' provides commands for German phrase abbreviations
+such as `d. h.' that are recommended to use a thin space -
+set-up commands `\newdhua' and `\newtwopartdhua' as well as
+commands for single cases (e.g., `\zB' for `z. B.', to save you
+from typing `z.\,B.'). Package options support generating PDF
+and HTML from the same source and automatical use of `\xspace'.
+
+ Das Paket `dhua' bietet Befehle fuer mehrgliedrige Abkuer-
+ zungen, fuer die schmale Leerzeichen (Festabstaende) empfoh-
+ len werden (Duden, Wikipedia). In die englische Paketdokumen-
+ tation sind deutsche Hinweise eingestreut.
+
+KEYWORDs: German typography;
+ web typography, language support, macro programming
+
+The files `dhua.sty', `dhua.pdf', `dhua.cfg', `dhua.tex' and
+the present `README' file form one work redistributable and/or
+modifiable under the terms of the LaTeX Project Public License;
+either version 1.3c of the License, or any later version, see
+
+ http://www.latex-project.org/lppl.txt
+
+There is NO WARRANTY, the work is somewhat experimental.
+
+The `dhua' package is author-maintained in the sense of
+this license.
+
+The latest public version of the package is available at
+
+ http://mirror.ctan.org/macros/latex/contrib/dhua/
+
+A TDS version of the package is available as `dhua.tds.zip' in
+
+ http://mirror.ctan.org/install/macros/latex/contrib/
+
+Please report bugs, problems, and suggestions via
+
+ http://www.contact-ednotes.sty.de.vu
diff --git a/Master/texmf-dist/doc/latex/dhua/SrcFILEs.txt b/Master/texmf-dist/doc/latex/dhua/SrcFILEs.txt
new file mode 100644
index 00000000000..ff51a3eaba1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dhua/SrcFILEs.txt
@@ -0,0 +1,12 @@
+
+ *File List*
+ dhua.sty 2011/09/16 v0.1a German phrase abbrevs (UL)
+ dhua.cfg 2011/09/14 local settings for dhua
+ dhua.tex 2011/09/16 make dhua.pdf about dhua.sty
+ README.tex 2011/09/16 make README.pdf
+srcfiles.tex 2011/09/16 file infos -> SrcFILEs.txt
+ ***********
+
+ List made at 2011/09/16, 19:22
+ from script file srcfiles.tex
+
diff --git a/Master/texmf-dist/doc/latex/dhua/dhua.pdf b/Master/texmf-dist/doc/latex/dhua/dhua.pdf
new file mode 100644
index 00000000000..7213aafd0bb
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dhua/dhua.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/dhua/README.tex b/Master/texmf-dist/source/latex/dhua/README.tex
new file mode 100644
index 00000000000..b6e76fac36f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/dhua/README.tex
@@ -0,0 +1,12 @@
+\ProvidesFile{README.tex}[2011/09/16 make README.pdf]
+\listfiles
+
+\documentclass[12pt]{article}
+\usepackage{verbatim}
+\pagestyle{empty}
+\begin{document}
+\vspace*{-2\baselineskip}
+\enlargethispage{5\baselineskip}
+% \small %% 2011/02/14
+\verbatiminput{README.txt}
+\end{document}
diff --git a/Master/texmf-dist/source/latex/dhua/dhua.tex b/Master/texmf-dist/source/latex/dhua/dhua.tex
new file mode 100644
index 00000000000..c8f3c90e3b8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/dhua/dhua.tex
@@ -0,0 +1,138 @@
+\ProvidesFile{dhua.tex}[2011/09/16 make dhua.pdf about dhua.sty]
+\title{\textsf{dhua.sty}\\---\\German Abbreviations
+ Using Thin Space\thanks{This
+ document describes version
+ \textcolor{blue}{\UseVersionOf{\jobname.sty}}
+ of \textsf{\jobname.sty} as of \UseDateOf{\jobname.sty}.}}
+% \listfiles
+{ \RequirePackage{makedoc} \ProcessLineMessage{}
+ \MakeJobDoc{16}
+ {\SectionLevelTwoParseInput} }
+\documentclass[fleqn]{article} %% TODO paper dimensions!?
+\input{makedoc.cfg} %% shared formatting settings
+\providecommand*\pkg{\pkgnamefmt} %% TODO should be in makedoc.cfg
+%% 2011/09/09:
+\AddQuotes %% niceverb
+\hypersetup{%
+ pdftitle=dhua.sty for German abbreviations using thin space,
+ pdfsubject=documenting dhua.sty
+}
+\MDkeywords{German typography;
+ web typography, language support, macro programming}
+\usepackage{dhua}
+% \makeatletter
+\newenvironment*{german}
+ {\par
+ \it\frenchspacing\DontAddQuotes
+ \let\qtd\deqtd}
+% {\par\@endpefalse} %% strange: in vain
+ {\par}
+% \makeatother
+% \usepackage[T1]{fontenc} %% TODO just for ...!?
+% \newcommand*{\deqtd}[1]{\guillemotleft#1\guillemotright}
+\let\EnToday\today
+\usepackage{german} \mdqoff \let\today\EnToday
+\renewcommand*{\contentsname}{Contents}
+\renewcommand*{\abstractname}{Abstract/Zusammenfassung}
+\newcommand*{\deqtd}[1]{\glqq#1\grqq}
+\newcommand*{\HTML}{\acro{HTML}}
+\sloppy
+\begin{document}
+\maketitle
+\begin{MDabstract}\DontAddQuotes
+'dhua.sty' provides commands for German phrase abbreviations
+such as \qtd{\dh}\ that are recommended to use a
+\Wikienref{thin space}---set-up commands `\newdhua' and
+`\newtwopartdhua' %%% --- %% rm. 2011/09/16
+as well as commands for single cases (e.g., `\zB' for \qtd{\zB},
+to save you from typing `z.\,B.').
+% %% 2011/09/15:
+% Moreover, there are package options for (i)~web typography
+% and (ii)~automatical inclusion of `\xspace'.
+Package options are intended to support generating \acro{PDF}
+and \HTML\ from the same source, maybe automatically using
+`\xspace'.
+
+\begin{german} %% reworded 2011/09/16
+ Das Paket 'dhua' bietet Befehle f\"ur sog.\
+ mehrgliedrige Abk\"urzungen, f\"ur die
+ \wikideref{Schmales Lehrzeichen}{schmale Leerzeichen}
+ (\wikideref{Festabstand}{Festabst\"ande}) empfohlen werden.
+ In die englische Paketdokumentation sind deutsche Hinweise
+ (kursiv) eingestreut.
+\end{german}
+\end{MDabstract}
+\tableofcontents
+
+% \newpage
+\section{Installing, Calling, Usage}
+The file 'dhua.sty' is provided ready, installation only requires
+putting it somewhere where \TeX\ finds it
+(which may need updating the filename data
+ base).\urlfoot{ukfaqref}{inst-wlcf} %% corr. 2011/02/08
+
+%% extended 2011/01/14:
+Below the `\documentclass' line(s) and above `\begin{document}',
+you load 'dhua.sty' (as usually) by
+\[`\usepackage{dhua}'\]
+or by
+\[`\usepackage[<option(s)>]{dhua}'\]
+with the option(s) <option(s)> described in Section~\ref{sec:opt}
+(`[web]', `[xspace]'). A few macros for single abbreviations
+are described in Section~\ref{sec:single},
+the macros `\newdhua' and `\newtwopartdhua' for defining such
+abbreviation macros are described in Section~\ref{sec:setup}.
+
+\begin{german}
+ Unten werden (i)~Paketoptionen `[web]' und `[xspace]',
+ (ii)~die Makros `\newdhua' und `\newtwopartdhua'
+ f\"ur die Definition einzelner Ab\-k\"ur\-zungs\-makros
+ sowie (iii)~einzelne vordefinierte Abk\"urzungsmakros beschrieben.
+\end{german}
+
+\section{Package File Header (Legalize)}
+\input{dhua.doc}
+\section{Colophon} %% was `Coda' 2011/09/16
+\enlargethispage{3\baselineskip} %% 2011/09/16
+The English part of the documentation exemplifies a new
+(2011/09/09) function of 'niceverb.sty' v0.44: automatically
+enclose inline \TeX\ code in single quotation marks after
+`\AddQuotes'.
+I needed especially much time for this because group nesting
+spans several documentation pages.
+
+% On my Atari~ST, there must be another 'dhua.sty'.
+% I~guess it was quite worthless.
+% I think it is only about one year ago that I~became aware
+% of the Duden recommendation about thin unbreakable spaces.
+% I consider this older package 'dhua'~v0.\dots
+% The present version number \qtd{v1.1} is an analogue
+% to my usual starting version number \qtd{v0.1}.
+
+I spent much time with a special environment `{german}'
+for the present purpose: the indent of the following
+paragraph was missing---until I added an empty
+documentation line. (Same with standard `{sloppypar}'
+environment, I don't understand it, tried
+`\@endpefalse' in vain.)
+%% modified 2011/09/16:
+I don't like \ctanpkgref{babel}~\dots
+
+%% 2011/09/16:
+The German parts use 'niceverb''s `\DontAddQuotes'
+because of a different frequency of \TeX\ code.
+Even in the English parts I considered the single
+quotation marks bad and avoided them using \LaTeX's `\verb'.
+
+And my terms \qtd{phrase abbreviation} and \qtd{abbreviation macro}
+may be bad, please help me~\dots
+
+\end{document}
+
+VERSION HISTORY
+
+2011/09/14 for v0.1 renaming from `dhusw'
+2011/09/15 for v0.1a options in abstract
+2011/09/16 more keywords, different \Provides...,
+ Coda extended
+
diff --git a/Master/texmf-dist/source/latex/dhua/srcfiles.tex b/Master/texmf-dist/source/latex/dhua/srcfiles.tex
new file mode 100644
index 00000000000..135ca79a0cf
--- /dev/null
+++ b/Master/texmf-dist/source/latex/dhua/srcfiles.tex
@@ -0,0 +1,14 @@
+\RequirePackage{myfilist}
+\ProvidesFile{srcfiles.tex}[2011/09/16 file infos -> SrcFILEs.txt]
+\EmptyFileList %%% [readprov.sty,myfilist.sty]
+%% packages:
+\ReadPackageInfos{dhua}
+\ReadFileInfos{dhua.cfg}
+%% documentation:
+\ReadFileInfos{dhua,README}
+%% documentation settings and auxiliaries:
+% \ReadPackageInfos{fifinddo,makedoc,niceverb}
+% \ReadFileInfos{makedoc.cfg,mdoccorr.cfg}
+\ReadFileInfos{srcfiles}
+\ListInfos[SrcFILEs.txt]
+
diff --git a/Master/texmf-dist/tex/latex/dhua/dhua.cfg b/Master/texmf-dist/tex/latex/dhua/dhua.cfg
new file mode 100644
index 00000000000..26b5c6ad037
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/dhua/dhua.cfg
@@ -0,0 +1,49 @@
+\ProvidesFile{dhua.cfg}[2011/09/14 local settings for dhua]
+%%
+%% The user may want to use (some of) the following single macro
+%% names for a different purpose or so; to this end, a file
+%% `dhua.cfg' may contain a different set of definitions.
+%% -- THIS HAS BEEN COPIED FROM `dhua.sty',
+%% YOU MAY EDIT IT!
+%%
+%% |\idR| exemplifies multi-part abbreviations,
+%% where \qtd{multi} means ``more than two":
+\newdhua{\idR}{i\DhuaSpace d\DhuaSpace R}
+% \show\idR
+%% \begin{german}
+%% |\idR| erzeugt \qtd{\idR} -- ein Anwendungsfall
+%% f\"ur |\newdhua|. Nachfolgend wird nur noch
+%% |\newtwopartdhua| verwendet.
+%% \end{german}
+%%
+%% \LaTeX\ actually defines |\dh| as something nordic
+%% (one of my earliest macro making experiences)
+%% so we are \emph{re}defining it:
+\PackageWarning{dhua}{Redefining \string\dh}
+\let\dh\relax
+\newtwopartdhua{\dh}{d}{h}
+% \show\dh
+%% \begin{german}
+%% |\dh| wird hier \emph{umdefiniert}, um \qtd{\dh} zu bekommen.
+%% Die \"ubrigen Makros sind \qtd{normale} Anwendungs\-f\"alle
+%% von `\newtwopartdhua', man achte aber noch auf die
+%% Verwendung von `\protect'.
+%% \end{german}
+%%
+%% \dqtd{Normal} cases %% TODO catchdq
+%% (|\oae| for \qtd{\oae}, |\uae| for \qtd{\uae},
+%% |\ua| for \qtd{\ua}, |\vglu| for \qtd{\vglu},
+%% |\vglo| for \qtd{\vglo}, |\qtd{\zB}| for \qtd{\zB},
+%% |\zT| for \qtd{\zT}):
+\newtwopartdhua{\oae}{o}{\protect\"a}
+% \newtwopartdhua{\oae{o}{\"a}
+% \show\oae
+%% ---exemplifying use of |\protect| so the definition of `\oae'
+%% has a single token `\"', not an expansion of `\"':
+\newtwopartdhua{\ua} {u}{a}
+\newtwopartdhua{\uae} {u}{\protect\"a}
+\newtwopartdhua{\vglu}{vgl}{u}
+\newtwopartdhua{\vglo}{vgl}{o}
+\newtwopartdhua{\zB} {z}{B}
+\newtwopartdhua{\zT} {z}{T}
+\endinput
diff --git a/Master/texmf-dist/tex/latex/dhua/dhua.sty b/Master/texmf-dist/tex/latex/dhua/dhua.sty
new file mode 100644
index 00000000000..7eede193dfb
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/dhua/dhua.sty
@@ -0,0 +1,217 @@
+\ProvidesPackage{dhua}[2011/09/16 v0.1a German phrase abbrevs (UL)]
+%% copyright (C) 2011 Uwe Lueck,
+%% http://www.contact-ednotes.sty.de.vu
+%% -- author-maintained in the sense of LPPL below.
+%%
+%% This file can be redistributed and/or modified under
+%% the terms of the LaTeX Project Public License; either
+%% version 1.3c of the License, or any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% We did our best to help you, but there is NO WARRANTY.
+%%
+%% Please report bugs, problems, and suggestions via
+%%
+%% http://www.contact-ednotes.sty.de.vu
+%%
+%% \pagebreak
+%% == Package Options ==
+%% \label{sec:opt}
+%% === Idea ===
+%% You may say ``I can \[`\newcommand{\ua}{u.\,a.\xspace}'\]
+%% myself." Yes, you can. The point of \[`\newtwopartdhua{\ua}{u}{a}'\]
+%% is that you can use that same defining instruction for all of the
+%% following \emph{types of documents:} \ (i)~\emph{requiring} |\xspace|
+%% because in the source some `\ua' precedes a word without control space
+%% (`\ ', as in `\ua weil'); \ (ii)~\emph{not} using `\xspace'
+%% (I use it with \CtanPkgRef{morehype}{blog.sty}
+%% where `\xspace' does not work);
+%% \ (iii)~to be typeset for high-quality \emph{printing}
+%% (thin space strongly recommended)
+%% \ (iv)~to be displayed as \HTML\
+%% (\Wikienref{web typography} relevant, thin space somewhat dangerous).
+%% \
+%% In order to use (almost) the \emph{same source} for (iii) and (iv),
+%% the \LaTeX\ document preamble just must load the |[web]| option
+%% for (iv) where it doesn't for (iii).
+%%
+%% === `web' ===
+%% \begin{german}
+%% Paketoption |[web]| verwendet ein gesch\"utztes
+%% Leerzeichen normaler Breite anstelle des empfohlenen
+%% schmalen Festabstands.
+%% \end{german}
+%% In \wikienref{web typography}{web typography,} `&nbsp;'
+%% (\Wikienref{no-break space}) may be used instead of a thin space
+%% because some browsers do not support the latter
+%% (the non-breakable one---which is not a \emph{named} \HTML\
+%% entity, it is U+202F---and some even the breakable one---which
+%% is the named \HTML\ entity \verb+&thinsp;+).
+%% You can decide for this choice by package option |[web]|.
+%% (Actually I use the package for direct \HTML\ generation
+%% with 'blog.sty'.)
+%%
+%% === `xspace' ===
+%% With option |[xspace]|, the package's setup commands equip all the
+%% single abbreviation macros with a final `\xspace' from the
+%% \ctanpkgref{xspace} package in the \LaTeX\ \ctanpkgref{tools} bundle.
+%% % (With 'blog.sty', `\xspace' does not work.)
+%% \begin{german}
+%% Mit der Paketoption `[xspace]' verwenden alle Abk\"urzungsmakros
+%% automatisch (\mbox{--} sie enden auf \mbox{--}) `\xspace'.
+%% \end{german}
+%%
+%% === Implementations ===
+%% |\dhuaspace| stores the dot plus the inner space
+%% (TODO could be useful for Euro symbol without dot).
+%% The default setting is:
+\newcommand*\dhuaspace{.\,}
+%% |\DhuaSpace| is for getting a single token in
+%% \verb+\edef+s:
+\newcommand*{\DhuaSpace}{\noexpand\dhuaspace}
+%% Option |[web]| uses the tilde (tie, `~') instead of `\,':
+\DeclareOption{web}{\newcommand*\dhuaspace{.~}}
+%% I reasoned as follows for this: \ (i)~\emph{Either} the \HTML\ is
+%% generated from \acro{DVI}, this is what
+%% \CtanPkgRef{tex4ht}{TeX4ht} does. I don't know exactly,
+%% but I assume that the combinatin of \pkg{TeX4ht} with a
+%% \TeX\ run finally converts the tilde into `&nbsp;'.
+%% \ (ii)~\emph{Or} the \HTML\ generator translates the \TeX\ code
+%% into \HTML\ in a more direct way. I don't know what all of these
+%% programs actually do, but they ``should" translate `~' into
+%% `&nbsp;'. At least 'blog.sty' does, for sure.
+%%
+%% |\dhuaxspace| stores what closes the entire
+%% abbreviation definition; by default it is a dot only.
+%% Because German text should be typeset using
+%% `\frenchspacing', we do not care about the space factor:
+\newcommand*{\dhuaxspace}{.}
+\@ifdefinable{\DhuaXspace}{\let\DhuaXspace\dhuaxspace}
+\DeclareOption{xspace}{%
+ \AtEndOfPackage{\RequirePackage{xspace}}%% %% 2011/09/09
+ \renewcommand*{\dhuaxspace}{.\xspace}%
+ \renewcommand*{\DhuaXspace}{\noexpand\dhuaxspace}}
+%% ---That were all options, processed now:
+\ProcessOptions
+%%
+%% == Setup Commands ==
+%% \label{sec:setup}
+%% The syntax |\newdhua{<new-macro>}{<replace>}| is the same
+%% as for \LaTeX's standard `\newcommand' etc. defining
+%% user macros \emph{without parameters}.
+%% However, `\newdhua' internally uses `\edef' in order to
+%% minimize the number of tokens in the actual internal
+%% replacement text. This additionally requires using
+%% `\DhuaSpace' for separating the one-word abbreviations
+%% in <replace>.
+\newcommand*{\newdhua}[2]{\@ifdefinable#1{%
+% \protected@edef#1{#2\DhuaXspace}%
+ \let\protect\noexpand %% 2011/09/04
+%% ... an unusual meaning of |\protect|, CARE!
+%% I.e., `\protect' is used here to prevent expansion
+%% in the setup macros. It is not stored for future expansion
+%% with its usual robustification purpose.
+ \edef#1{#2\DhuaXspace}%
+ \let\protect\@typeset@protect
+}}
+%% \begin{german}
+%% Um ein Makro <neu> f\"ur eine Abk\"urzung mit beliebig vielen
+%% Gliedern zu definieren, trennt man die einzelnen Glieder
+%% im <Ergebnis>-Argument der Definition
+%% |\newdhua{<neu>}{<Ergebnis>}|
+%% durch `\DhuaSpace' (Beispiel unten).
+%%
+%% \[|\newtwopartdhua{<neu>}{<B.-1>}{<B.-2>}|\]
+%% definiert dasselbe Makro <neu> wie
+%% \[`\newdhua{<neu>}{<B.-1>\DhuaSpace<B.-2>}'\]
+%% \end{german}
+%%
+%% |\newtwopartdhua{<new>}{<letter-1>}{<letter-2>}|
+%% results in the same macro <new> as
+%% `\newdhua{<new>}{<letter-1>\DhuaSpace<letter-2>}':
+\newcommand*{\newtwopartdhua}[3]{\newdhua#1{#2\DhuaSpace#3}}
+%%
+%% == Single Abbreviation Macros ==
+%% \label{sec:single}
+%% The user may want to use
+%% (some of) the following single macro names %% 2011/09/09
+%% for a different purpose or so; to this end, a file
+%% `dhua.cfg' may contain a different set of definitions.
+%% `\IfFileExists' works depending on whether a file
+%% `dhua.cfg' is found:
+\IfFileExists{dhua.cfg}{%
+ \typeout{^^J * single definitions read from \qtd{dhua.cfg} *^^J}%
+ \input{dhua.cfg}}{%
+%% |\idR| exemplifies multi-part abbreviations,
+%% where \qtd{multi} means ``more than two":
+ \newdhua{\idR}{i\DhuaSpace d\DhuaSpace R}
+% \show\idR
+%% \begin{german}
+%% |\idR| erzeugt \qtd{\idR} -- ein Anwendungsfall
+%% f\"ur |\newdhua|. Nachfolgend wird nur noch
+%% |\newtwopartdhua| verwendet.
+%% \end{german}
+%%
+%% \LaTeX\ actually defines |\dh| as something nordic
+%% (one of my earliest macro making experiences)
+%% so we are \emph{re}defining it:
+ \PackageWarning{dhua}{Redefining \string\dh}
+ \let\dh\relax
+ \newtwopartdhua{\dh}{d}{h}
+% \show\dh
+%% \begin{german}
+%% |\dh| wird hier \emph{umdefiniert}, um \qtd{\dh} zu bekommen.
+%% Die \"ubrigen Makros sind \qtd{normale} Anwendungs\-f\"alle
+%% von `\newtwopartdhua', man achte aber noch auf die
+%% Verwendung von `\protect'.
+%% \end{german}
+%%
+%% \dqtd{Normal} cases %% TODO catchdq
+%% (|\oae| for \qtd{\oae}, |\uae| for \qtd{\uae},
+%% |\ua| for \qtd{\ua}, |\vglu| for \qtd{\vglu},
+%% |\vglo| for \qtd{\vglo}, |\zB| for \qtd{\zB},
+%% |\zT| for \qtd{\zT}):
+ \newtwopartdhua{\oae}{o}{\protect\"a}
+% \newtwopartdhua{\oae{o}{\"a}
+% \show\oae
+%% ---exemplifying use of |\protect| so the definition of `\oae'
+%% has a single token `\"', not an expansion of `\"'. %%% :
+%% %% <- doc. fix 2011/09/14
+ \newtwopartdhua{\ua} {u}{a}
+ \newtwopartdhua{\uae} {u}{\protect\"a}
+ \newtwopartdhua{\vglu}{vgl}{u}
+ \newtwopartdhua{\vglo}{vgl}{o}
+ \newtwopartdhua{\zB} {z}{B}
+ \newtwopartdhua{\zT} {z}{T}
+} %% Closes \IfFileExists
+%%
+%% == A Different Approach ==
+%% \begin{german}
+%% Statt f\"ur
+%% \qtd{\abkii AB} %%% `A.\,B.'
+%% ein Makro zu definieren,
+%% kann man auch \glqq`\abkii AB'\grqq\ tippen.
+%% \end{german}
+%%
+%% I also thought that, instead of defining an abbreviation macro
+%% (perhaps `\<letter-1><letter-2>'),
+%% |\abkii <letter-1><letter-2>| %% add. space rm. {} 2011/09/10
+%% could be preferred to typing the
+%% the two dots and `\,':
+\@ifdefinable\abkii{% %% w/o `protected' 2011/09/09:
+ \edef\abkii#1#2{#1\DhuaSpace#2\DhuaXspace}}
+% \show\abkii
+%% So `\abkii AB' results in \qtd{\abkii AB}, saving you from
+%% `A.\,B.'.---You may create
+%% your own shorter alias <shal> for `\abkii' by `\let<shal>\abkii'.
+%% Perhaps `\II': \let\II\abkii
+%% `\let\II\abkii'---`\II AB'---\qtd{\II AB}.
+%% Is this better than `A.\,B.'?
+%%
+%% == The End ==
+\endinput
+%%
+%% == VERSION HISTORY ==
+v0.1 2011/09/13 renamed `dhusw'->`dhua'
+v0.1a 2011/09/14 doc. fix
+ 2011/09/16 doc. of options much extended
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 086b6432c24..3a827906b74 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -117,7 +117,7 @@ my @TLP_working = qw(
dancers dashbox dashrule dashundergaps datatool
dateiliste datenumber datetime
dblfloatfix dcpic de-macro decimal decorule dehyph-exptl dejavu
- delim delimtxt dfgproposal
+ delim delimtxt dfgproposal dhua
diagmac2 diagnose dichokey dictsym digiconfigs din1505
dinat dinbrief dingbat directory dirtree dirtytalk disser dk-bib dlfltxb
dnaseq doc-pictex docmfp docmute doi doipubmed
diff --git a/Master/tlpkg/tlpsrc/collection-langgerman.tlpsrc b/Master/tlpkg/tlpsrc/collection-langgerman.tlpsrc
index e0851e36f88..7faaac0070a 100644
--- a/Master/tlpkg/tlpsrc/collection-langgerman.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-langgerman.tlpsrc
@@ -3,6 +3,7 @@ shortdesc German
longdesc Support for typesetting German.
depend bibleref-german
depend dehyph-exptl
+depend dhua
depend booktabs-de
depend csquotes-de
depend etoolbox-de
diff --git a/Master/tlpkg/tlpsrc/dhua.tlpsrc b/Master/tlpkg/tlpsrc/dhua.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/dhua.tlpsrc