4

If I have a new environment defined (with, say, trivfloat), is it possible to get that section to number with chapter/section? I use \numberwithin for equations, figures, and tables.

For example, my equations and figures are numbered 1.1, 1.2, 1.3, 2.1, ... (or even 1.1.1, 1.1.2, ...) But if I have a new float type (say, graph), \numberwithin won't work.

\trivfloat{graph}
\numberwithin{graph}{section} % Error...

Same happens if I use \DeclareCaptionType from the caption package.

Any thoughts on how to get this effect?

1
  • \DeclareCaptionType resp. \DeclareFloatingEnvironment has an optional parameter within=section, so there is no need for \numberwithin here.
    – user2574
    May 17 '12 at 5:00
4

The trivfloat package seems to defer (much of) the definition of its new floats using \AtBeginDocument, so you also have to use \AtBeginDocument{\numberwithin{graph}{section}} to change the floats' numbering.

\documentclass{amsart}

\usepackage{trivfloat}

\trivfloat{graph}

\AtBeginDocument{\numberwithin{graph}{section}}

\begin{document}

\section{First}

\begin{graph}[h]
(Graph content)
\caption{A graph}
\end{graph}

\end{document}

enter image description here

6
  • And cannot you simply put \numberwithin{graph}{section} just after \begin{document} ?
    – yo'
    May 16 '12 at 16:54
  • Awesome! That works wonderfully. And nice explanation. Thanks :) May 16 '12 at 16:55
  • @tohecz I prefer preamble solutions because they may be used in a user's custom mypackages.sty or myclass.cls.
    – lockstep
    May 16 '12 at 16:56
  • @tohecz Yes, I tried that and it works also. However, the AtBeginDocument is better for me as this is going in a .sty file. May 16 '12 at 16:56
  • 1
    I'm just afraid of soon having to use \AtBeginDocument{\AtBeginDocument{...}} ...
    – yo'
    May 16 '12 at 18:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.