Forzar la tabla en una página par en los subíndices de las memorias interfiere con el \numberwithin de amsmath

Forzar la tabla en una página par en los subíndices de las memorias interfiere con el \numberwithin de amsmath

Cuando uso elLa solución de Schweinebacke para garantizar que una tabla se coloque en una página pardentro memoirdel subappendicesentorno de junto con amsmathel de \numberwithin, entonces \numberwithinya no funciona. Es decir, la tabla está numerada como "1.1.1" y no como "1.A.1".

¿Cómo lo soluciono?

\documentclass{memoir}
\usepackage{afterpage}
\usepackage{amsmath}
\newcommand{\atevenpage}[1]{%
  \afterpage{\clearpage%
    \ifodd\value{page}%
      \atevenpage{#1}%
    \else%
      #1%
    \fi%
  }%
}
\usepackage{filecontents}
\begin{filecontents*}{my_input.tex}
  \begin{table}[p]
    \caption{A table}
    \begin{tabular}{lrr}
      & A & B \\
      First row & 123 & 456 \\
      Second row & 123 & 456 \\
    \end{tabular}
  \end{table}
\end{filecontents*}
\begin{document}
  \chapter{A chapter}
  \begin{subappendices}
    \numberwithin{table}{section}
    \section{An appendix}
    \atevenpage{\input{my_input}}
  \end{subappendices}
\end{document}

Respuesta1

Un comentario largo.

Intenta agregar esto a tu preámbulo.

\AddToHook{env/subappendices/begin}{\typeout{begin subapp}}
\AddToHook{env/subappendices/end}{\typeout{end subapp}}
\AddToHook{env/table/begin}{\typeout{begin table}}
\AddToHook{env/table/end}{\typeout{end table}}

Luego puede ver en el registro que debido al retraso en la tabla, los subapéndices ya finalizaron en el momento en que se ejecuta la tabla. Es \numberwithin{table}{section}una definición local por lo que desaparece en\end{subappendices}

información relacionada