cifras por sección en secciones sin numerar

cifras por sección en secciones sin numerar

Estoy intentando escribir un documento con secciones no numeradas (es decir, \setcounter{secnumdepth}{0}) y figuras numeradas, con las figuras numeradas dentro de la sección. No puedo conseguir secnumdepthy chngcntrtrabajar juntos. Lo mejor que puedo conseguir es:

\documentclass{article}

\usepackage{chngcntr}
\counterwithin*{figure}{section}
%\setcounter{secnumdepth}{0}    

\begin{document}

\section{Section the First }

\begin{figure}[h]
  \centering
  \caption{Figure A}
\end{figure}

\begin{figure}[h]
  \centering
  \caption{Figure B}
\end{figure}

\section{Section the Second}

\begin{figure}[h]
  \centering
  \caption{Figure C}
\end{figure}

\end{document}

Esto hace que los números de las figuras sean correctos, pero tengo números de sección:

ingrese la descripción de la imagen aquí

Si descomento la línea \setcounter{secnumdepth}{0}, las secciones no están numeradas, como quiero, pero las figuras ahora están 'contrasin' nuevamente:

ingrese la descripción de la imagen aquí

¿Cómo logro la numeración de figuras por sección en secciones no numeradas?

Respuesta1

La razón por la cual los contadores no se reinician está en el \@sectcódigo común (ver latex.ltx)

\def\@sect#1#2#3#4#5#6[#7]#8{%
  \ifnum #2>\c@secnumdepth
    \let\@svsec\@empty
  \else
    \refstepcounter{#1}%
    \protected@edef\@svsec{\@seccntformat{#1}\relax}%
  \fi
....

El código prueba si el nivel de sección ( #2) es mayor que el valor de secnumdepth. Si este no es el caso, el contador de la sección se reinicia y todos los demás contadores en la lista de reinicio del contador también se reinician.

Sin embargo, si el contador no se reinicia, \counterwithoutaquí de todos modos es inútil (independientemente de si se usa \counterwithout*o )\counterwithout

Una posibilidad podría ser forzar \sectionel ajuste del contador de cifras a cero automáticamente; sin embargo, esto también se usaría \section*. Sin embargo, creo que esto no es realmente un problema.

\documentclass{article}

%\usepackage{chngcntr}
\usepackage{xpatch}
\setcounter{secnumdepth}{0}    
%\counterwithin*{figure}{section} Not needed any longer


\xpretocmd{\section}{\setcounter{figure}{0}}{}{} % Prepend the \section code with a figure counter reset. 

\begin{document}

\section{Section the First }

\begin{figure}[h]
  \centering
  \caption{Figure A}
\end{figure}

\begin{figure}[h]
  \centering
  \caption{Figure B}
\end{figure}

\section{Section the Second}

\begin{figure}[h]
  \centering
  \caption{Figure C}
\end{figure}

\end{document}

ingrese la descripción de la imagen aquí

información relacionada