Tags, Zwischensummen & Statistik
Getaggte Zeilen, Trenner-Abschnitte, Zwischensummen, Gesamtsummen, Tag-Aggregate, Statistik, dynamische Zufallswerte und die konfigurierbare Footer-Statistik.
Tags und Zwischensummen fügen dem Notizblock eine Klartextstruktur hinzu. Ein abschließendes #tag
markiert eine Zeile, ein exakter ----Trenner beginnt einen neuen Abschnitt, subtotal
summiert den aktuellen Abschnitt, grand total summiert die erfolgreichen Zwischensummen,
und Tag-Aggregate beantworten total of #tag und Verwandte. Vier Funktionen –
count, median, stdev und rand – sind enthalten, und das schwebende Total
lässt sich auf Sum, Average, Count oder Median umstellen. Alles ist streng: Ein Beinahetreffer
bleibt eine gewöhnliche Zeile, und Aggregate verbrauchen nie abgeleitete Zeilen erneut.
Überschriften, Tags und Trenner
- Eine Überschrift ist eine Zeile, die exakt mit
#(Raute und ein Leerzeichen) beginnt.#foodist keine Überschrift, sondern eine getaggte Zeile. - Ein Tag ist ein abschließendes Atom:
#ohne Leerzeichen, gefolgt von einem Bezeichner, der mit einem Buchstaben beginnt (Buchstaben, Ziffern,_,-; bis zu 64 Grapheme). Mehrere Tags dürfen eine Zeile beenden; Duplikate in derselben Zeile werden zusammengefasst (die erste Schreibweise gewinnt). Für die Suche werden Groß-/ Kleinschreibung und NFC normalisiert, die Originalschreibweise bleibt erhalten, sodass ein zerlegtes#cafe\u0301ein gültiges Tag ist und dasselbe Aggregat wie#caféfindet. Tags ändern nie die Antwort einer Zeile und werden mitten in einem Ausdruck nicht erkannt (2 #food + 3ist Arithmetik). Kommentare und Überschriften deklarieren keine Tags. - Ein Trenner ist eine Zeile, die exakt
---lautet (äußere Leerzeichen erlaubt). Er hat keine Antwort, fließt nie in eine Summe ein und beginnt einen neuen Tag-Abschnitt.----und längere Strichfolgen sind gewöhnliche Zeilen.
2 + 3 #math #cash → 5, tagged math and cash
5 #a
total of #a → 5
Abschnitte, Zwischensummen und Gesamtsumme
Der alte total-Befehl funktioniert weiter, und eine # -Überschrift, ein exakter
----Trenner oder das nächste total bilden nun seine Grenze. Zusätzlich gibt es:
subtotal– summiert die zulässigen Zeilen seit der letzten Zwischensumme, Überschrift oder dem letzten Trenner.subtotal + 15%/subtotal - 15%– der Prozentsatz gilt für die rohe Zwischensumme (100→115).<name> = subtotal[ ± 15%]– benannte Form, die den Wert als gewöhnlichen Skalar in die Umgebung schreibt (sum = subtotal + 15%→115).grand total(und<name> = grand total) – summiert nur die erfolgreich berechneten Zwischensummenzeilen darüber; ein Trenner löscht die Liste nicht. Eine fehlgeschlagene oder übergelaufene Zwischensumme zählt nie.
grand total verlangt mindestens zwei erfolgreiche Zwischensummen; bei weniger ist die Zeile
der stille generische Fehler Invalid expression, und nichts wird geraten.
total last N – eine Summe über die letzten Zeilen
total summiert alle geeigneten Zeilen seines Abschnitts. Die begrenzte Form
total last N summiert nur die geeigneten Werte der N unmittelbar
davorliegenden logischen Zeilen desselben Abschnitts und setzt den Abschnitt
danach genauso zurück wie ein gewöhnliches total.
Nist eine positive ganze Zahl. Nach den äußeren Leerzeichen oder Tabulatoren muss die Zeile alstotal last Nlesbar sein (Groß- und Kleinschreibung spielt keine Rolle, und ein oder mehrere Leerzeichen bzw. Tabulatoren dürfen die drei Teile trennen).total last 0,total last -3,total last 3.5, eine fehlende Zahl, zusätzliche Wörter oder eine zu große Zahl sind gewöhnliche Zeilen, keine Befehle.Nzählt logische Zeilen, nicht Ergebnisse. Leerzeilen, Kommentare, Prosa, Fehler, Geld- und Einheitenzeilen, ein einzelnes Antwort-Token und abgeleitete Zeilen (Zwischensummen, Gesamtsumme, Tag-Aggregate) belegen jeweils genau einen Platz und tragen nichts bei. Die Zeile des Befehls selbst ist nie einer seiner Plätze.- Die Abschnittsgrenze bleibt gleich. Das Fenster blickt nie über das nächste
total/total last N, eine#-Überschrift oder einen exakten----Trenner hinaus.subtotalundgrand totalsind keine Grenzen des alten total, aber ihre eigenen Zeilen belegen trotzdem Plätze. - Die Eignungsregeln bleiben gleich. Es gelten dieselben Regeln wie beim
gewöhnlichen
total: endliche einheitenlose Skalare, exakte Ganzzahlen und Verwendungszeilen benannter Skalare zählen; Deklarationen, Geld, Größen mit Einheiten, Wahrheitswerte, Datumsangaben und Fehler nicht. - Ein Fenster, das größer als der Abschnitt ist, summiert das Vorhandene (ein
leerer Abschnitt ergibt
0), und der Befehl setzt den Abschnitt danach zurück – ein folgendestotalodertotal last Nbeginnt also leer. - Überlauf und dynamische Werte richten sich nach dem Fenster. Der stille
Fehler
Invalid expressionerscheint nur, wenn die Summe der ausgewählten Zeilen überläuft; ein Überlauf oberhalb des Fensters betrifft ihn nicht. Die Zeile ist nur dann dynamisch (vonrandabhängig), wenn ein ausgewählter geeigneter Beitrag dynamisch ist. - Die Verdeckung ist gemeinsam: eine aktive Variable oder Konstante namens
totalunterdrückt beide Formen, genau wie bisher.
10
20
30
total last 2 → 30 (the blank line took a slot and added nothing)
40
50
total last 3 → 90 (only 40 and 50 were in the window)
total → 0 (the section was already reset)
10
20
subtotal → 30
10
subtotal
20
subtotal
grand total → 30
Eine Überschrift oder ein Trenner setzt den Zwischensummen-Akkumulator zurück:
10
# Section
20
subtotal → 20
Die alte total-Zeile ist keine Grenze für die Zwischensumme; sie wird als abgeleitete
Zeile aus der Zwischensumme ausgeschlossen, während der eigene Abschnitt des alten total
die Zwischensummenzeile weiterhin umspannt.
Welche Zeilen zulässig sind
Zulässig sind endliche dimensionslose Skalare (gewöhnliche Zahlen, Brüche, Prozentsätze,
Multiplikatoren), exakte Ganzzahlen und Zeilen, die benannte Skalare verwenden. Nicht
zulässig: Deklarationen (x = …), Zeilen mit nur einem Token, Geld, Größen mit Einheiten,
Boolesche-/Datums-/Zeit-/Geo-Werte, Fehler, Trenner und alle abgeleiteten Zeilen. Ein Token
innerhalb eines echten Ausdrucks zählt; eine Zeile nur mit Token nicht.
x = 5
x + 5
$7
3 kg
true
50%
1/4
0xFF
2 + 3
subtotal → 270.75
Strukturzeilen hinzufügen
- File → Add Subtotal (
⌘T) und File → Add Grand Total (⌘⇧T) fügen den Befehl in die Cursorzeile ein. Sie greifen nur, wenn die Zielzeile leer (nur Leerzeichen) oder eine strikt leere Zuweisung<name> =ist (abschließende Leerzeichen erlaubt); bei jedem anderen Inhalt ertönt ein Signal, und nichts ändert sich.⌘⇧Tverlangt zusätzlich mindestens zwei erfolgreiche Zwischensummen darüber. - Doppelklick auf eine leere Antwortzeile (nur Leerzeichen oder striktes
<name> =) fügtsubtotalüber denselben Planer ein. Überschriften, Kommentare, Trenner, reine Tag-Zeilen, Text und Fehler bleiben inert. - Convert to Normal Line im Kontextmenü einer Zwischensummen-/Gesamtsummenzeile ersetzt
den Befehl durch ein in der Regionseinstellung wieder eingebbares numerisches Literal voller
Genauigkeit des angezeigten Werts; die benannte Form behält ihr
<name> =-Präfix, und Zeilenzahl und stabile Bezeichner ändern sich nicht.
Tag-Aggregate
total of #tag, average of #tag, count of #tag und median of #tag (unabhängig von der
Groß-/Kleinschreibung; genau ein Tag pro Abfrage) sehen nur die zulässigen Zeilen mit
diesem Tag strikt oberhalb in der aktuellen Sektion – ein Trenner schließt die Sektion.
Eine Zeile mit mehreren Tags zählt in jedes Tag einmal. Eine leere Menge ergibt 0 für
total/count und einen stillen Fehler für average/median. Abgeleitete Aggregatzeilen
speisen nie spätere Aggregate, die Zwischensumme oder den Footer.
Statistikfunktionen und natürliche Phrasen
count, median und die Stichproben-stdev (n−1) sind Teil der 27 integrierten Funktionen,
und rand liefert inklusive Zufallsganzzahlen. Alle folgen den gemeinsamen
Aufrufregeln: Namen unabhängig von der Groß-/Kleinschreibung, Argumente als vollständige
Ausdrücke, strenge Arity- und Definitionsbereichsfehler.
count(1, 2, 3)→ 3median(1, 2, 3)→ 2median(1, 2, 3, 4)→ 2.5stdev(2, 4, 4, 4, 5, 5, 7, 9)→ ≈ 2.13809 (Stichprobe, n−1)rand(1, 6)→ eine gleichverteilte Ganzzahl in1…6
Natürliche Phrasen decken dasselbe ab: median of 1, 2, 3 → 2,
count of 1, 2, 3, 4 → 4, standard deviation of 2, 4, 4, 4, 5, 5, 7, 9 und
random number between X and Y. Eine Liste nutzt das aktive Argumenttrennzeichen (, in
Punktformaten, ; in Kommaformaten), daher ergibt median of 1,5; 2,5; 3,5 → 2.5 in einer
Komma-Dezimal-Einstellung. Ergebnisse folgen den Nachkommastellen des Blatts. Median und
Mittelwert sind überlaufsicher, sodass endliche
Extremwerte kein Unendlich erzeugen.
Dynamische Zufallswerte
Eine Zeile ist dynamisch, wenn rand
tatsächlich lief (Leerzeichen und Groß-/Kleinschreibung vor ( sind egal) oder wenn sie einen
dynamischen Namen liest. Ein nicht genommener if-Zweig, Kommentare und ungültiger Text
werden nicht dynamisch. Die Abhängigkeit propagiert durch benannte Werte, subtotal,
grand total und Tag-Aggregate; die Zeilenart bleibt erhalten (eine Zwischensumme bleibt eine
Zwischensumme).
Ein dynamischer Wert bleibt stabil, bis du das Blatt änderst oder ⌘R (Recalculate Dynamic
Values) drückst; Scrollen, Hover und Formatwechsel zeichnen ihn nicht neu. Er ist nie
tokenisierbar und tritt nie in die Previous-Answer-Kette ein. Der PDF-Export friert den
aktuellen Wert ein.
Footer-Statistik
Rechtsklick auf das schwebende Total öffnet ein natives Menü mit Häkchen für Sum,
Average, Count oder Median. Die Wahl ist eine app-globale, persistierte
Einstellung (nie Teil von .nlx) und ändert nur den Footer – nie Blattinhalt, Cursor,
Auswahl, IME, Scrollposition oder Editor. Count zeigt eine exakte Ganzzahl; die übrigen
Statistiken nutzen die globale Zahlendarstellung. Das Panel nutzt dieselben kanonischen
zulässigen Zeilen wie die Summen darüber: Abgeleitete Aggregatzeilen (Inline-Totals,
Zwischensummen, Gesamtsummen, Tag-Aggregate, Trenner) fließen nie ein, und der Standard
Sum entspricht dem bisherigen Total. Ein falsch gespeicherter oder unbekannter Wert
fällt auf Sum zurück.
Tokens, Export und Zusammenspiel mit den Summen
- Eine endliche Tag-Aggregat- oder Zwischensummenzeile ist für Answer Tokens eine gewöhnliche Zahl; dasselbe Ergebnis wird nie von einem späteren Aggregat, einer Zwischensumme oder dem Footer erneut verbraucht.
- Rundung und Zahlenformat-Überschreibungen pro Antwort ändern nie die Footer-Statistik; diese folgt der globalen Notation und den Regionseinstellungen.
- PDF-Export und Druck behalten abgeleitete Zeilen als abgeleitet markiert, sodass die exportierte Seite sie nie doppelt zählt, und der Export friert den aktuellen Zufallswert ein.
Verwandte Themen
- Integrierte Funktionen – die vollständige Funktionsliste und die strengen Aufrufregeln.
- Blattsprache – Zeilenformen und der alte
total-Befehl. - Exportieren & Drucken – wie abgeleitete Zeilen und die Footer-Statistik im PDF erscheinen.