Variablensetzung Syntax Flag (JACK3)

Aus JACK Wiki
Version vom 10. Juli 2024, 14:19 Uhr von Mschypula (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Für die Darstellung von JACK-Variablen im Fließtext bieten die sogenannten Syntax Flags eine Hilfestellung an. Diese sollen ermöglichen, die Variablen besser darzustellen. Dabei ist zu beachten, dass die hier beschriebenen Funktionen den Wert der Variable nicht verändern. Die hier beschriebene Syntax darf nur im Kontext der Textausgabe, also z.B. im Aufgabentext, als Hinweis, beim Feedback-Text und im Feedback beim Überspringen verwendet werden. Sie darf nicht in Evaluator-Ausdrücken auftauchen.

Aufbau der Syntax

  1. Beginnt mit dem folgenden String [var=, [input=, [meta= oder [check= gefolgt von dem Namen der Variable.
  2. Es folgt (optional) eine kommaseparierte Liste der folgenden Flags:
    1. latex erzeugt eine LaTeX Ausgabe (zusätzlicher Hinweis s.u.)
    2. decimals= Anzahl der Nachkommastellen die angezeigt werden sollen, dabei können maximal 12 angezeigt werden
    3. siprefix=
      1. base10 ist die 10er Potenz der Zahl
      2. symbol Symbol für Tausend, Millione, usw.
  3. Am Ende folgt noch eine schließende eckige Klammer ].

Hinweis: Bei Verwendung des latex-Flags muss der Ausdruck zwischen Dollarzeichen ($) gesetzt werden, damit eine korrekte Ausgabe in LaTeX erfolgt. Ausdrücke ohne das Flag können ebenfalls mit Dollarzeichen umschlossen werden; in diesem Fall kann es allerdings zu Darstellungsproblemen kommen, da versucht wird, den Ausdruck als LaTeX-Formel zu interpretieren.

Beispiele

Für die Variable var1=(1+1)/3 ergibt die entsprechende Syntax Flag folgende Ausgabe:

[var=var1]    --> ((2)/(3))
[var=var1,latex]    --> frac{2}{3}
$[var=var1,latex,decimals=6]$    --> \(0,666667\)
[var=var1,decimals=6]    --> 0,666667

Für die Variable in der Plain-Umgebung var2=[(1+1)/3] ergibt die entsprechende Syntax Flag folgeden Ausgabe:

[var=var2]    --> ((1+1)/(3))
$[var=var2,latex]$    --> \(\frac{1+1}{3}\)


Für die Variable var3=matrix(matrixrow(1,[var=var2]),matrixrow(0,4)) ergibt die entsprechende Syntax Flag folgende Ausgabe:

[var=var3]    --> [[1,((2)/(3))],[0,4]]
$[var=var3,latex]$    --> \(\left( \begin{array}{rr} 1 & \frac{2}{3} \\ 0 & 4 \\ \end{array}\right)\)

Für die Variable var5=[27 * 5 * 'x'] ergibt die entsprechende Syntax Flag folgende Ausgabe:

[var=var5]    --> 27*5*x
$[var=var5,latex]$    --> \(27 \cdot 5 \cdot x\)

Für die Variable var6=concat(27*5,'x') ergibt die entsprechende Syntax Flag folgende Ausgabe:

[var=var6]    --> 135x
$[var=var6,latex]$    --> \(135x\)

Für die Variable var7=299792458 ergibt die entsprechende Syntax Flag folgende Ausgabe:

[var=var7]    --> 299792458
$[var=var7,latex]$    --> \(299792458\)
[var=var7,siprefix=base10]    --> 299.792458*10^6
$[var=var7,latex,siprefix=base10]$    --> \(299.792458 \cdot 10^6\)
[var=var7,siprefix=symbol]    --> 299.792458M
$[var=var7,latex,siprefix=symbol]$    --> \(299.792458 M\)
[var=var7,siprefix=symbol,decimals=2]    --> 299.79M
$[var=var7,siprefix=base10,decimals=0,latex]$    --> \(300 \cdot 10^6\)