% Author: Alexey Shipunov, dactylorhiza@gmail.com \ProvidesPackage{flower}% [2019/10/03 v1.31 Typesetting botanical sings] % 20191002 symmetry signs are now 'mathpunct', to ensure space after them % 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}{\mathpunct}{WASY}{"12} % Actinomorphy \DeclareMathSymbol{\Act}{\mathpunct}{WASY}{"42} % Zygomorphy \DeclareMathSymbol{\Zyg}{\mathpunct}{symbols}{"22} % NEW SYMMETRY SIGNS FROM Prenner et al., 2010 % Median monosymmetry (downwards arrow; Unicode: 2193): \downarrow % Transverse monosymmetry (sidewards arrow; Unicode: 2192): \rightarrow % Oblique monosymmetry (Latin capital letter O with stroke; Unicode: 00D8): \O % Polysymmetry (asterisk): \Act % Asymmetry (partial differential; Unicode 2202): \partial % Obdiplostemonous / obhaplostemonous androecium (followed by "left right arrow"; Unicode 2194): \leftrightarrow % Resupination (registered sign; Unicode 00AE): \textregistered % Disymmetry (box drawings light vertical and horizontal; Unicode 253C): \def\DS{\mbox{\lower.2ex\hbox{\rule{.4pt}{1.55ex}}\kern-.17em\lower-.5ex\hbox{\rule{.3em}{.4pt}}\kern.2em}} % 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