diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2023-08-01 13:39:58 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2023-08-01 13:48:35 +0200 |
| commit | 21a4da5f74ddb81662f92c1529bc4da6715f941e (patch) | |
| tree | 546d860e01d05ed0356313d374b8890d2f56e66d | |
| parent | a5a817a143205802c099ce4833e8e7639425a104 (diff) | |
| download | unterricht-21a4da5f74ddb81662f92c1529bc4da6715f941e.tar.gz unterricht-21a4da5f74ddb81662f92c1529bc4da6715f941e.zip | |
overhaul the automatic point counting
The Lsg environment now sets the expected points even if it is not rendered.
This allows us to use the automatic point counting also in "schueler" versions.
All exercise points are stored in an exercise-local counter and are
persisted using refstepcounter and an appropriate label.
25 files changed, 84 insertions, 72 deletions
diff --git a/Info/10/2/Aufgaben/Datenkapselung_Microblogging.tex b/Info/10/2/Aufgaben/Datenkapselung_Microblogging.tex index cdf0824d..e5257538 100644 --- a/Info/10/2/Aufgaben/Datenkapselung_Microblogging.tex +++ b/Info/10/2/Aufgaben/Datenkapselung_Microblogging.tex @@ -1,4 +1,3 @@ -\renewcommand{\AnzahlPunkte}{5} %%Anzahl der Punkte festlegen \renewcommand{\Verteilung}{3 + 2 BE} %%Anzahl der Punkte festlegen \begin{Aufg} diff --git a/Info/10/2/Aufgaben/Polymorphismus_Beschaeftigte.tex b/Info/10/2/Aufgaben/Polymorphismus_Beschaeftigte.tex index aa0bcf66..e5d6d556 100644 --- a/Info/10/2/Aufgaben/Polymorphismus_Beschaeftigte.tex +++ b/Info/10/2/Aufgaben/Polymorphismus_Beschaeftigte.tex @@ -1,4 +1,3 @@ -\renewcommand{\AnzahlPunkte}{15} %%Anzahl der Punkte festlegen \renewcommand{\Verteilung}{3 + 8 + 4 BE} %%Anzahl der Punkte festlegen \begin{Aufg} diff --git a/Info/10/2/Aufgaben/Referenzvariablen_Schuelerakte.tex b/Info/10/2/Aufgaben/Referenzvariablen_Schuelerakte.tex index 02f77b0f..aece0f49 100644 --- a/Info/10/2/Aufgaben/Referenzvariablen_Schuelerakte.tex +++ b/Info/10/2/Aufgaben/Referenzvariablen_Schuelerakte.tex @@ -1,4 +1,3 @@ -\renewcommand{\AnzahlPunkte}{7} %%Anzahl der Punkte festlegen \renewcommand{\Verteilung}{4 + 3 BE} %%Anzahl der Punkte festlegen \begin{Aufg} diff --git a/Mathe/10/3/Aufgaben/Gezeiten_Modellierung.tex b/Mathe/10/3/Aufgaben/Gezeiten_Modellierung.tex index 2595a812..b7853f2f 100644 --- a/Mathe/10/3/Aufgaben/Gezeiten_Modellierung.tex +++ b/Mathe/10/3/Aufgaben/Gezeiten_Modellierung.tex @@ -1,4 +1,3 @@ -\renewcommand{\AnzahlPunkte}{10} %%Anzahl der Punkte festlegen \renewcommand{\Verteilung}{2 + 5 + 3 BE} %%Anzahl der Punkte festlegen \begin{Aufg} diff --git a/Mathe/10/3/Aufgaben/Sin_Loesung_Argumentation.tex b/Mathe/10/3/Aufgaben/Sin_Loesung_Argumentation.tex index d0575186..25fdadcd 100644 --- a/Mathe/10/3/Aufgaben/Sin_Loesung_Argumentation.tex +++ b/Mathe/10/3/Aufgaben/Sin_Loesung_Argumentation.tex @@ -1,6 +1,3 @@ -\renewcommand{\AnzahlPunkte}{5} %%Anzahl der Punkte festlegen -\renewcommand{\Verteilung}{5 BE} %%Anzahl der Punkte festlegen - \begin{Aufg} Eine Mitschüler*in behauptet die Gleichung $sin(2x) = \frac{1}{2}\sqrt{2}$ hat im Intervall $[0; 2\pi]$ die Lösungen $x_1 = \frac{1}{4}\pi$ und $x_2 = \frac{3}{4}\pi$. Nimm zu dieser Aussage Stellung und gib eventuell alle möglichen Lösungen der Gleichung an. \\ diff --git a/Mathe/10/3/Aufgaben/Sinus_Term_Bestimmen.tex b/Mathe/10/3/Aufgaben/Sinus_Term_Bestimmen.tex index 36bca098..3c414650 100644 --- a/Mathe/10/3/Aufgaben/Sinus_Term_Bestimmen.tex +++ b/Mathe/10/3/Aufgaben/Sinus_Term_Bestimmen.tex @@ -1,6 +1,3 @@ -\renewcommand{\AnzahlPunkte}{4} %%Anzahl der Punkte festlegen -\renewcommand{\Verteilung}{4 BE} %%Anzahl der Punkte festlegen - \begin{Aufg} Gib eine in $\mathbb{R}$ definierte Funktion mit unendlich vielen Nullstellen und der Wertemenge $W = [0; 18]$ so an, dass zwei benachbarte Nullstellen immer den Abstand 3 besitzen. \end{Aufg} diff --git a/Mathe/10/3/Aufgaben/Winkelmaß_Umrechnung.tex b/Mathe/10/3/Aufgaben/Winkelmaß_Umrechnung.tex index 16ba7cad..f20a428e 100644 --- a/Mathe/10/3/Aufgaben/Winkelmaß_Umrechnung.tex +++ b/Mathe/10/3/Aufgaben/Winkelmaß_Umrechnung.tex @@ -1,6 +1,3 @@ -\renewcommand{\AnzahlPunkte}{6} %%Anzahl der Punkte festlegen -\renewcommand{\Verteilung}{6 BE} %%Anzahl der Punkte festlegen - \begin{Aufg} Wandle von Grad- in Bogenmaß bzw. von Bogen- in Gradmaß um. Gib deine Ergebnisse wenn möglich exakt an, andernfalls runde auf 2 Nachkommastellen.\\ \begin{tabular}{l l l l} diff --git a/Mathe/10/4/Aufgaben/Symmetrie_Randverhalten_Y-Achsen_Schnittpunkt.tex b/Mathe/10/4/Aufgaben/Symmetrie_Randverhalten_Y-Achsen_Schnittpunkt.tex index 58b353da..258e8167 100644 --- a/Mathe/10/4/Aufgaben/Symmetrie_Randverhalten_Y-Achsen_Schnittpunkt.tex +++ b/Mathe/10/4/Aufgaben/Symmetrie_Randverhalten_Y-Achsen_Schnittpunkt.tex @@ -1,4 +1,3 @@ -\renewcommand{\AnzahlPunkte}{12} %%Anzahl der Punkte festlegen \renewcommand{\Verteilung}{6 + 6 BE} %%Anzahl der Punkte festlegen \begin{Aufg} diff --git a/Mathe/10/4/Aufgaben/Term_Umformung.tex b/Mathe/10/4/Aufgaben/Term_Umformung.tex index 49953dcf..bdf86028 100644 --- a/Mathe/10/4/Aufgaben/Term_Umformung.tex +++ b/Mathe/10/4/Aufgaben/Term_Umformung.tex @@ -1,6 +1,3 @@ -\renewcommand{\AnzahlPunkte}{6} %%Anzahl der Punkte festlegen -\renewcommand{\Verteilung}{6 BE} %%Anzahl der Punkte festlegen - \begin{Aufg} Zeige durch Termumformung, dass die Funktion $f$ ganzrational ist. Gib ihren Grad und die Kooeffizienten an. \\ diff --git a/Mathe/10/5/Aufgaben/Achtfach_Volumen_Oberflaecheninhalt.tex b/Mathe/10/5/Aufgaben/Achtfach_Volumen_Oberflaecheninhalt.tex index 7bef833b..87f3c935 100644 --- a/Mathe/10/5/Aufgaben/Achtfach_Volumen_Oberflaecheninhalt.tex +++ b/Mathe/10/5/Aufgaben/Achtfach_Volumen_Oberflaecheninhalt.tex @@ -1,5 +1,3 @@ -\renewcommand{\AnzahlPunkte}{3} -\renewcommand{\Verteilung}{} \begin{Aufg} Wie verändert sich der Oberflächeninhalt einer Kugel, deren Radius so verändert wird, dass sich ihr Volumen verachtfacht. \end{Aufg} diff --git a/Mathe/10/5/Aufgaben/Behauptung_Oberflaeche_Radius_Verhaeltnis.tex b/Mathe/10/5/Aufgaben/Behauptung_Oberflaeche_Radius_Verhaeltnis.tex index 04272e17..7e5e4637 100644 --- a/Mathe/10/5/Aufgaben/Behauptung_Oberflaeche_Radius_Verhaeltnis.tex +++ b/Mathe/10/5/Aufgaben/Behauptung_Oberflaeche_Radius_Verhaeltnis.tex @@ -1,5 +1,3 @@ -\renewcommand{\AnzahlPunkte}{4} -\renewcommand{\Verteilung}{} \begin{Aufg} Beurteile folgende Aussage: \quote{Wenn die Oberflächeninhalte zweier Kugeln $K_1$, $K_2$ im Verhältnis 9:1 stehen, dann stehen auch ihre Radien $r_1$ und $r_2$ im Verhältnis 9:1.} \end{Aufg} diff --git a/Mathe/10/5/Aufgaben/Oberflaecheninhalt_Rot_Kegel_Zylinder.tex b/Mathe/10/5/Aufgaben/Oberflaecheninhalt_Rot_Kegel_Zylinder.tex index 456781fd..566afe82 100644 --- a/Mathe/10/5/Aufgaben/Oberflaecheninhalt_Rot_Kegel_Zylinder.tex +++ b/Mathe/10/5/Aufgaben/Oberflaecheninhalt_Rot_Kegel_Zylinder.tex @@ -1,4 +1,3 @@ -\renewcommand{\AnzahlPunkte}{9} %%Anzahl der Punkte festlegen \renewcommand{\Verteilung}{3 + 6 BE} %%Anzahl der Punkte festlege \begin{Aufg} diff --git a/Mathe/10/5/Aufgaben/Oberflaecheninhalt_Rot_Trichter.tex b/Mathe/10/5/Aufgaben/Oberflaecheninhalt_Rot_Trichter.tex index 58e46081..8d34cfa1 100644 --- a/Mathe/10/5/Aufgaben/Oberflaecheninhalt_Rot_Trichter.tex +++ b/Mathe/10/5/Aufgaben/Oberflaecheninhalt_Rot_Trichter.tex @@ -1,4 +1,3 @@ -\renewcommand{\AnzahlPunkte}{11} %%Anzahl der Punkte festlegen \renewcommand{\Verteilung}{3 + 8 BE} %%Anzahl der Punkte festlegen \begin{Aufg} diff --git a/Mathe/10/5/Aufgaben/Radius_Gleicher_Oberflaeche_Volumen.tex b/Mathe/10/5/Aufgaben/Radius_Gleicher_Oberflaeche_Volumen.tex index 5a514913..237ab1db 100644 --- a/Mathe/10/5/Aufgaben/Radius_Gleicher_Oberflaeche_Volumen.tex +++ b/Mathe/10/5/Aufgaben/Radius_Gleicher_Oberflaeche_Volumen.tex @@ -1,5 +1,4 @@ -\renewcommand{\AnzahlPunkte}{3} -\renewcommand{\Verteilung}{} +\AnzahlPunkte{3} \begin{Aufg} Bestimme den Radius ($r \ne 0$) einer Kugel, deren Oberflächeninhalts und Volumen die gleiche Maßzahl (\glqq Zahl ohne Einheit\grqq) besitzen. \end{Aufg} diff --git a/Mathe/2023/10D/3_Schulaufgabe/Aufgaben/Term_Bestimmung.tex b/Mathe/2023/10D/3_Schulaufgabe/Aufgaben/Term_Bestimmung.tex index e89297a7..9acd143b 100644 --- a/Mathe/2023/10D/3_Schulaufgabe/Aufgaben/Term_Bestimmung.tex +++ b/Mathe/2023/10D/3_Schulaufgabe/Aufgaben/Term_Bestimmung.tex @@ -1,4 +1,3 @@ -\renewcommand{\AnzahlPunkte}{5} %%Anzahl der Punkte festlegen \renewcommand{\Verteilung}{4 + 1 BE} %%Anzahl der Punkte festlegen \begin{Aufg} diff --git a/Mathe/2023/10D/3_Schulaufgabe/_test.tex b/Mathe/2023/10D/3_Schulaufgabe/_test.tex index 85d0696e..89ecde40 100644 --- a/Mathe/2023/10D/3_Schulaufgabe/_test.tex +++ b/Mathe/2023/10D/3_Schulaufgabe/_test.tex @@ -14,7 +14,6 @@ \renewcommand{\Datum}{11. Mai 2023} \renewcommand{\Klasse}{10D} \renewcommand{\TestNummer}{3} -\renewcommand{\AnzahlInsgesamtPunkte}{42} \begin{document} diff --git a/Mathe/2023/10D/KAL_300623/_test.tex b/Mathe/2023/10D/KAL_300623/_test.tex index f4b04139..c6374303 100644 --- a/Mathe/2023/10D/KAL_300623/_test.tex +++ b/Mathe/2023/10D/KAL_300623/_test.tex @@ -11,7 +11,6 @@ \renewcommand{\TestNummer}{3} \renewcommand{\Datum}{30. Juni 2023} \renewcommand{\Klasse}{10D} -\renewcommand{\AnzahlInsgesamtPunkte}{16} \begin{document} diff --git a/Mathe/2023/10D/KAL_300623_Nachschrift/_test.tex b/Mathe/2023/10D/KAL_300623_Nachschrift/_test.tex index 286dd88a..7f97c4c9 100644 --- a/Mathe/2023/10D/KAL_300623_Nachschrift/_test.tex +++ b/Mathe/2023/10D/KAL_300623_Nachschrift/_test.tex @@ -11,7 +11,6 @@ \renewcommand{\TestNummer}{NS 3} \renewcommand{\Datum}{10. Juli 2023} \renewcommand{\Klasse}{10D} -\renewcommand{\AnzahlInsgesamtPunkte}{14} \begin{document} diff --git a/latex/common.tex b/latex/common.tex index 2d2efbea..5cdc2985 100644 --- a/latex/common.tex +++ b/latex/common.tex @@ -33,23 +33,54 @@ {}% name of head font {}% punctuation between head and body {\newline }% space after theorem head; " " = normal interword space -{\textbf{\thmname{#1}\thmnumber{ #2}\thmnote{ (#3)}\ifdefined\Verteilung{}: \ \Verteilung \hfill {/}\AnzahlPunkte \ BE\fi}} +{\textbf{\thmname{#1} \thmnumber{#2}\thmnote{ (#3)}\ifdefined\Verteilung{}: \ \Verteilung \hfill {/}\ref{a:\thmnumber{#2}} \ BE\fi}} \theoremstyle{Aufg} \newtheorem{Aufg}{Aufgabe} -\newtheoremstyle{Lsg}% name of the style to be used -{2pt}% measure of space to leave above the theorem. E.g.: 3pt -{}% measure of space to leave below the theorem. E.g.: 3pt -{}% name of font to use in the body of the theorem -{}% measure of space to indent -{}% name of head font -{}% punctuation between head and body -{\newline }% space after theorem head; " " = normal interword space -{\textbf{\thmname{#1}\thmnote{ (#3)}:}} +% Total amount of point * 2 in order to track half points in an integer counter +\newcounter{be} % Total amount of points in the document +\newcounter{beA}[Aufg] % Amount of point in the current exercise +\newcounter{beAManuell} % Counter to manually override the points in the current exercise +\setcounter{beAManuell}{-1} + +\newcommand{\BE}[1]{% +\iftoggle{erwartungshorizont}{% Typeset the points only if we are creating a horzon of expectation +#1 BE}{}% TODO: better typesetting +\addtocounter{beA}{\fpeval{#1*2}}} + +\newcommand{\AnzahlInsgesamtPunkte}{\fpeval{\value{be} / 2}} -\theoremstyle{Lsg} -\newtheorem{Lsg}{Lösung} +% Point distribution across subtasks +\newcommand{\Verteilung}{} + +% Manually override the points +\newcommand{\AnzahlPunkte}[1]{\setcounter{beAManuell}{\fpeval{#1*2}}} + + +\newenvironment{Lsg} +{ +\iftoggle{lehrerversion}{ +\noindent\textbf{Lösung:}\newline +}{ +\begin{adjustbox}{max height=0cm, minipage=[0pt]{\textwidth},frame,phantom} +} +} +{%end_def +\iftoggle{lehrerversion}{}{\end{adjustbox}\vspace{-\baselineskip}} +% Overwrite the beA counter +\ifthenelse{\arabic{beAManuell} > -1}% +{\setcounter{beA}{\value{beAManuell}}}% +{} +\setcounter{beAManuell}{-1} +% Sum up all points +\addtocounter{be}{\value{beA}} +% Persist the current exercise count +\setcounter{beA}{\fpeval{\value{beA} / 2}}% +\addtocounter{beA}{-1}% decrement beA count because refstepcount will increment it +\refstepcounter{beA}% make the beA available for the ref and label mechanisms +\expandafter\label{a:\theAufg}% create a label for this exercise +} \newtheoremstyle{Bearbeitung}% name of the style to be used {0pt}% measure of space to leave above the theorem. E.g.: 3pt @@ -65,12 +96,10 @@ \newtheorem{Bearbeitung}{} \newcommand{\Lehrerversion}{\excludecomment{Bearbeitung}} -\newcommand{\Schuelerversion}{\excludecomment{Lsg}} \iftoggle{lehrerversion}{ \Lehrerversion }{ - \Schuelerversion } % Add new paired delimiter 'abs' using mathtools diff --git a/latex/common_packages.tex b/latex/common_packages.tex index b3c95036..8760e265 100644 --- a/latex/common_packages.tex +++ b/latex/common_packages.tex @@ -22,3 +22,4 @@ \RequirePackage{multirow} \RequirePackage{caption} \RequirePackage{siunitx} +\RequirePackage{adjustbox} diff --git a/latex/test.cls b/latex/test.cls index 21e10261..61594e8b 100644 --- a/latex/test.cls +++ b/latex/test.cls @@ -70,20 +70,6 @@ \definecolor{testgrauRGB}{rgb}{0.9,0.9,0.9} \definecolor{testgrauCMYK}{cmyk}{0.0,0.0,0.0,0.30} -% Anzahl der zu erreichenden Punkte * 2 damit der counter auch 0.5 BE erfassen kann -\newcounter{be} -\newcommand{\BE}[1]{% -\iftoggle{erwartungshorizont}{% Setze die BEs nur wenn wir einen Erwartunshorizont erzeugen -#1 BE}{}% -\addtocounter{be}{\fpeval{#1*2}}} -\newcommand{\AnzahlInsgesamtPunkte}{\fpeval{\value{be} / 2}} - -% TODO: implement exercise specific BE counting -% \newcounter{aufgabenBe} - -\newcommand{\Verteilung}{} -\newcommand{\AnzahlPunkte}{0} %%Anzahl der Punkte festlegen - \newcommand{\Intro}{ \fcolorbox{black}{testgrauRGB}{% \parbox{14.3cm}{ diff --git a/templates/test/Aufgaben/aufgabe.tex b/templates/test/Aufgaben/aufgabe.tex deleted file mode 100644 index 192a80e0..00000000 --- a/templates/test/Aufgaben/aufgabe.tex +++ /dev/null @@ -1,10 +0,0 @@ -\renewcommand{\AnzahlPunkte}{2} %%Anzahl der Punkte festlegen -\renewcommand{\Verteilung}{1 + 1 BE} %%Anzahl der Punkte festlegen - -\begin{Aufg} -Berechne $1+1$ -\end{Aufg} - -\begin{Lsg} -$1 + 1 = 2$ \BE{1} -\end{Lsg} diff --git a/templates/test/Aufgaben/aufgabe1.tex b/templates/test/Aufgaben/aufgabe1.tex new file mode 100644 index 00000000..7cc4d741 --- /dev/null +++ b/templates/test/Aufgaben/aufgabe1.tex @@ -0,0 +1,14 @@ +%% Anzahl der Punkte festlegen +%% Das manuelle Festlegen der Punkte überschreibt die Anzahl der +%% Punkte im Erwartungshorizont +\AnzahlPunkte{1} + +\begin{Aufg} +Berechne $1+1-2$ +\end{Aufg} + +\begin{Lsg} +$1 + 1 = 2$ \BE{0.5} \\ +$2 - 2 = 0$ \BE{0.5} \\ +$\Rightarrow 1 + 1 - 2 = 0$ \BE{1} +\end{Lsg} diff --git a/templates/test/Aufgaben/aufgabe2.tex b/templates/test/Aufgaben/aufgabe2.tex new file mode 100644 index 00000000..ab735e47 --- /dev/null +++ b/templates/test/Aufgaben/aufgabe2.tex @@ -0,0 +1,16 @@ +%% Ein manuelles festlegen der Punktanzahl ist möglich aber nicht nötig. +%% Die Punkte einer Aufgabe werden durch die Anzahl an vergebenen BEs in der +%% Lösung bestimmt. +% \AnzahlPunkte{2} +\renewcommand{\Verteilung}{1 + 1 BE} %% Verteilung der Punkte festlegen + +\begin{Aufg} +Gibt die folgenden Eigenschaften eines Quaders an. \\ +\textbf{a)} Anzahl der Ecken \\ +\textbf{b)} Anzahl der Seiten +\end{Aufg} + +\begin{Lsg} +\textbf{a)} Ein Quader hat acht Ecken \BE{1} \\ +\textbf{b)} Ein Quader hat sechs Seiten \BE{1} +\end{Lsg} diff --git a/templates/test/_test.tex b/templates/test/_test.tex index 5ac61462..89316dbc 100644 --- a/templates/test/_test.tex +++ b/templates/test/_test.tex @@ -3,12 +3,16 @@ \thispagestyle{ErsteSeite} \Intro -%%BEISPIEL AUFGABE MIT KARIERTER BEARBEITUNG -\input{Aufgaben/aufgabe} -%\newline +%% Beispiel Aufgabe mit karierter Bearbeitung +\input{Aufgaben/aufgabe1} \begin{Bearbeitung} -\kariert[0.5cm]{17} -%\liniert[0.5cm]{13} +\kariert[0.5cm]{10} +\end{Bearbeitung} + +%% Beispiel Aufgabe mit karierter Bearbeitung +\input{Aufgaben/aufgabe2} +\begin{Bearbeitung} +\liniert[0.5cm]{10} \end{Bearbeitung} %%%Hier die Darstellung am Ende |
