如何正确定义 biocon 包中的新样式,使其行为与默认行为相匹配?附加:在每章中重置

如何正确定义 biocon 包中的新样式,使其行为与默认行为相匹配?附加:在每章中重置

我在论文中使用该biocon包来处理物种的科学名称。有时名称需要附上每个物种的菌株,因此我决定使用包手册中指示的\newtaxon和命令(\newtaxastylehttps://ctan.dcc.uchile.cl/macros/latex/contrib/biocon/manual.pdf)。

默认输出是在第一次调用时显示完整的物种名称,随后以缩写形式出现。

\documentclass[12pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{biocon}

\begin{document}

\newbact{rr}{genus=Raphidiopsis, epithet=raciborskii}

Common behaviour:\\
\bact{rr} and \bact{rr}

\end{document}

在此处输入图片描述

但是当我使用新样式时,其行为与默认样式不一样。

\documentclass[12pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{biocon}

\begin{document}

\newtaxon{strain}
\newtaxastyle{strain}{\taxit{\taxonfirst{!genus!.}\taxon{~!epithet!}}\taxon{~!strain!}}
\newbact{rr}{genus=Raphidiopsis, epithet=raciborskii, strain=CYP011K}

Undesired behaviour:\\
\bact[strain]{rr} and \bact[strain]{rr}

\end{document}

在此处输入图片描述

如果可能的话,额外:有没有办法重置每一章?即在每一章中显示物种首次出现时的全名。

答案1

更新

bact[f]{rr}首次使用后,每次使用时您都会获得(仅)全名。\bactF[f]{rr}您会获得全名 + 菌株。

埃

\documentclass[12pt,a4paper]{book}
%\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{biocon}

\newcommand{\bactF}[2][]{% new <<<<<<<<<<<<<<<<<
    \bact[#1]{#2}\bact[strainx]{#2}
}

\begin{document}
    
    \newtaxon{strain}
    \newtaxastyle{strain}{\taxit{\taxonfirst{!genus!.}\taxon{~!epithet!}}\taxon{~!strain!}}
    \newbact{rr}{genus=Raphidiopsis, epithet=raciborskii, strain=CYP011K}
    \newtaxastyle{strainx}{\taxon{~!strain!}} % new <<<<<<<<<<<<
            
    Common like  behaviour:
    
    \bact{rr} (first use) 
    
    \bactF[f]{rr} (full name with strain)
    
    \bact[strain]{rr} (abbrev name with strain)
    
    \bact{rr} (second use)
    
    \bact[f]{rr} (only full name)
    
    \bigskip
    
    \bactF[f]{rr} and   \bact[strain]{rr} 
    
\end{document}

相关内容