Das

\minisec{Lösungen 1.1, Seite 1}
\printsolutions[chapter=1,section=1]

\minisec{Lösungen 1.2, Seite 1}
\printsolutions[chapter=1,section=2]

was ich hier händisch erzeugt habe, lässt sich doch bestimmt mit einer globalen Einstellung elegant automatisieren?
Was muss ich tun?

alt text

\documentclass[ngerman,paper=A5]{scrreprt}
\usepackage{amsmath, amsfonts, amssymb}
\usepackage{babel}
\usepackage{multicol}

\usepackage[]{xsim}
\DeclareExerciseEnvironmentTemplate{basic}
  {\par\noindent\textsf{\IfInsideSolutionTF{\bfseries\footnotesize L}{\bfseries\footnotesize A}\GetExerciseProperty{counter}} }
  {\par}

\xsimsetup{
  exercise/template = basic ,
  solution/template = basic ,
  exercise/the-counter = \arabic{exercise}. ,
  print-solutions/headings = false,
  %print-solutions/section = true
}

\begin{document}
\chapter{Verschiedene Aufgaben}

\section{Gleichungen}
\begin{exercise}
 $(x+2)(x+3)+x^2+7y+y^2+(y-3)^2=11$
\end{exercise}
\begin{solution}
z.Zt. keine Lsg.
\end{solution}

\begin{multicols}{2}
\begin{exercise}
  $x+2=5$
\end{exercise}
\begin{solution}
  $x=3$
\end{solution}
\begin{exercise}
  $x+1=5$
\end{exercise}
\begin{solution}
  $x=4$
\end{solution}
\end{multicols}

%\setcounter{exercise}{22}
\section{Termvereinfachungen}
\begin{exercise}
  $\dfrac{1}{a}+a$
\end{exercise}
\begin{solution}
  $\dfrac{a^2+1}{a}$
\end{solution}

\chapter*{Lösungsteil}
%\printsolutions
\minisec{Lösungen 1.1, Seite 1}
\printsolutions[chapter=1,section=1]

\minisec{Lösungen 1.2, Seite 1}
\printsolutions[chapter=1,section=2]
\end{document}

gefragt 02 Nov '19, 12:29

haver555's gravatar image

haver555
199512
Akzeptiert-Rate: 9%


Hier ist eine Lösung, die auf dem Beispiel „texsx-576998“ aus der xsim-Manual aufbaut und den gewünschten Lösungsteil mit einem Aufruf von \printsolutions umsetzt. Dafür wird \printsolutions folgendermaßen neu definiert:

\renewcommand\printsolutions{%
  \chapter*{Lösungsteil}
  \def\currentsection{}%
  \def\lastsection{}%
  \ForEachUsedExerciseByType{%
    \let\lastsection\currentsection
    \edef\currentsection{\ExercisePropertyGet{##1}{##2}{section-value}}%
    \ifx\lastsection\currentsection\else
    \minisec{%
      Lösungen \ExercisePropertyGet{##1}{##2}{section},
      Seite \ExercisePropertyGet{##1}{##2}{page}%
    }
    \fi
    \XSIMprint{solution}{##1}{##2}%
  }%
}

Der komplette Code:

\documentclass[ngerman,paper=A5]{scrreprt}
\usepackage{amsmath, amsfonts, amssymb}
\usepackage{babel}
\usepackage{multicol}

\usepackage{xsim}
\DeclareExerciseEnvironmentTemplate{basic}{%
  \par\noindent
  \textsf{%
    \bfseries\footnotesize
    \IfInsideSolutionTF{L}{A}\GetExerciseProperty{counter}%
  }
}{\par}

\xsimsetup{
  exercise/template = basic ,
  solution/template = basic ,
  exercise/the-counter = \arabic{exercise}. ,
  print-solutions/headings = false
}

\renewcommand\printsolutions{%
  \chapter*{Lösungsteil}
  \def\currentsection{}%
  \def\lastsection{}%
  \ForEachUsedExerciseByType{%
    \let\lastsection\currentsection
    \edef\currentsection{\ExercisePropertyGet{##1}{##2}{section-value}}%
    \ifx\lastsection\currentsection\else
    \minisec{%
      Lösungen \ExercisePropertyGet{##1}{##2}{section},
      Seite \ExercisePropertyGet{##1}{##2}{page}%
    }
    \fi
    \XSIMprint{solution}{##1}{##2}%
  }%
}

\begin{document}

\chapter{Verschiedene Aufgaben}

\section{Gleichungen}
\begin{exercise}
 $(x+2)(x+3)+x^2+7y+y^2+(y-3)^2=11$
\end{exercise}
\begin{solution}
z.Zt. keine Lsg.
\end{solution}

\begin{multicols}{2}
\begin{exercise}
  $x+2=5$
\end{exercise}
\begin{solution}
  $x=3$
\end{solution}
\begin{exercise}
  $x+1=5$
\end{exercise}
\begin{solution}
  $x=4$
\end{solution}
\end{multicols}

%\setcounter{exercise}{22}
\section{Termvereinfachungen}
\begin{exercise}
  $\dfrac{1}{a}+a$
\end{exercise}
\begin{solution}
  $\dfrac{a^2+1}{a}$
\end{solution}

\printsolutions

\end{document}
Permanenter link

beantwortet 07 Feb '21, 11:30

cgnieder's gravatar image

cgnieder
22.1k243463
Akzeptiert-Rate: 60%

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×19

gestellte Frage: 02 Nov '19, 12:29

Frage wurde gesehen: 3,317 Mal

zuletzt geändert: 07 Feb '21, 11:30