diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-12 23:54:29 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-12 23:54:29 +0000 |
commit | ad73d498164957eb83add5ac6424b396686afdf3 (patch) | |
tree | 06773f1978cdc56fa8e801cf565c8cc20e62f205 /Master | |
parent | 9b0a12d65600c00972d9f4953249e8f4b6d31f68 (diff) |
easy
git-svn-id: svn://tug.org/texlive/trunk@842 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/tex/latex/easy/easy.sty | 653 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/easy/easybib.sty | 168 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/easy/easybmat.sty | 152 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/easy/easyeqn.sty | 426 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/easy/easymat.sty | 179 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/easy/easytable.sty | 150 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/easy/easyvector.sty | 236 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/easy/mydoc.sty | 21 |
8 files changed, 1985 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/easy/easy.sty b/Master/texmf-dist/tex/latex/easy/easy.sty new file mode 100644 index 00000000000..af005223129 --- /dev/null +++ b/Master/texmf-dist/tex/latex/easy/easy.sty @@ -0,0 +1,653 @@ +%%% ==================================================================== +%%% @LaTeX-style-file{ +%%% author = "Enrico Bertolazzi", +%%% version = "1.1", +%%% date = "31-MAY-2001", +%%% filename = "easy.sty", +%%% address = "Dipartimento di Ingeneria Meccanica e Strutturale, +%%% Trento University, +%%% Via Mesiano 77, Trento, Italy", +%%% FAX = "+39 (461) 882599", +%%% email = "enrico.bertolazzi@ing.unitn.it (Internet)", +%%% supported = "yes. Please send comments via E-mail", +%%% +%%% ==================================================================== +%%% +%%% INSTALLATION: +%%% Put this file where your TeX looks for inputs. +%%% +%%% DOCUMENTATION: +%%% no documentation +%%% +%%% Copyright 1999 Enrico Bertolazzi +%%% +%%% 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. +%%% +%%% } +%%% ====================================================================%%% +%%% ___ ____ ___ _ _ ___ ____ ___ _ _ %%% +%%% / \ / / \ \ / / \ / / \ \ / %%% +%%% /____/ /__ /____/ \/ /____/ /__ /____/ \/ %%% +%%% / \ / / \ / / \ / / \ / %%% +%%% /____/ /____ / \ / /____/ /____ / \ / %%% +%%% ====================================================================%%% +%%% +%%% v1.0 30-AUG-1999 +%%% v1.1 31-MAY-2001 changed \@roman with \romannumeral (thanks to Claudio Beccari) +%%% added \easydashlen \easydashsep + +\def\filedate{2001/05/31} +\def\fileversion{v1.1} +\typeout{Document Style `easy' \fileversion\space<\filedate>.} +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{easy}[\filedate\space\fileversion] + +\def\@easy@disable@space{\catcode`\ =9\endlinechar=-1} +\def\@easy@enable@space{\catcode`\ =10\endlinechar=`\^^M} + +\@easy@disable@space + +\newcount\@easy@level\@easy@level=\z@\relax +\newcount\@easy@ncol +\newcount\@easy@nrow +\newcount\@easy@cnt + +% +% define boxes for internal computation. +% +\@tempcnta=8\relax +\@whilenum\@tempcnta>\z@\do{ + \expandafter\global\expandafter\newbox\csname @easy@box\romannumeral\@tempcnta\endcsname + \expandafter\global\expandafter\newdimen\csname @easy@minx\romannumeral\@tempcnta\endcsname + \expandafter\global\expandafter\newdimen\csname @easy@miny\romannumeral\@tempcnta\endcsname + \expandafter\global\expandafter\newdimen\csname @easy@maxx\romannumeral\@tempcnta\endcsname + \expandafter\global\expandafter\newdimen\csname @easy@maxy\romannumeral\@tempcnta\endcsname + \advance\@tempcnta by\m@ne +} +% +% define dimens for internal computation. +% +\@tempcnta=30\relax +\@whilenum\@tempcnta>\z@\do{% + \expandafter\global\expandafter\newdimen\csname @easy@hsize\romannumeral\@tempcnta\endcsname% + \expandafter\global\expandafter\newdimen\csname @easy@vsize\romannumeral\@tempcnta\endcsname% + \advance\@tempcnta by\m@ne +} + +\def\@easy@ifnextchar#1#2#3{% + \let\reserved@d=#1% + \def\reserved@a{#2} + \def\reserved@b{#3}% + \futurelet\@let@token\@easy@ifnch} +\def\@easy@ifnch{% + \ifx\@let@token\reserved@d + \let\reserved@c\reserved@a + \else + \let\reserved@c\reserved@b + \fi + \reserved@c} + +\def\@easy@edef(#1)#2{\expandafter\edef\csname#1\endcsname{#2}} +\def\@easy@xdef(#1)#2{\expandafter\xdef\csname#1\endcsname{#2}} +\def\@easy@gdef(#1)#2{\expandafter\gdef\csname#1\endcsname{#2}} +\def\@easy@def(#1)#2{\expandafter\def\csname#1\endcsname{#2}} + +\def\@easy@let(#1)#2{% + \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname} +\def\@easy@glet(#1)#2{% + \expandafter\global\expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname} + +% \@easy@rotate{\macro} +% rotate the contens of a macro, for example: +% +% \def\macro{abc} +% \@easy@rotate{\macro} +% +% now macro contains {bca} +\def\@easy@rotate@#1#2\end{#2#1}% +\def\@easy@rotate#1{\xdef#1{\expandafter\@easy@rotate@#1\end}}% + +% \@easy@firstchar{string} +% get the first character of a string. +% If the string is empty return `-' +\def\@easy@firstchar@#1#2\end{#1}% +\def\@easy@firstchar#1{\expandafter\@easy@firstchar@#1-\end}% + +\def\@easy@parse@cols#1{% + \gdef\@easy@list@align{lrc}% + \global\let\@easy@rules\@empty% + \global\let\@easy@align\@empty% + \expandafter\@easy@parsea#1\end% + \@easy@xdef(@easy@col@align\romannumeral\@easy@level){`\@easy@align}% + \@easy@xdef(@easy@col@rules\romannumeral\@easy@level){`\@easy@rules}% +} + +\def\@easy@parse@rows#1{% + \gdef\@easy@list@align{tbc}% + \global\let\@easy@rules\@empty% + \global\let\@easy@align\@empty% + \expandafter\@easy@parsea#1\end% + \@easy@xdef(@easy@row@align\romannumeral\@easy@level){`\@easy@align}% + \@easy@xdef(@easy@row@rules\romannumeral\@easy@level){`\@easy@rules}% +} + +% \@easy@list@align{string} +% Parse a string with alignement definitions and separate +% rules definition. +% \@easy@list@align muist contains the possible alignments. +% the rules coding is fixed as: +% @ => no rule +% . => dotted rule +% ; => dot-dash rule +% : => dased rule +% | => solid rule +% 0123456789 => solid rule 0 => thin 9 => thick +% +% The output are +% \@easy@align: which will contain alignement string +% \@easy@rules: which will contain rule definition string +% +% for example +% \def\@easy@list@align{rcl} +% \@easy@list@align{|r;cl} +% results in +% \@easy@align => rcl +% \@easy@rules => |;@@ +% +\def\@easy@parsea{\futurelet\@tempb\@easy@parseb} +\def\@easy@parseb{%parse column separator + \def\next{\xdef\@easy@rules{@\@easy@rules}\@easy@parsec}% + \@tfor\@tempa:=@.;:|0123456789\do{% + \expandafter\ifx\expandafter\@tempb\@tempa% + \xdef\@easy@rules{\@tempa\@easy@rules} + \def\next##1{\@easy@parsec}% + \@break@tfor% + \fi% + } + \next} + +\def\@easy@parsec{\futurelet\@tempb\@easy@parsed} +\def\@easy@parsed{% parse column alignment + \def\next{\@easy@parse@error}% + \ifx\@tempb\end% + \def\next##1{}% eat end + \else + \expandafter\@tfor\expandafter\@tempa\expandafter:\expandafter=\@easy@list@align\do{% + \expandafter\ifx\expandafter\@tempb\@tempa% + \xdef\@easy@align{\@tempa\@easy@align}% + \def\next##1{\@easy@parsea}% + \@break@tfor% + \fi% + } + \fi% + \next} + +\@easy@enable@space +\def\@easy@parse@error{% +\PackageWarningNoLine{`easy'}% +{unrecognized command \meaning\@tempb \space on line \the\inputlineno}} +\@easy@disable@space + +\newdimen\@easy@dash@len \@easy@dash@len=5pt\relax +\newdimen\@easy@dash@sep \@easy@dash@sep=2pt\relax + +\def\easydashlen#1{\@easy@dash@len=#1\relax} +\def\easydashsep#1{\@easy@dash@sep=#1\relax} + +% \@easy@h@dash{height}{width}{sep} +% +----+ | +% #1 | | | +% +----+ | +% #2 #3 +% \@easy@v@dash{width}{height}{sep} +% #1 +% +----+ +% #2 | | +% +----+ +% #3 +% ----- +\def\@easy@h@dash#1#2#3{\hbox{\vrule\@width#2\@height#1\@depth\z@\kern#3}} +\def\@easy@v@dash#1#2#3{\vbox{\hrule\@width#1\@height#2\@depth\z@\kern#3}} +% \@easy@h@dashes{totalwidth}{height}{sep1}{width}{sep2} +% |-------- totalwidth --------- | +% +---+ +----------+ | +% height | | | | | +% +---+ +----------+ | +% height sep1 width sep2 +% +\def\@easy@h@dashes#1#2#3#4#5{% + \setbox\@tempboxa\hbox{}% + \@tempdima=#1\relax% + \@tempcnta=\@ne% + \loop\advance\@tempcnta by\@ne% + \ifodd\@tempcnta\setbox0\@easy@h@dash{#2}{#2}{#3}\else\setbox0\@easy@h@dash{#2}{#4}{#5}\fi% + \@tempdimb=\wd\@tempboxa\relax\advance\@tempdimb by\wd0\relax + \ifdim\@tempdimb<\@tempdima\relax% + \setbox\@tempboxa\hbox{\unhbox\@tempboxa\unhbox0}% + \repeat% + \advance\@tempdima by -\wd\@tempboxa\relax% + \@tempdimb=\ht\@tempboxa\relax% + \hbox{\unhbox\@tempboxa\vrule\@width\@tempdima\@height\@tempdimb\@depth\z@} +} +\def\@easy@v@dashes#1#2#3#4#5{% + \setbox\@tempboxa\vbox{}% + \@tempdima=#1\relax% + \@tempcnta=\@ne% + \loop\advance\@tempcnta by\@ne% + \ifodd\@tempcnta\setbox0\@easy@v@dash{#2}{#2}{#3}\else\setbox0\@easy@v@dash{#2}{#4}{#5}\fi% + \@tempdimb=\ht\@tempboxa\relax\advance\@tempdimb by\ht0\relax% + \ifdim\@tempdimb<\@tempdima\relax% + \setbox\@tempboxa\vbox{\unvbox\@tempboxa\unvbox0}% + \repeat% + \advance\@tempdima by -\ht\@tempboxa\relax% + \@tempdimb=\wd\@tempboxa\relax% + \vbox{\unvbox\@tempboxa\hrule\@width\@tempdimb\@height\@tempdima\@depth\z@} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\@easy@hdots(#1,#2){\@easy@h@dashes{#1}{#2}\@easy@dash@sep\z@\z@} +\def\@easy@vdots(#1,#2){\@easy@v@dashes{#1}{#2}\@easy@dash@sep\z@\z@} + +\def\@easy@hdashes(#1,#2){\@easy@h@dashes{#1}{#2}\z@\@easy@dash@len\@easy@dash@sep} +\def\@easy@vdashes(#1,#2){\@easy@v@dashes{#1}{#2}\z@\@easy@dash@len\@easy@dash@sep} + +\def\@easy@hdotdash(#1,#2){\@easy@h@dashes{#1}{#2}\@easy@dash@sep\@easy@dash@len\@easy@dash@sep} +\def\@easy@vdotdash(#1,#2){\@easy@v@dashes{#1}{#2}\@easy@dash@sep\@easy@dash@len\@easy@dash@sep} + +\def\@easy@hrule(#1,#2){\hbox{\vrule\@width#1\@height#2\@depth\z@}} +\def\@easy@vrule(#1,#2){\vbox{\hrule\@width#2\@height#1\@depth\z@}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\@easy@h@draw#1#2{% + \expandafter\ifx#1.\@easy@hdots(#2,\@easy@size@dash)\else% + \expandafter\ifx#1;\@easy@hdotdash(#2,\@easy@size@dash)\else% + \expandafter\ifx#1:\@easy@hdashes(#2,\@easy@size@dash)\else% + \expandafter\ifx#1|\@easy@hrule(#2,\@easy@size@rule)\else% + \expandafter\ifx#1-\@easy@hrule(#2,\@easy@size@rule)\else% + \expandafter\ifx#1@\else% + \@easy@set@size{#1} + \@easy@hrule(#2,\@tempdima)% + \fi\fi\fi\fi\fi\fi% +} + +\def\@easy@v@draw#1#2{% + \expandafter\ifx#1.\@easy@vdots(#2,\@easy@size@dash)\else% + \expandafter\ifx#1;\@easy@vdotdash(#2,\@easy@size@dash)\else% + \expandafter\ifx#1:\@easy@vdashes(#2,\@easy@size@dash)\else% + \expandafter\ifx#1|\@easy@vrule(#2,\@easy@size@rule)\else% + \expandafter\ifx#1@\else + \@easy@set@size{#1} + \@easy@vrule(#2,\@tempdima)% + \fi\fi\fi\fi\fi% +} + +\def\@easy@set@size#1{ + \@tempdima=\@easy@size@rule\relax + \ifcase\number#1 + \divide\@tempdima5 + \or\divide\@tempdima4 + \or\divide\@tempdima3 + \or\divide\@tempdima2 + \or\divide\@tempdima1 + \or\multiply\@tempdima2 + \or\multiply\@tempdima3 + \or\multiply\@tempdima4 + \or\multiply\@tempdima5 + \or\multiply\@tempdima6 + \fi +} + +\def\@easy@kern@size#1{% + \expandafter\ifx#1.\@tempdima=\@easy@size@dash\else% + \expandafter\ifx#1;\@tempdima=\@easy@size@dash\else% + \expandafter\ifx#1:\@tempdima=\@easy@size@dash\else% + \expandafter\ifx#1|\@tempdima=\@easy@size@rule\else% + \expandafter\ifx#1-\@tempdima=\@easy@size@rule\else% + \expandafter\ifx#1@\@tempdima=\z@\else\@easy@set@size{#1}% + \fi\fi\fi\fi\fi\fi% +} + +\def\@easy@kern#1{\@easy@kern@size{#1}\kern\@tempdima} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \@easy@hbox[halign,valign,width,heigth,sep,content] +% +\def\@easy@hbox[#1,#2,#3,#4,#5,#6]{% + \hbox{\vbox to#4{\expandafter\ifx#2t\else\vss\fi% + \kern#5\hbox to#3{% + \expandafter\ifx#1l\else\hss\fi% + \kern#5\vphantom{\copy#6}\unhbox#6\kern#5% + \expandafter\ifx#1r\else\hss\fi}% + \kern#5\expandafter\ifx#2b\else\vss\fi}}} +% +% evaluate dimensions of box of boxes, it return +% \@easy@vsize max heigth + \@easy@spread +% \@easy@hsize max width + \@easy@spread +% +\def\@easy@evaldim{% + \@tempcnta=30\relax + \@whilenum\@tempcnta>\z@\do{% + \global\@nameuse{@easy@hsize\romannumeral\@tempcnta}=\z@% + \global\@nameuse{@easy@vsize\romannumeral\@tempcnta}=\z@% + \advance\@tempcnta by \m@ne}% + \setbox0\vbox{% + \unvcopy\@easy@mainbox% + \global\@easy@nrow=\z@% + \loop% + \unskip\global\setbox\@ne\lastbox% + \ifhbox\@ne% + \global\advance\@easy@nrow\@ne%%%% + \global\@easy@ncol=\z@ + \@tempdima\dp\@ne\relax + \advance\@tempdima\ht\@ne\relax + \advance\@tempdima\@easy@spread\relax + \advance\@tempdima\@easy@spread\relax + \global\@nameuse{@easy@vsize\romannumeral\@easy@nrow}=\@tempdima% + \setbox0=\hbox{% + \unhbox\@ne% + \loop% + \unskip\global\setbox\tw@=\lastbox% + \ifhbox\tw@% + \global\advance\@easy@ncol\@ne%%%% + \@tempdima\wd\tw@\relax + \advance\@tempdima\@easy@spread\relax + \advance\@tempdima\@easy@spread\relax + \ifdim\@tempdima>\@nameuse{@easy@hsize\romannumeral\@easy@ncol}\relax + \global\@nameuse{@easy@hsize\romannumeral\@easy@ncol}=\@tempdima% + \fi% + \repeat% + }% + \repeat% + }% +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\@easy@loop@cols#1{\@tempcnta=\@easy@ncol\relax% +\@whilenum\@tempcnta>\z@\do{#1\advance\@tempcnta by\m@ne}} + +\def\@easy@loop@rows#1{\@tempcnta=\@easy@nrow\relax% +\@whilenum\@tempcnta>\z@\do{#1\advance\@tempcnta by\m@ne}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\@easy@balance@cols#1{% + \@tempdima=#1\relax% + \@easy@loop@cols{\@tempdimb=\@nameuse{@easy@hsize\romannumeral\@tempcnta}\relax + \ifdim\@tempdima<\@tempdimb\relax\@tempdima=\@tempdimb\fi} + \@easy@loop@cols{\global\@nameuse{@easy@hsize\romannumeral\@tempcnta}=\@tempdima\relax} +} + +\def\@easy@balance@rows#1{% + \@tempdima=#1\relax% + \@easy@loop@rows{\@tempdimb=\@nameuse{@easy@vsize\romannumeral\@tempcnta}\relax + \ifdim\@tempdima<\@tempdimb\relax\@tempdima=\@tempdimb\fi} + \@easy@loop@rows{\global\@nameuse{@easy@vsize\romannumeral\@tempcnta}=\@tempdima\relax} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\@easy@balance@equalize#1{% + \@tempdima=#1\relax% + \@easy@loop@cols{\@tempdimb=\@nameuse{@easy@hsize\romannumeral\@tempcnta}\relax% + \ifdim\@tempdima<\@tempdimb\relax\@tempdima=\@tempdimb\fi} + \@easy@loop@rows{\@tempdimb=\@nameuse{@easy@vsize\romannumeral\@tempcnta}\relax% + \ifdim\@tempdima<\@tempdimb\relax\@tempdima=\@tempdimb\fi} + \@easy@loop@cols{\global\@nameuse{@easy@hsize\romannumeral\@tempcnta}=\@tempdima\relax} + \@easy@loop@rows{\global\@nameuse{@easy@vsize\romannumeral\@tempcnta}=\@tempdima\relax} +} + +\def\@easy@balance@row@col{% + \expandafter\ifx\@easy@balance c\@easy@balance@cols{\@easy@minx}\else% + \expandafter\ifx\@easy@balance r\@easy@balance@rows{\@easy@miny}\else% + \expandafter\ifx\@easy@balance b\@easy@balance@cols{\@easy@minx}\@easy@balance@rows{\@easy@miny}\else% + \expandafter\ifx\@easy@balance e\@easy@balance@equalize{\@easy@minx}% + \else% no balancing + \@tempdima=\@easy@minx\relax + \@tempdimb=\@easy@miny\relax + \@easy@loop@cols{\ifdim\@tempdima>\@nameuse{@easy@hsize\romannumeral\@tempcnta}% + \global\@nameuse{@easy@hsize\romannumeral\@tempcnta}=\@tempdima\fi} + \@easy@loop@rows{\ifdim\@tempdimb>\@nameuse{@easy@vsize\romannumeral\@tempcnta}% + \global\@nameuse{@easy@vsize\romannumeral\@tempcnta}=\@tempdimb\fi} + \fi\fi\fi\fi% +% + \ifdim\@easy@maxx>\z@ + \@tempdimc=\@easy@maxx\relax + \loop + \@easy@rotate\@easy@col@rules% + \edef\@tempc{\@easy@firstchar\@easy@col@rules}% + \expandafter\ifx\@tempc`\else + \@easy@kern@size\@tempc + \advance\@tempdimc by -\@tempdima\relax + \repeat + \@easy@loop@cols{\advance\@tempdimc by -\@nameuse{@easy@hsize\romannumeral\@tempcnta}\relax} + \divide\@tempdimc by\@easy@ncol\relax + \ifdim\@tempdimc>\z@ + \@easy@loop@cols{\global\advance\@nameuse{@easy@hsize\romannumeral\@tempcnta} by \@tempdimc\relax} + \fi + \fi +% + \ifdim\@easy@maxy>\z@ + \@tempdimc=\@easy@maxy\relax + \loop + \@easy@rotate\@easy@row@rules% + \edef\@tempc{\@easy@firstchar\@easy@row@rules}% + \expandafter\ifx\@tempc`\else + \@easy@kern@size\@tempc + \advance\@tempdimc by -\@tempdima\relax + \repeat + \@easy@loop@rows{\advance\@tempdimc by -\@nameuse{@easy@vsize\romannumeral\@tempcnta}\relax} + \divide\@tempdimc by\@easy@nrow\relax + \ifdim\@tempdimc>\z@ + \@easy@loop@rows{\global\advance\@nameuse{@easy@vsize\romannumeral\@tempcnta} by \@tempdimc\relax} + \fi + \fi + } + +\def\@easy@buildbox{% + \setbox0=\vbox{% + \unvbox\@easy@mainbox% + \@easy@rotate\@easy@row@rules% + \edef\@tempc{\@easy@firstchar\@easy@row@rules}% + \global\setbox\@easy@mainbox\vbox{\@easy@kern\@tempc}% + \global\@easy@nrow=\z@% + \loop% + \unskip\global\setbox\@ne=\lastbox% + \ifhbox\@ne% + \global\advance\@easy@nrow\@ne% + \@easy@rotate\@easy@row@rules% + \@easy@rotate\@easy@row@align% + \@easy@buildboxa% + \edef\@tempc{\@easy@firstchar\@easy@row@rules}% + \global\setbox\@easy@mainbox\vbox + {\@easy@kern\@tempc\box\tw@\unvbox\@easy@mainbox}% + \repeat + \@easy@rotate\@easy@row@rules% elim ` + \@easy@rotate\@easy@row@align% elim ` + } +} + +\def\@easy@buildboxa{% + \setbox0\hbox{% + \unhbox\@ne% + \@easy@rotate\@easy@col@rules% + \edef\@tempc{\@easy@firstchar\@easy@col@rules}% + \global\setbox\tw@\hbox{\@easy@kern\@tempc}% + \global\@easy@ncol=\z@% + \loop% + \unskip\global\setbox\@ne=\lastbox% + \ifhbox\@ne% + \global\advance\@easy@ncol\@ne% + \@easy@rotate\@easy@col@rules% + \@easy@rotate\@easy@col@align% + \edef\@tempa{\@easy@firstchar\@easy@col@align}% + \edef\@tempb{\@easy@firstchar\@easy@row@align}% + \edef\@tempc{\@easy@firstchar\@easy@col@rules}% + \global\setbox\tw@\hbox{% + \@easy@kern\@tempc% + \@easy@hbox[\@tempa,\@tempb,% + \@nameuse{@easy@hsize\romannumeral\@easy@ncol},% + \@nameuse{@easy@vsize\romannumeral\@easy@nrow},% + \@easy@spread,\@ne]% + \unhbox\tw@}% + \repeat + \@easy@rotate\@easy@col@rules% elim ` + \@easy@rotate\@easy@col@align% elim ` + } +} + +%%%%%%%%%%%%%%% Vertical lines %%%%%%%%%%%%%%%%%% +\def\@easy@vlines{% + \@tempcntb=\z@% + \@easy@rotate\@easy@col@rules% + \edef\@tempc{\@easy@firstchar\@easy@col@rules} + \global\setbox\@ne\hbox{\@easy@v@draw\@tempc{\ht\@easy@mainbox}}% + \loop% + \advance\@tempcntb\@ne% + \@easy@rotate\@easy@col@rules% + \edef\@tempc{\@easy@firstchar\@easy@col@rules}% + \expandafter\ifx\@tempc`\relax\else% + \global\setbox\@ne\hbox{% + \@easy@v@draw\@tempc{\ht\@easy@mainbox} + \kern\@nameuse{@easy@hsize\romannumeral\@tempcntb} + \unhbox\@ne}% + \repeat% +} + +%%%%%%%%%%%%%%% Horizontal lines %%%%%%%%%%%%%%%%%% +\def\@easy@hlines{% + \@tempcntb=\z@% + \@easy@rotate\@easy@row@rules% + \edef\@tempc{\@easy@firstchar\@easy@row@rules}% + \global\setbox\tw@\vbox{\@easy@h@draw\@tempc{\wd\@easy@mainbox}}% + \loop% + \advance\@tempcntb\@ne% + \@easy@rotate\@easy@row@rules% + \edef\@tempc{\@easy@firstchar\@easy@row@rules}% + \expandafter\ifx\@tempc`\relax\else% + \global\setbox\tw@\vbox{% + \@easy@h@draw\@tempc{\wd\@easy@mainbox} + \kern\@nameuse{@easy@vsize\romannumeral\@tempcntb} + \unvbox\tw@}% + \repeat% +} + + +%%%%%%%%%%%%%%% PATH COMMANDS %%%%%%%%%%%%%%% + +\def\addpath#1{\g@addto@macro\@easy@path{[#1]}} + +\def\@easy@dopath{%adjust size boxex + \global\setbox\thr@@\hbox{} + \@tempcntb=\z@% + \@easy@rotate\@easy@col@rules% + \edef\@tempc{\@easy@firstchar\@easy@col@rules} + \@easy@kern@size\@tempc% + \loop% + \advance\@tempcntb\@ne% + \global\advance\@nameuse{@easy@hsize\romannumeral\@tempcntb}\@tempdima + \@easy@rotate\@easy@col@rules% + \edef\@tempc{\@easy@firstchar\@easy@col@rules}% + \expandafter\ifx\@tempc`\relax\else% + \@easy@kern@size\@tempc + \divide\@tempdima\tw@ + \global\advance\@nameuse{@easy@hsize\romannumeral\@tempcntb}\@tempdima + \repeat% + \global\advance\@nameuse{@easy@hsize\romannumeral\@tempcntb}\@tempdima +% + \@tempcntb=\z@% + \@easy@rotate\@easy@row@rules% + \edef\@tempc{\@easy@firstchar\@easy@row@rules} + \@easy@kern@size\@tempc% + \loop% + \advance\@tempcntb\@ne% + \global\advance\@nameuse{@easy@vsize\romannumeral\@tempcntb}\@tempdima + \@easy@rotate\@easy@row@rules% + \edef\@tempc{\@easy@firstchar\@easy@row@rules}% + \expandafter\ifx\@tempc`\relax\else% + \@easy@kern@size\@tempc + \divide\@tempdima\tw@ + \global\advance\@nameuse{@easy@vsize\romannumeral\@tempcntb}\@tempdima + \repeat% + \global\advance\@nameuse{@easy@vsize\romannumeral\@tempcntb}\@tempdima + \expandafter\@easy@do@path@parse\@easy@path`} + +\def\@easy@do@path@parse{\futurelet\@tempa\@easy@do@path@parsea} +\def\@easy@do@path@parsea{% + \ifx`\@tempa\expandafter\@gobble + \else\expandafter\@easy@do@path\fi} + +\def\@easy@do@path[(#1,#2,#3)#4]{% + \xdef\@easy@k@line{#3}% + \global\@tempcnta\@easy@ncol% + \global\advance\@tempcnta-#1% + \global\@tempcntb#2% + \expandafter\@easy@do@path@path#4`\@easy@do@path@parse} + +\def\@easy@do@path@path{\futurelet\@tempa\@easy@do@path@patha} +\def\@easy@do@path@patha{% + \def\next##1{\@easy@do@path@path} + \ifx r\@tempa + \ifnum\@tempcnta=\z@\global\@tempcnta\@easy@ncol\fi + \global\advance\@tempcnta\m@ne + \@easy@add@h@tobox + \global\advance\@tempcnta\m@ne + \else\ifx l\@tempa + \@easy@add@h@tobox + \else\ifx u\@tempa + \@easy@add@v@tobox + \else\ifx d\@tempa + \ifnum\@tempcntb=\z@\global\@tempcntb\@easy@nrow\fi + \global\advance\@tempcntb\m@ne + \@easy@add@v@tobox + \global\advance\@tempcntb\m@ne + \else\def\next##1{} + \fi\fi\fi\fi\next} + +\def\@easy@add@h@tobox{% + \ifnum\@tempcnta=\@easy@ncol\global\@tempcnta\z@\fi + \global\setbox\thr@@\hbox{% + \rlap{\box\thr@@} + \@easy@ycoord{\@tempcntb}\raise\@tempdimc + \hb@xt@\z@{% + \@easy@xcoord{\@tempcnta}\kern\@tempdimc + \global\advance\@tempcnta\@ne + \kern-\@nameuse{@easy@hsize\romannumeral\@tempcnta} + \@easy@h@draw\@easy@k@line{\@nameuse{@easy@hsize\romannumeral\@tempcnta}}\hss} + } +} + +\def\@easy@add@v@tobox{% + \ifnum\@tempcntb=\@easy@nrow\global\@tempcntb\z@\fi + \global\setbox\thr@@\hbox{% + \rlap{\box\thr@@} + \@easy@ycoord{\@tempcntb}\raise\@tempdimc + \hb@xt@\z@{% + \@easy@xcoord{\@tempcnta}\kern\@tempdimc + \global\advance\@tempcntb\@ne + \@easy@v@draw\@easy@k@line{\@nameuse{@easy@vsize\romannumeral\@tempcntb}}\hss} + } +} + +\def\@easy@xcoord#1{% + \@tempdimc=\wd\@easy@mainbox + \@easy@cnt=\z@ + \@whilenum\@easy@cnt<#1\do{% + \advance\@easy@cnt\@ne + \advance\@tempdimc-\@nameuse{@easy@hsize\romannumeral\@easy@cnt} + }} + +\def\@easy@ycoord#1{% + \@tempdimc=\z@\@easy@cnt=\z@ + \@whilenum\@easy@cnt<#1\do{% + \advance\@easy@cnt\@ne + \advance\@tempdimc\@nameuse{@easy@vsize\romannumeral\@easy@cnt} + }} + +\@easy@enable@space + +\endinput +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/latex/easy/easybib.sty b/Master/texmf-dist/tex/latex/easy/easybib.sty new file mode 100644 index 00000000000..b7288027b68 --- /dev/null +++ b/Master/texmf-dist/tex/latex/easy/easybib.sty @@ -0,0 +1,168 @@ +%%% ==================================================================== +%%% @LaTeX-style-file{ +%%% author = "Enrico Bertolazzi", +%%% version = "0.7", +%%% date = "16-MAR-99", +%%% filename = "easybib.sty", +%%% address = "Laboratorio di Matematica Applicata +%%% e Meccanica Strutturale, +%%% Trento University, +%%% Via Mesiano, Trento, Italy", +%%% FAX = "+39 (461) 882599", +%%% email = "enrico.bertolazzi@ing.unitn.it (Internet)", +%%% supported = "yes. Please send comments via E-mail", +%%% docstring = "package for easy customization of bibliography." +%%% +%%% INSTALLATION: +%%% Put this file where your TeX looks for inputs. +%%% +%%% DOCUMENTATION: +%%% Compile docbib.tex. +%%% +%%% Copyright 1999 Enrico Bertolazzi +%%% +%%% 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. +%%% +%%% } +%%% ====================================================================%%% +%%% ___ ____ ___ _ _ __ __ ____ ______ %%% +%%% / \ / / \ \ / / \ / \ / / %%% +%%% /____/ /__ /____/ \/ \ / / /__ / %%% +%%% / \ / / \ / \ / / / / %%% +%%% /____/ /____ / \ / \__/ \__/ / / %%% +%%% ====================================================================%%% +\def\filedate{1999/03/16} +\def\fileversion{v0.7} +\typeout{Document Style `easybib' \fileversion\space<\filedate>.} +%% BEGIN easybib.sty +%% +\NeedsTeXFormat{LaTeX2e} +\RequirePackage{easy} +\ProvidesPackage{easybib}[\filedate\space\fileversion] + +\@ifundefined{refname}{\gdef\refname{References}}{} +\@ifundefined{bibname}{\gdef\refname{Bibliography}}{} + +\newif\if@bib@first@item + +\def\@bib@init@cmds{\global\@bib@first@itemtrue\global\let\@bib@old@fmtclo\@empty% +\expandafter\@for\expandafter\@name\expandafter:\expandafter=\csname \@bib@act@fmt list\endcsname +\do{\expandafter\let\csname\@name\expandafter\endcsname% +\csname @bib@\@bib@act@fmt @\@name @cmd\endcsname% +\expandafter\global\expandafter\setbox\csname @bib@\@name @box\endcsname=\box\voidb@x}} + +\def\@bib@begin{\begingroup\gdef\@bib@first@punct{}\@bib@init@cmds\bgroup\ignorespaces} + +\def\@bib@out{\@bib@old@fmtclo\egroup\@killglue% +\expandafter\@for\expandafter\@name\expandafter:\expandafter=\csname \@bib@act@fmt list\endcsname +\do{\@bib@out@if@exist[\@bib@act@fmt,\@name]}} + +\def\@bib@end#1{\@bib@out#1\endgroup} + +\def\moreref{\@ifnextchar[\@bib@moreref{\@bib@moreref[;]}}% +\def\@bib@moreref[#1]#2{\@bib@out\gdef\@bib@act@fmt{#2}% +\gdef\@bib@first@punct{\@killglue#1\space}% +\@bib@init@cmds\bgroup\ignorespaces} + +\def\endref{\@ifnextchar[\@endref{\@endref[;]}} +\def\@endref[#1]{\@bib@end{#1}} + +\def\@bib@out@if@exist[#1,#2]{% +\ifdim\wd\@nameuse{@bib@#2@box}>0pt% +\@killglue\unhbox\@nameuse{@bib@#2@box}\@killglue\fi} + +\def\bibsetfmt[#1,#2]#3#4#5{% +\@easy@gdef(@bib@#1@#2@punct){\@killglue#3\space} +\@easy@gdef(@bib@#1@#2@fmt){#4} +\@easy@gdef(@bib@#1@#2@fmtclo){\@killglue#5}} + +\def\bibdefinestyle#1#2{\bibsetfmt[#1,#2]{,}{\rmfamily}{}% +\@ifundefined{@bib@#2@box}{\expandafter\global\expandafter\newbox\csname @bib@#2@box\endcsname}{} +\expandafter\xdef\csname @bib@#1@#2@cmd\endcsname{\noexpand\@bib@old@fmtclo\egroup +\noexpand\global\noexpand\setbox\csname @bib@#2@box\endcsname\hbox\bgroup +\noexpand\global\noexpand\let\noexpand\@bib@old@fmtclo% +\expandafter\noexpand\csname @bib@#1@#2@fmtclo\expandafter\noexpand\endcsname% +\noexpand\if@bib@first@item\noexpand\@bib@first@punct\noexpand\else% +\expandafter\noexpand\csname @bib@#1@#2@punct\expandafter\noexpand\endcsname\noexpand\fi +\noexpand\global\noexpand\@bib@first@itemfalse% +\expandafter\noexpand\csname @bib@#1@#2@fmt\expandafter\noexpand\endcsname}} + +\def\@BIB@lbibitem[#1]#2{\@lbibitem[#1]{#2}\@bib@begin} +\def\@BIB@bibitem#1{\@bibitem{#1}\@bib@begin} + +\def\bibdefinestyles#1{% +\@easy@xdef(#1ref){\noexpand\gdef\noexpand\@bib@act@fmt{#1} +\noexpand\@ifnextchar[\noexpand\@BIB@lbibitem\noexpand\@BIB@bibitem} +\expandafter\@for\expandafter\@name\expandafter:\expandafter=\csname#1list\endcsname +\do{\bibdefinestyle{#1}{\@name}}} + +\def\paperlist{by,bysame,title,transl,jour,toappear,inbook,publ,eds,publaddr,vol,yr,pages,finalinfo,lang} +\def\booklist{by,bysame,title,bookinfo,publ,publaddr,pages,yr,lang,transl} + +\bibdefinestyles{paper} +\bibdefinestyles{book} +% +\bibsetfmt[paper,by]{}{\bfseries}{} +\bibsetfmt[paper,bysame]{,}{\hbox to3em{\hrulefill\hskip.1em}}{} +\bibsetfmt[paper,title]{,}{\itshape}{} +\bibsetfmt[paper,toappear]{}{(to appear}{)} +\bibsetfmt[paper,yr]{}{(}{)} +\bibsetfmt[paper,lang]{}{(}{)} +\bibsetfmt[paper,vol]{}{\bfseries}{} +\bibsetfmt[paper,eds]{}{(}{\@killglue, eds.)} +\bibsetfmt[paper,transl]{}{}{} +% +\bibsetfmt[book,by]{}{\bfseries}{} +\bibsetfmt[book,bysame]{}{\hbox to3em{\hrulefill\hskip.1em}}{} +\bibsetfmt[book,title]{,}{\scshape}{} +\bibsetfmt[book,lang]{}{(}{)} + +\def\@bib@styleA#1{#1.} +\def\@bib@styleB#1{[#1]} +\def\@bib@styleC#1{} + +\def\refstyle#1{\@easy@glet(@biblabel){@bib@style#1}} +\refstyle{A} + +\def\@bib@citeA#1#2{[{#1\if@tempswa , #2\fi}]} +\def\@bib@citeB#1#2{\@killglue$^{\hbox{\tiny[{#1\if@tempswa , #2\fi}]}}$} +\def\@bib@citeC#1#2{\@killglue$^{\hbox{\tiny#1\if@tempswa , #2\fi}}$} + +\def\citestyle#1{\@easy@glet(@cite){@bib@cite#1}} +\citestyle{A} + + +\DeclareOption{definethebibliography}{% + \def\bibindent{1.5em} + \def\thebibliography{\@ifnextchar[{\@bib@init}{\@bib@init[\refname]}} + \def\@bib@init[#1]{\@ifnextchar({\@bib@inita[#1]}{\@bib@inita[#1](\section*,\z@)}} + \def\@bib@inita[#1](#2,#3)#4{% + #2{#1\@mkboth{\MakeUppercase#1}{\MakeUppercase#1}}% + \kern#3 + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#4}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m} + \def\endthebibliography{% + \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +} + + +\ProcessOptions + +\endinput +%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/easy/easybmat.sty b/Master/texmf-dist/tex/latex/easy/easybmat.sty new file mode 100644 index 00000000000..3dc665be6ab --- /dev/null +++ b/Master/texmf-dist/tex/latex/easy/easybmat.sty @@ -0,0 +1,152 @@ +%%% ==================================================================== +%%% @LaTeX-style-file{ +%%% author = "Enrico Bertolazzi", +%%% version = "1.0", +%%% date = "13-JUN-2001", +%%% filename = "easybmat.sty", +%%% address = "Laboratorio di Matematica Applicata +%%% e Meccanica Strutturale, +%%% Trento University, +%%% Via Mesiano, Trento, Italy", +%%% FAX = "+39 (461) 882599", +%%% email = "enrico.bertolazzi@ing.unitn.it (Internet)", +%%% supported = "yes. Please send comments via E-mail", +%%% docstring = "package for easy typing block matrices." +%%% +%%% INSTALLATION: +%%% Put this file where your TeX looks for inputs. +%%% +%%% DOCUMENTATION: +%%% Compile docbmat.tex. +%%% +%%% Copyright 1999 Enrico Bertolazzi +%%% +%%% 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. +%%% +%%% } +%%% ====================================================================%%% +%%% ___ ____ ___ _ _ ___ ____ ___ _ _ %%% +%%% / \ / / \ \ / / \ / / \ \ / %%% +%%% /____/ /__ /____/ \/ /____/ /__ /____/ \/ %%% +%%% / \ / / \ / / \ / / \ / %%% +%%% /____/ /____ / \ / /____/ /____ / \ / %%% +%%% ====================================================================%%% +%%% v 1.0 13-JUN-2001 changed \@roman with \romannumeral (thanks to Claudio Beccari) +\def\filedate{2001/06/13} +\def\fileversion{v1.0} +\typeout{Document Style `easybmat' \fileversion\space<\filedate>.} +%% BEGIN easybmat.sty +%% + +\NeedsTeXFormat{LaTeX2e} +\RequirePackage{easy} +\ProvidesPackage{easybmat}[\filedate\space\fileversion] + +\DeclareOption{thinlines}{% + \@bmat@size@rule=.7pt\relax + \@bmat@size@dash=.5pt\relax +} + +\DeclareOption{thiklines}{% + \@bmat@size@rule=1.5pt\relax + \@bmat@size@dash=1.2pt\relax +} + +\DeclareOption{thicklines}{% + \@bmat@size@rule=1.5pt\relax + \@bmat@size@dash=1.2pt\relax +} + +\newdimen\@bmat@size@rule\@bmat@size@rule=1pt\relax +\newdimen\@bmat@size@dash\@bmat@size@dash=.7pt\relax + +\ProcessOptions + +\@easy@disable@space + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\@bmat@addcol{\g@addto@macro\@bmat@preamble{$\displaystyle{##}$&}} +\def\@bmat@make@preamble{% + \@easy@let(@easy@align){@easy@col@align\romannumeral\@easy@level}% + \@easy@let(@easy@rules){@easy@col@rules\romannumeral\@easy@level}% + \gdef\@bmat@preamble{% + \vbox\bgroup\lineskip\z@skip% + \tabskip\z@skip% + \baselineskip\z@skip% + \everycr{}\halign\bgroup}% + \@easy@rotate\@easy@align% + \loop% + \@easy@rotate\@easy@align% + \edef\@tempa{\@easy@firstchar\@easy@align}% + \expandafter\ifx\@tempa`\relax\else% + \@bmat@addcol% + \repeat% + \g@addto@macro\@bmat@preamble{$\displaystyle{##}$\crcr} +} + + +\def\BMAT{\advance\@easy@level\@ne\@easy@ifnextchar({\@BMAT}{\@BMAT(@)}} +\def\@BMAT(#1){ + \def\@bmat@split##1,##2,##3,##4\end{ + \@easy@xdef(@bmat@balance\romannumeral\@easy@level){##1}% + \global\@nameuse{@easy@minx\romannumeral\@easy@level}=##2 + \global\@nameuse{@easy@miny\romannumeral\@easy@level}=##3 + } + \expandafter\@bmat@split#1,\z@,\z@, \end + \@@BMAT} + +\def\@@BMAT{\@easy@ifnextchar[{\@@@BMAT}{\@@@BMAT[2pt]}} + +\def\@@@BMAT[#1]#2#3{ + \def\@bmat@split##1,##2,##3,##4\end{ + \@easy@xdef(@bmat@spread\romannumeral\@easy@level){##1}% + \global\@nameuse{@easy@maxx\romannumeral\@easy@level}=##2 + \global\@nameuse{@easy@maxy\romannumeral\@easy@level}=##3 + } + \expandafter\@bmat@split#1,\z@,\z@, \end + \@easy@parse@cols{#2} + \@easy@parse@rows{#3}% + \@bmat@make@preamble% + \def\\{\crcr}% + \global\let\@easy@path\@empty% + \setbox\@nameuse{@easy@box\romannumeral\@easy@level}\@bmat@preamble% +} +\def\endBMAT{% + \crcr\egroup\egroup% + \@easy@glet(@easy@mainbox) {@easy@box\romannumeral\@easy@level}% + \@easy@glet(@easy@col@align) {@easy@col@align\romannumeral\@easy@level}% + \@easy@glet(@easy@col@rules) {@easy@col@rules\romannumeral\@easy@level}% + \@easy@glet(@easy@row@align) {@easy@row@align\romannumeral\@easy@level}% + \@easy@glet(@easy@row@rules) {@easy@row@rules\romannumeral\@easy@level}% + \@easy@glet(@easy@minx) {@easy@minx\romannumeral\@easy@level}% + \@easy@glet(@easy@miny) {@easy@miny\romannumeral\@easy@level}% + \@easy@glet(@easy@maxx) {@easy@maxx\romannumeral\@easy@level}% + \@easy@glet(@easy@maxy) {@easy@maxy\romannumeral\@easy@level}% + % + \@easy@glet(@easy@balance) {@bmat@balance\romannumeral\@easy@level}% + \@easy@glet(@easy@spread) {@bmat@spread\romannumeral\@easy@level}% + % + \global\let\@easy@size@dash\@bmat@size@dash + \global\let\@easy@size@rule\@bmat@size@rule + % + \@easy@evaldim% +% \typeout{Easybmat [row:\the\@easy@nrow,col:\the\@easy@ncol]} + \@easy@balance@row@col% + \@easy@buildbox% + \@easy@vlines% + \@easy@hlines% + \vcenter{\hbox{\rlap{\box\@ne} + \rlap{\box\tw@} + \ifx\@easy@path\@empty\else\@easy@dopath\rlap{\box\thr@@}\fi + \box\@easy@mainbox}}% + \advance\@easy@level\m@ne% +} + +\@easy@enable@space + +\endinput +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/latex/easy/easyeqn.sty b/Master/texmf-dist/tex/latex/easy/easyeqn.sty new file mode 100644 index 00000000000..5954b1a9401 --- /dev/null +++ b/Master/texmf-dist/tex/latex/easy/easyeqn.sty @@ -0,0 +1,426 @@ +%%% ==================================================================== +%%% @LaTeX-style-file{ +%%% author = "Enrico Bertolazzi", +%%% version = "1.94", +%%% date = "18-MAR-2002", +%%% filename = "easyeqn.sty", +%%% address = "Dipatimento di Ingegneria +%%% Meccanica e Strutturale, +%%% Trento University, +%%% Via Mesiano, Trento, Italy", +%%% FAX = "+39 (461) 882599", +%%% email = "enrico.bertolazzi@ing.unitn.it (Internet)", +%%% supported = "yes. Please send comments via E-mail", +%%% docstring = "package for easy typing equations." +%%% +%%% INSTALLATION: +%%% Put this file where your TeX looks for inputs. +%%% +%%% DOCUMENTATION: +%%% Compile doceqn.tex. +%%% +%%% Copyright 1999 Enrico Bertolazzi +%%% +%%% 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. +%%% +%%% } +%%% +%%% v 0.2 15/may/96 first release +%%% v 0.3 27/july/96 +%%% addedd fleq, leqno options +%%% EQA environment +%%% \numberright and \equationcenter commands +%%% improved \label command +%%% v 0.4 improved tracing algorithm +%%% v 0.5 improved spacing in the formulae, added cosmetic commands +%%% v 0.6 correct label alignment in single equation +%%% v 0.7 added additional macros +%%% v 0.8 \ParDer now work also with easyvector +%%% v 0.9 \ParDer now work also with easyvector with indices +%%% v 1.0 Added ~ convection for eqlabel fixed an error in showkeys +%%% v 1.1 added additional macros +%%% v 1.2 compatibility with hyper macros +%%% v 1.3 chaged copyright +%%% v 1.4 added commands \eqlabeltop, \eqlabelbot, \eqlabelcenter +%%% v 1.5 fixed a bug on allnumber +%%% v 1.6 fixed a bug on equation number alignment +%%% v 1.7 fixed a bug on equation number vertical alignment +%%% v 1.8 fixed a bad spacing with \baselinestretch +%%% v 1.9 13-JUN-2001 changed \@roman with \romannumeral (thanks to Claudio Beccari) +%%% v 1.91 19-JUN-2001 fixed a bug in \eqlabel introduced in version 1.9 +%%% v 1.92 18-JULY-2001 improved equation spacing +%%% v 1.93 23-AUG-2001 correct a bug with showkeys +%%% v 1.94 18-MAR-2002 fixed a bug compatibility with hyperref +%%% ====================================================================%%% +%%% ___ ____ ___ _ _ ___ ____ ___ _ _ %%% +%%% / \ / / \ \ / / \ / / \ \ / %%% +%%% /____/ /__ /____/ \/ /____/ /__ /____/ \/ %%% +%%% / \ / / \ / / \ / / \ / %%% +%%% /____/ /____ / \ / /____/ /____ / \ / %%% +%%% ====================================================================%%% +\def\filedate{2002/03/18} +\def\fileversion{v1.94} +\typeout{Document Style `easyeqn' \fileversion\space<\filedate>.} +%% BEGIN easyeqn.sty +%% +\NeedsTeXFormat{LaTeX2e} +\RequirePackage{easy} +\ProvidesPackage{easyeqn}[\filedate\space\fileversion] + +\@easy@disable@space + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newdimen\@EQ@leftmargin\@EQ@leftmargin\leftmargini +\newdimen\@EQ@col@sep\@EQ@col@sep=2pt + +\newcommand{\equationcenter}{\gdef\@EQ@indent{\tabskip\@centering}}% +\newcommand{\equationleft}{\gdef\@EQ@indent{\tabskip\@EQ@leftmargin}}% +% +\newcommand{\eqspacing}[1]{\xdef\@EQ@surround{\noexpand\abovedisplayskip#1\noexpand\belowdisplayskip#1}} +\newcommand{\eqleftmargin}[1]{\global\@EQ@leftmargin=#1} +% +\newcommand{\eqcolumnsep}[1]{\@tempdima=#1\divide\@tempdima2\global\@EQ@col@sep=\@tempdima} +% +\newcommand{\eqrowsep}[1]{\def\@tempa##1{% + \gdef\@EQ@rowsep{\penalty\@M\vskip##1}} + \expandafter\@tempa{#1}} +% +\newcommand{\numberleft}{\global\let\@EQ@NUM\@EQ@NUM@LEFT} +\newcommand{\numberright}{\global\let\@EQ@NUM\@EQ@NUM@RIGHT} + +\def\@EQ@reset@numbering{\global\let\if@EQ@numbering\iffalse} + +\DeclareOption{allnumber}{% + \gdef\@EQ@reset@numbering{\global\let\if@EQ@numbering\iftrue} + \gdef\@EQ@eqnum{\refstepcounter{equation}\@EQ@base@eqnum} +} + +\DeclareOption{fleqn}{\equationleft} + +\global\let\if@EQ@number@left\iffalse +\DeclareOption{leqno}{\global\let\if@EQ@number@left\iftrue} + +\DeclareOption{math}{% + + \def\binom#1#2{{#1\atopwithdelims()#2}} + + \def\abs#1{\left\vert#1\right\vert} + \def\norm#1{\left\Vert#1\right\Vert} + + \def\frac{\@ifnextchar[\@EQ@frac\@EQ@frac@} + \def\@EQ@frac[#1]#2#3{{\begingroup#2\endgroup\above#1#3}} + \def\@EQ@frac@#1#2{{\begingroup#1\endgroup\over#2}} + + \providecommand{\dfrac}{\@ifnextchar[\@EQ@dfrac\@EQ@dfrac@} + \def\@EQ@dfrac[#1]#2#3{\displaystyle{\begingroup#2\endgroup\above#1#3}} + \def\@EQ@dfrac@#1#2{\displaystyle{\begingroup#1\endgroup\over#2}} + + \providecommand{\tfrac}{\@ifnextchar[\@EQ@tfrac\@EQ@tfrac@} + \def\@EQ@tfrac[#1]#2#3{\scriptstyle{\begingroup#2\endgroup\above#1#3}} + \def\@EQ@tfrac@#1#2{\scriptstyle{\begingroup#1\endgroup\over#2}} + + \def\boxed#1{\fbox{$\displaystyle{#1}$}} + \def\eqbox{\@ifnextchar(\@EQ@box{\@EQ@box(.25pt,3pt)}} + \def\@EQ@box(#1,#2)#3{\fboxrule#1\fboxsep#2\fbox{$\displaystyle#3$}} + + \newcount\@EQ@DP@n\@EQ@DP@n=\z@ + \newcount\@EQ@DP@nt\@EQ@DP@nt=\m@ne + + \def\ParDer[{% + \global\@EQ@DP@n=\z@ + \global\@EQ@DP@nt=\z@ + \global\let\@EQ@DP@x\@empty + \global\let\@EQ@DP@oldx\@empty + \futurelet\@tempb\@EQ@DP@parsea} +% + \def\@EQ@DP@parsea{\futurelet\@tempb\@EQ@DP@parseb} + \def\@EQ@DP@parseb{% + \let\next\@EQ@DP@eat% + \ifx]\@tempb\let\next\@EQ@DP@close\else% + \ifx\bgroup\@tempb\let\next\@EQ@DP@bgroup\fi\fi% + \next}% +% + \def\@EQ@DP@close#1#2{% + \@EQ@DP@eat\end + \ifnum\@ne=\@EQ@DP@nt\let\tmp\@empty\else\def\tmp{^{\the\@EQ@DP@nt}}\fi + \frac{\partial\tmp#2}{\@EQ@DP@x}}% +% + \def\@EQ@DP@bgroup#1{\@EQ@DP@eat{#1}} + + \gdef\@EQ@DP@eat#1{% + \let\@EQ@DP@tmpa\@empty + \g@addto@macro\@EQ@DP@tmpa{#1} + \ifx\@EQ@DP@oldx\@EQ@DP@tmpa + \else% new symbol added + \ifx\@EQ@DP@oldx\@empty\else + \g@addto@macro\@EQ@DP@x{\partial\bgroup} + \expandafter\g@addto@macro\expandafter\@EQ@DP@x\expandafter{\@EQ@DP@oldx\egroup} + \ifnum\@ne=\@EQ@DP@n\else% + \edef\@EQ@DP@tmpb{\noexpand\g@addto@macro\noexpand\@EQ@DP@x{^{\the\@EQ@DP@n}}} + \@EQ@DP@tmpb + \fi + \global\advance\@EQ@DP@nt by \@EQ@DP@n\global\@EQ@DP@n=\z@ + \fi + \global\let\@EQ@DP@oldx\@EQ@DP@tmpa + \fi + \global\advance\@EQ@DP@n by \@ne + \ifx#1\end\else\expandafter\@EQ@DP@parsea\fi + } + + \newcommand{\DIV}[1]{\nabla\cdot#1} + \newcommand{\GRAD}[1]{\nabla#1} + \newcommand{\LAPLA}[1]{\Delta#1} + + \newcommand{\SUM}{\@ifnextchar[\@SUM\@@SUM} + \def\@SUM[#1]#2#3{{\sum\limits_{#2}^{#3}\!\vphantom{\sum\limits_{#2}^{#3}}^{^{(#1)}}}} + \def\@@SUM#1#2{\sum\limits_{#1}^{#2}} + + \newcommand{\PROD}{\@ifnextchar[\@PROD\@@PROD} + \def\@PROD[#1]#2#3{{\prod\limits_{#2}^{#3}\!\vphantom{\prod\limits_{#2}^{#3}}^{^{(#1)}}}} + \def\@@PROD#1#2{\prod\limits_{#1}^{#2}} + + + \def\@EQ@parse@extra{% + \gdef\@EQ@bformat{\vcenter\bgroup\normalbaselines\m@th\ialign\bgroup}% + \global\let\@EQ@cmdadd\@empty\@EQ@parsea} + + \newenvironment{ARRAY}[1] + {\expandafter\@EQ@parse@extra#1\end\let\@EQ@rowsep\smallskip\let\\\@EQ@CR\@EQ@bformat\crcr} + {\crcr\egroup\egroup} + + \newenvironment{MATRIX} + {\,\vcenter\bgroup\everycr{}\let\@EQ@rowsep\smallskip\let\\\@EQ@CR + \halign\bgroup\hfil$\mathstrut##$\hfil&&\quad\hfil$\mathstrut##$\hfil\crcr} + {\crcr\egroup\egroup\,} + +} + +\@easy@enable@space + +\let\@EQ@file@input\jobname + +\DeclareOption{warning}{% + \newcount\@EQ@level\@EQ@level=\@ne% + \xdef\@EQ@file@inputi{\jobname.tex} + \xdef\@EQ@file@input{\jobname.tex} + \global\let\@EQ@old@input\input + \gdef\@EQ@input@shade{% + \@ifnextchar\bgroup{\@EQ@input}{% + \PackageWarning{`easyeqn'}% + {you must use \string\input\space with file within braces for + correct cross referencing}\@EQ@old@input}% + } + \gdef\@EQ@input#1{% + \global\advance\@EQ@level by \@ne + \expandafter\xdef\csname @EQ@file@input\romannumeral\@EQ@level\endcsname{#1} + \xdef\@EQ@file@input{\csname @EQ@file@input\romannumeral\@EQ@level\endcsname} + \@EQ@old@input{#1}% + \global\advance\@EQ@level by \m@ne + \xdef\@EQ@file@input{\csname @EQ@file@input\romannumeral\@EQ@level\endcsname} + } + \global\let\@EQ@old@input\input% + \AtBeginDocument{\global\let\input\@EQ@input@shade}% + \AtEndDocument{\global\let\input\@EQ@old@input}% + + \gdef\@EQ@write@warning#1{% + \edef\@temp{\noexpand\AtEndDocument{\noexpand\PackageWarningNoLine{`easyeqn'}% + {Label `#1' may be not referenced, in \@EQ@file@input\space line \the\inputlineno}}}% + \@temp% + } +} + +\DeclareOption{easyold}{% + + \def\EQS{\@EQ@NUMBER\@easy@ifnextchar[\@EQ@ALIGN{\@EQ@ALIGN[rl]}} + \let\endEQS\end@EQ@ALIGN + + \@easy@def(EQ*) {\@EQ@NO@NUMBER\@easy@ifnextchar[\@EQ@ALIGN{\@EQ@ALIGN[c]}} + \@easy@def(EQS*){\@EQ@NO@NUMBER\@easy@ifnextchar[\@EQ@ALIGN{\@EQ@ALIGN[rl]}} + \@easy@def(EQA*){\@EQ@NO@NUMBER\@easy@ifnextchar[\@EQ@A@ALIGN{\@EQ@A@ALIGN[rl]}} + + \@easy@let(EQ*) {end@EQ@ALIGN} + \@easy@let(EQS*){end@EQ@ALIGN} + \@easy@let(EQA*){end@EQ@A@ALIGN} +} + +\def\@EQ@warning@nolabel{% + \PackageWarning{`easyeqn'}% + {\string\label\space and \string\eqlabel\space disabled in EQx* environments} +} + +\@easy@disable@space + +\def\@EQ@newreference#1{\@easy@glet(r@eq@#1){@empty}} +\def\@EQ@addreference#1{\@bsphack\protected@write\@auxout{}{\string\@EQ@newreference{#1}}\@esphack} + +\def\refeq#1{\protect\@EQ@addreference{#1}\@EQ@old@ref{#1}} +\def\eqref#1{\hbox{\@EQ@base@format(\refeq{#1})}} + +\def\@EQ@write@warning#1{} + +\def\@EQ@NUMBER{\let\label\eqlabel\@EQ@reset@numbering} +\def\@EQ@NO@NUMBER{\let\label\@EQ@warning@nolabel} + +\eqrowsep{7pt} +\equationcenter +\eqspacing{12pt plus 3pt minus 3pt} + +\ProcessOptions + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\@EQ@base@format{\normalfont\normalcolor}% +\def\@EQ@base@eqnum{\@EQ@base@format(\theequation)}% +\def\@EQ@stepnumber{\refstepcounter{equation}} + +\newcommand{\yesnumber}{% +\@EQ@stepnumber% +\global\let\if@EQ@numbering\iftrue% +\global\let\@EQ@eqnum\@EQ@base@eqnum} + +\newcommand{\eqlabel}{\global\let\@EQ@eqnum\@EQ@base@eqnum\@ifnextchar[\@EQ@a\@EQ@x} +\def\@EQ@x{\@ifnextchar(\@EQ@b\@EQ@c} +\def\@EQ@a[#1]{\@EQ@customlabel{#1}{#1}} +\def\@EQ@b(#1){\@EQ@customlabel{(#1)}{#1}} +\def\@EQ@customlabel#1#2{% + \begingroup + \def~{\theequation} + \xdef\@EQ@eqnum{\noexpand\@EQ@base@format#1} + \xdef\@currentlabel{#2} + \endgroup + \global\let\if@EQ@numbering\iftrue + \@ifnextchar\bgroup{\@EQ@d}{}} + +\def\@EQ@c#1{% + \@EQ@SK@label{#1} + \@ifundefined{r@eq@#1}{\@EQ@write@warning{#1}} + {\@EQ@stepnumber\global\let\if@EQ@numbering\iftrue\@EQ@old@label{#1}} +} + +\def\@EQ@d#1{\@EQ@SK@label{#1}\@EQ@old@label{#1}} + +\def\@EQ@CR{\global\let\@EQ@eqbox@do\@EQ@eqbox{\ifnum0=`}\fi\@EQ@CR@} +\def\@EQ@CR@{\@ifnextchar[\@EQ@CR@@{\@EQ@CR@@[\z@]}} +\def\@EQ@CR@@[#1]{% + \ifnum0=`{\fi} + \crcr\noalign{\@EQ@rowsep\vskip#1\relax} +} + +\def\@EQ@NL{{\ifnum0=`}\fi\@EQ@NL@} +\def\@EQ@NL@{\@ifnextchar[\@EQ@NL@@{\@EQ@NL@@[\z@]}} +\def\@EQ@NL@@[#1]{% + \ifnum0=`{\fi}&\@EQ@NUM% + \@EQ@reset@numbering\crcr\noalign{\@EQ@rowsep\vskip#1\relax} +} + +\newcommand{\eqmulticol}[3]{% + \multispan{#1} + \ifx#2l\else\hfil\fi + $\displaystyle#3$ + \ifx#2r\else\hfil\fi} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Do Label + +\def\@EQ@SK@label#1{} +\let\@EQ@SK@left\@empty +\let\@EQ@SK@right\@empty + +\def\@EQ@NUM@LEFT{\llap{\hb@xt@\displaywidth{\@EQ@SK@left\if@EQ@numbering\@EQ@eqnum\fi\hss}}} +\def\@EQ@NUM@RIGHT{\@EQ@SK@right\if@EQ@numbering\llap{\@EQ@eqnum}\fi} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Parser zone +\def\@EQ@addcol{% + \g@addto@macro\@EQ@bformat{\tabskip\z@skip\hskip\@EQ@col@sep&\hskip\@EQ@col@sep}} + +\def\@EQ@addcola{% + \g@addto@macro\@EQ@bformat{\tabskip\z@skip&}} + +\def\@EQ@parse{% + \gdef\@EQ@bformat{\everycr{}\@EQ@indent\halign to\displaywidth\bgroup}% + \global\let\@EQ@cmdadd\@empty\@EQ@parsea} + +\def\@EQ@parsea#1{\ifx#1\end\else\@EQ@cmd{#1}\expandafter\@EQ@parsea\fi}% + +\def\@EQ@alignl{\g@addto@macro\@EQ@bformat{$\displaystyle##$\hfil}} +\def\@EQ@alignr{\g@addto@macro\@EQ@bformat{\hfil$\displaystyle##$}} +\def\@EQ@alignc{\g@addto@macro\@EQ@bformat{\hfil$\displaystyle##$\hfil}} + +\def\@EQ@cmd#1{% + \ifx#1. + \global\let\@EQ@cmdadd\@EQ@addcola% + \else + \@EQ@cmdadd + \global\let\@EQ@cmdadd\@EQ@addcol% + \expandafter\let\expandafter\@tempa\csname @EQ@align#1\endcsname + \ifx\@tempa\relax\PackageWarningNoLine{`easyeqn'} + {Alignment\space`#1'\space not \space defined \space + `c'\space substituted,\space in \space + \@EQ@file@input\space line\space \the\inputlineno} + \@EQ@alignc + \else + \@tempa + \fi + \fi} + +\def\@EQ@skip{\vskip\baselinestretch\floatsep} +\def\eqlabeltop{\def\@EQ@eqbox##1{\vtop{##1\@EQ@skip}}} +\def\eqlabelbot{\def\@EQ@eqbox##1{\vbox{\@EQ@skip##1}}} +\def\eqlabelcenter{\def\@EQ@eqbox##1{\vbox{\@EQ@skip}\vcenter{##1}\vbox{\@EQ@skip}}} + +\eqlabelcenter + + +\newbox\@EQ@EQN@BOX +% +\def\@EQ@A@ALIGN[#1]{% + \expandafter\@EQ@parse#1\end + \let\\\@EQ@NL% + $$\@EQ@surround\@EQ@bformat\tabskip\@centering&\tabskip\z@skip\hb@xt@\z@{\hss##}\crcr} +% +\def\end@EQ@A@ALIGN{&\@EQ@NUM\crcr\egroup$$\@ignoretrue} + +\def\@EQ@ALIGN[#1]{% + \expandafter\@EQ@parse#1\end + \let\\\@EQ@CR% +% \def\@EQ@eqbox@do##1{\vbox{\@EQ@skip}\vbox{##1}\vbox{\@EQ@skip}} + \let\@EQ@eqbox@do\vbox + $$\@EQ@surround\setbox\@EQ@EQN@BOX\vbox\bgroup\@EQ@bformat\tabskip\@centering\crcr} +% +\def\end@EQ@ALIGN{\crcr\egroup\egroup\@EQ@eqbox@do{\unvbox\@EQ@EQN@BOX}\@EQ@NUM$$\@ignoretrue} + +\def\EQ{\@EQ@NUMBER\@easy@ifnextchar[\@EQ@ALIGN{\@EQ@ALIGN[c]}} +\let\endEQ\end@EQ@ALIGN + +\def\EQA{\@EQ@NUMBER\@easy@ifnextchar[\@EQ@A@ALIGN{\@EQ@A@ALIGN[rcl]}} +\let\endEQA\end@EQ@A@ALIGN + + +\AtBeginDocument{% +% + \let\@EQ@old@ref\ref + \let\@EQ@old@label\label +% + \@ifundefined{SK@label}{% + }{% + \def\@EQ@SK@left{\llap{\@EQ@SK@lab\kern\marginparsep}\global\let\SK@lab\@empty} + \def\@EQ@SK@right{\rlap{\kern\marginparsep\@EQ@SK@lab}\global\let\SK@lab\@empty} + \def\@EQ@SK@label#1{% + \gdef\@EQ@SK@lab{% + \edef\@tempa{#1} + \smash{\SK@labelcolor\fbox{\normalfont\small\ttfamily\expandafter\strip@prefix\meaning\@tempa}}% + } + } + \@ifundefined{ltx@label}{\let\@EQ@old@label\SK@label}{} + } + \if@EQ@number@left\numberleft\else\numberright\fi + \let\if@EQ@number@left\relax +} + +\@easy@enable@space + +\endinput diff --git a/Master/texmf-dist/tex/latex/easy/easymat.sty b/Master/texmf-dist/tex/latex/easy/easymat.sty new file mode 100644 index 00000000000..f263189eedf --- /dev/null +++ b/Master/texmf-dist/tex/latex/easy/easymat.sty @@ -0,0 +1,179 @@ +%%% ==================================================================== +%%% @LaTeX-style-file{ +%%% author = "Enrico Bertolazzi", +%%% version = "0.4", +%%% date = "13-JUN-2001", +%%% filename = "easybmat.sty", +%%% address = "Laboratorio di Matematica Applicata +%%% e Meccanica Strutturale, +%%% Trento University, +%%% Via Mesiano, Trento, Italy", +%%% FAX = "+39 (461) 882599", +%%% email = "enrico.bertolazzi@ing.unitn.it (Internet)", +%%% supported = "yes. Please send comments via E-mail", +%%% docstring = "package for easy typing equations." +%%% +%%% INSTALLATION: +%%% Put this file where your TeX looks for inputs. +%%% +%%% DOCUMENTATION: +%%% Compile docbmat.tex. +%%% +%%% COPYING: +%%% Copyright 1999 Enrico Bertolazzi +%%% +%%% 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. +%%% +%%% } +%%% ====================================================================%%% +%%% ___ ____ ___ _ _ ___ ____ ___ _ _ %%% +%%% / \ / / \ \ / / \ / / \ \ / %%% +%%% /____/ /__ /____/ \/ /____/ /__ /____/ \/ %%% +%%% / \ / / \ / / \ / / \ / %%% +%%% /____/ /____ / \ / /____/ /____ / \ / %%% +%%% ====================================================================%%% +%%% v 0.4 13-JUN-2001 changed \@roman with \romannumeral (thanks to Claudio Beccari) +\def\filedate{2001/06/13} +\def\fileversion{v0.4} +\typeout{Document Style `easybmat' \fileversion\space<\filedate>.} +%% BEGIN easybmat.sty +%% +\NeedsTeXFormat{LaTeX2e} +\RequirePackage{easy} +\ProvidesPackage{easymat}[\filedate\space\fileversion] + +\DeclareOption{thinlines}{% + \@mat@size@rule=.7pt\relax + \@mat@size@dash=.5pt\relax +} + +\DeclareOption{thiklines}{% + \@mat@size@rule=1.5pt\relax + \@mat@size@dash=1.2pt\relax +} + +\newdimen\@mat@size@rule\@mat@size@rule=1pt\relax +\newdimen\@mat@size@dash\@mat@size@dash=.7pt\relax + +\ProcessOptions + +\@easy@disable@space + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\@mat@CR{\futurelet\@tempb\@mat@CR@} +\def\@mat@CR@{% + \@easy@xdef(@easy@row@align\romannumeral\@easy@level) + {\@mat@row@align@charracter\csname @easy@row@align\romannumeral\@easy@level\endcsname} + \xdef\@mat@row@align@charracter{c} + \def\next{ + \@easy@xdef(@easy@row@rules\romannumeral\@easy@level) + {@\csname @easy@row@rules\romannumeral\@easy@level\endcsname} + \crcr + }% + \@tfor\@tempa:=.;:-|0123456789\do{% + \expandafter\ifx\expandafter\@tempb\@tempa + \def\next##1{ + \@easy@xdef(@easy@row@rules\romannumeral\@easy@level) + {\@tempa\csname @easy@row@rules\romannumeral\@easy@level\endcsname} + \crcr + }% + \@break@tfor% + \fi% + } + \next +} + +\def\@mat@addcol{\g@addto@macro\@mat@preamble{$\displaystyle{##}$&}} +\def\@mat@make@preamble{% + \@easy@let(@easy@align){@easy@col@align\romannumeral\@easy@level}% + \@easy@let(@easy@rules){@easy@col@rules\romannumeral\@easy@level}% + \gdef\@mat@preamble{% + \vbox\bgroup\lineskip\z@skip% + \tabskip\z@skip% + \baselineskip\z@skip% + \everycr{}\halign\bgroup}% + \@easy@rotate\@easy@align% + \loop% + \@easy@rotate\@easy@align% + \edef\@tempa{\@easy@firstchar\@easy@align}% + \expandafter\ifx\@tempa`\relax\else% + \@mat@addcol% + \repeat% + \g@addto@macro\@mat@preamble{$\displaystyle{##}$\crcr} +} + + +\def\MAT{\advance\@easy@level\@ne\@easy@ifnextchar({\@MAT}{\@MAT(@)}} +\def\@MAT(#1){ + \def\@mat@split##1,##2,##3,##4\end{ + \@easy@xdef(@mat@balance\romannumeral\@easy@level){##1}% + \global\@nameuse{@easy@minx\romannumeral\@easy@level}=##2 + \global\@nameuse{@easy@miny\romannumeral\@easy@level}=##3 + } + \expandafter\@mat@split#1,\z@,\z@, \end + \@@MAT} + +\xdef\@mat@row@align@charracter{c} + +\def\@@MAT{\@easy@ifnextchar[{\@@@MAT}{\@@@MAT[2pt]}} + +\def\@@@MAT[#1]#2{ + \def\@mat@split##1,##2,##3,##4\end{ + \@easy@xdef(@mat@spread\romannumeral\@easy@level){##1}% + \global\@nameuse{@easy@maxx\romannumeral\@easy@level}=##2 + \global\@nameuse{@easy@maxy\romannumeral\@easy@level}=##3 + } + \expandafter\@mat@split#1,\z@,\z@, \end + \@easy@parse@cols{#2}% + \@easy@xdef(@easy@row@align\romannumeral\@easy@level){}% + \@easy@xdef(@easy@row@rules\romannumeral\@easy@level){@}% + \def\first##1{\@easy@xdef(@easy@row@rules\romannumeral\@easy@level){##1}}% + \def\aligntop{\xdef\@mat@row@align@charracter{t}} + \def\alignbottom{\xdef\@mat@row@align@charracter{b}} + \@mat@make@preamble% + \def\\{\@mat@CR}% + \global\let\@easy@path\@empty% + \setbox\@nameuse{@easy@box\romannumeral\@easy@level}\@mat@preamble% +} + +\def\endMAT{% + \crcr\egroup\egroup% + % + \xdef\@easy@row@align{`\csname @easy@row@align\romannumeral\@easy@level\endcsname}% + \xdef\@easy@row@rules{`\csname @easy@row@rules\romannumeral\@easy@level\endcsname}% + % + \@easy@glet(@easy@mainbox) {@easy@box\romannumeral\@easy@level}% + \@easy@glet(@easy@col@align) {@easy@col@align\romannumeral\@easy@level}% + \@easy@glet(@easy@col@rules) {@easy@col@rules\romannumeral\@easy@level}% + \@easy@glet(@easy@minx) {@easy@minx\romannumeral\@easy@level}% + \@easy@glet(@easy@miny) {@easy@miny\romannumeral\@easy@level}% + \@easy@glet(@easy@maxx) {@easy@maxx\romannumeral\@easy@level}% + \@easy@glet(@easy@maxy) {@easy@maxy\romannumeral\@easy@level}% + % + \@easy@glet(@easy@balance) {@mat@balance\romannumeral\@easy@level}% + \@easy@glet(@easy@spread) {@mat@spread\romannumeral\@easy@level}% + % + \global\let\@easy@size@dash\@mat@size@dash + \global\let\@easy@size@rule\@mat@size@rule + % + \@easy@evaldim% +% \typeout{Easybmat [row:\the\@easy@nrow,col:\the\@easy@ncol]} + \@easy@balance@row@col% + \@easy@buildbox% + \@easy@vlines% + \@easy@hlines% + \vcenter{\hbox{\rlap{\box\@ne} + \rlap{\box\tw@} + \ifx\@easy@path\@empty\else\@easy@dopath\rlap{\box\thr@@}\fi + \box\@easy@mainbox}}% + \advance\@easy@level\m@ne% +} + +\@easy@enable@space + +\endinput +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/latex/easy/easytable.sty b/Master/texmf-dist/tex/latex/easy/easytable.sty new file mode 100644 index 00000000000..8c02ebe6b78 --- /dev/null +++ b/Master/texmf-dist/tex/latex/easy/easytable.sty @@ -0,0 +1,150 @@ +%%% ==================================================================== +%%% @LaTeX-style-file{ +%%% author = "Enrico Bertolazzi", +%%% version = "1.0", +%%% date = "13-JUN-2001", +%%% filename = "easytable.sty", +%%% address = "Laboratorio di Matematica Applicata +%%% e Meccanica Strutturale, +%%% Trento University, +%%% Via Mesiano, Trento, Italy", +%%% FAX = "+39 (461) 882599", +%%% email = "enrico.bertolazzi@ing.unitn.it (Internet)", +%%% supported = "yes. Please send comments via E-mail", +%%% docstring = "package for easy typing equations." +%%% INSTALLATION: +%%% Put this file where your TeX looks for inputs. +%%% +%%% DOCUMENTATION: +%%% Compile doctable.tex. +%%% +%%% Copyright 1999 Enrico Bertolazzi +%%% +%%% 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. +%%% +%%% } +%%% ====================================================================%%% +%%% ___ ____ ___ _ _ ___ ____ ___ _ _ %%% +%%% / \ / / \ \ / / \ / / \ \ / %%% +%%% /____/ /__ /____/ \/ /____/ /__ /____/ \/ %%% +%%% / \ / / \ / / \ / / \ / %%% +%%% /____/ /____ / \ / /____/ /____ / \ / %%% +%%% ====================================================================%%% +%%% v 1.0 13-JUN-2001 changed \@roman with \romannumeral (thanks to Claudio Beccari) +\def\filedate{2001/06/13} +\def\fileversion{v1.0} +\typeout{Document Style `easytable' \fileversion\space<\filedate>.} +%% +\NeedsTeXFormat{LaTeX2e} +\RequirePackage{easy} +\ProvidesPackage{easytable}[\filedate \fileversion] + +\DeclareOption{thinlines}{% + \@tab@size@rule=.7pt + \@tab@size@dash=.5pt +} + +\DeclareOption{thicklines}{% + \@tab@size@rule=1.5pt + \@tab@size@dash=1.2pt +} + +\DeclareOption{thiklines}{% + \@tab@size@rule=1.5pt + \@tab@size@dash=1.2pt +} + +\newdimen\@tab@size@rule\@tab@size@rule=1pt +\newdimen\@tab@size@dash\@tab@size@dash=.7pt + +\ProcessOptions + +\@easy@disable@space + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\@tab@addcol{\g@addto@macro\@tab@preamble{\@killglue##\@killglue&}} +\def\@tab@make@preamble{% + \@easy@let(@easy@align){@easy@col@align\romannumeral\@easy@level}% + \@easy@let(@easy@rules){@easy@col@rules\romannumeral\@easy@level}% + \gdef\@tab@preamble{% + \vbox\bgroup\lineskip\z@skip% + \tabskip\z@skip% + \baselineskip\z@skip% + \everycr{}\halign\bgroup}% + \@easy@rotate\@easy@align% + \loop% + \@easy@rotate\@easy@align% + \edef\@tempa{\@easy@firstchar\@easy@align}% + \expandafter\ifx\@tempa`\relax\else% + \@tab@addcol% + \repeat% + \g@addto@macro\@tab@preamble{\@killglue##\@killglue\crcr} +} + +\def\TAB{\advance\@easy@level\@ne\@ifnextchar({\@TAB}{\@TAB(@)}} +\def\@TAB(#1){ + \def\@TAB@split##1,##2,##3,##4\end{ + \@easy@xdef(@tab@balance\romannumeral\@easy@level){##1}% + \global\@nameuse{@easy@minx\romannumeral\@easy@level}=##2 + \global\@nameuse{@easy@miny\romannumeral\@easy@level}=##3 + } + \expandafter\@TAB@split#1,\z@,\z@, \end + \@@TAB} + +\def\@@TAB{\@ifnextchar[{\@@@TAB}{\@@@TAB[2pt]}} + +\def\@@@TAB[#1]#2#3{ + \def\@TAB@split##1,##2,##3,##4\end{ + \@easy@xdef(@tab@spread\romannumeral\@easy@level){##1}% + \global\@nameuse{@easy@maxx\romannumeral\@easy@level}=##2 + \global\@nameuse{@easy@maxy\romannumeral\@easy@level}=##3 + } + \expandafter\@TAB@split#1,\z@,\z@, \end + \@easy@parse@cols{#2} + \@easy@parse@rows{#3}% + \@tab@make@preamble% + \global\let\@easy@path\@empty% + \def\\{\crcr}% + \setbox\@nameuse{@easy@box\romannumeral\@easy@level} + \@tab@preamble +} + +\def\endTAB{% + \crcr\egroup\egroup% + \@easy@glet(@easy@mainbox) {@easy@box\romannumeral\@easy@level}% + \@easy@glet(@easy@col@align) {@easy@col@align\romannumeral\@easy@level}% + \@easy@glet(@easy@col@rules) {@easy@col@rules\romannumeral\@easy@level}% + \@easy@glet(@easy@row@align) {@easy@row@align\romannumeral\@easy@level}% + \@easy@glet(@easy@row@rules) {@easy@row@rules\romannumeral\@easy@level}% + \@easy@glet(@easy@minx) {@easy@minx\romannumeral\@easy@level}% + \@easy@glet(@easy@miny) {@easy@miny\romannumeral\@easy@level}% + \@easy@glet(@easy@maxx) {@easy@maxx\romannumeral\@easy@level}% + \@easy@glet(@easy@maxy) {@easy@maxy\romannumeral\@easy@level}% + % + \@easy@glet(@easy@spread) {@tab@spread\romannumeral\@easy@level}% + \@easy@glet(@easy@balance) {@tab@balance\romannumeral\@easy@level}% + % + \global\let\@easy@size@dash\@tab@size@dash + \global\let\@easy@size@rule\@tab@size@rule + % + \@easy@evaldim% + \typeout{Easytable [row:\the\@easy@nrow,col:\the\@easy@ncol]} + \@easy@balance@row@col% + \@easy@buildbox% + \@easy@vlines% + \@easy@hlines% + \mbox{\rlap{\box\@ne} + \rlap{\box\tw@} + \ifx\@easy@path\@empty\else\@easy@dopath\rlap{\box\thr@@}\fi + \box\@easy@mainbox}% + \advance\@easy@level\m@ne +} + +\@easy@enable@space + +\endinput +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/latex/easy/easyvector.sty b/Master/texmf-dist/tex/latex/easy/easyvector.sty new file mode 100644 index 00000000000..39cac6029f9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/easy/easyvector.sty @@ -0,0 +1,236 @@ +%%% ==================================================================== +%%% @LaTeX-style-file{ +%%% author = "Enrico Bertolazzi", +%%% version = "0.9", +%%% date = "16-MAR-99", +%%% filename = "easyvector.sty", +%%% address = "Laboratorio di Matematica Applicata +%%% e Meccanica Strutturale, +%%% Trento University, +%%% Via Mesiano, Trento, Italy", +%%% FAX = "+39 (461) 882599", +%%% email = "enrico.bertolazzi@ing.unitn.it (Internet)", +%%% supported = "yes. Please send comments via E-mail", +%%% docstring = "package for easy typing of vectors +%%% matrices. +%%% +%%% INSTALLATION: +%%% Put this file where your TeX looks for inputs. +%%% +%%% DOCUMENTATION: +%%% Compile docvector.tex. +%%% +%%% Copyright 1999 Enrico Bertolazzi +%%% +%%% 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. +%%% +%%% } +%%% v 0.1 +%%% v 0.2 15-MAY-96 added \newvector()[] command +%%% v 0.3 27-JULY-96 now \newvector[X,Y]{Z} accept commands for X, Y +%%% v 0.4-0.6 15-SEPT-96 make the commands more roboust and efficient +%%% v 0.7 22-OCT-97 fixed an error in the warning message +%%% v 0.8 28-OCT-97 fixed an incompatibility with easyeqn +%%% v 0.9 11-NOV-97 added @ command +%%% v 1.0 16-MAR-99 changed copyright +%%% ====================================================================%%% +%%% ___ ____ ___ _ _ ___ ____ ___ _ _ %%% +%%% / \ / / \ \ / / \ / / \ \ / %%% +%%% /____/ /__ /____/ \/ /____/ /__ /____/ \/ %%% +%%% / \ / / \ / / \ / / \ / %%% +%%% /____/ /____ / \ / /____/ /____ / \ / %%% +%%% ====================================================================%%% +\def\filedate{1999/03/16} +\def\fileversion{v1.0} +\typeout{Document Style `easyvector' \fileversion\space<\filedate>.} +%% BEGIN easyvector.sty +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{easyvector}[\filedate\space\fileversion] + +\catcode`\ =9\endlinechar=-1 + +\let\@VET@separator=, +\let\@VET@dot@symbol=\bullet +\newcount\@VET@bracecnt + +\begingroup + \makeatother + \let\tmp=@ + \makeatletter + \global\let\@VET@at\tmp +\endgroup + +\let\@VET@bold\mathbf +\let\@VET@nobold\mathit + +\def\newvector{\@ifnextchar(\@newvector\@@newvector} +\def\@newvector(#1)[#2]{\@@newvector[\@VET@nobold{#1},\@VET@bold{#1}]{#2}} +\def\@@newvector[#1,#2]#3{\@@@newvector[#1,#2]{#3}\@VET@parse@start{}} +\def\@@@newvector[#1,#2]#3#4#5{% + \@ifundefined{#3}{% + \edef\@tempb{% + \noexpand\DeclareRobustCommand{\csname#3\endcsname}{% + \noexpand\gdef\noexpand\@VET@indices{% + \noexpand\if@VET@scal\noexpand#1 + \noexpand\else\noexpand#2\noexpand\fi} + \noexpand#4\noexpand#5}} + \@tempb + }{% + \PackageWarningNoLine{`easyvector'}% + {Command\space\@backslashchar\expandafter\string#3\space already\space defined}}} + +\def\newvectora#1#2{\@@newvector[#1,#1]{#2}} + +\def\newcustomvector[#1,#2]#3#4{\@@@newvector[#1,#2]{#3}\@VET@parse@custom{#4}} + +\def\@VET@addtoindices#1{% +{\toks@\expandafter{\@VET@indices#1}\xdef\@VET@indices{\the\toks@}}} + +\def\@VET@parse@custom#1{% + \@ifnextchar[{\let\if@VET@scal\iftrue\@VET@indices#1} + {\let\if@VET@scal\iffalse\@VET@indices}} + +\def\@VET@parse@start{% + \global\let\if@VET@scal\iffalse% + \@ifnextchar!{\@VET@test}{% + \@ifnextchar[{\global\let\if@VET@scal\iftrue\@VET@parsea}{\@VET@indices}}} + +\def\@VET@test#1{\@ifnextchar[\@VET@parsea{\@VET@indices#1}} + +\def\@VET@parsea{\global\@VET@bracecnt\@ne\@VET@parseb} +\def\@VET@parseb{\futurelet\@tempb\@VET@parsec} +\def\@VET@parsec{% + \let\next\@VET@eat% + \ifx[\@tempb\let\next\@VET@open\else% + \ifx]\@tempb\let\next\@VET@close\else% + \ifx\bgroup\@tempb\let\next\@VET@bgroup\else% + \ifnum\@VET@bracecnt=\tw@% can be morecommand + \ifx ,\@tempb\let\next\@VET@sep\else% + \ifx ;\@tempb\let\next\@VET@up\else% + \ifx\@VET@at\@tempb\let\next\@VET@dot\else% + \fi\fi\fi% + \fi% + \fi\fi\fi% + \next}% +% +\def\@VET@open#1{% + \ifnum\@VET@bracecnt=\@ne\@VET@addtoindices{_\bgroup}% + \else\@VET@addtoindices[\fi% + \global\advance\@VET@bracecnt\@ne\@VET@parseb}% +% +\def\@VET@close#1{% + \global\advance\@VET@bracecnt\m@ne% + \ifnum\@VET@bracecnt=\@ne% + \@VET@addtoindices\egroup\expandafter\@VET@indices% + \else% + \@VET@addtoindices]\expandafter\@VET@parseb% + \fi}% +% +\def\@VET@sep#1{\@VET@eat\@VET@separator}% +\def\@VET@up#1{\@VET@eat{\egroup^\bgroup}}% +\def\@VET@bgroup#1{\@VET@eat{\bgroup#1\egroup}} +\def\@VET@eat#1{\@VET@addtoindices{#1}\futurelet\@tempb\@VET@parsec} +\def\@VET@dot#1{\global\let\if@VET@scal\iffalse\@VET@eat\@VET@dot@symbol} +% + +\DeclareOption{boldcm}{% + \let\@VET@bold\relax + \let\@VET@nobold\relax + \DeclareMathAlphabet{\@VET@bold}{OML}{cmm} {b}{it} + \DeclareMathAlphabet{\@VET@nobold}{OML}{cmm}{m}{it} +} + +\DeclareOption{boldcc}{% +% \RequirePackage{concmath} + \let\@VET@bold\relax + \let\@VET@nobold\relax + \DeclareMathAlphabet{\@VET@bold}{OT1}{ccr}{bx}{it} + \DeclareMathAlphabet{\@VET@nobold}{OT1}{ccr}{m}{it} +} + +\DeclareOption{definevectors}{% + + \global\let\oldaa=\aa \let\aa=\relax% + \global\let\oldAA=\AA \let\AA=\relax% + \global\let\oldgg=\gg \let\gg=\relax% + \global\let\oldll=\ll \let\ll=\relax% + \global\let\oldaa=\ss \let\ss=\relax% + \global\let\oldaa=\SS \let\SS=\relax% + \global\let\oldaa=\tt \let\tt=\relax% + + \@tfor\lettera:=ABCDEFGHIJKLMNOPQRSTUVWXYZ% + \do { \newvector(\lettera)[\lettera\lettera] } + + \@tfor\lettera:=abcdefghijklmnopqrstuvwxyz% + \do { \newvector(\lettera)[\lettera\lettera] } + + \DeclareSymbolFont{boperators}{OT1}{cmr}{bx}{it} + \DeclareSymbolFont{bsymbols}{OML}{cmr}{bx}{it} + + \def\@VET@def@symbol#1#2{% + \expandafter\DeclareMathSymbol\csname B@#1\endcsname\mathord{bsymbols}{#2} + \newvector[\csname#1\endcsname,\csname B@#1\endcsname]{B#1} + } + + \@VET@def@symbol{alpha}{"0B} + \@VET@def@symbol{beta}{"0C} + \@VET@def@symbol{gamma}{"0D} + \@VET@def@symbol{delta}{"0E} + \@VET@def@symbol{epsilon}{"0F} + \@VET@def@symbol{zeta}{"10} + \@VET@def@symbol{eta}{"11} + \@VET@def@symbol{theta}{"12} + \@VET@def@symbol{iota}{"13} + \@VET@def@symbol{kappa}{"14} + \@VET@def@symbol{lambda}{"15} + \@VET@def@symbol{mu}{"16} + \@VET@def@symbol{nu}{"17} + \@VET@def@symbol{xi}{"18} + \@VET@def@symbol{pi}{"19} + \@VET@def@symbol{rho}{"1A} + \@VET@def@symbol{sigma}{"1B} + \@VET@def@symbol{tau}{"1C} + \@VET@def@symbol{upsilon}{"1D} + \@VET@def@symbol{phi}{"1E} + \@VET@def@symbol{chi}{"1F} + \@VET@def@symbol{psi}{"20} + \@VET@def@symbol{omega}{"21} + \@VET@def@symbol{varepsilon}{"22} + \@VET@def@symbol{vartheta}{"23} + \@VET@def@symbol{varpi}{"24} + \@VET@def@symbol{varrho}{"25} + \@VET@def@symbol{varsigma}{"26} + \@VET@def@symbol{varphi}{"27} + + \def\@VET@def@symbol#1#2{ + \expandafter\DeclareMathSymbol\csname B@#1\endcsname\mathalpha{boperators}{#2} + \newvector[\csname#1\endcsname,\csname B@#1\endcsname]{B#1} + } + + \@VET@def@symbol{Gamma}{"00} + \@VET@def@symbol{Delta}{"01} + \@VET@def@symbol{Theta}{"02} + \@VET@def@symbol{Lambda}{"03} + \@VET@def@symbol{Xi}{"04} + \@VET@def@symbol{Pi}{"05} + \@VET@def@symbol{Sigma}{"06} + \@VET@def@symbol{Upsilon}{"07} + \@VET@def@symbol{Phi}{"08} + \@VET@def@symbol{Psi}{"09} + \@VET@def@symbol{Omega}{"0A} + + \let\@VET@def@symbol=\relax +} + +\DeclareOption{spacesep}{\global\let\@VET@separator=\smallskip} +\ProcessOptions + +\catcode`\ =10\endlinechar=`\^^M +\endinput + +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Master/texmf-dist/tex/latex/easy/mydoc.sty b/Master/texmf-dist/tex/latex/easy/mydoc.sty new file mode 100644 index 00000000000..eca80d0c8b2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/easy/mydoc.sty @@ -0,0 +1,21 @@ +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{mydoc} + +%%% +%%% CHANGE SEARCH PATH +%%% +\usepackage[english]{babel} +% +\parindent0pt\relax +\parskip0.4\baselineskip plus 2pt\relax + +\newenvironment{desc}{\begin{description}}{\end{description}} +\newenvironment{dotlist}{\begin{itemize}}{\end{itemize}} + + +\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}} +\renewcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}} +\renewcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}} +\renewcommand*\l@paragraph{\@dottedtocline{4}{10em}{5em}} + +\endinput |