Vorlagenprogrammierung Diskussionen Lua Test Unterseiten
Modul Deutsch English

Modul: Dokumentation

Sort/cellNum – Modul zum Generieren von sortierbaren Zahlenwerten in Tabellen und zur gehobenen Zahlenformatierung.

Funktionen für Vorlagen

Bearbeiten
f
Formatieren.
Parameter einer umgebenden Vorlageneinbindung:
keine
Parameter des #invokealle optional:
n
(Basis-)Zahl (Mantisse)
Typografisches Minuszeichen zulässig.
Punkt . als Dezimaltrennzeichen zulässig, aber auch Komma , der deutschen Notation.
Das maschinenlesbare Format 1.234E56 für Exponentialdarstellung zur Basis 10 ist ebenfalls möglich; löst Präsentation in Exponentialdarstellung aus.
Tausendertrennzeichen nicht empfehlenswert, weil 1.234 nicht zweifelsfrei zugeordnet werden könnte; Einskommazwei oder Tausendzweihundert? Wird im Zweifelsfall als internationalisierte Angabe interpretiert.
Ziffern aus zahlreichen nichtwestlichen Schriften, die auf 0 bis 9 abgebildet werden können, sind möglich und führen zu einer adäquaten Sortierung gemischt mit westlichen Ziffern.
Vorgabe: 0
exp
Exponent (Zehner)
Ganze Zahl erwartet.
Typografisches Minuszeichen zulässig.
Löst Exponentialdarstellung aus.
suffix
Nichtnumerisches direktes Anhängsel an die Basiszahl
pre
Kurzes Präfix
Wird ohne Zeilenumbruch mit dem Zahlenwert verbunden; normaler Weißraum.
plus
Positive Werte (einschließlich Null) mit vorangestelltem Pluszeichen präsentieren
post
Kurzes Postfix
Wird ohne Zeilenumbruch mit dem Zahlenwert verbunden; normaler Weißraum.
pad
Versuch einer links- oder rechtsbündigen Ausrichtung von Dezimaltrennern
Positive ganze Zahl: Anzahl von Nachkommastellen, auf die rechtsbündig ausgerichtet werden soll.
Negative ganze Zahl: Anzahl von Stellen vor dem Komma, auf die linksbündig ausgerichtet werden soll.
cell
Wenn 1 dann notwendige Tabellensyntax für sortierbare Werte voranstellen.
Sonst <span> bilden, falls erforderlich.
rowspan
Tabellen-Attribut: Anzahl der Zeilen
Nur bei cell=1 wirksam.
colspan
Tabellen-Attribut: Anzahl der Spalten
Nur bei cell=1 wirksam.
class
Universal-Attribut: Leerzeichen-getrennte Liste von Klassenbezeichnern
style
Universal-Attribut: CSS-Deklaration
URL sowie Anführungszeichen " sind unzulässig.
id
Universal-Attribut: Fragmentbezeichner
cssNum
Seitenbezeichner einer TemplateStyles-Seite, für allgemeine Formatierung
cssNumExp
Seitenbezeichner einer TemplateStyles-Seite, für wissenschaftliche Formatierung
cat
Titel einer Wartungskategorie im Fehlerfall
Rückgabewert: Wikitext.
  • Bei nicht entschlüsselbarer Eingabe erfolgt eine Fehlermeldung.
