Die Ratschläge hier im Forum haben mich dazu bewegt, mich mit dem Paket xsim zu beschäftigen. Jetzt versuche ich, meine Skripte damit umzusetzen. Diese gestalte ich so, dass ich nach den Aufgaben immer Platz für die Lösung lasse.

Ich habe ebenfalls hier im Forum eine Lösung gefunden, wie nach der Aufgabe leere Zeilen mit kariertem Hintergrund eingefügt werden können. Wenn ich das so mache, dann kann es aber vorkommen, dass der Seitenumbruch nach der Aufgabe und vor dem Platz zum Lösen kommt und das würde ich gerne vermeiden, habe aber momentan keinen Plan, wie ich das anstellen kann.

Hier ein Beispiel: (ich habe den Header komplett gelassen, da ich diese Lösung zusammengestöpselt habe und noch nicht herausgefiltert habe, was ich benötige und was nicht ... das Skript ist über 100 Seiten lang, das ist nur ein Ausschnitt) (Das Ganze wird dann via Lualatex kompiliert)

Nach den Aufgaben 19 - 21 wird die Seite vor dem karierten Lösungsplatz umgebrochen. Klar könnte ich hier manuell einen Seitenumbruch setzen, aber wenn das Skript dann einmal angepasst wird, müsste ich diese manuell gesetzten Umbrüche ja alle wieder verändern ....

\documentclass[fontsize=12pt,parskip=half]{scrbook}
\usepackage{cancel, siunitx, array, rotating}    % Grafik, Mathematik, Brüche kürzen Einheiten, Aufzählung
\sisetup{
        locale=DE,
        per-mode=fraction
}
\usepackage{url}
\usepackage{graphicx}
\usepackage{pdfpages}
\usepackage[ngerman]{babel}
\usepackage{fontspec}
%\newfontfamily\ti{tinspire.ttf}
\usepackage{pgfplots}
\usepackage{amsmath}
\usepackage{lualatex-math} 
\usepackage[inline]{enumitem}
\usepackage[babel]{microtype}
\usepackage{tikz, xcolor}    % Grid
\usepackage{multicol, framed}   % Textspalten, Farbe, Rahmen
\usepackage[bitstream-charter]{mathdesign}
%\usepackage[utopia]{mathdesign}
\usepackage{adjustbox}
%aus xsim-Beispiel golatex-80640.html geladene packages und Optionen
\newlength\breite
\newlength\hoehe
\usepackage{dsfont}
\usepackage[hdivide={3.0cm,\breite,},vdivide={2.2cm,,2.2cm}]{geometry}
\geometry{a4paper,left=15mm,right=15mm, top=20mm, bottom=20mm}
\usepackage{needspace,tcolorbox}
\usepackage{xsim}

\xsimsetup{
        exercise/template = gitter ,
        solution/template = gitter
}

\usepackage{tasks}
\settasks{
        label = (\alph*) ,
        label-width = 14pt
}

