/latex/texte/:id — Vollbild-Editor eines LaTeX-Textes
Hinweis: Rahmen: 00-rahmen.md. Code:
packages/plugins/src/latex/client/(Texteditor.tsx,Texteinstellungen.tsx,Textvorschau.tsx,useTextspeicher.ts,usePdfsatz.ts,Satzfehlerkasten.tsx,textanfragen.ts), das Feld inpackages/frontend/src/components/text/Latexfeld.tsxmitLatexsuche.tsx,klammerpaare.ts,suchtreffer.ts,suchmarken.tsundfehlermarke.ts, die Zerlegung der Quelle inpackages/shared/src/handlers/latex/latexquelle.ts, Pakete und eigene Befehle eines Textes intextbefehle.tsdaneben. Server inpackages/plugins/src/latex/server/texte.ts.
Wofür
Der Ort, an dem ein LaTeX-Text geschrieben wird (LX11, N522). Ein Text ist ein ganzes LaTeX-Projekt aus Hauptdatei und weiteren Dateien (latex-texte.md); der Editor zeigt eine Datei davon mit Zeilennummern, Klammerpaaren, Suchen und Ersetzen, den Vorschlägen für Befehle und den Snippets aus dem Formelblock. Daneben steht eine Vorschau in HTML, die beim Tippen mitläuft (LX13); ein Klick in ihr springt an die Stelle im Quelltext, und der Zeiger im Quelltext zeigt in ihr, wo er steht. Gespeichert wird von selbst.
Weg und Rahmen
| Route | /latex/texte/:id; die offene Datei steht als ?datei=<pfad> in der Adresse, ohne sie ist es die Hauptdatei. ?zeile=<n> setzt den Zeiger einmal an den Anfang dieser Zeile, gezählt ab dem Anfang der Datei, und fällt danach aus der Adresse. Über den Kopf in den Dokumenten führt /latex/dokument/:kopfId hierher und bleibt nicht im Verlauf; Abfrage, Anker und Zustand gehen mit. Fehlt das Leserecht oder der Text, steht dort „Dieser Text lässt sich nicht öffnen.“ mit „Zu den Dokumenten“ (NB-261019-dokumenttyp) |
| Merkmal | wie /latex: LATEX, eigener Schalter, ab Werk aus |
| Knoten im Rechtebaum | gold.latex |
| Zimmer | das von /latex; der Editor nimmt die ganze Breite (wie der Dokumenteneditor) |
| Zugang | „Öffnen“ auf einer Kachel in /latex; ein neu angelegter Text öffnet sich hier, ein geteilter aus „Mit mir geteilt“ ebenso. Ein Treffer der Schnellsuche öffnet die Datei an der Zeile, in der das Wort steht (LX20). Eine alte Adresse /latex/texte?id= leitet hierher um. Aus einem LaTeX-Block in einem Dokument führt „Im Editor öffnen“ hierher (LX17). Zurück nach /latex führt „Alle Texte“; wer aus einem Dokument kam, liest an derselben Stelle „Zurück zum Dokument“ und kommt auf diese Seite zurück |
Was man sieht
Oben „Alle Texte“, der Titel (ohne Titel: „Ohne Titel“), das Recht („dein Text“, „freigegeben zum Schreiben“ oder „freigegeben zum Lesen“), die Satzmaschine und, falls er weggetan ist, „im Papierkorb“. Rechts die Knöpfe „Suchen“ und „Einstellungen“. Am Telefon steht das alles in einer Zeile: „Alle Texte“, „Suchen“ und „Einstellungen“ als Knöpfe nur mit Zeichen (Zurück-Pfeil, Lupe, Hebel; der Name im aria-label, 44 Pixel groß), dazwischen der Titel, der mit Auslassungspunkten endet. Recht und Satzmaschine stehen dort in der Statusleiste.
Aus einem Dokument geöffnet (LX17, 12.10.2026) heißt „Alle Texte“ überall „Zurück zum Dokument“ — oben, am Telefon im aria-label des Zurück-Pfeils und unter „Dieser Text lässt sich nicht öffnen.“ — und führt auf die Seite, aus deren LaTeX-Block man kam. Kommt man von anderswo, etwa mit „Lösung schreiben“ aus dem Studium (20.10.2026), heißt er nur „Zurück“ und führt dorthin. Der Rückweg kommt im Zustand der Navigation mit, wird beim Öffnen einmal gemerkt und überlebt so den Wechsel der Datei; ein Weg, der nicht mit genau einem / beginnt, wird verworfen. Wer die Adresse eintippt oder einem geteilten Verweis folgt, bringt keinen Rückweg mit und liest „Alle Texte“.
„Einstellungen“ klappt einen Bereich auf:
- für den Besitzer Titel, Satzmaschine (
pdflatex,lualatex,xelatex) und Hauptdatei (nur Dateien mit Quelltext) mit „Übernehmen“, - für jeden, der den Text öffnen darf, „Als .tex herunterladen“ — bei einem Text aus genau einer Datei ohne Bilder oder
.bib— sonst „Als ZIP herunterladen“, - „Steht in“: die Dokumente, die den Text einbinden und die man lesen darf, je als Verweis in den Editor; sonst „In keinem Dokument, das du lesen kannst.“,
- für den Besitzer „Freigaben“: je Konto eine Zeile mit „Freigabe zurücknehmen“, darunter Benutzername, Recht (lesen oder schreiben) und „Freigeben“; dazu „Text löschen“.
Die Dateien stehen als Knopfreihe, die offene hervorgehoben: vorn die Hauptdatei, dann die übrigen nach dem Alphabet ihres Pfads. Daneben „Neue Datei“, „Foto als LaTeX“, „Aus dem Skript zitieren“ (nur mit Material) und, für jede Datei außer der Hauptdatei, „Datei löschen“ — alle nur mit Schreibrecht. Am Telefon ist das eine einzige Zeile, die waagrecht rollt und vorn den Umschalter „Text“/„Vorschau“ trägt; ein weicher Rand zeigt, dass es weitergeht.
Die Arbeitsfläche füllt den Rest des Fensters und liegt auf Papier (Guide §5), wie das Blatt des Dokumenteneditors. Am Telefon endet sie über der Reihe der Schnellaktionen:
- Am breiten Schirm links der Quelltext, rechts die Vorschau, dazwischen ein Trenner. Er lässt sich mit der Maus oder dem Finger ziehen und, wenn er den Fokus hat, mit den Pfeiltasten in Schritten von fünf Prozent schieben (Pos1 und Ende an die Grenzen); jede Seite behält mindestens ein Fünftel der Breite.
- Am Telefon (bis 600 Pixel Breite) zwei Knöpfe „Text“ und „Vorschau“ vorn in der Dateizeile; sie zeigen die eine oder die andere Seite. Der Editor bleibt dabei bestehen, sein Verlauf geht nicht verloren. Unter dem Feld liegt die Zeichenleiste wie im Formelblock (
\,{,},$,_,^,&).
Im Quelltext: Zeilennummern am Rand, die Gegenklammer der Klammer am Zeiger hervorgehoben, Hervorhebung der LaTeX-Schreibweise in Fira Code. Die Farben der Hervorhebung (Befehl, Zahl, Fehler) halten auf Papier, Karton, Stein und Grund jeder Szene 4,5 : 1; Klammern und Kommentare tragen die Lesetinte. Die Rinnen von Präambel und Rumpf fluchten. Einklappen (LX-261019-editor-formulare, 19.10.2026): Neben der Nummer einer Zeile mit einer Überschrift (\part bis \subparagraph, auch mit Stern) oder einem \begin{…} steht ein Winkel „›“; ein Klick klappt den Abschnitt bis vor die nächste Überschrift gleichen oder höheren Ranges ein, die Umgebung bis vor ihr \end. Eingeklappt steht „…“ im Text, offen zeigt der Winkel nach unten. Tasten: Strg+Umschalt+[ und ]. Kommentare gliedern nicht, document klappt nicht als Ganzes. Es ändert nur die Ansicht, nie den Text. In der Hauptdatei steht über dem Feld eine eingeklappte Zeile „Präambel“ — alles vor \begin{document}; kam der Text aus einer Vorlage, heißt sie „Präambel (Vorlage …)“ mit deren Titel (N434, LX18). Davor steht der gezeichnete Winkel ausklappen: zu nach rechts gedreht, offen nach unten, wie die Klappe im Blocksatz (seit 10.10.2026 statt „▸“/„▾“). Aufgeklappt zeigt sie ein eigenes Feld, das in sich rollt. Eine Datei aus dem Bereich Dateien (Bild, .bib) zeigt „Liegt im Bereich Dateien, ohne Quelltext.“ Den Inhalt gibt der Server seit dem 10.10.2026 jedem, der den Text lesen darf, auch über Freigabe oder Seite (LX26, /api/latex/texte/datei/ablage); der Editor zeigt ihn noch nicht — das kommt mit dem Satz (LX15) und dem Block (LX17).
Die Vorschau ist überschrieben mit „Vorschau“ und setzt, was zwischen \begin{document} und \end{document} steht (ohne diese Marken die ganze Datei), in der Leseschrift auf Papier (LX13, Christian am 08.10.2026: eigene Vorschau auf KaTeX statt LaTeX.js):
- Titel, Autor und Datum aus
\maketitle; Überschriften von\partbis\subparagraphmit Nummer (ohne bei der Sternform); Absätze,\\als Zeilenumbruch. - Fett, kursiv, fest, unterstrichen, Kapitälchen und Fußnoten;
\refund Verwandte mit ihrem Schlüssel in fester Schrift,\citeals „[schlüssel]“. - Listen (
itemize,enumerate,description), Zitate, Ausrichtung (center,flushleft,flushright), wörtlicher Text (verbatim) und die Zusammenfassung. - Sätze aus
\newtheoremmit ihrem Namen fett vorn und schrägem Inhalt; Beweise mit „Beweis.“ und ∎ am Ende. - Formeln in
$…$,$$…$$,\(…\),\[…\]und in den Matheumgebungen (equation,align,alignat,flalign,gather,multline,eqnarray,displaymath,math, auch mit Stern) setzt KaTeX, ohnetrust; abgesetzte Formeln tragen ihre Nummer. Ein Satzzeichen hinter einer Formel im Fließtext bleibt an ihr und bricht nicht allein um. Eigene Befehle des Textes (\newcommand,\renewcommand,\DeclareMathOperator) setzt sie mit; ein Befehl, den KaTeX nicht kennt, steht rot. Ein eigener Befehl ohne Argumente gilt auch im Text und im Titelblock:\blattsteht dort mit seinem Wert, so tief verschachtelt wie acht Ebenen (LX-261020-formular-nachziehen).
Was sie nicht setzen kann, steht ausgewiesen da, in kleiner Schrift mit gestricheltem Rand: „Umgebung tikzpicture — steht nur im PDF.“, ebenso Bilder, Tabellen, das Inhalts- und das Literaturverzeichnis und eingebundene Dateien (mit ihrem Pfad); ein Seitenumbruch als „Seitenumbruch“. Ein Befehl, den die Vorschau nicht kennt, steht mit seinem Namen da. Nichts aus der Quelle wird je als HTML gedeutet. Ohne Inhalt: „In dieser Datei steht noch nichts, das gesetzt würde.“
Zwischen Quelltext und Vorschau springen (B7): Ein Klick auf einen Block oder ein Wort der Vorschau setzt den Zeiger im Quelltext an diese Stelle und rollt sie in die Mitte; am Telefon wechselt die Ansicht dazu auf „Text“. Wer markiert, springt nicht. Umgekehrt trägt der Block, in dem der Zeiger steht, links einen Balken in der Akzentfarbe, und die Vorschau rollt ihn ins obere Drittel, wenn er nicht zu sehen ist.
Das PDF nach der Tipp-Pause (LX15, Christian am 12.10.2026: „HTML beim Tippen, dann PDF“): Steht der Text gespeichert und still, setzt der Satzdienst (LX14) ihn, und an die Stelle der HTML-Vorschau tritt das echte PDF, überschrieben mit „Vorschau · PDF“: die Seiten untereinander, so breit wie die Spalte, gezeichnet mit pdf.js. Beim Öffnen wird sofort gesetzt; danach wartet der Editor die Tipp-Pause ab, die ein Admin unter latex.satzpause stellt (Vorgabe zwei Sekunden). Sobald wieder getippt wird, steht die HTML-Vorschau vorn, bis das nächste PDF fertig ist. Scheitert der Satz an LaTeX, an Zeit oder Speicher oder an der Verbindung, bleibt es bei HTML. Hat der Server keinen Satzdienst, gibt es nur HTML, ohne Hinweis.
Sätze je Tag (LX25): Jeder begonnene Satz zählt gegen die Grenze der Abo-Stufe, die ein Admin unter Admin › LaTeX-Grenzen stellt. Sind die Sätze für heute aufgebraucht, bleibt es bei HTML, und die Statusleiste sagt „PDF-Sätze für heute aufgebraucht, ab Mitternacht geht es wieder“; bis zum nächsten Tag fragt der Editor nicht mehr nach. Ab zwanzig übrigen Sätzen hängt die Statusleiste „noch N PDF-Sätze heute“ an; davor steht keine Zahl.
Vom PDF zur Zeile und zurück (SyncTeX): Ein Klick auf eine Stelle im PDF setzt den Zeiger im Quelltext an die Zeile, aus der sie stammt — im Absatz an die Zeile des getroffenen Worts; liegt sie in einer anderen Datei des Textes, geht diese auf. Umgekehrt steht neben der Zeile am Zeiger ein Strich im PDF, wie die Marke der HTML-Vorschau, und das PDF rollt sie in Sicht. Hat die Zeile selbst nichts im PDF (etwa in der Präambel), steht die Marke an der nächsten Zeile, die etwas setzt.
Der Fehler an der Zeile (LX15, Christian am 12.10.2026: „Tabelle, Admin pflegt“): Bricht LaTeX ab, trägt die Zeile des ersten Fehlers im Quelltext einen Rahmen und eine Wellenlinie in der Fehlerfarbe. TeX zählt in der ganzen Datei, das Feld ab dem Rumpf; der Editor rechnet die Präambel heraus, und steht der Fehler in ihr, trägt die Präambel die Marke. Unter dem Quelltext steht ein Kasten: „LaTeX-Fehler in Zeile 12“ und der kurze Satz zum Fehler — ohne passende Erklärung die Meldung von TeX selbst in Schreibmaschinenschrift. „Erklären“ klappt die lange Erklärung mit der Abhilfe auf und darunter „TeX meldet:“ mit der Meldung; „Protokoll“ klappt das ganze Protokoll des Satzes auf, das in sich rollt und umbricht. Steht der Fehler in einer anderen Datei des Textes, heißt der Kasten „LaTeX-Fehler in kapitel.tex, Zeile 4“, und „kapitel.tex öffnen“ führt hin, die Zeile im Blick; in der zugeklappten Präambel öffnet „Präambel öffnen“ sie. Rahmen, Welle und Kasten gelten dem gesetzten Stand: Sobald getippt wird, sind sie weg, bis der nächste Satz kommt. Englisch steht der kurze Satz und die Erklärung in der englischen Fassung, wenn es eine gibt, sonst deutsch. Die Sätze pflegt ein Admin unter /admin im Abschnitt „LaTeX-Fehler“ (verwaltung.md).
Mit KI erklären (LX16): Neben „Erklären“ und „Protokoll“ steht im Kasten „Mit KI erklären“. Der Knopf fragt den Begleiter und zeigt solange einen Kreisel und „Das Modell sieht sich den Fehler an …“. Darunter steht, abgesetzt durch eine Linie, die Erklärung in der Sprache des Kontos, höchstens 600 Zeichen. Hat das Modell eine Korrektur einer Zeile vorgeschlagen, folgt sie als zwei Zeilen in Schreibmaschinenschrift: die bisherige durchgestrichen auf rötlichem Grund, die neue auf grünlichem Grund. Mit Schreibrecht steht darunter „Übernehmen“; erst dieser Knopf setzt die neue Zeile ein, und nur, wenn die Zeile noch so lautet wie beim Satz. Sonst sagt eine Zeile in der Fehlerfarbe „Die Zeile hat sich inzwischen geändert. Die Korrektur passt nicht mehr und bleibt draußen.“ Danach steht „Die Korrektur steht im Text.“, und weil sich der Text geändert hat, verschwindet der Kasten bis zum nächsten Satz. Kommt keine Erklärung (kein Modellschlüssel, Tagesdeckel erreicht, unbrauchbare Antwort), steht der Satz des Anlasses „LaTeX-Fehler erklären“ da, warum.
Die Statusleiste unten sagt „Gespeichert“, „Speichert …“, „Nicht gespeichert“ oder „Nicht gespeichert: “ mit dem Grund und „Erneut versuchen“. Daneben steht, wie es um das PDF steht: „PDF folgt, sobald du innehältst“, „Setzt das PDF …“, „PDF aktuell“ oder „PDF nicht gesetzt:“ mit „LaTeX-Fehler“, „Zeit oder Speicher reichten nicht“ oder „keine Verbindung zum Satzdienst“. Ohne Schreibrecht steht dort „Nur lesen“, im Papierkorb „Nur lesen — im Papierkorb“. Am Telefon ist sie so hoch wie die Eule und lässt links und rechts Platz für Eule und Rückmeldeknopf, die neben ihr schweben.
Beim Laden stehen Platzhalterzeilen da; lässt sich der Text nicht öffnen, sagt es „Dieser Text lässt sich nicht öffnen.“ mit „Alle Texte“.
Der Beweisprüfer (LX-261019-beweispruefer, Christian am 18.10.2026): Rechts oben schaltet „Beweise prüfen“ (am Telefon das Zeichen Prüfung, aria-pressed) ihn ein; ab Werk aus, gemerkt in diesem Browser bis zum Abmelden. Steht er an und der Text gespeichert und still, schickt der Editor nach der Pause (Instanzwert latex.beweispause, fünf Sekunden) Text, Datei und Zeile der Schreibmarke; der Server schneidet die Beweisumgebung darum, sonst höchstens 60 Zeilen, und fragt den Begleiter unter dem Anlass latex-beweis (Modell und Tagesdeckel stellt ein Admin). Jede beanstandete Zeile bekommt am Rand einen Punkt — dürftige Begründung in der Warnfarbe, falsche Begründung oder falsche Umformung in der Fehlerfarbe, der Satz als Titel. Darunter steht der Beweiskasten: je Hinweis „Zeile n: Urteil“, der Satz, „Zur Zeile“ und „Ignorieren“. Ein ignorierter Hinweis bleibt für diesen Text weg; ändert sich die Zeile, fällt der Hinweis weg, rutscht sie nur, wandert er mit. Ohne Budget oder Schlüssel steht im Kasten der Satz, warum nicht geprüft wurde.
Das Symbolfach (LX-261019-befehlssuche-symbolen, Christian am 19.10.2026 im Musterbogen latex-befehlssuche): Rechts oben, vor „Suchen“, öffnet „Symbole“ (am Telefon das Zeichen Formel, aria-pressed) rechts neben dem Quelltext ein Fach von 17 rem Breite; am Telefon ist es ein Blatt von unten über 45 Prozent der Höhe, und die Arbeitsfläche rückt so weit nach oben, dass die Zeile am Zeiger frei bleibt. Ohne Schreibrecht fehlt der Knopf. Oben steht das Suchfeld „Symbol suchen…“ mit „Symbole schließen“, darunter die Reiter „Angeheftet“, „Zuletzt benutzt“, die Kategorien in der Reihenfolge, die ein Admin auf /latex/befehle stellt, „Eigene“ (eigene Befehle ohne Kategorie) und „Weitere“ (die Grundliste ohne Kategorie); leere Reiter fallen weg. Das Gitter zeigt Zellen von 48 Pixeln mit dem gesetzten Zeichen (KaTeX), sonst dem Befehl als Quelltext. Beim Zeigen nennt die Fußzeile Befehl und Wort, sonst „Ein Tipp setzt am Zeiger ein.“; dazu blitzt oben rechts in der Zelle ein grauer Stern auf, den ein Klick füllt („\alpha anheften“, „\alpha lösen“). Am Telefon steht der Stern immer halb sichtbar. Die Suche gilt über alle Reiter, nach Befehl und Wort, der Rückstrich darf fehlen; was so beginnt, steht vor dem, was es nur enthält. Eingabe setzt den ersten Treffer, Escape schließt. Ein Tipp setzt den Befehl am Zeiger ein, mit so vielen Klammerpaaren, wie sein Beispiel zeigt (\frac mit zwei, \sqrt mit einem, die eckige Klammer bleibt weg); markierter Text kommt ins erste Paar, Tab springt ins nächste. Eine Umgebung kommt mit \begin und \end, ein Befehl ohne Klammern mit einem Leerzeichen dahinter. Das Fach bleibt beim Schreiben offen, und jeder Tipp zählt in den Gebrauch des Kontos; „Zuletzt benutzt“ sind die 16 jüngsten daraus. Angeheftet wird je Konto; dieselbe Reihe steht in den Vorschlägen nach \ vor dem Gebrauch. Im Formelblock und in Karteikarten fehlt das Fach noch (LX-261020-symbolfach-formelblock).
Gemeinsam (NB-261018-gleichzeitig, LX22): Wer den Text öffnen darf, ist mit allen anderen, die dieselbe Datei gerade offen haben, in einem Raum. Was einer tippt, erscheint bei den anderen an derselben Stelle, in der Hauptdatei getrennt nach Präambel und Rumpf; die Zeiger und Auswahlen der anderen stehen als farbiger Strich mit Namensfähnchen im Feld, jede Person in einem der acht Zeigertöne. In der Statusleiste nennt eine Reihe aus Punkt und Name, wer gerade mitschreibt (aria-label „Bearbeiten gerade mit“). Ohne Schreibrecht sieht man Text und Zeiger der anderen live, schreibt aber nicht. Fremde Änderungen landen nicht im Verlauf von Rückgängig, und wer gerade nicht selbst tippt, speichert sie nicht mit; gespeichert wird beim Schreibenden.
Die Gliederung (LX-261019-editor-formulare, H4 A, Christian am 19.10.2026): Links neben dem Quelltext eine schmale Spalte „Gliederung“ mit den Überschriften der offenen Datei — dieselben Befehle, die das Falten kennt, ohne die in Kommentaren. Ein Klick springt zur Zeile, die Überschrift am Zeiger ist hervorgehoben, ein Winkel klappt ihren Abschnitt ein und folgt auch dem Falten am Rand. Ohne Überschriften steht „Noch keine Überschriften.“ da. „Aufgabe anfügen“ setzt die nächste nummerierte Aufgabe vor \end{document}, mit dem Befehl der letzten. Am Telefon ist die Gliederung eine Liste über dem Text.
Das Übungsblatt (H3 A): Ist der Text die Lösung eines Übungsblatts, steht über der Arbeitsfläche eine Zeile wie „Blatt 3 · noch 4 Tage“ — „heute fällig“, „seit 2 Tagen überfällig“, „ohne Frist“, nach der Abgabe „abgegeben“ oder „korrigiert“. Die Tage zählt die Zone des Kontos. Für den Besitzer steht daneben „Als abgegeben markieren“: Der Knopf legt das gesetzte PDF unter „<Titel>.pdf“ in die Dateien und am Blatt ab und setzt das Blatt auf abgegeben. Er wartet auf ein PDF des gespeicherten Stands; ein älteres würde etwas anderes abgeben, als der Quelltext zeigt.
Der Formularkopf (H1 A, H2 A): Nennt die Vorlage Formularfelder, steht über dem Quelltext je Feld ein Eingabefeld — Name, Matrikelnummer, Gruppe, Blatt, Modul, Frist oder ein freies Feld. Denotato füllt beim Öffnen, was leer ist: den Namen aus dem Profil, die Matrikelnummer aus dem Konto, die Gruppe aus dem letzten Text desselben Moduls, Blatt, Modul und Frist aus dem Übungsblatt. Ein Wert, der seinem Vorschlag gleicht, ist gestrichelt umrandet („Gestrichelt: von Denotato vorgeschlagen, überschreibbar für diesen Text.“). Die Werte stehen als \newcommand{\key}{Wert} in der Präambel der Hauptdatei; Überschreiben gilt nur für diesen Text, dauerhaft ändert man die Vorlage — welche Felder sie hat, pflegt ein Admin auf /latex/vorlagen (LX-261020-formular-nachziehen). Die HTML-Vorschau setzt die Werte in Titel, Autor und Datum ein, wie das PDF. Sind alle Felder gefüllt, öffnet der Kopf zugeklappt als eine Zeile mit den Werten. Gefüllt wird nur für den Besitzer und nur mit Schreibrecht; eine von Hand getippte Matrikelnummer merkt sich das Konto, sobald das Feld verlassen wird.
Was man tun kann
- Schreiben. Gespeichert wird von selbst, anderthalb Sekunden nach dem letzten Tastendruck; wer weitertippt, schiebt das hinaus. Immer geht die ganze Datei an den Server, Präambel und Rumpf zusammen.
- Rückgängig und Wiederholen mit Strg+Z und Strg+Umschalt+Z (am Mac Cmd) im Verlauf des Feldes; gespeicherte Fassungen gibt es nicht.
- Klammern
(,[,{setzen ihr Gegenstück gleich mit; ein Rückstrich vor{setzt\}. Ein Rückschritt im leeren Paar nimmt beide weg. - Zitieren aus dem Material (16.10.2026, NB-261011-literaturverwaltung). Nennt der Text
\bibliography{denotato}oder\addbibresource{denotato.bib}, schlägt das Feld nach\cite{,\parencite{,\textcite{und ihren Geschwistern die Zitierschlüssel der eigenen Quellen vor — links der Schlüssel, daneben „Forster 2016“, rechts der Titel; gefiltert wird nach Schlüssel, Titel und Autor. Hinter einem Komma gilt es für den nächsten Schlüssel. Beim Setzen liegt die Dateidenotato.bibneben dem Text, erzeugt aus den Quellen, wie sie in dem Augenblick sind; hat der Text selbst eine Datei dieses Namens, gilt seine. - Suchen und Ersetzen mit Strg+F im Feld oder „Suchen“ oben: Suchfeld, Zähler („3 von 7“, „Kein Treffer“), „Aa“ für Groß- und Kleinschreibung, „Voriger Treffer“, „Nächster Treffer“; mit Schreibrecht „Ersetzen durch“, „Ersetzen“ und „Alle ersetzen“. Eingabetaste springt weiter, Umschalt+Eingabe zurück, Escape schließt.
- Befehle und Snippets wie im Formelblock; die Vorschläge fragen die Stelle, ob dort Mathe steht — dafür kennen sie neben
$…$auch\[…\]und die Matheumgebungen. Anders als im Formelblock folgen die Befehle dem Text selbst (LX12): Die Befehle eines Pakets kommen nur, wenn eine Datei des Textes es mit\usepackagelädt (auch als Liste und mit Optionen); was kein Paket braucht, kommt immer. Jede Zeile nennt hinter dem Erklärwort ihr Paket, etwa „Zahlenmenge · amssymb“; am Telefon fallen Erklärwort und Paket weg, es bleiben Befehl und Vorschau. In einer Formel fehlen reine Textbefehle wie\section, außerhalb kommen alle. Die eigenen Befehle aus allen Dateien, Präambel eingeschlossen, stehen bei gleichem Gebrauch vorn, mit „Eigener Befehl“ oder „Eigener Operator“ und ihrer Wirkung als Vorschau; was KaTeX nicht setzen kann, zeigt die Definition als Quelltext. Gelesen wird der Stand im Editor, nicht der gespeicherte. - Die Datei wechseln. Ist der Stand nicht gespeichert, fragt eine Leiste „<pfad> ist noch nicht gespeichert.“ mit „Speichern und weiter“, „Verwerfen“ und „doch nicht“. Dieselbe Frage steht vor „Alle Texte“.
- Eine Datei anlegen („Neue Datei“): Pfad wie
kapitel/einleitung.texohne.,.., Rückstrich und doppelte Schrägstriche, höchstens 255 Zeichen; der Pfad darf im Text noch nicht vorkommen. Die neue Datei öffnet sich. - Ein Foto als LaTeX abschreiben (LX21, „Foto als LaTeX“): Der Knopf klappt unter der Dateireihe ein Feld auf mit „Foto wählen“ und dem Satz „Abgeschrieben wird nur, was dasteht; in den Text kommt es erst auf „Einfügen“.“ Genommen wird ein Bild (JPEG, PNG, GIF, WebP); eine andere Datei weist das Feld ab, ohne hochzuladen. Das Foto kommt in die Ablage, der Begleiter schreibt es ab (Anlass „Foto als LaTeX“, mit eigenem Tagesdeckel), und die Abschrift steht gesetzt in einer Vorschau mit „An der Schreibmarke einfügen“ und „Verwerfen“. Erst der erste Knopf setzt sie in die offene Datei, an die Schreibmarke oder statt der Auswahl; „Rückgängig“ im Editor nimmt sie wieder heraus. Unleserliches steht als
[unleserlich]da. Ohne Abschrift — kein Schlüssel, Deckel erreicht, Foto zu groß, nichts lesbar — sagt eine Zeile, warum. - Aus dem Skript zitieren (LX-261019-skript-zitieren-latex, 20.10.2026): Der Knopf klappt unter der Dateireihe ein Feld auf mit dem Suchfeld „Satz 3.4, (3.7) oder ein Stück Text“. Gesucht wird im Index der Skripte über alle Quellen, nach Name, Nummer und Text; leer zeigt es die ersten Aussagen. Jede Zeile nennt Name und Titel, Quelle und Seite und den Anfang der Aussage, rechts „Einsetzen“. Der Knopf setzt an die Schreibmarke
Satz~3.4 \cite[S.~41]{schlüssel}mit dem Zitierschlüssel der Quelle; eine Gleichung kommt als(3.7) \cite[…]{…}, eine Quelle ohne Schlüssel nur mit(S.~41). Nennt der Text denotato.bib nicht, sagt ein Satz über der Liste, wie\citeeine Quelle findet. „Rückgängig“ nimmt das Zitat wieder heraus. Kennt der Index nichts: „Der Index kennt noch keine Aussage. Er liest Skripte mit Textebene.“ - Einen Fehler mit KI erklären lassen (LX16, „Mit KI erklären“ im Kasten des Fehlers): Mit gehen nur die Meldung von TeX, ein Ausschnitt des Protokolls um den Fehler (höchstens 3000 Zeichen) und die Zeilen um die Fehlerzeile, sechs davor und sechs danach. Die Zeilen liest der Server selbst. Die vorgeschlagene Korrektur kommt erst auf „Übernehmen“ in den Text. In der offenen Datei geht sie in den Entwurf und wird gespeichert wie Getipptes. Eine andere Datei des Textes wird gleich gespeichert. Jeder Ruf zählt gegen einen eigenen Tagesdeckel (20 ab Werk, je Abo-Stufe einstellbar). Ohne Schreibrecht gibt es die Erklärung, aber kein „Übernehmen“.
- Eine Datei löschen („Datei löschen“, endgültig, mit Rückfrage); die Hauptdatei lässt sich nicht löschen. Danach ist die Hauptdatei offen.
- Titel, Satzmaschine und Hauptdatei ändern (nur der Besitzer, in „Einstellungen“).
- Den Text herunterladen (LX19), in „Einstellungen“: eine Datei allein als
<Titel>.tex, sonst<Titel>.zipmit allen Quelltexten und den Dateien der Ablage unter ihren Pfaden im Text, so dass Overleaf oderlatexmkihn ohne Denotato setzen. Mit kommt, was im Feld steht, auch wenn es noch nicht gespeichert ist. Lässt sich eine Datei der Ablage nicht holen, wird nichts heruntergeladen, und eine Zeile nennt die Datei und den Grund. Aus dem Titel fallen die Zeichen, die Windows oder macOS im Dateinamen nicht nehmen. - Freigeben und zurücknehmen (nur der Besitzer).
- Den Text löschen (nur der Besitzer), über den Papierkorb (Art
latextext); danach geht es zu allen Texten. - Lesen ohne Schreibrecht. Wer nur lesen darf oder einen Text im Papierkorb öffnet, sieht Feld, Präambel und Vorschau, kann aber nichts ändern; Zeichenleiste, Vorschläge, „Neue Datei“, „Foto als LaTeX“, „Aus dem Skript zitieren“ und „Datei löschen“ fehlen.
Wer bei ungespeichertem Stand die Seite neu lädt oder schließt, wird vom Browser gefragt. Wer über die Navigation oder den Zurück-Knopf des Browsers geht, wird nicht gefragt — die Anwendung hat keinen Datenrouter, der das anhalten könnte —; der Editor speichert dann beim Verlassen, was noch fehlt.
Woher die Daten kommen
- Die Literatur fragt der Bereich über Anschlüsse, ohne die Tabellen des Materials zu kennen:
ANSCHLUESSE.material.zitierschluesselim Browser (die Liste vonSOURCES, einmal je Editor, sobald der Textdenotato.bibnennt) undANSCHLUESSE.literatur.bibdateibeim Satz (materials/server/bibdatei.ts, mit dem Tor des Materials). Ob ein Text die Datei nennt, entscheidetnenntLiteraturdatei(latex/shared/literatur.ts). Ohne Material setzt LaTeX ohne die Datei und meldet sie im Protokoll als fehlend. personal.latex_texte,personal.latex_textdateienundpersonal.latex_einbindungen(Wanderung 233, LX09), mit Zeilensicherheit (RLS); die Freigaben inauth.resource_shares. Alle Wege laufen verschlüsselt (registerEncryptedRoute).- Endpunkte (alle POST):
LATEX_TEXTE_LESEN(Text, Dateien und die lesbaren Dokumente) beim Öffnen und nach einer neuen Anmeldung;LATEX_TEXTE_DATEI_SPEICHERNbeim Speichern und Anlegen;LATEX_TEXTE_DATEI_LOESCHEN(Schreibrecht);LATEX_TEXTE_AENDERN(Besitzer, nicht im Papierkorb; die Hauptdatei prüft der Server auf einen gültigen Pfad);LATEX_TEXTE_FREIGABENundLATEX_TEXTE_TEILEN;LATEX_TEXTE_DATEI_ABLAGEje Bild oder.bibbeim Herunterladen, eins nach dem anderen. Das ZIP entsteht im Browser (shared/archiv.ts, gespeichert ohne Packen, ohne Paket); einen eigenen Endpunkt hat der Export nicht. - Übungsblatt und Formularkopf:
LATEX_TEXTE_LESENbringtblatt(Blatt, Frist, Modul, Stand, abgegebene Datei) undformular(die Felder der Vorlage und die Vorschläge; die persönlichen nur für den Besitzer). „Als abgegeben markieren“ ruftFILES_UPLOADund dannLATEX_TEXTE_ABGEBEN(/api/latex/texte/abgeben); MCPlatex_text_abgeben. - Für „Aus dem Skript zitieren“
ANSCHLUESSE.material.skriptaussagen(Typ in@shared/types/anschluesse.ts), dahinterSOURCE_STATEMENTSmit höchstens 30 Treffern je Suche. Der Server vergibt vorher fehlende Zitierschlüssel und gibt je AussagesourceCiteKeymit; das Zitat bautlatex/shared/skriptzitat.ts. MCP:material_aussagen. - Für „Foto als LaTeX“
FILES_UPLOAD(das Foto in die Ablage) undLATEX_ABSCHREIBEN(LX21): Der Server nimmt nur ein Bild der eigenen Ablage, prüft Art und Größe vor dem Ruf und gibt dem Begleiter nur das Bild und eine feste Bitte, kein Wort aus dem Text (latex/server/abschrift.ts). - Für „Mit KI erklären“
LATEX_TEXTE_FEHLER_ERKLAEREN(/api/latex/texte/fehler/erklaeren, LX16): Der Server prüft das Leserecht wie beim Öffnen, liest die Zeilen um den Fehler aus der Datei und gibt dem Begleiter (Anlasslatex-fehler) Meldung, Ausschnitt und Zeilen. Eine Korrektur nimmt er nur, wenn ihre Zeile im Fenster stand und ihr alter Text genau die Zeile ist (latex/server/fehlerhilfe.ts, Regeln inlatex/shared/fehlerhilfe.ts). LATEX_TEXTE_SETZENsetzt den gespeicherten Stand (LX14, LX15) und bringt bei einem Abbruch den ersten Fehler mit Datei, Zeile und der Erklärung des genauesten Musters auspersonal.latex_fehlererklaerungen(Migration 297;latex/server/fehlererklaerungen.ts, Zerlegung des Protokolls inlatex/shared/satzprotokoll.ts).- Die Rechte prüft der Server; die Knöpfe folgen nur dem Zugriff, den die Antwort nennt.
- MCP:
latex_text_lesen,latex_textdatei_speichern,latex_textdatei_loeschen,latex_textdatei_ablage,latex_text_aendern,latex_text_freigaben,latex_text_teilen,latex_foto_abschreiben,latex_text_setzen(mitfehler),latex_fehler_erklaeren. - Gemeinsam:
ZUSAMMEN_KARTEgibt eine einmalige Karte für den Raum (artlatex, gegenstand die Kennung des Textes, teil die der Datei),ZUSAMMEN_VERBINDENist der WebSocket mit Yjs und Awareness im Sitzungsumschlag (frontend/src/handlers/zusammen/leitung.ts,plugins/src/session/server/zusammenRouten.ts). Lesen und Schreiben prüfenLATEX_TEXTE_ZUSAMMEN_LESENundLATEX_TEXTE_ZUSAMMEN_SCHREIBENmit denselben Freigaben wie das Öffnen; das Relais fragt sie alle zehn Sekunden neu. Die Saat ist der gespeicherte Stand der Datei. Die Teilbindung (frontend/src/components/text/teilbindung.ts) legt Präambel und Rumpf über einY.Text. MCP:zusammen_anwesend.
Was fehlt
- Der Satz. Die Vorschau ist HTML, kein Satz: Tabellen, TikZ, Bilder und Verzeichnisse stehen nur als Hinweis da, Verweise ohne aufgelöste Nummer, Sätze ohne Nummer; gesetzte Seiten kommen mit dem Übersetzungsdienst (LX14). Von den eigenen Definitionen kennen Vorschau und Vorschläge
\newcommand,\renewcommandund\DeclareMathOperator, nicht\def,\newenvironmentoder\DeclarePairedDelimiter; die Pakete einer Präambel, auch aus einer Vorlage (LX18), kennen sie nicht. - Rückfrage bei Navigation und Browser-Zurück. Ohne Datenrouter lässt sich das Weggehen nicht anhalten; der Editor speichert dann ungefragt. Mit einem Datenrouter käme hier die Rückfrage.
- Die Zeilennummern im Rumpf beginnen bei 1, auch wenn die Präambel davor steht; das Protokoll des Satzes zählt ab dem Anfang der Datei. Der Sprung aus der Suche und die Marke des Fehlers rechnen die Präambel heraus; die Nummer am Rand stimmt dann nicht mit der Zeile im Treffer oder im Protokoll überein.
- Die Präambel wird nur beim Öffnen der Datei abgeteilt. Wird die offene Datei erst in den Einstellungen zur Hauptdatei, erscheint die Zeile „Präambel“ beim nächsten Öffnen.
- Suchen und Ersetzen ohne regulären Ausdruck und ohne ganze Wörter;
@codemirror/searchist nicht installiert, die Suche ist ein eigener, knapper Baustein. Dasselbe gilt für die Klammerpaare (@codemirror/autocomplete). - Die Breite des Trenners bleibt nicht über ein Neuladen hinaus.
- Gemeinsames Schreiben läuft je offener Datei; Bilder und .bib in der Ablage speichert weiter, wer zuletzt speichert. Ein Schreiben über MCP, während der Raum offen ist, überschreibt der nächste Speicherstand aus dem Raum. Ohne Schreibrecht zeigt man keinen eigenen Zeiger. Den Satz löst jeder für sich aus.
- Dateien umbenennen und Dateien aus dem Bereich Dateien in den Text holen; der Server kann das, der Editor nicht.
- Eine Verschlüsselung im Ruhezustand fehlt wie bei allen Texten (N271).
- Das PDF herunterladen und das ganze Dokument als ein PDF (LX19) warten auf den Satz (LX14); heruntergeladen wird bisher nur der Quelltext.
- Die Korrektur des Modells (LX16) ändert genau eine Zeile; ein Fehler, der zwei Zeilen braucht (eine fehlende
\end{…}weiter unten), bekommt nur die Erklärung. Ein Fehler in einer Datei der Ablage oder ohne Zeile bekommt nie eine Korrektur, weil keine Zeilen mitgehen. - Der Rückweg ins Dokument (LX17) lebt nur im Zustand der Navigation: Wer den Editor über einen geteilten Verweis öffnet, kommt mit dem Knopf zu allen Texten, auch wenn der Text in einem Dokument steht. Welche Dokumente ihn einbinden, zeigt der Editor nicht.