Das Exercise Format (EF) Version 0.97 (27. Feb. 2007)
TU Dresden, Psychologie des Lehrens und Lernens
Rüdiger Krauße, Uwe Zschenderlein
Druckversion

Allgemeines     Das Format     Pads     Ausflug nach HTML     Beispiele     EF-Hauptseite


1 Allgemeines[Inhalt]

Über EF     Die Daten in EF

1.1 Über EF[Inhalt]

Beim Exercise Format handelt es sich um eine Möglichkeit, die abstrakten Daten einer Aufgabe in einer Datei abzuspeichern.
EF-Dateien enthalten also nur die Werte, wie z.B. Überschrift, Frage, Antwortformat, Hinweise usw., ohne spezielle Angaben über das Erscheinungsbild oder den Verarbeitungsablauf im Computer. EF ist ein Plain-Text-Format, d.h. es handelt sich um normal lesbaren Text, der auch mit einem gewöhnlichem Text-Editor bearbeitet werden kann.
Um die Aufgaben dann schließlich bearbeiten zu können, werden die Dateien von speziellen Anwendungsprogrammen gelesen und die Aufgaben werden entsprechend generiert.
Ein Beispiel dafür ist der EF-Editor, welcher HTML-Dateien erzeugt, sodass man die Aufgaben in einem Internet-Browser bearbeiten kann bzw. Papierversionen für Word erstellen kann. Die Schaubeispiele dieser Beschreibung, wurden alle mit dem EF-Editor erstellt und zeigen natürlich nur eine Variante, wie die abstrakten Daten umgesetzt aussehen können.

1.2 Die Daten in EF[Inhalt]

Betrachten wir dazu eine vom EF-Editor generierte Aufgabe. Einige wichtige Angaben für Aufgaben sind offensichtlich.

Der Text der Fragestellung.
Die Antwort. Sie besteht aus bereits vorgegebenem Text und natürlich Möglichkeiten die Antwort einzugeben. 
Diese sind momentan Multiple Choice und kurze Textantworten.
Eine Steuermöglichkeit. Folgendes sollte man beim Lösen einer Aufgabe tun können: 
  • Hinweise anfordern
  • die korrekte Lösung anzeigen lassen
  • Bearbeitung abbrechen
Im Feedback-Feld werden Hinweise und Kommentare angezeigt. Dies gehört aber nicht direkt zu EF, da es für das Stellen der Aufgabe unwesentlich ist.

Der zugehörige EF-Quellkode sieht folgendermaßen aus:

# multiple choice with radio button
$type = SIMPLE
$title = "Aufgabe 1, Multiple Choice Radio Button"
$question = 
  "Durch einen ohmschen Widerstand fließt bei angelegter Spannung Strom.
  Welche Auswirkungen hat es auf den Strom, wenn die Spannung erhöht wird?"
$answer = "Die Stromstärke"; ""
$mcr =
   1, "steigt.";
   0, "bleibt unverändert.";
   0, "sinkt.";
   0, "ändert sich unbestimmt."
$hints = 
  "Was fällt ihnen denn bei 'Ohm'sch ein?";
  "Ohmsches Gesetz, na?";
  "OK. Also Strom und Spannung sind in diesem Fall direkt proportional.";
  "Also gut: Der Strom verhält sich 'genauso' wie die Spannung."
$solution = "Der Strom steigt ebenfalls, das ist ja das OHMsche Gesetz."

2 Das Format[Inhalt]

Variablen     Zeichenketten     Schalter für Variablen     Kommentare     Bedeutung der Variablen

Hier folgt die Beschreibung des Formats. Vorausschickend sei gesagt, dass Groß- und Kleinschreibung bei Schlüsselwörtern nicht. unterschieden wird, Zeilenumbrüche als normale Leerzeichen aufgefasst werden und mehrere Leerzeichen als ein Leerzeichen registriert werden (wie in HTML). Man braucht sich also um das Aussehen der Texte in den Anwendungen keine Gedanken machen und sollte hingegen nicht mit Einzügen und Zeilenvorschüben sparen, um den Quelltext lesbarer zu gestalten.

2.1 Variablen[Inhalt]

Wie bereits erwähnt handelt es sich um normal lesbare Texte. Die Werte (in der Regel Zeichenketten) werden entsprechenden Variablen zugeordnet. Diese beginnen immer mit einem Dollarzeichen ($) und müssen immer am Anfang der Zeile stehen. Ihnen folgt ein Gleichheitszeichen (=) und diesem folgt die Definition.

$title = "Eine leichte Aufgabe"
$QuesTion = "Wieviel ist 1+2?"

Groß- und Kleinschreibung ist dabei egal. Die Namen der Variablen sind entsprechen ihrer Bedeutung vorgegeben, momentan sind folgende erlaubt (Drag&Drop bedeutet im folgenden, dass mit Hilfe der Maus kurze Texte u.ä. in bestimmte Eingabefelder gezogen werden können):

Variable Bedeutung alternative Namen* mehrfach
$type definiert den Type der Aufgabe, bis jetzt nur SIMPLE,  MULTI, STEP oder CARD erlaubt $Typ nein
$title Überschrift der Aufgabe $Titel nein
$id Identifikationskürzel, die "Nummer" der Aufgabe   nein
$question Fragetext $Frage, $Aufgabe, $Aufgabenstellung nein
$hints Hinweistexte $Hinweis, $Hinweise, $Tip, $Tips, $Tipp, $Tipps, $Rat, $Ratschlag, $GuterRat ja, wenn Multi-Type
$solution Text, der erscheint, wenn die Lösung angefordert wird. $Lösung, $Lösungstext ja, wenn Multi-Type
$trial Maximale Anzahl der Lösungsversuche und Mindestanzahl zur Freischaltung der Lösungsanzeige $Versuche nein
$next Trennt Teilaufgaben beim Multi-Type, Step-Type, Card-Type   ja, wenn nicht  Simple-Type

$card

Name und Abhängigkeit von Karteikarten beim Card-Type $Karte, $Tab ja, wenn Card-Type
$answer feste Texte in der Antwort $Lückentext, $Text, $Rahmentext, $AntwortText, $Rama ja
$mcr Eingabefeld für Multiple Choice mit Radio-Buttons (genau eine richtige Antwort) $MCe ja
$mcp Eingabefeld für Multiple Choice als Pull-Down-Menü   ja
$mcx Eingabefeld für Multiple Choice mit mehreren möglichen richtigen Antworten $MCm ja
$mcs Eingabefeld für Multiple Choice als Skale $Skala ja
$mca Eingabefeld als Schieberegler $Slider, $SR, $Schieberegler ja
$vr Eingabefeld für Verifikationsaufgabe (Ja/Nein) $Verifikation ja
$memo Eingabefeld für längerer Texte (ohne direkten Test auf Richtigkeit) $LangText ja
$st Eingabefeld für kurze Text (Vergleich über Synonymliste) $KurzText ja
$lt Eingabefeld für längere Texte (Vergleich über Synonymliste) $LangText ja
$tf Eingabefeld für kurze Text in das auch mit Drag&Drop Texte gezogen werden können $ZFme, $tfs ja
$tfm Eingabefeld für mehrere kurze Texte,  in das auch mit Drag&Drop Texte gezogen werden können   ja
$ts Zielfeld für Drag&Drop (Vergleich über Synonymliste) $ZF ja
$tm Zielfeld für Drag&Drop (Mehrere Einträge)   ja
$tls Zielfeld für Drag&Drop genau einen Texte aus einer Liste $ZFle ja
$tlm Zielfeld für Drag&Drop von Texte aus einer Liste, es können auch mehrere in das Feld gezogen werden $ZFlm ja
$sls Liste von Texten für Drag&Drop, wobei jeder Eintrag nur einmal verwendet werden kann $EinfachListe ja
$slm Liste von Texten für Drag&Drop, jeder Eintrag kann auch in mehrere Zielfelder gezogen (kopiert) werden $MehrfachListe ja
$zo Eingabemöglichkeit für Zuordnungsaufgabe $Zuordnung ja
$fzo Eingabemöglichkeit für freie Zuordnungsaufgabe $FreieZuordung ja
$cs Eingabemöglichkeit für eine chemische Struktur   ja
$argu Eingabemöglichkeit für eine Argumentation $Arg, $Argument ja

Die ersten 6 Variablen dürfen höchstens einmal ein der Datei vorkommen, die restlichen hingegen auch mehrmals. Auf diese Weise können beliebig viele Eingabefelder verknüpft werden (Lückentext). Alle Variablen dürfen natürlich auch weggelassen werden, keine muss vorkommen.
Der ganze Text, der einer Variable folgt, wird als Belegung aufgefasst (auch mit Zeilenumbrüchen), bis die nächste Variable definiert wird.
Alle Zeichen vor dem Auftauchen der ersten Variablen (d.h. der ersten Zeile, die mit einem Dollarzeichen beginnt) werden überlesen und nicht ausgewertet. Auf diese Weise sind alle möglichen Arten individuell gestalteter Header möglich.

* Von verschiedenen Autoren wurden verständliche Variablennamen in Deutsch gefordert (natürlich ohne das es innerhalb dieser Gruppe zu einhellig akzeptierten Bezeichnern kam). Daher gibt es für jede Variable mehrere Namen, die alle beliebig verwendet werden dürfen.
Ich persönlich würde allerdings trotzdem die Verwendung der englischen Bezeichner empfehlen, weil diese nicht zu fehlerhaften Assoziationen bezüglich der Semantik verleiten.

2.2 Zeichenketten[Inhalt]

