diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-12 23:52:17 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-12 23:52:17 +0000 |
commit | df5594caf88785ce244cf271866f6491423f371c (patch) | |
tree | f56897efbc39e07031b5d1b5c31e1dc46c289ad2 /Master/texmf-dist/tex/latex/biocon | |
parent | d6a3af02ca229a5c2c5badda0554c2bf8a29ebb4 (diff) |
biocon
git-svn-id: svn://tug.org/texlive/trunk@713 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/biocon')
-rw-r--r-- | Master/texmf-dist/tex/latex/biocon/biocon.sty | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/biocon/biocon.sty b/Master/texmf-dist/tex/latex/biocon/biocon.sty new file mode 100644 index 00000000000..dfc6de431a9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biocon/biocon.sty @@ -0,0 +1,150 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{biocon}[2001/08/18] + + +\RequirePackage{keyval} +\RequirePackage{ifthen} +\newcommand{\curr@ntid}{} +\newcounter{Q@D@counter} +\newcommand{\T@mpFirst}{} +\newcommand{\T@mpRest}{} +\newcommand{\Gl@balF@llStyle}{} +\newcommand{\Gl@bal@bbrStyle}{} +\newcommand{\Gl@balPE@llStyle}{} +\newcommand{\Gl@balFE@llStyle}{} +\newcommand{\Gl@balAE@llStyle}{} +\newcommand{\Gl@balBE@llStyle}{} +\newcommand{\newplant}[2]{\n@wsp@cies{P}{#1}{#2}} +\newcommand{\newfungus}[2]{\n@wsp@cies{F}{#1}{#2}} +\newcommand{\newanimal}[2]{\n@wsp@cies{A}{#1}{#2}} +\newcommand{\newbact}[2]{\n@wsp@cies{B}{#1}{#2}} + +\newcommand{\plantlike}[2][] + {\n@wsp@cies{}{Q@D}{#2}\plant[#1]{Q@D}\expandafter\Q@DCleanup\Q@DCleanList+} +\newcommand{\funguslike}[2][] + {\n@wsp@cies{}{Q@D}{#2}\fungus[#1]{Q@D}\expandafter\Q@DCleanup\Q@DCleanList+} +\newcommand{\animallike}[2][] + {\n@wsp@cies{}{Q@D}{#2}\animal[#1]{Q@D}\expandafter\Q@DCleanup\Q@DCleanList+} +\newcommand{\bactlike}[2][] + {\n@wsp@cies{}{Q@D}{#2}\bact[#1]{Q@D}\expandafter\Q@DCleanup\Q@DCleanList+} +\newcommand{\newtaxastyle}[2]{\expandafter\def\csname Sp@cies#1\endcsname{#2}} +\newcommand{\defaultplante}[1] + {\renewcommand{\Gl@balPE@llStyle}{\csname Sp@cies#1\endcsname}} +\newcommand{\defaultfunguse}[1] + {\renewcommand{\Gl@balFE@llStyle}{\csname Sp@cies#1\endcsname}} +\newcommand{\defaultanimale}[1] + {\renewcommand{\Gl@balAE@llStyle}{\csname Sp@cies#1\endcsname}} +\newcommand{\defaultbacte}[1] + {\renewcommand{\Gl@balBE@llStyle}{\csname Sp@cies#1\endcsname}} +\newcommand{\defaultfull}[1] + {\renewcommand{\Gl@balF@llStyle}{\csname Sp@cies#1\endcsname}} +\newcommand{\defaultabbr}[1] + {\renewcommand{\Gl@bal@bbrStyle}{\csname Sp@cies#1\endcsname}} +\newcommand{\plant}[2][]{\sh@wsp@cies{P}{#2}{#1}} +\newcommand{\fungus}[2][]{\sh@wsp@cies{F}{#2}{#1}} +\newcommand{\animal}[2][]{\sh@wsp@cies{A}{#2}{#1}} +\newcommand{\bact}[2][]{\sh@wsp@cies{B}{#2}{#1}} +\newcommand{\n@wsp@cies}[3]{% +\renewcommand{\curr@ntid}{#1#2@}% +\ifthenelse{\equal{#2}{Q@D}}% + {\relax}% + {\newcounter{\curr@ntid counter}}% +\setcounter{\curr@ntid counter}{0}% +\setkeys{SpeciesParams}{#3}% +} +\def\Q@DCleanup#1+{\n@wsp@cies{}{Q@D}{#1}} + +\newcommand{\add@species@key}[2]{% + \define@key{SpeciesParams}{#1}{#2} + \expandafter\ifx\csname Q@DCleanList\endcsname\relax% + \def\Q@DCleanList{#1=\relax}% + \else% + \edef\Q@DCleanList{\Q@DCleanList,#1=\relax}% + \fi% +} +\def\SplitG@nusL@tters(#1#2){% + \uppercase{\renewcommand{\T@mpFirst}{#1}}\lowercase{\renewcommand{\T@mpRest}{#2}}} +\add@species@key{genus}{% + \SplitG@nusL@tters(#1)% + \expandafter\edef\csname\curr@ntid genus\endcsname{\T@mpFirst\T@mpRest}% +} +\add@species@key{oldgenus}{% + \SplitG@nusL@tters(#1)% + \expandafter\edef\csname\curr@ntid oldgenus\endcsname{\T@mpFirst\T@mpRest}% +} +\add@species@key{epithet}{\lowercase{\expandafter\edef\csname\curr@ntid epithet\endcsname{#1}}} +\add@species@key{oldepithet}{\lowercase{\expandafter\edef\csname\curr@ntid oldepithet\endcsname{#1}}} +\add@species@key{author}{\expandafter\edef\csname\curr@ntid author\endcsname{#1}} +\add@species@key{year}{\expandafter\edef\csname\curr@ntid year\endcsname{#1}} +\add@species@key{oldauthor}{\expandafter\edef\csname\curr@ntid oldauthor\endcsname{#1}} +\add@species@key{oldyear}{\expandafter\edef\csname\curr@ntid oldyear\endcsname{#1}} +\define@key{SpeciesParams}{fullstyle} + {\expandafter\def\csname\curr@ntid fullstyle\endcsname{\csname Sp@cies#1\endcsname}} +\define@key{SpeciesParams}{abbrstyle} + {\expandafter\def\csname\curr@ntid abbrstyle\endcsname{\csname Sp@cies#1\endcsname}} +\newcommand{\newtaxon}[1]{\add@species@key{#1}{\expandafter\edef\csname\curr@ntid #1\endcsname{##1}}} +\newcommand{\taxon}[1]{\Sh@wTax@n+(#1)+n+} +\newcommand{\taxonfirst}[1]{\Sh@wTax@n+(#1)+a+} + +\def\Sh@wTax@n+(#1!#2!#3)+#4+{% + \expandafter\ifx\csname\curr@ntid#2\endcsname% + \relax% + \else% + \ifthenelse{\equal{#4}{n}}{% + #1\csname\curr@ntid#2\endcsname#3% + }{% + \edef\T@mpTax@n{\csname\curr@ntid#2\endcsname}% + #1\expandafter\Sh@wFirst\T@mpTax@n+#3% + }% + \fi% +} + +\def\Sh@wFirst#1#2+{#1} +\DeclareRobustCommand\taxitalics + {\@nomath\em \ifdim \fontdimen\@ne\font >\z@ + \upshape \else \itshape \fi} +\DeclareTextFontCommand{\taxit}{\taxitalics} +\newtaxastyle{ePlant} + {\taxit{\taxon{!genus!}\taxon{ !epithet!}}\taxon{ (!oldauthor!)}\taxon{ !author!}} +\newtaxastyle{eAnimal} + {\taxit{\taxon{!genus!}\taxon{ (!oldgenus!)}\taxon{ !epithet!}}\taxon{ (!oldauthor!}% + \taxon{, !oldyear!)}\taxon{!author!}\taxon{, !year!}} +\newtaxastyle{f} + {\taxit{\taxon{!genus!}\taxon{ !epithet!}}} +\newtaxastyle{a} + {\taxit{\taxonfirst{!genus!.}\taxon{ !epithet!}}} +\newtaxastyle{g} + {\taxit{\taxon{!genus!}}} +\defaultplante{ePlant} +\defaultfunguse{ePlant} +\defaultanimale{eAnimal} +\defaultbacte{eAnimal} +\defaultfull{f} +\defaultabbr{a} +\newcommand{\sh@wsp@cies}[3]{% + \ifthenelse{\equal{#2}{Q@D}}% + {\renewcommand{\curr@ntid}{#2@}}% + {\renewcommand{\curr@ntid}{#1#2@}}% + \ifthenelse{\equal{#3}{}}{% + \ifnum\value{\curr@ntid counter}=0% + \setcounter{\curr@ntid counter}{1}% + \expandafter\ifx\csname\curr@ntid fullstyle\endcsname\relax% + \csname Gl@balF@llStyle\endcsname% + \else% + \csname\curr@ntid fullstyle\endcsname % + \fi% + \else% + \expandafter\ifx\csname\curr@ntid abbrstyle\endcsname\relax% + \csname Gl@bal@bbrStyle\endcsname% + \else% + \csname\curr@ntid abbrstyle\endcsname% + \fi% + \fi% + }{% + \ifthenelse{\equal{#3}{e}}{% + \csname Gl@bal#1E@llStyle\endcsname% + }{% + \csname Sp@cies#3\endcsname% + }% + }% +} |