Wenn ich dieSchweinebackes Lösung, um sicherzustellen, dass eine Tabelle auf einer geraden Seite platziert wirdinnerhalb memoir
der subappendices
Umgebung von zusammen mit amsmath
der von , funktioniert \numberwithin
dann 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}