Schüler- und Lehrerlösung im gleichen Texfile

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


lenherrg
Forum-Anfänger
Forum-Anfänger
Beiträge: 28
Registriert: Sa 13. Feb 2016, 21:23

Schüler- und Lehrerlösung im gleichen Texfile

Beitrag von lenherrg »

Liebe LaTex-Profis,

ich arbeite erst seit ein paar Wochen mit LaTex. Zur Zeit schreibe ich ein Matheskript auf Stufe Sek II.

Gerne möchte ich die Schülerausgabe sowie die Lehrerausgabe im gleichen File implementieren. Leider klappt das nicht so recht und bin auch Hilfe angewiesen.

Ich stelle mir das so vor, dass ich z.B. eine Box S für die Schülerausgabe und eine Box L für die Lehrerausgabe habe.

Box S soll Häuschen (d.h. ein Grid) enthalten. Breite und Höhe im 4mm Raster soll frei wählbar sein.
Box L soll die Lehrerlösung (Text und/oder Formeln) enthalten. Diese Box soll exakt gleich gross gestaltet werden wie die Box S einfach ohne Grid. Weiter soll die Box L an exakt gleicher Position stehen wie die Box S. So dass keine Formatierungsänderungen resultieren.

Mit Hilfe von einer boolschen Variable definiere ich, welche Ausgabe (Schüler oder Lehrer) in pdf ausgegeben werden soll.

Bis jetzt habe ich das folgendermassen gemacht:

Code: Alles auswählen

\documentclass[a4paper,12pt]{article}
\usepackage{graphicx, amsmath, cancel, siunitx, enumitem, array, rotating} 	% Grafik, Mathematik, Brüche kürzen Einheiten, Aufzählung
\usepackage{tikz} 	% Grid
\usepackage[utf8]{inputenc}	% Paket, welche Umlaute (z.B. ä) korrekt anzeigt
\usepackage[german, ngerman]{babel}	% fürs Trennen und z.B. deutsche Überschriften
\usepackage[T1]{fontenc}
\usepackage{multicol, color, xcolor, framed}	% Textspalten, Farbe, Rahmen
\usepackage[hdivide={3.0cm, 16cm, }, vdivide={2.2cm, ,2.2cm}]{geometry}

\usepackage[bitstream-charter]{mathdesign}
\parindent0pt	
\newboolean{loesung}

