Editor
Die App besteht aus einen Viewer und einem Editor, wobei mit dem Editor Markdowntexte geschrieben werden können, die dann geparst und zu HTML umgeformt werden. HTML kann dann vom Browser gerendert werden. Speziell an diesem Parser ist vor allem, dass er
- Latex Formeln rendern kann (mit der Katex Bibliothek)
- mit Markdown Komponenten (MDC) umgehen kann. Jede MDC führt ein Javascript Programm aus. Damit können im Viewer beiliebig komplexe Programme ausgeführt werden. Zum Beispiel kann eine Geogebra-Seite eingebettet werden, Bilder vom Netz heruntergeladen werden, usw.
A. Markdown
Der Markdown Dialekt ist GFM (Github's Markdown). Siehe dazu beliebige Cheatsheets im Internet, zum Beipiel hier.
B. Latex Formeln
Inline Latex Formeln werden im Editor mit Dollarzeichen umrahmt, etwa $x^2$, was dann zu gerendert wird. Block Formeln sind mit zwei Dollarzeichen umrahmt. Speziell zum normalen Latex ist, dass die Dollarzeichen auf eigenen Linien stehen müssen:
$$
\int_0^3 x^2\, dx
$$
was dann gerendert wird zu
Makros
Katex hat einen limitierten Befehlssatz (im Vergleich zu Latex). Einige Befehle sind mit Makros hinzufügt worden:
-
Katex kennt den Befehl
\unit[]{}nicht, und er lässt sich nicht emulieren, da Katex optionale Argumente nicht kennt (die Logik fehlt). Simon hat zwei Makros geschrieben:- Nur die Einheit
$10\unit{cm}$: - Zahl und Einheit
$\qty{10}{mm}$:
- Nur die Einheit
-
Makros für Zahlenmengen sind
$\R, \Q, \Z, \N, \irrational$:
C. Markdown Komponenten (MDC)
Markdown Komponenten beginnen mit einem : (Tools) oder mit einen :: (Umgebungen).
Tools
Tools sind Befehle, eventuell mit Argumenten:
:def[Baum]nimmt das Work Baum in die Menge der Definitionen im Kapitel auf. Diese werden im Text rot angestrichen, und erscheinen auch in der Kapitelübersicht.:image{src="quadFuncGraph.png"}lädt das Bild quadratischeFunktionen in den Text. Das Bild mit diesem Namen muss zuerst im Bildalbum des Kapitels heraufgeladen werden.
:geogebra{url="valid url"}bettet ein (interaktives) Geogebra Applet im Text ein. Das Applet muss zuerst online erstellt werden, und dann vom Einbettungsiframelink extrahiert werden. Siehe unten für ein Beispiel (aufklappen).
Umgebungen (Envs)
Umgebungen sind Boxen, in der Text formatiert wird. Alle Umgebungen sind ähnlich aufgebaut. Sie haben einen Hintergrund und einen Titel, und es können Untertitel, Text, und aufklappbare Beweis oder Lösung hinzugefügt werden (Slots). Einige Umgebungen (Beipiel, Aufgabe, Definition) werden innerhalb eines Kapitels automatisch numeriert. Und jede Umgebung lässt sich als .png ins Clipboard kopieren. Umgebungen starten und enden mit ::, wobei auch Argumente mitgegeben werden können (was die jetztigen Umgebungen aber noch nicht brauchen).
::example{title="title on same line"}
#title
#content
#solution (oder #proof)
::
Umgebungen können auch beliebig verschachtelt werden (wir starten und beenden sie dann wir drei Doppelpunkten), obwohl dies wohl eher selten vorkommen wird. Innere Umgebungen beginnen und enden mit einem Doppelpunkt mehr.
Einzelne Slots können auch weggelassen werden.
Und hier ist Text, etwa eine Aufgabe1
Solution
Und hier die Lösung
Beispiel ohne Untertitel, mit Text und Lösung
Solution
Lösung ist hier.
oder ganz kurz
Text ohne Untertitle und ohne Lösung.
Text mit Titel auf gleicher Linie wie "example"
Footnotes
-
yep! ↩