ich bastel aktuell an einer Überschrift für Arbeitsblätter, derart, dass nach Auswahl gewisser Parameter die Lösungen ein- bzw. ausgeblendet werden.
\documentclass[a4paper,12pt]{article} \usepackage[utf8]{inputenc} \usepackage[ngerman]{babel} \usepackage{ifthen} \usepackage{etoolbox} %\input{../../Praeambel/Praeambel} \newcommand{\version}{.} % Etoolbox \providebool{mybool}% erzeugt einen boolschen Wert mit Namen ``Mybool'' \boolfalse{mybool}% gibt ``Mybool'' den Wert ``falsch'' \newcommand{\Blatt}[3]{ \textbf{ \ifthenelse{\equal{#1}{1}}{Übung}{ \ifthenelse{\equal{#1}{2}}{Tutorium}{ \ifthenelse{\equal{#1}{3}}{Leistungskontrolle}{ \ifthenelse{\equal{#1}{4}}{Kopfrechnen}{ } } } } \;#3\; } \ifthenelse{\equal{#2}{1}}{Lösung \booltrue{mybool}}{} } %--------------------------------------------------------------------------------------------- \begin{document} \ifbool{mybool}{\textbf{true}}{\textbf{false}}\\ % prüft mybool \booltrue{mybool} \ifbool{mybool}{\textbf{true}}{\textbf{false}}\\ \boolfalse{mybool} \ifbool{mybool}{\textbf{true}}{\textbf{false}}\\ % setzt mybool wieder auf falsch % bis jetzt nur Testlauf, ob der Wert von mybool in der document-Umgebung verändert werden kann. %--------------------------------------------------------------------------------------------- \Blatt{1}{1}{1} \\% hier kommt es zu einer Fehlermeldung beim Kompilieren. Fehlendes $-Zeichen??? \ifbool{mybool}{\textbf{true}:\;\; \textit{hier soll jetzt die Lösung stehen}}{\textbf{false}}\\ \end{document}
Leider kommt es beim Kompilieren zu einer Fehlermeldung.
Dies liegt zum anderen am Befehl \booltrue{} innerhalb der Definition von \Blatt[] und dem Ausgeben des 3. Wertes. Weshalb kann ich leider nicht herausfinden.
Weiter ist der Wahrheitswert verloren, sobald sich eine Zeile Abstand zwischen dem Befehl \Blatt{1}{1}{1} und der Auswertung \ifbool befindet.
Siehe unten
\documentclass[a4paper,12pt]{article} \usepackage[utf8]{inputenc} \usepackage[ngerman]{babel} \usepackage{ifthen} \usepackage{etoolbox} %\input{../../Praeambel/Praeambel} \newcommand{\version}{.} % Etoolbox \providebool{mybool}% erzeugt einen boolschen Wert mit Namen ``Mybool'' \boolfalse{mybool}% gibt ``Mybool'' den Wert ``falsch'' \newcommand{\Blatt}[3]{ \textbf{... \ifthenelse{\equal{#1}{1}}{Übung}{ \ifthenelse{\equal{#1}{2}}{Tutorium}{ \ifthenelse{\equal{#1}{3}}{Leistungskontrolle}{ \ifthenelse{\equal{#1}{4}}{Kopfrechnen}{ } } } } \;#3\; } \ifthenelse{\equal{#2}{1}}{Lösung \booltrue{mybool}}{} } %--------------------------------------------------------------------------------------------- \begin{document} \ifbool{mybool}{\textbf{true}}{\textbf{false}}\\ % prüft mybool \booltrue{mybool} \ifbool{mybool}{\textbf{true}}{\textbf{false}}\\ \boolfalse{mybool} \ifbool{mybool}{\textbf{true}}{\textbf{false}}\\ % setzt mybool wieder auf falsch % bis jetzt nur Testlauf, ob der Wert von mybool in der document-Umgebung verändert werden kann. %--------------------------------------------------------------------------------------------- \Blatt{1}{1}{1} % hier kommt es zu einer Fehlermeldung beim Kompilieren. Fehlendes $-Zeichen??? \ifbool{mybool}{\textbf{true}:\;\; \textit{hier soll jetzt die Lösung stehen}}{\textbf{false}} \end{document}
Woran kann das liegen?