%% %% This is file `youngtab.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% youngtab.dtx (with options: `package') %% %% COPYRIGHT NOTICE: %% Permission is granted to copy this file to another file with a %% clearly different name and to customize the declarations in that %% copy to serve the needs of your installation, provided that you %% comply with the conditions in the file legal.txt. %% %% However, NO PERMISSION is granted to generate or to distribute a %% modified version of this file under its original name. %% %% File: youngtab.dtx %% Copyright (C) 1996 Volker B"orchers and Stefan Gieseke, \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{youngtab} [1996/3/25 v1.0; Macros for Young-Tableaux] %% 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) \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} \DeclareOption{noautoscale}{\y@autoscalefalse} \DeclareOption{vcentermath}{\y@vcentertrue} \DeclareOption{stdtext}{\y@vcentertrue} \DeclareOption*{\PackageWarning{youngtab}{% Unknown option `\CurrentOption' (Known:\MessageBreak `vcentermath', `noautoscale', `stdtext')}} \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}} \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}} \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 {\ifcat\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}\vspace{-\y@linethick}} \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}} \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. {\ifcat\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} \def\y@nelineabcboxes#1{% \y@nelettertest #1. \ify@islastarg \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 \vbox{ \hrule height\y@linethick% \hbox{\y@abcboxes #1.\y@vr}% \hrule height\y@linethick}\vspace{-\y@linethick} \fi} \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}} \def\y@ungabc(#1,#2){% \y@nelineabcboxes{#1}% \y@lastargtest#2, \ify@islastarg\y@nelineabcboxes{#2}% \else\y@ungabc(#2)% \fi} \endinput %% %% End of file `youngtab.sty'.