summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/jknappen
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/jknappen
Initial commit
Diffstat (limited to 'macros/latex/contrib/jknappen')
-rw-r--r--macros/latex/contrib/jknappen/00readme.txt51
-rw-r--r--macros/latex/contrib/jknappen/greekctr.sty46
-rw-r--r--macros/latex/contrib/jknappen/holtpolt.sty23
-rw-r--r--macros/latex/contrib/jknappen/latin1jk.def134
-rw-r--r--macros/latex/contrib/jknappen/latin2jk.def135
-rw-r--r--macros/latex/contrib/jknappen/latin3jk.def149
-rw-r--r--macros/latex/contrib/jknappen/mathbbol.rme71
-rw-r--r--macros/latex/contrib/jknappen/mathbbol.sty56
-rw-r--r--macros/latex/contrib/jknappen/mathrsfs.rme40
-rw-r--r--macros/latex/contrib/jknappen/mathrsfs.sty10
-rw-r--r--macros/latex/contrib/jknappen/parboxx.sty42
-rw-r--r--macros/latex/contrib/jknappen/sans.sty36
-rw-r--r--macros/latex/contrib/jknappen/semtrans.sty46
-rw-r--r--macros/latex/contrib/jknappen/sgmlcmpt.sty57
-rw-r--r--macros/latex/contrib/jknappen/smartmn.sty68
-rw-r--r--macros/latex/contrib/jknappen/tccompat.sty63
-rw-r--r--macros/latex/contrib/jknappen/ubbold.fd22
-rw-r--r--macros/latex/contrib/jknappen/ursfs.fd18
-rw-r--r--macros/latex/contrib/jknappen/ustmary.fd22
-rw-r--r--macros/latex/contrib/jknappen/young.sty37
20 files changed, 1126 insertions, 0 deletions
diff --git a/macros/latex/contrib/jknappen/00readme.txt b/macros/latex/contrib/jknappen/00readme.txt
new file mode 100644
index 0000000000..8fa9f23a81
--- /dev/null
+++ b/macros/latex/contrib/jknappen/00readme.txt
@@ -0,0 +1,51 @@
+This directory contains packages that I have written for LaTeX. All these
+packages are supported in the sense, that you can send bug reports to me.
+
+IMPORTANT NOTICE: All packages are (c) Copyleft J"org Knappen.
+They are now all under the GNU public licence version 2.
+
+Short description of the packages:
+
+greekctr New counterstyles \greek and \Greek
+holtpolt Non-commutative fractions
+latin1jk Special variant of latin1 to be used with the inputenc
+ package which allows verbatim setting of latin1 files
+latin2jk Special variant of latin2 to be used with the inputenc
+ package which allows verbatim setting of latin2 files
+latin3jk Latin3 input encoding (esperanto) to be used with the
+ inputenc package
+mathbbol `Mengensymbole' (Blackboard bold, using Alan Jeffrey's
+ bbold fonts)
+mathrsfs Mathematical `Script' letters (as traditionally used in
+ physics for Lagrangian, Hamiltonian, path integral
+ measures ...)
+parboxx New alignment options for parboxen at top and bottom of
+ the box
+sans Interchanges the roles of sans serif and roman fonts
+ throughout the document (\sf produces roman)
+semtrans Support for special latin letters and diacritics used
+ in transliteration of semitic languages
+smartmn Intelligent hyphen/minus, which guesses whether to render
+ as hyphen or minus
+sgmlcmpt Commands replacing the characters <, >, and &
+tccompat A compatibility package for users of the older versions of
+ the textcomp package
+young Young tableaus. If you like this package, you may also like
+ the youngtab package to be found elsewhere on CTAN
+
+
+Please find the file t4enc.def and the fc fonts in directory
+tex-archive/fonts/fc
+
+
+Septembre 2003
+
+J"org Knappen, Dieselstra{\ss}e 13, 66123 Saarbr"ucken, Allemagne
+
+Author of the Book: Schnell ans Ziel mit LaTeX2e, Oldenbourg-Verlag
+M"unchen, 1997, ISBN 3-486-24199-0.
+Second, extended printing 2003 (in preparation)
+
+joerg.knappen@uni-mainz.de
+
+/00readme.txt
diff --git a/macros/latex/contrib/jknappen/greekctr.sty b/macros/latex/contrib/jknappen/greekctr.sty
new file mode 100644
index 0000000000..f26be2d094
--- /dev/null
+++ b/macros/latex/contrib/jknappen/greekctr.sty
@@ -0,0 +1,46 @@
+% greekctr.sty
+% 15. Juni 1990, revised 3-jan-1996, 1999-02-14
+% (c) Copyright 1990-1999 J"org Knappen
+% Licence: GNU licence Version 2
+% For additional information look after \endinput
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{greekctr}[1999/02/14 Greek Counterstyle v3.0 (jk)]
+\def\greek#1{\@greek{\@nameuse{c@#1}}}
+\def\@greek#1{\ifcase#1\or\ensuremath{\alpha}\or\ensuremath{\beta}\or%
+ \ensuremath{\gamma}\or\ensuremath{\delta}\else\@igreek{#1}\fi}
+\def\@igreek#1{\ifcase#1\or\or\or\or\or\ensuremath{\varepsilon}%
+ \or\ensuremath{\zeta}\or\ensuremath{\eta}\or\ensuremath{\vartheta}%
+ \or\ensuremath{\iota}\or\ensuremath{\kappa}\or\ensuremath{\lambda}\or%
+ \ensuremath{\mu}\or\ensuremath{\nu}\or%
+ \ensuremath{\xi}\or\ensuremath{o}\or\ensuremath{\pi}\or%
+ \ensuremath{\varrho}%
+ \or\ensuremath{\sigma}\or\ensuremath{\tau}\or\ensuremath{\upsilon}\or%
+ \ensuremath{\varphi}\or\ensuremath{\chi}\or%
+ \ensuremath{\psi}\or\ensuremath{\omega}\else%
+ \ensuremath{\omega}\@ctrerr\fi}
+\def\Greek#1{\@Greek{\@nameuse{c@#1}}}
+\def\@Greek#1{\ifcase#1\or A\or B\or\ensuremath{\Gamma}\or%
+ \ensuremath{\Delta}\else\@iGreek{#1}\fi}
+\def\@iGreek#1{\ifcase#1\or\or\or\or\or E\or Z\or H\or\ensuremath{\Theta}\or%
+ I\or K\or\ensuremath{\Lambda}\or M\or N\or\ensuremath{\Xi}\or O\or%
+ \ensuremath{\Pi}\or P\or\ensuremath{\Sigma}\or T\or%
+ \ensuremath{\Upsilon}\or%
+ \ensuremath{\Phi}\or X\or\ensuremath{\Psi}\or%
+ \ensuremath{\Omega}\else\ensuremath{\Omega}\@ctrerr\fi}
+\endinput
+
+Usage:
+
+\renewcommand{\the<counter>}{\greek{<counter>}}
+\renewcommand{\the<counter>}{\Greek{<counter>}}
+
+e.g. \renewcommand{\theenumi}{\greek{enumi}}
+
+Provides \greek and \Greek for counters just like \alph. No switch to
+math mode is needed. \varepsilon, \vartheta and \varphi are preferred,
+but \pi and \sigma.
+
+Version 3 doesn't need the package amstxt any longer, since it relies on
+\ensuremath. Also fixed a bug in the handling of Omega.
+
+J"org Knappen, Barbarossaring 43, D-55118 Mainz, Allemagne.
diff --git a/macros/latex/contrib/jknappen/holtpolt.sty b/macros/latex/contrib/jknappen/holtpolt.sty
new file mode 100644
index 0000000000..3d82c314da
--- /dev/null
+++ b/macros/latex/contrib/jknappen/holtpolt.sty
@@ -0,0 +1,23 @@
+% holtpolt.sty
+%
+% (c) Copyleft 1996-1999 J"org Knappen
+% Licence: GNU public licence version 2
+%
+% Maxwell's non-commutative division
+%
+% \holter{a}{b} yields |a \polter{c}{d} c|
+% - -
+% b| |d
+%
+\newcommand{\holter}[2]{\begin{array}{c}\multicolumn{1}{|c}{#1}\\\hline
+ \multicolumn{1}{c|}{#2}\end{array}}
+\newcommand{\polter}[2]{\begin{array}{c}\multicolumn{1}{c|}{#1}\\\hline
+ \multicolumn{1}{|c}{#2}\end{array}}
+\endinput
+
+
+J"org Knappen, Barbarossaring 43, D-55118 Mainz, Allemagne.
+Author of the Book: Schnell ans Ziel mit LaTeX2e, Oldenbourg-Verlag
+M"unchen, 1997, ISBN 3-486-24199-0.
+
+% /holtpolt.sty \ No newline at end of file
diff --git a/macros/latex/contrib/jknappen/latin1jk.def b/macros/latex/contrib/jknappen/latin1jk.def
new file mode 100644
index 0000000000..48522ae06e
--- /dev/null
+++ b/macros/latex/contrib/jknappen/latin1jk.def
@@ -0,0 +1,134 @@
+% latin1jk.def
+%
+% (c) Copyright 1995, 1996, 2000, 2003 J"org Knappen.
+% Licence GNU licence Version 2
+% see after \endinput for further information
+%
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesFile{latin1jk.def}[2003/10/02 latin-1 input encoding file 1.3 (JKn)]
+%%% \RequirePackage{textcomp} % text companion symbols (tc fonts)
+\DeclareInputText{"0A0}{\nobreakspace}
+\DeclareInputText{"0B0}{\textdegree}
+\DeclareInputText{"0A1}{\textexclamdown}
+\DeclareInputText{"0B1}{\textpm}
+\DeclareInputText{"0A2}{\textcent}
+\DeclareInputText{"0B2}{\texttwosuperior}
+\DeclareInputText{"0A3}{\pounds}
+\DeclareInputText{"0B3}{\textthreesuperior}
+\DeclareInputText{"0A4}{\textcurrency}
+\DeclareInputText{"0B4}{\@tabacckludge'{}}
+\DeclareInputText{"0A5}{\textyen}
+\DeclareInputText{"0B5}{\textmu}
+\DeclareInputText{"0A6}{\textbrokenbar}
+\DeclareInputText{"0B6}{\P}
+\DeclareInputText{"0A7}{\S}
+\DeclareInputText{"0B7}{\textperiodcentered}
+\DeclareInputText{"0A8}{\"{}}
+\DeclareInputText{"0B8}{\c{\ }}
+\DeclareInputText{"0A9}{\copyright}
+\DeclareInputText{"0B9}{\textonesuperior}
+\DeclareInputText{"0AA}{\textordfeminine}
+\DeclareInputText{"0BA}{\textordmasculine}
+\DeclareInputText{"0AB}{\guillemotleft}
+\DeclareInputText{"0BB}{\guillemotright}
+\DeclareInputText{"0AC}{\textlnot}
+\DeclareInputText{"0BC}{\textonequarter}
+\DeclareInputText{"0AD}{\@dischyph}
+\DeclareInputText{"0BD}{\textonehalf}
+\DeclareInputText{"0AE}{\textregistered}
+\DeclareInputText{"0BE}{\textthreequarters}
+\DeclareInputText{"0AF}{\@tabacckludge={}}
+\DeclareInputText{"0BF}{\textquestiondown}
+\DeclareInputText{"0C0}{\@tabacckludge`A}
+\DeclareInputText{"0D0}{\DH}
+\DeclareInputText{"0C1}{\@tabacckludge'A}
+\DeclareInputText{"0D1}{\~N}
+\DeclareInputText{"0C2}{\^A}
+\DeclareInputText{"0D2}{\@tabacckludge`O}
+\DeclareInputText{"0C3}{\~A}
+\DeclareInputText{"0D3}{\@tabacckludge'O}
+\DeclareInputText{"0C4}{\"A}
+\DeclareInputText{"0D4}{\^O}
+\DeclareInputText{"0C5}{\AA}
+\DeclareInputText{"0D5}{\~O}
+\DeclareInputText{"0C6}{\AE}
+\DeclareInputText{"0D6}{\"O}
+\DeclareInputText{"0C7}{\c C}
+\DeclareInputText{"0D7}{\texttimes}
+\DeclareInputText{"0C8}{\@tabacckludge`E}
+\DeclareInputText{"0D8}{\O}
+\DeclareInputText{"0C9}{\@tabacckludge'E}
+\DeclareInputText{"0D9}{\@tabacckludge`U}
+\DeclareInputText{"0CA}{\^E}
+\DeclareInputText{"0DA}{\@tabacckludge'U}
+\DeclareInputText{"0CB}{\"E}
+\DeclareInputText{"0DB}{\^U}
+\DeclareInputText{"0CC}{\@tabacckludge`I}
+\DeclareInputText{"0DC}{\"U}
+\DeclareInputText{"0CD}{\@tabacckludge'I}
+\DeclareInputText{"0DD}{\@tabacckludge'Y}
+\DeclareInputText{"0CE}{\^I}
+\DeclareInputText{"0DE}{\TH}
+\DeclareInputText{"0CF}{\"I}
+\DeclareInputText{"0DF}{\ss}
+\DeclareInputText{"0E0}{\@tabacckludge`a}
+\DeclareInputText{"0F0}{\dh}
+\DeclareInputText{"0E1}{\@tabacckludge'a}
+\DeclareInputText{"0F1}{\~n}
+\DeclareInputText{"0E2}{\^a}
+\DeclareInputText{"0F2}{\@tabacckludge`o}
+\DeclareInputText{"0E3}{\~a}
+\DeclareInputText{"0F3}{\@tabacckludge'o}
+\DeclareInputText{"0E4}{\"a}
+\DeclareInputText{"0F4}{\^o}
+\DeclareInputText{"0E5}{\aa}
+\DeclareInputText{"0F5}{\~o}
+\DeclareInputText{"0E6}{\ae}
+\DeclareInputText{"0F6}{\"o}
+\DeclareInputText{"0E7}{\c c}
+\DeclareInputText{"0F7}{\textdiv}
+\DeclareInputText{"0E8}{\@tabacckludge`e}
+\DeclareInputText{"0F8}{\o}
+\DeclareInputText{"0E9}{\@tabacckludge'e}
+\DeclareInputText{"0F9}{\@tabacckludge`u}
+\DeclareInputText{"0EA}{\^e}
+\DeclareInputText{"0FA}{\@tabacckludge'u}
+\DeclareInputText{"0EB}{\"e}
+\DeclareInputText{"0FB}{\^u}
+\DeclareInputText{"0EC}{\@tabacckludge`\i}
+\DeclareInputText{"0FC}{\"u}
+\DeclareInputText{"0ED}{\@tabacckludge'\i}
+\DeclareInputText{"0FD}{\@tabacckludge'y}
+\DeclareInputText{"0EE}{\^\i}
+\DeclareInputText{"0FE}{\th}
+\DeclareInputText{"0EF}{\"\i}
+\DeclareInputText{"0FF}{\"y}
+\endinput
+
+Usage:
+
+\documentclass{...}
+\usepackage{textcomp} % this package is required!
+\usepackage[latin1jk]{inputenc}
+...
+\begin{document}
+
+I decided to make \emph{all} characters text, even times and divide, in
+order to make it work in verbatim style environments. A number of control
+sequences refers to the textcomp package of Sebastian Rahtz. The text
+companion fonts are needed to display those characters.
+
+ \textcurrency, \textdegree, \texttwosuperior, \textthreesuperior,
+ \textmu, \textonehalf, \texttimes, and \textdiv are defined in
+ the textcomp package using the text companion font (TS1 coding).
+
+This file is supported by
+
+J\"org Knappen, Dieselstra\ss e 13, D-66123 Saarbr\"ucken, Allemagne.
+Author of the Book: Schnell ans Ziel mit LaTeX2e, Oldenbourg-Verlag
+M\"unchen, 1997, ISBN 3-486-24199-0. 2nd, extended printing 2003.
+
+Changes:
+
+Version 1.3: Get rid of old definitions requiring tccompat.sty
+%% End of file `latin1jk.def'.
diff --git a/macros/latex/contrib/jknappen/latin2jk.def b/macros/latex/contrib/jknappen/latin2jk.def
new file mode 100644
index 0000000000..38b350ae86
--- /dev/null
+++ b/macros/latex/contrib/jknappen/latin2jk.def
@@ -0,0 +1,135 @@
+% latin2jk.def
+%
+% (c) Copyright 1997, 1999, 2000, 2003 J"org Knappen.
+% Licence GNU licence Version 2
+% see after \endinput for further information
+%
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesFile{latin1jk.def}[2003/10/024 latin-2 input encoding file v1.3 (jk)]
+%%% \RequirePackage{textcomp} % text companion symbols (tc fonts)
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\DeclareInputText{"0A0}{\nobreakspace}
+\DeclareInputText{"0B0}{\r{}}
+\DeclareInputText{"0A1}{\k A}
+\DeclareInputText{"0B1}{\k a}
+\DeclareInputText{"0A2}{\u{}}
+\DeclareInputText{"0B2}{\k\ }
+\DeclareInputText{"0A3}{\L}
+\DeclareInputText{"0B3}{\l}
+\DeclareInputText{"0A4}{\textcurrency}
+\DeclareInputText{"0B4}{\@tabacckludge'{}}
+\DeclareInputText{"0A5}{\v L}
+\DeclareInputText{"0B5}{\v l}
+\DeclareInputText{"0A6}{\@tabacckludge'S}
+\DeclareInputText{"0B6}{\@tabacckludge's}
+\DeclareInputText{"0A7}{\S}
+\DeclareInputText{"0B7}{\v{}}
+\DeclareInputText{"0A8}{\"{}}
+\DeclareInputText{"0B8}{\c\ }
+\DeclareInputText{"0A9}{\v S}
+\DeclareInputText{"0B9}{\v s}
+\DeclareInputText{"0AA}{\c S}
+\DeclareInputText{"0BA}{\c s}
+\DeclareInputText{"0AB}{\v T}
+\DeclareInputText{"0BB}{\v t}
+\DeclareInputText{"0AC}{\@tabacckludge'Z}
+\DeclareInputText{"0BC}{\@tabacckludge'z}
+\DeclareInputText{"0AD}{\-}
+\DeclareInputText{"0BD}{\H{}}
+\DeclareInputText{"0AE}{\v Z}
+\DeclareInputText{"0BE}{\v z}
+\DeclareInputText{"0AF}{\.Z}
+\DeclareInputText{"0BF}{\.z}
+\DeclareInputText{"0C0}{\@tabacckludge'R}
+\DeclareInputText{"0D0}{\DJ}
+\DeclareInputText{"0C1}{\@tabacckludge'A}
+\DeclareInputText{"0D1}{\@tabacckludge'N}
+\DeclareInputText{"0C2}{\^A}
+\DeclareInputText{"0D2}{\v N}
+\DeclareInputText{"0C3}{\u A}
+\DeclareInputText{"0D3}{\@tabacckludge'O}
+\DeclareInputText{"0C4}{\"A}
+\DeclareInputText{"0D4}{\^O}
+\DeclareInputText{"0C5}{\@tabacckludge'L}
+\DeclareInputText{"0D5}{\H O}
+\DeclareInputText{"0C6}{\@tabacckludge'C}
+\DeclareInputText{"0D6}{\"O}
+\DeclareInputText{"0C7}{\c C}
+\DeclareInputText{"0D7}{\texttimes}
+\DeclareInputText{"0C8}{\v C}
+\DeclareInputText{"0D8}{\v R}
+\DeclareInputText{"0C9}{\@tabacckludge'E}
+\DeclareInputText{"0D9}{\r U}
+\DeclareInputText{"0CA}{\k E}
+\DeclareInputText{"0DA}{\@tabacckludge'U}
+\DeclareInputText{"0CB}{\"E}
+\DeclareInputText{"0DB}{\H U}
+\DeclareInputText{"0CC}{\v E}
+\DeclareInputText{"0DC}{\"U}
+\DeclareInputText{"0CD}{\@tabacckludge'I}
+\DeclareInputText{"0DD}{\@tabacckludge'Y}
+\DeclareInputText{"0CE}{\^I}
+\DeclareInputText{"0DE}{\c T}
+\DeclareInputText{"0CF}{\v D}
+\DeclareInputText{"0DF}{\ss}
+\DeclareInputText{"0E0}{\@tabacckludge'r}
+\DeclareInputText{"0F0}{\dj}
+\DeclareInputText{"0E1}{\@tabacckludge'a}
+\DeclareInputText{"0F1}{\@tabacckludge'n}
+\DeclareInputText{"0E2}{\^a}
+\DeclareInputText{"0F2}{\v n}
+\DeclareInputText{"0E3}{\u a}
+\DeclareInputText{"0F3}{\@tabacckludge'o}
+\DeclareInputText{"0E4}{\"a}
+\DeclareInputText{"0F4}{\^o}
+\DeclareInputText{"0E5}{\@tabacckludge'l}
+\DeclareInputText{"0F5}{\H o}
+\DeclareInputText{"0E6}{\@tabacckludge'c}
+\DeclareInputText{"0F6}{\"o}
+\DeclareInputText{"0E7}{\c c}
+\DeclareInputText{"0F7}{\textdiv}
+\DeclareInputText{"0E8}{\v c}
+\DeclareInputText{"0F8}{\v r}
+\DeclareInputText{"0E9}{\@tabacckludge'e}
+\DeclareInputText{"0F9}{\r u}
+\DeclareInputText{"0EA}{\k e}
+\DeclareInputText{"0FA}{\@tabacckludge'u}
+\DeclareInputText{"0EB}{\"e}
+\DeclareInputText{"0FB}{\H u}
+\DeclareInputText{"0EC}{\v e}
+\DeclareInputText{"0FC}{\"u}
+\DeclareInputText{"0ED}{\@tabacckludge'\i}
+\DeclareInputText{"0FD}{\@tabacckludge'y}
+\DeclareInputText{"0EE}{\^\i}
+\DeclareInputText{"0FE}{\c t}
+\DeclareInputText{"0EF}{\v d}
+\DeclareInputText{"0FF}{\.{}}
+\endinput
+% Usage:
+%
+% \documentclass{...}
+% \usepackage{textcomp} % this package is required!
+% \usepackage[latin2jk]{inputenc}
+% ...
+% \begin{document}
+%
+% I decided to make \emph{all} characters text, even times and divide, in
+% order to make it work in verbatim style environments. A number of control
+% sequences refers to the textcomp package of Sebastian Rahtz. The text
+% companion fonts are needed to display those characters.
+%
+% \textcurrency, \texttimes, and \textdiv are defined in
+% the textcomp package using the text companion font (TS1 coding).
+%
+% Changes:
+%
+% Version 1.3:
+% Get rid of old definitions requiring tccompat.sty
+%
+% Author:
+%
+% J\"org Knappen, Dieselstra{\ss}e 13, 66123 Saarbr\"ucken, Allemagne.
+% Author of the Book: Schnell ans Ziel mit LaTeX2e, Oldenbourg-Verlag
+% M\"unchen, 1997, ISBN 3-486-24199-0. 2nd, extended printing 2003.
+%
+%% End of file `latin2jk.def'.
diff --git a/macros/latex/contrib/jknappen/latin3jk.def b/macros/latex/contrib/jknappen/latin3jk.def
new file mode 100644
index 0000000000..0fe2c7ffba
--- /dev/null
+++ b/macros/latex/contrib/jknappen/latin3jk.def
@@ -0,0 +1,149 @@
+% latin3jk.def
+%
+% (c) Copyright 1995, 1996, 2000, 2003 J"org Knappen.
+% Licence GNU licence Version 2
+% see after \endinput for further information
+%
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesFile{latin3jk.def}[2003/10/02 latin-3 input encoding file v1.3 (JKn)]
+%%%\RequirePackage{textcomp} % text companion symbols (tc fonts)
+%%%\RequirePackage[T4]{fontenc} % fc fonts needed for maltese
+\DeclareInputText{"0A0}{~}
+\DeclareInputText{"0A1}{\B H} % Maltese barred H
+\DeclareInputText{"0A2}{\u{}}
+\DeclareInputText{"0A3}{\textsterling}
+\DeclareInputText{"0A4}{\textcurrency}
+%\DeclareInputText{"0A5}{\notdef}
+\DeclareInputText{"0A6}{\^H}
+\DeclareInputText{"0A7}{\S}
+\DeclareInputText{"0A8}{\"{}}
+\DeclareInputText{"0A9}{\.I}
+\DeclareInputText{"0AA}{\c S}
+\DeclareInputText{"0AB}{\u G}
+\DeclareInputText{"0AC}{\^J}
+\DeclareInputText{"0AD}{\@dischyph}
+%\DeclareInputText{"0AE}{\notdef}
+\DeclareInputText{"0AF}{\.Z}
+%
+\DeclareInputText{"0B0}{\textdegree}
+\DeclareInputText{"0B1}{\B h} % Maltese barred h
+\DeclareInputText{"0B2}{\texttwosuperior}
+\DeclareInputText{"0B3}{\textthreesuperior}
+\DeclareInputText{"0B4}{\@tabacckludge'{}}
+\DeclareInputText{"0B5}{\textmu}
+\DeclareInputText{"0B6}{h\llap{\^{}}} % \^h would be too tall
+\DeclareInputText{"0B7}{\textperiodcentered}
+\DeclareInputText{"0B8}{\c{\ }}
+\DeclareInputText{"0B9}{\i}
+\DeclareInputText{"0BA}{\c s}
+\DeclareInputText{"0BB}{\u g}
+\DeclareInputText{"0BC}{\^\j}
+\DeclareInputText{"0BD}{\textonehalf}
+%\DeclareInputText{"0BE}{\notdef}
+\DeclareInputText{"0BF}{\.z}
+%
+\DeclareInputText{"0C0}{\@tabacckludge`A}
+\DeclareInputText{"0C1}{\@tabacckludge'A}
+\DeclareInputText{"0C2}{\^A}
+%\DeclareInputText{"0C3}{\notdef}
+\DeclareInputText{"0C4}{\"A}
+\DeclareInputText{"0C5}{\.C}
+\DeclareInputText{"0C6}{\^C}
+\DeclareInputText{"0C7}{\c C}
+\DeclareInputText{"0C8}{\@tabacckludge`E}
+\DeclareInputText{"0C9}{\@tabacckludge'E}
+\DeclareInputText{"0CA}{\^E}
+\DeclareInputText{"0CB}{\"E}
+\DeclareInputText{"0CC}{\@tabacckludge`I}
+\DeclareInputText{"0CD}{\@tabacckludge'I}
+\DeclareInputText{"0CE}{\^I}
+\DeclareInputText{"0CF}{\"I}
+%
+%\DeclareInputText{"0D0}{\notdef}
+\DeclareInputText{"0D1}{\~N}
+\DeclareInputText{"0D2}{\@tabacckludge`O}
+\DeclareInputText{"0D3}{\@tabacckludge'O}
+\DeclareInputText{"0D4}{\^O}
+\DeclareInputText{"0D5}{\.G}
+\DeclareInputText{"0D6}{\"O}
+\DeclareInputText{"0D7}{\texttimes}
+\DeclareInputText{"0D8}{\^G}
+\DeclareInputText{"0D9}{\@tabacckludge`U}
+\DeclareInputText{"0DA}{\@tabacckludge'U}
+\DeclareInputText{"0DB}{\^U}
+\DeclareInputText{"0DC}{\"U}
+\DeclareInputText{"0DD}{\u U}
+\DeclareInputText{"0DE}{\^S}
+\DeclareInputText{"0DF}{\ss}
+%
+\DeclareInputText{"0E0}{\@tabacckludge`a}
+\DeclareInputText{"0E1}{\@tabacckludge'a}
+\DeclareInputText{"0E2}{\^a}
+%\DeclareInputText{"0E3}{\notdef}
+\DeclareInputText{"0E4}{\"a}
+\DeclareInputText{"0E5}{\.c}
+\DeclareInputText{"0E6}{\^c}
+\DeclareInputText{"0E7}{\c c}
+\DeclareInputText{"0E8}{\@tabacckludge`e}
+\DeclareInputText{"0E9}{\@tabacckludge'e}
+\DeclareInputText{"0EA}{\^e}
+\DeclareInputText{"0EB}{\"e}
+\DeclareInputText{"0EC}{\@tabacckludge`\i}
+\DeclareInputText{"0ED}{\@tabacckludge'\i}
+\DeclareInputText{"0EE}{\^\i}
+\DeclareInputText{"0EF}{\"\i}
+%
+%\DeclareInputText{"0F0}{\notdef}
+\DeclareInputText{"0F1}{\~n}
+\DeclareInputText{"0F2}{\@tabacckludge`o}
+\DeclareInputText{"0F3}{\@tabacckludge'o}
+\DeclareInputText{"0F4}{\^o}
+\DeclareInputText{"0F5}{\.g}
+\DeclareInputText{"0F6}{\"o}
+\DeclareInputText{"0F7}{\textdiv}
+\DeclareInputText{"0F8}{\^g}
+\DeclareInputText{"0F9}{\@tabacckludge`u}
+\DeclareInputText{"0FA}{\@tabacckludge'u}
+\DeclareInputText{"0FB}{\^u}
+\DeclareInputText{"0FC}{\"u}
+\DeclareInputText{"0FD}{\u u}
+\DeclareInputText{"0FE}{\^ s}
+\DeclareInputText{"0FF}{\.{}}
+\endinput
+%Usage:
+% \documentclass{...}
+% \usepackage{textcomp} % required!
+% \usepackage[T4]{fontenc} % required for maltese barred H only.
+% ...
+% \begin{document}
+%
+% The set of graphic characters used for general purpose applications in
+% typical office environments in the following languages:
+% Afrikaans, Catalan, English, Esperanto, French, Gallician, German,
+% Italian, Maltese, and Turkish.
+%
+% I decided to make \emph{all} characters text, even times and divide, in
+% order to make it work in verbatim style environments. A number of control
+% sequences refers to the textcomp package of Sebastian Rahtz. The text
+% companion fonts are needed to display those characters.
+%
+% \B H and \B h (maltese barred H) need the african computer modern fonts
+% (fc fonts) and the t4enc.def file for the fontenc package.
+%
+% \textcurrency, \textdegree, \texttwosuperior, \textthreesuperior,
+% \textmu, \textonehalf, \texttimes, and \textdiv are defined in
+% the textcomp package using the text companion font (TS1 coding).
+%
+% Changes:
+%
+% Version 1.3
+% Get rid of old definitions requiring tccompat.sty
+% Commented out all undefinied characters in the Latin-3 charset
+%
+% Author:
+%
+% J\"org Knappen, Dieselstra{\ss}e 13, D-66123 Saarbr\"ucken, Allemagne.
+% Author of the Book: Schnell ans Ziel mit LaTeX2e, Oldenbourg-Verlag
+% M\"unchen, 1997, ISBN 3-486-24199-0. 2nd, extended printint 2003.
+%
+%% End of file latin3jk.def
diff --git a/macros/latex/contrib/jknappen/mathbbol.rme b/macros/latex/contrib/jknappen/mathbbol.rme
new file mode 100644
index 0000000000..0cd66cc04c
--- /dev/null
+++ b/macros/latex/contrib/jknappen/mathbbol.rme
@@ -0,0 +1,71 @@
+mathbbol.rme
+
+Readme File for the mathbbol package by J"org Knappen
+(c) Copyleft 1995--1999 J"org Knappen under the GNU licence version 2
+
+ The mathbbol package exploits the bbold-fonts and the stmaryrd-fonts
+designed by Alan Jeffrey and Jeremy Gibbons. Many people prefer these fonts
+over the AMS \mathbb, because the symbols for the real numbers, complex
+numbers, etc. look just right. But the Jeffrey fonts contain more:
+blackbord bold digits, lower case letters, greek letters and even punctuation.
+
+ To use this package, just write
+\usepackage[cspex,bbgreekl]{mathbbol}
+in the preamble of the document. Note that this package has two options.
+
+-- cspex activates the special extension font, allowing you to say
+ $\left\Lbrack ... \right\Rbrack$ to get double lined extensible
+ brackets.
+
+ With Version 2 of the package, the extensions are taken from the
+ stmaryrd fonts instead of cspex, since the latter fonts are withdrawn
+ by their author.
+
+-- bbgreekl activates commands for the lower case blackbord bold greek,
+ which are just \bbalpha ... \bbomega.
+
+Without options, the following commands are defined:
+
+o \mathbb{A} to produce blackbord bold A. All upper and lowercase latin
+ letters are accessible this way. It overwrites AMS-LaTeX's
+ \mathbb (and can be overwritten if you load amsfonts after mathbbol)
+o \mathbb{0} to produce the blackbord bold digit 0. All digits are
+ accessible this way
+o \mathbb{\Lambda} to produce a blackbord bold Lambda. All uppercase greek
+ letters are accessible this way.
+o \Langle, \Lbrack, \Lparen to produce blackbord bold <, [, (
+o \Rangle, \Rbrack, \Rparen right counterparts of the above
+o \Eins to produce blackbord bold digit 1.
+
+ There are more symbols in the font, which aren't defined, because they
+are never (really?) needed.
+
+ Please find the bbold and stmary fonts on your nearest CTAN archive in
+directory tex-archive/fonts/bbold.
+
+ This package assumes that the Sauter-tools, to be found in
+tex-archive/fonts/cm/sauter, are used to generate the fonts at true sizes.
+
+ This package contains 4 files, namely
+
+ mathbbol.rme This readme file
+ mathbbol.sty The package file
+ ubbold.fd Font definition file for the bbold fonts
+ ustmary.fd Font definition file for the stmaryrd fonts
+
+ Conflicts with other packages:
+
+If amsfonts is loaded together with mathbbol, the later package decides
+the shape of the \mathbb letters.
+
+If amsmath is loaded, \mathbb{<Capital greek letter>} does not work any
+more. To work around, save the original definitions of \Gamma etc. before
+loading amsmath and restore them afterwards:
+\let\savedGamma\Gamma
+\usepackage{amsmath}
+\let\Gamma\savedGamma
+
+J"org Knappen, Barbarossaring 43, D-55118 Mainz, Allemagne
+Author of the Book: Schnell ans Ziel mit LaTeX2e, Oldenbourg-Verlag
+M"unchen, 1997, ISBN 3-486-24199-0.
+/mathbbol.rme
diff --git a/macros/latex/contrib/jknappen/mathbbol.sty b/macros/latex/contrib/jknappen/mathbbol.sty
new file mode 100644
index 0000000000..b3fb791b14
--- /dev/null
+++ b/macros/latex/contrib/jknappen/mathbbol.sty
@@ -0,0 +1,56 @@
+%% mathbbol.sty
+%%
+%% (c) Copyleft 1995, 1996 J"org Knappen
+%% Licence: GNU licence version 2
+%% Please read the file mathbbol.rme first
+%%
+\ProvidesPackage{mathbbol}[1995/01/01]
+\newif\ifcspex\cspexfalse
+\newif\ifbbgreekl\bbgreeklfalse
+\DeclareOption{cspex}{\cspextrue}
+\DeclareOption{bbgreekl}{\bbgreekltrue}
+\ProcessOptions
+\DeclareSymbolFont{bbold}{U}{bbold}{m}{n}
+\DeclareSymbolFontAlphabet{\mathbb}{bbold}
+\ifcspex
+\DeclareSymbolFont{stmary}{U}{stmary}{m}{n}
+\SetSymbolFont{stmary}{bold}{U}{stmary}{b}{n}
+\fi
+\ifcspex
+\DeclareMathDelimiter{\Lbrack}{\mathopen}{bbold}{`[}{stmary}{117}
+\DeclareMathDelimiter{\Rbrack}{\mathclose}{bbold}{`]}{stmary}{125}
+\else
+\DeclareMathSymbol{\Lbrack}{\mathopen}{bbold}{`[}
+\DeclareMathSymbol{\Rbrack}{\mathclose}{bbold}{`]}
+\fi
+\DeclareMathSymbol{\Langle}{\mathopen}{bbold}{`<}
+\DeclareMathSymbol{\Rangle}{\mathclose}{bbold}{`>}
+\DeclareMathSymbol{\Lparen}{\mathopen}{bbold}{`(}
+\DeclareMathSymbol{\Rparen}{\mathclose}{bbold}{`)}
+\DeclareMathSymbol{\Eins}{\mathord}{bbold}{`1}
+\ifbbgreekl
+\DeclareMathSymbol{\bbalpha}{\mathord}{bbold}{"0B}
+\DeclareMathSymbol{\bbbeta}{\mathord}{bbold}{"0C}
+\DeclareMathSymbol{\bbgamma}{\mathord}{bbold}{"0D}
+\DeclareMathSymbol{\bbdelta}{\mathord}{bbold}{"0E}
+\DeclareMathSymbol{\bbespilon}{\mathord}{bbold}{"0F}
+\DeclareMathSymbol{\bbzeta}{\mathord}{bbold}{"10}
+\DeclareMathSymbol{\bbeta}{\mathord}{bbold}{"11}
+\DeclareMathSymbol{\bbtheta}{\mathord}{bbold}{"12}
+\DeclareMathSymbol{\bbiota}{\mathord}{bbold}{"13}
+\DeclareMathSymbol{\bbkappa}{\mathord}{bbold}{"14}
+\DeclareMathSymbol{\bblambda}{\mathord}{bbold}{"15}
+\DeclareMathSymbol{\bbmu}{\mathord}{bbold}{"16}
+\DeclareMathSymbol{\bbnu}{\mathord}{bbold}{"17}
+\DeclareMathSymbol{\bbxi}{\mathord}{bbold}{"18}
+\DeclareMathSymbol{\bbpi}{\mathord}{bbold}{"19}
+\DeclareMathSymbol{\bbrho}{\mathord}{bbold}{"1A}
+\DeclareMathSymbol{\bbsigma}{\mathord}{bbold}{"1B}
+\DeclareMathSymbol{\bbtau}{\mathord}{bbold}{"1C}
+\DeclareMathSymbol{\bbupsilon}{\mathord}{bbold}{"1D}
+\DeclareMathSymbol{\bbphi}{\mathord}{bbold}{"1E}
+\DeclareMathSymbol{\bbchi}{\mathord}{bbold}{"1F}
+\DeclareMathSymbol{\bbpsi}{\mathord}{bbold}{"20}
+\DeclareMathSymbol{\bbomega}{\mathord}{bbold}{"7F}
+\fi
+\endinput
diff --git a/macros/latex/contrib/jknappen/mathrsfs.rme b/macros/latex/contrib/jknappen/mathrsfs.rme
new file mode 100644
index 0000000000..458c6b145f
--- /dev/null
+++ b/macros/latex/contrib/jknappen/mathrsfs.rme
@@ -0,0 +1,40 @@
+mathrsfs.rme
+
+Readme File for the mathrsfs package by J"org Knappen
+(c) Copyleft 1995, 1996, 1998, 1999 J"org Knappen
+Licence: GNU public licence version 2
+
+ Physicists don't like the appearance of the standard calligraphic fonts
+when speaking about Lagrangian density, Hamiltonian density, or the measure
+in the path integral. Fortunately, the Ralph Smith Formal Script (rsfs)
+fonts provide the desired shapes. The mathrsfs package makes them accesible
+via the command \mathscr{ABC}.
+
+ To use this package, just write
+\usepackage{mathrsfs}
+in the preamble of the document.
+
+ If you don't have the rsfs fonts ready, get the METAFONT sources from
+the nearest CTAN archive in directory tex-archive/fonts/rsfs. There are also
+PS Type 1 versions by Tako Hoekwater on CTAN.
+
+ This package contains 3 files, namely
+ mathrsfs.rme This readme file
+ mathrsfs.sty Package file
+ ursfs.fd Font definition file
+The latter two files need to be in the search path of LaTeX2e.
+
+ This package differs from Vadim V. Zhytnikov's calrsfs package in
+several aspects. It does not overwrite the \mathcal command, so that you
+have the calligraphic shape still available. I also choose to do some
+internal things in a different way.
+
+J"org Knappen, Barbarossaring 43, D-55118 Mainz, Allemagne
+Author of the Book: Schnell ans Ziel mit LaTeX2e, Oldenbourg-Verlag
+M"unchen, 1997, ISBN 3-486-24199-0.
+
+Change history:
+
+1998/03/24 Added setting of the skewchar to ursfs.fd
+
+/mathrsfs.rme \ No newline at end of file
diff --git a/macros/latex/contrib/jknappen/mathrsfs.sty b/macros/latex/contrib/jknappen/mathrsfs.sty
new file mode 100644
index 0000000000..4f3990b284
--- /dev/null
+++ b/macros/latex/contrib/jknappen/mathrsfs.sty
@@ -0,0 +1,10 @@
+%% mathrsfs.sty
+%%
+%% (c) Copyleft 1995, 1996 J"org Knappen
+%% Licence: GNU licence version 2
+%% Please read the file mathrsfs.rme first
+%%
+\ProvidesPackage{mathrsfs}[1996/01/01 Math RSFS package v1.0 (jk)]
+\DeclareSymbolFont{rsfs}{U}{rsfs}{m}{n}
+\DeclareSymbolFontAlphabet{\mathscr}{rsfs}
+\endinput
diff --git a/macros/latex/contrib/jknappen/parboxx.sty b/macros/latex/contrib/jknappen/parboxx.sty
new file mode 100644
index 0000000000..576639e26d
--- /dev/null
+++ b/macros/latex/contrib/jknappen/parboxx.sty
@@ -0,0 +1,42 @@
+%parboxx.sty
+% Copyright 2003 J"org Knappen
+% Neue Ausrichtungsparameter fuer Parboxen:
+% New alignment options for \parbox'en:
+% [T] An der Oberkante---really at top of the box
+% [B] An der Unterkante---really at bottom of the box
+% Works also for minipages
+
+\ProvidesPackage{parboxx}[2003/09/27 New alignment options for parboxen (JKn)]
+\NeedsTeXFormat{LaTeX2e}[1999/06/01] % Internals of parbox changed at this date
+
+% Solides Hacking interner LaTeX2e-Befehle ist dazu n"otig ...
+
+% F"uhre \bm@B und \bm@T ein ...
+\def\bm@B{\hss\unhbox\@tempboxa\kern0pt}
+\def\bm@T{\kern0pt\unhbox\@tempboxa\hss}
+
+% Modifiziere \@iiiparbox
+\long\def\@iiiparbox#1#2[#3]#4#5{%
+ \leavevmode
+ \@pboxswfalse
+ \setlength\@tempdima{#4}%
+ \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}%
+ \ifx\relax#2\else
+ \setlength\@tempdimb{#2}%
+ \def\@parboxto{to\@tempdimb}%
+ \fi
+ \if#1b\vbox
+ \else\if #1B\vbox % neue Option
+ \else\if #1t\vtop
+ \else\if #1T\vtop % neue Option
+ \else\ifmmode\vcenter
+ \else\@pboxswtrue $\vcenter
+ \fi\fi\fi\fi\fi % mehr \fi's
+ \@parboxto{\let\hss\vss\let\unhbox\unvbox
+ \csname bm@#3\endcsname}% % Hier kommen die bm@...-Makros her
+ \if@pboxsw \m@th$\fi
+ \@end@tempboxa}
+
+\endinput
+
+%/parboxx.sty
diff --git a/macros/latex/contrib/jknappen/sans.sty b/macros/latex/contrib/jknappen/sans.sty
new file mode 100644
index 0000000000..725e859d21
--- /dev/null
+++ b/macros/latex/contrib/jknappen/sans.sty
@@ -0,0 +1,36 @@
+% SANS.STY
+% (c) copyleft 1992, 1996, 1999 J"org Knappen
+% Licence: GNU public licence, version 2
+%
+% This package makes computer modern sans serif the default font
+% \sf switches to the cmr family
+%
+% This package works can be used with LaTeX2e or with
+% LaTeX2.09 and the New Font Selection Scheme (NFSS)
+
+\@ifundefined{extract@font}
+ {\errmessage{The style option `sans' does not make sense if you
+ do not use a format with the new font selection scheme.
+ Please upgrade to LaTeX2e.}
+ \endinput}
+ {}
+\@ifundefined{reset@font}
+ {\errmessage{The style option `sans' does not make sense if you
+ do not use LaTeX of Dec 1, 1991 or later.
+ Please upgrade to LaTeX2e.}
+ \endinput}
+ {}
+\renewcommand{\rmdefault}{cmss}
+\renewcommand{\sfdefault}{cmr}
+\reset@font
+\endinput
+
+Exchanges the roles of sans and roman in a cm or ec setup. Does not work for
+other font setups (like times/helvetica), unfortunately.
+
+This package is written by
+
+J"org Knappen, Barbarossaring 43, D-55118 Mainz, Allemagne
+Author of the Book: Schnell ans Ziel mit LaTeX2e, Oldenbourg-Verlag
+M"unchen, 1997, ISBN 3-486-24199-0.
+% /sans.sty
diff --git a/macros/latex/contrib/jknappen/semtrans.sty b/macros/latex/contrib/jknappen/semtrans.sty
new file mode 100644
index 0000000000..31968cc345
--- /dev/null
+++ b/macros/latex/contrib/jknappen/semtrans.sty
@@ -0,0 +1,46 @@
+% semtrans.sty
+% Transliteration of semitc languages (arabic, hebrew, ethiopian languages)
+
+% (\textcopyleft) Copyleft 1997 J"org Knappen
+% Licence: GNU licence version 2
+
+% The following commands are defined:
+% \Alif, \Ayn left and right half ring
+% \U breve below (e. g. \U h)
+% \D diaeresis below (e. g. \D d: Oromo retroflex d)
+% \T turn a letter (e. g. \T e: schwa)
+% For the turning of letters, the package fraphicx is required.
+
+\ProvidesPackage{semtrans}%
+ [1998/02/10 v 1.0 specials for transliterated semitic languages (jk)]
+\RequirePackage{graphicx}
+
+% Alif, Ayn and \U are from the exotex package by Peter S. Olivier
+% 1988/08/08
+
+% Definitions translated into LaTeX2e by JK
+
+% \mathchardef\lhook="012C \mathchardef\rhook="012D
+% \def\ain{\kern+1pt$\lhook$} \def\alef{\kern+1pt$\rhook$}
+
+\DeclareMathSymbol{\lhook}{\mathord}{letters}{"02C}
+\DeclareMathSymbol{\rhook}{\mathord}{letters}{"02D}
+
+\newcommand*\Alif{\kern.1ex$\rhook$}
+\newcommand*\Ayn{\kern.1ex$\lhook$}
+
+% \U: breve below character
+
+\newcommand*\U[1]{\oalign{#1\crcr\hidewidth
+ \vbox to .2ex{\hbox{\u{}}\vss}\hidewidth}}
+
+% \D: diaeresis below character (modelled after \U)
+
+\newcommand*\D[1]{\oalign{#1\crcr\hidewidth
+ \vbox to .2ex{\hbox{\"{}}\vss}\hidewidth}}
+
+% \T: turn (=rotate 180 degrees) character
+
+\newcommand*\T[1]{\rotatebox[origin=cc]{180}{#1}}
+
+\endinput
diff --git a/macros/latex/contrib/jknappen/sgmlcmpt.sty b/macros/latex/contrib/jknappen/sgmlcmpt.sty
new file mode 100644
index 0000000000..4c29323024
--- /dev/null
+++ b/macros/latex/contrib/jknappen/sgmlcmpt.sty
@@ -0,0 +1,57 @@
+% sgmlcmpt.sty
+%
+% (c) Copyleft 1999 J"org Knappen
+% Licence: GNU licence version 2
+% Documentation: See after \endinput
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{sgmlcmpt}[1999/06/01]
+\newcommand*\amp{\&}
+\newcommand*\lt{<}
+\newcommand*\gt{>}
+\newcommand*\clmn{&}
+\endinput
+
+Unfortunately, one cannot embed LaTeX formulae into SGML as #PCDATA. The
+reason is, that a LaTeX formula can contain the characters "<" and "&" which
+have a special meaning in SGML.
+
+This little package defines four control sequences to circumvent the
+restriction:
+
+\lt < (less than)
+\gt > (greater than)
+\amp \& (ampersand sign)
+\clmn & (column separator)
+
+\gt is only provided for aesthetical reasons; the asymmetry between \lt
+and > looks ugly to the author of this package.
+
+The usual catcodes for >, <, and & are assumed while the package is read in.
+
+The following little sed script will make all your TeX formulae SGML #PCDATA
+
+s/</\\lt /g
+s/>/\\gt /g
+s/\\&/{\\amp}/g
+s/&/\\clmn /g
+
+Fine print
+
+Note the spaces inserted after \lt,\gt, and \clmn: They guarantee that the
+control words are ended properly. There shouldn't be any spaces eaten up, since
+">" and "<" are not intended to be input in text (horizontal) mode. With
+standard TeX fonts they produce surprising results anyway. Leading spaces after
+a column separator are ignored by TeX, so no problem here.
+
+Turning the control symbol \& into a control word \amp may cause the loss of
+significant spaces, therefore the additional group here. The group should
+cause no harm, since \& is alreday of math type "other". It may suppress
+a hypothetical ligature or kern between the ampersand sign and a following
+character in text mode depending on how many passes TeX needs in order to
+typeset the paragraph. The standard TeX fonts don't contain such ligatures
+or kerns.
+
+J"org Knappen, Barbarossaring 43, D-55118 Mainz, Allemagne
+Author of the Book: Schnell ans Ziel mit LaTeX2e, Oldenbourg-Verlag
+M"unchen, 1997, ISBN 3-486-24199-0.
+% /sgmlcmpt.sty
diff --git a/macros/latex/contrib/jknappen/smartmn.sty b/macros/latex/contrib/jknappen/smartmn.sty
new file mode 100644
index 0000000000..393becb607
--- /dev/null
+++ b/macros/latex/contrib/jknappen/smartmn.sty
@@ -0,0 +1,68 @@
+% smartmn.sty
+%
+% (c) 1996--1999 Copyleft J"org Knappen
+% Licence: GNU public licence version 2
+
+\NeedsTeXFormat{LaTeX2e}[1994/12/01] % \DeclareRobustCommand
+\ProvidesPackage{smartmn}[1999/06/01 v 1.1b Intelligent hyphen/minus (jk)]
+
+\newcommand*\oriminus{-}
+\providecommand\emdash{---}
+\def\aft@rfi#1\fi{\fi#1}
+\chardef\m@nuscode=\catcode"2D %
+\catcode"2D=\active
+\def\sm@rtm@nus{\ifmmode\oriminus\else\aft@rfi\sm@rtm@n@s\fi }
+\def\sm@rtm@n@s{\futurelet\sm@rtminus@next\sm@rtminus}
+\def\sm@rtminus#1{%
+ \expandafter\ifx \space\sm@rtminus@next\oriminus\space#1%
+ \else\ifx \ #1\oriminus\space
+ \else\ifx -#1\oriminus\oriminus
+ \else\ifx 0#1\textminus0%
+ \else\ifx 1#1\textminus1%
+ \else\ifx 2#1\textminus2%
+ \else\ifx 3#1\textminus3%
+ \else\ifx 4#1\textminus4%
+ \else\ifx 5#1\textminus5%
+ \else\ifx 6#1\textminus6%
+ \else\ifx 7#1\textminus7%
+ \else\ifx 8#1\textminus8%
+ \else\ifx 9#1\textminus9%
+ \else \oriminus#1%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
+\DeclareRobustCommand\p@m@nus{\sm@rtm@nus}
+\let-\p@m@nus
+
+\catcode"2D=\m@nuscode % Unactivate the hyphen/minus till \begin{document}
+
+\providecommand{\textminus}{\ensuremath{\oriminus}}
+
+
+\AtBeginDocument{\catcode"2D=\active}
+
+\endinput
+
+Description:
+
+This style file makes the ASCII character `-' (hyphen/minus) active, so
+that it guesses, whether to print as a minus sign or as a hyphen.
+The used heuristic is simple: It turns to a minus in math mode, or if it
+is followed directly by a digit. Two dashes between digits are interpreted as
+number range dash, no minus is inserted there. In other cases, it is just
+the plain old hyphen. The ligature `--' works as usual, but the em dash
+`---' is broken. If --- is followed by a digit, it prints as --$-$<digit>,
+in the other case it is an en dash followed by a hyphen. The emdash can be
+produced with the command \emdash.
+
+Know deficiencies:
+
+* You can't produce an em-dash by the input `---', use \emdash instead.
+* The input `- -' produces an error message and wrong output.
+* A space after the minus sign is eaten in moved text (like inside the
+ table of contents).
+ Workaround for the later two deficiencies: -{}
+
+J"org Knappen, Barbarossaring 43, D-55118 Mainz, Allemagne.
+Author of the Book: Schnell ans Ziel mit LaTeX2e, Oldenbourg-Verlag
+M"unchen, 1997, ISBN 3-486-24199-0.
+
+% /smartmn.sty \ No newline at end of file
diff --git a/macros/latex/contrib/jknappen/tccompat.sty b/macros/latex/contrib/jknappen/tccompat.sty
new file mode 100644
index 0000000000..49eae22980
--- /dev/null
+++ b/macros/latex/contrib/jknappen/tccompat.sty
@@ -0,0 +1,63 @@
+%tccompat.sty
+%
+% Copyleft \textcopyleft 1997--2003 J\"org Knappen
+
+\ProvidesPackage{tccompat}[2003/09/25 v 1.2 (JKn)]
+\RequirePackage{textcomp}[1997/12/01]
+
+% This style defines some names for the text companion symbols which have
+% been replaced by newer ones in ts1enc.def. In special, all names from the
+% old (pre-1997/12/01) textcomp package are saved. It also contains all the
+% names given in 1st printing of the book >>Schnell ans Ziel mit \LaTeXe<<
+% by J"org Knappen (Oldenbourg, M\"unchen and Wien 1997, ISBN 3-486-24199-0)
+% The 2nd printing (2003, in preparation) will have the new standard names.
+%
+% Version 1.2: Added \Orb from new versions of plain TeX
+%
+% Names from the old textcomp package ...
+\let\textquotesinglbase\textquotestraightbase
+\let\textquotedblbase\textquotestraightdblbase
+\let\textleftpointingarrow\textleftarrow
+\let\textrightpointingarrow\textrightarrow
+\let\textcenteredstar\textasteriskcentered
+\let\textarrowup\textuparrow
+\let\textarrowdown\textdownarrow
+\let\textgrave\textasciigrave
+\let\textlowtilde\texttildelow
+\let\textshortequals\textdblhyphen
+\let\textquotedbl\textgravedbl
+\let\textdoublevert\textbardbl
+%\let\textperthousand\textpermill
+\let\textcentigrade\textcelsius
+\let\textgnaborretni\textinterrobangdown
+%\let\textpertenthousand\textpertenmill
+\let\texthighdieresis\textasciidieresis
+\let\textlogicalnot\textlnot
+\let\textplusminus\textpm
+\let\textacute\textasciiacute
+\let\textmultiply\texttimes
+\let\textdivide\textdiv
+%
+% The following two rare ones were missing in V 1.1
+%
+\let\textcapitalcwm\textcapitalcompwordmark
+\let\textascendercwm\textascendercompwordmark
+%
+\let\textcdot\textperiodcentered
+%
+% Older names used in my book (Schnell ans Ziel mit \LaTeXe)
+%
+\let\textllbrack\textlbrackdbl
+\let\textrrbrack\textrbrackdbl
+\let\textdoublebacktick\textgravedbl
+\let\textdoubletick\textacutedbl
+\let\textabzueglich\textdiscount
+\let\fraction\textfractionsolidus
+%
+% Plain TeX introduced \Orb some time ago. So it's also here
+% (since version 1.2). It works both in text mode and in math mode.
+%
+\ProvideCommand\Orb{\ifmmode\bigcirc\else\textbigcircle\fi}
+%
+\endinput
+%/tccompat.sty
diff --git a/macros/latex/contrib/jknappen/ubbold.fd b/macros/latex/contrib/jknappen/ubbold.fd
new file mode 100644
index 0000000000..33626dcf64
--- /dev/null
+++ b/macros/latex/contrib/jknappen/ubbold.fd
@@ -0,0 +1,22 @@
+%% ubbold.fd
+%%
+%% (c) Copyleft 1995, 1996, 1999 J"org Knappen
+%% Licence: GNU public licence version 2
+%%
+\ProvidesFile{ubbold.fd}[1996/01/01 Blackboard Bold Font Definition File (jk)]
+%%
+\providecommand{\sauter@family}[5]{%
+ \DeclareFontShape{#1}{#2}{#4}{#5}
+ { <5> #35 <6> #36 <7> #37 <8> #38 <9> #39 <10> #310 <10.95> #311
+ <12> #312 <14.4> #314 <17.28> #317 <20.74> #320 <24.88> #325
+ }{}%
+}
+%%
+\DeclareFontFamily{U}{bbold}{}
+\sauter@family{U}{bbold}{bbold}{m}{n}
+\endinput
+
+J"org Knappen, Barbarossaring 43, D-55118 Mainz, Allemagne
+Author of the Book: Schnell ans Ziel mit LaTeX2e, Oldenbourg-Verlag
+M"unchen, 1997, ISBN 3-486-24199-0.
+% /ubbold.fd \ No newline at end of file
diff --git a/macros/latex/contrib/jknappen/ursfs.fd b/macros/latex/contrib/jknappen/ursfs.fd
new file mode 100644
index 0000000000..ec817f8a5a
--- /dev/null
+++ b/macros/latex/contrib/jknappen/ursfs.fd
@@ -0,0 +1,18 @@
+%% ursfs.fd
+%%
+%% (c) Copyleft 1995, 1996, 1998, 1999 J"org Knappen
+%% Licence: GNU public licence version 2
+%%
+\ProvidesFile{ursfs.fd}[1998/03/24 rsfs font definition file (jk)]
+\DeclareFontFamily{U}{rsfs}{\skewchar\font127 }
+\DeclareFontShape{U}{rsfs}{m}{n}{%
+ <5> <6> rsfs5
+ <7> rsfs7
+ <8> <9> <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> rsfs10
+}{}
+\endinput
+
+J"org Knappen, Barbarossaring 43, D-55118 Mainz, Allemagne
+Author of the Book: Schnell ans Ziel mit LaTeX2e, Oldenbourg-Verlag
+M"unchen, 1997, ISBN 3-486-24199-0.
+% /ursfs.fd \ No newline at end of file
diff --git a/macros/latex/contrib/jknappen/ustmary.fd b/macros/latex/contrib/jknappen/ustmary.fd
new file mode 100644
index 0000000000..78d8175d35
--- /dev/null
+++ b/macros/latex/contrib/jknappen/ustmary.fd
@@ -0,0 +1,22 @@
+%% ustmary.fd
+%%
+%% (c) Copyleft 1995, 1996, 1999 J"org Knappen
+%% Licence: GNU licence version 2
+%%
+\ProvidesFile{ustmary.fd}[1996/01/01 St. Mary Road Font Definition File (jk)]
+%%
+\providecommand{\sauter@family}[5]{%
+ \DeclareFontShape{#1}{#2}{#4}{#5}
+ { <5> #35 <6> #36 <7> #37 <8> #38 <9> #39 <10> #310 <10.95> #311
+ <12> #312 <14.4> #314 <17.28> #317 <20.74> #320 <24.88> #325
+ }{}%
+}
+%%
+\DeclareFontFamily{U}{stmary}{}
+\sauter@family{U}{stmary}{stmary}{m}{n}
+\endinput
+
+J"org Knappen, Barbarossaring 43, D-55118 Mainz, Allemagne
+Author of the Book: Schnell ans Ziel mit LaTeX2e, Oldenbourg-Verlag
+M"unchen, 1997, ISBN 3-486-24199-0.
+% /ustmary.fd \ No newline at end of file
diff --git a/macros/latex/contrib/jknappen/young.sty b/macros/latex/contrib/jknappen/young.sty
new file mode 100644
index 0000000000..4cf1082467
--- /dev/null
+++ b/macros/latex/contrib/jknappen/young.sty
@@ -0,0 +1,37 @@
+% YOUNG.STY by J"org Knappen 7-feb-1992
+% Licence: GNU licence version 2
+% based on YOUNG.TEX
+% macro to make Young tableaux
+% by: Paul E. S. Wormer <U644301@HNYKUN11>
+% \magnification=\magstep1
+%
+\newdimen\hoogte \hoogte=12pt % hoogte van hokje
+\newdimen\breedte \breedte=14pt % breedte van hokje
+\newdimen\dikte \dikte=0.5pt % dikte lijn
+\def\beginYoung{
+ \begingroup
+ \def\vr{\vrule height0.8\hoogte width\dikte depth 0.2\hoogte}
+ \def\fbox##1{\vbox{\offinterlineskip
+ \hrule height\dikte
+ \hbox to \breedte{\vr\hfill##1\hfill\vr}
+ \hrule height\dikte}}
+ \vbox\bgroup \offinterlineskip \tabskip=-\dikte \lineskip=-\dikte
+ \halign\bgroup &\fbox{##\unskip}\unskip \crcr }
+%
+\def\End@Young{\egroup\egroup\endgroup}
+\newenvironment{Young}{\beginYoung}{\End@Young}
+\endinput
+%
+example of use of the macro to make Young tableaux
+Example:
+ \documentclass{article}
+ \usepackage{young}
+ \begin{document}
+ This is a Young tableau:
+ \begin{Young}
+ 1 & 2 & 3\cr
+ 4 & 5 \cr
+ 6 & 7 \cr
+ 8 \cr
+ \end{Young}
+ \end{document}