[Tex/LaTex] How to number tables and figures according to sections and subsections independently

floatsnumberingsectioning

I am writing a document that does not required much formalisms, but I want to implement the following numbering system:

1 Section
Table 1: Caption
Figure 1: Caption
1.1 Subsection
Table 1.1: Caption
Figure 1.1: Caption

Any suggestion?

Best Answer

This appends b, c .. if there is more than one float in each section.

enter image description here

\documentclass{article}

\makeatletter
\@addtoreset{table}{subsection}
\@addtoreset{figure}{subsection}
\@addtoreset{table}{section}
\@addtoreset{figure}{section}


\renewcommand\thefigure{%
  \ifnum\value{subsection}=0 \thesection\else\thesubsection\fi\ifnum\value{figure}>1 \alph{figure}\fi}
\renewcommand\thetable{%
  \ifnum\value{subsection}=0 \thesection\else\thesubsection\fi\ifnum\value{table}>1 \alph{table}\fi}

\makeatother

\begin{document}

\listoftables

\section{zzz}

a
\begin{table}[!htp]TTTT\caption{tt}\end{table}

b
\begin{figure}[!htp]FFF\caption{ff}\end{figure}


\subsection{www}


a
\begin{table}[!htp]TTTT\caption{tt tt}\end{table}

b
\begin{figure}[!htp]FFF\caption{ff ff}\end{figure}

aa
\begin{table}[!htp]TTTT\caption{tt tt tt}\end{table}

bb
\begin{figure}[!htp]FFF\caption{ff ff ff}\end{figure}

\end{document}
Related Question