Zeichenketten sind stets einfachen oder doppelten Anführungszeichen (" oder ') eingeschlossen. Es sind beide Varianten möglich, aber nicht bei einer Zeichenkette gemischt. Es ist dabei auch erlaubt, dass die Zeichenfolge über mehrere Zeilen geht. Es ist dann jeweils nur zu Anfang und am Ende ein solches Begrenzerzeichen zu setzen.

$hints = "Überlegen Sie mal ..."; "Angenommen, es wären nur 4 Teile.";
         "Ein sehr langer Hinweistext, so dass er über die Zeile hinausgeht
         und auf der nächsten Zeile einfach weiter."

Mehrere Trennzeichen (Leerzeichen, neue Zeile, Tabulator) werden wie ein Leerzeichen gelesen. Es können also zur besseren Übersichtlichkeit Einzüge aus beliebig vielen Leerzeichen eingefügt werden. Wenn sie innerhalb des Textes Anführungszeichen und Hochkommas verwenden möchten, müssen Sie diesen einen invertierten Schrägstrich (\) (back slash) voranstellen:

$question = "Worum geht es in \"Faust I\" ?";
$hint = 'Überlegen Sie, was heißt: "We aren\'t sleeping." ?'

Wichtig: Wenn Sie im Text selbst einen invertierten Schrägstrich anzeigen wollen, müssen Sie dieses doppelt angeben. Dies ist z.B. bei Angabe von Verzeichnissen notwendig.

$solution = "Schauen Sie sich die Datei c:\\hilfe\\demo.doc an";

Manchmal ist es sinnvoll eine Zeichenkette zu definieren, die aber nichts enthält (z.B. bei der $answer-Variable: Wenn der Antwortteil gleich mit einem Eingabefeld beginnen soll, muss dort die erste Zeichnkette leer sein). Solche leeren Zeichenketten schreibt man einfach als "Zeichenkette mit nichts drin", also "" oder ''.

In der momentanen Version ist es auch gestattet, in den Zeichenketten HTML-Tags zu verwenden. Auf diese Weise können z.B. Tabellen erzeugt oder Bilder eingefügt werden. Beachten Sie auch hier, dass back slash's als zwei back slash's geschrieben werden müssen (z.B. <img src="c:\\grafik\\bild23.gif">).

2.3 Schalter für Variablen[Inhalt]

Für manche Variablen ist es möglich Zusatzangaben zu machen, und zwar mit Hilfe sogenannter Schalter. Ein Schalter ist ein Parameter in einer Variable, dessen Name mit einem Bindestrich beginnt. Ein Schalter selber kann auch wieder Parameter haben, dazu werden hinter den Namen Doppelpunkte gesetzt, also:

$variable = ... , ..., -schalter, ..., ...  bzw.
$variable = ..., ..., -schalter: Schalterparameter1, Schalterparameter2, ..., ...

# Textfeld mit strengem Vergleich
$st = 8; "had", -m:100%

# gestaffeltes Feedback zu systematischen Fehlern
$lt = 20; "gar nicht",
      -systerror: "garnicht", "gar nicht",
           "Prüfen Sie die Schreibweise.",
      "'Gar nicht' wird nicht zusammengeschrieben."

Die einzelnen Schalter sind bei den jeweiligen Variablen erklärt. An welcher Stelle der Schalter in der Parameterliste der Variable steht, ist beliebig.

2.4 Kommentare[Inhalt]

Zeilen, die mit einem Doppelkreuz (#) beginnen, werden als Kommentarzeilen aufgefasst und nicht ausgewertet.

# lustige EF-Datei
$solution = "Die Lösung ist eigentlich

# mittelst in der Zeichenkette ein Kommentar

            42." 

Der Variablen $solution wird also der Wert "Die Lösung ist eigentlich 42." zugeordnet

2.5 Bedeutung der Variablen[Inhalt]

Typ     Titel     Id-Kürzel     Fragetext     Hinweistexte     Lösungstext     Lösungsversuche     Antworttexte     Next     Karteikarte     Eingabefelder

Der folgende Abschnitt enthält eine detaillierte Beschreibung der Bedeutung der Variablen und welches Format die jeweilige Belegung haben muss.

2.5.1 $type - Der Typ[Inhalt]

$type legt den Typ der Aufgabe fest. Momentan ist sind nur vier Typen möglich, nämlich:

# Typ
$type = 
  Simple

Es ist zu beachten, dass das Wort Simple bzw. Multi bzw. Step bzw. Card nicht in Anführungszeichen eingeschlossen ist. Groß- und Kleinschreibung ist egal.
Wird der Typ innerhalb einer Aufgabe nicht angegeben, so wird die Aufgabe beim Vorhandensein von $card-Variablen als Card betrachtet, ansonsten abhängig vom Auftreten von $next-Variablen als Multi bzw. als Simple.

2.5.2 $title - Die Überschrift[Inhalt]

Mit $title kann einer Aufgabe eine Überschrift zugeordnet werden, die entsprechend der Anwendung mit angezeigt werden kann. Die Belegung ist eine Zeichenkette

# Klassische Aufgabe
$title = 
  "Das Schulmädchenproblem"

2.5.3 $id - Das Identifikationskürzel[Inhalt]

$id weist einer Aufgabe eine eindeutige Identifikationsnummer zu. Das ist speziell für die Auswertung von Papierversionen interessant. Als Kürzel kann eine beliebige Zeichenkette verwendet werden, die Sinnhaftigkeit bzw. Intuitivität dieses Kürzels liegt dabei voll in der Verantwortung des Autoren der Aufgabe.

# Testreihe 1
$id = 
  "MY56.98-99"

2.5.4 $question - Der Fragetext[Inhalt]

$question wird der Text der Frage als Zeichenkette zugeordnet.

# Frage
$question = 
  "Wieviele Tage hat ein Jahr?"

Drag&Drop im Fragetext

Für Drag&Drop-Anwendungen ist es auch möglich Textteile als "anklickbar" zu definieren. Dazu ist die Textstelle in doppelte eckige Klammern ([[ ... ]]) einzuschließen. Sie wird dann hervorgehoben angezeigt und kann anklickt werden. Siehe dazu Erklärungen bei $answer.

Bei Simple- und Multi-Aufgaben darf $question nur einmal vorkommen, bei Step- und Card-Aufgaben kann (und sollte) in jeder Teilaufgaben eine $question-Variable stehen.

2.5.5 $hints - Die Hinweistexte[Inhalt]

Mit $hints können Hinweistexte zugeordnet werden. Es handelt sich dabei aber wirklich nur nur um Hinweise, der letzte Hinweis sollte also nicht die Lösung enthalten, dafür gibt es die Variable $solution. Die Hinweise werden als Liste von Zeichenketten angegeben, durch Semikolon getrennt.

# Hinweise
$hints = 
  "Was fällt ihnen denn bei 'Ohm'sch ein?";
  "Ohmsches Gesetz, na?";
  "OK. Also Strom und Spannung sind in diesem Fall direkt proportional.";
  "Also gut: Der Strom verhält sich 'genauso' wie die Spannung."

Hinter dem letzten Listeneintrag kann ein Semikolon stehen, muss aber nicht.

2.5.6 $solution - Die Lösung[Inhalt]

$solution wird der Text zugeordnet, der angezeigt wird, wenn der Bearbeiter "aufgibt" und sich die Lösung anzeigen lässt.

# Lösung
$solution = 
  "Aufgrund der gegebenen Umstände kommt nur ein fixierter Quotenplan in Betracht."

Der Text ist lediglich kommentierender und begleitender Form, da die richtigen Eintragungen der Eingabefelder ebenfalls komplett angezeigt werden.
Normalerweise wird im Lösungsfenster der $solution-Text und daran angehängt automatisch die richtig ausgefüllten Eingabefelder angezeigt. Um auch unterhalb dieser Lösung Text auszugeben, kann bei $solution eine zweite Zeichenkette angegeben werden (durch Komma getrennt), die dann am Ende erscheint.
Um  nur Text unterhalb der automatischen Lösung anzugeben, verwenden Sie als erste Zeichenkette eine leere Zeichenkette und schreiben ihren Text in die zweite.

Schalter:

-noauto      Kein automatisches Anfügen der Eingabefelder

Normalerweise wird im Lösungsfenster der $solution-Text und daran automatisch angehängt die richtig ausgefüllten Eingabefelder und die $answer-Texte angezeigt. Dieser Schalter verhindert dieses Anhängen und es wird nur der $solution-Text angezeigt.
Dies ermöglicht es quasi, das Lösungsfenster zu "entlasten". Das ist mitunter bei komplexen Zuordnungsaufgaben ganz sinnvoll (um evtl. den Zeilen eine bestimmte Reihenfolge zu geben und dort direkt Zusatzkommentare anzubringen) oder bei einfachen Verifikationsaufgaben (da reicht  u.U. eine Darstellung des richtigen Sachverhalts).

2.5.7 $trial - Anzahl der Lösungsversuche[Inhalt]

$trial können zwei Zahlen zugeordnet werden:

Die Zahlen sind in dieser Reihenfolge, durch Komma getrennt anzugeben. Der zweite Wert kann auch entfallen (dann wird der Standardwert 0 angenommen. Wenn die $trial-Variable komplett fehlt, werden die Standardwerte verwendet

# Versuche
$trial = 6, 1 

Im Beispiel hat der spätere Aufgabenlöser (Schüler) also maximal 6 Lösungsversuche und der Knopf "Lösung anzeigen" wird erst nach dem 1. Lösungsversuch freigeschaltet.

Achtung: Entsprechen den Anwendungen in die die Aufgaben dann eingebunden werden, können diese Angaben auch (teilweise) ignoriert werden (z.B. TEE im ITS-Modus - nur ein Lösungsversuch)

2.5.8 $answer - Die festen Antwortexte[Inhalt]

$answer enthält die festen Antworttextteile, die zwischen den Eingabefeldern kommen. Deshalb ist die Belegung auch eine Liste von Zeichenketten, jeweils durch Semikolon getrennt.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
# Antwort
$answer = 
  "Ein Liter Wasser wiegt genau"; "kg."
$mcp =
  0, "0,5";
  1, "1,0";
  0, "2,45"

Die Antwort beginnt immer der ersten $answer-Zeichenkette, danach folgen abwechselnd ein Eingabefeld und ein $answer-Text, in Reihenfolge ihrer Definition in der Datei. Im Beispiel wird zwischen die beiden Zeichenketten ein Pull-Down-Menü eingeschoben. Wenn am Anfang oder zwischen zwei Eingabefeldern kein fester Text kommen soll, so fügt man als Antworttext eine leere Zeichenkette ("") ein.
Die Texte der $answer-Liste können auch "verteilt" definiert werden, um eine bessere Übersicht zu haben. Wichtig ist nur stets die Reihenfolge.   

# Antwort
$answer = 
  "Ein Liter Wasser wiegt genau"
$mcp =
  0, "0,5";
  1, "1,0";
  0, "2,45"
$answer = 
  "kg."

Dieser Quellkode beschreibt genau dieselbe Antwort.

Drag&Drop im Antworttext

Für Drag&Drop-Anwendungen ist es auch möglich Textteile als "anklickbar" zu definieren. Dazu ist die Textstelle in doppelte eckige Klammern ([[ ... ]]) einzuschließen.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
# Antwort
$answer = 
  "[[Nina]] liest ein [[Buch]] über [[Tiere]].<BR>
  Das Subjekt dieses Satzes lautet "
$tf = 80, 8, "Nina"

Die so gekennzeichneten Textstellen werden hervorgehoben angezeigt und können anklickt werden.

Pads im Antworttext

Auf ähnliche Weise Anzeigefelder für Pads einfügen (ein Pad ist eine grafisch aufbereitete Ausgabe eines $st-Feldes). Dazu ist an dieser Stelle der Pad-Bezeichner in doppelte eckige Klammern ([[ ... ]]) einzuschließen.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
# Alkohol
$answer =
 "Die verkürzte Strukturformel
  lautet [[@c:struk]]."
$st = "@c:struk", 16, "CH3_CH2OH"

Der Bezeichner eines Pads beginnt immer mit einem At-Zeichen (@) gefolgt von einem Buchstaben, der den Typ der Darstellung festlegt (z.B. c für Chemo-Pad). Dann kommt nach einem Doppelpunkt der "Fußnotentext" des Pads. Dieser muss eindeutig sein, d.h. darf in dieser Aufgabe kein weiteres Pad mit dem selben Fußnotentext geben.
Beim zugehörigen Kurztext-Feld wird dieser Bezeichner als erster Parameter als Zeichenkette angegeben. Sein Textinhalt wird dann im Pad (entsprechend des Typs des Pads)  dargestellt.

Siehe dazu auch Kurztext mit zugeordnetem Pad und Pads

2.5.9 $next - Trenner zwischen Teilaufgaben[Inhalt]

Die Variable $next ist nur in MULTI-Aufgaben, STEP-Aufgaben und Card-Aufgaben erlaubt. Sie trennt die EF-Datei in die Bereiche der einzelnen Teilaufgaben. Eingabefelder, feste Antworttexte, Hinweise und Lösungstexte gelten dann nur für die Teileaufgabe, in der sie definiert sind.
Der Variablen $next müssen keine Parameter zugeordnet werden.

$type = MULTI
$question = "Beantworten Sie folgende Fragen zu Harry Potter!"
  
# Erste Teilaufgabe

$answer = "Haarfarbe:"

$mcr = 0, "blau";
       1, "schwarz";
       0, "blond";
       0, "rot"

$hints = "Schau mal auf den Buch-Einband"

$solution = "Harry hat schwarzes wirres Haar."

$next
 
# Zweite Teilaufgabe

$answer = "Wer sind Harrys Freunde?"

$mcx = 1, "Hermione";
       0, "Pippi Langstrumpf";
       1, "Ron"

$hints = "Es ist ein schlaues Mädchen und ein nicht so schlauer Junge."

$solution = "Hermione und Ron sind Harrys beste Freunde."

$next
  
# Dritte Teilaufgabe

$answer = "Der Oberbösewicht heißt "

$mcp = 0, "MC";
       1, "Lord";
       0, "Graf"

$answer = " "

$mcp = 0, "de Hutt";
       0, "Dracula";
       1, "Voldemort";
       0, "Zahl";
       0, "Donalds"

$hints = "Ihm hat Harry die blitzförmige Narbe zu verdanken."

$solution = "Lord Voldemort taucht in den bisherigen Bänden
            immer als Oberfiesling auf."

Der Text von $question taucht bei Multi-Aufgaben nur einmal auf, bei Step- und Card-Aufgaben darf er in jedem Abschnitt einmal vorkommen.

Siehe auch Beispiel multi1, Beispiel multi2, Beispiel step und Beispiel card.

2.5.10 $card - Name und Abhängigkeit von Karteikarten bei Card-Aufgaben[Inhalt]

Die Variable $card ist nur in Card-Aufgaben erlaubt. Sie darf in jedem durch der durch $next abgetrennten Abschnitte genau einmal vorkommen. Als ersten Parameter gibt man als Zeichenkette den Namen der Karteikarte an der dann später auf dem Karteireiter erscheinen soll. Danach kann man durch Komma getrennt die Nummern der Karten angeben, von der die Karteikarte "abhängt" (Zählung beginnt bei 1). Das bedeutet, dass die Karteikarte erst freigeschaltet wird, wenn die Karteikarten, von der sie abhängt gelöst wurden.

# CARD-Typ Aufgabe
$type = card
# Erste Teilaufgabe

$card = "Völker"

$question =
"Gegen wen verteidigten sich die Trojaner?"

$answer = "Gegen die "

$mcr =
0, "Perser";
1, "Griechen";
0, "Römer";
0, "Babylonier und Medeer."

$next
 
# Zweite Teilaufgabe

$card = "Könige"

$question = "Wer waren die Könige der beiden Heere?"

$answer = "Trojaner: "

$st = 20, "Priamos"

$answer = "<BR>Griechen: "

$st = 20, "Agamemnon"

$next
  
# Dritte Teilaufgabe

$card = "Story", 1

$question = "Fülle die Lücken!"

$answer = "Der Legende nach war der Anlass des Trojanischen Krieges der Raub der schönen "

$mcp =
1, "Helena";
0, "Aphrodithe";
0, "Iphigenie";
0, "Paris"

$answer = " durch "

$mcp =
0, "Odysseus";
0, "Hector";
0, "Iphigenie";
1, "Paris"

$answer = ", welcher ein Sohn des Trojanischen Königs Priamos war. Ihr Ehemann "

$mcp =
0, "Laertes";
1, "Menelaos";
0, "Agamemnon";
0, "Memnon"

$answer = " zog darauf hin mit den vereinten Griechen gegen Troja."

Im angegebenen Beispiel ist die dritte Karteikarte ("Story") von der ersten ("Völker") abhängig, wird also erst freigeschaltet, wenn die erste Karteikarte bearbeitet wurde.

Aussehen in HTML (EF-Editor)

Siehe auch Beispiel card.

2.5.11 Eingabefelder[Inhalt]

Gebundene Antwortformate     Offene Antwortformate     Targets     Quell-Listen     Zusammengesetzte Formate (Makros)     Chemische Struktur     Argumentation     Kombination von Eingabefeldern

In den Eingabefeldern können bei der Bearbeitung der Aufgaben die Lösungen eingetragen bzw. Ausgewählt werden. Sie bilden also den interaktiven Teil der Aufgaben. Eine Aufgabe kann mehrere Eingabefelder enthalten, zwischen diese wird dann jeweils ein Text der $answer-Variablen geschoben.

Prozentangaben:
Bei den Variablen für Eingabefelder ist optional als erster Parameter eine Prozentangabe erlaubt (eine ganze Zahl, gefolgt von einem Prozentzeichen, danach Komma). Mit diesen Angaben können die Eingabefelder gewichtet werden. Hat man z.B. in einer Aufgabe zwei Eingabefelder, von denen die erste den Schwerpunkt bildet und 75% der Punkte (Wertung o.ä.) ausmachen soll, dann gibt man bei der ersten als Prozentangabe 75% und bei der zweiten 25% an. Bei mehreren Eingabefeldern analog.
Die Bezeichnung "Prozent" ist aber nicht im strikten Sinne zu verstehen: die Summe der Prozente einer Aufgabe muss nicht immer 100% sein. In diesem Fall werden die Werte verhältnismäßig umgerechnet. Im obigen Beispiel hätte man also auch 300% und 100% oder 3% und 1% angeben können, die Bedeutung hätte sich nicht geändert.
Wenn die Prozentangabe weggelassen wird, geht das Eingabefeld immer mit 100% ein.

-fHints: Hinweistext1, Hinweistext 2, ...    Eingabefeldspezifische Hinweise:
Jedem Eingabefeld können Extrahinweise zugeordnet werden (i.d.R. erscheint dann ein kleiner Knopf neben dem Feld). Dies geschieht über den Schalter -fhints, der bei allen möglichen Eingabefeldern mit angegeben werden darf. Nach diesem Schalter gibt man dann die Hinweistexte als Zeichenketten an.

$answer = 
      "Auf dem Bild sieht mal folgende Personen: Links: "
$st = "Egon", "Egon Olsen";
      -fhints: "Er hatte immer den Plan.",
      'Am Anfang des Filmes wird er gewöhnlich im "Kittchen" abgeholt.",
      "Dort landet er am Endes des Films auch meistens wieder." 
$answer = " Mitte:
$st = "Benny", "Benny Frandsen";
      -fhints: 'Er sagt immer "Mächtig gewaltig!"',
      "Er kann alle möglichen Maschinen und Fahrzeuge bedienen."
$answer = " Rechts: "
$st = "Kjeld", "Kjeld Jensen";
      -fhints: "Hat immer die Hebammentasche dabei...",
      "...und ist mit Yvonne verheiratet."

Hinweis: Es empfiehlt sich, diesen Schalter immer als allerletzten Parameter einer Eingabefelddefinition zu verwenden, damit es nicht zu Mehrdeutigkeiten kommt,
z.B. bei

$st =
  "J. W. Goethe"; -fhints: "Denken sie an Faust.";
  "Johann Wolfgang Goethe"

Wäre das "Johann Wolfgang Goethe" keine alternative Antwort sondern ein Feldspezifischer Hinweis (was aber wahrscheinlich nicht im Sinne des Aufgabenstellers lag, also richtiger:

$st =
  "J. W. Goethe"; "Johann Wolfgang Goethe";
  -fhints: "Denken sie an Faust."; 

Siehe auch Beispiel fhints.

-info: Tooltip-Text      Tooltip-Informationen:
Kürzere Informationen und Hinweise können auch über Tooltips angegeben werden. Diese erscheinen später beim Überfahren mit der Maus bzw. als Fußnoten. Das ist auch besonders zum Zuordnen von Eingabefeldern sinnvoll.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer =
  "Die Summenformel für Ethanol ist [[@C:alk]]."
$st =
  "@c:alk", 20, "C2H5OH",
  -info:"Tippen Sie hier die Summenformel ein."

Beim Wordrätsel-Pad wird die -info-Angabe auch auf dem Kreuzworträtsel mit angezeigt.

-name: name      Name des Eingabefeldes
Zur Identifizierung in nachgeschaltete Auswertungswerkzeuge können Sie den Eingabefeldern eindeutige Namen geben werden.

$answer = 
  'Der entstehende Wasserstoff stammt ausschließlich von '
$st = 
  20%, 12, 'Schwefelsäure', 'H2SO4' -name: Wasserstoffquelle
$answer =
  '. Somit muss die Masse des Oxidationsmittels '
$st = 
  20%, 12, 'Schwefelsäure', 'H2SO4' -name: Oxidationsmittel
$answer = 
  ' bei der Bildung von Eisen(III)-sulfat '
$mcp = 30%,
  0, '?';
  0,'kleiner';
  0,'größer';
  1,'gleich groß', -name: Massenverhältnis H2SO4
$answer = ' sein als wie bei der Bildung von Eisen(II)-sulfat. 

2.5.11.1 Gebundene Antwortformate[Inhalt]

MC Radio Buttons     MC Pull Down Menu     MC Extended     MC Scale     MC Analog     Verifikation

Es gibt momentan 3 Muliple Choice-Formate und ein Verifikationsformat. Die MC-Formate unterscheiden sich nur in Hinsicht auf ihre Erscheinung in den Anwendungen. $mcr definiert ein Multiple Choice-Feld, bei dem genau eine Antwort richtig ist, $mcp stellt die Auswahl als Pull-Down-Menü dar und $mcx erlaubt mehrere richtige Antworten. Die Belegung besteht jeweils aus den Festlegungen der einzelnen Items, die jeweils durch Semikolon getrennt sind. Ein Item besteht aus 0 oder 1 (jenachdem, ob dieses Item als Antwort richtig oder falsch ist), und einer Zeichenkette, die den Text des Items beschreibt (durch Komma getrennt).

# Multiple Choice
$question =
  "Woraus besteht Bronze?"
$mcx = 
  0, "Eisen";
  1, "Kupfer";
  1, "Zinn";
  0, "Zink";
  0, "Messing"

2.5.11.1.1 $mcr - Multiple Choice mit Optionsknöpfen (Multiple Choice Radio Buttons)[Inhalt]

$mcr definiert ein Multiple Choice-Feld, bei dem genau eine Antwort richtig ist.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer =
  "Die Spannung U<Sub>1</Sub>"

$mcr =
  0, "steigt.";
  1, "fällt.";
  0, "bleibt konstant."

Schalter:

-cols: xxx (columns) Anordnen in mehreren Spalten
Mit dieser Zusatzangabe können Sie den Compiler anweisen, die Eingabefelder in mehreren Spalten anzuordnen. Geben Sie dazu die Anzahl der Spalten an; dies ist besonders dann sinnvoll, wenn es sehr viele Alternativen gibt.

$answer = 
 'Welche in welchem Land liegt Dresden?'
$mcr =
  0, "Brandenburg"; -cols: 2;
  0, "Niedersachsen";
  0, "Hessen";
  1, "Sachsen";
  0, "Bayern";
  0, "Berlin"

Trick: Beim EF-Editor erzwingt die cols-Angabe bei der HTML-Ausgabe eine saubere Links-Ausrichtung der Texte an den Eingabefeldern und  verhindert so ein unübersichtliches ausfransen von längeren Texte. In diesem Fall lohnt sich also ein (scheinbar nutzloses) -cols:1

-inline  Anordnen im Fließtext
Normalerweise wird für einen MCR-Block ein neuer Absatz erzeugt. Wenn aber -inline angegeben ist, werden die Auswahlfelder hintereinander direkt im Fließtext der Answer-Texte angezeigt. Auf diese Weise kann man Wahlmöglichkeiten direkt in den Text einbetten.

-systerror: Feedbacktext1, Feedbacktext2, ... (systematic error) Feedback zu systematischem Fehler
Für typische Fehler können Hinweistexte angegeben werden, die angezeigt werden, wenn der Schüler fälschlicherweise diese Alternative wählt. Der Schalter ist direkt in oder nach der zugeordneten Alternative zu notieren. Sind mehrere Hinweise angegebene, erscheinen diese nacheinander, wenn der Schüler bei dieser falschen Wahl bleibt. D.h. die Hinweise sollten dann immer eindeutiger werden.

$answer = 
 'Was ist Hauptstadt der Niederlande?'
$mcr =
  0, "Amsterdam";
    -systerror: "Amsterdam ist zwar die größte Stadt der Niederlande, aber nicht die Hauptstadt";
  1, "Den Hag";
  0, "Brüssel";
    -systerror: "Überlegen Sie, wo Brüssel genau liegt.",
      "Was ist die Hauptstadt von Belgien",
      "Brüssel ist die Hauptstadt von Belgien."
;
  0, "Rotterdam"

Siehe auch Beispiel mcr.

2.5.11.1.2 $mcp - Multiple Choice mit Pull-Down-Menü (Multiple Choice Pull Down)[Inhalt]

$mcp definiert ein Multiple Choice-Feld als Pull-Down-Menü, bei dem genau eine Antwort ausgewählt werden kann. Auf diese Weise können relativ kompakte Antworttexte erzeugt werden.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer =
  "Das Erzgebirge ist ein "
$mcp =
  0, "Hochgebirge";
  1, "Mittelgebirge";
  0, "Hügelgebirge"
$answer =
  ", welches der Entstehung nach ein "
$mcp =
  0, "Faltengebirge";
  1, "Bruchschollengebirge"
$answer =
  "ist, das sich im "
$mcp =
  1, "Tertiär";
  0, "Quartär";
  0, "Jura"
$answer =
  " heraushob."

Schalter:

-systerror: Feedbacktext1, Feedbacktext2, ... (systematic error) Feedback zu systematischem Fehler
Für typische Fehler können Hinweistexte angegeben werden, die angezeigt werden, wenn der Schüler fälschlicherweise diese Alternative wählt. Der Schalter ist direkt in oder nach der zugeordneten Alternative zu notieren. Sind mehrere Hinweise angegebene, erscheinen diese nacheinander, wenn der Schüler bei dieser falschen Wahl bleibt. D.h. die Hinweise sollten dann immer eindeutiger werden.

$answer = 
  "Scotts men are said to grow "

$mcp = 
  0, "   ?    ";
  0, "corn";
  0, "wheat";
  1, "oats"

$answer = 
  " and to breed "

$mcp =
  0, "   ?   ";
  1, "sheep";
  0, "cattle";
  0, "donkeys";
  1, "sheeps";
    -systerror: "Fast richtig.",
      "Die Pluralform ist nicht korrekt",
      "Ohne 's'.";
      "Die Mehrzahl von 'sheep' ist 'sheep'."
;
  0, "cows"

Siehe auch Beispiel mcp.

2.5.11.1.3 $mcx - Multiple Choice mit Checkboxen (Multiple Choice Extended)[Inhalt]

$mcx definiert ein Multiple Choice-Feld, bei dem mehrere Möglichkeiten "angekreuzt" werden können.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer =
  "Messing besteht aus"

$mcx =
  0, "Siber";
  1, "Zink";
  0, "Bronze";
  1, "Kupfer";
  0, "Quecksilber"

Schalter:

-cols: xxx (columns) Anordnen in mehreren Spalten
Mit dieser Zusatzangabe können Sie den Compiler anweisen, die Eingabefelder in mehreren Spalten anzuordnen. Geben Sie dazu die Anzahl der Spalten an; dies ist besonders dann sinnvoll, wenn es sehr viele Alternativen gibt.

$answer = 
 'Welche Farben hat die Flagge der BRD?'
$mcx =
  0, "blau"; -cols: 2;
  1, "rot";
  0, "grün";
  0, "weiß";
  1, "schwarz";
  1, "gold"
  0, "silber"
  0, "bronze"
  0, "türkis"

Trick: Beim EF-Editor erzwingt die cols-Angabe bei der HTML-Ausgabe eine saubere Links-Ausrichtung der Texte an den Eingabefeldern und  verhindert so ein unübersichtliches ausfransen von längeren Texte. In diesem Fall lohnt sich also ein (scheinbar nutzloses) -cols:1

-inline  Anordnen im Fließtext
Normalerweise wird für einen MCX-Block ein neuer Absatz erzeugt. Wenn aber -inline angegeben ist, werden die Auswahlfelder hintereinander direkt im Fließtext der Answer-Texte angezeigt. Auf diese Weise kann man Wahlmöglichkeiten direkt in den Text einbetten.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer =
  "Auf der Ampel gibt es kein "
$MCX =
  0, "gelb /";
  1, "blau."; -inline

# verschärfteres Beispiel:
# ein Satz als $MCX

$answer =
  "Klicke in diesem";

$MCX =
  0, "wunderschönen";
  1, "Satz";
  0, "alle";
  1, "Substanive";
  0, "an."; -inline

-strict  Strikte Auswertung
Standardmäßig werden bei der Auswertung von $mcx die  Wahlmöglichkeiten, die nicht angekreuzt werden sollen (0), nicht mit einbezogen; es sei denn Sie wurden fälschlicher Weise angekreuzt, dann gelten Sie natürlich als Fehler. Auf diese Weise wird verhindert, dass z.B. im obigen Beispiel "Messing", wenn der Nutzer gar nichts tut und nichts ankreuzt die Meldung "Zu 60% richtig." kommt (denn Silber, Bronze und Quecksilber sind ja richtiger Weise nicht angekreuzt).
In einigen Fällen ist es aber genau dieses seltsame Verhalten wünschenswert, z.B. wenn die Auswahl nur aus einer Möglichkeit besteht, die man ankreuzen soll (oder nicht) oder wenn alle Einträge nicht angekreuzt werden sollen. Die obige reguläre Auswertung würde dann nur unsinnige Werte ergeben. Um diese zu unterdrücken kann man den Schalter -strict angeben: dann werden nicht angekreuzte Möglichkeiten die vom Nutzer nicht angekreuzt wurden direkt in die Auswertung mit einbezogen.

-systerror: Feedbacktext1, Feedbacktext2, ... (systematic error) Feedback zu systematischem Fehler
Für typische Fehler können Hinweistexte angegeben werden, die angezeigt werden, wenn der Schüler fälschlicherweise diese Alternative wählt bzw. vergisst. Der Schalter ist direkt in oder nach der zugeordneten Alternative zu notieren. Sind mehrere Hinweise angegebene, erscheinen diese nacheinander, wenn der Schüler bei dieser falschen Wahl bleibt. D.h. die Hinweise sollten dann immer eindeutiger werden.

$answer = 
 'Welches Obst sind Nüsse?'
$mcx =
  0, "Erdnuss";
    -systerror: 'Überlegen Sie, wie die Frucht der Erdnuss aussieht.',
      "Nicht alles was Nuss heißt muss auch eine sein.",
      "Erdnüsse sind Hülsenfrüchte."
;
  1, "Walnuss";
  1, "Erdbeere";
    -systerror: "Überlegen Sie, was Beere im biologischen Sinne meint.",
      "Erdbeeren sind tatsächlich Nüsse."
;
  0, "Kokosnuss"

Siehe auch Beispiel mcx.

2.5.11.1.4 $mcs - Multiple Choice als Skala (Multiple Choice Scale)[Inhalt]

$mcs definiert ein Multiple Choice-Feld als querliegende Skala und ist für Rating-Abfragen in Fragebögen gedacht. Dementsprechend gibt es auch keine vorgegebene richtige Lösung. Als Parameter werden die Anzahl der Abstufungen, und (getrennt durch Semikolon) der Name für das linke und rechte Label angegeben (jeweils durch Komma getrennt)

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer =
  "Die Bearbeitung der Aufgaben
  fiel mir leicht."

$mcs =
  5; "stimme zu", "stimme nicht zu"
$MCS

Es ist auch möglich, noch eine dritte Zeichenkette anzugeben, die dann jeweils zwischen zwei "Stufenknöpfen" erscheint. Damit kann man die Skale optisch strecken, bzw. auch Tabellen Spalten zwischen ihnen einfügen.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$mcs = 5;
  "wahrscheinlich", "unwahrscheinlich" " "
$mcs = 5;
  "möglich", "nicht möglich", " = "
$MCS

Siehe auch Beispiel mcs.

2.5.11.1.5 $mca - Multiple Choice als Schieberegler (Multiple Choice Analog)[Inhalt]

$mca definiert einen querliegenden Schieberegler, der besonders für Fragebögen gedacht ist. Es können eine Vielzahl von Parametern angegeben werden (alle mit Komma getrennt). die allgemeine Form wäre:

    Bemerkungen
$mca = Breite, Höhe, Breite und Höhe des Reglers in Pixeln
  "Text am linken Ende",
"Text am rechten Ende",
Text der links bzw. rechts am Skalenende erscheint
  Wert am linken Ende,
Wert am Rechten Ende,
Werte, die der Regler annehmen soll, wenn der Zeiger ganz links bzw. ganz rechts steht. Auf diese Weise können Sie die Items nach belieben polen (auch negative Werte möglich). In den Zwischenstellungen wird der Reglerwert ganzzahlig linear interpoliert.  
  Skalenteilung, Gibt an, in wie viele Teile der Regler (optisch) geteilt werden soll), fehlt dieser Wert oder ist kleiner als eins, so wird keine Skale angezeigt.
  Lösungswert, Lösungsabweichung, Obwohl der Regler eher für Fragebögen gedacht ist, kann man ihm einen "Lösungswert" zuordnen, der dann +/- Lösungsabweichung als "Richtig" bewertet wird; diese Werte können auch entfallen
  "Hintergrundfarbe",
"Reglerfarbe",
"Regler in Bewegung-Farbe",
Um den Regler farblich in die Aufgabe einzubetten, können die verwendeten Farben angegeben werden, und zwar als HTML-Farbkode (#RRGGBB, Gatterzeichen und drei Hexadezimalwerte für Rot-, Grün- und Blauanteil) oder als drei Zahlen (jeweils von 0 bis 255, durch Komma getrennt),  die ebenfalls den Rot-, Grün- und Blauanteil angeben. Diese Angaben können auch z.T. weggelassen werden, es wird dann immer die vorhergehende Farbe verwendet. Fehlt die Angabe komplett, ist der Regler Hellgrau.
  Farbbalkenhöhe,
Farbbalkenmitte,
"Farbbalkenfarbe links",
"Farbbalkenfarbe rechts"
Zur optischen Veranschaulichung der Werte kann über dem Regler ein Farbbalken angezeigt werden, der dem Reglerausschlag entspricht. Wenn der Mittelpunkt des Balkens (Punkt des Farbumschlages) sich vom Nullpunkt des Reglers unterscheiden soll, kann dies über die Farbbalkenmitte angegeben werden (bezügl. Wert am linken und rechten Ende). Die Farben werden wie bei den anderen Farb-Parametern angegeben. Diese Werte können auch komplett oder teilweise entfallen.
Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer =
  "Würden Sie lieber mit
  Multimedia lernen als mit
  Büchern?"

$mca =
  217, 37,
  "ja, sehr gern",
  "nein, überhaupt nicht",
  10, 0, 10,
  "#F5F5DD"
$MCS

Der Regler ist 217 Pixel breit und 37 Pixel hoch, am linken Ende des Reglers steht "ja sehr gern", am rechten steht "nein, überhaupt nicht".
Wenn der Regler ganz links steht ("ja, sehr gern"), hat er den Zahlenwert 10, steht er ganz rechts ("nein, überhaupt nicht"), dann hat er den Zahlenwert 0, d. h. die Zuordnung "Reglerausschlag - Reglerwert" entspricht der nebenstehenden Grafik.
Eingeteilt ist der Regler in 10 Skalenteile, d.h. es werden 11 Skalenstriche angezeigt (10+1).
Dem Regler ist keine korrekte Lösung zugewiesen (hat also mehr Fragebogen-Charakter, die Werte könnten aber z.B. per Mail verschickt werden. Es würde dann der Zahlenwert des Reglers (ein Wert von 10 bis 0) übertragen werden.
Als letztes ist noch als Hintergrundfarbe #F5F5DD angegeben (das entspricht einem blassen Gelb).

Beispiel mit Lösungswerten (korrekte Lösung):
Es ist auch möglich, eine korrekte Lösung für den Regler vorzugeben, so dass die Nutzereingabe geprüft werden kann. Da es schwierig sein dürfte, den Regler absolut genau einzustellen, kann man auch eine zulässige Abweichung angeben (Toleranz).

$mca = 217, 37, "überhaupt nicht", "sehr gut", -5, 5, 10, 2, 1, "#F5F5DD"

Der Regler ist wieder 217 Pixel breit und 37 Pixel hoch, die Texte sind  "überhaupt nicht" und "sehr gut", und entsprechen einem Wert von -5 bzw.  +5 (siehe Grafik). Es gibt wieder 10 Skalenteile.
Die korrekte Lösung ist 2, wobei eine Abweichung von 1 erlaubt ist. Wenn der Regler also innerhalb des grünen Ovals steht, wird er als "korrekt" gewertet.
Als letztes ist noch die Hintergrundfarbe #F5F5DD ( blasses Gelb).

Schalter:

-xMargin:xxx       Randbreite links und rechts
Mit dieser Zusatzangabe können Sie angeben, wie groß der des Balkens von  den seitlichen Rändern sein soll (in Pixeln). Wenn die Texte für die Skalenenden etwas länger sind (wie im obigen Beispiel das "überhaupt nicht"), werden diese im Normalfall unschöner Weise Richtung Mitte verschoben. Um diesen Effekt auszugleichen, können Sie mit diesem Schalter den Rand verbreitern.

-start:xxx       Startwert des Reglers
Dieser Schalter positioniert den Regler am Anfang auf den angegebenen Wert. Ansonsten steht der Regler standardmäßig in der Mitte.

-midlabel: "label1;label2;..."       Beschriftung der (inneren) Skalenstriche
Mit diesem Schalter können sie die Skaleneinteilung beschriften. Geben Sie dazu die gewünschten Labels (von links nach rechts) getrennt durch Semikolon an. Z.B. erzeugt

$mca = 217, 37, "0", "100", 0, 100, 4, 25, 5, "#F5F5DD", -midlabel: "25;50;75"

eine durchgehende Skale mit der Beschriftung: 0 - 25 - 50 - 75 - 100.

Siehe auch Beispiel mca.

2.5.11.1.6 $vr - Verifikation (Verification)[Inhalt]

$vr ist eigentlich nur eine vereinfachte Form von Multiple Choice: Es gibt genau zwei mögliche Antworten, nämlich "richtig" oder "falsch". Die Darstellung unterscheidet sich jedoch von einem $mcr-Feld. Als Wert ist bei $vr eigentlich nur lediglich "1" oder "0" anzugeben, jenachdem ob die exakte Lösung "richtig" (1) oder "falsch" (0) lautet.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer = 
  "Eisberge sind schlecht für die Titanic."
$vr =
  1

Im angegebenen Beispiel ist also "richtig" die korrekte Lösung.

Alternative Labels: Für manche Fragen sind die Bezeichnungen "richtig" und "falsch" eher ungeeignet und man möchte Sie gern durch andere Worte ersetzt haben (z.B. "ja" - "nein"; "sicher" - "nicht sicher"); Man kann daher die gewünschten Label als 2. und 3. Parameter bei $vr mit angeben (von 0/1 durch Semikolon, und selber durch Komma getrennt) (ab EF-Editor Version 0.23)

$answer =
  "Liegt Dresden an der Elbe?"
$vr =
  1; "ja", "nein"
$answer =
  "Ist Stan größer oder kleiner als Olli?"
$vr =
  1; "größer", "kleiner"

Schalter:

-inline  Anordnen im Fließtext
Normalerweise wird für einen VR-Block ein neuer Absatz erzeugt. Wenn aber -inline angegeben ist, werden die Auswahlfelder hintereinander direkt im Fließtext der Answer-Texte angezeigt. Auf diese Weise kann man Wahlmöglichkeiten direkt in den Text einbetten.

Siehe auch Beispiel vr.

2.5.11.2 Offene Antwortformate[Inhalt]

Langer Text     Kurzer Text     Längerer Text

Bei offenen Formaten muss bei der Bearbeitung die Lösung als Text eingegeben werden. Momentan gibt es ein Format für längere Text, die aber nicht auf Korrektheit geprüft werden können und ein Format für kurze Texte, die mit einer Synonymliste verglichen werden können.

2.5.11.2.1 $memo - Langer Antworttext[Inhalt]

$memo definiert ein Eingabefeld für einen kurzen Text. Die Belegung besteht aus zwei Zahlen, nämlich der Breite und Höhe (in Zeichen) und einer oder mehrerer Zeichenketten, die beispielhaft richtige Lösungen angeben. Werte sind durch Komma getrennt. Innerhalb der Lösungen können durch doppelte eckige Klammern [[ ... ]] Schlüsselwörter/-wortgruppen festgelegt werden. In diesem Fall wird beim späteren Bearbeiten einer Aufgabe das $memo-Feld ausgewertet und nach diesen Schlüsselwörtern durchsucht, ansonsten erfolgt keine Überprüfung der Eintragung.
Innerhalb der Schlüsselwortfestlegung können durch Doppelschrägstriche [[ ... // ... // ... ]] auch Alternativen festgelegt werden.

Beispiel-Quellkode (ohne Lösungsvergleich) Aussehen in HTML (EF-Editor)
$question =
  "Wofür wurde Sir W. J. Badminton
  nach der Schlacht bei Waterloo geadelt?
  Erläutern Sie die Umstände!"

$memo =
  40, 5,
  "Nun, ich weiß selbst nicht, ob es
  jemals eine solche Person gab."

Bei diesem Beispiel wird der Eintrag des Nutzers später nicht mit einer Musterlösung verglichen.

mit Lösungsvergleich:

Beispiel-Quellkode (mit  Lösungsvergleich) Aussehen in HTML (EF-Editor)
$question =
  "Erkläre bitte, wie ein Regenbogen entsteht!"

$memo =
  40, 7,
  "Wenn es [[regnet//Regen]] und
  [[gleichzeitig//zugleich]] die
  [[Sonne]] scheint, kommt es zu
  [[Lichtbrechung//Spektralzerlegung]]
  an den Regentropfen. Dadurch
  entsteht der Regenbogen."

In diesem Beispiel wird getestet ob im Antworttexte die Worte "regnet" oder "Regen", "gleichzeitig" oder "zugleich", "Sonne" und "Lichtbrechung" oder "Spektralzerlegung" vorkommen.
Es können auch mehrere solche Antworttexte angegeben werden, in diesem Fall würde dann die Variante zur Auswertung herangezogen, in der die meisten Schlüsselwörter übereinstimmen.
Als Lösung (bei "Lösung anzeigen") wird die erste dieser Zeichenkette angegeben (bei Schlüsselwörtern mit Alternativen wird auch immer die erste angezeigt). Im obigen Beispiel wäre das "Wenn es regnet und gleichzeitig die Sonne scheint, kommt es zu Lichtbrechung an den Regentropfen. Dadurch entsteht der Regenbogen."

Wenn die Texte länger und komplexer werden, ist die maschinelle Bewertung der Korrektheit mitunter etwas problematisch: eigentlich ist es für Computer unmöglich herauszufinden, ob die Antwort stimmt. Der EF-Editor bietet hier die Versendung der Antwort als e-mail an.

Siehe auch Beispiel memo1, Beispiel memo2.

2.5.11.2.2 $st - Kurzer Antworttext (Short Text)[Inhalt]

$st definiert ein Eingabefeld für einen kurzen Text. Die Belegung besteht aus einer Zahl und, getrennt durch ein Komma, einer Folge von Zeichenketten, die jeweils richtige Lösungen angeben. Diese müssen ebenfalls durch Kommas getrennt sein. Es ist also möglich, mehrere Antworten als richtig gelten zu lassen (im unteren Beispiel ist im zweiten Eingabefeld also "Pfefferkuchen" und "Lebkuchen" richtig).

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer = 
  "Das Haus der bösen "
$st =
  8, "Hexe"
$answer =
  " war ganz aus "
$st =
  14; "Pfefferkuchen", "Lebkuchen"
$answer =
  " gebaut."

Der Vergleich der eingegebenen Worte mit der richtigen Antwort sollte in den Anwendungen rücksichtsvoll gegenüber kleinen Rechtschreibfehlern sein. Dies ist aber keine Thematik des Exercise Formats. Der EF-Editor verwendet hierbei z.B. einen Vergleich, der Groß- und Kleinschreibung ignoriert, auf 90%ige Richtigkeit der Buchstabenfolge prüft und führenden und folgenden Leerzeichen gegenüber unempfindlich ist. Unsere (begrenzten) Erfahrungen haben gezeigt, das diese Methode einigermaßen tragbar ist.
Wenn Sie ein Wort  ausschließen möchten, das einem Lösungswort sehr ähnlich ist, geben Sie dieses mit einem vorangestelltem Ausrufezeichen an, z.B. 

$answer = 
  "Das ist ein "
$st =
  14; "angenehmer", "!unangenehmer"
$answer =
  " Reiz."

Bei diesem Beispiel ist also "angenehmer" die richtige Lösung. Unter Umständen würde "unangenehmer" auch als richtig gewertet, da es der richtigen Lösung sehr nahe kömmt. Damit dies nicht geschieht, wurde "!unangenehmer" explizit angegeben. Sie können natürlich auf diese Art auch mehrere Worte ausschließen.

Schalter:

 -m: xxx% (match) Genauigkeit des Zeichenkettenvergleichs
Mit dieser Zusatzangabe können Sie in Prozent angeben, wie genau der Zeichenkettenvergleich sein soll. Was die Prozentangaben tatsächlich bedeuten müssen Sie evtl. ausprobieren, sicher ist nur, dass 100% einen ganz genauen Vergleich liefert (bis auf Groß- und Kleinschreibung). Das ist z. B. bei Fremdsprachen mitunter erforderlich.

$answer = 
  "Übersetzen Sie 'Ich war hier.'!"
$st =
  30; "I was there.", "I was here."; -m:100%

Achtung: Leerzeichen und Tavulatoren sind von dieser Regelung generell ausgeschlossen, d.h. "I was                               there." wird genauso als richtig gewertet.

 -strictCase    Genaue Unterscheidung von Groß- und Kleinschreibung
Normalerweise wird beim Lösungsvergleich die Groß- und Kleinschreibung ignoriert. Mit diesem Schalter kann dies verhindert werden, was z.B. bei Satzanfängen, Akronymen oder zur Unterscheidung von Substantiven und Namen sinnvoll sein kann.

 -strictUml    Keine Umschreibung von Umlauten zulassen
Bei Textfeldern wird normalerweise zugelassen, dass z.B. "ä" als "ae" oder "ß" als "ss" geschrieben wird und umgekehrt. Mit diesem Schalter kann diese Gleichsetzung ausgeschaltet werden, z.B. bei Rechtschreibübungen oder Fremdsprachen wichtig.

 -number    Eingabefeld für Zahlen (Automatische Prüfung)
-number:
xxx
-number:
xxx%
Ist dieser Schalter gesetzt, so wird später die Eingabe des Nutzers geprüft, ob sie eine Zahl ist. Gegebenenfalls wird er auf Tippfehler hingewiesen, bevor der Wert auf Richtigkeit geprüft wird. Außerdem werden dann Exponentialdarstellungen (z.B. 1.4e-4) oder verschiedene Dezimalzeichen (also 1,5 oder 1.5)  automatisch erkannt und richtig umgewandelt.
Optional kann auch eine Toleranz mit angegeben werden (prozentual oder absolut), bis zu welcher die Eingabe als richtig gewertet wird.

# einfache Prüfung auf Zahl
$answer = 
  "Kolumbus entdeckte Amerika im Jahre "
$st =
  5; "1492"; -number
# falls der Lernen sich später vertippt (z.B. Buchstabentasten),
# wird er darauf hingewiesen

# mit absoluter Toleranz
$answer =
  "Die Geschwindigkeit beträgt "; "km/h"
$st =
  7; "42,36"; -number: 0.2
# Es werden also alle Werte zwischen 42,16 und 42,56 als richtig gewertet,
# z.B. 42,3 42.35 4.23e+01 usw.

# mit relativer Toleranz
$answer =
  "Es werden "; "kg Schwefelsäure benötigt."
$st =
  3; "13,74"; -number: 1%
# Es werden also alle Werte zwischen 13,61 und 13,87 als richtig gewertet

Siehe auch Beispiel st.

Zugeordnete Pads:

Um dem Textfeld ein Pad (siehe Pads) zuzuordnen, in dem der eingegebene Text grafisch aufbereitet angezeigt wird, geben Sie als ersten Parameter (nach einer eventuellen Prozentangabe) den Bezeichner des Pads an (als Zeichenkette, d.h. in Anführungszeichen).

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
# Alkohol
$answer =
 "Die verkürzte Strukturformel
  lautet [[@c:struk]]."
$st = "@c:struk"; 16; "CH3_CH2OH"

Der Bezeichner eines Pads beginnt immer mit einem At-Zeichen (@) gefolgt von einem Buchstaben, der den Typ der Darstellung festlegt (z.B. c für Chemo-Pad). Dann kommt nach einem Doppelpunkt der "Fußnotentext" des Pads. Dieser muss eindeutig sein, d.h. darf in dieser Aufgabe kein weiteres Pad mit dem selben Fußnotentext geben.
Beim zugehörigen Kurztext-Feld wird dieser Bezeichner als erster Parameter als Zeichenkette angegeben. Sein Textinhalt wird dann im Pad (entsprechend des Typs des Pads)  dargestellt.

Siehe dazu auch Pads im Text und Pads

2.5.11.2.3 $lt - Längerer Antworttext (Long Text)[Inhalt]

$lt definiert ein Eingabefeld für einen längeren Text. Analog zu $st besteht die Belegung aus einer Zahl für die Größe des Eingabefeldes und, getrennt durch ein Komma, einer Folge von Zeichenketten, die jeweils richtige Lösungen angeben. Diese müssen durch Semikolon getrennt sein. Es ist also möglich, mehrere Antworten als richtig gelten zu lassen und explizit falsche Antworten sind durch ein vorangestelltes Ausrufezeichen zu kennzeichnen.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer = 
  "Die ersten beiden Zeilen lauten: "
$lt =
  60; "Vom Eise befreit sind Strom
  und Bäche
  durch des Frühlings holden
  belebenden Blick"

Die Anwendungen vergleichen die eingegebene Zeichenkette mit den richtigen Lösungen.
Wenn einen Satz  ausschließen möchten, der der gewünschten Lösungswort sehr ähnlich ist, geben Sie diesen mit einem vorangestelltem Ausrufezeichen an, z.B. 

$answer = 
  'Übersetzen Sie "Paul loves Paula."'
$lt =
  "Paul liebt Paula.",
  "!Paul liebt Paul.",
  "!Paula liebt Paul.",
  "!Paula liebt Paula."

Manchmal können Teile einer Antwort durch ähnliche ersetzt werden. Als Abkürzende Schreibweise gibt es die Alternative. Der ersetzbare Textteil wird in doppelte eckige Klammern ([[ ... ]]) gesetzt, die ersetzenden Texte (können auch mehrere sein, werden innerhalb dieser Klammern durch doppelten Schrägstrich (//) getrennt angegeben.

$lt =
  "Peter geht [[in das Haus//in die Villa//in das Gebäude]]."

Bei dem obige Eingabefeld sind also die Eingabesätze "Peter geht in das Haus.", "Peter geht in die Villa." und "Peter geht in das Gebäude richtig.
Man darf auch  leere ersetzende Texte angeben, was bedeutet, dass der Text der Alternative auch komplett entfallen darf. Alternativen dürfen auch mehrfach in Zeichenketten vorkommen, jedoch nicht verschachtelt. 

$answer = 
  'Übersetzen Sie "Mercator pecuniam habet.".'
$lt = 40;
  "[[Der//Ein]] Kaufmann hat [[das//]] Geld.",
  "[[Das//]] Geld hat [[ein//der]] Kaufmann."

Bei diesem Beispiel sind also z.B. "Ein Kaufmann hat Geld", "Der Kaufmann hat das Geld.", "Der Kaufmann hat Geld." usw. richtige Eingaben.

Achtung: Die Bedeutung der doppelten eckigen Klammern unterscheidet sich von der bei $memo: Dort legen sie die Textteile fest, die überhaupt verglichen werden, während sie hier nur Alternativen kennzeichnen (und der gesamte $LT-Text verglichen wird).

Unterschied von $lt zu $st: Der Vergleich der eingegebenen Worte mit der richtigen Antwort sollte in den Anwendungen rücksichtsvoll gegenüber kleinen Rechtschreibfehlern sein, ist in der Regel jedoch gröber als beim Kurztext. Zuerst werden die einzelnen Worte verglichen und dann ihre Reihenfolge. Dies ist aber keine Thematik des Exercise Formats.
Der EF-Editor vergleicht die Antworten auf oben beschriebene Weise, wobei auch Satzeichen intern als einzelne Worte zählen. Beim Vergleich wird Groß- und Kleinschreibung ignoriert und auf ca. 90%ige Richtigkeit geprüft. Führenden und folgenden Leerzeichen gegenüber ist die Methode unempfindlich ist. Unsere (begrenzten) Erfahrungen haben gezeigt, das diese Methode einigermaßen tragbar ist.

Schalter:

 -m: xxx% (match) Genauigkeit des Zeichenkettenvergleichs
Mit dieser Zusatzangabe können Sie in Prozent angeben, wie genau der Zeichenkettenvergleich sein soll. Was die Prozentangaben tatsächlich bedeuten müssen Sie evtl. ausprobieren, sicher ist nur, dass 100% einen ganz genauen Vergleich liefert (bis auf Groß- und Kleinschreibung). Das ist z. B. bei Fremdsprachen mitunter erforderlich.

$answer = 
 'Übersetzen Sie "Paul loves Paula."'
$lt =
  "Paul liebt Paula.", -m:100%

 -strictCase    Genaue Unterscheidung von Groß- und Kleinschreibung
Normalerweise wird beim Lösungsvergleich die Groß- und Kleinschreibung ignoriert. Mit diesem Schalter kann dies verhindert werden, was z.B. bei Satzanfängen, Akronymen oder zur Unterscheidung von Substantiven und Namen sinnvoll sein kann.

 -strictUml:    Keine Umschreibung von Umlauten zulassen
Bei Textfeldern wird normalerweise zugelassen, dass z.B. "ä" als "ae" oder "ß" als "ss" geschrieben wird und umgekehrt. Mit diesem Schalter kann diese Gleichsetzung ausgeschaltet werden, z.B. bei Rechtschreibübungen oder Fremdsprachen wichtig.

 -systerror: Positiv-Muster, Negativ-Muster, Feedbacktext1, Feedbacktext2, ... (systematic error) Feedback zu systematischem Fehler
Diese Zusatzangaben ermöglichen es, zu systematischen (also zu erwartenden) Fehlern gezielte Hinweise zu geben. Über Positiv- und Negativ-Muster gibt man Erkennungsmerkmale für den Fehler an, und wenn dieser tatsächlich in das $lt-Feld eingetragen wurde, kommt zuerst ein allgemeiner Hinweis, dann ein Hinweis zum Ort des Fehlers und danach die angegebenen Feedbacktexte.
Beim Positiv- und Negativ-Muster handelt es sich um eine Zeichenkette "..." (die dann in der falschen Lösung vorkommt) oder um einen Alternativen-Ausdruck, also [[ ... // ... // ... ]] (von dem dann mindestens  eine Alternative in der falschen Lösung vorkommen soll).
Der systematische Fehler wird erkannt, wenn das Positiv-Muster im Eintrag vorkommt und das Negativ-Muster NICHT vorkommt.
Spezialfälle: Wenn das Positiv-Muster eine leere Zeichenkette ist (""), wird der Fehler erkannt, wenn das Negativ-Muster nicht im Eintrag vorkommt.; wenn wenn das Negativ-Muster eine leere Zeichenkette ist, wird der Fehler erkannt, wenn das Positiv-Muster vorkommt.
Beispiel:

Positiv-Muster Negativ-Muster Eintrag mit systematischem Fehler Eintrag ohne systematischer Fehler Kommentar
"Pferd" "" "Pferd" "Springer" Das ist noch recht einfach.
Syst.Fehler: Der Lernende hat die Figur zwar erkannt, aber falsch benannt.
"hund" "" "zwei Hunde"
"Hundert Euro"
"zwei Katzen" Es werden nicht nur ganze Worte verglichen sondern auch Teile. Groß- und Klein-Schreibung wird ebenfalls egal.
[[Haus//Hütte//Bude]] "Baumhaus" "Hundehütte"
"Erdhaus"
"Haus"
"Holzhaus"
"Baumhaus" Wenn man das Negativ-Muster mit einsetzt, kann man auch Teile der korrekten Antwort als falsch erkennen lassen, ohne das die richtige Lösung als Fehler erkannt wird.
Syst-Fehler: Der Lernende hat erkannt, das es sich um eine Behausung handelt, aber was für eine genau?
"rom" "romanum" "pax romani"
"fex romeri"
"pax romanum" Noch so ein Beispiel. Wen "rom" im falschen Fall steht, kommt die Fehlermeldung.
Syst-Fehler: Der Lernende hat wahrscheinlich den falschen Fall verwendet.
"salz" [[Kochsalz//NaCL]] "Jodsalz"
"Kalisalz"
"Kochsalz"
"NaCL"
"Hubschrauber"
Auch beim Negativ-Muster können Alternativen sinnvoll sein.
Syst-Fehler: Der Lernende hat erkannt, dass es sich um ein Salz handelt. Er hat aber noch nicht erkannt, dass es sich speziell um Kochsalz handelt.
[[salz//lösung]] [[Kochsalz//NaCL]] "Jodsalz"
"Kochsalzlösung"
"Salzkristall"
"Kochsalzkristall"
"Kochsalz"
"Leuchtkristall"
Alles kombiniert.
"" "kann" "Er fliegt."
"Er wird fliegen"
"Er kann fliegen." Wenn das Positiv-Muster leer ist, wird gecheckt, ob das Negativ-Muster fehlt
Syst-Fehler: Der Lernende hat den Modus nicht erkannt.
"" [[muss//soll//muß]] "Sie hilft der Mutter."
"Sie will der Mutter helfen."
"Sie muss der Mutter helfen."
"Sie soll der Mutter helfen."
Und noch mal mit Alternative.
"regin" "regina "

(Wichtig;: Leerzeichen nach regina)
"reginum"
"reginam"
"regina"
"postregina"
Spezialtrick: "regina" ist die richtige Lösung, aber "reginas", "reginam", "reginae" usw. sollen als syst. Fehler erkannt werden. Weil im Negativ-Muster ein Leerzeichen nach dem regina steht, trifft das Negativ-Muster nur zu, wenn regina am Wortende steht. Gleiches geht übrigens auch für den Wortanfang

Die Feedbacktexte sind einfache Zeichenketten, die bei der Rückmeldung angezeigt werden. Sie sollten immer speziellere Hinweise zum Fehler enthalten.
Zu einem Textfeld dürfen auch mehrere -systerror-Einträge gehören. Es empfiehlt sich, die Schalter immer als letztes anzugeben.

$question =
  "Übersetzen Sie bitte 'zwei Schafe auf der Wiese' ins Englische!"
$lt =
  "[[two//2]] sheep on [[a//the]] meadow";
  -systerror: "sheeps", "",
    "Falscher Plural.",
    "Der Plural ist hier ein Sonderfall.",
    "Es heisst nur 'sheep', ohne 'S' am Ende."    

oder z.B. mehrere mögliche systematische Fehler:

$question =
  'Übersetzen Sie bitte "Römer geht nach Hause!" ins Lateinische.'
$answer =
  "Auf lateinisch  heißt es: "
$lt = 20; "Romani, ite domum!", "Romani ite domum!";
 -systerror: "roman", "romani",
    "Der Fall stimmt nicht.",
    "Es muss Plural Vokativ sein.",
    "'Romanes' im Plural Vokativ heißt 'Romani'!";
 -systerror: "eunt", "ite",
    "Wir benötigen die dritte Person Plural Imperativ.",
    "Es muss 'ite' heißen.";
 -systerror: " i ", "ite",
    "PLURAL! Es sind viele Römer!"
    "Es muss 'ite' heißen.";
 -systerror: "dom", "domum",
    "'Haus' steht im falschen Fall.",
    "Es handelt sich um eine hinführende Bewegung.",
    "'Haus' muss im Richtugsakkusativ stehen.",
    "Das Wort für 'Haus' im Akkusativ ist 'domum'."

Falls später in der Eingabe des Aufgabenlösers mehrere systematische Fehler gleichzeitig auftreten, wird zuerst der Fehler "abgearbeitet", der auch bei der SystError-Definition zuerst steht. (Das muss also unter Umständen nicht der Fehler sein, der als erstes in der Eingabe vorkommt. Dies ermöglicht es dem Autor zuerst auf besonders krasse Fehler hinzuweisen, bei deren Korrektur evtl. andere kleinere Fehler von selbst mit verschwinden.)

Siehe auch Beispiel feedback.

2.5.11.3 Targets - Zielfelder für Drag&Drop[Inhalt]

Offenes Target     Offenes Mehrfach-Target     Text-Target     Mehrfaches Text-Target     Target für einen Listeneintrag     Target für mehrere Listeneinträge

Bei Targets handelt es sich um Eingabefelder, in die mit der Maus kurze Texte hineingezogen werden können. Diese Eingabefelder können offen sein ($tf), nur Drag&Drop-Texte akzeptieren ($ts für einen Eintrag, $tm für mehrere) oder nur Texte aufnehmen, die aus einer Liste Stammen ($tls, $tlm). Die Art wie (und ob überhaupt) das Drag&Drop in den Anwendung realisiert ist hängt von den Anwendungen ab.

Abmaße der Targets:
Es ist möglich die Größe der Targets anzugeben, dabei ist folgendes zu beachten: die Größenangaben für Breite und Höhe werden als Anzahl der Pixel verstanden. Wenn das Target als Texteingabefeld erscheint, werden diese Zahlen durch 8 dividiert und als Zeichenanzahl interpretiert. Z.B. erzeugt die Angabe 80,16 jenachdem ein Target mit den Pixelabmessungen 80x16 oder ein Texteingabefeld mit einer Breite von 10 Zeichen und einer Höhe von 2 Zeichen. Diese Angaben können aber auch entfallen. Die Anwendung verwendet dann eine Standardgröße bzw. irgendwie angemessene Abmaße. Wenn nur ein Wert angegeben ist wird dieser als Breite verstanden. Folgende Angaben sind also durchaus erlaubt:

$tf = 80, 8, "Nina"; "Irina"    # Breite und Höhe abgegeben
$tf = "Hans"; "Michael"        # ohne vorgegebene Größe
$tf = 80, "Bärbel"              # nur Breite angegeben

Dies gilt für alle Targets.

Die Zählung von Indizes und Nummern von Listen beginnt stets bei 1.

2.5.11.3.1 $tf - Target für Texte als offenes Format (Target, Free)[Inhalt]

$tf definiert ein Eingabefeld für kurze Texte, zusätzlich können aber auch Text per Drag&Drop in diese Felder gezogen werden. In diesem Sinne handelt es sich eigentlich um eine Erweiterung des $st-Feldes. Als Parameter werden zwei durch Komma getrennte Zahlenwerte für Breite und Höhe erwartet (die auch entfallen können) und eine durch Kommas getrennte Liste von Zeichenketten, die die Synonyme darstellen (also richtige Antworten).

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
# Antwort
$answer = 
  "[[Nina]] liest ein [[Buch]] über [[Tiere]].<BR>
  Das Subjekt dieses Satzes lautet "
$tf = 80, 8, "Nina"

Der Vergleich der eingegebenen Worte mit der richtigen Antwort sollte wie schon bei $st erwähnt Tippfehlern gegenüber tolerant sein.

Schalter:

 -m: xxx% (match) Genauigkeit des Zeichenkettenvergleichs
Mit dieser Zusatzangabe können Sie in Prozent angeben, wie genau der Zeichenkettenvergleich sein soll. Was die Prozentangaben tatsächlich bedeuten müssen Sie evtl. ausprobieren, sicher ist nur, dass 100% einen ganz genauen Vergleich liefert (bis auf Groß- und Kleinschreibung). Das ist z. B. bei Fremdsprachen mitunter erforderlich.

$answer = 
  "Übersetzen Sie 'Ich war hier.'!"
$tf =
  30; "I was there.", "I was here."; -m:100%

 -strictCase    Genaue Unterscheidung von Groß- und Kleinschreibung
Normalerweise wird beim Lösungsvergleich die Groß- und Kleinschreibung ignoriert. Mit diesem Schalter kann dies verhindert werden, was z.B. bei Satzanfängen, Akronymen oder zur Unterscheidung von Substantiven und Namen sinnvoll sein kann.

 -strictUml:    Keine Umschreibung von Umlauten zulassen
Bei Textfeldern wird normalerweise zugelassen, dass z.B. "ä" als "ae" oder "ß" als "ss" geschrieben wird und umgekehrt. Mit diesem Schalter kann diese Gleichsetzung ausgeschaltet werden, z.B. bei Rechtschreibübungen oder Fremdsprachen wichtig.

Siehe auch Beispiel tf.

2.5.11.3.2 $tfm - Target für mehrere Texte als offenes Format (Target Free Multi)[Inhalt]

$tfm definiert ein Eingabefeld für mehrere kurze Texte, die der Nutzer durch Semikolon trennt. Zusätzlich können aber auch Text per Drag&Drop in diese Felder gezogen werden. Als Parameter werden zwei durch Komma getrennte Zahlenwerte für Breite und Höhe erwartet (die auch entfallen können), dann folgt (durch Semikolon getrennt) der Text der Anfangsbelegung des Feldes. Ihm folgen (ebenfalls durch Semikolon getrennt) die Synonymlisten der einzelnen Lösungen, deren einzelne Synonyme durch Kommas separiert sind.
Die Werte für Breite und Höhe können alternativ auch am Ende stehen.
Achtung: Wenn das Eingabefeld keine Anfangsbelegung haben soll (also zu Beginn leer ist), müssen Sie nach den Breitenangaben einen leeren Parameter oder eine leere Zeichenkette angeben (siehe Beispiel). Würden Sie die Angabe einfach weglassen, würde die erste Synonymliste als Anfangsbelegung interpretiert werden.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer =
  "Die vier Tiere sind
  (mit Semikolon trennen):
  <BR>"

$tfm = 300, 8; ;
  "Esel", "Grautier";
  "Hund", "Köter", "Töle";
  "Katze", "Mieze";
  "Hahn", "Gockel";
 

Der Vergleich der eingegebenen Worte mit der richtigen Antwort sollte wie schon bei $st erwähnt Tippfehlern gegenüber tolerant sein.

Zusatz: Manchmal möchte man Fragen stellen der Art "Nennen Sie 3 der 10 Merkmale von ... usw.", d.h. es gibt viele richtige Antworten, ein paar wenige reichen aber aus, damit die Aufgabe als gelöst angesehen wird. Diese Mindestanzahl von Antworten kann als 3. Zahl nach Breite und Höhe angegeben werden:

$answer = 
  "Nenne die Namen von mindestens vier Rentieren des amerikanischen Santa Clouse!"
$tfm =
  300, 8, 4; ; "Dasher", "Dancer", "Prancer", "Vixen",
  "Comet", "Cupid", "Donner", "Blitzen", "Rudolph"

 Schalter:

 -m: xxx% (match) Genauigkeit des Zeichenkettenvergleichs
Mit dieser Zusatzangabe können Sie in Prozent angeben, wie genau der Zeichenkettenvergleich sein soll. Was die Prozentangaben tatsächlich bedeuten müssen Sie evtl. ausprobieren, sicher ist nur, dass 100% einen ganz genauen Vergleich liefert (bis auf Groß- und Kleinschreibung). Das ist z. B. bei Fremdsprachen mitunter erforderlich.

$answer = 
  "Nenne die drei nordwesteuropäischen Hauptstädte!"
$tfm =
  300, 8; "London"; "Dublin"; "Reykjavík"; -m:100%

 -strictCase    Genaue Unterscheidung von Groß- und Kleinschreibung
Normalerweise wird beim Lösungsvergleich die Groß- und Kleinschreibung ignoriert. Mit diesem Schalter kann dies verhindert werden, was z.B. bei Satzanfängen, Akronymen oder zur Unterscheidung von Substantiven und Namen sinnvoll sein kann.

 -strictUml:    Keine Umschreibung von Umlauten zulassen
Bei Textfeldern wird normalerweise zugelassen, dass z.B. "ä" als "ae" oder "ß" als "ss" geschrieben wird und umgekehrt. Mit diesem Schalter kann diese Gleichsetzung ausgeschaltet werden, z.B. bei Rechtschreibübungen oder Fremdsprachen wichtig.

Siehe auch Beispiel tfm.

2.5.11.3.3 $ts - Target für Texte (nur Drag&Drop) (Target Single)[Inhalt]

$ts definiert ähnlich wie $tf ein Target für beliebige Texte, es ist lediglich nicht möglich die Texte auch über Tastatur einzugeben. Als Parameter werden zwei durch Komma getrennte Zahlenwerte für Breite und Höhe erwartet (die auch entfallen können) und eine durch Semikolons getrennte Liste von Zeichenketten, die die Synonyme darstellen (also richtige Antworten).

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer =
  "Nach dem [[Sie]] einen schweren [[Unfall]] hatten,
  empfinden Sie schon allein beim
  [[Anblick eines Autos]] [[Angst]].
  <BR><BR>
  UCS "

$ts = 150, 20, "Unfall"

$answer =
  "<BR> ==> <BR> UCR "

$ts = 150, 20, "Angst"

$answer =
  "<BR>"

Bei dieser Aufgabe können also die rot dargestellten Textteile (siehe auch $answer) in die hellblauen Felder gezogen werden. "Unfall" und "Angst" sind die beiden richtigen Lösungen.

Alternative Syntax:
Im Zuge der Vereinheitlichung der Syntax, ist auch folgende Parameterreihenfolge möglich, die zusätzlich noch eine Anfangsbelegung erlaubt:

  $ts = "Anfangsbelegung"; "Synonym1", "Synonym2", ... ; Breite, Höhe
"Anfangsbelegung"
Text, der zu Beginn im Eingabefeld stehen soll (kann auch leer sein)
"Synonym1", "Synonym2", ...
die Synonyme für die richtige Antwort
Breite, Höhe
Breite und Höhe des Eingabefeldes (kann auch teilweise entfallen)

Schalter:

-td  Darstellung als HTML-Tabelle (<TD>-Tag)
Wird dieser Schalter gesetzt, so erzeugt der Compiler das Eingabefeld als <TD> ... </TD> HTML-Text. Wenn man im umgebenden $answer-Text die entsprechenden <TABLE>- und <TR>-Tags setzt, kann man das Eingabefeld direkt in eine Tabelle einbauen und erhält meist schönere Layouts, siehe z.B. Beispiel tlm_sls_td.

Siehe auch Beispiel ts.

2.5.11.3.4 $tm - Target mehrere Texte (nur Drag&Drop) (Target Multi)[Inhalt]

$tm definiert ähnlich wie $tm ein Target für beliebige Texte. Allerdings können in dieses Feld auch mehrere Einträge gezogen werden. Als Parameter werden zwei durch Komma getrennte Zahlenwerte für Breite und Höhe erwartet (die auch entfallen können) und eine durch Semikolons getrennte Liste von Zeichenketten, die die richtigen Antworten angeben. Das Eingabefeld gilt als richtig bearbeitet, wenn genau diese Texte in das Feld gezogen wurden.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer =
  "[[Die]] alte [[Geiß]] [[nahm]] ihren
  [[Korb]] und [[ging]] [[Futter]] [[suchen]].<br>
  Substantive:<BR>";
  "<BR>Verben:<BR>"

$tm = 100, 40, "Geiß"; "Korb"; "Futter"

$tm = 100, 40, "nahm"; "ging"; "suchen"

Bei dieser Aufgabe können also die rot dargestellten Worte (siehe auch $answer) in die hellblauen Felder gezogen werden. "Geiß", "Korb" und "Futter" sind die Substantive (erstes $tm-Feld), "nahm", "ging" und "suchen" die Verben (zweites $tm-Feld).

Alternative Syntax:
Im Zuge der Vereinheitlichung der Syntax, ist auch folgende Parameterreihenfolge möglich, die zusätzlich eine Anfangsbelegung erlaubt :

  $tm = "Anfangsbelegung"; "Text1", "Text2", ... ; Breite, Höhe
"Anfangsbelegung"
Text, der zu Beginn im Eingabefeld stehen soll (kann auch leer sein)
"Text1", "Text2", ...
die richtigen Antworten
Breite, Höhe
Breite und Höhe des Eingabefeldes (kann auch teilweise entfallen)

Schalter:

-td  Darstellung als HTML-Tabelle (<TD>-Tag)
Wird dieser Schalter gesetzt, so erzeugt der Compiler das Eingabefeld als <TD> ... </TD> HTML-Text. Wenn man im umgebenden $answer-Text die entsprechenden <TABLE>- und <TR>-Tags setzt, kann man das Eingabefeld direkt in eine Tabelle einbauen und erhält meist schönere Layouts, siehe z.B. Beispiel tlm_sls_td.

Siehe auch Beispiel tm1.und Beispiel tm2.

2.5.11.3.5 $tls - Target für einen Listeneintrag (Target List Single)[Inhalt]

$tls definiert ein Target, in das genau ein Text aus einer angebebenen Liste (siehe $sls, $slm) gezogen werden können. Als Parameter sind dabei die Nummer der Liste (die wievielte Liste in der EF-Datei, bei Multi-Type die wievielte in dieser Teilaufgabe), der Index des Eintrags, der zu Anfang beim Aufruf der Aufgabe im Feld stehen soll und der Index des Lösungstextes (durch Semikolon getrennt). Wenn das Feld beim Beginn leer sein soll, ist anstelle des zweiten Parameters 0 anzugeben, wenn dem Feld kein Lösungstext zugeordnet ist, ist als dritter Parameter ebenfalls 0 anzugeben. Gibt es alternative richtige Einträge, so sind sie durch Komma getrennt mit anzugeben. Optional können danach noch die Abmaße des Feldes (Breite und Höhe) durch Komma getrennt angegeben werden.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer =
  "Der Hund(";

$tls = 1; 0; 1; 80

$answer =
  ") biß den Postboten("

$tls = 1; 0; 4; 80

$answer =
  ") ins Bein("

$tls = 1; 0; 4; 80

$answer =
  "). Aua."

$slm = "Nominativ"; "Genitiv"; "Dativ"; "Akkusativ"

In die drei Targets (orange Felder) können die Worte aus der grauen Liste gezogen werden. Erklärung der Parameter: Die Targets beziehen sich auf die 1. Liste der Datei und sollen zu Anfang alle leer sein (0). Als Lösung gehört ins erste Target natürlich "Nominativ", also der 1. Eintrag der Liste. In die beiden anderen Targets kommt "Akkusativ", also der 4. Eintrag. Zusätzlich sind alle Targets 80 Pixel breit.

Es ist auch möglich, Texte in das Feld zu ziehen, die nicht in einer Liste angegeben sind. In diesem Fall wird für Anfangsbelegung und die richtige(n) Lösung(en) einfach der Text angeben.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer =
"Bob [[went]] into the kitchen:<BR>
'Is Charly here?'<BR>
'No, he is [[gone]] two hours ago. Why?'<BR>
'He didn\' arive. I'll [[go]] and find him.'<P>
<center><B>1. Form - 2. Form - 3. Form</B></center><center>";
" &nbsp; ";
" &nbsp; ";
"</center>"

$tls = 1; 0; "go"; 80, 20
$tls = 1; 0; "went"; 80, 20
$tls = 1; 0; "gone"; 80, 20

$sls = "gone"; "go"; "went"

In diesem Beispiel können die drei englischen Verben entweder aus der Liste oder direkt aus dem Text in die Targetfelder gezogen werden.

Schalter:

-td  Darstellung als HTML-Tabelle (<TD>-Tag)
Wird dieser Schalter gesetzt, so erzeugt der Compiler das Eingabefeld als <TD> ... </TD> HTML-Text. Wenn man im umgebenden $answer-Text die entsprechenden <TABLE>- und <TR>-Tags setzt, kann man das Eingabefeld direkt in eine Tabelle einbauen und erhält meist schönere Layouts, siehe z.B. Beispiel tlm_sls_td.

Siehe auch Beispiel tls1 und  Beispiel tls2.

2.5.11.3.6 $tlm - Target für mehrere Listeneinträge (Target List Multi)[Inhalt]

Mit $tlm definiert man ein Target, in das mehrere Texte einer Liste (siehe $sls, $slm) gezogen werden können. Die Parameter sind ganz analog zu $tls, nur dass jetzt Listen von Indizes erlaubt sind. Der erste Parameter ist die Nummer der Liste (die wievielte Liste in der EF-Datei, bzw. bei Multi-Type die wievielte in dieser Teilaufgabe), ihm folgt eine Liste von Indizes der Einträge, der zu Anfang beim Aufruf der Aufgabe im Feld stehen soll und eine Liste von Indizes der Lösungstextes. Die Listen sind durch Semikolons voneinander getrennt, die Zahlen innerhalb einer Liste durch Kommas. Wenn das Feld beim Beginn leer sein soll bzw. dem Feld keine Lösungstexte zugeordnet sind, sind die entsprechenden Listen leer zu lassen (die Semikolons müssen aber gesetzt werden). Optional können danach noch die Abmaße des Feldes (Breite und Höhe) durch Komma getrennt angegeben werden.
Es ist auch möglich, Texte in das Feld zu ziehen, die nicht in einer Liste angegeben sind. In diesem Fall wird für Anfangsbelegung und die richtige(n) Lösung(en) einfach der Text angeben.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer =
  "<center> Einkeimblättrig - Zweikeimblättrig<BR>";
  "  ";
  "</center>"

$tlm = 1; ; 1, 3, 5; 112,80

$tlm = 1; ; 2, 4; 112,80

$sls = "Weizen"; "Rose"; "Mais"; "Bohne"; "Schilf"

In die beiden Targets (orange Felder) können die Worte aus der grauen Liste gezogen werden. Erklärung der Parameter: Die Targets beziehen sich auf die 1. Liste der Datei und sollen zu Anfang alle leer sein. Als Lösung gehört ins erste Target natürlich "Nominativ", also der 1., 3., und 5. Eintrag der Liste, ins zweite Target der 2. und 4. Eintrag. Zusätzlich sind alle Targets 112 Pixel breit und 80 Pixel hoch.

Zusatz: Manchmal möchte man Fragen stellen der Art "Ordnen Sie mindestens 3 der 10 Möglichkeiten zu ... usw.", d.h. es gibt viele richtige Antworten, ein paar wenige reichen aber aus, damit die Aufgabe als gelöst angesehen wird. Diese Mindestanzahl von Antworten kann als 3. Zahl nach Breite und Höhe angegeben werden:

$answer = 
  "Welche der Pflanzen fallen unter den Begriff Getreide? Ordne mindestens 3 zu!
$tlm =
  "Weizen", "Hafer", "Roggen", "Gerste", "Dinkel", "Reis", "Mais"; 300, 8, 3

Schalter:

-td  Darstellung als HTML-Tabelle (<TD>-Tag)
Wird dieser Schalter gesetzt, so erzeugt der Compiler das Eingabefeld als <TD> ... </TD> HTML-Text. Wenn man im umgegenden $answer-Text die entsprechenden <TABLE>- und <TR>-Tags setzt, kann man das Eingabefeld direkt in eine Tabelle einbauen und erhält meist schönere Layouts, siehe z.B. Beispiel tlm_sls_td.

Siehe auch Beispiel tlm .

2.5.11.4 Quell-Listen[Inhalt]

Liste, single     Liste, multi

Die Listen stellen Textteile für die listenabhängigen Targets (siehe $tls, $tlm) bereit und sind in diesem Zusammenhang besonders für komplexere Zuordnungsaufgaben (siehe Makros) geeignet. Die Texte der Liste werden in den Targets über ihre Position in der Liste referenziert (Zählung beginnt bei 1).

Theoretisch ist auch bei Listen eine Prozentangabe erlaubt, praktisch ist sie aber ohne Bedeutung.

2.5.11.4.1 $sls - Liste, jeder Eintrag einmal verwendbar (Source List Single)[Inhalt]

$sls definiert eine Liste, bei der jeder Eintrag in höchstens ein Target gezogen werden kann, es ist also nicht möglich, bei der Bearbeitung ein und denselben Text in zwei Targets zu ziehen. Diese Liste realisiert auf diese Weise das "Verschieben" von Textteilen. Als Parameter ist einfach eine Liste von Zeichenketten anzugeben (durch Semikolon getrennt). Natürlich können diese Texte beliebig lang sein, man sollte aber beachten, dass diese Texte in Targets gezogen werden sollen (was dann gegebenenfalls das Aussehen der Aufgabe drastisch ändert).

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer =
  "<center>1. Form - 2. Form - 3. Form</center><center>";
  " &nbsp; "; " &nbsp; "; "</center>"

$tls = 1; 0; 2; 80, 20
$tls = 1; 0; 3; 80, 20
$tls = 1; 0; 1; 80, 20

$sls = "gone"; "go"; "went"

Da jeder Eintrag nur einmal verwendet werden kann, sollte die Anwendung bei der Bearbeitung bereits verwendete Texte aus der Liste entfernen (und bei Rücknahme von Zuordnungen wieder einfügen).

Schalter:

-cols: xxx (columns) Anordnen der Liste in mehreren Spalten
Standardmäßig wir die Liste einspaltig dargestellt, mit diesem Schalter können Sie aber angeben, mit wie viel Spalten die Liste haben soll. Wenn Sie (im Extremfall) genauso viele Spalten angeben wie Einträge, werden die Einträge alle nebeneinander dargestellt.

# zweispaltig
$sls =
  "Brandenburg"; -cols: 2;
  "Niedersachsen";
  "Hessen";
  "Sachsen";
  "Bayern";
  "Berlin"

Siehe auch Beispiel sls .

2.5.11.4.2 $slm - Liste, jeder Eintrag mehrmals verwendbar (Source List Multi)[Inhalt]

$slm definiert eine Liste, bei der jeder Eintrag in verschiedene Targets gezogen werden kann, es ist also nicht möglich, bei der Bearbeitung ein und denselben Text in mehrere Targets einzutragen. Diese Liste realisiert auf diese Weise das "Kopieren" von Textteilen. Als Parameter ist einfach eine Liste von Zeichenketten anzugeben (durch Semikolon getrennt).

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer =
  "Der Hund(";

$tls = 1; 0; 1; 80

$answer =
  ") biß den Postboten("

$tls = 1; 0; 4; 80

$answer =
  ") ins Bein("

$tls = 1; 0; 4; 80

$answer =
  "). Aua."

$slm = "Nominativ"; "Genitiv"; "Dativ"; "Akkusativ"

Die Liste sollte sich bei der Bearbeitung der Aufgabe in den Anwendungen statisch verhalten, da jeder Listeneintrag ja noch verwendet werden könnte.

Schalter:

-cols: xxx (columns) Anordnen der Liste in mehreren Spalten
Standardmäßig wir die Liste einspaltig dargestellt, mit diesem Schalter können Sie aber angeben, mit wie viel Spalten die Liste haben soll. Wenn Sie (im Extremfall) genauso viele Spalten angeben wie Einträge, werden die Einträge alle nebeneinander dargestellt.

# dreispaltig
$slm =
  "Nominativ"; -cols: 3;
  "Genitiv";
  "Dativ";
  "Akkusativ";
  "Instrumental";
  "Locativ"

Siehe auch Beispiel slm.

2.5.11.5 Zusammengesetzte Formate (Makros)[Inhalt]

$zo - Zuordnung     $fzo - Freie Zuordnung

Einige (komplexere) Zuordnungs- und Ergänzungsaufgaben treten immer wieder in gleichen Schemata auf (meist in Tabellenform). Für diese gibt es in EF gewissermaßen "abkürzende" Formate die solche Aufgabentypen die auch das Layout der Bearbeitung festlegen.
Theoretisch handelt es sich aber um Kombinationen der vorangegangenen Eingabefelder.

2.5.11.5.1 $zo - Zuordnung[Inhalt]

Mit Hilfe von $zo (ausnahmsweise mal in deutsch) können Zuordnungsaufgaben gestellt werden. Dabei gibt es im wesentlichen zwei Mengen (Listen) von Zeichenketten und jeder Zeichenkette der ersten ist genau eine Zeichenkette der zweiten zugeordnet. Das Lösen der Aufgabe müßte dann über Angabe der Paare oder Indizes, Einordnen in Tabellen oder Drag&Drop erfolgen. Diese Paare (der korrekten Lösung) werden wieder als Items aufgefasst, die jeweils durch Semikolon getrennt sind. Die Angaben eines Items bestehen aus zwei Zeichenketten A und B (den beiden zugeordneten Werte) und einer Zahl, dem B-Index, die angibt, an wievielter Stelle B in der zweiten Liste präsentiert wird. Die Reihenfolge jeweils ersten Zeichenketten A1, A2, ...An entspricht der Reihenfolge der Items in der EF-Datei, die zugeordneten zweiten Zeichenketten B1, B2, ...Bn werden entsprechend dem B-Index sortiert (aufsteigend). Wenn die eine Zeichenkette A leer ist (also ""), erscheint B in Liste, ist aber nirgendwo in der Tabelle eine richtige Lösung (Distraktor).

Beispiel-Quellkode Aussehen in HTML (EF-Editor) (InternetExplorer 4.0)
$answer =
  "Ordnen Sie so viel wie möglich zu!"

$zo =
  "Säugetier", "Hauskatze", 6;
  "Lurch", "Laubfrosch", 2;
  "Fisch", "", 8;
  "Kriechtier", "Schildkröte", 4;
  "", "Mücke", 3

Im Beispiel sind die beiden Mengen also {"Säugetier", "Lurch", "Fisch", "Kriechtier"} und {"Hauskatze", "Laubfrosch", "Schildkröte", "Mücke"}. Die erste Menge erscheint in der Reihenfolge der Definition (Tabelle), die zweite Menge erscheint entsprechend dem B-Index umsortiert unterhalb der Tabelle. Die richtige Zuordnung entspricht der Angabe in den Items, also Säugetier-Hauskatze, Lurch-Laubfrosch, Kriechtier-Schildkröte. "Fisch" und "Mücke" sind jeweils Distraktoren.
(Das Bild entspricht der Darstellung im InternetExplorer 4.0, dort wird die Aufgabe über Drag-and-Drop bearbeitet.)
Der EF-Editor setzt diesen Typ aus $tls-Targets und einer $sls-Liste zusammen.

Schalter:

-cols: xxx (columns) Anordnen der Liste in mehreren Spalten
Standardmäßig wir die Liste einspaltig dargestellt, mit diesem Schalter können Sie aber angeben, mit wie viel Spalten die Liste haben soll. Wenn Sie (im Extremfall) genauso viele Spalten angeben wie Einträge, werden die Einträge alle nebeneinander dargestellt.

Siehe auch Beispiel zo.

2.5.11.5.2 $fzo - Freie Zuordnung[Inhalt]

Mit Hilfe von $fzo können Zuordnungsaufgaben sehr allgemeiner Natur stellen (mehrere Items in Zelle, Items mehrfach verwenden, Distraktoren, mehrere Spalten, Formatierungen, ...). gestellt werden. Die Aufgaben bestehen aus Tabellen, in die vorgegebene Textbausteine aus einem Item-Pool einzuordnen sind. Dabei gibt man für alle Text-Items an, wo Sie zu Beginn der Bearbeitung in der Tabelle stehen sollen und wo sie als richtige Lösung zählen. Die Parameter eines solchen Text-Items sind durch Komma getrennt, die verschiedenen Text-Items durch Semikolon. Die Angaben zu einem Text-Item haben im allgemeinen folgende Form:

x1, y1, x2, y2, x3, y3, ..., "Text1", "Text2", ..., Modifizierer,
(Breite, Höhe), X1, Y1, X2, Y2, X3, Y3, ..., "style-Angaben"

wobei:

Die Größe der Tabelle ergibt sich aus den maximalen vorkommenden Koordinaten.
Am folgenden Beispiel seien einige Kombinationsmöglichkeiten erklärt.

Beispiel-Quellkode Aussehen in HTML (EF-Editor) (InternetExplorer 4.0)
$fzo =
  1, 1, "Familie", p, "font-weight:bold";
  2, 1, "Beispiel", p, "font-weight:bold";
  1, 2, "Säugetier", 1, 2;
  "Hund", 2, 2;
  2, 3, "Hering", i;
  "Frosch";
  "Fisch", 1, 3;
  2, 2, "Tintenfisch";
  1, *, "", "font-style:italic"

Erläuterung zu den Zeilen:

Der EF-Editor setzt diesen standardmäßig Typ aus $tlm-Targets und einer $slm-Liste zusammen. Durch Schalter kann man auch $sls-Listen und $tls-Targets erzwingen.

Siehe auch Beispiel fzo1, Beispiel fzo2 und Beispiel fzo3.

Hier ein Beispiel mit Jokern (*). Es kommt bei den Einträgen nur auf die richtige Spalte an:

Beispiel-Quellkode Aussehen in HTML (EF-Editor) (InternetExplorer 4.0)
$fzo =
  1, 1, "Einkeimblättrig", p;
  2, 1, "Zweikeimblättrig", p;
  2, 1, "Weizen", 1, *;
  "Rose", 2, *;
  "Mais", 1, *;
  "Bohne", 2, *;
  "Schilf", 1, *;
  2, 5, ""; #dummy-Zelle
  -cols:2; -tls; -sls;

Bei den Pflanzen ist es nur wichtig, ob sie in der richtigen Spalte stehen. Die Joker-Angaben erschweren es dem Compiler allerdings, die benötigte Zeilenanzahl zu ermitteln. Deshalb wird auf Position (2, 5) eine leere Zelle angegeben. Ihr einziger Zweck ist es, die Größe der FZO-Tabelle anzugeben, ansonsten wird dieser Eintrag weitestgehend ignoriert. (Damit es nicht ganz so einfach wird, würde absichtlich eine Zeile zuviel angegeben.)

Siehe auch Beispiel fzo_joker.

Ein Beispiel mit Positionvariablen:

Beispiel-Quellkode Aussehen in HTML (EF-Editor) (InternetExplorer 4.0)
$fzo =
  1, 1, "Latein", p;
  2, 1, "Deutsch", p;
  "Katzen", 2, kat;
  "Rana", 1, fro;
  "Simba";
  "Felis", 1, kat;
  "Frösche", 2, fro;
  2, 4, "";
  -cols:2; -tls;

Es kommen zwei Positionsvariablen vor, nämlich kat und fro, die jeweils dafür sorgen, dass "Felis" und Katzen" nebeneinander stehen und "Rana" und "Frösche".

Siehe auch Beispiel fzo_posvar.

Ein Beispiel, das freies Drag&Drop verwendet:

Beispiel-Quellkode Aussehen in HTML (EF-Editor) (InternetExplorer 4.0)
$answer =
  "Als mögliche lateinische Gattungsnamen
  gibt es folgende Angebote:
  [[Felis]], [[Hundis]], [[Simba]], [[Rana]]."

$fzo =
  1, 1, "Latein", p;
  2, 1, "Deutsch", p;
  "Katzen", 2, kat;
  "Rana", n, 1, fro;
  "Felis", n, 1, kat;
  "Frösche", 2, fro;
  "Kaninchen";
  2, 4, "";
  -tls; -sls;

Die lateinischen Namen können direkt aus dem Text gezogen werden. Da es nun nicht mehr notwendig ist, dass diese lateinischen Namen unten in der Liste auftauchen, wurden Sie zusätzlich mit dem Modifizierer n versehen.

Siehe auch Beispiel fzo_dd.

Und nun noch ein Beispiel mit freien Textfeldern:

Beispiel-Quellkode Aussehen in HTML (EF-Editor) (InternetExplorer 4.0)
$fzo =
  1, 1, "Latein", p;
  2, 1, "Deutsch", p;
  "Katzen", "Hauskatzen", "Rassekatzen",
     fn, (80, 8), 2, kat;
  "Rana", 1, fro;
  "Felis", 1, kat;
  "Frösche", fn, (80, 8), 2, fro;
  "Simba";
  2, 4, "";
  -tls; -sls;

Für die deutschen Namen gibt es Felder mit freier Texteingabe (Modifizierer f). Für die Katzen sind auch Synonyme erlaubt (ob das biologisch korrekt ist sei dahingestellt). Die deutsch Namen wurden außerdem in er Liste unterdrückt (Modifiziere n). (Das wäre nicht unbedingt nötig gewesen: wären sie in der Liste mit aufgetaucht hätte man Sie auch per Drag&Drop in die freien Textfelder ziehen können.

Siehe auch Beispiel fzo_free

Schalter:

 -sls (source list single) Jeder Listeneintrag nur einmal verwendbar / Liste wird abgebaut
Mit dieser Zusatzangabe wird für die Liste eine $sls-Liste verwendet, d.h. jeder Listeeintrag kann nur einmal verwendet werden und wird dabei aus der Liste entfernt (Liste wird "abgebaut").

Siehe dazu Beispiel fzo_sls.

 -tls (target list single) In jedes Zielfeld kann nur ein Eintrag gezogen werden
Mit dieser Zusatzangabe werden für die Zielfelder $tls-Targets verwendet, d.h. in jedes Zielfeld kann maximal ein Listeneintrag gezogen werden. Wird der Eintrag in ein Zielfeld gezogen, in dem sich bereits ein Eintrag befindet, so wird dieser (alte) Eintrag verdrängt (u. ggf. in die Liste zurückgeschrieben.

Siehe dazu Beispiel fzo_tls.

Wenn man beide Schalter einsetzt, erhält man eine Art mehrspaltiges $zo-Feld.

Siehe dazu Beispiel fzo_tls_sls.

-cols: xxx (columns) Anordnen der Liste in mehreren Spalten
Standardmäßig wir die Liste einspaltig dargestellt, mit diesem Schalter können Sie aber angeben (wie bei $sls und $slm), mit wie viel Spalten die Liste haben soll. Wenn Sie (im Extremfall) genauso viele Spalten angeben wie Einträge, werden die Einträge alle nebeneinander dargestellt.

 -border: xxx Rahmendicke
Mit dieser Angabe können Sie die Breite der Rahmen angeben (in Pixeln). Es ist auch möglich, die Dicke 0 anzugeben, in diesem Fall würde überhaupt kein Rahmen dargestellt.

 -width: xxx(%) Breite der $FZO-Tabelle
Mit dieser Angabe können Sie die Breite der Tabelle angeben und zwar entweder absolut in Pixeln oder prozentual im Verhältnis zur Aufgabe.

2.5.11.6 $cs - Chemische Struktur[Inhalt]

$cs definiert ein Eingabefeld für eine chemische Strukturformel (für organische Chemie) ... (genauere Beschreibung kommt demnächst, momentan gibt es noch kleinere Probleme bezüglich der Richtigkeitsprüfung der Eingaben bez. Symmetrien usw.) Die Eingabe im EF-Editor erfolgt ebenfalls mit Hilfe des Strukturpads, so dass die Zeichenkolonnen wie hier im Beispiel nicht von Hand eingegeben werden müssen

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$question =
  'Ergänzen Sie die Struktur zu Essigsäure!'

$cs = 370, 216,
  "C/75/57/95/71/0|1/98/64/121/64/0/2|
  C/124/57/130/71/0|1/133/64/159/64/2/4|
  O/162/57/176/71/0|2/127/54/127/34/2/6|
  O/123/17/131/31/0#C;C;O;O;1;1;2|
  0000111|0000100|0000010|0000001|
  1100000|1010000|1001000",
  -start:
    "C/75/57/95/71/0|1/98/64/114/64/0/2|
    C/117/57/137/71/0#C;C;1|001|001|110"

Siehe auch Beispiel cs

2.5.11.7 $argu - Eingabe für eine Argumentation[Inhalt]

Mit $argu wird eine Eingabefläche für eine komplette Argumentation angegeben.
Grobe Struktur der Angabe einer Argumentation in EF:

Hier ein Beispiel mit Zuordnung der Bestimmungsstücke für einen Argument-Prototyp:

Die Zeilenumbrüche dienen nur der Übersichtlichkeit, die Zuordnung, erfolgt über die geschweiften bzw. runden Klammern. Argument-Prototypen werden an den Platzhaltern [[...]] erkannt, die Listen der Platzhalter-Werte daran, dass sie als Platzhalter in Argumentprototypen vorkommen.
Ob Zeichenketten in Hochkommas eingefasst sind oder nicht ist bei $argu egal. Natürlich müssen Sie Zeichenketten mit " oder ' benutzen, wenn sie Kommas oder Klammern enthalten sollen.

Der Beispielkode ist sehr umfangreich. Schauen Sie dazu am besten in das  Beispiel argu.

Schalter:

 -instantfeedback Sofort-Feedback
Mit dieser Zusatzangabe wird bei jeder Änderung in der Argumentliste (neue Argumente, Umsortierungen) unmittelbar ein Feedback über mögliche Fehler gegeben.

2.5.11.8 Kombination von Eingabefeldern[Inhalt]

Eingabefelder verschiedener Arten können in den Antworttexten beliebig kombiniert werden, es gibt keine Einschränkungen.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer =
  "Die Stromstärke beträgt "
$st =
  4, "2"
$answer =
  " "
$mcp =
  0, "Volt";
  1, "Ampere";
  0, "Ohm"
$answer =
  "."

Siehe auch Beispiel comb.

3 Pads - Parallele grafische Darstellung von Texteingabe[Inhalt]

Chemopad - Eingabe chemischer Formeln     Mathepad - Eingabe mathematischer Formeln     Worträtselpad     Soundpad - Sounds direkt im Text

Für manche (meist naturwissenschaftliche) Aufgaben ist die Antwort als "linearer Text in Normalbuchstaben" unzureichend (z.B. Formel mit Indizes, Exponenten, spezielle Zeichen). Trotzdem möchte man aber in der Regel bei der bequemen Eingabe über Tastatur bleiben. Um diesen Spagat zu meistern bietet EF die Einbindung von sogenannten Pads an.
Dabei handelt es sich meist um eine Kombination aus einem normalen Kurztext-Eingabefeld und eigentlichen Pad, das den Inhalt dieses Textfeldes in geeigneter Weise mehr oder weniger grafisch darstellt. Die Pads werden innerhalb der $answer-Texte, des $question-Texts oder auch in der sichtbaren Texten anderer Eingabefelder angegeben und haben dort typischerweise folgende Form: [[@..: PadName : Daten... ]]

Momentan gibt es folgende Pads:

Name Buchstabe für Padbezeichner Beschreibung
ChemoPad c Ist maximal einem $st-Feld zugeordnet und stellt chemische Formeln und Reaktionsgleichungen dar.
Siehe Beschreibung ChemoPad.
MathePad m Ist maximal einem $st-Feld zugeordnet und stellt mathematische Ausdrücke dar.
Siehe Beschreibung MathePad.
WorträtselPad w Ist mehreren $st-Feldern zugeordnet und stellt ein Kreuzworträtsel dar.
Siehe Beschreibung WorträtselPad.
SoundPad s Ist nur einer Textstelle zugeordnet und spielt eine Sounddatei ab, wenn der Text mit der Maus überfahren oder angeklickt wird.
Siehe Beschreibung SoundPad.

3.1 Chemopad - Eingabe chemischer Formeln[Inhalt]

Im Chemopad werden chemische Formeln dargestellt, die in einem zugeordneten Kurztext-feld ($st) eingegeben werden.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
# Alkohol
$answer =
 "Die verkürzte Strukturformel
  lautet [[@c:struk]]."
$st = "@c:struk", 16, "CH3_CH2OH"

Jedem Pad ist ein Bezeichner zugeordnet. Er beginnt immer mit einem At-Zeichen (@) gefolgt von einem c (für ChemoPad). Dann kommt nach einem Doppelpunkt der "Fußnotentext" des Pads. Dieser muss eindeutig sein, d.h. darf in dieser Aufgabe kein weiteres Pad mit dem selben Fußnotentext geben.
Dieser Bezeichner wird dann bei dem entsprechenden Kurztext-Feld mit angegeben und im Antworttext an der entsprechenden Stelle eingefügt. Es ist auch möglich, ein und dasselbe Pad im Antworttext mehrfach anzugeben. Der Inhalt würde sich dann synchron immer auf das gemeinsame Eingabefeld beziehen.

Es ist auch möglich, die Belegung des Pads vorzudefinieren und es so nur zu Anzeige der Formeln zu verwenden. Dazu gibt man nach dem Bezeichner (durch Doppelpunkt getrennt) die entsprechende Zeichenkette an. Der Bezeichner kann dann sogar entfallen (nicht aber der Doppelpunkt).

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$question =
  "Beim Diammin-Quecksilberchlorid
  [[@c::[H3N_Hg_NH3]Cl2]] kommt es..."

Zur Funktionalität und der Umsetzung der chemischen Zeichen und Symbole siehe Beschreibung des Chemopads (incl. Demo).

Zur Prüfung einer Eingabe mit den vorgegebenen Werten wird ein relativ komplexer Mechanismus herangezogen. Er erkennt folgende gleichwertige Eingaben als richtig (Beispiel Vorgabe "SO2 + 2H2O <-> H3O+ + HSO31-")

Siehe auch Beispiel cp1, Beispiel cp2

3.2 Mathepad - Eingabe mathematischer Formeln[Inhalt]

Das Mathepad ist dem Chemopad sehr ähnlich. In ihm werden mathematische Ausdrücke dargestellt, die in einem zugeordneten Kurztext-feld ($st) eingegeben werden.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer =
  "Die Formel für den Satz des Phytagoras
  lautet in ihrer geläufigsten Form<BR>
  [[@m:phyt]]."

$st = "@m:phyt", 20, "a^2+b^2=c^2"

Jedem Pad ist ein Bezeichner zugeordnet. Er beginnt immer mit einem At-Zeichen (@) gefolgt von einem m (für MathePad). Dann kommt nach einem Doppelpunkt der "Fußnotentext" des Pads. Dieser muss eindeutig sein, d.h. darf in dieser Aufgabe kein weiteres Pad mit dem selben Fußnotentext geben.
Dieser Bezeichner wird dann bei dem entsprechenden Kurztext-Feld mit angegeben und im Antworttext an der entsprechenden Stelle eingefügt. Es ist auch möglich, ein und dasselbe Pad im Antworttext mehrfach anzugeben. Der Inhalt würde sich dann synchron immer auf das gemeinsame Eingabefeld beziehen.

Auch hier ist es möglich, die Belegung des Pads vorzudefinieren und es so nur zu Anzeige der Formeln zu verwenden. Dazu gibt man nach dem Bezeichner (durch Doppelpunkt getrennt) die entsprechende Zeichenkette an. Der Bezeichner kann dann sogar entfallen (nicht aber der Doppelpunkt).

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer =
  "Für Parallelschaltungen gilt
  [[@m::1/R_{ges} = 1/R_1 + 1/R_2]]
  Betrachtet man nun aber die Schaltung, ..."

Zur Funktionalität und der Umsetzung der mathematischen Symbole siehe Beschreibung des Mathepads (incl. Demo).

Siehe auch Beispiel mp1.

Der Vergleichsmechanismus ist im Moment noch nicht so weit fortgeschritten. Er basiert auf dem Vergleich der eingegebenen Zeichenketten, erkennt aber Vertauschungen bez. +, - und ± (\pm); d.h. die Kommutativität der Strichrechnung.

3.3 Worträtselpad[Inhalt]

Im Worträtselpad stellt ein rechteckiges Worträtsel dar, in dem Wörter abgestrichen werden können. Diese Worte werden in zugeordneten Kurztext-feldern ($st) angezeigt, bzw. können dort auch eingegeben werden, und zwar in Form von Koordinaten.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$answer =
  "[[@w:tiere: E,H,A,S,E; D,N,U,H,S;
  K,A,T,Z,E; M,H,N,E,L
]]<br>"

$st =
  "@w:tiere", 15, "e1-e4", -info: "Das Grautier."

$answer = ": Grautier<BR>"

$st =
  "@w:tiere", 15, "d2-a2", -info: "Der treue Wächter."

$answer = ": treuer Wächter<BR>"

Jedem Pad ist ein Bezeichner zugeordnet. Er beginnt immer mit einem At-Zeichen (@) gefolgt von einem w (für Worträtselpad). Dann kommt nach einem Doppelpunkt der Bezeichner des Pads. Dieser muss eindeutig sein, d.h. darf in dieser Aufgabe kein weiteres Pad mit dem selben Bezeichner  geben. Nach einem weiteren Doppelpunkt folgen die Einträge der Kästchen und zwar Zeilenweise (Zeilen werden durch Semikolon getrennt), innerhalb der Zeilen sind die Einträge durch Komma getrennt. Diese Einträge müssen nicht nur aus einzelnen Buchstaben bestehen sondern dürfen auch ganze Worte und Wortgruppen umfassen und jegliche Buchstaben und Zeichen enthalten (Komma und Semikolon müssen durch einen vorangestelltes Backslash (\) maskiert werden).
Dieser Bezeichner wird dann (in der Regel bei mehreren) Kurzztext-Feld mit angegeben; in diesen erscheinen dann die Koordinaten der markierten Kästchen. Daher muss als korrekte Lösung dieser Felder nicht etwa das Wort, sondern die Koordinatenkombination der gewünschten Lösung angegeben werden (siehe Beispiel).
Im Pad wird außerdem der Text der Info-Schalter des jeweils aktivierten Kurztextfeldes angezeigt (im obigen Bild der Kommentar "Das Grautier.").

Siehe auch Beispiel wortraetselpad.

3.4 Soundpad - Sounds direkt im Text[Inhalt]

Das Soundpad ist ein Sonderfall des Pads, es ist nämlich nicht mit einem Eingabefeld verkoppelt, sondern weist nur einem bestimmten Stück Text ($answer, $question) eine Sounddatei zu, die abgespielt wird, wenn später mit der Maus über diesen Text gefahren wird, bzw. direkt geklickt.

Beispiel-Quellkode Aussehen in HTML (EF-Editor)
$question =
  "Beantworte die Frage!"

$answer =
  "Bei einem [[@s:tshirt.wav,T-Shirt,move]]
   bedeutet die Angabe ...

(Natürlich gibt es hier nicht wirklich viel zu sehen, beim überfahren von "T-Shirt" würde die Datei tshirt.wav abgespielt)

Daher benötigt dieses Pad auch keinen Bezeichner. Die Definition beginnt mit einem At-Zeichen (@) gefolgt von einem s (für SoundPad). Dann kommt nach einem Doppelpunkt der Name der Sound-datei (evtl. mit Pfadangabe), danach durch Komma getrennt der Text des Pads (wenn dieser Kommas enthalten soll, müssen diese mit Backslash (\) maskiert werden). Danach, ebenfalls durch Komma getrennt die Angabe move oder click, die festlegt, ob der Sound beim Überfahren mit der Maus oder nur beim Klicken abgesielt werden soll. Fehlt diese letzte Angabe, so wird move verwendet.

Wird aus der EF-Datei eine Aufgabe für ein Ausgabemedium erzeugt, das keine Sound abspielen kann (z.B. Word), dann wird das Pad ignoriert, der Text aber dargestellt.

Alternativ können solche Soundpads auch über HTML-Spezialparameter erzeugt werden.

Siehe auch Beispiel soundpad.

4 Ausflug nach HTML[Inhalt]

Die gängigsten Tags     Tipps für Links (Verweise) und Popup-Fenster     Spezielle HTML-Parameter in EF

Da fast alle bisherigen Endanwendungen der Aufgaben über HTML realisiert sind, ist es zulässig, in allen Texten auch HTML-Tags zu verwenden, um Texte zu formatieren oder Bilder einzufügen. Wie das genau geht, kann man in sämtlichen HTML-Anleitungen lesen (z.B. http://www.selfhtml.de), hier soll aber ein kurzer Ausschnitt der gängigsten Befehle gebracht werden und auf Besonderheiten bei EF eingegangen werden..

Allgemeines zu HTML-Tags (Tag ... Anhängsel, Etikett, Aufkleber):

4.1 Die gängigsten Tags[Inhalt]

Hier die häufigsten Tags zur Schriftformatierung und zum Einfügen von Bildern und anderen Medien.

Fetter Text
Tag-Name B
Beispiel: Code in EF Aussehen im Browser
<B>fetter Text</B>
fetter Text
der <B>Hund</B> und die <B>Katze</B>
der Hund und die Katze
 
Kursiver Text
Tag-Name I
Beispiel: Code in EF Aussehen im Browser
<I>kursiver Text</I>
kursiver Text
nach <I>oben</I> und <I>unten</I>
nach oben und unten
 
Unterstrichener Text
Tag-Name U
Beispiel: Code in EF Aussehen im Browser
<U>unterstrichener Text</U>
unterstrichener Text
<U>Unterstreiche</U> die Grund<U>wörter</U>!
Unterstreiche die Grundwörter!
 
Schriftart, -größe, -farbe
Tag-Name FONT
Parameter: face="Schriftart" ... Schriftart einstellen
  • verwenden Sie die üblichen Schriftnamen, z.B. "Arial", "Fraktur BT", "Times New Roman"
  • Empfehlung: Verwenden Sie möglichst nur geläufige Schriftarten, die auch auf jedem Rechner installiert sind
  • Tipp: auf diese Weise können Sie bequem kleine Icons einbinden (z.B. Schriftart Wingdings, Webdings)
  • Tipp: auf diese Weise können Sie auch griechische Buchstaben darstellen (Schriftart Symbol) (Achtung: Netscape 6.1 hat Probleme mit der Symbol-Schriftart)
size="Schriftgröße" ... Schriftgröße einstellen
  • als Schriftgröße sind die Zahlen von 1 (klein) bis 7 (riesig) zugelassen
  • die normal voreingestellte Größe ist 3
color="Farbcode" ... Schriftfarbe einstellen
  • die Farbcodierung ist etwas kniffliger, der Code hat die Form #RRGGBB, wobei RR, GG und BB die Intensität der Grundfarben Rot, Grün und Blau als hexadezimalen Wert (von 00 bis FF) angibt
  • Tipp: Am besten, Sie suchen sich den Code in einer Farbtabelle heraus, z.B. http://www.selfhtml.de 
Beispiel: Code in EF Aussehen im Browser
<FONT face="Comic Sans MS">Comic Bombe</FONT>
<FONT face="Wingdings">M</FONT>
Comic Bombe M
ein <FONT size="5">riesen Text</FONT>
ein riesen Text
die <FONT color="#008000">grüne</FONT> Wiese
die grüne Wiese
das große rote <FONT face="Symbol" size="6" color="#FF0000>P</FONT>
das große rote P
 
Hochgestellter Text
Tag-Name SUP
Beispiel: Code in EF Aussehen im Browser
ein Text<SUP>wird hochgestellt</SUP>
ein Textwird hochgestellt
a<SUP>2</SUP> + b<SUP>2</SUP> = c<SUP>2</SUP>
a2 + b2 = c2
 
Tiefgestellter Text
Tag-Name SUB
Beispiel: Code in EF Aussehen im Browser
ein Text<SUB>mal tiefgestellt</SUB>
ein Textmal tiefgestellt
m<SUB>1</SUB> + m<SUB>2</SUB> = m<SUB>ges</SUB>
m1 + m2 = mges
 
Manueller Zeilenumbruch
Tag-Name BR
Beispiel: Code in EF Aussehen im Browser
Alle meine Entchen <BR> schwimmen auf dem See
Alle meine Entchen
schwimmen auf dem See
Alpha <BR> Beta <BR> Gamma
Alpha
Beta
Gamma
 
Grafiken einbinden
Tag-Name IMG
Parameter: src="Grafikdatei" ... Bilddatei 
  • die Grafik muss als Datei im GIF, JPG oder PNG-Format vorliegen, damit der Browser sie auch darstellen kann
align="Ausrichtung" ... Ausrichtung des Bildes
  • als Werte für die Ausrichtung ist
      "left" (links im Absatz)
      "right" (rechts im Absatz)
      "top" (Oberkante der Zeile)
      "bottom" (Unterkante der Zeile)
    zugelassen
width="Breite" ... Breite des Bildes auf dem Bildschirm
  • wird als Zahl in Pixeln angegeben
  • wird der Parameter weggelassen, stellt der Browser das Bild in Originalgröße dar 
height="Höhe" ... Höhe des Bildes auf dem Bildschirm
  • wird als Zahl in Pixeln angegeben
  • wird der Parameter weggelassen, stellt der Browser das Bild in Originalgröße dar
Beispiel: Code in EF Aussehen im Browser
Körndle <img src="fzo1.gif">
Körndle
 
Videos einbinden (und andere Medien)
Tag-Name EMBED
Parameter: src="Mediendatei" ... Videodatei bzw. Datei anderen Mediums
  • das Medium muss in einem Dateiformat vorliegen, das der Browser darstellen kann (bzw. für das der Nutzer (wahrscheinlich) ein Plugin  installiert hat) (für Videos z.B. das MPEG-Format, oder auch AVI oder MOV)
align="Ausrichtung" ... Ausrichtung des Mediums auf dem Bildschirm
  • als Werte für die Ausrichtung ist
      "left" (links im Absatz)
      "right" (rechts im Absatz)
      "top" (Oberkante der Zeile)
      "bottom" (Unterkante der Zeile)
    zugelassen
width="Breite" ... Breite des Mediums
  • wird als Zahl in Pixeln angegeben
  • wird der Parameter weggelassen, stellt der Browser das Medium in Originalgröße dar 
height="Höhe" ... Höhe des Mediums
  • wird als Zahl in Pixeln angegeben
  • wird der Parameter weggelassen, stellt der Browser das Medium in Originalgröße dar
Beispiel: Code in EF Aussehen im Browser
<embed src="schwein.mov" align="left" height="250" width="350"> Video
Video

4.2 Tipps für Links (Verweise) und Popup-Fenster[Inhalt]

Es ist auch möglich Verweise auf Internetseiten oder zusätzliche eigene HTML-Seiten einzufügen. Das dazu verwendete <A>-Tag hat folgende Parameter:

Verweis (Link)
Tag-Name A
Parameter: href="Ziel" ... Verweisziel angeben
  • das Ziel muss eine Internetadresse (z.B. "http://selfhtml.de") oder eine im Browser darstellbare Datei sein (z.B. "Messdaten.htm", "bilder/foto3.gif")
target="Fenstername" ... Zielfenster
  • um das den Verweis in einem neuen Fenster zu öffnen können sie hier einen Namen vergeben. Existier schon ein Fenster omit diesem Namen, so wird der Verweis dort geöffnet (das Fenster wird dabei automatisch in en Vordergrund geholt). Wenn Sie "_blank" angeben, öffnet sich der Verweis jedes mal in einem neuen Fenster.
onclick="Befehle" ... JavaScript-Befehle beim Anklicken ausführen
  • de angegebenen JavaScript-Befehle werden ausgeführt, wenn mit der Maus auf den Link geklickt wird. Es soll hier nicht näher auf JavaScript eingegangen werden, in den Beispielen wir dieser Parameter aber verwendet. Von dort können Sie sich die entsprechenden Befehle einfach kopieren (bzw. siehe http://www.selfhtml.de
Beispiel: Code in EF Aussehen im Browser
<A href="tw.htm" target="tw">Tafelwerk</A>
Tafelwerk
<A href="http://studierplatz2000.tu-dresden.de">Studierplatz Homepage</a>
Studierplatz Homepage

Um Popup-Fenster zu erzeugen gibt es je nach gewünschter Erscheinungsform mehrere Möglichkeiten. Die einfachste wäre

<a href="http://www.call.tu-dresden.de" target="_blank">Einfaches Popup</a>

Es wird dabei ein neues Fenster geöffnet, das aber ungefähr die Größe es aufrufenden Fensters hat und so im Extremfall den ganzen Bildschirm verdecken kann. Um ein Fenster mit einer vorgegebenen Größe zu erzeugen, muss man JavaScript verwenden:

<a href="#" onclick="window.open('http://www.call.tu-dresden.de', '_blank', 'width=400,height=300')">Popup mit fester Größe</a>

Erläuterung: Man ruft den Javascript-Befehl window.open() auf und übergibt dabei 3 verschiedene Parameter (jeweils in einfachen Hochkommas):

Damit der Verweis auch als solcher dargestellt wird, muss bei <A> der Parameter href angegeben werden, da er aber nicht den normalen Weiterleitungsmechanismus verwenden soll, gibt man als Ziel einfach # an, also href= "#".
Beispiel für ein Popup-Fenster, das an einer speziellen Stelle erscheinen soll:

<a href="#" onclick="window.open('http://www.call.tu-dresden.de', '_blank', 'left=200,top=10,width=400,height=300')">Popup mit fester Größe und Positione</a>

Für Fortgeschrittene: Mit etwas Trickserei kann man das Fenster auch abhängig vom rechten oder unteren Rand positionieren. Dazu ermittelt man mit Hilfe von screen.availWidth und screen.availHeight die Größe des Bildschirms und berechnet damit Angaben für left und top.

<a href="#" onclick="window.open('http://www.call.tu-dresden.de', '_blank', 'left='+(screen.availWidth-450)+',top='+(screen.availHeight-320)+',width=400,height=300')">Popup mit fester Größe und Position vom Rand </a>

Im Beispiel wäre es ein Fenster mit den Abmessungen von 400x300 Pixeln, dessen linke obere Ecke 450 Pixel von rechten Rand und 320 Pixel vom untere Rand entfernt ist, d.h. das Fenster hat zum rechten Rand einen Abstand von 50 (=450-400)  und zum unteren Rand eine Abstand von 20 (=320-300) Pixeln.

Achtung: In den obigen Beispielen wurden die Anführungszeichen der Übersichtlichkeit halber nicht maskiert. Wenn Sie die Beispiele in ihre Aufgaben kopieren müssen Sie noch entweder die " oder ' maskieren (siehe Zeichenketten).

4.3 Spezielle HTML-Parameter in EF[Inhalt]

Um spezielle Funtionalitäten zur Verfügung zu stellen ohne den Quelltext unnötig zu verkomplizieren, gibt es bei EF Spezialparameter für HTML-Tags die aber nur vom EF-Editor/Compiler umgesetzt werden.

sound="..."
Bei einem beliebigen Tag (z.B. Grafik) kann der Parameter sound angegeben werden, dem eine Sound-Datei zugeordnet wird. Der EF-Editor erzeugt dann daraus automatisch HTML-Kode, der beim überfahren des entsprechenden Tags mit der Maus die Sound-Datei abspielt.

$answer = 'Es war einmal eine kleine Note <img src="note.gif" sound="note1.pm3">."

Alternativ könnte man das ganze auch über ein Soundpad realisieren.

$answer = 'Es war einmal eine kleine Note [[@s:note1.mp3, <img src="note.gif">]]."

large="..."
Bei einer Grafik kann über den Parameter large eine (größere) Grafik angegeben werden, die eingeblendet wird, wenn die Grafik mit dem Mauszeiger überfahren wird. Auf diese Weise können in den Aufgaben größere Grafiken verwendet werden, ohne dass zuviel Bildschirmplatz verbraucht wird.

$answer = 'Betrachten Sie das folgende Bild.<BR>
           <img src="rubens2.jpg large="rubens2_xl.jpg">"

Siehe auch Beispiel large.

5 Beispiele[Inhalt]

Hier einige EF-Dateien, zur Illustration mit ihren Darstellungen, wie sie vom EF-Editor erzeugt werden.

Beispiel mcr Spannungsänderung Multiple Choice mit Radio Buttons ($mcr)
Beispiel mcp Lückentext Multiple Choice mit Pull-Down-Menüs ($mcp)
Beispiel mcx Nichtleiter Multiple Choice erweitert ($mcx)
Beispiel mcs Fragebogen 1 Multiple Choice Scale ($mcs)
Beispiel mca Fragebogen 2 Multiple Choice Analog ($mca)
Beispiel vr Titanic Verifikation ($vr)
Beispiel memo1 Sir Badminton Langer Antworttext ohne Lösungskontrolle ($MEMO)
Beispiel memo2 Regenbogen Langer Antworttext mit Lösungskontrolle ($MEMO)
Beispiel st Märchen Kurzer Text ($st)

Beispiel lt

Latein Langer Text ($lt)
Beispiel tf Klassisches Konditionieren Offenes Target ($tf)
Beispiel tfm Bremer Stadtmusikanten Offenes Target für mehrere Texte ($tfm)
Beispiel ts Klassisches Konditionieren Target Single ($ts)
Beispiel tm1 Substantive - Verben Target Multi ($tm)
Beispiel tm2 Substantive - Verben Target Multi mit Anfangsbelegung ($tm)
Beispiel tls1 Grammatik

Target List Single ($tls, $slm)

Beispiel tls2 Englische Grammatik Target List Single (mit Drag&Drop aus dem Text) ($tls, $sls)
Beispiel tlm Biologie Target List Multi ($tlm, $sls)
Beispiel sls English Liste, Single  ($tls, $sls)
Beispiel slm Physik Liste, Multi ($tls, $slm)
Beispiel zo1 KK-Begriffe Zuordnung ($zo)
Beispiel zo2 Tiere Zuordnung ($zo)
Beispiel fzo1 Raubtiere Freie Zuordnung ($fzo)
Beispiel fzo2 study2000 Freie Zuordnung ($fzo)
Beispiel fzo3 Latein Grammatik Freie Zuordnung ($fzo)
Beispiel fzo_sls Künstler in Deutschland und Italien Freie Zuordnung mit einfacher Liste ($fzo, -sls)
Beispiel fzo_tls Latein 2 Freie Zuordnung mit einfachen Feldern  ($fzo, -tls)
Beispiel fzo_tls_sls Europäische Künstler Freie Zuordnung mit einfachen Feldern und einfacher Liste  ($fzo, -tls, -sls)
Beispiel fzo_joker Bio Freie Zuordnung mit Jokern in den Positionsangaben ($fzo)
Beispiel fzo_posvar Bio-Latein 1 Freie Zuordnung mit Positionsvariablen ($fzo)
Beispiel fzo_dd Bio-Latein 2 Freie Zuordnung mit freiem Drag&Drop aus dem Text ($fzo)
Beispiel fzo_free Bio-Latein 3 Freie Zuordnung mit freien Textfeldern ($fzo)
Beispiel comb Widerstand Kombination ($st, $mcp)
Beispiel cp1 Alkohol ChemoPad (ChemoPads)
Beispiel cp2 Karbid ChemoPad (ChemoPad)
Beispiel_mp1 Phythagoras MathePad (MathePad)
Beispiel wortraetselpad Wortraetsel WorträtselPad (WortraetselPad)
Beispiel soundpad T-Shirts SoundPad (SoundPad)
Beispiel large Sixtinische Madonna HTML-Spezialparameter "large" (HTML-Spezialparameter)
Beispiel multi1 Harry Potter Multi-Typ ($type, $next) 
Beispiel multi2 Latein-Sätze Multi-Typ ($type, $next)
Beispiel step Troja Step-Typ ($type, $next)
Beispiel card Troja II Card-Typ ($type, $next, $card)
Beispiel feedback Romanes eunt domus Gestaffeltes Feedback für $LT ($lt, -systError)
Beispiel fhints Olsenbande Eingabefeldspezifische Hinweise (-fHints)

Originalquelle im WEB: http://linus.psych.tu-dresden.de/Stupla/ef/doc/ef.htm