\newenvironment{gitterLoesung}[7]{
\ifthenelse{\boolean{loesung}}
{
\vspace{#5}
\fcolorbox{black!50!white}{black!12!white}{\parbox[c][#4][c]{#3}{
\color{blue}  \begin{large} #7 \end{large}}
}\vspace{#6}}
{
\begin{tikzpicture}[x=1mm, y=1mm, semitransparent]
	\def\breite{#1}	% Breite in mm, Vielfaches von 4 (mm) wählen
	\def\hoehe{#2}		% Höhe in mm, Vielfaches von 4 (mm) wählen
	\draw[step=4mm, line width=0.15mm, black!60!white] (0,0) grid (\breite,\hoehe);   % 0 - (30) - 100 entspricht Graustufe
\end{tikzpicture}
}}

	
\begin{document}
Für die \textbf{Schülerausgabe} sollen Häuschen (Grid) mit Seitenlänge 4\,mm gesetzt werden.\vskip1ex
\setboolean{loesung}{false}         % kann auf true oder false gesetzt werden
\gitterLoesung{160}{80}{160mm}{80mm}{2mm}{2mm}{Hier soll die Lösung stehen: $E=m\cdot c^2$.}

Für die \textbf{Lehrerausgabe} sollen statt Häuschen die Lösung in z.B. einer Box geschrieben werden. Dafür soll die Lösung (bezogen auf dieses Beispiel) auch in einer Box mit der exakten Breite 160\,mm und der exakten Höhe 80\,mm gesetzt werden. Weiter soll natürlich die Position der Lösungsbox und der Häuschenbox exakt identisch sein.\vskip1ex
\setboolean{loesung}{true}         % kann auf true oder false gesetzt werden
\gitterLoesung{160}{80}{160mm}{80mm}{2mm}{2mm}{Hier soll die Lösung stehen: $E=m\cdot c^2$.}

Mit der obigen Variante ist es leider so, dass die Abstände innerhalb verschiedener Elemente (wie Text, Grid, etc.) beim Umschalten von Schüler- auf Lehrerausgabe unterschiedlich sind und so Seitenumbrüche und Abstände nicht mehr stimmen.

\end{document}
Leider werden die Box S und Box L ungleich gross. Auch werden die Abstände zwischen Text und Grid, etc. verändert. So dass neue Seitenumbrüche entstehen.

Ich vermute, dass diese Verschiebungen wegen den unterschiedlichen 'Umgebungen' tikzpicture und parbox entstehen.

Auch habe ich bereits die Pakete 'exam' und 'exsheets' ausprobiert. Sie waren allerdings auch unbefriedigend.

Besten Dank im voraus für euere Hilfe!

Hoffentlich habe ich meinen ersten Eintrag ins Forum so erstellt, wie das von euch verlangt wird. Ansonsten Danke für eure Tipps.

Mit lieben Grüssen
lenherrg[/code]
Dateianhänge
(174.81 KiB) 494-mal heruntergeladen
Sage mir und ich vergesse,
zeige mir und ich erinnere,
lass es mich tun und ich verstehe.
(Konfuzius)

Thieon
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 55
Registriert: Mo 12. Okt 2015, 19:00
Wohnort: Meppen
Kontaktdaten:

Re: Schüler- und Lehrerlösung im gleichen Texfile

Beitrag von Thieon »

Da mir schon soviel hier im Forum geholfen wurde, möchte ich jetzt auch mal mein Glück versuchen. Sicherlich kommt noch eine bessere Lösung von einen der sich richtig auskennt. Aber fürs erste sollte es wohl reichen. :lol:

Bekanntlich führen viele Wege nach Rom. Mein Weg ist sicherlich nicht der beste aber er funktioniert soweit.

Achtung ich habe auch ein paar Änderungen in der Präambel vorgenommen. Wie z.B. die Koma-Script Klasse für Artikel genommen. Und

Code: Alles auswählen

\parindent0pt 
rausgenommen, da dieser unter Umstände Probleme verursachen kann. Dafür ist als Option in der

Code: Alles auswählen

\documentclass
halfparskip eingefügt. Außerdem habe ich noch zwei Pakete zur Gestaltung von Listen mit eingefügt.

Außerdem habe ich german aus dem Paket babel rausgenommen, da ich mir nicht vorstellen kann, dass Du die alte und neue Rechtschreibung nutzen möchtest.

Zwar sind die Boxen nicht genau 160mm mal 80mm aber das waren sie vorher auch nicht. ich vermute mal, das liegt an das Grid, weil die Kästchen nicht genau 4mm breit sind (die Linien verfälschen ein wenig) aber mit der jetzigen Einstellung liegt wenigsten alles übereinander, wenn sich beide Varianten ausdruckt.

Code: Alles auswählen

\documentclass[a4paper,12pt,ngerman,halfparskip]{scrartcl}
\usepackage{graphicx, amsmath, cancel, siunitx, enumitem, array, rotating}    % Grafik, Mathematik, Brüche kürzen Einheiten, Aufzählung
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}   % Paket, welche Umlaute (z.B. ä) korrekt anzeigt
\usepackage[ngerman]{babel}   % fürs Trennen und z.B. deutsche Überschriften
\usepackage{tikz}    % Grid
\usepackage{lmodern}
\usepackage{multicol, color, xcolor, framed}   % Textspalten, Farbe, Rahmen
\usepackage[hdivide={3.0cm, 16cm, }, vdivide={2.2cm, ,2.2cm}]{geometry}
\usepackage{mdwlist,paralist}
\usepackage[bitstream-charter]{mathdesign}
%\parindent0pt   
\newboolean{loesung}

\newenvironment{gitterLoesung}[7]{
\ifthenelse{\boolean{loesung}}
{
\vspace{#5}
\fcolorbox{black!50!white}{black!12!white}{\parbox[c][#4][c]{#3}{
\color{blue}  \begin{large} #7 \end{large}}
}\vspace{#6}}
{
\begin{tikzpicture}[x=1mm, y=1mm, semitransparent]
   \def\breite{#1}   % Breite in mm, Vielfaches von 4 (mm) wählen
   \def\hoehe{#2}      % Höhe in mm, Vielfaches von 4 (mm) wählen
   \draw[step=4mm, line width=0.15mm, black!60!white] (0,0) grid (\breite,\hoehe);   % 0 - (30) - 100 entspricht Graustufe
\end{tikzpicture}
}}

   
\begin{document}
Für die \textbf{Schülerausgabe} sollen Häuschen (Grid) mit Seitenlänge 4\,mm gesetzt werden.\vskip1ex
\setboolean{loesung}{true}         % kann auf true oder false gesetzt werden
\gitterLoesung{160}{80}{156mm}{77mm}{0mm}{7mm}{Hier soll die Lösung stehen: $E=m\cdot c^2$.}

Für die \textbf{Lehrerausgabe} sollen statt Häuschen die Lösung in z.B. einer Box geschrieben werden. Dafür soll die Lösung (bezogen auf dieses Beispiel) auch in einer Box mit der exakten Breite 160\,mm und der exakten Höhe 80\,mm gesetzt werden. Weiter soll natürlich die Position der Lösungsbox und der Häuschenbox exakt identisch sein.\vskip1ex
\setboolean{loesung}{false}         % kann auf true oder false gesetzt werden
\gitterLoesung{160}{80}{156mm}{77mm}{0mm}{7mm}{Hier soll die Lösung stehen: $E=m\cdot c^2$.}

Mit der obigen Variante ist es leider so, dass die Abstände innerhalb verschiedener Elemente (wie Text, Grid, etc.) beim Umschalten von Schüler- auf Lehrerausgabe unterschiedlich sind und so Seitenumbrüche und Abstände nicht mehr stimmen.
\clearpage
Beschreiben Sie die \textbf{Satzgruppe des Pythagoras}.\vskip1ex
\setboolean{loesung}{true}         % kann auf true oder false gesetzt werden
\gitterLoesung{160}{80}{156mm}{77mm}{0mm}{7mm}{\textbf{Lösung}:%
\begin{align*}
	\left.\begin{aligned}
		c^2	&=a^2+b^2\\
		a^2	&=p\cdot c\;\wedge\; b^2=q\cdot c\\
		h^2	&=p\cdot q
	\end{aligned}\right\}
\begin{gathered}
	\text{Satzgruppe}\\
	\text{des Pythagoras}
\end{gathered}
\end{align*}}

Geben Sie die Formel der \textbf{gleichförmigen Bewegung} wieder. Gehen Sie davon aus, dass Sie 1.000 Meter in 3$\frac{1}{2}$ Minuten laufen. 
\begin{inparaenum}[\bfseries a)]
 	\item Mit welcher Geschwindigkeit legen Sie die Strecke zurück? 
 	\item Geben Sie die Geschwindigkeit in $\frac{km}{h}$ an.
 \end{inparaenum}
\textbf{Hinweis:} Nehmen Sie zur Berechnung die Vereinfachte Form und gehen Sie davon aus, dass Ihre Geschwindigkeit konstant ist.
\vskip1ex
\setboolean{loesung}{false}         % kann auf true oder false gesetzt werden
\gitterLoesung{160}{80}{156mm}{77mm}{0mm}{7mm}{\textbf{Lösung}:%
\begin{align*}
s		&=v\cdot t+s_0\\
1.000	&=v\cdot 210\\
v		&=\frac{1.000 \text{ m}}{210 \text{ s}}\\
v		&=4{,}76\frac{m}{s} \;\widehat{\approx}\; 17\frac{km}{h}
\end{align*}}



\end{document}
Gruß

René

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2199
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Wenn Du tikz lädst, darfst Du die Pakete graphicx und xcolor aus Deiner Präambel entfernen.

Das zuvor genannte xcolor ersetzt color.

Zu Deinem Einsatz von large als "Umgebung" lies bitte Kann ich Schriftgrößenumschaltungen auch als Umgebungen verwenden?

Wenn Du schon das Paket siunitx lädst, wäre es sinnvoll, dessen Befehlsangebot auch zu nutzen. Im ersten Satz Deines Dokuments sähe das so aus:

Code: Alles auswählen

\SI{4}{\mm}

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2199
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Re: Schüler- und Lehrerlösung im gleichen Texfile

Beitrag von Bartman »

@Thieon

Danke für Deinen Beitrag.

Dein Beispiel erzeugt aber die folgende Warnung:
Class scrartcl Warning: You've used obsolete option `halfparskip'.
(scrartcl) Usage of this option indicates an old document
(scrartcl) and changes compatibility level using
(scrartcl) `parskip=half,version=first'.
(scrartcl) If you don't want this, you should simply
(scrartcl) replace option `halfparskip' by `parskip=half'.
Der Threadstarter lädt enumitem. In der Dokumentation des Pakets steht am Anfang etwas über die Pakete mdwlist und paralist.

Code: Alles auswählen

Geben Sie die Geschwindigkeit in $\frac{km}{h}$ an.
Die Maßeinheiten werden in diesem Fall kursiv geschrieben, weil sie im mathematischen Modus als Variablen betrachtet werden. Das müsste entweder bspw. durch \mathrm behoben werden, oder man schreibt

Code: Alles auswählen

\si{\km\per\hour}
und übergibt \sisetup das Argument per-mode=fraction.

Code: Alles auswählen

\documentclass[fontsize=12pt,parskip=half]{scrartcl}
\usepackage{amsmath, cancel, siunitx, array, rotating}    % Grafik, Mathematik, Brüche kürzen Einheiten, Aufzählung
\usepackage[inline]{enumitem}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}   % Paket, welche Umlaute (z.B. ä) korrekt anzeigt
\usepackage[ngerman]{babel}   % fürs Trennen und z.B. deutsche Überschriften
\usepackage[babel]{microtype}
\usepackage{tikz}    % Grid
\usepackage{multicol, framed}   % Textspalten, Farbe, Rahmen
\usepackage[hdivide={3.0cm, 16cm, }, vdivide={2.2cm, ,2.2cm}]{geometry}
\usepackage[bitstream-charter]{mathdesign}

\sisetup{
	locale=DE,
   per-mode=fraction
}

%\parindent0pt   
\newboolean{loesung}

\newenvironment{gitterLoesung}[7]{
\ifthenelse{\boolean{loesung}}
{
\vspace{#5}
\fcolorbox{black!50!white}{black!12!white}{
	\parbox[c][#4][c]{#3}{
		\color{blue}  \large #7
	}
}\vspace{#6}}
{
\begin{tikzpicture}[x=1mm, y=1mm, semitransparent]
   \def\breite{#1}   % Breite in mm, Vielfaches von 4 (mm) wählen
   \def\hoehe{#2}      % Höhe in mm, Vielfaches von 4 (mm) wählen
   \draw[step=4mm, line width=0.15mm, black!60!white] (0,0) grid (\breite,\hoehe);   % 0 - (30) - 100 entspricht Graustufe
\end{tikzpicture}
}}

   
\begin{document}Für die \textbf{Schülerausgabe} sollen Häuschen (Grid) mit Seitenlänge \SI{4}{\mm} gesetzt werden.\vskip1ex
\setboolean{loesung}{true}         % kann auf true oder false gesetzt werden
\gitterLoesung{160}{80}{156mm}{77mm}{0mm}{7mm}{Hier soll die Lösung stehen: $E=m\cdot c^2$.}

Für die \textbf{Lehrerausgabe} sollen statt Häuschen die Lösung in z.\,B. einer Box geschrieben werden. Dafür soll die Lösung (bezogen auf dieses Beispiel) auch in einer Box mit der exakten Breite \SI{160}{\mm} und der exakten Höhe \SI{80}{\mm} gesetzt werden. Weiter soll natürlich die Position der Lösungsbox und der Häuschenbox exakt identisch sein.\vskip1ex
\setboolean{loesung}{false}         % kann auf true oder false gesetzt werden
\gitterLoesung{160}{80}{156mm}{77mm}{0mm}{7mm}{Hier soll die Lösung stehen: $E=m\cdot c^2$.}

Mit der obigen Variante ist es leider so, dass die Abstände innerhalb verschiedener Elemente (wie Text, Grid, etc.) beim Umschalten von Schüler- auf Lehrerausgabe unterschiedlich sind und so Seitenumbrüche und Abstände nicht mehr stimmen.
\clearpage
Beschreiben Sie die \textbf{Satzgruppe des Pythagoras}.\vskip1ex
\setboolean{loesung}{true}         % kann auf true oder false gesetzt werden
\gitterLoesung{160}{80}{156mm}{77mm}{0mm}{7mm}{\textbf{Lösung}:%
\begin{align*}
   \left.\begin{aligned}
      c^2   &=a^2+b^2\\
      a^2   &=p\cdot c\;\wedge\; b^2=q\cdot c\\
      h^2   &=p\cdot q
   \end{aligned}\right\}
\begin{gathered}
   \text{Satzgruppe}\\
   \text{des Pythagoras}
\end{gathered}
\end{align*}}

Geben Sie die Formel der \textbf{gleichförmigen Bewegung} wieder. Gehen Sie davon aus, dass Sie 1000~Meter in 3$\frac{1}{2}$ Minuten laufen. 
\begin{enumerate*}[label=\bfseries\alph*)]
    \item Mit welcher Geschwindigkeit legen Sie die Strecke zurück? 
    \item Geben Sie die Geschwindigkeit in \si{\km\per\hour} an.
 \end{enumerate*}
\textbf{Hinweis:} Nehmen Sie zur Berechnung die Vereinfachte Form und gehen Sie davon aus, dass Ihre Geschwindigkeit konstant ist.
\vskip1ex
\setboolean{loesung}{true}         % kann auf true oder false gesetzt werden
\gitterLoesung{160}{80}{156mm}{77mm}{0mm}{7mm}{\textbf{Lösung}:%
\begin{align*}
s      &=v\cdot t+s_0\\
1000   &=v\cdot 210\\
v      &=\frac{\SI{1000}{\m}}{\SI{210}{\second}}\\
v      &=\SI{4.76}{\m\per\second} \;\widehat{\approx}\; \SI{17}{\km\per\hour}
\end{align*}}

\end{document}

Thieon
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 55
Registriert: Mo 12. Okt 2015, 19:00
Wohnort: Meppen
Kontaktdaten:

Re: Schüler- und Lehrerlösung im gleichen Texfile

Beitrag von Thieon »

Bartman hat geschrieben:@Thieon
(scrartcl) replace option `halfparskip' by `parskip=half'.
Gut zu wissen, das werde ich dann bei meinen Dokumente abändern. Die Warnung habe ich bislang immer übersehen.
Der Threadstarter lädt enumitem. In der Dokumentation des Pakets steht am Anfang etwas über die Pakete mdwlist und paralist.
Ich hatte sonst enumitem genutzt und bin dann auf mdwlist und paralist umgestiegen, weil ich mir die einzelnen Befehle für enumitem nicht merken konnte.
Die Maßeinheiten werden in diesem Fall kursiv geschrieben, weil sie im mathematischen Modus als Variablen betrachtet werden. Das müsste entweder bspw. durch \mathrm behoben werden, oder man schreibt

Code: Alles auswählen

\si{\km\per\hour}
und übergibt \sisetup das Argument per-mode=fraction.
Ich habe einfach nicht daran gedacht, sonst habe ich immer \text{Text} für Maßeinheiten benutzt. Aber das LaTeX SI-Einheiten kennt, wusste ich bislang auch noch nicht. Das werde ich mir für die Zukunft merken.

Vielen Dank für deine Verbesserungen... Ist schon genial, wieviel man hier lernen kann.

lenherrg
Forum-Anfänger
Forum-Anfänger
Beiträge: 28
Registriert: Sa 13. Feb 2016, 21:23

Dankeschön

Beitrag von lenherrg »

Danke liebe Nachteulen,

Freue mich schon bis ich eure Vorschläge heute Abend ausprobieren kann. Bin gespannt, ob es bei mir auch funktioniert...

Werde eine Rückmeldung geben!

Nochmals Dank an alle.
Lenherrg
Sage mir und ich vergesse,
zeige mir und ich erinnere,
lass es mich tun und ich verstehe.
(Konfuzius)

lenherrg
Forum-Anfänger
Forum-Anfänger
Beiträge: 28
Registriert: Sa 13. Feb 2016, 21:23

Beitrag von lenherrg »

Liebe LaTex-Profis,

so nun habe ich alles ausprobiert und bin im Moment sehr zufrieden. Vielen herzlichen Dank für eure Tipps.

Auch dankbar bin ich für den Hinweis, dass ich Pakete doppelt eingebunden habe. Auch das habe ich korrigiert. Man lernt ja bekanntlich nie aus...

Nochmals MERCI für eure wertvollen Beiträge!
lenherrg

:D :D :idea:
Sage mir und ich vergesse,
zeige mir und ich erinnere,
lass es mich tun und ich verstehe.
(Konfuzius)

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 705
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

In dem Zusammenhang vielleicht interessant:

http://tex.stackexchange.com/questions/264619/

Grüße
Clemens

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 705
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

Das neue Paket xsim, das der offizielle Nachfolger für exsheets ist, hat ein Beispiel für genau diese Frage: https://github.com/cgnieder/xsim/blob/m ... -16824.pdf
Clemens

MH42
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 2. Mai 2020, 09:06

Re: Schüler- und Lehrerlösung im gleichen Texfile

Beitrag von MH42 »

Ich weiss, das ist schon älter ... aber ich bin auch in der Situation, dass ich jetzt meine 30 Kapitel Mathematik-Skript in Latex umsetzen möchte. Bisher habe ich (leider) mit Word gearbeitet. Ich habe je eine Schüler- und eine Lehrerversion erstellt. In der Schülervariante ist jeweils die Lösung ausgeblendet, in der Lehrerversion steht auf demselben Platz ein Eintrag. Oft habe ich in der Schülerversion mehr Platz gelassen, damit von Hand die Lösung eingetragen werden kann.
Das Beispiel oben wäre in etwa das, was ich suche ... für Klausuren verwende ich momentan noch die exam-Klasse ... bin aber interessiert an xsim ... wenn sich das Skript jetzt auch noch darüber gestalten lässt, dann wäre das prima .. ich kapiere nur leider nicht, wie das obige Beispiel in xsim umzusetzen wäre ... kann mir da jemand eine Starthilfe geben?


Antworten