Problemlösungen am Ende des Kapitels

Problemlösungen am Ende des Kapitels

Ich schreibe ein Dokument mit mehreren Kapiteln. Jedes Kapitel hat Probleme und jedes Problem hat eine Lösung. Ich möchte, dass einige der Lösungen direkt nach dem Problem und die anderen am Ende des Kapitels erscheinen.

Derzeit verwende ich

\newtheorem{problem}{Задача}[chapter]
\newtheorem{solution}{Решение}[chapter]

Wenn am Ende des Kapitels eine Lösung erscheinen soll, mache ich:

\appto\SolutionsChapterFive{
    \begin{solution}
    \end{solution}
}

und am Ende des Kapitels rufe ich den Befehl einfach auf mit

\SolutionsChapterFive

Dadurch wird leider die Nummerierung der Aufgaben durcheinandergebracht.

Zum Beispiel:

Kapitel 5

Problem 5.1.Bla bla

Lösung 5.1.Ablh ablh

Problem 5.2.Balh, balh

Problem 5.3.Albh, albh

Lösung 5.3.Ablh ablh (Aber das erscheint als Lösung 5.2 ☹️ )

Aufgabe 5.4.Habl Habl

Lösungen

Lösung 5.2.Ablh ablh (Aber das erscheint als Lösung 5.3 ☹️ )

Lösung 5.4.Ablh ablh

Wie kann ich das beheben? Gibt es eine bessere Möglichkeit, das Problem anzugehen?

Antwort1

Das korrekte Übertragen der Lösungsnummer mit \appto(oder einem anderen Makro) scheint aufgrund der Funktionsweise der Erweiterung in LaTeX schwierig. Vielleicht kann jemand, der sich mit dem etoolbox-Paket auskennt, mit diesem \apptoAnsatz eine Lösung bereitstellen. Im Moment würde ich eine einfache Lösung vorschlagen:

Wenn du zu Lösungen kommst, die am Ende erscheinen sollen, speichere die aktuelle Lösungsnummer in einem neuen Zähler und schalte dann den Lösungszähler hoch (damit die folgenden Lösungen richtig nummeriert sind). Bevor du dann die Lösungen am Ende des Kapitels aufschreibst, setz den Lösungszähler auf diesen gespeicherten Wert.

Sie verlieren zwar den Komfort dieses \apptoAnsatzes, aber sofern Sie nicht über eine große Menge an Lösungen am Ende eines Kapitels verfügen, halte ich den Arbeitsablauf für völlig praktikabel.

Ein Minimalbeispiel:

\documentclass{book}
\usepackage{amsmath}
\usepackage{amsthm}
\newtheorem{problem}{Problems}[chapter]
\newtheorem{solution}{Solutions}[chapter]
\begin{document}
    \setcounter{chapter}{5}
    \begin{problem}
        Problems 1
    \end{problem}
    \begin{solution}
        Solutions 1
    \end{solution}
    \begin{problem}
        Problems 2
    \end{problem}
    \newcounter{fivea} % New counter to save solution number (`fivea' must be unique)
    \setcounter{fivea}{\value{solution}} % Sote current solution number
    \stepcounter{solution} % Step the counter, as if solutions occured here
    \begin{problem}
        Problems 3
    \end{problem}
    \begin{solution}
        Solutions 3
    \end{solution}
    \begin{solution}
        Solutions 4
    \end{solution}
    % End of chapter material
    \setcounter{solution}{\value{fivea}} % Restore the saved value
    \begin{solution} % Write solutions in the usual way
        Solutions 2
    \end{solution}
\end{document}

Ausgabe:

Ausgabe1

Natürlich können Sie diese Schritte ganz einfach in ein Makro und eine neue Umgebung einbinden, um die Dinge etwas einfacher zu gestalten:

\documentclass{book}
\usepackage{amsmath}
\usepackage{amsthm}
\newtheorem{problem}{Problems}[chapter]
\newtheorem{solution}{Solutions}[chapter]
\newcommand\saveSolutionNumber[1]{\newcounter{#1}\setcounter{#1}{\value{solution}}\stepcounter{solution}}
\newenvironment{chapterSolutions}[1]{\setcounter{solution}{\value{#1}}\begin{solution}}{\end{solution}}
\begin{document}
    \setcounter{chapter}{5}
    \begin{problem}
        Problems 1
    \end{problem}
    \begin{solution}
        Solutions 1
    \end{solution}
    \begin{problem}
        Problems 2
    \end{problem}
    \saveSolutionNumber{fivea} % fivea is the new counter
    \begin{problem}
        Problems 3
    \end{problem}
    \begin{solution}
        Solutions 3
    \end{solution}
    \begin{solution}
        Solutions 4
    \end{solution}
    \begin{chapterSolutions}{fivea} % Solutions based on counter fivea
    Solutions 2 
    \end{chapterSolutions}
\end{document}

mit genau der gleichen Ausgabe wie zuvor.

verwandte Informationen