furnish
Wikitext mit Auflistung bekannter Schlüsselwörter
failsafe
Versionsbezeichnung (lokal): 2024-06-01
Optionaler Zusatzparameter:
  • 1 – Mindestversionsbezeichnung oder wikidata oder ~
{{#invoke:Sort/cellNum|failsafe}} ergibt 2024-09-19
Mit Angabe eines Parameters als Datum im ISO-Format wird verglichen, ob das aktuelle Modul diese Version oder später erfüllt.
  • {{#invoke:Sort/cellNum|failsafe|2001-01-01}} ergibt: »2024-09-19«
  • {{#invoke:Sort/cellNum|failsafe|2099-01-01}} ergibt: »« – leer, falls Mindestversionsbezeichnung nicht erfüllt
Ist dieser Zusatzparameter das Schlüsselwort wikidata, so ist der Wert die auf Wikidata registrierte Versionsbezeichnung (2024-06-01) oder lokal, falls dort keine gefunden.
  • Ist der Zusatzparameter das Zeichen ~, so ist das Ergebnis leer, falls Übereinstimmung der lokalen mit der auf Wikidata registrierten Versionsbezeichnung besteht (2024-06-01).
Rückgabewert:
  • Leer, falls Mindestversionsbezeichnung nicht erfüllt, oder Übereinstimmung mit Wikidata
  • Versionsbezeichnung (auf Wikidata registriert:2024-06-01) bei wikidata, oder lokal falls dort keine gefunden, bzw. leer wenn synchronisiert

Darstellung, Formate, Besonderheiten

Bearbeiten
Darstellung
  • Immer typografisches Minuszeichen.
  • Immer Komma als Dezimaltrenner.
  • Immer Punkt zur Tausendertrennung.
  • Der Multiplikationspunkt zwischen Mantisse und 10 wird gut erkennbar dargestellt.
Parameterformat
  • Sowohl einfaches ASCII- wie auch typografisches Minuszeichen möglich.
  • Komma oder Punkt als Dezimaltrenner möglich.
  • Ein Syntaxfehler im Eingabewert (etwa Bis-Strich statt Minuszeichen, oder Buchstabe „O“ statt Ziffer Null) wird markiert.
Sortierung
  • Vorangestellte Zeichen oder typografisches Minuszeichen stören nicht die Sortierung.
  • Zellen mit einfachen Zahlen können kombiniert werden, und mit den anderen Vorlagen der Familie.
Padding
  • Es wird eine integrierte Ausrichtung des Dezimaltrenners versucht.
  • Dabei wird für alle Zellen in der Spalte der gleiche Positionswert vorgegeben, und in jeder Zelle anhand des momentanen Zahlenwerts daraus der vermutlich freizulassende Weißraum ermittelt.
Copy & Paste
Beim Copy & Paste einzelner Zahlen oder auch ganzer Tabellen wird die deutsche typografische optische Darstellung ersetzt durch das computergerechte internationale Datenformat, wodurch die Werte einfach in andere Vorlagen oder externe Berechnungsprogramme eingefügt werden können:
  • ASCII-Bindestrich-Minus statt typografischem Minuszeichen
  • Punkt als Dezimaltrenner
  • Keine Tausendertrennung
Statt des Konstrukts ×10 wird der Buchstabe E kopiert, wodurch sich ein gängiges maschinenlesbares und in Programmiersprachen übliches Format ergibt.

Schlüsselwörter (adverbial)

Bearbeiten

Die nachstehenden Schlüsselwörter werden erkannt und bei ungenauen Angaben ausgewertet:

  • <
  • ±
  • >
  • gut
  • ca.
  • ungefähr
  • fast
  • unter
  • rund
  • ungef.
  • mehr als
  • beinahe
  • um
  • weniger als
  • bei
  • nahe
  • zirka
  • über
  • reichlich
  • etwa
  • circa
  • nahezu
  • knapp

Verwendung

Bearbeiten

Funktionen für Lua-Module

Bearbeiten

Die Funktionen für Vorlagen sind geeignet erreichbar. Zur prinzipiellen Funktionalität siehe jeweils dort.

Einbindung über require():

local lucky, Sort = pcall( require, "Module:Sort/cellNum" )
if type( Sort ) == "table" then
    Sort = Sort.Sort()
else
    -- Fehlerfall; Sort enthält Fehlermeldung
    return "<span class='error'>" .. Sort .. "</span>"
end
Sort.f( arglist )
  • arglist – table mit Parametern; wie für f – Komponenten, alle string werden getrimmt:
    • n – number|string; geparsed wie in Vorlage
    • exp – number|string; geparsed wie in Vorlage
    • suffix – string
    • pre – string
    • plus – boolean|string
      • string – geparsed wie in Vorlage; 1true
    • post – string
    • pad – number|string
    • cell – string|boolean|table
      • string – geparsed wie in Vorlage; 1true
      • tablemw.html-Objekt, das attribuiert und mit content versehen wird.
    • rowspan – string|number
    • colspan – string|number
    • class – string
    • style – string|table, Text-Code oder Mapping
    • id – string
    • cssNum – string|title
    • cssNumExp – string|title
    • lang – string
    • dir – string
    • cat – string|title|table
    • frame – object mit dem frame, falls zur Hand; sonst nil
Rückgabewert: string mit Wikitext, oder Attribuierung des cell-Objekts
Sort.failsafe( atleast )
atleast
optional
nil oder Mindestversion oder "wikidata" oder ~ für Synchronisation
Rückgabewert: Boolesch oder Zeichenkette

Abhängigkeiten

Bearbeiten
  • Sort/cell – Bibliothek mit Grundfunktionen für Tabellenattribute

Internationalisierung

Bearbeiten

Zur Anpassung an fremde Wikis und deren Zahlenschreibweise siehe die englischsprachige Version dieser Seite.