From df5594caf88785ce244cf271866f6491423f371c Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Thu, 12 Jan 2006 23:52:17 +0000
Subject: biocon

git-svn-id: svn://tug.org/texlive/trunk@713 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/latex/biocon/biocon.sty | 150 ++++++++++++++++++++++++++
 1 file changed, 150 insertions(+)
 create mode 100644 Master/texmf-dist/tex/latex/biocon/biocon.sty

(limited to 'Master/texmf-dist/tex/latex/biocon/biocon.sty')

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%
+    }%
+  }%
+}
-- 
cgit v1.2.3

