PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Neue Umgebung definieren



MrMilk
24-04-2010, 11:04
Hallo zusammen,

ich habe meine BA-Arbeit in Latex erstellt. Insgesamt hatte ich nur mit mathematischem Umgebungen zu tun, hat mir aber so gut gefallen, dass ich nun weiter mit LaTeX arbeiten möchte. Für eine Vorlesung möchte ich zusammen mit zwei weiteren Personen (alle zusammen: Alexander, Adrian und Andreas) einen Fragenkatalog aufbauen und dazu habe ich mir überlegt, ob man folgendes eventuell definieren kann (siehe Bild im Anhang).

Ich erhoffe mir dann so etwas dieser Art im LaTeX-Dokument zu finden:

\begin{Frage}[Titel=Hier steht die Frage und geht bis an den linken Seitenrand,Adrian=ok,Andreas=ok]
Hier steht die Antwort und geht analog bis zum linken Seitenrand.
\end{Frage}

Es soll in diesem Fall "Anmerkung: Es fehlt noch ein ok von: Alexander" dort erscheinen, da nur Andreas und Adrian ein ok gegeben haben. Im Fall das dort auch noch Alexander=ok steht soll die Anmerkung automatisch weg fallen.


Könnt ihr mir sagen ob so etwas möglich ist bzw. ob es sehr aufwändig ist?

Viele Grüße
MM

u_fischer
24-04-2010, 11:35
\documentclass{scrartcl}

\usepackage[ansinew]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{xkeyval}
\makeatletter
\define@boolkey[MM]{frage}{andreasok}[true]{}%
\define@boolkey[MM]{frage}{alexok}[true]{}%
\define@key[MM]{frage}{titel}{\def\frage@titel{#1}}%


\newenvironment{frage}[1][]{%
\setkeys[MM]{frage}{titel={},andreasok=false,alexok=false}%ini tialisierung
\setkeys[MM]{frage}{#1}%
\minisec{\frage@titel}\par
\ifMM@frage@andreasok
\ifMM@frage@alexok
beide ok
\else
ok alex fehlt
\fi
\else
\ifMM@frage@alexok
ok andreas fehlt
\else
beide fehlen
\fi
\fi}
\makeatletter
\begin{document}
\begin{frage}[titel=keiner ok]
(keine ok)
\end{frage}

\begin{frage}[titel=Alexok, alexok]
(alexok)
\end{frage}

\begin{frage}[titel=Andreasok,andreasok]
(andreasok)
\end{frage}

\begin{frage}[titel=beide ok, andreasok, alexok]
(beide ok)
\end{frage}
\end{document}

(Das [MM] soll nur verhindern, dass du anderer Leute key-Definitionen überschreibst, ich habe dafür deine Unterschrift benutzt).