如何在LaTeX中定义一个包含章节编号的新计数器?

6

假设我已经为一个新环境定义了计数器:

\newcounter{bioclipse}
\newenvironment{bioclipse}[2][]{
   \begin{shaded}\refstepcounter{bioclipse}\par\medskip\noindent%
   \textbf{Bioclipse Excursion~\thechapter-\thebioclipse #1: #2
   \vspace{0.1cm} \hrule \vspace{0.1cm}}
   \rmfamily}{\medskip \end{shaded}
}

现在,我可以为这样的环境添加一个标签:
\begin{bioclipse}{Wizards: New Molecule from SMILES}
  \label{chapCompRepr:ex:fromSMILESWizard}
  Bioclipse has a \textit{New Wizard} to create a new chemical graph.
\end{bioclipse}

这将输出一个带有标题和数字的文本。因为它使用了\thechapter,所以该数字也将包括章节号;也就是说,第三章中的第一个环境将被编号为3-1。在输出中,就是这样。

然而,当我用\ref{chapCompRepr:ex:fromSMILESWizard}引用它时,该数字不包括章节号... 我应该如何更改我的环境定义或计数器定义,使其包括章节号,并为每个章节重置第二个数字?

1个回答

10

插入:

\def\thebioclipse{\thechapter-\arabic{bioclipse}}

并获取

\newcounter{bioclipse}
\def\thebioclipse{\thechapter-\arabic{bioclipse}}
\newenvironment{bioclipse}[2][]{
   \begin{shaded}\refstepcounter{bioclipse}\par\medskip\noindent%
   \textbf{Bioclipse Excursion~\thebioclipse #1: #2
   \vspace{0.1cm} \hrule \vspace{0.1cm}}
   \rmfamily}{\medskip \end{shaded}
}

那很有效! 回过头来,重新定义 \thebioclipse 命令就很合理! - Egon Willighagen
这个解决方案如何确保在每个章节变化后重置计数器? - glopes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接