diff options
author | Karl Berry <karl@freefriends.org> | 2008-02-19 17:05:28 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-02-19 17:05:28 +0000 |
commit | cf4d2164c6ed64dccbe7d8abdd8b0c95f8509a1c (patch) | |
tree | adbb0d174b4ab3c017b085367d946ad7ba3b417b /Master/texmf-dist/tex/latex/shipunov | |
parent | f95f16133feaac8dd66077e38d247937f819c815 (diff) |
new latex collection shipunov (18feb08)
git-svn-id: svn://tug.org/texlive/trunk@6680 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/shipunov')
-rw-r--r-- | Master/texmf-dist/tex/latex/shipunov/altverse.sty | 95 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/shipunov/autolist.sty | 180 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/shipunov/biokey.sty | 164 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/shipunov/biolist.sty | 51 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/shipunov/boldline.sty | 78 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/shipunov/cassete.cls | 91 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/shipunov/classif2.sty | 306 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/shipunov/drcaps.sty | 33 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/shipunov/etiketka.cls | 143 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/shipunov/flower.sty | 85 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/shipunov/isyntax.sty | 23 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/shipunov/numerus.sty | 207 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/shipunov/punct.sty | 38 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/shipunov/sltables.sty | 267 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/shipunov/starfn.sty | 12 |
15 files changed, 1773 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/shipunov/altverse.sty b/Master/texmf-dist/tex/latex/shipunov/altverse.sty new file mode 100644 index 00000000000..83b6359b53a --- /dev/null +++ b/Master/texmf-dist/tex/latex/shipunov/altverse.sty @@ -0,0 +1,95 @@ +% Author: Alexey B. Shipunov, plantago@herba.msu.ru + +\ProvidesPackage{altverse} + [2008/02/15 v0.3 Typesetting simple verses with `xtab' package] + +\RequirePackage{array} +\RequirePackage{xtab} + +% Typical environment, stanzas and subverses separated by `\\' +\newenvironment{Verse}[1][\relax]% + {\tablehead{}% + \tablefirsthead{}% + \tabletail{}% + \tablelasttail{}% + \begin{center}% + \global\def\V@TMP{#1}% + \let\_\Vindent + \begin{xtabular}{@{}>{\V@TMP}l@{}}}% + {\end{xtabular}% + \end{center}} + +% Same, ragged left +\newenvironment{VERSE}[1][\relax]% + {\tablehead{}% + \tablefirsthead{}% + \tabletail{}% + \tablelasttail{}% + \global\def\V@TMP{#1}% + \let\_\Vindent + \begin{xtabular}{@{}>{\V@TMP}l@{}}}% + {\end{xtabular}} + +% Same, with footnotes +\newenvironment{Verse*}[1][\relax]% + {\tablehead{}% + \tablefirsthead{}% + \tabletail{}% + \tablelasttail{}% + \begin{center}% + \global\def\V@TMP{#1}% + \let\_\Vindent + \renewcommand{\thempfootnote}{\fnsymbol{mpfootnote}}% + \begin{mpxtabular}{@{}>{\V@TMP}l@{}}}% + {\end{mpxtabular}% + \end{center}} + +% If you need to manually break one of these environments: +% Example: `\Vbreak{VERSE}' +\newcommand*{\Vbreak}[1]{\end{#1}\newpage\begin{#1}} + +% For indents, abbreviations inside environments `\_' +% One may set indent for whole verse: \begin{Verse}[\Vindent{2}] +\newcommand*{\Vindent}[1][.5]{\hspace*{#1in}} + +% Header CONTENTS, needs to be set BEFORE the environment +\newcommand*{\Vhead}[2][\Vhead@TMP]{\def\Vhead@TMP{#2}\V@TOC{#1}\V@MARK{#1}} +% Put information to the table of contents and headers +\newcommand*{\V@TOC}[1]{\markright{#1}} +\newcommand*{\V@MARK}[1]{\addcontentsline{toc}{subsection}{#1}} + +% Actual header, centered, should be without `\\' +\newcommand{\VCtitle}{% + \multicolumn{1}{@{}>{\V@TMP\centering\hspace{0pt}}p{\VheadSize}@{}}% + {\VheadFormat\Vhead@TMP\par}\\*} +% Alternate header, with less space after +\newcommand{\Vctitle}{% + \multicolumn{1}{@{}>{\V@TMP\centering\hspace{0pt}}p{\VheadSize}@{}}% + {\VheadFormat\Vhead@TMP}\\*} +% Alternate header, ragged left, should be without `\\' +\newcommand{\VLtitle}{% + \multicolumn{1}{@{}>{\V@TMP\raggedright\hspace{0pt}}p{\VheadSize}@{}}% + {\VheadFormat\Vhead@TMP\par}\\*} +% Heading stars before verse +\newcommand{\Vstars}{\multicolumn{1}{@{}>{\V@TMP}c@{}}% + {${*}\quad{*}\quad{*}$}\\*[\bigskipamount]} + +% Subheader, should be without `\\' +\newcommand{\Vsub}[1]{% + \multicolumn{1}{@{}>{\centering\hspace{0pt}}p{\VheadSize}@{}}% + {#1}\\*} + +% Dedication, should be _with_ `\\' +\newcommand*{\Vto}[1]{\multicolumn{1}{@{}>{\V@TMP}r@{}}% + {\VtoFormat#1}} + +% Annotation +\newcommand*{\Vat}[1]{\V@TMP\VatFormat#1} + +% Hooks for redefinitions +\newcommand*{\VheadFormat}{\reset@font\large\bfseries} +\newcommand*{\VheadSize}{.4\columnwidth} +\newcommand*{\VtoFormat}{\reset@font\itshape} +\newcommand*{\VatFormat}{\reset@font\itshape} + +\endinput diff --git a/Master/texmf-dist/tex/latex/shipunov/autolist.sty b/Master/texmf-dist/tex/latex/shipunov/autolist.sty new file mode 100644 index 00000000000..e1f65d9f160 --- /dev/null +++ b/Master/texmf-dist/tex/latex/shipunov/autolist.sty @@ -0,0 +1,180 @@ +% Authors: A. and A. Shipunovs, plantago@herba.msu.ru + +\ProvidesPackage{autolist}% + [2008/02/06 v0.3 Various lists] + +\ProvidesPackage{autolist} +\RequirePackage{calc} + +\newcounter{TMC@a} + +\newdimen\Subleftmargini +\newdimen\Subleftmarginii +\newdimen\Subleftmarginiii +\newdimen\Subleftmarginiv +\newdimen\Subleftmarginv +\newdimen\Subleftmarginvi +\newdimen\Subleftmarginvii +\newdimen\Subleftmarginviii +\newdimen\Subleftmarginix +\newdimen\Subleftmarginx + +\newcount\@Subnumdepth \@Subnumdepth = 0 +\@definecounter{Subnumi} +\@definecounter{Subnumii} +\@definecounter{Subnumiii} +\@definecounter{Subnumiv} +\@definecounter{Subnumv} +\@definecounter{Subnumvi} +\@definecounter{Subnumvii} +\@definecounter{Subnumviii} +\@definecounter{Subnumix} +\@definecounter{Subnumx} + +% Lists with up to 10 levels + +% "List" analog +\def\Sublist#1#2{\ifnum \@listdepth >9\relax \@toodeep + \else \global\advance\@listdepth\@ne \fi + \rightmargin \z@ \listparindent\z@ \itemindent\z@ + \csname @slist\romannumeral\the\@listdepth\endcsname + \def\@itemlabel{#1}\let\makelabel\@mklab \@nmbrlistfalse #2\relax + \@trivlist + \parskip\parsep \parindent\listparindent + \advance\linewidth -\rightmargin \advance\linewidth -\leftmargin + \advance\@totalleftmargin \leftmargin + \parshape \@ne \@totalleftmargin \linewidth + \ignorespaces} +\let\endSublist=\endlist + +% Size decrease +\setlength\Subleftmargini {\parindent} +\setlength\Subleftmarginii {1em} +\setlength\Subleftmarginiii{1em} +\setlength\Subleftmarginiv {1em} +\setlength\Subleftmarginv {1em} +\setlength\Subleftmarginvi {1em} +\setlength\Subleftmarginvii{1em} +\setlength\Subleftmarginviii{1em} +\setlength\Subleftmarginix {1em} +\setlength\Subleftmarginx {1em} + +\def\@slistI{\leftmargin\Subleftmargini + \topsep0pt \parsep0pt \itemsep0pt} +\let\@slisti\@slistI +\@slisti +\def\@slistii {\leftmargin\Subleftmarginii + \labelwidth\Subleftmarginii + \advance\labelwidth-\labelsep + \topsep0pt \parsep0pt \itemsep0pt} +\def\@listiii{\leftmargin\Subleftmarginiii + \labelwidth\Subleftmarginiii + \advance\labelwidth-\labelsep + \topsep0pt \parsep0pt \itemsep0pt} +\def\@listiv {\leftmargin\Subleftmarginiv + \labelwidth\Subleftmarginiv + \advance\labelwidth-\labelsep + \topsep0pt \parsep0pt \itemsep0pt} +\def\@listv {\leftmargin\Subleftmarginv + \labelwidth\Subleftmarginv + \advance\labelwidth-\labelsep + \topsep0pt \parsep0pt \itemsep0pt} +\def\@listvi {\leftmargin\Subleftmarginvi + \labelwidth\Subleftmarginvi + \advance\labelwidth-\labelsep + \topsep0pt \parsep0pt \itemsep0pt} +\def\@listvii{\leftmargin\Subleftmarginvii + \labelwidth\Subleftmarginvii + \advance\labelwidth-\labelsep + \topsep0pt \parsep0pt \itemsep0pt} +\def\@listviii{\leftmargin\Subleftmarginviii + \labelwidth\Subleftmarginviii + \advance\labelwidth-\labelsep + \topsep0pt \parsep0pt \itemsep0pt} +\def\@listix {\leftmargin\Subleftmarginix + \labelwidth\Subleftmarginix + \advance\labelwidth-\labelsep + \topsep0pt \parsep0pt \itemsep0pt} +\def\@listx {\leftmargin\Subleftmarginx + \labelwidth\Subleftmarginx + \advance\labelwidth-\labelsep + \topsep0pt \parsep0pt \itemsep0pt} + +% "Enumerate" analog with hierarchical numeration +\def\Subnum{\ifnum \@Subnumdepth >9 \@toodeep\else + \advance\@Subnumdepth \@ne + \edef\@Subnumctr{Subnum\romannumeral\the\@Subnumdepth}\Sublist + {\csname label\@Subnumctr\endcsname}{\usecounter + {\@Subnumctr}\def\makelabel##1{\hss\llap{##1}}}\fi} +\let\endSubnum=\endlist + +\def\theSubnumi{\arabic{Subnumi}} +\def\theSubnumii{\arabic{Subnumii}} +\def\theSubnumiii{\arabic{Subnumiii}} +\def\theSubnumiv{\arabic{Subnumiv}} +\def\theSubnumv{\arabic{Subnumv}} +\def\theSubnumvi{\arabic{Subnumvi}} +\def\theSubnumvii{\arabic{Subnumvii}} +\def\theSubnumviii{\arabic{Subnumviii}} +\def\theSubnumix{\arabic{Subnumix}} +\def\theSubnumx{\arabic{Subnumx}} +\def\labelSubnumi{\theSubnumi.} +\def\labelSubnumii{\theSubnumi.\theSubnumii.} +\def\labelSubnumiii{\theSubnumi.\theSubnumii.\theSubnumiii.} +\def\labelSubnumiv{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.} +\def\labelSubnumv{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.} +\def\labelSubnumvi{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.\theSubnumvi.} +\def\labelSubnumvii{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.\theSubnumvi.\theSubnumvii.} +\def\labelSubnumviii{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.\theSubnumvi.\theSubnumvii.\theSubnumviii.} +\def\labelSubnumix{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.\theSubnumvi.\theSubnumvii.\theSubnumviii.\theSubnumix.} +\def\labelSubnumx{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.\theSubnumvi.\theSubnumvii.\theSubnumviii.\theSubnumix.\theSubnumx.} +\def\p@Subnumi{} +\def\p@Subnumii{\theSubnumi.} +\def\p@Subnumiii{\theSubnumi.\theSubnumii.} +\def\p@Subnumiv{\theSubnumi.\theSubnumii.\theSubnumiii.} +\def\p@Subnumv{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.} +\def\p@Subnumvi{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.} +\def\p@Subnumvii{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.\theSubnumvi.} +\def\p@Subnumviii{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.\theSubnumvi.\theSubnumvii.} +\def\p@Subnumix{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.\theSubnumvi.\theSubnumvii.\theSubnumviii.} +\def\p@Subnumx{\theSubnumi.\theSubnumii.\theSubnumiii.\theSubnumiv.\theSubnumv.\theSubnumvi.\theSubnumvii.\theSubnumviii.\theSubnumix.} + +% Lists with changing indent(LaTeX Companion 1st ed., p. 51--66) + +% Ragged left +\newenvironment{Lautolist}[1][\quad]% + {\begin{list}{}{\renewcommand{\makelabel}[1]{{##1}\hfil}% + \settowidth{\labelwidth}{{#1}}% + \setlength{\leftmargin}{\labelwidth+\labelsep}% + \itemsep=.5pt\parsep=2pt\topsep=5pt}} + {\end{list}} + +% Ragged right +\newenvironment{Rautolist}[1][\quad]% + {\begin{list}{}{\renewcommand{\makelabel}[1]{\hfil{##1}}% + \settowidth{\labelwidth}{{#1}}% + \setlength{\leftmargin}{\labelwidth+\labelsep}% + \itemsep=.5pt\parsep=2pt\topsep=5pt}} + {\end{list}} + +\newcommand{\Lplabel}[1] + {\raisebox{0pt}[1ex][0pt]{\makebox[\labelwidth][l]% + {\parbox[t]{\labelwidth}{\raggedright\hspace{0pt}#1}}}} + +% Items for several lines +\newenvironment{Lpolylist}[1][\quad]% + {\begin{list}{}{% + \renewcommand{\makelabel}[1]{\Lplabel{##1}}% + \settowidth{\labelwidth}{{#1}}% + \setlength{\leftmargin}{\labelwidth+\labelsep}% + \itemsep=.5pt\parsep=2pt\topsep=5pt}} + {\end{list}} + +% Description-like, but also number items +\def\L@bl#1{\hspace{\labelsep}\refstepcounter{TMC@a}% + \arabic{TMC@a}.\ \textit{#1}} +\newenvironment{characters}{\begin{list}{} + {\renewcommand{\makelabel}{\L@bl}}} +{\setcounter{TMC@a}{0}\end{list}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/shipunov/biokey.sty b/Master/texmf-dist/tex/latex/shipunov/biokey.sty new file mode 100644 index 00000000000..ef88da239e2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/shipunov/biokey.sty @@ -0,0 +1,164 @@ +% Author: Alexey B. Shipunov (plantago@herba.msu.ru) + +\ProvidesPackage{biokey}% + [2008/02/11 v3.1 Typesetting biological identification keys] + +\newlength\TML@a +\newlength\TML@b +\newlength\TML@c +\newbox\dot@box +\newcounter{TMC@Ba} + +\newif\if@MARG +\DeclareOption{nomargin}{\@MARGfalse} +\DeclareOption{margin}{\@MARGtrue} + +\ExecuteOptions{nomargin} +\ProcessOptions + +% REFERENCES +% Main reference +\def\SameDecl{\samepage} +\AtBeginDocument{\setbox\dot@box=\hbox to .5em{\hss.\hss}} +\def\dbox@fill{\leaders\copy% + \dot@box\hskip 4.3\wd\dot@box plus1fill minus .3\wd\dot@box} +\def\dbox@fil{\leaders\copy\dot@box\hfil} +% Against vertical breaks +\def\dot@leaders{\doublehyphendemerits0\finalhyphendemerits0% + \parfillskip0pt\SameDecl% + \penalty800\dbox@fill\penalty400% + \vadjust{}\penalty10000\dbox@fil} +\def\T#1\par{{\dot@leaders\SHRIFTN{#1}\par}\par} +% `Automatically' paragraph aligment +\def\TTTT#1\par{{\tolerance 9999 \dot@leaders\SHRIFTN{#1}\par}\par} + +% Old style reference +\def\old@f{\hbox to .5em{\hss.\hss}} +\def\old@filt{\xleaders\old@f\hfill} +\def\old@dot@leaders{\doublehyphendemerits0\finalhyphendemerits0% + \parfillskip0pt\SameDecl% + \unskip\nobreak\old@filt\penalty50% + \xleaders\old@f\hskip2em% + \vadjust{}\nobreak\old@filt} +\def\TTT#1\par{{\old@dot@leaders\SHRIFTN{#1}\par}\par} + +% OBJECTS +% With indent +\def\N#1\par{{\penalty50\SameDecl% + \hskip 1em plus 1.2em minus .2em +\penalty200\hskip0pt\SHRIFTN{#1}\par}\par} + +% With glue, but without leaders +\def\NN#1\par{{\parfillskip0pt\SameDecl% + \doublehyphendemerits0\finalhyphendemerits0% + \penalty10000\hskip 2em plus 1fil\penalty400% + \vadjust{}\penalty10000\hfil\SHRIFTN{#1}\par}\par} + +% Object as new paragraph +\def\NNN#1\par{{\nopagebreak\par% + \Indent@C\SHRIFTN{#1}\par}\par} + +% PUNCTS +% Common punct +\let\TT=\T + +% Hanging punct +\def\VT{\@ifstar{\H@P}{\H@@P}} +% Leaders stopped on right margin of text +\def\H@@P#1\par{{\dot@leaders + \makebox[0pt][l]{\hspace{.5em}#1}\par}\par} +% Leaders stopped before punct +\def\H@P#1\par{{\dot@leaders + \makebox[-.5em][l]{#1}\par}\par} + +% THESES AND ANTITHESES +% Hooks... +\def\SHRIFTZ{\relax} +\def\SHRIFTN{\relax} + +% Lengths (hang = 2em) +\settowidth{\TML@b}{\SHRIFTZ{.}} +\TML@a=1.5em +\addtolength{\TML@a}{-\TML@b} +\addtolength{\TML@b}{0.5em} +\def\Indent@T{\hangindent2em\noindent} +\def\OTSTUP{2em} +\def\Indent@C{\parindent\OTSTUP\hangindent\parindent} + +% Common thesa +\def\Z#1. {\Indent@T\makebox[1.5em][r]% + {\SHRIFTZ{#1.}}\hspace{0.5em}} +% Thesa with back reference +\def\ZZ#1(#2).{\Indent@T\makebox[\TML@a][r]% + {\SHRIFTZ{#1}}\hspace{0.45em}\SHRIFTZ{(#2).}} +% Antitheses +\def\ZZZ#1{\Indent@T\makebox[\TML@a][r]% + {#1}\hspace{\TML@b}} +% First +\def\AN{\ZZZ{$-$}} +% You can replace it to $+$ +\def\Ap{\ZZZ{$+$}} +% Second (with trichotomy) +\def\AAN{\ZZZ{$=$}} +% Third (with tetrachotomy) +\def\AAAN{\ZZZ{$\equiv$}} + +% COMMENTS +\def\FK#1\par{{\nopagebreak\smallskip% + \Indent@C% + \footnotesize#1\par\smallskip}} +% You can use it as `numberless thesa' +\def\KOM#1\par{{\nopagebreak\smallskip% + \Indent@C#1\par\smallskip}} +% Comment for object +\def\VPRAVO#1 \par{{\nopagebreak\vskip-\parskip + \hbox to \linewidth {\hfil #1}\par}} + +% AUTOMATICAL KEYS +\def\TEZA#1{\refstepcounter{TMC@Ba}\label{#1}% + \Indent@T\makebox[1.5em][r]% + {\SHRIFTZ{\arabic{TMC@Ba}.}}\hspace{0.5em}\ignorespaces} +\def\STEZA#1#2{\refstepcounter{TMC@Ba}\label{#1}% + \Indent@T\makebox[\TML@a][r]% + {\SHRIFTZ{\arabic{TMC@Ba}}}\hspace{0.45em}\SHRIFTZ{(\ref{#2}).}} +\def\SSYLKA#1{\T\ref{#1}.} +% Shorthands +\let\TE\TEZA +\let\SE\STEZA +\let\SS\SSYLKA + +% LEVELED KEYS +\newenvironment{SDVIG}[1][1] + {\TML@c=#1em \let\TML@@c\TML@c + \def\Indent@T{\hangindent=2em\parindent=0em + \advance\hangindent by 2\TML@@c + \advance\parindent by 2\TML@@c} + \def\Indent@C{\hangindent=2em\parindent=2em + \advance\hangindent by 2\TML@@c + \advance\parindent by 2\TML@@c}}{} +% Shorthands +\let\LE\SDVIG +\let\endLE\endSDVIG + +% KEYS WITH MARKERS ON LEFT PAGE MARGIN + +\if@MARG +\def\Indent@C{\relax}% +\def\Z#1. {\noindent\makebox[0em][r]% + {\SHRIFTZ{#1.}\hspace{0.5em}}}% +\def\ZZ#1(#2).{\settowidth{\TML@c}{(#2)}% + \noindent\makebox[\TML@c][r]% + {\SHRIFTZ{#1}\hspace{0.5em}\SHRIFTZ{(#2).}}}% +\def\ZZZ#1{\noindent\makebox[0em][r]% + {#1\hspace{\TML@b}}}% +\else\relax +\fi + +% Some useful stuff +\let\K=\textit +\let\J=\textbf +\def\KN#1 {\textit{#1 }} +\def\NN#1 #2 {\textit{#1 #2 }} +\def\IN#1.#2.{#1.\,#2.~\ignorespaces} + +\endinput diff --git a/Master/texmf-dist/tex/latex/shipunov/biolist.sty b/Master/texmf-dist/tex/latex/shipunov/biolist.sty new file mode 100644 index 00000000000..986bfa73569 --- /dev/null +++ b/Master/texmf-dist/tex/latex/shipunov/biolist.sty @@ -0,0 +1,51 @@ +% Author: Alexey B. Shipunov (plantago@herba.msu.ru) + +\ProvidesPackage{biolist}% + [2008/02/06 v0.1 Typesetting species lists for floras (and faunas)] + +\newcounter{SEMEYSTVO}[subsection] +\newcounter{VID}[subsection] +\newcounter{SEMVID}[SEMEYSTVO] +\newcount\DOUBLE +\DOUBLE=1 + +% Species names +\def\VDVID{\ifnum\DOUBLE=0 + \arabic{VID}.% + \else + \arabic{SEMVID}(\arabic{VID}).% + \fi} + +\def\VID{\@ifnextchar*\VID@@{\VID@}} +% \VID +\def\VID@#1 #2 #3{\addtocounter{VID}{1}\addtocounter{SEMVID}{1}% + \hangindent=3.5em\noindent% + \makebox[3.3em][r]{\VDVID}\hskip.2em% +\textit{#1 #2} #3} +% \VID* for cultivated species +% objazatelen probel posle komandy! +\def\VID@@* #1 #2 #3{\hangindent=3.5em\noindent% + \makebox[3.3em][r]{$*$\hskip.2em}\hskip.2em% +\textit{#1 #2} #3} + +% Comment for species. No paragraph before! +\def\VKOMM#1\par{\par\nopagebreak% + \parindent=3.5em\hangindent=\parindent% + \samepage% + {\footnotesize#1\par}} +\let\VK\VKOMM + +% Names for families (or other higher rank taxa) +\def\SEM{\@ifstar{\SEM@@}{\SEM@}} +% \SEM +\def\SEM@#1{\medskip + \stepcounter{SEMEYSTVO} + \parindent=2em\hangindent=2em + {\bfseries\Roman{SEMEYSTVO}. }% +\textbf{#1}\nopagebreak% +\smallskip} +% \SEM* for families consist enrirely of cultivated species +\def\SEM@@#1{\medskip + \parindent=2em\hangindent=2em + \textbf{$*$ #1}\nopagebreak% +\smallskip} diff --git a/Master/texmf-dist/tex/latex/shipunov/boldline.sty b/Master/texmf-dist/tex/latex/shipunov/boldline.sty new file mode 100644 index 00000000000..28a830ebb18 --- /dev/null +++ b/Master/texmf-dist/tex/latex/shipunov/boldline.sty @@ -0,0 +1,78 @@ +% Author: Alexey B. Shipunov (plantago@herba.msu.ru) + +\ProvidesPackage{boldline}% + [2008/02/04 v0.2 Adjust line width in tables] + +\RequirePackage{array} + +% Vertical lines +\newcolumntype{V}[1]{!{\vrule\@width #1\arrayrulewidth}} + +% Horizontal lines +% Addition to \hline +\def\hlineB#1{% + \noalign{\ifnum0=`}\fi\hrule \@height #1\arrayrulewidth +\futurelet \reserved@a\@xhlineB{#1}} + +\def\@xhlineB#1{\ifx\reserved@a\hlineB + \vskip\doublerulesep + \vskip-#1\arrayrulewidth + \fi + \ifnum0=`{\fi}} + +% Addition to \cline +\def\clineB#1#2{\@clineB#1[#2]\@nil} +\def\@clineB#1-#2[#3]\@nil{% + \omit + \@multicnt#1% + \global\def\Mag@B{#3}% + \advance\@multispan\m@ne + \ifnum\@multicnt=\@ne\@firstofone{&\omit}\fi + \@multicnt#2% + \advance\@multicnt-#1% + \advance\@multispan\@ne + \leaders\hrule\@height \Mag@B\arrayrulewidth\hfill + \cr + \noalign{\vskip-\Mag@B\arrayrulewidth}} + +% For "longtable", input AFTER longtable! +\@ifundefined{longtable}{}{% +\def\LT@hlineB{% + \noalign{\ifnum0=`}\fi + \penalty\@M + \futurelet\@let@token\LT@@hlineB} +\def\LT@@hlineB#1{% + \ifx\@let@token\hlineB + \global\let\@gtempa\@gobble + \gdef\LT@sep{\penalty-\@medpenalty\vskip\doublerulesep}% + \else + \global\let\@gtempa\@empty + \gdef\LT@sep{\penalty-\@lowpenalty\vskip-#1\arrayrulewidth}% + \fi + \ifnum0=`{\fi}% + \multispan\LT@cols + \unskip\leaders\hrule\@height #1\arrayrulewidth\hfill\cr + \noalign{\LT@sep}% + \multispan\LT@cols + \unskip\leaders\hrule\@height #1\arrayrulewidth\hfill\cr + \noalign{\penalty\@M}% + \@gtempa} +\let\longtable@TMP\longtable +\def\longtable{% +\let\hlineB\LT@hlineB +\longtable@TMP} +} + +% For "mdwtab", input AFTER mdwtab! +\@ifundefined{hlx}{}{% +\def\hlxB#1{% + \multispan{\tab@columns}% + \leaders\hrule\@height #1\arrayrulewidth\hfil% + \tab@addruleheight\arrayrulewidth% + \cr% + \noalign{\ifnum0=`}\fi% + \tab@penalty% + \futurelet\@let@token\hline@i} +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/shipunov/cassete.cls b/Master/texmf-dist/tex/latex/shipunov/cassete.cls new file mode 100644 index 00000000000..afe5a7d9c6b --- /dev/null +++ b/Master/texmf-dist/tex/latex/shipunov/cassete.cls @@ -0,0 +1,91 @@ +% Author: A. Shipunov (plantago@herba.msu.ru) + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{cassete} + [2008/02/05 v0.2 Labels for audiocassetes] + +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +\ProcessOptions\relax +\LoadClass{article} + +\newcounter{A@Side} +\newcounter{B@Side} + +\def\nohyphens{\hyphenpenalty=10000\exhyphenpenalty=10000\relax} + +% Main command +\def\cassete{\@ifstar{\c@ss}{\c@@ss}} + +% Without star -- 5 arguments +\long\def\c@@ss#1#2#3#4#5{% +\def\Labe@l{\centering\FormatLabel#1}% +\def\Text@A{\raggedleft\hspace*{-6mm}\SideA\par\vspace{1mm}\raggedright#2}% +\def\Text@B{\raggedleft\hspace*{-6mm}\SideB\par\vspace{1mm}\raggedright#3}% +\def\Text@AD{\raggedright#4}% +\def\Text@BD{\raggedright#5}% +\begin{center} +\unitlength=1mm + \begin{picture}(100,105) + \put(0,0){\dashbox{2}(100,97){}} + \put(8,2){\parbox[b][63mm][t]{39.5mm}{\Text@A}} + \put(50,0){\rule{.4pt}{67mm}} + \put(58.3,2){\parbox[b][63mm][t]{39.5mm}{\Text@B}} + \put(0,80){\rule{100mm}{.4pt}} + \put(2,69){\parbox[b][9mm][c]{95mm}{\Labe@l}} + \put(0,67){\rule{100mm}{.4pt}} + \put(8,80){\parbox[b][15mm][t]{39.5mm}{\Text@AD}} + \put(50,80){\rule{.4pt}{17mm}} + \put(58.3,80){\parbox[b][15mm][t]{39.5mm}{\Text@BD}} +\end{picture} +\end{center} +\setcounter{A@Side}{0} +\setcounter{B@Side}{0}} + +% With star -- 3 arguments +\long\def\c@ss#1#2#3{% +\def\Labe@l{\centering\FormatLabel#1}% +\def\Text@A{\raggedleft\hspace*{-6mm}\SideA\par\vspace{1mm}\raggedright#2}% +\def\Text@B{\raggedleft\hspace*{-6mm}\SideB\par\vspace{1mm}\raggedright#3}% +\begin{center} +\unitlength=1mm + \begin{picture}(99,105) + \put(0,0){\dashbox{2}(99,105){}} + \put(8,38){\parbox[b][65mm][t]{39mm}{\Text@A}} + \put(49.5,38){\rule{.4pt}{67mm}} + \put(57.8,38){\parbox[b][65mm][t]{39mm}{\Text@B}} + \put(0,38){\rule{99mm}{.4pt}} + \put(2,27){\parbox[b][9mm][c]{95mm}{\Labe@l}} + \put(0,25){\rule{99mm}{.4pt}} +\end{picture} +\end{center} +\setcounter{A@Side}{0} +\setcounter{B@Side}{0}} + +% For separate songs +\def\AS{\stepcounter{A@Side}\makebox[0pt][r]{\arabic{A@Side}.\ }} +\def\BS{\stepcounter{B@Side}\makebox[0pt][r]{\arabic{B@Side}.\ }} + +% It is possible to redefine them: +% Sides +\def\SideAWord{Side A} +\def\SideBWord{Side B} +\def\SideA{\textbf\SideAWord} +\def\SideB{\textbf\SideBWord} +% Front edge +\def\FormatLabel{\large\scshape} +% Putative headers +\def\SideT#1{\addvspace{.5mm}\hspace*{-6mm}% + \parbox{45mm}{\raggedright#1}\vspace{.5mm}} + +% Specific layout +\topmargin=-14mm +\headheight=0mm +\headsep=0mm +\textheight=255mm +\footskip=0mm +\textwidth=190mm +\oddsidemargin=-14mm + +\pagestyle{empty} +\renewcommand{\baselinestretch}{.92} +\endinput diff --git a/Master/texmf-dist/tex/latex/shipunov/classif2.sty b/Master/texmf-dist/tex/latex/shipunov/classif2.sty new file mode 100644 index 00000000000..c1bd6eedac9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/shipunov/classif2.sty @@ -0,0 +1,306 @@ +% Author: Alexey B. Shipunov (plantago@herba.msu.ru) + +\ProvidesPackage{classif2}% + [2008/02/10 v2.2 Layout for biological classifications] + +% Todo: Detailed comments and documentation + +% Changes: +% 2002/04/15 \IHOOK added (for indent justification) +% 2007/06/23 Infraregnum added +% 2007/07/26 Improved for numeric ranges +% 2008/02/06 Abbreviations added + +\newif\if@Names +\DeclareOption{nonames}{\@Namesfalse} +\DeclareOption{names}{\@Namestrue} +\ExecuteOptions{names} +\ProcessOptions + +%%%%%%%%%%%%%%%%%%%%%%%%%% Registers %%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newif\if@Slash +\newif\if@Repeat +\newif\ifHide +\newif\ifNumbers +\newif\ifGlobal +\newif\ifDigits + +\Numberstrue + +\newcount\Base@LevelC@ +\newcount\View@LevelC@ +\newcount\TMC@I +\newcount\TMC@II +\newcount\TMC@III + +\newdimen\TML@ +\newdimen\IHOOK + +\IHOOK=0pt + +\newcounter{GlobalLevel} +\newcounter{Leveliv} +\newcounter{Leveliii}[Leveliv] +\newcounter{Levelii}[Leveliii] +\newcounter{Leveli}[Levelii] +\newcounter{Level}[Leveli] + +%%%%%%%%%%%%%%%%%%%%%%%% Internal tools %%%%%%%%%%%%%%%%%%%%%%%% + +\def\@Concatenate#1.#2{#1#2} +\def\@DeleteSecond#1.#2{#1} +\def\TMP@{\relax} +\def\TMP@@{\relax} + +%%%%%%%%%%%%%%%%%%%%%%% Level commands %%%%%%%%%%%%%%%%%%%%%%%%% + +\def\Base@Level#1{\Base@LevelC@=\expandafter\@DeleteSecond#1 % + \View@LevelC@=\expandafter\@Concatenate#1 } + +\def\LevelName#1#2{\TMC@I=\expandafter\@Concatenate#1 % + \expandafter\def\csname Level@TMB@\romannumeral\TMC@I\endcsname{#2 }} + +\def\Level{\@ifstar{\Level@S}{\Level@N}} + +%\Level* +\def\Level@S#1.#2 #3 #4 #5\par{{% + \reset@font + \TMC@I=#1\TMC@II=#2\TMC@III=#1#2% + \ifnum\TMC@II>0\def\CF{#1.#2} \else\def\CF{#1} \fi + \advance\TMC@I by -\Base@LevelC@ + \advance\TMC@III by -\View@LevelC@ + \ifnum\TMC@III<0 + \ifHide \relax + \else +\Level@Size + \Level@Skip + \Level@Indent + {\Level@Style + {\upshape #3 }% + #4 }% + #5% +\After@Level\fi + \else +\Level@Size + \Level@Skip + \Level@Indent + {\Level@Style + {\upshape #3 }% + #4 }% + #5% +\After@Level\fi}} + +%\Level +\def\Level@N#1.#2 #3 #4\par{{ + \TMP@\TMP@@ + \reset@font + \TMC@I=#1\TMC@II=#2\TMC@III=#1#2% + \ifnum\TMC@II>0\def\CF{#1.#2} \else\def\CF{#1} \fi + \advance\TMC@I by -\Base@LevelC@ + \advance\TMC@III by -\View@LevelC@ + \ifnum\TMC@III<0 \relax + \else +\Level@Size + \Level@Skip + \Level@Indent + {\Level@Style + {\upshape \Repeat@Or@Name + \Level@Number + \ifDigits #1.#2 % + \fi}% + #3 }% + #4% +\After@Level\fi}} + +\def\Level@Size{\ifnum\TMC@I=0 \normalsize +\else \ifnum\TMC@I=1 \large + \else \ifnum\TMC@I=2 \Large + \else \ifnum\TMC@I=3 \LARGE + \else \ifnum\TMC@I<0 \small + \else \huge + \fi + \fi + \fi + \fi +\fi} + +\def\Level@Skip{% +\ifnum \TMC@III<0 \TML@=\parskip + \else + \TML@=\TMC@III ex% + \divide\TML@ by 10% +\fi +\ifnum \TMC@I=0% + \if@Repeat \nopagebreak\TML@=.5 ex% + \fi +\fi +\addvspace{\TML@}} + +\def\Level@Indent{% + \TML@=\TMC@III mm% + \hangindent.2\columnwidth + \advance\hangindent by -\TML@ + \advance\hangindent by \IHOOK +\ifnum\TMC@III>0\else% + \settowidth{\TML@}{\Level@Name}% + \advance\hangindent by \TML@ +\fi \parindent=\hangindent} + +\def\Level@Style{\ifnum\TMC@III<0 \mdseries\itshape + \else +\ifnum\TMC@II=0 \ifnum\TMC@I=0 \mdseries\itshape + \else \ifnum\TMC@I=1 \mdseries\scshape + \else \bfseries\upshape + \fi + \fi +\else \ifnum\TMC@II=2 \mdseries\itshape + \else \ifnum\TMC@II=5 \bfseries\upshape + \else \ifnum\TMC@II=8 \bfseries\itshape + \else \mdseries\upshape + \fi + \fi + \fi +\fi + \fi} + +\def\Level@Name{% + \advance\TMC@III by \View@LevelC@ +\csname Level@TMB@\romannumeral\TMC@III\endcsname + \advance\TMC@III by -\View@LevelC@} + +\def\Repeat@Or@Name{% +\ifnum\TMC@III=0% + \if@Repeat\makebox[0pt][r]{\Level@Name + \ifNumbers \gdef\TMP@@{\Numberstrue}% + \else \gdef\TMP@@{\Numbersfalse}% + \fi}\gdef\TMP@{\@Repeatfalse}% + \fi +\else \Level@Name \gdef\TMP@{\@Repeattrue}% +\fi} + +\def\Level@Number{% +\ifNumbers \ifnum\TMC@III=0 + \stepcounter{Level}% + \arabic{Level}% + \ifGlobal \stepcounter{GlobalLevel}% + (\arabic{GlobalLevel}). % + \else . % + \fi + \else \ifnum\TMC@II=0 + \stepcounter{Level\romannumeral\TMC@I}% + \arabic{Level\romannumeral\TMC@I}. % + \else + \fi + \fi +\fi} + +\def\After@Level{\par\ifnum\TMC@I>0 \nopagebreak\fi} + +\def\CF{} + +\def\N#1{[\kern.2em$^{\CF}$\kern-.15em\textit{#1}\kern.15em]} + +%%%%%%%%%%%%%%%%%%%%% Environment commands %%%%%%%%%%%%%%%%%%%%% + +{\catcode`\/=\active +\gdef\Start@Slash{% +\global\catcode`\/=\active + \global\let/=\Level}} + +\newenvironment{classif}[1] + {\Start@Slash\Base@Level{#1}} + {\setcounter{GlobalLevel}{0}% + \setcounter{Leveliv}{0}% + \setcounter{Leveliii}{0}% + \setcounter{Levelii}{0}% + \setcounter{Leveli}{0}% + \setcounter{Level}{0}% + \global\catcode`\/12\relax} + +%%%%%%%%%%%%%%%%%%%%%%%%% Optional %%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\if@Names +\LevelName{0.5}{Varietes}% +\LevelName{0.8}{Subspecies}% +\LevelName{1.0}{Species}% +\LevelName{1.2}{Subsectio}% +\LevelName{1.5}{Sectio}% +\LevelName{1.8}{Subgenus}% +\LevelName{2.0}{Genus}% +\LevelName{2.2}{Subtribus}% +\LevelName{2.5}{Tribus}% +\LevelName{2.8}{Subfamilia}% +\LevelName{3.0}{Familia}% +\LevelName{3.2}{Superfamilia}% +\LevelName{3.5}{Infraordo}% +\LevelName{3.8}{Subordo}% +\LevelName{4.0}{Ordo}% +\LevelName{4.2}{Superordo}% +\LevelName{4.5}{Infraclassis}% +\LevelName{4.8}{Subclassis}% +\LevelName{5.0}{Classis}% +\LevelName{5.2}{Superclassis}% +\LevelName{5.8}{Subphylum}% +\LevelName{6.0}{Phylum}% +\LevelName{6.2}{Superphylum}% +\LevelName{6.5}{Infraregnum}% +\LevelName{6.8}{Subregnum}% +\LevelName{7.0}{Regnum}% +\LevelName{7.2}{Superregnum}% +\fi + +%%%%%%%%%%%%%%%%%%%%%%%% Abbreviations %%%%%%%%%%%%%%%%%%%%%%%%% + +\RequirePackage{xspace} + +\def\H@Sp{\nobreak% + \hskip .5\fontdimen2\font% + \@plus .5\fontdimen3\font% + \@minus .5\fontdimen4\font% +\ignorespaces} + +\def\Sl{s.\H@Sp l.\xspace} +\def\Sr{s.\H@Sp str.\xspace} +\def\Pp{p.\H@Sp p.\xspace} +\def\Se{stat.\H@Sp m.\xspace} +\def\St{sed.\H@Sp m.\xspace} +\def\Is{i.\H@Sp s.\xspace} +\def\Si{sed.\H@Sp poss.\xspace} + +%%%%%%%%%%%%%%%%%%%%%%%% User tools %%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\Comm{\ifnum \TMC@III<0 \TML@=\parskip + \else + \TML@=\TMC@III ex% + \divide\TML@ by 30% + \fi +\\*[\TML@]\normalsize\normalfont} + +% Usage: +% /5.0 Angiospermae \Comm Something + +\def\EmptyName#1{\settowidth{\TML@}{#1}\makebox[\TML@]{}} + +% Usage (for big indent without `\LevelName'): +% \LevelName{1.0}{\EmptyName{Species}} + +\def\Reset#1{\setcounter{#1}{0}} +\newcommand\Numerate[2][\arabic]{\stepcounter{#2} #1{#2}.} + +% `\Reset' and `\Numerate' usage: +% \newcounter{Temp} +% \LevelName{6.2}{Superphylum\Numerate[\Alph]{Temp}} +% \LevelName{7.0}{Regnum\Numbersfalse\Reset{Temp}} +% And even like that: +% \newcounter{Temp}[Leveliii] +% (main levels are numbered with `Level<i,ii,...>' counters) +% \LevelName{5.0}{Classis\Numerate[\Roman]{Temp}\Numbersfalse} + +% Some goodies: +\let\K\textit +\let\INCL\footnote +\def\KURN#1 #2 {\textit{#1 #2 }} +\def\IN#1.#2.{#1.\nobreak\hskip.16em #2.~\ignorespaces} + +\endinput diff --git a/Master/texmf-dist/tex/latex/shipunov/drcaps.sty b/Master/texmf-dist/tex/latex/shipunov/drcaps.sty new file mode 100644 index 00000000000..0c010a19674 --- /dev/null +++ b/Master/texmf-dist/tex/latex/shipunov/drcaps.sty @@ -0,0 +1,33 @@ +% Author: Alexey B. Shipunov (plantago@herba.msu.ru) + +\ProvidesPackage{drcaps}% + [2008/02/05 v0.2 Various drop caps] + +\newcount\Cap@ +\newdimen\Cap@D + +% Change this command +\def\formatCap{\normalfont\Huge\bfseries} + +% Hanging initial +\def\RCap#1{\vskip1ex\noindent% + {\formatCap#1\hskip.03em}% +\ignorespaces} + +% Margin initial +\def\HCap#1{\noindent\raisebox{-.75\baselineskip}[0pt][0pt]% + {\llap{\formatCap#1\hskip.1em}}% +\ignorespaces} + +% "Normal" initial +\def\DCap#1{\noindent\setbox0\hbox{\formatCap#1}% + \Cap@D\ht0 + \advance\Cap@D by -1.6ex + \raisebox{-\Cap@D}[0pt][0pt] + {\makebox[0pt][r]{\copy0\hskip.2\wd0}}% + \Cap@\number\ht0 + \divide\Cap@ by \baselineskip + \advance\Cap@ by 1 +\hangindent1.2\wd0 \hangafter-\Cap@ \ignorespaces} + +\endinput diff --git a/Master/texmf-dist/tex/latex/shipunov/etiketka.cls b/Master/texmf-dist/tex/latex/shipunov/etiketka.cls new file mode 100644 index 00000000000..fea5932fbef --- /dev/null +++ b/Master/texmf-dist/tex/latex/shipunov/etiketka.cls @@ -0,0 +1,143 @@ +% Author: Alexey B. Shipunov (plantago@herba.msu.ru) + +\ProvidesClass{etiketka}% + [2008/02/16 v2.7 Herbarium labels] + +\newif\if@NOL +\newcounter{etiketka@} +\newcounter{etiketka@@} +\newsavebox{\TMP@etiketka} + +\DeclareOption{nolines}{\@NOLtrue} +\DeclareOption{lines}{\@NOLfalse} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} + +\ExecuteOptions{lines} +\ProcessOptions + +\LoadClass{article} + +% SPECIFIC LAYOUT +\topmargin-14mm +\headheight0mm +\headsep0mm +\textheight254mm +\footskip0mm +\textwidth190mm +\oddsidemargin-14mm +\parskip 2ex plus .5ex minus .2ex + +\let\ps@plain\ps@empty +\ps@empty + +\nofiles + +\twocolumn +% Columnsep rule with dots... +\def\@outputdblcol{% + \if@firstcolumn + \global \@firstcolumnfalse + \global \setbox\@leftcolumn \box\@outputbox + \else + \global \@firstcolumntrue + \setbox\@outputbox \vbox {% + \hb@xt@\textwidth {% + \hb@xt@\columnwidth {% + \box\@leftcolumn \hss}% + \hfil + \hskip-1.2em\rlap{\vbox to \ht\@outputbox {\leaders \vbox to 1.5em{\vss.\vss}\vfill}}\hskip1.2em + \hfil + \hb@xt@\columnwidth {% + \box\@outputbox \hss}% + }% + }% + \@combinedblfloats + \@outputpage + \begingroup + \@dblfloatplacement + \@startdblcolumn + \@whilesw\if@fcolmade \fi + {\@outputpage + \@startdblcolumn}% + \endgroup + \fi +} + +\if@NOL +\columnsep0pt +\columnseprule0pt +\def\NameStyle{\centering} +\def\NameRule{\vspace*{.7\baselineskip}} +\def\EtiketkaRule{\relax} +\fi + +% USEFUL MACROS +\def\nohyphens{\hyphenpenalty=10000\exhyphenpenalty=10000\relax} + +% MAIN ENVIRONMENT +\newenvironment{etiketka}[1][1]{% +\setcounter{etiketka@@}{#1} +\begin{lrbox}{\TMP@etiketka} + \begin{minipage}{0.93\columnwidth} + {\centering\scshape\HerbName\par} + \vspace*{.3cm} + \raggedright} + {\EtiketkaRule + \end{minipage} +\end{lrbox} + \setcounter{etiketka@}{0} + \loop\ifnum \value{etiketka@} < \value{etiketka@@} + \stepcounter{etiketka@} + \usebox{\TMP@etiketka} +\endgraf\repeat} + +% LABEL ELEMENTS +% Maybe redefined... +\def\NameStyle{\parindent2em\hangindent2em} +\def\NameRule{\centerline{\rule{.95\linewidth}{.4pt}}} +\def\EtiketkaRule{% + \vspace*{1em} + \hbox to \linewidth{\leaders \hbox to 1.5em{\hss.\hss}\hfill} + \vspace*{1.2em}} + +% NAMES +% You can input something as \Name Plantago {} {} +% Empty line after required! +\def\Name#1 #2 #3\par{{\NameStyle + \textit{#1 #2} #3\par}% + \vspace*{-.7\baselineskip} + \NameRule + \vspace*{.2cm}} +% Anonimous label +% Empty line after required! +\def\Without{\Name {\rule{0pt}{1ex}} {} {}} + +% REGION, DISTRICT AND LOCAL ADDRESS +% Empty line after required! +\def\Dist#1\par{{\parindent 2em\hangindent 2em#1\par}} +\def\Loc#1\par{{\parindent 4em\hangindent 4em#1\par}} + +% COORDINATES +\def\CGrad#1#2{#1$^\circ$ \East, + #2$^\circ$ \North{}} +\def\CMin#1#2#3#4{#1$^\circ$~#2$^\prime$ \East, + #3$^\circ$~#4$^\prime$ \North{}} +\def\CSec#1#2#3#4#5#6{#1$^\circ$~#2$^\prime$~#3$^{\prime\prime}$ \East, + #4$^\circ$~#5$^\prime$~#6$^{\prime\prime}$ \North{}} + +% HABIT, DATE, COLLECTOR(S) +% Empty line after required! +\def\Date#1\par{\vspace*{.2cm}\parbox[t]{.3\linewidth}{#1}\hfill} +% Empty line after required! +\def\Coll#1\par{\parbox[t]{.5\linewidth} + {\raggedright\nohyphens\CollName#1}\par} + +% COMMANDS FOR REDEFINITION +\def\East{E} +\def\North{N} +\def\Reg{\relax} +\def\Habit{\relax} +\def\HerbName{\relax} +\def\CollName{\relax} + +\endinput diff --git a/Master/texmf-dist/tex/latex/shipunov/flower.sty b/Master/texmf-dist/tex/latex/shipunov/flower.sty new file mode 100644 index 00000000000..e7a39acf3e6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/shipunov/flower.sty @@ -0,0 +1,85 @@ +% Author: Alexey B. Shipunov (plantago@herba.msu.ru) + +\ProvidesPackage{flower}% + [2008/02/06 v1.2 Typesetting botanical sings] + +% Fonts `wasy' required +\DeclareRobustCommand\wasyfamily + {\fontencoding{U}\fontfamily{wasy}\selectfont} +\DeclareSymbolFont{WASY}{U}{wasy}{m}{n} +\SetSymbolFont{WASY}{bold}{U}{wasy}{bx}{n} + +% SIGNS BEFORE FORMULA +% Male +\DeclareMathSymbol{\Mal}{\mathord}{WASY}{"1A} +% Female +\DeclareMathSymbol{\Fem}{\mathord}{WASY}{"19} +% Hermafroditic +\def\Herm{\mbox{\ensuremath{\Mal}\kern-.82em\lower.27ex\hbox{\ensuremath{\Fem}}\kern.2em}} +% Asymmetry +\DeclareMathSymbol{\Asx}{\mathord}{WASY}{"12} +% Actinomorphy +\DeclareMathSymbol{\Act}{\mathord}{WASY}{"42} +% Zygomorphy +\DeclareMathSymbol{\Zyg}{\mathord}{symbols}{"22} + +% FLORAL UNITS +% Perianth +\def\P#1{\mathrm{\PName}_{#1}} +% Calyx +\def\K#1{\mathrm{\KName}_{#1}} +% Corolla +\def\C#1{\mathrm{\CName}_{#1}} +% Androceum +\def\A#1{\mathrm{\AName}_{#1}} +% Gynoeceum +\def\G#1{\mathrm{\GName}_{#1}} +% Exterior ovary = hypogynous flower: $\Ge(2)$ or $\Ge{(2)}$ +\def\Ge{\@ifnextchar(\Ge@B{\Ge@@}} + \def\Ge@B(#1){\mathrm{\GName}_{(\underline{#1})}} + \def\Ge@@#1{\mathrm{\GName}_{\underline{#1}}} +% Hemiinferior ovary = hemiepigynous flower +\def\Gm{\@ifnextchar(\Gm@B{\Gm@@}} + \def\Gm@B(#1){\mathrm{\GName}_{\hbox{-}(#1)\hbox{-}}} + \def\Gm@@#1{\mathrm{\GName}_{\hbox{-}#1\hbox{-}}} +% Inferior ovary = epigynous flower +\def\Gi{\@ifnextchar(\Gi@B{\Gi@@}} + \def\Gi@B(#1){\mathrm{\GName}% + \raise.25ex\hbox{$_{\scriptstyle(\overline{#1})}$}} + \def\Gi@@#1{\mathrm{\GName}% + \raise.25ex\hbox{$_{\scriptstyle\overline{#1}}$}} +% Non-trivial floral units +\def\?#1#2{\ensuremath{\mathrm{#1}_{#2}}} + +% For redefinition: +\def\PName{P} +\def\KName{K} +\def\CName{C} +\def\AName{A} +\def\GName{G} + +% FLOWER OPERATION NAMES (Shipunov, unpubl.) +% Fixation +\newcommand{\Fix}{\mathop{\mathrm{Fix}}\nolimits} +% Reduction +\newcommand{\Red}{\mathop{\mathrm{Red}}\nolimits} +% Connation +\newcommand{\Con}{\mathop{\mathrm{Con}}\nolimits} +% Differentiation +\newcommand{\Dif}{\mathop{\mathrm{Dif}}\nolimits} +% Homeosis +\newcommand{\Mov}{\mathop{\mathrm{Mov}}\nolimits} + +% PLANT LIFE FORMS +% Annuals +\def\Mon{\mbox{\textcircled{\lower.1ex\hbox{$\cdot$}}}} +% Biennials +\def\Bin{\mbox{\textcircled{\lower.1ex\hbox{$\cdot\mkern-1mu\cdot$}}}} +% Perennials +\def\Per{{\wasyfamily\char"58}} +% Shrubs +\def\Shrub{{\wasyfamily\char"59}} +% Trees +\def\Tree{{\wasyfamily\char"59}\kern-.58em\lower-.65ex\hbox{-}\kern.15em} + +\endinput diff --git a/Master/texmf-dist/tex/latex/shipunov/isyntax.sty b/Master/texmf-dist/tex/latex/shipunov/isyntax.sty new file mode 100644 index 00000000000..3163b0d5fa1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/shipunov/isyntax.sty @@ -0,0 +1,23 @@ +\ProvidesPackage{isyntax} + [2008/02/07 v0.3 Interactive syntax check] + +\RequirePackage{ifthen} + +\newif\if@SO +\DeclareOption{syntaxonly}{\@SOtrue} +\DeclareOption{nosyntaxonly}{\@SOfalse} + +\ExecuteOptions{syntaxonly} +\ProcessOptions + +\if@SO + \RequirePackage{syntonly} + \typeout{}% Screen typeout: + \typeout{*********************************************} + \typeout{ Do you want only to check syntax of your} + \typeout{ document (no dvi/pdf output)? (y/n)} + \typein[\isyntax]{*********************************************} + \ifthenelse{\equal{\isyntax}{y}}{\syntaxonly}{\relax} +\fi\relax + +\endinput diff --git a/Master/texmf-dist/tex/latex/shipunov/numerus.sty b/Master/texmf-dist/tex/latex/shipunov/numerus.sty new file mode 100644 index 00000000000..038ef56ba0f --- /dev/null +++ b/Master/texmf-dist/tex/latex/shipunov/numerus.sty @@ -0,0 +1,207 @@ +% Author: Alexey B. Shipunov (plantago@herba.msu.ru) + +\ProvidesPackage{numerus}% + [2008/02/07 v1.2 Spell numbers in Russian words] + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% Синтаксис: \propis[необязательный_аргумент]{<число>} % +% \Propis[необязательный_аргумент]{<число>} % +% \PROpis[необязательный_аргумент]{<число>} % +% % +% Необязательный_аргумент: k (по умолчанию, количественное % +% числительное) % +% z (порядковое числительное женского рода % +% в именительном падеже) % +% m (порядковое числительное мужского рода % +% в именительном падеже) % +% % +% <Число>: цифра < 999 для порядковых числительных и < 999999 для % +% количественных, или счетчик, принимающий аналогичные % +% значения % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% Простой пример: \propis{99} дает `девяносто девять' % +% % +% Сложный пример: сначала % +% \renewcommand*{\thechapter}{\PROpis[z]{\c@chapter}}, % +% потом (если \c@chapter=99) \textsl{\uppercase{Глава} \thechapter} % +% дает текст `ГЛАВА ДЕВЯНОСТО ДЕВЯТАЯ' наклонным шрифтом % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newif\ifKol@ +\newif\ifPor@Zen +\newcount\Vrem@A + +% Все буквы маленькие (`девяносто девять') +\newcommand*{\propis}[2][k]{% + \let\V@\relax + \Delat@Propis{#1}{#2}} + +% Первая буква большая (`Девяносто девять') +\newcommand*{\Propis}[2][k]{% + \let\V@\Perv@B + \let\B@=B% + \Delat@Propis{#1}{#2}} + +\def\Verh@#1{\uppercase{#1}} +\def\Perv@B#1{\if B\B@ \Verh@ #1\else + #1\fi + \let\B@\relax} + +% Все буквы большие (`ДЕВЯНОСТО ДЕВЯТЬ') --- +% \uppercase{\propis{...}} не работает +\newcommand*{\PROpis}[2][k]{% + \let\V@\uppercase + \Delat@Propis{#1}{#2}} + +% Основная команда +\def\Delat@Propis#1#2{{% + \if k#1\Kol@true\else + \if z#1\Por@Zentrue\else + \if m#1\relax\else + \Oshibka@Arg +\fi\fi\fi\Test@Propis{#2}}} + +% Проверка ошибок и разветвление +\def\Test@Propis#1{% + \ifnum #1<0\Oshibka@Otr\else + \ifnum #1<10\Delat@Ed#1\else + \ifnum #1<20\expandafter\expandafter\expandafter + \Nadz@\expandafter\number#1\else + \ifnum #1<100\expandafter\expandafter\expandafter + \Delat@Des\expandafter\number#1\else + \ifnum #1<1000\expandafter\expandafter\expandafter + \Delat@Sot\expandafter\number#1\else + \ifnum #1<1000000\ifKol@\Vrem@A#1\advance\Vrem@A1000000 + \expandafter\expandafter\expandafter + \Delat@Tys\expandafter\number\Vrem@A\else + \Oshibka@Tys\fi\else + \Oshibka@Mill +\fi\fi\fi\fi\fi\fi} + +% Ошибки +\def\Oshibka@Arg{\PackageWarning{numeral}{% +`propis' got wrong mandatory argument!^^J% +Command did not executed}} + +\def\Oshibka@Otr{\PackageWarning{numeral}{% +`propis' got argument < 0!^^J% +Command did not executed}} + +\def\Oshibka@Tys{\PackageWarning{numeral}{% +Ordinal numerals > 999 not supported :(^^J% +Command did not executed}} + +\def\Ошибка@Mill{\PackageWarning{numeral}{% +`propis' got argument > 999 999!^^J% +Command did not executed}} + +% Единицы (0...10) +\def\Delat@Ed#1{\ifKol@\Kol@Ed#1\else + \Por@Ed#1\fi} + +\def\Kol@Ed#1{\ifcase#1\V@{ноль}\or\V@{один}\or\V@{два}\or +\V@{три}\or\V@{четыре}\or\V@{пять}\or\V@{шесть}\or\V@{семь}\or +\V@{восемь}\or\V@{девять}\or\V@{десять}\fi} + +\def\Por@Ed#1{\ifcase#1\V@{нулев}\or\V@{перв}\or\V@{втор}\or +\V@{трет}\or\V@{четверт}\or\V@{пят}\or\V@{шест}\or\V@{седьм}\or +\V@{восьм}\or\V@{девят}\or\V@{десят}\fi\Ok@Ed#1} + +\def\Ok@Ed#1{\ifKol@\relax\else + \ifPor@Zen\ifcase#1\V@{ая}\or\V@{ая}\or\V@{ая}\or + \V@{ья}\else\V@{ая}\fi\else + \ifcase#1\V@{ой}\or\V@{ый}\or\V@{ой}\or + \V@{ий}\or\V@{ый}% + \or\V@{ый}\or\V@{ой}\or\V@{ой}\or + \V@{ой}\or\V@{ый}% +\fi\fi\fi} + +% От 10 до 19 +\def\Nadz@#1#2{\ifcase#2\V@{десят}\or\V@{одиннадцат}\or +\V@{двенадцат}\or\V@{тринадцат}\or\V@{четырнадцат}\or +\V@{пятнадцат}\or\V@{шестнадцат}\or\V@{семнадцат}\or +\V@{восемнадцат}\or\V@{девятнадцат}\fi\Ok@Nadz} + +\def\Ok@Nadz{\ifKol@\V@{ь}\else + \ifPor@Zen\V@{ая}\else\V@{ый}% +\fi\fi} + +% 20--99 +\def\Delat@Des#1#2{\ifKol@\Kol@Des#1% + \ifnum #2=0\relax\else + \ \Kol@Ed#2\fi\else + \ifnum #2=0\Por@Des#1\else + \Kol@Des#1\ \Por@Ed#2% +\fi\fi} + +\def\Kol@Des#1{\ifcase#1\or\or\V@{двадцать}\or\V@{тридцать}\or +\V@{сорок}\or\V@{пятьдесят}\or\V@{шестьдесят}\or +\V@{семьдесят}\or\V@{восемьдесят}\or\V@{девяносто}\fi} + +\def\Por@Des#1{\ifcase#1\or\or\V@{двадцат}\or\V@{тридцат}\or +\V@{сороков}\or\V@{пятидесят}\or\V@{шестидесят}\or +\V@{семидесят}\or\V@{восьмидесят}\or\V@{девяност}\fi\Ok@Des#1} + +\def\Ok@Des#1{\ifKol@\relax\else + \ifPor@Zen\V@{ая}\else + \ifcase#1\or\or\V@{ый}\or\V@{ый}\or\V@{ой}\else + \V@{ый}\fi +\fi\fi} + +% 100--999 +\def\Delat@Sot#1#2#3{% +\ifnum #2=0% + \ifnum #3=0% + \ifKol@\Kol@Sot#1\else\Por@Sot#1\fi\else + \Kol@Sot#1\ \Delat@Ed#3\fi\else +\Delat@Ост@Sot#1#2#3\fi} + +\def\Delat@Ост@Sot#1#2#3{\Kol@Sot#1\ \ifnum#2=1\Nadz@#2#3\else + \Delat@Des#2#3\fi} + +\def\Kol@Sot#1{\ifcase#1\or\V@{сто}\or\V@{двести}\or +\V@{триста}\or\V@{четыреста}\or\V@{пятьсот}\or\V@{шестьсот}\or +\V@{семьсот}\or\V@{восемьсот}\or\V@{девятьсот}\fi} + +\def\Por@Sot#1{\ifcase#1\or\V@{сот}\or\V@{двухсот}\or +\V@{трехсот}\or\V@{четырехсот}\or\V@{пятисот}\or\V@{шестисот}\or +\V@{семисот}\or\V@{восьмисот}\or\V@{девятисот}\fi\Ok@Nadz} + +% 1000--999999 (только для количественных числительных) +\def\Delat@Tys1#1#2#3#4#5#6{% + \Delat@P@Tys{#1}{#2}{#3}% +\Delat@V@Tys{#4}{#5}{#6}} + +% Первые три цифры +\def\Delat@P@Tys#1#2#3{% +\ifnum #1=0% + \ifnum #2=0% + \ifnum #3=1\V@{тысяча}\else + \ifnum #3=2\V@{две тысячи}\else + \Delat@Ed#3\ \V@{тысяч}% +\ifcase#3\or\or\or\V@{и}\or\V@{и}\else\relax\fi\fi\fi\else + \ifnum #2=1\Nadz@#2#3\ \V@{тысяч}\else + \ifnum #3=1\Delat@Des{#2}{0}\V@{одна тысяча}\else + \ifnum #3=2\Delat@Des{#2}{0}\V@{две тысячи}\else + \Delat@Des#2#3\ \V@{тысяч}% +\ifcase#3\or\or\or\V@{и}\or\V@{и}\else\relax\fi\fi\fi\fi\fi\else + \ifnum #3=1\Delat@Sot{#1}{#2}{0}\V@{одна тысяча}\else + \ifnum #3=2\Delat@Sot{#1}{#2}{0}\V@{две тысячи}\else +\Delat@Sot#1#2#3\ \V@{тысяч}\ifnum #2=1\relax\else +\ifcase#3\or\or\or\V@{и}\or\V@{и}\else\relax\fi\fi\fi\fi\fi} + +% Вторые три цифры +\def\Delat@V@Tys#1#2#3{% +\ifnum #1=0% + \ifnum #2=0% + \ifnum #3=0\relax\else + \ \Delat@Ed#3\fi\else + \ifnum #2=1\ \Nadz@#2#3\else + \ \Delat@Des#2#3\fi\fi\else +\ \Delat@Sot#1#2#3\fi} + +\endinput diff --git a/Master/texmf-dist/tex/latex/shipunov/punct.sty b/Master/texmf-dist/tex/latex/shipunov/punct.sty new file mode 100644 index 00000000000..84c3c2692e9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/shipunov/punct.sty @@ -0,0 +1,38 @@ +% Author: Alexey B. Shipunov (plantago@herba.msu.ru) + +\ProvidesPackage{punct}% + [2008/02/06 v0.3 Straight punctuation with italic text] + +% Catcodes redefined! May be dangerous... + +\def\PUNactive{% +\let\Z@P=,% +\let\T@T=.% +\let\D@V=:% +\let\T@C=;% +\let\O@C=(% +\let\Z@C=)% +\let\V@L=!% +\let\V@P=?% +\catcode`,=\active% +\catcode`.=\active% +\catcode`;=\active% +\catcode`:=\active% +\catcode`(=\active% +\catcode`)=\active% +\catcode`!=\active% +\catcode`?=\active} + +{\PUNactive% +\gdef,{{\/\reset@font\Z@P}}% +\gdef.{{\/\reset@font\T@T}}% +\gdef:{{\/\reset@font\D@V}}% +\gdef;{{\/\reset@font\T@C}}% +\gdef({{\/\reset@font\O@C}}% +\gdef){{\/\reset@font\Z@C}}% +\gdef!{{\/\reset@font\V@L}}% +\gdef?{{\/\reset@font\V@P}}} + +\def\ITP{\PUNactive\itshape} + +\endinput diff --git a/Master/texmf-dist/tex/latex/shipunov/sltables.sty b/Master/texmf-dist/tex/latex/shipunov/sltables.sty new file mode 100644 index 00000000000..f75fdfdb15f --- /dev/null +++ b/Master/texmf-dist/tex/latex/shipunov/sltables.sty @@ -0,0 +1,267 @@ +% Modified from the original sources by A. Shipunov (plantago@herba.msu.ru) + +\ProvidesPackage{sltables} + [2008/02/07 v1.2 S-Tables LaTeX package] + +%% Some modifications to LaTeX: +%% Add LaTeX 2.09 counter +\newcount\mscount +% +% S-Tables Macro v1.0, ACS, TAMU (RANHELP@VENUS.TAMU.EDU) +% +% Help Text +% +\newhelp\stablestylehelp{You must choose a style between 0 and 3.}% +\newhelp\stablelinehelp{You should not use special hrules when stretching +a table.}% +\newhelp\stablesmultiplehelp{You have tried to place an S-Table inside another +S-Table. I would recommend not going on.}% +% +% Line Thicknesses (Values) +% +\newdimen\stablesthinline +\stablesthinline=0.4pt +\newdimen\stablesthickline +\stablesthickline=1pt +% +% Border and Internal Line Thicknesses +% +\newif\ifstablesborderthin +\stablesborderthinfalse +\newif\ifstablesinternalthin +\stablesinternalthintrue +\newif\ifstablesomit +\newif\ifstablemode +\newif\ifstablesright +\stablesrightfalse +% +% Save Registers +% +\newdimen\stablesbaselineskip +\newdimen\stableslineskip +\newdimen\stableslineskiplimit +% +% Counters +% +\newcount\stablesmode +\newcount\stableslines +\newcount\stablestemp +\stablestemp=3 +\newcount\stablescount +\stablescount=0 +\newcount\stableslinet +\stableslinet=0 +% +% Table Style Selection +% +% 0 - Centered +% 1 - Left Justified +% 2 - Right Justified +% 3 - Not Justified +% +\newcount\stablestyle +\stablestyle=0 +% +% Element Buffering Definitions +% +\def\stablesleft{\quad\hfil}% +\def\stablesright{\hfil\quad}% +% +% Vertical Bar Activation <== changed! +% +{\catcode`\|=\active +\gdef\Start@Bar{% +\global\catcode`\|=\active + \global\def|{\global\advance\stablesmode by 1&&&}% + \global\def\|{\global\advance\stablesmode by 1&\omit\vrule width 0pt% +\hfil&&}}}% +% +% +% Strut Control +% +\newcount\stablestrutsize +\newbox\stablestrutbox +\setbox\stablestrutbox=\hbox{\vrule height10pt depth5pt width0pt} +\def\stablestrut{\relax\ifmmode% + \copy\stablestrutbox% + \else% + \unhcopy\stablestrutbox% + \fi}% +% +% Misc. Internal Stuff +% +\newdimen\stablesborderwidth +\newdimen\stablesinternalwidth +\newdimen\stablesdummy +\newcount\stablesdummyc +\newif\ifstablesin +\stablesinfalse +% +% Table Macros +% +\def\stable{\Start@Bar\stablestart% <== changed! + \stablemodetrue% + \stablesadj% + \halign% + \stablesdef}% +\def\stableto#1{\Start@Bar\stablestart% <== changed! + \stablemodefalse% + \stablesadj% + \halign to #1% + \stablesdef}% +\def\stablesp#1{\Start@Bar\stablestart% <== changed! + \stablemodefalse% + \stablesadj% + \halign spread #1% + \stablesdef}% +\def\stablesadj{% + \ifcase\stablestyle% + \hbox to \hsize\bgroup\hss\vbox\bgroup% + \or% + \hbox to \hsize\bgroup\vbox\bgroup% + \or% + \hbox to \hsize\bgroup\hss\vbox\bgroup% + \or% + \hbox\bgroup\vbox\bgroup% + \else% + \errhelp=\stablestylehelp% + \errmessage{Invalid style selected, using default}% + \hbox to \hsize\bgroup\hss\vbox\bgroup% + \fi}% +\def\stablesend{\egroup% + \ifcase\stablestyle% + \hss\egroup% + \or% + \hss\egroup% + \or% + \egroup% + \or% + \egroup% + \else% + \hss\egroup% + \fi}% +\def\stablestart{% + \ifstablesin% + \errhelp=\stablesmultiplehelp% + \errmessage{An S-Table cannot be placed within an S-Table!}% + \fi + \global\stablesintrue% + \global\advance\stablescount by 1% + \message{<S-Tables Generating Table \number\stablescount}% + \begingroup% + \stablestrutsize=\ht\stablestrutbox% + \advance\stablestrutsize by \dp\stablestrutbox% + \ifstablesborderthin% + \stablesborderwidth=\stablesthinline% + \else% + \stablesborderwidth=\stablesthickline% + \fi% + \ifstablesinternalthin% + \stablesinternalwidth=\stablesthinline% + \else% + \stablesinternalwidth=\stablesthickline% + \fi% + \tabskip=0pt% + \stablesbaselineskip=\baselineskip% + \stableslineskip=\lineskip% + \stableslineskiplimit=\lineskiplimit% + \offinterlineskip% + \def\borderrule{\vrule width \stablesborderwidth}% + \def\internalrule{\vrule width \stablesinternalwidth}% +% + \def\thinline{\noalign{\hrule height \stablesthinline}}% + \def\thickline{\noalign{\hrule height \stablesthickline}}% + \def\trule{\omit\leaders\hrule height \stablesthinline\hfill}% + \def\ttrule{\omit\leaders\hrule height \stablesthickline\hfill}% + \def\tttrule##1{\omit\leaders\hrule height ##1\hfill}% + \def\stablesel{&\omit\global\stablesmode=0% + \global\advance\stableslines by 1\borderrule\hfil\cr}% + \def\el{\stablesel&}% + \def\elt{\stablesel\thinline&}% + \def\eltt{\stablesel\thickline&}% + \def\elttt##1{\stablesel\noalign{\hrule height ##1}&}% + \def\elspec{&\omit\hfil\borderrule\cr\omit\borderrule&% + \ifstablemode% + \else% + \errhelp=\stablelinehelp% + \errmessage{Special ruling will not display properly}% + \fi}% +% + \def\stmultispan##1{\mscount=##1 \loop\ifnum\mscount>3 \stspan\repeat}% + \def\stspan{\span\omit \advance\mscount by -1}% +% + \def\multicolumn##1{\omit\multiply\stablestemp by ##1% + \stmultispan{\stablestemp}% + \advance\stablesmode by ##1% + \advance\stablesmode by -1% + \stablestemp=3}% + \def\multirow##1{\stablesdummyc=##1\parindent=0pt\setbox0\hbox\bgroup% + \aftergroup\emultirow\let\temp=} + \def\emultirow{\setbox1\vbox to\stablesdummyc\stablestrutsize% + {\hsize\wd0\vfil\box0\vfil}% + \ht1=\ht\stablestrutbox% + \dp1=\dp\stablestrutbox% + \box1}% +% +% \def\stvcen##1{\vtop{\vfill\hbox{##1}\vfill}}% Currently does not work! + \def\stpar##1{\vtop\bgroup\hsize ##1% + \baselineskip=\stablesbaselineskip% + \lineskip=\stableslineskip% + \lineskiplimit=\stableslineskiplimit\bgroup\aftergroup\estpar\let\temp=}% + \def\estpar{\vskip 6pt\egroup}% + \def\stparrow##1##2{\stablesdummy=##2% + \setbox0=\vtop to ##1\stablestrutsize\bgroup% + \hsize\stablesdummy% + \baselineskip=\stablesbaselineskip% + \lineskip=\stableslineskip% + \lineskiplimit=\stableslineskiplimit% + \bgroup\vfil\aftergroup\estparrow% + \let\temp=}% + \def\estparrow{\vfil\egroup% + \ht0=\ht\stablestrutbox% + \dp0=\dp\stablestrutbox% + \wd0=\stablesdummy% + \box0}% +% + \def\vt{\global\advance\stablesmode by 1&\omit\vrule width \stablesthinline% + \hfil&&}% + \def\vtt{\global\advance\stablesmode by 1&\omit\vrule width \stablesthickline% + \hfil&&}% + \def\vttt##1{\global\advance\stablesmode by 1&\omit\vrule width ##1% + \hfil&&}% + \def\vtr{\global\advance\stablesmode by 1&\omit\hfil\vrule width% + \stablesthinline&&}% + \def\vttr{\global\advance\stablesmode by 1&\omit\hfil\vrule width% + \stablesthickline&&}% + \def\vtttr##1{\global\advance\stablesmode by 1&\omit\hfil\vrule width ##1&&}% + \stableslines=0% + \stablesomitfalse} +% +\def\stablesdef{\bgroup\stablestrut\borderrule##\tabskip=0pt plus 1fil% + &\stablesleft##\stablesright% + &##\ifstablesright\hfill\fi\internalrule\ifstablesright\else\hfill\fi% + \tabskip 0pt&&##\hfil\tabskip=0pt plus 1fil% + &\stablesleft##\stablesright% + &##\ifstablesright\hfill\fi\internalrule\ifstablesright\else\hfill\fi% + \tabskip=0pt\cr% + \ifstablesborderthin% + \thinline% + \else% + \thickline% + \fi&% +}% +\def\endstable{\advance\stableslines by 1\advance\stablesmode by 1% <== changed! + \message{- Rows: \number\stableslines, Columns: \number\stablesmode>}% + \stablesel% + \ifstablesborderthin% + \thinline% + \else% + \thickline% + \fi% + \egroup\stablesend% +\endgroup% +\global\stablesinfalse% +\global\catcode`\|=12}% <== new! +\let\endstableto\endstable% <== new! +\let\endstablesp\endstable% <== new! +% diff --git a/Master/texmf-dist/tex/latex/shipunov/starfn.sty b/Master/texmf-dist/tex/latex/shipunov/starfn.sty new file mode 100644 index 00000000000..e70be056141 --- /dev/null +++ b/Master/texmf-dist/tex/latex/shipunov/starfn.sty @@ -0,0 +1,12 @@ +% Author: Alexey B. Shipunov (plantago@herba.msu.ru) + +\ProvidesPackage{starfn}% + [2008/02/16 v0.4 Footnote marks as stars on each page: Russian typographic tradition] + +\RequirePackage{footnpag} + +\def\@starsymbol#1{\ensuremath{\ifcase#1\or *\or **\or ***\or + *4\or *5\or *6\or *7\or *8\or *9 \else\@ctrerr\fi}} + +\renewcommand\thefootnote{\@starsymbol\c@footnote} +\endinput |