/latex/befehle — LaTeX-Befehle
Hinweis: Rahmen: 00-rahmen.md. Code:
packages/plugins/src/latex/.
Wofür
Die Befehlsliste des Bereichs LaTeX (LX03 Gerüst, LX05): die Grundliste mit dem LaTeX-Kern und gängigen Paketen, darunter die eigenen Befehle des Kontos. Bis zum 09.10.2026 war sie der Startschirm unter /latex; seither öffnet der Bereich mit den Texten (latex-texte.md), und Befehle und Snippets sind Einrichtung dahinter (LX-261009-latex-oeffnet-texten, Rückmeldung 5ccf1910: „nach klick möchte ich einen editor öffnen können und nicht die standard befehle sehen“). Diese Datei beschreibt daneben den Bereich im Ganzen: Schalter, Vorschläge und Snippets beim Tippen. Aus ihr schöpfen die Vorschläge beim \ (LX06) und Snippets beim ; (LX08): im Formelblock und im Textfeld der Karteikarte (Abschnitte „Vorschläge beim Tippen“ und „Snippets beim Tippen“). Die Snippets (Kürzel mit Sprungstellen, LX07) haben einen eigenen Schirm, /latex/snippets, die LaTeX-Texte (ganze Projekte, LX09, LX10) den Anfang des Bereichs, /latex; von der Kopfzeile dieser Seite führen die Verweise „Snippets“ und „Texte“ dorthin.
Weg und Rahmen
| Route | /latex/befehle; der Bereich selbst öffnet unter /latex mit den Texten |
| Zugang | der Knopf „Befehle und Snippets“ im Kopf von /latex, der Verweis „Befehle“ in /latex/snippets |
| Merkmal | LATEX, eigener Schalter, ab Werk aus |
| Knoten im Rechtebaum | gold.latex |
| Zimmer | Lesesaal, mit dem Studium · Lautstärke 2 · Zeichen formel · Form blatt |
| Farbe | eigenes Himmelblau #9ad4ff (N442, N446) |
Jeder hat den Bereich im Paket mitglied, aber er ist aus (N445). Angeschaltet wird er in den Einstellungen. Schaltet jemand das Studium an, schaltet sich LaTeX mit an (folgt dem Studium, N446); einzeln lässt er sich wieder ausschalten. Die Abhängigkeit stellt seit dem 10.10.2026 ein Admin unter Verwaltung › Neue Konten › Welcher Bereich welchem folgt (Instanzvorgabe plugins.folgen, LX24); FOLGT_DEM_BEREICH (@shared/types/capabilityTypes) ist nur noch die Vorgabe ab Werk. Sie wird beim Anlegen eines Kontos, beim Umschalten und beim Aufnehmen bestehender Konten angewandt. Am Schalter in den Einstellungen steht sie als Satz: unter LaTeX „Geht mit Studium an und aus; einzeln umlegen geht trotzdem.“, unter dem Studium „Schaltet LaTeX mit an und aus.“
Was man sieht
Der Titel „LaTeX-Befehle“, das Suchfeld „Befehl, Wort oder Paket suchen…“ und in der Kopfzeile die Verweise „Snippets“ und „Texte“ (zurück an den Anfang /latex). Darunter zwei Abschnitte: Deine Befehle (nur, wenn es welche gibt) und die Grundliste. Jede Zeile trägt links den Befehl in Fira Code, in der Mitte das deutsche Wort und, wenn das Paket nicht der Kern ist, dessen Namen, rechts das Beispiel. Was KaTeX setzt, steht gesetzt da; was es nicht setzt (etwa \documentclass) oder was nur im Text gilt, steht als Quelltext. Am Telefon rückt das Beispiel unter Befehl und Wort. Die Zeilen trennt seit dem 10.10.2026 eine Haarlinie in neutral.rand; vorher war jede Zeile ein eigener gerahmter Kasten (ES-261009-listen-flaechen-statt).
Fällt die Abfrage aus, bleibt der letzte Stand stehen, und eine Marke sagt, dass Denotato nicht antwortet (Grundsatz 33).
Vorschläge beim Tippen
Wer im Formelblock oder in einer Karteikarte (zwischen zwei $) einen Rückstrich und die ersten Buchstaben tippt, bekommt eine Liste, die beim Weitertippen filtert — höchstens acht Zeilen, am Cursor. Jede Zeile trägt links den Befehl in Fira Code, in der Mitte das deutsche Wort und rechts die gesetzte Vorschau in Serifenschrift; die gewählte Zeile ist violett. Am Telefon fällt das Wort weg. Es erscheinen nur Befehle, die KaTeX setzt und die in Formeln gelten (N434, LX05).
- Einsetzen mit Tab oder Eingabe, per Klick oder Antippen; Pfeil auf und ab wählt, Escape schließt. Für Vorleser ist die Liste eine Auswahlliste (
listbox). Solange die Liste zu ist, behalten Tab und Eingabe ihre Bedeutung. - Die Reihenfolge lernt je Konto (D4): Jeder eingesetzte Befehl zählt eins; was das Konto häufiger nimmt, steht weiter oben, bei Gleichstand die eigenen Befehle vor der Grundliste.
\begin{schlägt Umgebungen vor und schreibt das passende\end{…}gleich dazu (D5). Im Formelblock steht die Mitte in einer eigenen Zeile mit dem Cursor; in der Karte bleibt es in einer Zeile, weil eine Formel zwischen$keinen Umbruch verträgt.- Ein neuer oder geänderter eigener Befehl steht sofort in den Vorschlägen.
Snippets beim Tippen
Der Trenner des Kontos (Vorgabe ;, Einstellung latex.snippetTrenner) öffnet im Formelblock und in einer Karteikarte die Liste der Snippets; sie filtert beim Weitertippen des Namens (LX08, N464). Sie sieht aus wie die Befehlsliste: Zeilen von 44 px, links das Kürzel mit Trenner (;fr) in Fira Code, daneben leiser das Wort, rechts der Rumpf gesetzt — eine Sprungstelle ohne Vorgabe als leeres Kästchen, eine mit Vorgabe als ihr Text (N434). Snippets, die nur im Text gelten, zeigen ihren Quelltext in einer Zeile. Am Telefon fällt das Wort weg.
- Einsetzen mit Tab oder Eingabe, per Klick oder Antippen; Pfeile wählen, Escape schließt. Direkt hinter dem bloßen Trenner nimmt nur Tab ein Snippet, die Eingabetaste bricht die Zeile um — wer in einem Satz
;tippt und weiterschreibt, bekommt kein Snippet untergeschoben. - Danach springt die Schreibmarke durch die Sprungstellen: Tab vor, Umschalt und Tab zurück, Escape beendet die Folge; Stellen mit gleicher Nummer schreiben sich mit. In der Karte läuft dieselbe Folge im Textfeld, ohne CodeMirror.
\;löst nichts aus. Nach einer ungeraden Zahl von Rückstrichen ist;der LaTeX-Abstand; findet die Liste nichts, bleibt;einfach stehen.- Mathe oder Text (E3): Der Formelblock ist immer Mathe. In der Karte entscheidet die Stelle — zwischen zwei
$gelten die Mathe-Snippets, sonst die für Text. Formelrümpfe stehen in der Karte in einer Zeile, weil eine Formel zwischen$keinen Umbruch verträgt. - Umschließen (E6): Text markieren, den Trenner tippen, ein Snippet wählen — der markierte Text steht an der Stelle von
${TM_SELECTED_TEXT}. Ist etwas markiert, stehen die umschließenden Snippets oben, und ihre Vorschau zeigt den markierten Text. Ein Snippet ohne diese Stelle ersetzt die Markierung, wie in VS Code. - Was im Schirm /latex/snippets gespeichert oder gelöscht wird, gilt im nächsten Feld, das man öffnet; sonst holt die Liste die Snippets einmal je Sitzung. Antwortet Denotato nicht, bleibt die Liste leer und
;ein gewöhnliches Zeichen (Grundsatz 33). Das Probierfeld dort öffnet keine Liste, weil es das eine Snippet einsetzt, das man gerade bearbeitet.
Was man tun kann
- Suchen. Das Suchfeld filtert im Browser nach Befehl, Wort und Paket.
- Einen eigenen Befehl anlegen (Knopf „Eigener Befehl“): Befehl, Wort, Beispiel, wo er gilt (Formeln, Text oder beides), Paket, ob KaTeX ihn setzt, ob er eine Umgebung ist. Bis zu 500 je Konto; derselbe Befehl kommt im Konto nur einmal vor.
- Einen eigenen Befehl ändern oder löschen. Knöpfe an der Zeile.
- Die Grundliste pflegen — nur mit der Fähigkeit
latex.befehle(Paketmitarbeiter): Dieselben Knöpfe stehen dann auch an der Grundliste. Wer sie nicht hat, sieht die Liste und kann sie nicht ändern; der Server prüft es noch einmal. - Kategorien pflegen — nur mit
latex.befehle, und nur, solange das Suchfeld leer ist (LX-261019-befehlssuche-symbolen, Christian am 19.10.2026: „Kategorien pflegt ein Admin“). Der Abschnitt „Kategorien“ zeigt je Kategorie ein Feld „Name der Kategorie“, das beim Verlassen speichert, „Nach oben“ (↑, nicht in der ersten Zeile), „Nach unten“ (↓, nicht in der letzten) und „Löschen“; darunter „Neue Kategorie“ mit „Anlegen“. Ein Fehler kommt als Kurzmeldung. Die Kategorien sind die Reiter im Symbolfach des Editors, in dieser Reihenfolge. Das Formular eines Befehls wählt seine Kategorie („Ohne Kategorie“ oder eine davon), sobald es eine gibt; in der Liste steht der Name der Kategorie hinter dem Wort. Wird eine Kategorie gelöscht, stehen ihre Befehle ohne Kategorie da.
Den Bereich an- oder ausschalten geht in den Einstellungen unter den Bereichen.
Woher die Daten kommen
personal.latex_befehle— die Grundliste, für alle Konten gleich, ohne Zeilensicherheit. Die erste Füllung (118 Einträge: Kern,amsmath,amssymbund weitere) legt die Wanderung 204 einmalig an; danach pflegt sie ein Admin im Schirm (Grundsatz 72).personal.latex_befehl_gebrauch— wie oft das Konto einen Befehl eingesetzt hat (Wanderung 205), je Konto und Befehl eine Zeile mit Anzahl und Zeitpunkt, mit Zeilensicherheit. Höchstens 2000 Zeilen je Konto; ist die Tabelle voll, verdrängt ein neuer Befehl den am längsten nicht benutzten.personal.latex_eigene_befehle— die eigenen Befehle, je Konto, mit Zeilensicherheit (RLS). Sie laufen über den verschlüsselten Weg (registerEncryptedRoute); in der Datenbank liegen die Spalten im Klartext, denn eine Verschlüsselung im Ruhezustand kennt Denotato noch nicht (N271).personal.latex_befehl_kategorien— die Kategorien mit Name und Reihenfolge, für alle Konten gleich wie die Grundliste, ohne Zeilensicherheit;kategorie_idan Grundliste und eigenen Befehlen fällt beim Löschen der Kategorie auf leer zurück.personal.latex_befehl_angeheftet— das Angeheftete je Konto mit seiner Stelle, mit Zeilensicherheit. Beides legt die Migration 368 an; sie trägt elf erste Kategorien ein, ordnet die Grundliste ein und ergänzt rund 140 bekannte Zeichen (LX-261019-befehlssuche-symbolen). Die Liste trägt seither auchkategorien,angeheftetundzuletzt(die 16 jüngsten aus dem Gebrauch).- Endpunkte für Kategorien und Anheften (POST):
LATEX_BEFEHLE_KATEGORIEN_SPEICHERNundLATEX_BEFEHLE_KATEGORIEN_LOESCHEN(nur mitlatex.befehle),LATEX_BEFEHLE_ANHEFTEN(die ganze Reihe des Kontos auf einmal); MCPlatex_befehle_anheften. - Endpunkte (alle POST):
APIPaths.LATEX_BEFEHLE(Liste unddarfPflegen),LATEX_BEFEHLE_EIGENE_SPEICHERN,LATEX_BEFEHLE_EIGENE_LOESCHEN,LATEX_BEFEHLE_SPEICHERN,LATEX_BEFEHLE_LOESCHEN(die beiden letzten nur mitlatex.befehle) undLATEX_BEFEHLE_GEBRAUCH(zählt einen eingesetzten Befehl; die Liste trägt den Gebrauch des Kontos mit). - MCP:
latex_befehle,latex_befehl_eigen_speichern,latex_befehl_eigen_loeschen,latex_befehl_gebrauch. Die Pflege der Grundliste hat kein Werkzeug (N295). - Der Schirm hält den Stand unter
latex.befehle(useStand). - Die LaTeX-Texte (LX09, Wanderung 233) haben ihre Ablage, zehn Wege und die Seite /latex (LX10):
APIPaths.LATEX_TEXTEbisLATEX_TEXTE_TEILEN(latex/server/texte.ts), MCPlatex_textebislatex_text_teilen. Lesen darf der Besitzer, wer eine Freigabe hat und wer eine Seite lesen darf, die den Text einbindet; schreiben der Besitzer und eine Freigabewrite. Die Rechte hält die Zeilensicherheit. Wegtun und Zurückholen laufen über den Papierkorb (Artlatextext).
Was fehlt
- Bilder und
.bibfür Leser eines Textes (LX26): Die Ablage steht (LX09), aber der Bereichfilesgibt eine Datei nur ihrem Besitzer. - Vorschläge im Editor und aus dem Text. Die Liste am
\steht in Formelblock und Karte; im Vollbild-Editor (LX11) und aus dem Text (LX12) fehlt sie noch. - Snippets im Vollbild-Editor. Sie lösen im Formelblock und in der Karte aus (LX08); der Editor (LX11) kommt mit ihnen, sobald es ihn gibt, und entscheidet dann Mathe oder Text nach
$…$,\[…\]und den Mathe-Umgebungen. - Der Vollbild-Editor (LX11) und die HTML-Vorschau (LX13).
- PDF-Vorschau, Fehlerliste und Fehlererklärung (LX15, LX16).
- Vorlagen (LX18) und Export (LX19).
- Grenzen je Abo-Stufe. Es gibt noch keine; sie kommen als beschriftete Platzhalter nach dem Muster von N224 und N421, sobald der Bereich etwas zählt.
- Die Kopplung an das Studium ist Code-Konstante.
FOLGT_DEM_BEREICHlässt sich nur im Quelltext ändern; dass ein Administrator sie in Denotato mit Vorschau stellt, ist LX24 (Grundsatz 72). - Die Grundliste hat keine Vorschau vor dem Speichern. Die gesetzte Vorschau steht erst in der Liste; ein Admin sieht sein Beispiel nicht, bevor er es speichert (Grundsatz 72 verlangt Pflege „mit Vorschau“).
- Keine Ordnung der Grundliste im Schirm. Die Reihenfolge innerhalb einer Kategorie ist eine Zahl am Eintrag; der Schirm ändert sie nicht und zeigt sie nicht. Die Kategorien selbst ordnet ein Admin seit dem 20.10.2026 im Abschnitt „Kategorien“.
- Eine Verschlüsselung im Ruhezustand fehlt. Die eigenen Befehle sind auf dem Weg verschlüsselt und je Konto abgeschottet, liegen aber im Klartext in der Datenbank (N271).