When I create a table and use \caption, Latex automatically adds "Table 1.1" or something similarly numbered. I'm using the book format, and want the caption numbering to be of the form "Table x.y.z", where x is the chapter number, y is the section number, and z is the table number within x.y. For example, the second table in section 4 in chapter 2 should say "Table 2.4.2".
How do I make Latex change the numbering of the tables?
[Tex/LaTex] Changing Table Numbering Scheme to Include Section Number
numberingtables
Related Solutions
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}
In case of numbering sections independent from chapters, the question will be raised how to number definitions/propositions/examples that are placed in a chapter but are not be placed in a section?
E.g.:
Chapter 0 Basics
1 Elements
2 Combinations
Def. 2.1: Some definition
Def. 2.2: Some definition
Pro. 2.3 Some proposition
Exm. 2.4: Some Example
2.1 Permutations
2.2 Sets
Def. 2.2.1: Some definition
Def. 2.2.2: Some definition
Pro. 2.2.3 Some proposition
Exm. 2.2.4: Some Example
Chapter 1 Groups
Def. <???>1: Some definition
Pro. <???>2 Some proposition
Exm. <???>3: Some Example
3 Groups
Def. 3.1: Some definition
Pro. 3.2 Some proposition
Exm. 3.3: Some Example
Chapter 2 Rings and Fields
Def. <???>1: Some definition
Pro. <???>2 Some proposition
Exm. <???>3: Some Example
4 Rings
5 Fields
How should definitions/propositions/examples in Chapter 1 be named?
They don't belong to section 2. And they don't belong to section 3.
How should definitions/propositions/examples in Chapter 2 be named? They don't belong to section 3. And they don't belong to section 4.
I suggest <???>=<chapter>/<definition/proposition/example number>
in these cases:
Chapter 0 Basics
1 Elements
2 Combinations
Def. 2.1: Some definition
Def. 2.2: Some definition
Pro. 2.3 Some proposition
Exm. 2.4: Some Example
2.1 Permutations
2.2 Sets
Def. 2.2.1: Some definition
Def. 2.2.2: Some definition
Pro. 2.2.3 Some proposition
Exm. 2.2.4: Some Example
Chapter 1 Groups
Def. 1/1: Some definition
Pro. 1/2 Some proposition
Exm. 1/3: Some Example
3 Groups
Def. 3.1: Some definition
Def. 3.2: Some definition
Pro. 3.3 Some proposition
Exm. 3.4: Some Example
Chapter 2 Rings and Fields
Def. 2/1: Some definition
Pro. 2/2 Some proposition
Pro. 2/3 Some proposition
Exm. 2/4: Some Example
4 Rings
5 Fields
Another question is about the numbering of footnotes, tables, figures and equations.
I suggest numbering footnotes per chapter.
I suggest numbering tables, figures and equations per section as deeper sectioning-levels might have equally numbered definition/proposition/example-pendants.
I suggest handling the case of tables/figures/equations in a chapter but not in a section in the same way as definition/proposition/example in a chapter but not in a section, i.e. by prepending "/" to the corresponding number.
Yet another question:
Do you want definitions/propositions/examples to occur within the table of contents as well?
Do you wish something like a separate List of definitions / List of propositions / List of examples.
I suggest not having definitions/propositions/examples occur within the table of contents.
I suggest not having a a separate List of definitions / List of propositions / List of examples.
These things require more crude hacking of the documentclass / of the book class.
\documentclass{book}
\usepackage{hyperref}
\makeatletter
\newcounter{TheoremElement}
\newcounter{sectionfake}
\begingroup
\def\tempa#1{\global\csname c@#1\endcsname\z@}%
\expandafter\endgroup\ifx\tempa\@stpelt
\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
{%
\def\c@sectionfakehack\z@
}{%
\def\c@sectionfakehack\m@ne\stepcounter#1%
}%
{%
\let\c@sectionfake\c@sectionfake\stepcounter{sectionfake}%
}%
\renewcommand\cl@chapter{%
\@elt{sectionfake}%
\@elt{footnote}%
\@elt{equation}\@elt{figure}\@elt{table}%
\@elt{subsection}\@elt{subsubsection}%
\@elt{paragraph}\@elt{subparagraph}%
\@elt{TheoremElement}%
}%
\renewcommand\cl@section{%
\@elt{sectionfakehack}%<-the hack increments sectionfake instead of resetting
% to zero whenever section is incremented via \stepcounter
\@elt{equation}\@elt{figure}\@elt{table}%
\@elt{subsection}\@elt{subsubsection}%
\@elt{paragraph}\@elt{subparagraph}%
\@elt{TheoremElement}%
}%
\renewcommand\cl@subsection{%
\@elt{subsubsection}%
\@elt{paragraph}\@elt{subparagraph}%
\@elt{TheoremElement}%
}%
\renewcommand\cl@subsubsection{%
\@elt{paragraph}\@elt{subparagraph}%
\@elt{TheoremElement}%
}%
\renewcommand\cl@paragraph{%
\@elt{subparagraph}%
\@elt{TheoremElement}%
}%
\renewcommand\cl@subparagraph{%
\@elt{TheoremElement}%
}%
\renewcommand*\cl@TheoremElement{}%
%
\newcommand\sectionfakefork{%
\ifnum\number\value{sectionfake}>0 %
\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
}%
\newcommand\AllSectionLevelsArabic{%
\sectionfakefork
{%
\AllSectionLevelsArabicLoop{\AllSectionLevelsArabicLoop{%
\AllSectionLevelsArabicLoop{\AllSectionLevelsArabicLoop{%
\@firstoftwo{\arabic{section}.}%
}{subsection}.}{subsubsection}.%
}{paragraph}.}{subparagraph}.%
\@firstoftwo
}{%
\arabic{chapter}/%
}%
\arabic{TheoremElement}%
}%
\newcommand\AllSectionLevelsArabicLoop[4]{%
#4{\ifnum\number\value{#2}>0 %
\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
{#1\@secondoftwo\arabic{#2}#3}{#1#4}%
}{#1\@secondoftwo\arabic{#2}#3}%
}%
\newcommand\insertbehindnumber[2]{%
#1\@insertbehimdnumber{#2}%
}%
\newcommand\@insertbehimdnumber{}%
\long\def\@insertbehimdnumber#1#2\endcsname{#2\endcsname#1}%
\renewcommand\theTheoremElement{\AllSectionLevelsArabic}
\newtheorem{definition}[TheoremElement]{\insertbehindnumber{Def.}{:}}%
\newtheorem{proposition}[TheoremElement]{\insertbehindnumber{Pro.}{:}}%
\newtheorem{example}[TheoremElement]{\insertbehindnumber{Exm.}{:}}%
\renewcommand\theequation{\sectionfakefork{\arabic{section}.}{\arabic{chapter}/}\arabic{equation}}%
\renewcommand\thetable{\sectionfakefork{\arabic{section}.}{\arabic{chapter}/}\arabic{table}}%
\renewcommand\thefigure{\sectionfakefork{\arabic{section}.}{\arabic{chapter}/}\arabic{figure}}%
\renewcommand\thesection{\protect\S\texorpdfstring{\protect\,}{ }\arabic{section}}%
\AtBeginDocument{%
% Remove the dot after chapter-numbers in headers of verso pages:
%\renewcommand*\chaptermark[1]{%
% \markboth{%
% \MakeUppercase{%
% \ifnum\c@secnumdepth>\m@ne\if@mainmatter\@chapapp\ \thechapter\quad\fi\fi#1%
% }%
% }{}%
%}%
% Remove the dot after sectioning-paragraph-numbers in headers of recto pages:
\renewcommand*\sectionmark[1]{%
\markright{%
\MakeUppercase{\ifnum\c@secnumdepth>\z@\thesection\quad\fi#1}%
}%
}%
\@ifpackageloaded{hyperref}{%
% Ensure uniqueness of hyperref' anchor names:
\renewcommand\theHsection{\arabic{section}}%
\renewcommand\theHTheoremElement{\AllSectionLevelsArabic}%
\renewcommand\theHequation{\sectionfakefork{\arabic{section}.}{\arabic{chapter}/}\arabic{equation}}%
\renewcommand\theHtable{\sectionfakefork{\arabic{section}.}{\arabic{chapter}/}\arabic{table}}%
\renewcommand\theHfigure{\sectionfakefork{\arabic{section}.}{\arabic{chapter}/}\arabic{figure}}%
\renewcommand\theHfootnote{\arabic{chapter}.\arabic{footnote}}%
}{%
\providecommand\texorpdfstring[2]{#1}%
}%
}%
\makeatother
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{\value{secnumdepth}}
\usepackage[open,openlevel=\value{secnumdepth},atend,numbered]{bookmark}
\begin{document}
\tableofcontents
\setcounter{chapter}{-1}%
\chapter{Basics}
\begin{definition}
Some definition.
\end{definition}
\section{Sets}
\begin{definition}
\label{deflabel}Some definition.
\end{definition}
\begin{definition}
Some definition.
\end{definition}
\begin{proposition}
\label{proplabel}Some proposition.
\end{proposition}
\begin{example}
\label{exlabel}Some example.
\end{example}
\section{Other section}
\section{Other section}
\begin{definition}
Some definition.
\end{definition}
\begin{definition}
Some definition.
\end{definition}
\begin{proposition}
Some proposition.
\end{proposition}
\begin{example}
Some example.
\end{example}
\section{Other section}
\chapter{Groups, Rings and Fields}
\begin{definition}
\label{otherdeflabel}Some definition.
\end{definition}
\section{Groups}
\begin{definition}
Some definition.
\end{definition}
\subsection{SubGroups}
\begin{definition}
Some definition.
\end{definition}
\subsubsection{SubSubGroups}
\begin{definition}
\label{yetanotherdeflabel}Some definition.
\end{definition}
\section{Rings}
\cleardoublepage
\section{Testing referencing}
referencing a definition: \ref{deflabel}\\
referencing a proposition: \ref{proplabel}\\
referencing an example: \ref{exlabel}\\
referencing another definition: \ref{otherdeflabel}\\
referencing yet another definition: \ref{yetanotherdeflabel}
\end{document}
Best Answer
Although your question is closely related to the following question, the numbering scheme you want is different.
The general solution is the same, however:
Use the
chngcntr
package to determine which counters depend on which. In your case, you want thetable
counter to depend on thesection
counter, so you add