Das Erzwingen einer Tabelle auf einer geraden Seite in den Unterindizes der Memoiren führt zu Problemen mit amsmaths \numberwithin

Das Erzwingen einer Tabelle auf einer geraden Seite in den Unterindizes der Memoiren führt zu Problemen mit amsmaths \numberwithin

Wenn ich dieSchweinebackes Lösung, um sicherzustellen, dass eine Tabelle auf einer geraden Seite platziert wirdinnerhalb memoirder subappendicesUmgebung von zusammen mit amsmathder von , funktioniert \numberwithindann nicht mehr. Das heißt, die Tabelle wird als "1.1.1" und nicht als "1.A.1" nummeriert.\numberwithin

Wie behebe ich das Problem?

\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}

Antwort1

Ein langer Kommentar.

Versuchen Sie, dies zu Ihrer Präambel hinzuzufügen

\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}}

Dann können Sie im Protokoll sehen, dass aufgrund der Verzögerung der Tabelle die Unteranhänge zum Zeitpunkt der Ausführung der Tabelle bereits beendet waren. Dies \numberwithin{table}{section}ist eine lokale Definition und verschwindet daher bei\end{subappendices}

verwandte Informationen