%% %% This is file `schemata.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% schemata.dtx (with options: `package') %% %% --------:| ---------------------------------------------------------------- %% schemata:| Generic package to aid construction of topical categories %% Author:| Charles P. Schaum %% E-mail:| charles dot schaum@comcast.net %% License:| Released under the LaTeX Project Public License v1.3c or later %% See:| http://www.latex-project.org/lppl.txt %% {\expandafter}\expandafter\ifx \csname schemataLaTeX\endcsname\relax \def\schemataLaTeX{LaTeX2e}\fi \ifx\fmtname\schemataLaTeX \expandafter\NeedsTeXFormat\expandafter{\schemataLaTeX} \ProvidesPackage{schemata} [2020/03/14 v1.1 generic package to aid construction of topical categories] \fi \ifx\fmtname\schemataLaTeX\else \catcode`@=11\relax \fi \newbox\@schemata@rhs \newbox\@schemata@lhs \newdimen\@schemata@rheight \newdimen\@schemata@lheight \newif\if@schemata@LCBox \newif\if@schemata@SWBox \newif\if@schemata@NudgeBox \ifx\fmtname\schemataLaTeX \DeclareOption{braces}% {\let\@schemata@LD\lbrace \let\@schemata@RD\rbrace} \DeclareOption{brackets}% {\let\@schemata@LD\lbrack \let\@schemata@RD\rbrack} \DeclareOption{parens}% {\let\@schemata@LD( \let\@schemata@RD)} \DeclareOption{groups}% {\let\@schemata@LD\lgroup \let\@schemata@RD\rgroup} \ExecuteOptions{braces} \ProcessOptions\relax \else \let\@schemata@LD\lbrace% \let\@schemata@RD\rbrace% \fi \ifx\fmtname\schemataLaTeX \newcommand*{\DoBraces}% {\let\@schemata@LD\lbrace \let\@schemata@RD\rbrace} \else \def\DoBraces% {\let\@schemata@LD\lbrace \let\@schemata@RD\rbrace} \fi \ifx\fmtname\schemataLaTeX \newcommand*{\DoBrackets}% {\let\@schemata@LD\lbrack \let\@schemata@RD\rbrack} \else \def\DoBrackets% {\let\@schemata@LD\lbrack \let\@schemata@RD\rbrack} \fi \ifx\fmtname\schemataLaTeX \newcommand*{\DoParens}% {\let\@schemata@LD( \let\@schemata@RD)} \else \def\DoParens% {\let\@schemata@LD( \let\@schemata@RD)} \fi \ifx\fmtname\schemataLaTeX \newcommand*{\DoGroups}% {\let\@schemata@LD\lgroup \let\@schemata@RD\rgroup} \else \def\DoGroups% {\let\@schemata@LD\lgroup \let\@schemata@RD\rgroup} \fi \ifx\fmtname\schemataLaTeX \newcommand*{\LCschema}{\@schemata@LCBoxtrue} \else \def\LCschema{\@schemata@LCBoxtrue} \fi \ifx\fmtname\schemataLaTeX \newcommand*{\UCschema}{\@schemata@LCBoxfalse} \else \def\UCschema{\@schemata@LCBoxfalse} \fi \ifx\fmtname\schemataLaTeX \newcommand*{\SwitchSB}{\@schemata@SWBoxtrue}% \else \def\SwitchSB{\@schemata@SWBoxtrue} \fi \ifx\fmtname\schemataLaTeX \newcommand*{\NudgeSB}{\@schemata@NudgeBoxtrue} \else \def\NudgeSB{\@schemata@NudgeBoxtrue} \fi \ifx\fmtname\schemataLaTeX \newcommand{\SBNudgeFactor}{\kern0.2em} \else \def\SBNudgeFactor{\kern0.2em} \fi \ifx\fmtname\schemataLaTeX \newcommand*{\schemabox}[2][0pt]{\@schemata@schemabox[#1]{#2}} \else \def\schemabox{\futurelet\testchar\@schemata@schemab@x} \def\@schemata@schemab@x{% \ifx[\testchar \let\next\@schemata@schemabox% \else \let\next\@schemata@@schemab@x% \fi \next% }% \def\@schemata@@schemab@x#1{\@schemata@schemabox[0pt]{#1}} \fi \def\@schemata@schemabox[#1]#2{% \ifinner \if@schemata@LCBox \def\@Adj{}% \if@schemata@SWBox\def\@Adj{\strut}\fi \else \def\@Adj{\strut}% \if@schemata@SWBox\def\@Adj{}\fi \fi \if@schemata@NudgeBox \let\@Nudge\SBNudgeFactor% \else \def\@Nudge{}% \fi \ifdim#1<1pt \def\\{\@Nudge\egroup\hbox\bgroup\ignorespaces }% \vbox{\hbox\bgroup\@Adj\ignorespaces #2\@Nudge\egroup}% \else \def\\{\hfil\egroup\hbox to #1\bgroup\ignorespaces }% \vbox{\hbox to #1\bgroup\@Adj\ignorespaces #2\hfil\egroup}% \fi \else #2% \fi \@schemata@SWBoxfalse% \@schemata@NudgeBoxfalse% } \ifx\fmtname\schemataLaTeX \newcommand{\schema}[3][open]{% \@schemata@schema[#1]{#2}{#3}} \else \long\def\schema{\futurelet\testchar\@schemata@schem@} \long\def\@schemata@schem@{% \ifx[\testchar \let\next\@schemata@schema% \else \let\next\@schemata@@schem@% \fi \next% }% \long\def\@schemata@@schem@#1#2{% \@schemata@schema[open]{#1}{#2}} \fi \long\def\@schemata@schema[#1]#2#3{% \def\@ption{#1}\def\@pen{open}% \ifx\@ption\@pen \setbox\@schemata@rhs=\vbox{#3}% \@schemata@rheight=\ht\@schemata@rhs% \advance\@schemata@rheight\dp\@schemata@rhs% \advance\@schemata@rheight by 1.44265ex% \hbox{$\vcenter{#2}% \@schemata@lbrace{\@schemata@rheight}% \vcenter{#3}$}% \else \setbox\@schemata@lhs=\vbox{#2}% \@schemata@lheight=\ht\@schemata@lhs% \advance\@schemata@lheight\dp\@schemata@lhs% \advance\@schemata@lheight by 1.44265ex% \hbox{$\vcenter{#2}% \kern-0.2em\@schemata@rbrace{\@schemata@lheight}% \vcenter{#3}$}% \fi } \ifx\fmtname\schemataLaTeX \newcommand{\Schema}[5][open]{% \@schemata@Schema[#1]{#2}{#3}{#4}{#5}} \else \long\def\Schema{\futurelet\testchar\@schemata@Schem@} \long\def\@schemata@Schem@{% \ifx[\testchar \let\next\@schemata@Schema% \else \let\next\@schemata@@Schem@% \fi \next% }% \long\def\@schemata@@Schem@#1#2#3#4{% \@schemata@Schema[open]{#1}{#2}{#3}{#4}} \fi \long\def\@schemata@Schema[#1]#2#3#4#5{% \def\@ption{#1}% \def\@pen{open}% \dimen0=#2% \ifx\@ption\@pen \hbox{$\vcenter{\vskip1.44265\dimen0#4}% \@schemata@biglbrace{#2}{#3}\vcenter{#5}$}% \else \hbox{$\vcenter{\vskip1.44265\dimen0#4}\kern-0.2em% \@schemata@bigrbrace{#2}{#3}\vcenter{#5}$}% \fi } \ifx\fmtname\schemataLaTeX \newcommand*{\@schemata@lbrace}[1]{% \ifmmode \left.\vcenter{\vbox to #1{\vfil}}\right\@schemata@LD% \fi } \else \def\@schemata@lbrace#1{% \ifmmode \left.\vcenter{\vbox to #1{\vfil}}\right\@schemata@LD% \fi } \fi \ifx\fmtname\schemataLaTeX \newcommand*{\@schemata@rbrace}[1]{% \ifmmode \left\@schemata@RD\vcenter{\vbox to #1{\vfil}}\right.% \fi } \else \def\@schemata@rbrace#1{% \ifmmode \left\@schemata@RD\vcenter{\vbox to #1{\vfil}}\right.% \fi } \fi \ifx\fmtname\schemataLaTeX \newcommand*{\@schemata@biglbrace}[2]{% \@schemata@@biglbrace{#1}{#2}} \else \def\@schemata@biglbrace#1#2{% \@schemata@@biglbrace{#1}{#2}} \fi \def\@schemata@@biglbrace#1#2{% \dimen0=#1% \dimen2=#2% \dimen4=-\dimen2% \ifdim\dimen4>\dimen2\dimen2=\dimen4\fi \ifdim\dimen0<0pt \ifmmode\vcenter{\hbox{$\left.% \vbox to 1.44265\dimen2{\vfil}% \right\@schemata@LD% \atop\vbox to -1.44265\dimen0{\vfil}$}}\fi \else \ifmmode\vcenter{\hbox{$\vbox to 1.44265\dimen0{\vfil}% \atop\left.% \vbox to 1.44265\dimen2{\vfil}% \right\@schemata@LD$}}\fi \fi } \ifx\fmtname\schemataLaTeX \newcommand*{\@schemata@bigrbrace}[2]{% \@schemata@@bigrbrace{#1}{#2}% } \else \def\@schemata@bigrbrace#1#2{% \@schemata@@bigrbrace{#1}{#2}% } \fi \def\@schemata@@bigrbrace#1#2{% \dimen0=#1% \dimen2=#2% \dimen4=-\dimen2% \ifdim\dimen4>\dimen2\dimen2=\dimen4\fi \ifdim\dimen0<0pt \ifmmode\vcenter{\hbox{$\left.% \vbox to 1.44265\dimen2{\vfil}% \right\@schemata@RD% \atop\vbox to -1.44265\dimen0{\vfil}$}}\fi \else \ifmmode\vcenter{\hbox{$\vbox to 1.44265\dimen0{\vfil}% \atop\left.% \vbox to 1.44265\dimen2{\vfil}% \right\@schemata@RD$}}\fi \fi } \ifx\fmtname\schemataLaTeX\else \catcode`@=12\relax \fi %% %% Copyright (C) 2020 by Charles P. Schaum %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License (LPPL), either %% version 1.3c of this license or (at your option) any later %% version. The latest version of this license is in the file: %% %% http://www.latex-project.org/lppl.txt %% %% This work is "maintained" (as per LPPL maintenance status) by %% Charles P. Schaum. %% %% This work consists of the file schemata.dtx, schematest.tex, %% schemata.png, and a Makefile. %% Running "make" generates the derived files README, schemata.pdf, %% and schemata.sty. %% Running "make inst" installs the files in the user's TeX tree. %% Running "make install" installs the files in the local TeX tree. %% %% %% End of file `schemata.sty'.