\newcommand*\anmerkung[1]{\par{\small(#1)\par}}

\DeclareExerciseEnvironmentTemplate{gitter}
{%
        \IfInsideSolutionT{%
                \tcolorbox[
                detach title ,
                title        = Lösung: ,
                before upper = {\tcbtitle\space} ,
                fonttitle    = \bfseries ,
                fontupper    = \large ,
                valign       = center ,
                colframe     = black!50!white ,
                colback      = black!0!white ,
                coltext      = blue ,
                coltitle     = blue ,
                height       = \hoehe ,
                width        = \breite ,
                sharp corners
                ]
        }%
}
{%
        \IfInsideSolutionTF
        {\endtcolorbox}
        {%
                \IfSolutionPrintF{%
                        \par
                        \begin{tikzpicture}[semitransparent]
                        \draw[step=5mm, line width=0.09mm, black!70!white] (0,0) grid
                        (\breite,\hoehe);
                        \end{tikzpicture}
                        \par
                }
        }%
}

\xsimsetup{exercise/print=true}

\begin{document}
\begin{enumerate}
    \setlength\breite{170mm}
    \setlength\hoehe{30mm}
    \begin{exercise}
            \begin{minipage}{0.33\linewidth}
                    \item $27^{\frac{1}{3}}$
            \end{minipage}
            \begin{minipage}{0.33\linewidth}
                    \item $49^{\frac{1}{2}}$
            \end{minipage}
            \begin{minipage}{0.33\linewidth}
                    \item $1000^{\frac{1}{4}}$
            \end{minipage}  
    \end{exercise}
    \begin{exercise}
            \begin{minipage}{0.33\linewidth}
                    \item $1^{\frac{1}{5}}$
            \end{minipage}
            \begin{minipage}{0.33\linewidth}
                    \item $625^{\frac{1}{2}}$
            \end{minipage}
            \begin{minipage}{0.33\linewidth}
                    \item $64^{-\frac{1}{3}}$
            \end{minipage}  
    \end{exercise}
    \begin{exercise}
            \begin{minipage}{0.33\linewidth}
                    \item $16^{-\frac{1}{4}}$
            \end{minipage}
            \begin{minipage}{0.33\linewidth}
                    \item $32^{0.2}$
            \end{minipage}
            \begin{minipage}{0.33\linewidth}
                    \item $81^0$
            \end{minipage}  
    \end{exercise}
    \begin{exercise}
            \begin{minipage}{0.33\linewidth}
                    \item $25^{-\frac{1}{2}}$
            \end{minipage}
            \begin{minipage}{0.33\linewidth}
                    \item $\left( \frac{1}{4}\right)^{\frac{1}{2}}$
            \end{minipage}
            \begin{minipage}{0.33\linewidth}
                    \item $\left( \frac{1}{216}\right)^{\frac{1}{3}}$
            \end{minipage}  
    \end{exercise}
    \begin{exercise}
            \begin{minipage}{0.33\linewidth}
                    \item $\left( \frac{8}{27}\right)^{\frac{1}{3}}$
            \end{minipage}
            \begin{minipage}{0.33\linewidth}
                    \item $\left( \frac{27}{8}\right)^{-\frac{1}{3}}$
            \end{minipage}
            \begin{minipage}{0.33\linewidth}
                    \item $\left( \frac{1}{81}\right)^{-\frac{1}{4}}$
            \end{minipage}  
    \end{exercise}
    \begin{exercise}
            \begin{minipage}{0.33\linewidth}
                    \item $8^{\frac{2}{3}}$
            \end{minipage}
            \begin{minipage}{0.33\linewidth}
                    \item $325^{-\frac{2}{5}}$
            \end{minipage}
            \begin{minipage}{0.33\linewidth}
                    \item $121^{1.5}$
            \end{minipage}  
    \end{exercise}
    \begin{exercise}
            \begin{minipage}{0.33\linewidth}
                    \item $125^{\frac{4}{3}}$
            \end{minipage}
            \begin{minipage}{0.33\linewidth}
                    \item $32^{-0.4}$
            \end{minipage}
            \begin{minipage}{0.33\linewidth}
                    \item $16^{1.25}$
            \end{minipage}  
    \end{exercise}
    \begin{exercise}
            \begin{minipage}{0.33\linewidth}
                    \item $81^{1.5}$
            \end{minipage}
            \begin{minipage}{0.33\linewidth}
                    \item$16^{-0.75}$
            \end{minipage}
            \begin{minipage}{0.33\linewidth}
                    \item $81^{1.75}$
            \end{minipage}  
    \end{exercise}
    \begin{exercise}
            \begin{minipage}{0.33\linewidth}
                    \item $16^{-1.5}$
            \end{minipage}
            \begin{minipage}{0.33\linewidth}
                    \item 
            \end{minipage}
            \begin{minipage}{0.33\linewidth}
                    \item 
            \end{minipage}  
    \end{exercise}
\end{enumerate}

\end{document}

gefragt 28 Jul, 22:29

MH42's gravatar image

MH42
665
Akzeptiert-Rate: 0%

bearbeitet 29 Jul, 09:24

Ijon%20Tichy's gravatar image

Ijon Tichy
9.5k31227

1

Teil der Erstellung eines VMs wäre eigentlich schon, auch einmal die Dokumentpräambel aufzuräumen. Genau genommen, sollte man alles entfernen, was nichts mit dem Problem zu tun hat. Das ist auch nicht wirklich schwer.

(29 Jul, 09:25) Ijon Tichy

Durch Verwendung von \par setzt du einen Absatz und an Absätzen ist generell erst einmal ein Seitenumbruch erlaubt. Die Standardmethode, um in LaTeX normale Seitenumbrüche zu verbieten, lautet \nopagebreak. Die Anweisung besitzt auch ein optionales Argument, auf das ich nicht näher eingehe, da es in jeder ausführlichen LaTeX-Einführung erklärt ist. Damit ergibt sich:

\documentclass[fontsize=12pt,parskip=half]{scrbook}
\usepackage{cancel, siunitx, array, rotating}    % Grafik, Mathematik, Brüche kürzen Einheiten, Aufzählung
\sisetup{
    locale=DE,
    per-mode=fraction
}
\usepackage{url}
\usepackage{graphicx}% Wird bereits von rotating geladen
\usepackage{pdfpages}
\usepackage[ngerman]{babel}
\usepackage{fontspec}
%\newfontfamily\ti{tinspire.ttf}
\usepackage{pgfplots}% Lädt tikz und damit ebenfalls graphicx
\usepackage{amsmath}
\usepackage{lualatex-math} 
\usepackage[inline]{enumitem}
\usepackage[babel]{microtype}
\usepackage{tikz, xcolor}    % tikz wird bereits von pgfplots geladen und lädt
                             % selbst xcolor
\usepackage{multicol, framed}   % Textspalten, Farbe, Rahmen
\usepackage[bitstream-charter]{mathdesign}
%\usepackage[utopia]{mathdesign}
\usepackage{adjustbox}
%aus xsim-Beispiel golatex-80640.html geladene packages und Optionen
\newlength\breite
\newlength\hoehe
\usepackage{dsfont}
\usepackage[hdivide={3.0cm,\breite,},vdivide={2.2cm,,2.2cm}]{geometry}% \breite ist hier übrigens noch 0pt
\geometry{a4paper,left=15mm,right=15mm, top=20mm, bottom=20mm}% überschreibt
                                % die vorherigen Einstellungen teilweise,
                                % außerdem ist a4paper hier überflüssig.
\usepackage{needspace,tcolorbox}% lädt ebenfalls tikz
\usepackage{xsim}

\xsimsetup{
    exercise/template = gitter ,
    solution/template = gitter
}

\usepackage{tasks}
\settasks{
    label = (\alph*) ,
    label-width = 14pt
}

\newcommand*\anmerkung[1]{\par{\small(#1)\par}}

\DeclareExerciseEnvironmentTemplate{gitter}
{%
    \IfInsideSolutionT{%
        \tcolorbox[
        detach title ,
        title        = Lösung: ,
        before upper = {\tcbtitle\space} ,
        fonttitle    = \bfseries ,
        fontupper    = \large ,
        valign       = center ,
        colframe     = black!50!white ,
        colback      = black!0!white ,
        coltext      = blue ,
        coltitle     = blue ,
        height       = \hoehe ,
        width        = \breite ,
        sharp corners
        ]
    }%
}
{%
    \IfInsideSolutionTF
    {\endtcolorbox}
    {%
        \IfSolutionPrintF{%
            \par% erlaubt auch einen Seitenumbruch
            \nopagebreak% Standardweg, um Seitenumbrüche zu verbieten
            \begin{tikzpicture}[semitransparent]
            \draw[step=5mm, line width=0.09mm, black!70!white] (0,0) grid
            (\breite,\hoehe);
            \end{tikzpicture}
            \par
        }
    }%
}

\xsimsetup{exercise/print=true}

\begin{document}
\begin{enumerate}
    \setlength\breite{170mm}
    \setlength\hoehe{30mm}
\begin{exercise}
    \begin{minipage}{0.33\linewidth}
        \item $27^{\frac{1}{3}}$
    \end{minipage}
    \begin{minipage}{0.33\linewidth}
        \item $49^{\frac{1}{2}}$
    \end{minipage}
    \begin{minipage}{0.33\linewidth}
        \item $1000^{\frac{1}{4}}$
    \end{minipage}  
\end{exercise}
\begin{exercise}
    \begin{minipage}{0.33\linewidth}
        \item $1^{\frac{1}{5}}$
    \end{minipage}
    \begin{minipage}{0.33\linewidth}
        \item $625^{\frac{1}{2}}$
    \end{minipage}
    \begin{minipage}{0.33\linewidth}
        \item $64^{-\frac{1}{3}}$
    \end{minipage}  
\end{exercise}
\begin{exercise}
    \begin{minipage}{0.33\linewidth}
        \item $16^{-\frac{1}{4}}$
    \end{minipage}
    \begin{minipage}{0.33\linewidth}
        \item $32^{0.2}$
    \end{minipage}
    \begin{minipage}{0.33\linewidth}
        \item $81^0$
    \end{minipage}  
\end{exercise}
\begin{exercise}
    \begin{minipage}{0.33\linewidth}
        \item $25^{-\frac{1}{2}}$
    \end{minipage}
    \begin{minipage}{0.33\linewidth}
        \item $\left( \frac{1}{4}\right)^{\frac{1}{2}}$
    \end{minipage}
    \begin{minipage}{0.33\linewidth}
        \item $\left( \frac{1}{216}\right)^{\frac{1}{3}}$
    \end{minipage}  
\end{exercise}
\begin{exercise}
    \begin{minipage}{0.33\linewidth}
        \item $\left( \frac{8}{27}\right)^{\frac{1}{3}}$
    \end{minipage}
    \begin{minipage}{0.33\linewidth}
        \item $\left( \frac{27}{8}\right)^{-\frac{1}{3}}$
    \end{minipage}
    \begin{minipage}{0.33\linewidth}
        \item $\left( \frac{1}{81}\right)^{-\frac{1}{4}}$
    \end{minipage}  
\end{exercise}
\begin{exercise}
    \begin{minipage}{0.33\linewidth}
        \item $8^{\frac{2}{3}}$
    \end{minipage}
    \begin{minipage}{0.33\linewidth}
        \item $325^{-\frac{2}{5}}$
    \end{minipage}
    \begin{minipage}{0.33\linewidth}
        \item $121^{1.5}$
    \end{minipage}  
\end{exercise}
\begin{exercise}
    \begin{minipage}{0.33\linewidth}
        \item $125^{\frac{4}{3}}$
    \end{minipage}
    \begin{minipage}{0.33\linewidth}
        \item $32^{-0.4}$
    \end{minipage}
    \begin{minipage}{0.33\linewidth}
        \item $16^{1.25}$
    \end{minipage}  
\end{exercise}
\begin{exercise}
    \begin{minipage}{0.33\linewidth}
        \item $81^{1.5}$
    \end{minipage}
    \begin{minipage}{0.33\linewidth}
        \item$16^{-0.75}$
    \end{minipage}
    \begin{minipage}{0.33\linewidth}
        \item $81^{1.75}$
    \end{minipage}  
\end{exercise}
\begin{exercise}
    \begin{minipage}{0.33\linewidth}
        \item $16^{-1.5}$
    \end{minipage}
    \begin{minipage}{0.33\linewidth}
        \item 
    \end{minipage}
    \begin{minipage}{0.33\linewidth}
        \item 
    \end{minipage}  
\end{exercise}

\end{enumerate}

\end{document}

Ich habe mir erlaubt, einige weitere Dinge zu kommentieren. Außerdem sei darauf hingewiesen, dass zwischen den horizontal angeordneten minipage-Umgebungen bei dir jeweils ein Wortabstand (Leerzeichen) eingefügt wird. Ob das so gewünscht ist, kann ich nicht beurteilen. Falls nicht: Was sollen die Kommentar-Zeichen (%) am Ende der Zeilen?. Und dann sind die ganzen Kästchengrafiken noch knapp zu breit. Dadurch gibt es diverse »overfull \hbox«-Meldungen.

Außerdem sei darauf hingewiesen, dass man bei Verwendung von pgfplots immer compat setzen sollte. pgfplosts gibt auch eine entsprechende Warnung aus.

Natürlich kann eines solche Lösung ihrerseits zu overfull \vbox oder auch underfull \vbox führen. Zaubern kann TeX eben nicht. Das wiederum könnte man mit \pagebreak mit passendem optionalen Argument (über \@itempenatly hinaus) oder \filbreak oder dem Paket needspace ggf. gezielt steuern. Auch eine Änderung von \itemsep (ggf. via enumitem-Option) kann helfen. In vielen Fällen ist es aber bei derartigen Arbeiten in der Tat sinnvoll, den Umbruch von Hand zu optimieren und einen Automatismus, wie den gezeigten oder die zusätzlich kurz erwähnten, nur als ersten Schritt zu betrachten.

Permanenter link

beantwortet 29 Jul, 09:05

Ijon%20Tichy's gravatar image

Ijon Tichy
9.5k31227
Akzeptiert-Rate: 54%

bearbeitet 29 Jul, 09:31

Vielen Dank Manchmal sieht man die Lösungen nicht direkt ... die Kommentarzeichen habe ich belassen, wie sie im Beispiel einmal angegeben waren. Der gesamte Teil stammt nicht aus meiner Hand, sondern aus dem von Golatex heruntergeladenen Beispiel.

(29 Jul, 12:31) MH42

Danke für die Anmerkungen, auch das hilft immer sehr viel weiter. Vermutlich sind das alles Basics, aber für einen Anfänger ist das eben noch sehr herausfordernd. Auch welches Paket wodurch und wann geladen wird und in welcher Reihenfolge das getan werden sollte ist noch anspruchsvoll … aber ich versuche mich eben weiterzubilden ... Hier werde ich das einmal so übernehmen und schauen, ob mir das so nicht schon genügt. Also: Danke nochmals.

(29 Jul, 12:31) MH42
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:

×17
×14
×2

gestellte Frage: 28 Jul, 22:29

Frage wurde gesehen: 401 Mal

zuletzt geändert: 29 Jul, 12:31