summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/youngtab
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/youngtab')
-rw-r--r--macros/latex/contrib/youngtab/README94
-rwxr-xr-xmacros/latex/contrib/youngtab/makeydoc59
-rw-r--r--macros/latex/contrib/youngtab/makeydoc.bat45
-rw-r--r--macros/latex/contrib/youngtab/youngtab.dtx842
-rw-r--r--macros/latex/contrib/youngtab/youngtab.el42
-rw-r--r--macros/latex/contrib/youngtab/youngtab.ins36
-rw-r--r--macros/latex/contrib/youngtab/youngtab.pdfbin166158 -> 0 bytes
-rw-r--r--macros/latex/contrib/youngtab/youngtab.tex146
8 files changed, 0 insertions, 1264 deletions
diff --git a/macros/latex/contrib/youngtab/README b/macros/latex/contrib/youngtab/README
deleted file mode 100644
index 5facde72a0..0000000000
--- a/macros/latex/contrib/youngtab/README
+++ /dev/null
@@ -1,94 +0,0 @@
-YOUNGTAB-Package
-================
------------------------------------------------------------------------
-Authors:
------------------------------------------------------------------------
-
-Volker B"orchers (email: boercher@physik.uni-bremen.de)
-and Stefan Gieseke (email: gieseke@physik.uni-bremen.de)
-
------------------------------------------------------------------------
-Legal stuff:
------------------------------------------------------------------------
-Copyright (C) 1996,98,99 Volker B"orchers and Stefan Gieseke,
-This program can be redistributed and/or modified under the terms
-of the LaTeX Project Public License Distributed from CTAN
-archives in directory macros/latex/base/lppl.txt; either
-version 1 of the License, or any later version.
-
------------------------------------------------------------------------
-FILES:
------------------------------------------------------------------------
-
-README
----------------- the file you're reading now
-
-youngtab.dtx
----------------- a documentated version of the package. From it you can
-generate both a documentation and the .sty file without most comments
-using the docstrip utility.
-
-youngtab.ins
----------------- run TeX on it to generate the youngtab.sty in your
-current working directory (from the .dtx file)
-
-makeydoc
----------------- this (unix-) script generates youngtab.dvi, the
-documentation for the package.
-
-makeydoc.bat
----------------- same as makeydoc but for MSDOS (may need some editing).
-
-gind.ist
----------------- You need it to generate the index for the
-documentation. (gind.ist is a official part of doc/docstrip
-package. Just in the case this is not installed...)
-
-youngtab.tex
----------------- For thoose who don't use LaTeX but TeX.
-
-youngtab.el
----------------- Only for thoose who use Emacs in connection with
-AUC-TeX, the best TeX-shell i can imagine.. Makes life with
-Young-Tableaux even easier (autocompletion, syntax help).
-
-
------------------------------------------------------------------------
-INSTALL:
------------------------------------------------------------------------
-1) `tex youngtab.ins' (alternatively: `latex youngtab.ins')
-2) `makeydoc'
- * if you don't want any macrocode listings, uncomment the line
- containing ``\OnlyDescription'' (remove the `#')
-3) put `youngtab.sty' to a path where LaTeX can find it.
-
------------------------------------------------------------------------
-For TeX-users:
------------------------------------------------------------------------
-follow the instructions in the documentation. (You must have
-LaTeX2e to produce a .dvi file from youngtab.dtx -- Try to read the
-.dtx file instead if you don't have!)
-However there is a file already prepared for use with TeX:
-`youngtab.tex' - try this and install in a directory where TeX will
-find it.
-
------------------------------------------------------------------------
-For AUC-TeX-users:
------------------------------------------------------------------------
-. to install it once and for all, copy `youngtab.el' to the AUC-TeX
-style-directory, e.g. /usr/lib/emacs/site-lisp/auctex/style/.
-. to install it locally: do `mkdir style; cp youngtab.el style' in the
-directory where your .tex files, using youngtab, reside (or in each if
-you have more).
-. Provides autocompletion and syntax checks for the switches and
-dimensions "Y.*" and \young and \yng if you type `C-c RET' in emacs.
-
------------------------------------------------------------------------
-Date:
------------------------------------------------------------------------
-05/05/98
-
------------------------------------------------------------------------
-Version:
------------------------------------------------------------------------
-1.1
diff --git a/macros/latex/contrib/youngtab/makeydoc b/macros/latex/contrib/youngtab/makeydoc
deleted file mode 100755
index d0fda75af8..0000000000
--- a/macros/latex/contrib/youngtab/makeydoc
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/bin/sh
-#
-# Everything after a `#' is ignored (in this shell script)
-#
-# remove the string `> /dev/null' if you want more log-output
-# remove the line containing `batchmode' if you want even more
-# log-information while running LaTeX
-#
-#----------------- create a `ltxdoc.cfg': --------------------------
-
-# Put here a list of options to pass to the class:
-OPT=a4paper
-
-echo "Generating configuration file ltxdoc.cfg for youngtab.dtx"
-
-# Write the file in one pass:
-cat > ltxdoc.cfg <<EOF
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% ltxdoc.cfg for youngtab.dtx, generated by makeydoc %%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\PassOptionsToClass{$OPT}{article}
-\batchmode
-
-%% Do not uncomment the next 2 lines
-%\AtBeginDocument{\RecordChanges}
-%\AtEndDocument{\PrintChanges}
-
-%% The next 3 lines produce full indexes and change logs
-%% - you may not want those (commented out by default).
-\AtBeginDocument{\CodelineIndex\EnableCrossrefs}
-\AtEndDocument{\PrintIndex}
-\AtEndDocument{\addcontentsline{toc}{section}{Index}}
-
-%% If you do not want any code listings, just documentation, then instead
-%% of the lines above, uncomment the following:
-%\AtBeginDocument{\OnlyDescription}
-EOF
-#---------- latex the documentation using `ltxdoc.cfg': --------------
-
-ThisDoc=youngtab.dtx
-Base=youngtab
-
-echo;echo "1st latex $ThisDoc"
-if (latex $ThisDoc > /dev/null)
-then
- echo;echo "2nd latex $ThisDoc"
- latex $ThisDoc > /dev/null
-
- echo;echo "makeindex -s gind.ist $Base.idx"
- makeindex -s gind.ist $Base.idx
- echo;echo "3rd latex $ThisDoc"
- latex $ThisDoc > /dev/null
-else
- echo;cat <<EOF
- !!! LaTeX ERROR: $ThisDoc. (See $Base.log.)
- Perhaps a new version of youngtab.sty is missing?
- (Then, generate it by "tex youngtab.ins")
-EOF
-fi
diff --git a/macros/latex/contrib/youngtab/makeydoc.bat b/macros/latex/contrib/youngtab/makeydoc.bat
deleted file mode 100644
index da46a730a8..0000000000
--- a/macros/latex/contrib/youngtab/makeydoc.bat
+++ /dev/null
@@ -1,45 +0,0 @@
-@echo off
-rem MAKEYDOC.BAT (FOR MSDOS)
-
-rem Everything after a `rem' is ignored
-
-
-rem ----------------- create a `ltxdoc.cfg': --------------------------
-
-rem Edit the next line for options to pass to the class:
-echo \PassOptionsToClass{a4paper}{article} > ltxdoc.cfg
-echo \batchmode >> ltxdoc.cfg
-
-rem The next lines produce full indexes and change logs
-rem you may not want those:
-
-rem echo \AtBeginDocument{\RecordChanges} >> ltxdoc.cfg
-rem echo \AtEndDocument{\PrintChanges} >> ltxdoc.cfg
-echo \AtBeginDocument{\CodelineIndex\EnableCrossrefs} >> ltxdoc.cfg
-echo \AtEndDocument{\PrintIndex} >> ltxdoc.cfg
-echo \AtEndDocument{\addcontentsline{toc}{section}{Index}} >> ltxdoc.cfg
-
-rem If you do not want any code listings, just documentation, then instead
-rem of the lines above, uncomment the following:
-
-rem echo \AtBeginDocument{\OnlyDescription} >> ltxdoc.cfg
-
-rem ---------- latex the documentation using `ltxdoc.cfg': --------------
-
-echo 1st latex youngtab.dtx
-latex youngtab.dtx
-
-echo 2nd latex youngtab.dtx
-latex youngtab.dtx
-
-echo If you don't have Makeindex, exit now!
-echo makeindx -s gind.ist youngtab.idx
-makeindx -s gind.ist youngtab.idx
-rem or: echo makeidx -s gind.ist youngtab.idx
-rem or: makeidx -s gind.ist youngtab.idx
-
-echo 3rd latex youngtab.dtx
-latex youngtab.dtx
-
-echo +++++++++++++ all done! ++++++++++++
-
diff --git a/macros/latex/contrib/youngtab/youngtab.dtx b/macros/latex/contrib/youngtab/youngtab.dtx
deleted file mode 100644
index 8db18c88c6..0000000000
--- a/macros/latex/contrib/youngtab/youngtab.dtx
+++ /dev/null
@@ -1,842 +0,0 @@
-% \iffalse
-%% File: youngtab.dtx
-%% Copyright (C) 1996,98,99 Volker B"orchers and Stefan Gieseke,
-%% This program can be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License Distributed from CTAN
-%% archives in directory macros/latex/base/lppl.txt; either
-%% version 1 of the License, or any later version.
-%
-%<package>\NeedsTeXFormat{LaTeX2e}
-%<package>\ProvidesPackage{youngtab}
-%<package>[1999/05/19 v1.1; Macros for Young-Tableaux]
-%
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage[enableskew]{youngtab}
-\GetFileInfo{youngtab.sty}
-\begin{document}
-\title{The \textsf{youngtab} package\thanks{This file has version number
- \fileversion, dated \filedate.}}
-\author{Volker B\"orchers\thanks{email: boercher@physik.uni-bremen.de}
- \\Stefan Gieseke\\
- Universit\"at Bremen}
-\date{\filedate}
- \maketitle
- \DocInput{youngtab.dtx}
-\end{document}
-%</driver>
-% \fi
-%\iffalse
-%
-%% Package `youngtab' to use with TeX, LaTeX209 or LaTeX2e
-%% (You will need LaTeX2e to extract the documentation and a STY-file
-%% without comments from the .dtx file)
-%
-% Version: Date: Changes:
-%
-% 1.0 1996/03/25 First working version. (After much
-% frustrating tries to teach TeX accept
-% indefinite count of arguments - lerning TeX
-% in the meanwhile)
-% 1.1 1998/05/05 Added possibility to typeset ``skew''
-% tableaux (package option `enableskew')
-% suggested by Andrew Mathas
-% <mathas@maths.usyd.edu.au>. Added AUC-TeX
-% support for the youngtab macros (youngtab.el).
-% 1999/05/19 Only change: added licence informations
-%\fi
-%
-%
-% \DoNotIndex{\advance,\box,\CurrentOption,\DeclareOption,\def}
-% \DoNotIndex{\else,\fi,\hbox,\hfil,\hrule,\hspace,\ht,\ifcat}
-% \DoNotIndex{\ifmmode,\ifnum,\ifvoid,\loop,\MessageBreak,\newcount}
-% \DoNotIndex{\newdimen,\newif,\newskip,\offinterlineskip}
-% \DoNotIndex{\PackageWarning,\ProcessOptions,\relax,\repeat,\setbox}
-% \DoNotIndex{\space,\typeout,\unskip,\vbox,\vcenter,\vrule,\vspace}
-%
-% \CheckSum{322}
-%
-% \newcommand{\yt}{Young-Tableau}
-% \newcommand{\yts}{Young-Tableaux}
-% \newcommand{\newfeature}[1]{\leavevmode%
-% \marginpar{\small\sffamily\begin{center}
-% New feature\\#1\end{center}}}
-%
-% \begin{abstract}
-% This package provides two macros for typesetting
-% \yts\ with \TeX\ or \LaTeX. We use 2 macros, the first for empty
-% boxes (|\yng|), and the second for labelled boxes (|\young|). The
-% syntax of the macros is simple to avoid spelling-mistakes.
-% \end{abstract}
-%
-% \tableofcontents
-%
-% \section{Introduction}
-% The \yt-formalism is a strong algrebraic tool in group theory. Of course
-% we will deal here only with the problems of \emph{typesetting} \yts.
-% They are mathematical objects, so they usually occur in mathematical
-% environments. On the surface \yts\ consist of boxes like this:
-% \yng(1) --- or optionally labelled (usually with letters): \young(a).
-%
-% There is already one \LaTeX-package for typesetting \yts, the
-% \texttt{young.sty} by J\"org Knappen (based on |young.tex| by P. E. S.
-% Wormer). It provides a \texttt{Young}-environment with a syntax
-% similar to the \texttt{tabular}-environment.
-%
-% An Example for the usage of \texttt{Young}:
-%
-% \begin{minipage}[t]{5cm}
-% \begin{verbatim}
-% \begin{Young}
-% $a$&&\cr
-% &\cr
-% \cr
-% \end{Young}
-% \end{verbatim}
-% \end{minipage}
-% \parbox[t]{4cm}{ \young(a\hfil\hfil,\hfil\hfil,\hfil) }
-%
-% \iffalse
-% COMMENT: Maybe that's not the correct way to pretend the use of the
-% |Young|-environment, but otherwise we had to use |young.sty| only
-% for this tableau!
-% \fi
-%
-% This way of implementing \yts\ has one big advantage: It can deal with
-% an indefinite number of rows and columns (of course this is needed!).
-% A second argument for using a \texttt{tabular}-like environment might
-% be it's simple encoding.
-%
-% Nevertheless we wanted a simpler user-interface, for the use of |&| and
-% |\cr| is usually a very good source of typing mistakes (e.g. you
-% have to type \emph{three} |&|'s to get \emph{four} boxes in one
-% row). In addition the \TeX-code for mathematical relations with more
-% than two or three \yts\ becomes unreadable.
-%
-% The cure would be of course a \emph{macro} with a compact, intuitive
-% syntax. But there is the above mentioned problem: \TeX\ is not made to
-% handle an indefinite number of arguments. For \yts\ composed of empty
-% boxes we would like to have a macro with one argument for each row
-% (counting the number of boxes per row) for example this way:
-% |\thisdoesnotwork{5}{3}{1}|\dots. For \yts\ composed of labelled
-% boxes the problem is even worse since we have one letter
-% \emph{per box}!
-%
-% So we had to hide the fact of having an indefinite number of arguments
-% from \TeX. The macros in this package have --- as \TeX\ sees it ---
-% only one argument; this is parsed for the necessary information
-% by the macros themselves. Whereas, for the user, the number of rows and
-% number of boxes per row are plain to see.
-%
-% \section{Using the youngtab package}
-% Invoke the |youngtab| package by
-% requesting it in the preamble:\footnote{Of course this does not work
-% if you use the |youngtab|-package with \TeX\ instead of \LaTeX. For
-% compatibility-questions see section \ref{compat}}
-%
-% |\usepackage[...]{youngtab}|
-%
-% The package has four options (increasing)\DescribeMacro{Options}.
-% The \emph{first option}, |vcentermath|\DescribeMacro{vcentermath},
-% \emph{turns on} the vertical centering of the tableaux in math mode. The
-% \emph{second option}, |noautoscale|\DescribeMacro{noautoscale}, \emph{turns
-% off} the automatic scaling of the boxes according to the actual font.
-% The \emph{third one}, |stdtext|\DescribeMacro{stdtext}, switches
-% to text mode in the inside of labelled boxes. Choosing one of this
-% options does not mean that you have, for example, to stick to
-% |noautoscale| till the end of your days. You may change this
-% settings as often as you like.\\
-% The \emph{fourth option},
-% |enableskew|\DescribeMacro{enableskew}\newfeature{1998/05/05}
-% enables typesetting of skew \yts\ (tableaux that are not
-% left-aligned). This option is different from the other in the way
-% that there is no command to enable this feature after the package is
-% loaded.
-%
-% \yts\ usually have more than one row, so the vertical alignment is a
-% problem\DescribeMacro{vcentermath}. You can turn on vertical centering
-% (only) in mathmode either by choosing the option |vcentermath| with
-% |\usepackage| or later with the command
-% |\Yvcentermath|\meta{num}. Say |\Yvcentermath1| if you want
-% vertical centering and |\Yvcentermath0| to switch it off. Without
-% vcentering the tableaux are standing on the baseline.
-%
-% Since the boxes are quadratic (if you do not want want this,
-% complain!), there is only one dimension to determine: the length and
-% height of the boxes. Usually the macros determine this for
-% themselves,\footnote{So that a \yt\ e.g.\ \texttt{\bslash young(ab)}
-% \young(ab) appears smaller in a footnote than in normal text!} but
-% you can change this behavior by calling the macro
-% |\Yautoscale|\meta{num}\DescribeMacro{\Yautoscale}. Call it with
-% an argument of |1| if you want autoscaling after this, or with
-% the argument |0| if you want to adjust the box dimensions
-% yourself.
-%
-% \DescribeMacro{\Yboxdim}If you switch off autoscaling and
-% want to change the box dimensions, you have to call the macro
-% |\Yboxdim|\meta{dim} with a usual \TeX--dimension.
-% The argument has to be appended to the macro: |\Yboxdim13pt|. This
-% dimension is the \emph{total} height and width of the boxes --
-% \emph{including the lines.} (For small linethicknesses this
-% makes of course only a small difference.) Note that the use of |\Yboxdim|
-% \emph{implies} |noautoscale|! So to switch from |autoscale| to
-% |noautoscale| one call to |\Yboxdim| is sufficient.
-%
-% There is only one more parameter which determines the appearance of
-% the \yt\DescribeMacro{\Ylinethick}: the lines' thickness. This is
-% set by |\Ylinethick|\meta{dim}. (The default is $0.3pt$).
-%
-% You may add space between a tableau and surrounding stuff by
-% invoking the macro
-% |\Yinterspace|\meta{skip}\DescribeMacro{\Yinterspace}. The advantage
-% of using a \emph{skip} is that this helps \TeX\ to avoid |Over|-
-% or |Underful \hbox|es. The default value is |0ex plus 0.3ex|\,.
-% (Better take |ex| or |em| for the tableaux are scaleable.)
-%
-% \subsection{Empty boxes: \texttt{\protect\bslash yng}}
-% \DescribeMacro\yng
-% The most used variant of \yts\ are those consisting of empty boxes.
-% For the tableau \yng(2,1) you have to type
-% |\yng(2,1)|. If you want it to appear smaller, change the
-% fontsize: |{\tiny\yng(2,1)}| gives \Yautoscale1
-% {\tiny\yng(2,1)}; but remember, this only works if |autoscale|
-% is turned on (default). (If you are in |noautoscale|-mode, restore
-% autoscaling with |\Yautoscale1|.)
-%
-% Some notes on the usage of |\yng| and |\young| in math or
-% text mode\DescribeMacro{math or text?}: You can generate \yts\ in both
-% modes, but differences arise from \emph{vertical centering}.
-% This only works in math mode (if you have chosen it with
-% |\Yvcentermath1|) or |usepackage| option |vcentermath|.
-%
-% The difference is to be seen here:
-% {\tiny\Yvcentermath1 $\yng(1,1)\oplus\yng(1)=$
-% \yng(2,1)}$\oplus$ \dots, which has been generated by
-% \begin{verbatim}
-% {\tiny\Yvcentermath1 $\yng(1,1)\oplus\yng(1)=$
-% \yng(2,1)}$\oplus$ \dots
-% \end{verbatim}
-%
-% Here the tableau in math are centered with respect to the axis of
-% the formula while the one in text mode isn't. Note the
-% dimensions of the tableau on the one hand and the |\oplus| on the
-% other: The dimensions of the \yts\ are determined by the actual
-% text's fontsize (while autoscaling!)\DescribeMacro{sizing}. Try to
-% understand what happens in the following example. --- Do you
-% understand the sizes of the math symbols? (Compare to the example
-% above and have look up the \texttt{.log} file. Don't let \TeX\ fool
-% you by messages about invalid |\normalsize|!)
-% \begin{verbatim}
-% {\tiny\begin{equation}
-% \Yvcentermath1
-% \yng(1,1)\oplus\yng(1)= \Yboxdim{12pt}
-% \yng(2,1)\normalsize\oplus\dots
-% \end{equation}}
-% \end{verbatim}
-% {\tiny\begin{equation}
-% \Yvcentermath1 \yng(1,1)\oplus\yng(1)=
-% \Yboxdim{12pt}\yng(2,1)\normalsize\oplus\dots
-% \end{equation}}
-% \Yautoscale1
-%
-% \subsection{Labelled boxes: \texttt{\protect\bslash young}}
-% \DescribeMacro\young
-% While the sizing of the boxes and the behavior in math/text mode are
-% exactly the same as with |\yng|, we have of course a different syntax:\\
-% |{\scriptsize\young(aa,b)}| results in
-% {\scriptsize\young(aa,b)}. Each line of the tableau is represented
-% by a row of single letters (exactly: ``tokens''). The lines
-% are separated by commas.
-%
-% As you see from the example above the letters |a| and |b| come out in
-% math italics. This does \emph{not} depend on the \yt\ appearing in
-% math or text surround. \emph{The label within a tableau-box is math -- no
-% matter if the tableau is used in text or math mode!} But this is
-% only the default setting. Use either the option |stdtext| to the
-% |\usepackage| command to switch to roman letters or use the macro
-% |\Ystdtext| with an argument of |1|: |\Ystdtext1|. To switch to math
-% again use |\Ystdtext0|.
-%
-% What to do if you don't want to use single letters, but symbols or
-% perhaps some white boxes? There are no limits but it's a bit
-% complicated. The |\young| algorithm for parsing his argument depends
-% strongly on that every label of \emph{one} box,
-% \begin{enumerate}
-% \item consists of only \emph{one token}. Assume first you had
-% \emph{not} said |\Ystdtext1|. To get a single roman `a' then you
-% must not say |\mbox{a}|, because this makes \emph{four} tokens (1st
-% is |\mbox|, 2nd is |{|, 3rd is |a|, 4th is |}|). The cure is
-% simply making one token out of |\mbox{a}| by saying
-% |\newcommand{\rma}{\mbox{a}}| and everything is OK:\footnote{Note
-% that the space after \texttt{\bslash rma} belongs to the token itself.}
-% \newcommand{\rma}{\mbox{a}} |\young(\rma lright\bullet)| = \young(\rma
-% lright\bullet)\\
-% After |\Ystdtext1| it is an error to say |$\bullet$|, since the
-% two math delimiters are single tokens. Do it as described above:
-% \Ystdtext1\\ |\newcommand{\ybullet}{$\bullet$}|\\ and
-% everything is OK: \newcommand{\ybullet}{$\bullet$}
-% |\young(\ybullet works)| = \young(\ybullet works)\,.\Ystdtext0\\
-% To use a symbol or special letter in both modes (|\Ystdtext 0 or 1|)
-% put it in a box (here with an extra tuning):\\
-% |\renewcommand{\ybullet}{\raise1.5pt \hbox{$\bullet$}}|
-% \item Some characters and macros are not allowed: commas (guess why)
-% and the other punctuation marks, spaces, the macro |\space| and also
-% skips like |\,| and |\:|.\footnote{Write to us if you find more.} If
-% you want to have single empty boxes use (\TeX\ primitive) |\hfil|
-% (For understanding this limitations see also |\y@lastargtest| and
-% |\y@nelettertest| in macro section).
-% \end{enumerate}
-%
-%
-% \subsubsection{Skew \yts\ with \texttt{\protect\bslash young}}
-% \newfeature{1998/05/05}
-% As far as described above, the rows of a \yt\ are left-aligned. Since
-% some authors also assigned a meaning to \emph{``skew''} tableaux, this
-% package also supports such along with |\young|. If you want to typeset
-% skew tableaux, you have to enable this via the package option
-% |enableskew|\DescribeMacro{enableskew}. The default behavior of this
-% package is to \emph{dis\/}able skew boxes in order to save \TeX's
-% time, however, it's save to include this option even if you do not use
-% it.
-%
-% Here is an example:
-% |\young(abcd,:bc,::c)|: \raisebox{-1.9\baselineskip}{\young(abcd,:bc,::c)}
-%
-% As you see, the Option |enableskew| makes the colon a special
-% character (only inside the argument of |\young|). \footnote{If you
-% want a colon to appear as it is (do you??), you have to do the same
-% trick as above with an unpleasant extra: define a macro for the
-% colon using the \TeX-primitive \texttt{\bslash char} like this:
-% \texttt{\bslash newcommand{\bslash mycolon}{\bslash char58}}.} In
-% fact all other than the leading colons in a row will simply be
-% ignored, while the first will move the row to the right.
-%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \Yboxdim.4ex
-% \raisebox{-1pt}{\young(:\hfil,\hfil,\hfil,\hfil,\hfil,:\hfil)}
-% This is a\,
-% \young(\hfil,\hfil,\hfil,\hfil,\hfil\hfil\hfil)
-% \young(\hfil,\hfil,\hfil,\hfil,\hfil)
-% \young(\hfil\hfil\hfil,:\hfil,:\hfil,:\hfil,:\hfil)
-% \young(\hfil\hfil\hfil,:\hfil,:\hfil,:\hfil,:\hfil)
-% \young(\hfil,\hfil,\hfil,\hfil,\hfil\hfil\hfil)
-% \young(\hfil\hfil\hfil,\hfil,\hfil\hfil,\hfil,\hfil\hfil\hfil)
-% \hspace{.7ex}
-% \young(\hfil\hfil\hfil,:\hfil,:\hfil,:\hfil,:\hfil)
-% \young(\hfil\hfil\hfil,\hfil,\hfil\hfil,\hfil,\hfil\hfil\hfil)
-% \young(:\hfil\hfil\hfil,\hfil,:\hfil\hfil,:::\hfil,\hfil\hfil\hfil)
-% \young(\hfil\hfil\hfil,:\hfil,:\hfil,:\hfil,:\hfil)
-% of skew tableaux.
-% \raisebox{-1pt}{\young(\hfil,:\hfil,:\hfil,:\hfil,:\hfil,\hfil)}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \Yautoscale1
-%
-%
-% \subsection{The \texttt{youngtab} package and \TeX}\label{compat}
-% \DescribeMacro{Compatibility}Because we do not use \PlainTeX, the
-% compatibility of this package and \TeX\ is not sufficiently tested.
-% However there are some changes necessary in |youngtab.sty| (see file
-% \texttt{youngtab.tex}, part of the distribution):
-% \begin{itemize}
-% \item The macros themselves only use two \LaTeX-commands,
-% |\vspace{|\meta{dim}|}| and |\hspace{|\meta{dim}|}|. One has to
-% replace them with `|\vskip |\meta{dim}' resp.\ `|\hskip|
-% \meta{dim}'\,. (The braces also have to get removed) The
-% \LaTeX-counterparts may be better but no problems should arise
-% from this replacement (we found none).
-% \item One has to remove all lines containing \LaTeXe-commands in the
-% preamble of the |.sty| file, e.g.\ comment out every line that
-% contains the following commands: |\DeclareOption|,
-% |\ProcessOptions|, |\NeedsTeXFormat| and |\ProvidesPackage|.
-% \item Since \TeX-input files must not contain a |@|,
-% |\catcode`\@11\relax| has to be added to the begin of the |.sty| file to
-% make |@| a |letter| and |\catcode`\@12\relax| at the end right
-% before the |\endinput|, to make it |other| again afterwards.
-% \item \textbf{Skew:}\hspace{1em} \TeX\ knows nothing about
-% style-options, we have to find a way to enable skew
-% \yts. (|enableskew| is the only package option that can \emph{not}
-% be accessed by a macro \emph{after loading} the package since
-% almost all according actions will be done at loading time).\\
-% Therefore, we will check if a macro |\enableskew| is defined at loading
-% time:\\[.3ex]
-% | \expandafter\ifx\csname enableskew\endcsname\relax|\\
-% | \y@enable@skewfalse \else \y@enable@skewtrue\fi|\\[.3ex]
-% (excerpt from |youngtab.tex|) Then this will enable printing of
-% skew tableaux: \hfil|\def\enableskew{1} \input youngtab|
-% \item The autoscaling doesn't work as nice as with \LaTeX\ since if
-% you lower the text's fontsize (which determines the boxsize), you
-% have to lower also the math fontsize. Otherwise the letters in
-% labelled boxes (math!) are too big for the box.
-% \end{itemize}
-%
-% \subsection{To do}
-% We have a \textbf{wish list}, things we think the package should be
-% capable of:
-% \begin{itemize}
-% \item A vertical alignment, in the way that the \emph{top}line of the
-% \yts\ and the mathsymbols are on the same height (perhaps using
-% |\vtop|?).
-% \item The macros should take notice of math fontsize changes e.g.\ with
-% \texttt{\bslash dis\-play\-style}. (This puts a focus on the autoscale
-% mechanism -- see |\y@setdim| in the macro section.)
-% \end{itemize}
-% \textbf{If You} have any problems, suggestions, critical remarks -- or
-% whatever according this package write to Volker B\"orchers
-% (email-adress see title).\\
-% {\tiny\yng(61)}
-%
-% \StopEventually{}
-%
-% \section{The Macros}
-%
-% \begin{macrocode}
-%<*package>
-% \end{macrocode}
-%
-% \begin{macro}{\Yautoscale}
-% \begin{macro}{\ify@autoscale}
-% If autoscaling is active, the size of the boxes (|\y@boxdim|) is
-% determined by the package itselve. The default setting is to
-% allow autoscale. |\Yautoscale|\meta{num} serves as the user
-% interface.\footnote{I know - it's against the \LaTeXe naming
-% conventions, but it is nicer\dots} We made an option to |\usepackage|
-% out of that (see below).
-% \begin{macrocode}
-\newif\ify@autoscale \y@autoscaletrue \def\Yautoscale#1{\ifnum #1=0
- \y@autoscalefalse\else\y@autoscaletrue\fi}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\Yboxdim}
-% \begin{macro}{\y@b@xdim}
-% \begin{macro}{\y@boxdim}
-% The parameters determining the size of the single boxes and the macro
-% to set them. |\Yboxdim|\meta{dim} sets |\y@boxdim| (only used, when
-% autoscaling is turned off) and sets |y@autoscale| to
-% |false|. |\y@boxdim| is the \emph{total} size of the box (including
-% the delimiting lines) while |\y@b@xdim| (to be set in |\y@setdim|) is
-% the height and width of the inner of the box.
-% \begin{macrocode}
-\newdimen\y@b@xdim
-\newdimen\y@boxdim \y@boxdim=13pt
-\def\Yboxdim#1{\y@autoscalefalse\y@boxdim=#1}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\Ylinethick}
-% \begin{macro}{\y@linethick}
-% The line thickness and |\Ylinethick|\meta{dim} as user interface to it.
-% \begin{macrocode}
-\newdimen\y@linethick \y@linethick=.3pt
-\def\Ylinethick#1{\y@linethick=#1}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\Yinterspace}
-% \begin{macro}{\y@interspace}
-% To give the \yts\ extra-space (before and after) |\y@interspace| can
-% be set to more than |0pt| by calling |\Yinterspace|. (See |\yng| and
-% |\young|.) Note that this is a \emph{skip} and no \emph{dimemsion}.
-% \begin{macrocode}
-\newskip\y@interspace \y@interspace=0ex plus 0.3ex
-\def\Yinterspace#1{\y@interspace=#1}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\Yvcentermath}
-% \begin{macro}{\ify@vcenter}
-% The switch to turn vertical centering in math on or off. The default
-% is |\y@vcenterfalse|. The second option to |\usepackage|.
-% \begin{macrocode}
-\newif\ify@vcenter \y@vcenterfalse
-\def\Yvcentermath#1{\ifnum #1=0 \y@vcenterfalse\else\y@vcentertrue\fi}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\Ystdtext}
-% \begin{macro}{\ify@stdtext}
-% Normally the inside of the boxes (|\young|) is in math mode. This code
-% allows to switch to text mode.
-% \begin{macrocode}
-\newif\ify@stdtext \y@stdtextfalse
-\def\Ystdtext#1{\ifnum #1=0 \y@stdtextfalse\else\y@stdtexttrue\fi}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\ify@enable@skew}
-% In contrast to the other this \texttt{if} may be set only via the
-% package option |enableskew|.
-% \begin{macrocode}
-\newif\ify@enable@skew \y@enable@skewfalse
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{noautoscale}
-% \begin{macro}{vcentermath}
-% \begin{macro}{stdtext}
-% \begin{macro}{enableskew}
-% Declaration and processing of the options for use with
-% \LaTeXe. (For \TeX-users: Comment the following 8 lines out).
-% \begin{macrocode}
-\DeclareOption{noautoscale}{\y@autoscalefalse}
-\DeclareOption{vcentermath}{\y@vcentertrue}
-\DeclareOption{stdtext}{\y@vcentertrue}
-\DeclareOption{enableskew}{\y@enable@skewtrue}
-\DeclareOption*{\PackageWarning{youngtab}{%
- Unknown option `\CurrentOption' (Known:\MessageBreak
- `vcentermath', `noautoscale', `stdtext', `enableskew'.)}}
-\ProcessOptions\relax
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\y@vr}
-% A single vertical line to build the boxes. The reason for the depht of
-% the line should be clear. (The values for the depth maybe something
-% you want to tune)
-% \begin{macrocode}
-\def\y@vr{\vrule height0.8\y@b@xdim width\y@linethick depth 0.2\y@b@xdim}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\y@emptybox}
-% This macro does less than its name pretend: It only makes one vertical
-% line followed by a empty box (width: |\y@boxdim| -- 2|\y@linethick|).
-% \begin{macrocode}
-\def\y@emptybox{\y@vr\hbox to \y@b@xdim{\hfil}}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\y@abcbox}
-% \begin{macro}{\y@mathabcbox}
-% If |enableskew| is not choosen (the package options have been
-% parsed now), a |\y@abcbox| or a |\y@mathabcbox| is the simple
-% analogue to |\y@emptybox| but it has a \emph{text-font} letter
-% centered in it.\\
-% For |\y@mathabcbox| the inside is math. We rather want an
-% easier access to math italics and symbols than to normal text; so we
-% usually use |\y@mathabcbox| instead of |\y@abcbox|.
-%
-% Skew \yts\ can only be used with |\young|. Then a colon is used to
-% \emph{shift} the row to the \emph{right} -- instead of ``inserting
-% a box without border'' -- so the colon boxes must be ignored.
-% \begin{macrocode}
-\ify@enable@skew
- \def\y@abcbox#1{\if :#1\else
- \y@vr\hbox to \y@b@xdim{\hfil#1\hfil}\fi}
- \def\y@mathabcbox#1{\if :#1\else
- \y@vr\hbox to \y@b@xdim{\hfil$#1$\hfil}\fi}
-\else
- \def\y@abcbox#1{\y@vr\hbox to \y@b@xdim{\hfil#1\hfil}}
- \def\y@mathabcbox#1{\y@vr\hbox to \y@b@xdim{\hfil$#1$\hfil}}
-\fi
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\y@setdim}
-% This macro is called at the beginning of the macros |\yng| and
-% |\young|. If |autoscale| is deactivated the box height and width is
-% |\y@boxdim| - 2|\y@linethick|. If not we save a box for temporary
-% usage, use the height of it to find a good size of the box, fill the
-% boxregister with a empty box, and clear the box again by using it.
-%
-% That's not elegant but I didn't know better\dots How can I determine
-% the height of the font in an other way? (I tried it with the \TeX-measure
-% |ex| -- but this did not seem to work in any case.) Or -- if I have
-% to use setbox -- which boxregister should I use? Is the |\ifvoid| test
-% obsolete? (First I used |\box0| -- till I found me competing with
-% \AmSTeX\ for this box.)
-% \begin{macrocode}
-\def\y@setdim{%
- \ify@autoscale%
- \ifvoid1\else\typeout{Package youngtab: box1 not free! Expect an
- error!}\fi%
- \setbox1=\hbox{A}\y@b@xdim=1.6\ht1 \setbox1=\hbox{}\box1%
- \else\y@b@xdim=\y@boxdim \advance\y@b@xdim by -2\y@linethick
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\y@counter}
-% A counter for loops.
-% \begin{macrocode}
-\newcount\y@counter
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\y@lastargtest}
-% This macro is a hack to get \TeX\ to accept a indefinite number of
-% arguments (here: the number of \emph{lines} separated by commas). It
-% does nothing with its arguments but to see if the second is a space,
-% and, if it is to set |\y@islastargtrue|.\footnote{The
-% \texttt{islastarg} conditions are also used if the end of one line
-% of labelled boxes is reached.}
-% \begin{macrocode}
-\newif\ify@islastarg
-\def\y@lastargtest#1,#2 {\if\space #2 \y@islastargtrue
- \else\y@islastargfalse\fi}
-% \end{macrocode}
-% How does it work? An Example:
-%
-% \verb*+\y@lastargtest first,second +\\
-% Here |#1| is |first| and |#2| is |second|. The |\if| construction
-% tests if the (expanded) \emph{first} token of |#2| and |\space|
-% (here: |s|) are equal. -- They are not. In the next example the
-% condition is |true|:
-%
-% \verb*+\y@lastargtest first, +\\
-% Here |#1| is again |first| but |\y@lastargtest| catches the blank
-% after the comma to be |#2|. The |\if| condition now is true and
-% |\y@islastargtrue| is set. Remember: the blank is essential!
-% \end{macro}
-%
-% \begin{macro}{\y@emptyboxes}
-% This macro draws |#1| (this is a number) empty boxes (|\y@emptybox|)
-% -- without a top or bottom line:
-%
-% |:\y@emptyboxes3:| \hspace{0.5em} is
-% :$\mid$\hspace{0.8em}$\mid$\hspace{0.8em}$\mid$\hspace{0.8em}:
-% \begin{macrocode}
-\def\y@emptyboxes#1{\y@counter=#1\loop\ifnum\y@counter>0
- \advance\y@counter by -1 \y@emptybox\repeat}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\y@nelineemptyboxes}
-% This calls |\y@emptyboxes| and adds the top and bottom lines (I think
-% this is faster than draw single, complete boxes) and a right closing
-% vertical line. Because of the |\vspace| command the top line of the
-% eventually following next box-row will be drawn over the bottom line of
-% this box-row.
-% \begin{macrocode}
-\def\y@nelineemptyboxes#1{%
- \vbox{%
- \hrule height\y@linethick%
- \hbox{\y@emptyboxes{#1}\y@vr}
- \hrule height\y@linethick}\vspace{-\y@linethick}}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\yng}
-% The user-macro for empty \yts. As mentioned above it has only one
-% argument, enclosed in brackets. It first calls |\y@setdim| to
-% determine the size of the boxes and opens a |\vcenter| if in math mode
-% and |vcentermath| is set. Otherwise only a (then obsolet) |{| is
-% opened. |\y@lastargtest| determines if the tableau should have only
-% one line, setting |\y@islastargtrue| or -|false|. If there is only one
-% line, |\yng| does the whole job in calling
-% |\y@nelineemptyboxes| once. Otherwise it calls |\y@ungempty| to do the
-% real thing. Note the spacing before and after the tableau using
-% |\hspace|.
-% \begin{macrocode}
-\def\yng(#1){%
- \y@setdim%
- \hspace{\y@interspace}%
- \ifmmode\ify@vcenter\vcenter\fi\fi{%
- \y@lastargtest#1,
- \vbox{\offinterlineskip
- \ify@islastarg
- \y@nelineemptyboxes{#1}
- \else
- \y@ungempty(#1)
- \fi}}\hspace{\y@interspace}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\y@ungempty}
-% It is called with |\y@ungempty(#1)| from |\yng|. Now the parsing of
-% the arguments starts! As we know from |\y@lastargtest| in
-% |\yng|, there really are two arguments left. Explicitely: Let the
-% the initial command (given by the user) be |\yng(3,2,1)|; then
-% |\yng| calls |\y@ungempty(3,2,1)|. But |\y@ungempty| sees two
-% arguments: |#1| is |3| and |#2| is |2,1|! (Note the importance of the
-% brackets). |\y@ungempty| then processes the first argument immediately,
-% calling |\y@nelineemptyboxes|. (The braces protect numbers with more
-% than one digit.)
-%
-% The next step is to check if |#2| is the last line. If it is, it calls
-% \texttt{\bslash y@ne\-line\-empty\-boxes} again. Otherwise it calls
-% \emph{recursively itselve}, till all lines are processed.
-% \begin{macrocode}
-\def\y@ungempty(#1,#2){%
- \y@nelineemptyboxes{#1}
- \y@lastargtest#2,
- \ify@islastarg
- \y@nelineemptyboxes{#2}
- \else
- \y@ungempty(#2)
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\y@nelettertest}
-% The first macro especially for labelled boxes, that is, for
-% |\young|. Like \texttt{\bslash y@last\-arg\-test} it is used for
-% handling a indefinite number of arguments. (As mentioned before
-% \yts\ with labelled boxes have problem double.) |\y@nelettertest|
-% determines if the last box of the line has been reached.
-%
-% Again we will examine it's working method by examples:
-%
-% |\y@nelettertest ab.|\\
-% The period after the argument |ab| (and in the definition of
-% |\y@nelettertest|) is merely a mark for the end of the
-% arguments. (Otherwise \TeX\ would complain about missing arguments.)
-% Here |a| is |#1| and |#2| is |b| -- the |\if|-condition is |false|
-% and so |\y@islastargfalse| is set. Now a little miracle:
-%
-% |\y@nelettertest a.|\\
-% In the opposite to the case of |\y@lastargtest| it's not
-% understandable for me, why |#2| now is a space -- but it is! (Do
-% \emph{you} know the reason why?)
-% The rest is known from |\y@lastargtest|.
-% \begin{macrocode}
-\def\y@nelettertest#1#2. {\if\space #2 \y@islastargtrue
- \else\y@islastargfalse\fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\y@abcboxes}
-% Again we use a period to mark the end of arguments. Compare to
-% |\y@emptyboxes| -- Now it is more strenuous! The |\y@nelettertest|
-% macro makes sure that |\y@abcboxes| is called with at least two boxes
-% to process. If there are only two boxes |\y@abcboxes| calls
-% |\y@abcbox| two times, otherwise it calls itselve recursively again.
-% (The argument-splitting works as in |\y@ungempty|.)
-% \begin{macrocode}
-\def\y@abcboxes#1#2.{%
- \ify@stdtext\y@abcbox#1\else\y@mathabcbox#1\fi%
- \y@nelettertest #2.
-% \end{macrocode}
-% There must be a space or (equivalently) a carriage return after this
-% line!
-% \begin{macrocode}
- \ify@islastarg\unskip%
- \ify@stdtext\y@abcbox{#2}\else\y@mathabcbox{#2}\fi%
- \else\y@abcboxes#2.\fi}
-% \end{macrocode}
-% The |\unskip| is needed for the case that |#2| is only one token. Then
-% a space appears between two boxes. (I do not understand really what
-% happens -- see |\y@nelettertest|.) The |\unskip| resolves this problem.
-% \end{macro}
-%
-% \begin{macro}{\ify@enable@skew}
-% \begin{macro}{\y@full@b@xdim}
-% \begin{macro}{\y@m@veright@cnt}
-% Most of the skew boxes stuff can be found here along the definition
-% of \texttt{\bslash y@ne\-line\-abc\-boxes}. We need a further dimension,
-% for the effective lenght of one box in a row, |\y@full@b@xdim| =
-% |\y@b@xdim| + |1\y@linethick| and one counter for the number of
-% boxes to be left out on the left side of the tableau (determined by
-% the number of colons at the beginning of a row), |\y@m@veright@cnt|.
-% \begin{macrocode}
-\ify@enable@skew
- \newdimen\y@full@b@xdim
- \newcount\y@m@veright@cnt
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\y@get@m@veright@cnt}
-% To find out the number of leading colons in a row we have the macro
-% \texttt{\bslash y@get@\-m@ve\-right@\-cnt}. Here we use exactly the same
-% trick as in |\y@nelettertest|.
-% \begin{macrocode}
- \def\y@get@m@veright@cnt#1#2.{%
- \if :#1 \advance\y@m@veright@cnt by 1\y@get@m@veright@cnt#2.\fi}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\y@setdim}
-% Since we now have another dimension that depends on |\y@b@xdim|,
-% the dimension of the boxes, we have to extend |\y@setdim| to
-% calculate |\y@full@b@xdim| too. (The dummy |\y@setdim@| is used to
-% avoid a recursion.)
-% \begin{macrocode}
- \let\y@setdim@=\y@setdim
- \def\y@setdim{%
- \y@setdim@ \y@full@b@xdim=\y@b@xdim
- \advance\y@full@b@xdim by 1\y@linethick}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\y@m@veright@ifskew}
-% Now we put it all into the following macro that computes the offset
-% and moves the tableau to the right if necessary. If skew \yts\ are
-% not enabled, |\y@m@veright@ifskew| will be a null-command (but
-% catches the argument).
-% \begin{macrocode}
- \def\y@m@veright@ifskew#1{
- \y@m@veright@cnt=0 \y@get@m@veright@cnt#1.
- \moveright \y@m@veright@cnt\y@full@b@xdim}
-\else
- \def\y@m@veright@ifskew#1{}
-\fi
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\y@nelineabcboxes}
-% This is the counterpart of |\y@nelineemptyboxes|. The difference
-% is the treatment of the case of a row of only one box -- Then only
-% |\y@abcbox| is called and not |\y@abcboxes|. If this row must be
-% moved to the right, this is done by |\y@m@veright@ifskew|.
-% \begin{macrocode}
-\def\y@nelineabcboxes#1{%
- \y@nelettertest #1.
- \ify@islastarg
- \y@m@veright@ifskew{#1}
- \vbox{
- \hrule height\y@linethick%
- \hbox{\ify@stdtext\y@abcbox#1\else\y@mathabcbox#1\fi\y@vr}
- \hrule height\y@linethick}\vspace{-\y@linethick}
- \else
- \y@m@veright@ifskew{#1}
- \vbox{
- \hrule height\y@linethick%
- \hbox{\y@abcboxes #1.\y@vr}%
- \hrule height\y@linethick}\vspace{-\y@linethick}
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\young}
-% The user-macro for labelled \yts. It has one argument as |\yng|,
-% enclosed in brackets. Everything is identical as in the emptybox case
-% (sizing, vcentering, treatment of multiple rows, \dots).
-% \begin{macrocode}
-\def\young(#1){%
- \y@setdim%
- \hspace{\y@interspace}%
- \y@lastargtest#1,
- \ifmmode\ify@vcenter\vcenter\fi\fi{%
- \vbox{\offinterlineskip
- \ify@islastarg\y@nelineabcboxes{#1}%
- \else\y@ungabc(#1)%
- \fi}}\hspace{\y@interspace}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\y@ungabc}
-% Again nothing new -- see |\y@ungempty|
-% \begin{macrocode}
-\def\y@ungabc(#1,#2){%
- \y@nelineabcboxes{#1}%
- \y@lastargtest#2,
- \ify@islastarg\y@nelineabcboxes{#2}%
- \else\y@ungabc(#2)%
- \fi}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-%</package>
-% \end{macrocode}
-%
-% \Finale
-\endinput
diff --git a/macros/latex/contrib/youngtab/youngtab.el b/macros/latex/contrib/youngtab/youngtab.el
deleted file mode 100644
index 458049e8e2..0000000000
--- a/macros/latex/contrib/youngtab/youngtab.el
+++ /dev/null
@@ -1,42 +0,0 @@
-;;; youngtab.el - Support for the user macros of the youngtab package
-;; by Volker B"orchers, <boercher@physik.uni-bremen.de>
-;; This program can be redistributed and/or modified under the terms
-;; of the LaTeX Project Public License Distributed from CTAN
-;; archives in directory macros/latex/base/lppl.txt; either
-;; version 1 of the License, or any later version.
-
-;;-((and (not( = elisp favorite-language)) (concat "lucky" "it" "works" (!))))
-
-(TeX-add-style-hook "youngtab"
- (function
- (lambda ()
- (TeX-add-symbols
- '("Yboxdim" "Box Dimension")
- '("Ylinethick" "Line Thickness")
- '("Yinterspace" "Space between 2 Tableaux")
- '("Yvcentermath" TeX-arg-young-bool)
- '("Ystdtext" TeX-arg-young-bool)
- '("yng" (TeX-arg-young t))
- '("young" TeX-arg-young)
- ))))
-
-(defun TeX-arg-young (optional &optional isyng)
- "Insert macros young and yng.
-Ask for the rows of a tableau.
-Do not accept non-numbers for yng."
- (let ((num 0))
- (insert "(")
- (while (>= num 0)
- (setq num (1+ num))
- (setq row (read-input (concat (int-to-string num) ". Row: ")))
- (if (zerop (length row))
- (setq num -1)
- (if (and isyng (<= (string-to-int row) 0))
- (setq num (- num 1))
- (insert (if (> num 1) "," "") row)))))
- (insert ")"))
-
-(defun TeX-arg-young-bool (optional)
- "To handle the switches Yvcentermath and Ystdtext"
- (insert (if (y-or-n-p "true(y) or false(n)? ") "1" "0")))
-
diff --git a/macros/latex/contrib/youngtab/youngtab.ins b/macros/latex/contrib/youngtab/youngtab.ins
deleted file mode 100644
index a58ace3a9e..0000000000
--- a/macros/latex/contrib/youngtab/youngtab.ins
+++ /dev/null
@@ -1,36 +0,0 @@
-%%
-%% --------------- start of docstrip commands ------------------
-%%
-\def\batchfile{youngtab.ins}
-\input docstrip.tex
-\preamble
-
-Copyright (C) 1996,98,99 Volker B"orchers and Stefan Gieseke,
-This program can be redistributed and/or modified under the terms
-of the LaTeX Project Public License Distributed from CTAN
-archives in directory macros/latex/base/lppl.txt; either
-version 1 of the License, or any later version.
-
-\endpreamble
-\def\filedate{1999/05/19}
-\input docstrip
-\keepsilent
-
-\generateFile{youngtab.sty}{t}{\from{youngtab.dtx}{package}}
-
-\ifToplevel{
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move}
-\Msg{* \space\space youngtab.sty}
-\Msg{* into a directory searched by TeX:}
-\Msg{*}
-\Msg{* To produce the documentation run}
-\Msg{* \space\space youngtab.dtx}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{***********************************************************}
-}
-
-
-
diff --git a/macros/latex/contrib/youngtab/youngtab.pdf b/macros/latex/contrib/youngtab/youngtab.pdf
deleted file mode 100644
index b91f4ae4e9..0000000000
--- a/macros/latex/contrib/youngtab/youngtab.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/youngtab/youngtab.tex b/macros/latex/contrib/youngtab/youngtab.tex
deleted file mode 100644
index 895a7c3267..0000000000
--- a/macros/latex/contrib/youngtab/youngtab.tex
+++ /dev/null
@@ -1,146 +0,0 @@
-%%
-%% This is file `youngtab.tex',
-%% (manually) generated from `youngtab.sty'
-%% (For use with TeX)
-%%
-%% The original source files were:
-%%
-%% youngtab.dtx (with options: `package')
-%%
-%% Copyright (C) 1996,98,99 Volker B"orchers and Stefan Gieseke,
-%% This program can be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License Distributed from CTAN
-%% archives in directory macros/latex/base/lppl.txt; either
-%% version 1 of the License, or any later version.
-\catcode`\@11\relax
-\newif\ify@autoscale \y@autoscaletrue \def\Yautoscale#1{\ifnum #1=0
- \y@autoscalefalse\else\y@autoscaletrue\fi}
-\newdimen\y@b@xdim
-\newdimen\y@boxdim \y@boxdim=13pt
-\def\Yboxdim#1{\y@autoscalefalse\y@boxdim=#1}
-\newdimen\y@linethick \y@linethick=.3pt
-\def\Ylinethick#1{\y@linethick=#1}
-\newskip\y@interspace \y@interspace=0ex plus 0.3ex
-\def\Yinterspace#1{\y@interspace=#1}
-\newif\ify@vcenter \y@vcenterfalse
-\def\Yvcentermath#1{\ifnum #1=0 \y@vcenterfalse\else\y@vcentertrue\fi}
-\newif\ify@stdtext \y@stdtextfalse
-\def\Ystdtext#1{\ifnum #1=0 \y@stdtextfalse\else\y@stdtexttrue\fi}
-\newif\ify@enable@skew \y@enable@skewfalse
-%% To use skew tableaux, define a macro \enableskew
-%% right before loading this file: \def\enableskew{1}
-\expandafter\ifx\csname enableskew\endcsname\relax
- \y@enable@skewfalse \else \y@enable@skewtrue\fi
-%% \DeclareOption{noautoscale}{\y@autoscalefalse}
-%% \DeclareOption{vcentermath}{\y@vcentertrue}
-%% \DeclareOption{stdtext}{\y@vcentertrue}
-%% \DeclareOption{enableskew}{\y@enable@skewtrue}
-%% \DeclareOption*{\PackageWarning{youngtab}{%
-%% Unknown option `\CurrentOption' (Known:\MessageBreak
-%% `vcentermath', `noautoscale', `stdtext', `enableskew'.)}}
-%% \ProcessOptions\relax
-\def\y@vr{\vrule height0.8\y@b@xdim width\y@linethick depth 0.2\y@b@xdim}
-\def\y@emptybox{\y@vr\hbox to \y@b@xdim{\hfil}}
-\ify@enable@skew
- \def\y@abcbox#1{\if :#1\else
- \y@vr\hbox to \y@b@xdim{\hfil#1\hfil}\fi}
- \def\y@mathabcbox#1{\if :#1\else
- \y@vr\hbox to \y@b@xdim{\hfil$#1$\hfil}\fi}
-\else
- \def\y@abcbox#1{\y@vr\hbox to \y@b@xdim{\hfil#1\hfil}}
- \def\y@mathabcbox#1{\y@vr\hbox to \y@b@xdim{\hfil$#1$\hfil}}
-\fi
-\def\y@setdim{%
- \ify@autoscale%
- \ifvoid1\else\typeout{Package youngtab: box1 not free! Expect an
- error!}\fi%
- \setbox1=\hbox{A}\y@b@xdim=1.6\ht1 \setbox1=\hbox{}\box1%
- \else\y@b@xdim=\y@boxdim \advance\y@b@xdim by -2\y@linethick
- \fi}
-\newcount\y@counter
-\newif\ify@islastarg
-\def\y@lastargtest#1,#2 {\if\space #2 \y@islastargtrue
- \else\y@islastargfalse\fi}
-\def\y@emptyboxes#1{\y@counter=#1\loop\ifnum\y@counter>0
- \advance\y@counter by -1 \y@emptybox\repeat}
-\def\y@nelineemptyboxes#1{%
- \vbox{%
- \hrule height\y@linethick%
- \hbox{\y@emptyboxes{#1}\y@vr}
- \hrule height\y@linethick}\vskip-\y@linethick}
-\def\yng(#1){%
- \y@setdim%
- \hskip\y@interspace%
- \ifmmode\ify@vcenter\vcenter\fi\fi{%
- \y@lastargtest#1,
- \vbox{\offinterlineskip
- \ify@islastarg
- \y@nelineemptyboxes{#1}
- \else
- \y@ungempty(#1)
- \fi}}\hskip\y@interspace}
-\def\y@ungempty(#1,#2){%
- \y@nelineemptyboxes{#1}
- \y@lastargtest#2,
- \ify@islastarg
- \y@nelineemptyboxes{#2}
- \else
- \y@ungempty(#2)
- \fi}
-\def\y@nelettertest#1#2. {\if\space #2 \y@islastargtrue
- \else\y@islastargfalse\fi}
-\def\y@abcboxes#1#2.{%
- \ify@stdtext\y@abcbox#1\else\y@mathabcbox#1\fi%
- \y@nelettertest #2.
- \ify@islastarg\unskip%
- \ify@stdtext\y@abcbox{#2}\else\y@mathabcbox{#2}\fi%
- \else\y@abcboxes#2.\fi}
- \newdimen\y@full@b@xdim
- \newcount\y@m@veright@cnt
-\ify@enable@skew
- \def\y@get@m@veright@cnt#1#2.{%
- \if :#1 \advance\y@m@veright@cnt by 1\y@get@m@veright@cnt#2.\fi}
- \let\y@setdim@=\y@setdim
- \def\y@setdim{%
- \y@setdim@ \y@full@b@xdim=\y@b@xdim
- \advance\y@full@b@xdim by 1\y@linethick}
- \def\y@m@veright@ifskew#1{
- \y@m@veright@cnt=0 \y@get@m@veright@cnt#1.
- \moveright \y@m@veright@cnt\y@full@b@xdim}
-\else
- \def\y@m@veright@ifskew#1{}
-\fi
-\def\y@nelineabcboxes#1{%
- \y@nelettertest #1.
- \ify@islastarg
- \y@m@veright@ifskew{#1}
- \vbox{
- \hrule height\y@linethick%
- \hbox{\ify@stdtext\y@abcbox#1\else\y@mathabcbox#1\fi\y@vr}
- \hrule height\y@linethick}\vskip-\y@linethick
- \else
- \y@m@veright@ifskew{#1}
- \vbox{
- \hrule height\y@linethick%
- \hbox{\y@abcboxes #1.\y@vr}%
- \hrule height\y@linethick}\vskip-\y@linethick
- \fi}
-\def\young(#1){%
- \y@setdim%
- \hskip\y@interspace%
- \y@lastargtest#1,
- \ifmmode\ify@vcenter\vcenter\fi\fi{%
- \vbox{\offinterlineskip
- \ify@islastarg\y@nelineabcboxes{#1}%
- \else\y@ungabc(#1)%
- \fi}}\hskip\y@interspace}
-\def\y@ungabc(#1,#2){%
- \y@nelineabcboxes{#1}%
- \y@lastargtest#2,
- \ify@islastarg\y@nelineabcboxes{#2}%
- \else\y@ungabc(#2)%
- \fi}
-\catcode`\@12\relax
-\endinput
-%%
-%% End of file `youngtab.tex'.