Gcal 3.00

# Inhaltsverzeichnis

- Gcal
- Vorwort
- Einleitung
- Aufruf von `gcal`
  - Kommandozeilenargumente
    - Optionen
      - Allgemeine Optionen
      - Globale Optionen
      - Kalender Optionen
      - Termin Optionen
    - Antwortdatei
    - Datummodifizierer
    - Kommandos
      - Einfache Kommandos
      - 3-Monatsmodus Kommandos
      - Listen von Kommandos
      - Bereiche von Kommandos
  - Die `GCAL` Umgebungsvariable
- Ewige Feiertage
- Termine
  - Ressourcendatei
    - Struktur einer Ressourcendatei
    - Datumteil einer Zeile
    - Weitere Datumteil-Attribute
      - Listen von Tagen
      - Bereiche von Tagen
      - Wiederholungsfaktor von Tagen
      - Auftretensfaktor von Tagen
    - Textteil einer Zeile
    - `%?`... Spezialtexte
    - Zeile kommentieren
    - Einfügeanweisungen
    - Datumvariablen
    - Textvariablen
  - Ressourcendateibeispiele
- Entstehungsgeschichte des Gregorianischen Kalenders
- Gcal Hilfsprogramme
  - Aufruf von `tcal`
  - Aufruf von `txt2gcal`
  - Aufruf von `gcal2txt`
- Gesichtspunkte zur Internationalisierung
- Metasymbole
- Reguläre Ausdrücke
  - Benutzung von regulären Ausdrücken
  - Regulär-Ausdruck Operatoren
- Zusammenfassung aller regulären Ausdrücke
- Beschreibung aller `%?`... Spezialtexte
  - `%?`... Spezialtexte um Datum auszuschließen
    - Ausschließen mit Datumargument `%?[Datum]` Spezialtexte
      - Inklusive Datum Zeitraum `%i[Datum][#[Datum]]` Spezialtext
      - Exklusive Datum Zeitraum `%e[Datum][#[Datum]]` Spezialtext
    - Ausschließen ohne Argument `%?` Spezialtexte
      - Inklusive Tag Zeitraum `%?` Spezialtexte
      - Exklusive Tag Zeitraum `%?` Spezialtexte
  - `%?`... Spezialtexte zum Textersatz
    - Ersetzen mit Datumargument `%?[Datum]` Spezialtexte
      - Wochentagsname `%[Format]K[Datum]` Spezialtext
      - Wochentagsnummer `%[Format]?[Datum]` Spezialtexte
      - Tag-des-Jahres Nummer `%[Format]N[Datum]` Spezialtext
      - Tagesnummer `%[Format]D[Datum]` Spezialtext
      - Wochennummer `%k[Datum]` Spezialtext
      - Monatsname `%[Format]U[Datum]` Spezialtext
      - Monatsnummer `%[Format]M[Datum]` Spezialtext
      - Jahresnummer `%[Format]Y[Datum]` Spezialtext
      - Mondphase `%[Format]?[Datum]` Spezialtexte
      - Biorhythmus `%?[Datum]` Spezialtexte
      - Differenzwert `%[Format]?[Datum]` Spezialtexte
    - Ersetzen mit anderem Argument `%[Format]?[Argument]` Spezialtexte
      - Aktuelle Uhrzeit `%[Format]?[Argument]` Spezialtexte
      - Textliches Datum `%n[Argument]` Spezialtext
      - Julianische Tageszahl `%[Format]j[Argument]` Spezialtext
      - Geographische Distanz und Kurswinkel `%[Format]bArgument` Spezialtext
      - Sonnendaten `%[Format]?Argument` Spezialtexte
      - Monddaten `%[Format]?Argument` Spezialtexte
      - Umgebungsvariable `%[Format]-[Argument]` Spezialtext
    - Ersetzen ohne Argument `%?` Spezialtexte
      - Differenzwert `%[Format]?` Spezialtexte
      - Hervorhebung `%?` Spezialtexte
  - Shell Kommando `%![Argument]` Spezialtext
- Zusammenfassung aller `%?`... Spezialtexte
- Veraltete Spezialtexte und Formatelemente
  - Tabelle der veralteten Spezialtexte
  - Tabelle der veralteten Datumformatelemente
  - Tabelle der veralteten Datumformate
- Formatanweisung
- Kodierschema
  - Kodierschema Tabelle 1
  - Kodierschema Tabelle 2
- Umgebungsvariablen
- Fehlerkodes
- Glossar
- Verzeichnis der Kommandozeilenargumente
- Verzeichnis der Umgebungsvariablen
- Tabellenverzeichnis
- Stichwortverzeichnis

Knoten:Top, Nächster:Vorwort, Vorheriger:(dir), Aufwärts:(dir)

# Gcal

Diese Datei dokumentiert `gcal`, ein Programm um Kalender zu berechnen und auszugeben.

Gcal gibt hybrid und proleptische Julianische bzw. Gregorianische Kalenderblätter für einen Monat, drei Monate oder ein ganzes Jahr aus. Es zeigt auch ewige Feiertagslisten für viele Länder rund um den Erdball an, und zeichnet sich durch die sehr leistungsfähige Erzeugung von Terminlisten aus, die für Erinnerungszwecke benutzt werden können. Gcal kann für jeden beliebigen Standort verschiedenartige astronomische Daten und Zeiten der Sonne und des Mondes berechnen, die präzise genug für die meisten zivilen Zwecke sind. Gcal unterstützt zudem noch einige andere Kalendersysteme, zum Beispiel den chinesischen und japanischen Kalender, den hebräischen Kalender und den bürgerlichen islamischen Kalender.

Das ist die Ausgabe 3.00 von Gcal, ein erweitertes Kalenderprogramm,
7 Juni 2000, für die Version 3.00 der GNU Implementierung
von `cal` und `calendar`.

Jedwede Vorschläge, Verbesserungen, Erweiterungen, Fehlerberichte, Geld- und Sachspenden, Programmieraufträge usw. sind stets willkommen. Bitte senden Sie diese direkt an meine eMail Adresse esken@gmx.net. Wenn Sie dieses Werkzeug mögen, so würde ich mich sehr über eine Postkarte von Ihnen freuen!

    ------------------------oOO      \\\_''/      OOo---------------------------
    Thomas Esken               O     (/o-o\)     O  eMail: esken@gmx.net
    Im Hagenfeld 84                 ((  ^  ))       Phone: +49 251 232585
    D-48147 Muenster; Germany    \____) ~ (____/    MotD : 2old2live, 2young2die

- Vorwort: Vorbemerkungen zu Gcal.
- Einleitung: Einführung in Gcal.
- Aufruf von Gcal: Wie starte und benutze ich das `gcal` Programm?
- Ewige Feiertage: Wie wird eine Ewige Feiertagsliste erzeugt?
- Termine: Wie wird eine Terminliste erzeugt?

  Anhänge

- Heutiger Kalender: Entstehungsgeschichte des Gregorianischen Kalenders.
- Gcal Hilfsprogramme: Mitgelieferte Hilfsprogramme.
- Internationalisierung: Aspekte zur erfolgten Internationalisierung.
- Metasymbole: In diesem Handbuch benutzte Metasymbole.
- Regulaere Ausdruecke: Beschreibung aller regulären Ausdrücke.
- Regexp (kurz): Zusammenfassung aller regulären Ausdrücke.
- Spezialtexte (lang): Beschreibung aller `%?`... Spezialtexte.
- Spezialtexte (kurz): Zusammenfassung aller `%?`... Spezialtexte.
- Veraltete Spezialtexte: Tabellen der veralteten Spezialtexte et cetera.
- Formatanweisung: Beschreibung der Komponenten einer Formatanweisung.
- Kodierschema: Kodierschema des Datumteils einer Ressourcendatei.
- Umgebungsvariablen: Benutzte Umgebungsvariablen.
- Fehlerkodes: Welche Fehlerkodes werden von Gcal zurückgegeben?
- Glossar: Kurze Erklärungen zu den hier benutzen Begriffen.

  Indizes

- Argumentenindex: Verzeichnis der berücksichtigten Kommandozeilenargumente.
- Variablenindex: Verzeichnis der benutzten Umgebungsvariablen.
- Tabellenindex: Verzeichnis der Tabellen in diesem Handbuch.
- Begriffsindex: Stichwortverzeichnis.

  --- Detaillierte Aufstellung Von Knoten ---

  Aufruf von Gcal

- Kommandozeilenargumente: Kommandozeilenargumente.
- Die GCAL Umgebungsvariable: Wie wird die `GCAL` Umgebungsvariable benutzt?

  Kommandozeilenargumente

- Optionen: Wie werden Optionen benutzt?
- Antwortdatei: Wie wird eine `@Datei` Antwortdatei benutzt?
- Datummodifizierer: Wie wird der `%Datum` Datummodifizierer benutzt?
- Kommandos: Wie werden Kommandos benutzt?

  Optionen

- Allgemeine Optionen: Wie Allgemeine Optionen benutzt werden.
- Globale Optionen: Wie Globale Optionen benutzt werden.
- Kalender Optionen: Wie Kalender Optionen benutzt werden.
- Termin Optionen: Wie Termin Optionen benutzt werden.

  Kommandos

- Einfache Kommandos: Wie ein Einfaches Kommando benutzt wird.
- 3-Monatsmodus Kommandos: Wie ein 3-Monatsmodus Kommando benutzt wird.
- Listen von Kommandos: Wie eine Liste von Kommandos benutzt wird.
- Bereiche von Kommandos: Wie ein Bereich von Kommandos benutzt wird.

  Termine

- Ressourcendatei: Wie eine Ressourcendatei benutzt wird.
- Ressourcendateibeispiele: Beispiele zu Einträgen in der Ressourcendatei.

  Ressourcendatei

- Struktur einer Ressourcendatei: Wie wird eine Ressourcendatei erstellt?
- Datumteil einer Zeile: Wie muß der Datumteil aussehen?
- Weitere Datumteil-Attribute: Was sind weitere Attribute vom Datumteil?
- Textteil einer Zeile: Wie muß der Textteil aussehen?
- Spezialtexte: Was sind `%?`... Spezialtexte?
- Zeile kommentieren: Wie eine Zeile kommentiert werden kann.
- Einfuegeanweisungen: Was sind Einfügeanweisungen?
- Datumvariablen: Wie Datumvariablen benutzt werden können.
- Textvariablen: Wie Textvariablen benutzt werden können.

  Weitere Datumteil-Attribute

- Listen von Tagen: Wie eine Liste von Tagen benutzt wird.
- Bereiche von Tagen: Wie ein Bereich von Tagen benutzt wird.
- Wiederholungsfaktor von Tagen: Wie ein solcher Faktor benutzt wird.
- Auftretensfaktor von Tagen: Wie ein solcher Faktor benutzt wird.

  Gcal Hilfsprogramme

- Aufruf von tcal: Wie starte und benutze ich das `tcal` Programm?
- Aufruf von txt2gcal: Wie starte und benutze ich das `txt2gcal` Programm?
- Aufruf von gcal2txt: Wie starte und benutze ich das `gcal2txt` Programm?

  Regulaere Ausdruecke

- Benutzung von Regexp: Wie reguläre Ausdrücke benutzt werden können.
- Regexp Operatoren: Was sind regulär-Ausdruck Operatoren?

  Spezialtexte (lang)

- Ausschliessen: Datum ausschließen.
- Ersetzen: Texte ersetzen.
- Shell Kommando: Shell Kommando ausführen.

  Ausschliessen

- Ausschliessen mit Datumargument:
- Ausschliessen ohne Argument:

  Ausschliessen mit Datumargument

- Inklusive Datum Zeitraum:
- Exklusive Datum Zeitraum:

  Ausschliessen ohne Argument

- Inklusive Tag Zeitraum:
- Exklusive Tag Zeitraum:

  Ersetzen

- Ersetzen mit Datumargument:
- Ersetzen mit anderem Argument:
- Ersetzen ohne Argument:

  Ersetzen mit Datumargument

- Wochentagsname:
- Wochentagsnummer:
- Tag-des-Jahres Nummer:
- Tagesnummer:
- Wochennummer:
- Monatsname:
- Monatsnummer:
- Jahresnummer:
- Mondphase:
- Biorhythmus:
- Differenzwert:

  Ersetzen mit anderem Argument

- Aktuelle Uhrzeit:
- Textliches Datum:
- Julianische Tageszahl:
- Geographische Distanz und Kurswinkel:
- Sonnendaten:
- Monddaten:
- Inhalt von Umgebungsvariable:

  Ersetzen ohne Argument

- Andere Differenzwerte:
- Hervorhebung:

  Veraltete Spezialtexte

- Tabelle der veralteten Spezialtexte:
- Tabelle der veralteten Datumformatelemente:
- Tabelle der veralteten Datumformate:

  Kodierschema

- Kodierschema Tabelle 1:
- Kodierschema Tabelle 2:

Knoten:Vorwort, Nächster:Einleitung, Vorheriger:Top, Aufwärts:Top

# Vorwort

Der Grund, warum ich Gcal geschrieben habe, war hauptsächlich der, ein off-line Werkzeug zu haben1, das fähig ist, Julianische und Gregorianische Kalenderblätter in hochgradig flexibler und internationalisierter Weise auszugeben, sowie Terminlisten zu Erinnerungszwecken und länder- bzw. territoriumsspezifische Feiertagslisten auszugeben. Später dann wurde Gcal dahingehend erweitert, einige grundlegende astronomische Berechnungen wie Mondphase, Mondaufgang, Monduntergang und sonstige mondbasierte Daten, Sonnenaufgang, Sonnenuntergang, verschiedene Dämmerungszeiten und sonstige sonnenbasierte Daten, Sonneneintritt in ein Tierkreiszeichen, Sonnen- und Mondfinsternisse, Tagundnachtgleiche und Sonnenwende durchzuführen. Die Berechnung eines Biorhythmus' und die Berechnung der Luftlinie zwischen zwei geographischen Orten und deren rechtweisende Kurswinkel werden nun ebenfalls ausgeführt, nebst vielem anderen mehr.

Die Genauigkeit der meisten astronomischen Berechnungen, die von Gcal durchgeführt werden, ist gering, da es wirklich schwer ist, präzise astronomische Voraussagen für einen Zeitraum von mehr als 100 Jahren zu machen. Das wirkt sich natürlich auch auf einige landesspezifische Feiertage aus, die auf solchen astronomischen Berechnungen beruhen. So ist es wirklich möglich, daß sich einige Ausgaben im Hinblick auf den tatsächlichen Zeitpunkt des astronomischen Ereignisses unterscheiden, und das um eine oder mehrere Minuten/Stunden/Tage. So etwas kann immer dann geschehen, wenn ein tatsächlicher astronomischer Wert nahe um Mitternacht herum auftritt. Also seien Sie nicht überrascht! Strenggenommen sollten Sie also alle astronomisch basierten Ausgaben als eine mehr oder weniger gute Näherung an den wahren Wert ansehen, aber nicht auf diese bauen!

Da Gcal nicht in erster Linie dazu geschaffen wurde, um ein hochgenaues astronomisches Berechnungswerkzeug zur Hand zu haben, so hat die Welt derzeit mit den vorgenannten Einschränkungen zu leben. Aber wenn Sie C Quellentext-Funktionen haben, welche

- die astronomischen Berechnungen präziser durchführen für den von Gcal unterstützten Zeitraum,
- ähnlich schnell oder gar schneller arbeiten als Gcal's derzeitige Funktionen,
- entweder öffentliches Allgemeingut (public domain) sind, oder durch die GPL2 abgedeckt werden,
- die gleichen Aufrufkonventionen und Rückgabetypen wie Gcal's aktuelle Funktionen haben,
- dem GNU Kodierungsstandard entsprechen und deswegen einfach zu pflegen und zu erweitern sind,
- Gcal's interne Beschränkungen und Konzepte nicht verletzen,

und Sie wollen diese der Öffentlichkeit vermachen, so wäre ich sehr erfreut, wenn Sie mit mir in Verbindung treten würden, so daß ich Ihre Ergebnisse in einer nächsten Ausgabe dieser Software mit einbeziehen kann.

Nun einige Worte zu den eingebauten länderspezifischen Feiertagen...

Wie Sie sicherlich wissen existieren derzeit weltweit noch zahlreiche andere Kalendersysteme neben dem Gregorianischen Kalender. Der Gregorianische Kalender, den Gcal als Software hauptsächlich repräsentiert, ist nur ein Kalender unter vielen anderen, aber es ist derjenige Kalender, welcher heutzutage weltweit am meisten respektiert wird. Selbst Länder, die offiziell ein anderes Kalendersystem benutzen, berücksichtigen den Gregorianischen Kalender meistens für bürgerliche und administrative Zwecke.

Aber wenn Gcal die Fähigkeit anbietet, Feiertage eines bestimmten Landes in die ewige Feiertagsliste einzufügen, so ist es durchaus möglich, daß nicht alle Feiertage ausgegeben werden, die in diesem Land respektiert werden. Ein Grund dafür ist, daß mir meine zahlreichen Quellen schlicht und einfach keine Auskunft über die Existenz eines Feiertages geben. Ein zweiter Grund ist, daß der Feiertag gerade während Gcal's Entwicklungsphase aufgrund politischer oder gesellschaftlicher Gegebenheiten erzeugt oder geändert oder entfernt wurde. Und ein anderer Grund ist, daß die Methode, nach der ein Feiertag berechnet wird, bisher noch nicht in Gcal eingebaut worden ist. Dieser Fall wird durch ein `#` Zeichen gekennzeichnet, das hinter dem Landesnamen in der Liste derjenigen Länder aufgeführt ist, die von Gcal berücksichtigt werden. SieheKalender Option `--cc-holidays=cc[_tt][+...]`, wo die vorgenannte Liste aufgeführt ist.
Die in die ewige Feiertagsliste eingebrachten Feiertage früher Jahre --also in etwa die im Zeitraum A.D. 30 bis zur Mitte des 20'ten Jahrhunderts-- werden mit ziemlicher Sicherheit nicht den Ansprüchen genügen, die Historiker an eine solche Liste haben. Gcal kann nicht als eine vollständige und historisch korrekte Datenbasis aufgefasst werden, und ist auch nicht zu diesem Zweck erstellt worden! Das liegt darin begründet, daß sowohl die territorialen Grenzen und Bezeichnungen der Staatsgebilde sowie deren Besiedelung in früheren Zeiten teilweise ganz anders war, wie es heutzutage der Fall ist. Zudem fehlen mir bislang verlässliche Informationen, anhand derer ich erkennen kann, wann genau ein Feiertag für ein Gebiet eingeführt worden ist. Hier appelliere ich an die Historiker, die mir doch bitte die konkreten landes- und kulturbezogenen Daten in geeigneter Form zur Verfügung stellen mögen, falls sie eben dieser Umstand stört und sie ihn behoben haben wollen.

Bisher noch nicht unterstützte lebendige und bedeutende Kalendersysteme, beziehungsweise Methoden, um länderspezifische Feiertage aus diesen abzuleiten, sind:

- Religiöser islamischer Mondkalender
- Hinduistischer Sonnenkalender und Mondkalender
- Buddhistischer Kalender
- Sikh Kalender
- Jain Kalender

Selbst wenn die Liste der unterstützten Länder auf den ersten Blick als nahezu vollständig erscheinen mag im Vergleich zu der Liste aller derzeit existierenden Nationen weltweit, so sollten Sie jedoch beachten, daß doch noch einige Länder fehlen! Falls Sie mich darin unterstützen wollen, die Liste der von Gcal berücksichtigten Länder zu vervollständigen, oder aber Sie erarbeiten bzw. haben C Funktionen, welche die noch fehlenden Kalendersysteme handhaben, so wäre ich auch sehr erfreut, wenn Sie mit mir Kontakt aufnehmen.

Ich habe die länderspezifischen Feiertagsdaten so gut wie ich nur konnte erfasst, aber ich kann nicht garantieren, daß mir während der Datenerfassung keinerlei Fehler unterlaufen sind. So kann es durchaus sein, daß einige länderspezifische Feiertagslisten fehlerbehaftet sind.

Nun ja, wenn Sie denken, daß ich vergessen habe, Gcal mit den speziellen Feiertagen eines Landes oder Ihres Heimatlandes zu versehen, oder Sie denken, daß eine länderspezifische Feiertagsliste unvollständig ist, oder aber Sie denken, daß einige der bereits eingebauten Feiertage falsch sind, so sollten Sie mir eine vollständige Liste aller derjenigen Feiertage zusenden, die in diesem Land begangen werden, beziehungsweise mir Hinweise geben, wie ich diese Feiertage berichtigen oder vervollständigen kann!

Eine solche Liste sollte idealerweise die folgenden Informationen enthalten:

- Die englische Bezeichnung des Feiertags.
- Die Regel, wie dieser Feiertag gebildet wird (wie 10'ter Oktober jeden Jahres, oder 47 Tage nach Ostersonntag, oder drei Freitage vor dem letzten Samstag im Juni...). Falls es Ausnahmen von einer solchen generellen Regel gibt, so geben Sie diese bitte detailliert an. Und bitte nennen Sie mir auch das Datum, seit wann dieser Feiertag begangen wird beziehungsweise zum ersten Mal begangen wurde. Übrigens, falls der Feiertag mit dem Datum des Ostersonntags verbunden ist, so sagen Sie mir bitte auch ob Sie den Ostersonntag der christlichen Westkirchen oder den Ostersonntag der orthodoxen Ostkirchen meinen.
- Ob es ein gesetzlicher Feiertag ist, der im gesamten Land berücksichtigt wird. (Benutzen Sie ein `+` Zeichen um diesen Fall zu markieren.) Ein gesetzlicher Feiertag bedeutet in diesem Sinne einen Tag, an dem die Bevölkerung nicht zu arbeiten braucht -- also in den meisten Firmen, und die Geschäfte haben geschlossen; wie am `Neujahrstag`, dem 1'ten Januar.
- Ob es ein gesetzlicher Feiertag ist, der nur in einigen Teilen des Landes berücksichtigt wird. Bitte teilen Sie mir mit, ob ein solcher Feiertag überwiegend im gesamten Land gültig ist oder nicht, wenn möglich durch die Angabe von Prozentpunkten. (Falls ein solcher Feiertag in mehr als 70% des Landes begangen wird benutzen Sie ein `#` Zeichen um diesen Fall zu markieren, ansonsten benutzen Sie ein `*` Zeichen.)
- Ob es ein Tag ist, der nur zu Gedächtnis- oder Erinnerungszwecken dient. (Benutzen Sie ein `-` Zeichen um diesen Fall zu markieren.) Wie `1'ter April` am 1'ten April, der kein Feiertag im dem Sinne ist, daß irgendjemand einen Tag schul- oder arbeitsfrei hat, nur ein Tag zum Witze machen, hübsch gewöhnlich. Andere Feiertage könnten mit Karten oder Geschenken usw. begangen werden -- aber diese bleiben stets Arbeitstage, so wie:

      Valentins-Tag, Vatertag, Muttertag.

Die islamischen Feiertage, die in die länderspezifische Feiertagsliste aufgenommen werden, sind arithmetisch berechnet, nicht astronomisch. Das ist, was die Leute den bürgerlichen islamischen Mondkalender nennen. Diese Art von Kalender ist nur eine grobe Abschätzung des religiösen islamischen Mondkalenders, der seinerseits rein astronomisch ermittelt wird. Also seien Sie nicht allzusehr überrascht, wenn einige Feiertagsdaten in manchen Jahren um +/- 1...2 Tage vom religiös-islamischen Kalender abweichen.
Die Hauptschwierigkeit, den religiös-islamischen Kalender korrekt in Gcal einzubauen, liegt darin begründet, daß es zunächst einmal eine ganze Anzahl verschiedener Kriterien für die Erstsichtbarkeit der zunehmenden Mondsichel nach einer Neumondphase gibt -- also desjenigen Ereignisses, welches den Beginn eines neuen (lunaren) Monats im religiös-islamisch basierten Kalender definiert. So gibt es einerseits rein astronomisch-basierte Kriterien, und andererseits auch rein religiös-basierte Kriterien. Zudem beeinflussen die lokal vorherrschenden Wetterbedingungen, die Ortskoordinate des Beobachtungsstandortes und die Art der verwendeten Beobachtungsmethode hierbei auch noch diese Kriterien. Weiterhin kommt noch erschwerend hinzu, daß mir bislang keinerlei verlässliche Informationen darüber vorliegen, nach welchen Kriterien der religiöse islamische Kalender in denjenigen Ländern ermittelt wird (weltweit ungefähr 60), die eben diesen Kalender berücksichtigen. Also ist aufgrund der hier vorgenannten Problematik dieser religiös-islamische Kalender bisher noch nicht in Gcal aufgenommen worden.

Die chinesischen (und japanischen) Feiertage, die teilweise auch in die länderspezifische Feiertagsliste aufgenommen werden, sind mittels desjenigen Algorithmus' berechnet, wie er vom Purple Mountain Observatorium in Nanjing zur Ermittlung des astronomischen, lunisolaren chinesischen Kalenders benutzt wird. Dieser --alljährlich stets neu-- so ermittelte Kalender hat seit 1929 einen verbindlichen Charakter für (die Volksrepublik) China. Allerdings muß hier ganz klar gesagt werden, daß der chinesische Kalender, und zwar besonders im 17'ten und 18'ten Jahrhundert, in der historischen Realität je nach Landstrich entweder mittels des vorgenannten modernen Algorithmus' berechnet wurde, oder aber unter Benutzung eines anderen Verfahrens, welches eine möglicherweise abweichende Kalenderstruktur für ein und dasselbe Jahr zum Ergebnis hatte.

Und zuletzt...
Dieses Handbuch stellt nur in kurzer und knapper Form die Einsatzmöglichkeiten des Gcal Programmes dar, und verzichtet hierbei ganz bewußt auf die romanhafte Ausgestaltung der durch diese Software abgedeckten Themenbereiche. Die Verwendung von Gcal wird nur exemplarisch erläutert! Eine ausführliche Schilderung aller Einsatzmöglichkeiten ist hier nicht zweckmäßig, da sich einfach zu viele solcher Möglichkeiten ergeben, die durch die bestehende Kombinationsvielfalt aller zur Verfügung stehenden Betriebsarten bedingt ist.

Zudem beinhaltet dieses Handbuch keine ausführliche Darstellung der von Gcal unterstützten Kalendersysteme, noch ist es als Nachschlagewerk zu den Grundlagen der Himmelsmechanik oder der sphärischen Trigonometrie zu verstehen! Eine ausführliche Erörterung vorgenannter Themen würde bei weitem den Rahmen dieses Handbuches sprengen. Wer mehr zu den vorstehenden Sachgebieten erfahren möchte, dem bleibt es leider nicht erspart, sich in die entsprechende Fachliteratur einzulesen.

Alle weiteren Fehler, die in der Ausgabe der vorgenannten Feiertagslisten und in den astronomischen Berechnungen auftreten, sind mein eigenes Versehen, und nicht dazu beabsichtigt, Mitglieder irgendeiner Kultur, Religion oder eines Berufsstandes zu verletzen!

Knoten:Einleitung, Nächster:Aufruf von Gcal, Vorheriger:Vorwort, Aufwärts:Top

# Einleitung

Neben den üblichen und altbekannten Kalenderfunktionen wie der Ausgabe eines Monatskalenderblatts oder eines Jahreskalenderblatts, oder der Ausgabe einer ewigen Feiertagsliste, bietet Gcal, das Gregorianische Kalenderprogramm der Free Software Foundation, die Möglichkeit, Termine am Tag ihres Auftretens auszugeben, und so den Benutzer auf einen Termin hinzuweisen. So ist es vorstellbar, daß beim Starten des Computers oder der Arbeitssitzung dem Benutzer von Gcal alle Termine, welche an diesem Tag wahrzunehmen sind, am Bildschirm aufgezeigt oder via elektronischer Post zugesandt werden.

Der Zeitraum, für welchen Gcal anfallende Termine berücksichtigt, kann vom Benutzer frei vorgewählt werden. So können Termine, die sich z.B. auf den morgigen Tag beziehen, ebenso wie Termine, die in der gesamte Woche, dem gesamten Monat oder dem gesamten Jahr auftreten, von Gcal ausgegeben werden. Termine, die an einem bestimmten Tag des Jahres auftreten, werden ebenso wie Termine, die relativ zu einem anderen, vorgegebenen Datum auftreten, von Gcal ausgegeben; entweder nur bezogen auf dieses Einzeldatum oder als Terminliste, beginnend bei einem Startdatum und endend am aktuellen Tag3.

Es bestehen zwei Möglichkeiten, eine Terminvorschau4 oder eine Terminrückschau5 vorzunehmen. So kann Gcal einerseits mittels einer Option, welche das vom Computer gelieferte aktuelle Systemdatum für den Augenblick des Gcal Programmlaufs auf ein vorgegebenes Datum setzt, verwendet werden, um eine Terminvorschau bzw. Terminrückschau so vorzunehmen, als ob das Systemdatum tatsächlich eben dieses vorgegebene Datum wäre, so daß der zu berücksichtigende Zeitraum via Option vom Benutzer beliebig vorgegeben werden kann. Andererseits kann mittels eines Kommandos veranlaßt werden, anstelle des aktuellen Jahres ein anderes Jahr zu berücksichtigen, so daß Gcal anfallende Termine für eben dieses andere Jahr ausgibt. Das hat allerdings zur Folge, daß der vorgewählte Zeitraum nicht mehr via Option vom Benutzer beliebig gesetzt werden kann, sondern sich in diesem Fall stets auf das gesamte Jahr bezieht.

Gcal vermag nicht nur Termine auszugeben, die für ein konkretes Datum gespeichert wurden, z.B. `Termin am 1'ten Dezember 1995`, sondern auch Termine, die in bestimmten Abständen immer wieder auftreten. So ist es möglich, wiederkehrende Termine wie z.B. `Dieser Termin findet an allen Tagen im Monat Mai 1995 statt` oder `Immer am 15'ten November eines jeden Jahres` zu vereinbaren. Diese Terminvereinbarungen werden in so genannten Ressourcendateien gespeichert, und bei Programmaufruf kann Gcal via Option mitgeteilt werden, welche Ressourcendateien auszuwerten sind.

Einmal für sinnvoll erachtete Aufrufe von Gcal können hinsichtlich der an das Programm übergebenen Kommandozeilenargumente dauerhaft in einer so genannten Antwortdatei oder in einer shell script Datei gespeichert werden. Eine Antwortdatei enthält ebenso wie eine shell script Datei alle Argumente, die an Gcal zur Verarbeitung übergeben wurden, nur ist eine solche Antwortdatei nicht eigenständig ablauffähig. Wenn bei einem erneuten Aufruf von Gcal der Name dieser automatisch erzeugten Antwortdatei via Option übergeben wird, so liest Gcal den Inhalt dieser Antwortdatei ein und behandelt diesen so, als ob dieser in der Kommandozeile angegeben wäre. Im Gegensatz dazu wird bei Aufruf einer shell script Datei das Gcal Programm direkt mit den in der shell script Datei gespeicherten Argumenten sowie den zusätzlich in der Kommandozeile angegebenen Argumenten ausführt.

Um einen konkreten Eindruck von den weiteren Möglichkeiten des Gcal Programms zu erhalten, werden im nächsten Kapitel alle verwendbaren Kommandozeilenargumente sowie deren Bedeutung vorgestellt. Danach folgt die Beschreibung der Einsatzmöglichkeiten der ewigen Feiertagsliste, und im darauffolgenden Kapitel die Darstellung, wie eine Terminliste erstellt werden kann. In den zahlreichen Anhängen werden bestimmte Einzelheiten oder Themen aus anderen Gebieten ausführlich abgehandelt, beziehungsweise Übersichten und Tabellen dazu geboten.

Knoten:Aufruf von Gcal, Nächster:Ewige Feiertage, Vorheriger:Einleitung, Aufwärts:Top

# Aufruf von `gcal`

- Kommandozeilenargumente: Kommandozeilenargumente.
- Die GCAL Umgebungsvariable: Wie wird die `GCAL` Umgebungsvariable benutzt?

Gcal ist ein kommandozeilenorientiertes Programm. Es wird üblicherweise vom Kommandointerpretierer des Betriebssystems aus aufgerufen6, und verarbeitet die ihm übergebenen Argumente, welche Optionen und Kommandos sind. Optionen müssen vor Kommandos angegeben werden, d.h. Gcal muß auf folgende Art und Weise aufgerufen werden:

    gcal [ [Option...] [%Datum] [@Datei...] ]  [Kommando]

Wenn Gcal ohne entsprechende Optionen aufgerufen wird bzw. kein Kommando angegeben wird, so wird ein Kalender des laufenden Monats ausgegeben. Wenn der Kalender eines bestimmten Jahres ausgegeben werden soll, so muß das Jahr vollständig angegeben werden, z.B. `gcal 94` würde nicht den Jahreskalender von 1994 ausgeben, sondern den Jahreskalender des Jahres 94.

Werden zwei Argumente als Kommando angegeben, so bezieht sich das erste Argument auf den Monat, und das zweite Argument auf das Jahr. Werden beim Aufruf fehlerhafte Kommandos angegeben, so wird die Programmausführung unter Benutzung interner Grundeinstellungen von Gcal vorgenommen.

In der deutschen Programmversion wird angenommen, daß die Gregorianische Reformation am 5'ten Oktober 1582 stattgefunden hat. SieheEntstehungsgeschichte des Gregorianischen Kalenders, und Gesichtspunkte zur Internationalisierung, für weitere Details.

Knoten:Kommandozeilenargumente, Nächster:Die GCAL Umgebungsvariable, Vorheriger:Aufruf von Gcal, Aufwärts:Aufruf von Gcal

## Kommandozeilenargumente

- Optionen: Wie werden Optionen benutzt?
- Antwortdatei: Wie wird eine `@Datei` Antwortdatei benutzt?
- Datummodifizierer: Wie wird der `%Datum` Datummodifizierer benutzt?
- Kommandos: Wie werden Kommandos benutzt?

Dieses Kapitel beschreibt alle Argumente der Kommandozeile, die von Gcal verarbeitet werden. Es gibt insgesamt vier verschiedene Typen von Kommandozeilenargumenten. Ein wichtiger Typ von Argumenten sind die Optionen, welche verschiedene Verhaltensweisen bei Gcal auslösen. Andere Argumenttypen sind die `%Datum` und die `@Datei` Option. Die `%Datum` Option setzt den Zeitraum, welcher von Gcal berücksichtigt werden soll, auf ein vorbestimmtes Startdatum; die `@Datei` Option lädt Optionen und Kommandos aus einer Antwortdatei vor. Die wichtigsten Argumente sind die Kommandos, welche die Zeiträume kontrollieren, die von Gcal berücksichtigt werden.

Eine Option wird durch ein führendes Umschaltzeichen7 definiert; entweder das `-` oder das `/` Zeichen bei traditionellen Kurzoptionen, oder `--` bei den mnemotechnischen Langoptionen; einem Kommando darf kein Umschaltzeichen vorangehen. Optionen8 müssen vor Kommandos angegeben werden!

Abhängig vom benutzten Betriebssystem bzw. der shell kann es sein, daß einige der in der Kommandozeile angegebenen Argumente und Texte durch `"` oder `'` Zeichen quotiert, bzw. durch das `\` Zeichen gegen die Auswertung durch die shell geschützt bzw. entwertet werden müssen.

Hier folgt eine unvollständige Liste von Zeichen, die eventuell geschützt werden müssen:

> `(`, `)`, `<`, `>`, `[`, `]`, `{`, `}`, `\`, `|`, `$`, `@`, `!`, `&`, `~`, `"`, `'`, ```, `;`

Knoten:Optionen, Nächster:Antwortdatei, Vorheriger:Kommandozeilenargumente, Aufwärts:Kommandozeilenargumente

### Optionen

- Allgemeine Optionen: Wie Allgemeine Optionen benutzt werden.
- Globale Optionen: Wie Globale Optionen benutzt werden.
- Kalender Optionen: Wie Kalender Optionen benutzt werden.
- Termin Optionen: Wie Termin Optionen benutzt werden.

Die Optionen, welche von Gcal verarbeitet werden, können in vier Hauptklassen unterteilt werden. Die Optionen der Allgemeinen Optionsklasse sind die Standardoptionen, welche jede GNU Software wenigstens teilweise aufweisen sollte. Die Globale Optionsklasse enthält Optionen, welche die vom Programm erzeugte Ausgabe beeinflussen. Die Optionen der Kalender Optionsklasse steuern das Kalender Layout, und die Optionen der Termin Optionsklasse kontrollieren das Layout der Termine und deren Intensität.

Gcal ist in der Lage, Kurzoptionen sowie auch GNU Langoptionen zu verarbeiten. Kurzoptionen werden von einem einzelnen Umschaltzeichen angeführt, sodann folgt ein Optionszeichen und evtl. ein Modifizierer oder ein Argument. Die meisten Einzelzeichenoptionen9 können zu einem einzelnen Kommandozeilenwort zusammengefaßt werden: `-Ax` ist gleichwertig zu `-A -x`. GNU Langoptionen werden von `--` Zeichen angeführt, sodann folgt ein Optionsname und evtl. ein Argument. Langoptionen sowie deren Argumente dürfen abgekürzt werden, sofern die vorgenommene Abkürzung eindeutig ist. Wenn ein Argument an eine Langoption übergeben werden soll, so werden der Optionsname und das Argument mit einem `=` Zeichen verbunden.

Eckige Klammern ([ und ]) deuten in den nachfolgenden Aufstellungen an, daß eine Option ein optionales Argument annimmt. Das `|` Zeichen wird dazu benutzt, um mehrere zur Auswahl stehende Argumente voneinander abzugrenzen.

Gcal verarbeitet GNU Langoptionen in einem besonderen, nicht standardgemäßen Weg. So unterscheidet das Programm fünf verschiedene Typen von Langoptionen:

1. `--foo`
   Schaltet die `--foo` Option an.
2. `--foo=bar`
   Schaltet die `--foo` Option mit dem benötigtem bar Argument an.
3. `--foo[=bar[|...|bar]]`
   Die `--foo` Option darf ein bar Argument annehmen. Falls keine Argumentliste gegeben ist, so darf diese Option jedes Argument annehmen. Wenn aber doch eine Argumentliste gegeben ist, so darf diese Option genau ein Argument aus der gegebenen Liste annehmen. Falls in dieser Hinsicht kein Argument angewählt wird, so wird automatisch das erste bar Argument aus der Argumentliste angenommen.
4. `--foo=bar|...|bar`
   Die `--foo` Option muß genau ein bar Argument annehmen, welches aus der gegebenen Argumentliste angewählt werden muß.
5. `--foo=bar|...|bar|baz`
   Die `--foo` Option muß entweder genau ein bar Argument annehmen, welches aus der gegebenen bar Argumentliste angewählt werden muß, oder alternativ das baz Argument annehmen.

Traditionelle Kurzoptionen unterscheiden sich wie folgt:

1. `-x`
   Schaltet die `-x` Option an.
2. `-x bar`
   Schaltet die `-x` Option mit dem benötigtem bar Argument an. Das bar Argument darf durch ein führendes whitespace Zeichen von dem Kurzoptionszeichen `x` abgegrenzt werden. Das bedeutet, daß folgende Notationen zur Angabe eines Arguments verwendet werden können, und zwar `-x bar` und `-xbar`.
3. `-x[bar|...|bar]`
   Die `-x` Option darf einen oder mehrere bar Modifizierer annehmen. Modifizierer in diesem Sinne sind ein oder mehrere Zeichen, welche einen besonderen Modus definieren, der durch die `-x` Option ausgelöst wird. Ein Modifizierer darf nicht durch ein führendes whitespace Zeichen vom Kurzoptionszeichen abgegrenzt werden.

Knoten:Allgemeine Optionen, Nächster:Globale Optionen, Vorheriger:Optionen, Aufwärts:Optionen

#### Allgemeine Optionen

`-?`
`-h`
`--help`
  Ausgabe eines kurzen Hilfetextes, der nur wenige aller verfügbaren Optionen aufzeigt; sodann erfolgreiche Beendigung des Programms.
`-??`
`-hh`
`--usage[=Argument]`
`--long-help[=Argument]`
  Ausgabe eines erweiterten Hilfetextes, der alle verfügbaren Optionen aufzeigt; sodann erfolgreiche Beendigung des Programms. Falls Argument angegeben wird und ein zulässiger Langoptionsname ist, so wird nur ein erweiterter Hilfetext zu dem angegebenen Langoptionsnamen ausgegeben, z.B.:

      --long-help=long-help

  gibt einen erweiterten Hilfetext zur Langoption `--long-help` aus.

  Falls Argument nur aus einem einzelnen `?` Zeichen besteht oder kein gültiger Langoptionsname ist, so wird eine Liste aller zulässigen Langoptionsnamen ausgegeben.

`-L`
`--license`
`--copyleft`
`--copyright`
  Ausgabe des Software-Lizenztextes; sodann erfolgreiche Beendigung des Programms.
`-V`
`--version`
  Ausgabe der Versionsnummer und der Kompilations-Optionen; sodann erfolgreiche Beendigung des Programms.
`--exit-status-help-non-zero`
  Setzt den Endestatus des Programms auf 127 anstatt auf 0, wenn eine der anderen Optionen der Allgemeinen Optionsklasse benutzt wurde.

Knoten:Globale Optionen, Nächster:Kalender Optionen, Vorheriger:Allgemeine Optionen, Aufwärts:Optionen

#### Globale Optionen

`-R Dateiname`
`--response-file=Dateiname`
  Inhalt der Umgebungsvariable `GCAL` (sieheUmgebungsvariable `GCAL`), und sodann die Argumente der Kommandozeile (in genau dieser Reihenfolge) in die Datei Dateiname schreiben, d.h. Antwortdatei `Dateiname` erzeugen. SieheAntwortdatei, für weitere Details.
`-S Dateiname`
`--shell-script=Dateiname`
  Inhalt der Umgebungsvariable `GCAL` (sieheUmgebungsvariable `GCAL`), und sodann die Argumente der Kommandozeile (in genau dieser Reihenfolge) in die shell script Datei Dateiname schreiben, d.h. shell script `Dateiname` erzeugen. Eine automatisch erzeugte shell script Datei ist eigenständig ablauffähig und ruft Gcal direkt mit den im Skript gespeicherten Argumenten auf. Beim Aufruf der shell script Datei dürfen weitere Kommandozeilenargumente gegeben werden, welche dann zudem an Gcal übermittelt werden.
`--debug[=internal|handled|unhandled|all|abort]`
  Einige Debug-Informationen ausgeben.
  `--debug=internal`
    Informationstext bei Erreichen programminterner Maxima bzw. bei Auftreten sonstiger Bedingungen ausgeben.
  `--debug=handled`
    Wie `--debug=internal`, zudem werden die Dateinamen ausgegeben, die gehandhabt werden.
  `--debug=unhandled`
    Wie `--debug=internal`, zudem werden die Dateinamen ausgegeben, die nicht gehandhabt werden.
  `--debug=all`
    Wie `--debug=handled` und `--debug=unhandled` zusammen.
  `--debug=abort`
    Wie `--debug=all`, und Abbruch mit Fehlerkode beim ersten Auftreten eines nicht gehandhabten Dateinamens bzw. beim Auftreten sonstiger, nicht erfüllbarer Bedingungen. SieheFehlerkodes.
`-p`
`--pager`
  Sämtliche Ausgaben von Gcal entweder durch einen externen Paginierer oder durch einen einfachen, internen Paginierer lenken. Falls eine `PAGER` Umgebungsvariable gesetzt ist, so wird deren Wert zum Auffinden des externen Paginiererprogramms berücksichtigt. SieheUmgebungsvariable `PAGER`, für weitere Informationen.

  Falls keine `PAGER` Umgebungsvariable gesetzt ist oder aber deren Wert ungültig ist, so versucht Gcal den `less` Paginierer zu benutzen; falls dieses Programm aber während des Absuchens des Dateibaums unter Zuhilfenahme der `PATH` Umgebungsvariable nicht vorgefunden wird, so wird Gcal versuchen, das `more` Paginiererprogramm, wenn dieses nicht gefunden wird, das `pg` Paginiererprogramm in gleicher Weise aufzuspüren10. SieheUmgebungsvariable `PATH`.

  Falls alle diese Aktionen versagt haben sollten, so wird Gcal einen einfachen, eingebauten Paginierer benutzen. Wenn der einfache, interne Paginierer benutzt wird, so ermittelt Gcal die Anzahl der Zeilen, welche vor einer Eingabeaufforderung des internen Paginierers ausgegeben werden, nach folgenden Methoden:

  1. Gcal benutzt die Werte, die in den Umgebungsvariablen `GCAL_LINES` und `GCAL_COLUMNS` angegeben sind. SieheUmgebungsvariable `GCAL_LINES`, und Umgebungsvariable `GCAL_COLUMNS`, für weitere Informationen.
  2. Falls vorherige Aktion versagt, so benutzt Gcal die Werte, die in den Umgebungsvariablen `LINES` und `COLUMNS` angegeben sind. SieheUmgebungsvariable `LINES`, sowie Umgebungsvariable `COLUMNS`, für weitere Informationen.
  3. Falls vorherige Aktion versagt, so benutzt Gcal die Werte, die in der `termcap`11 Datei für das verwendete Sichtgerät vorgefunden werden (sieheUmgebungsvariable `TERM`). Dieser Schritt wird nur auf Systemen ausgeführt, welche die Benutzung von Termcap unterstützen.

     Unter MS-DOS, OS/2 und einigen anderen Betriebssystemen benutzt Gcal eine systemabhängige low-level Funktion, und benutzt die Werte, die von dieser geliefert werden.

  4. Falls alle vorherigen Aktionen fehlschlagen, so benutzt Gcal Standardwerte12.
`-H yes`
`--force-highlighting`
`--highlighting=yes`
  Falls die Ausgabe des Programms redirektioniert13 wird, oder in einer pipe14 benutzt wird, so werden Hervorhebungssequenzen nicht automatisch in die entsprechenden Markierungszeichen umgesetzt, sondern unverändert ausgegeben. Diese Option hat keine Wirkung, wenn die Ausgabe des Programms mittels elektronischer Post versandt wird. SieheGlobale Option `--mail[=Adresse]`.
`-H no`
`--disable-highlighting`
`--highlighting=no`
  Hervorhebungssequenz-/ Markierungszeichen Paare von aktuellen Tagen, Feiertagen bzw. Text unterdrücken.
`-H Text`
`--highlighting=Text`
  Setze Hervorhebungssequenz / Markierungszeichen Paare explizit. Hervorhebungssequenzen in diesem Sinne sind Folgen von Steuerzeichen, die eine Farbumschaltung oder eine Intensitätsumschaltung von auszugebendem Text bewirken. Typische Steuerzeichenfolgen sind die so genannten ANSI Escape-Sequenzen, welche als erstes Zeichen der Sequenz ein Escape Zeichen aufweisen, und danach weitere Zeichen, die die Art der ANSI Escape-Sequenz definieren. Markierungszeichen in diesem Sinne sind einzelne, druckbare Zeichen, die dem auszugebenden Text vorangehen bzw. folgen.

  Das Text Argument muß ein durch `:` (Doppelpunkt) Zeichen abgegrenzter Text der Form seq1_start:seq1_ende:seq2_start:seq2_ende sein. Die erste Sequenz wird dazu benutzt, um einen aktuellen Tag hervorzuheben, die zweite Sequenz hebt einen Feiertag hervor. Die Sequenzen müssen in der Form eines Sequenzen-Paares angegeben werden; seq?_start schaltet die Hervorhebung/Markierung ein, seq?_ende schaltet sie wieder aus. Es werden stets nur zwei Sequenzen-Paare berücksichtigt; falls mehr Sequenzen-Paare angegeben sind, so werden diese ignoriert. Es dürfen entweder nur Hervorhebungssequenzen-Paare oder nur Markierungszeichen-Paare definiert werden, d.h. eine gemischte Verwendung beider Hervorhebungsarten ist nicht erlaubt!

  Zum Beispiel:

  > `-H \x20:\x20:\x1:#` bzw.
  > `--highlighting=\x20:\x20:\x1:#`
  > markiert den aktuellen Tag in der Form `\x20Tagesdatum\x20`15, und Feiertage in der Form `\x1Feiertagsdatum#` mit den gegebenen Markierungszeichen.

  > `-H \x1b[34;42m:\x1b[0;40m` oder
  > `-H \033[34;42m:\033[0;40m` oder
  > `-H \E[34;42m:\E[0;40m`
  > definiert zum Hervorheben des aktuellen Tages die hier angegebene ANSI Escape-Startsequenz `\x1b[34;42m` und die ANSI Escape-Endesequenz `\x1b[0;40m`. Da keine Hervorhebungssequenzen für den Feiertag angegeben sind, werden die internen Grundeinstellungen der Hervorhebungssequenzen für diesen verwendet. Bitte beachten Sie in diesem Zusammenhang den letzten Absatz in diesem Text, welcher über weitere Details informiert. Und beachten Sie auch Umgebungsvariable `GCALANSI`.

  Steuerzeichensequenzen dürfen jedes druckbare Zeichen enthalten. Nicht druckbare Zeichen können oktal oder hexadezimal kodiert werden. Die Abkürzung `\E` kodiert direkt das Escape Zeichen (oktal `\033` bzw. hexadezimal `\x1B`).

  Ein Zeichen kann durch `\nnn` (Backslash-Oktalziffer(n)) oktal kodiert werden, wobei n eine gültige Oktalziffer (0...7) sein muß. Normalerweise müssen drei Oktalziffern angegeben werden. Falls der oktale Zeichenkode nur aus einer oder zwei Oktalziffern besteht, so müssen führende Nullen hinzugefügt werden; ausgenommen, das kodierte Oktalzeichen wird zuletzt in einer Einzelsequenz angegeben.

  Ein Zeichen kann durch `\xnn` (Backslash-x-Hexadezimalziffer(n)) hexadezimal kodiert werden, wobei n eine gültige Hexadezimalziffer (0...9A...Fa...f) sein muß. Normalerweise müssen zwei Hexadezimalziffern angegeben werden. Falls der hexadezimale Zeichenkode nur aus einer Hexadezimalziffer besteht, so muß eine führende Null hinzugefügt werden; ausgenommen, das kodierte Hexadezimalzeichen wird zuletzt in einer Einzelsequenz angegeben.

  Falls das Sequenzen-Trennzeichen, also das `:` (Doppelpunkt) Zeichen selbst als Markierungszeichen benutzt werden soll, so muß dieses Zeichen entweder oktal `\072` oder hexadezimal `\x3A` kodiert werden.

  Falls das C Preprocessorsymbol `USE_PAGER` definiert wurde, und die Ausgabe des Programms redirektioniert wird oder in einer pipeline verwendet wird, so werden Hervorhebungssequenzen automatisch in die entsprechenden Markierungszeichen umgesetzt, falls `USE_PAGER` nicht definiert wurde, so bleiben Hervorhebungssequenzen unverändert.

  Unvollständig oder gar nicht angegebene Hervorhebungssequenzen werden durch intern fest voreingestellte ANSI Escape-Hervorhebungssequenzen ersetzt, falls eine `GCALANSI` Umgebungsvariable definiert ist, andernfalls vollständig durch deren entsprechende Markierungszeichen ersetzt. SieheUmgebungsvariable `GCALANSI`.

`--mail[=Adresse]`
  Versand der von Gcal erzeugten Ausgabe via `mail`16 Programm an die angegebene Adresse, z.B.:

      --mail=esken@gmx.net

  Falls keine Adresse angegeben ist, so versucht Gcal die eMail nach folgenden Methoden zu versenden:

  1. Falls eine `MAILTO` Umgebungsvariable definiert und gesetzt ist, so wird die Post an die Adresse versandt, welche in dieser Umgebungsvariable eingetragen ist. SieheUmgebungsvariable `MAILTO`, für weitere Informationen.
  2. Falls vorherige Aktion versagt, und falls eine `USER` Umgebungsvariable definiert und gesetzt ist, so wird die Post an die Adresse versandt, welche in dieser Umgebungsvariable eingetragen ist. SieheUmgebungsvariable `USER`, für weitere Informationen.
  3. Falls vorherige Aktion versagt, und falls eine `LOGNAME` Umgebungsvariable definiert und gesetzt ist, so wird die Post an die Adresse versandt, welche in dieser Umgebungsvariable eingetragen ist. SieheUmgebungsvariable `LOGNAME`, für weitere Informationen.
  4. Falls alle vorherigen Aktionen versagt haben, so wird keine Post versandt.

  Gcal versendet grundsätzlich keine Post, die einen leeren Textkörper aufweist! Wenn ein solcher Fall auftritt, so wird ein Informationstext auf dem Standardfehler-Gerätekanal ausgegeben.

  Alle von Gcal selbst erzeugten Hervorhebungssequenzen werden beim Versenden einer eMail stets unterdrückt bzw. automatisch in ihre entsprechenden Markierungszeichen umgesetzt, ganz gleich, ob die `--force-highlighting` Option angegeben wurde oder nicht. Dieses Verhalten von Gcal ist deswegen zwingend erforderlich, da sonst das `mail` Programm den Versand der Post evtl. nicht korrekt vollziehen kann. Beachten Sie bitte in diesem Zusammenhang auch die Hinweise hinsichtlich der Einschränkungen im Textteil einer Zeile der Ressourcendatei (sieheTextteil einer Zeile).

  Falls eine `MAILPROG` Umgebungsvariable definiert und gesetzt ist, so wird deren Inhalt als Programmname des Mailprogramms benutzt anstelle des Standardnamens `mail`. SieheUmgebungsvariable `MAILPROG`, für weitere Informationen.

Knoten:Kalender Optionen, Nächster:Termin Optionen, Vorheriger:Globale Optionen, Aufwärts:Optionen

#### Kalender Optionen

`-n|N[-]`
`--holiday-list[=long|short]`
`--descending-holiday-list[=long|short]`
  Ausgabe der ewigen Feiertagsliste. Standardmäßig enthält die ewige Feiertagsliste keine Einträge. Erst durch die Anwahl von landesspezifischen Feiertagen oder Feiertagen aus anderen Kalendersystemen wird die ewige Feiertagsliste mit Einträgen ausgestattet. SieheEwige Feiertage, und Kalender Option `--cc-holidays=cc[_tt][+...]`, für zusätzliche Informationen.
  `-n`
  `--holiday-list=long`
    Aufsteigend sortierte Ausgabe der ewigen Feiertagsliste mit allen Feiertagen, d.h. den gesetzlichen Feiertagen und den Gedenktagen.
  `-n-`
  `--descending-holiday-list=long`
    Absteigend sortierte Ausgabe der ewigen Feiertagsliste mit allen Feiertagen, d.h. den gesetzlichen Feiertagen und den Gedenktagen.
  `-N`
  `--holiday-list=short`
    Aufsteigend sortierte Ausgabe der ewigen Feiertagsliste mit nur den gesetzlichen Feiertagen.
  `-N-`
  `--descending-holiday-list=short`
    Absteigend sortierte Ausgabe der ewigen Feiertagsliste mit nur den gesetzlichen Feiertagen.
`-G`
`--suppress-holiday-list-separator`
  Die Ausgabe der Leerzeile, welche eine ewige Feiertagsliste stets anführt, unterdrücken.
`-X`
`--exclude-holiday-list-title`
  Die Ausgabe der Überschrift in der ewigen Feiertagsliste unterdrücken.
`--astronomical-holidays`
  Die ewige Feiertagsliste wird zusätzlich mit einigen astronomischen Daten ausgestattet, und zwar den Voll- und Neumonden, zu- und abnehmenden Halbmonden, Sonnen- und Mondfinsternissen, sowie den Sonnenwenden und Tagundnachtgleichen. SieheKalender Option `--time-offset=Argument`, wie die Zeitzone bzw. die Basiszeit, für welche die astronomischen Daten berechnet werden, geändert werden kann.
`--bahai-holidays`
  Die ewige Feiertagsliste wird zusätzlich mit Bahá'ì Feiertagen ausgestattet (nur für Jahre nach A.D. 1843).
`--celtic-holidays`
  Die ewige Feiertagsliste wird zusätzlich mit keltischen Feiertagen ausgestattet. SieheKalender Option `--time-offset=Argument`, wie die Zeitzone, für welche die keltischen Feiertage berechnet werden, geändert werden kann.
`--chinese-flexible-holidays`
  Die ewige Feiertagsliste wird zusätzlich mit chinesischen Feiertagen ausgestattet (nur für Jahre nach A.D. 1644), die auf flexible Art und Weise ermittelt werden. SieheKalender Option `--time-offset=Argument`, wie die Zeitzone, für welche die chinesischen Feiertage flexibel berechnet werden, geändert werden kann. SieheVorwort, für weitere Details.
`--chinese-holidays`
  Die ewige Feiertagsliste wird zusätzlich mit chinesischen Feiertagen ausgestattet (nur für Jahre nach A.D. 1644). Für Jahre bis A.D. 1928 beruhen alle vorgenommenen Berechnungen fest auf Bejing Ortszeit, für spätere Jahre fest auf der Zeitzone GMT-8. SieheVorwort, für weitere Details.
`--christian-holidays`
  Die ewige Feiertagsliste wird zusätzlich mit christlichen Feiertagen ausgestattet.
`--hebrew-holidays`
  Die ewige Feiertagsliste wird zusätzlich mit hebräischen Feiertagen ausgestattet.
`--islamic-civil-holidays`
  Die ewige Feiertagsliste wird zusätzlich mit islamischen Feiertagen ausgestattet (nur für Jahre nach A.D. 621), die auf dem bürgerlichen islamischen Kalender basieren. SieheVorwort, für weitere Details.
`--japanese-flexible-holidays`
  Die ewige Feiertagsliste wird zusätzlich mit japanischen Feiertagen ausgestattet (nur für Jahre nach A.D. 1644), die auf flexible Art und Weise ermittelt werden. SieheKalender Option `--time-offset=Argument`, wie die Zeitzone, für welche die japanischen Feiertage flexibel berechnet werden, geändert werden kann.
`--japanese-holidays`
  Die ewige Feiertagsliste wird zusätzlich mit japanischen Feiertagen ausgestattet (nur für Jahre nach A.D. 1644). Für Jahre bis A.D. 1887 beruhen alle vorgenommenen Berechnungen fest auf Bejing Ortszeit, für spätere Jahre fest auf der Zeitzone GMT-9.
`--multicultural-new-year-holidays`
  Die ewige Feiertagsliste wird zusätzlich mit multikulturellen Neujahrs-Feiertagen ausgestattet. SieheKalender Option `--time-offset=Argument`, wie die Zeitzone, für welche die multikulturellen Neujahrs-Feiertage berechnet werden, geändert werden kann.
`--orthodox-new-holidays`
  Die ewige Feiertagsliste wird zusätzlich mit neu-orthodoxen Feiertagen ausgestattet, und es wird angenommen, daß die Gregorianische Reformation vom 10'ten bis zum 22'ten März 1924 stattgefunden hat. SieheKalender Option `--orthodox-calendar`, für weitere Details.
`--orthodox-old-holidays`
  Die ewige Feiertagsliste wird zusätzlich mit alt-orthodoxen Feiertagen ausgestattet, und es wird angenommen, daß die Gregorianische Reformation vom 10'ten bis zum 22'ten März 1924 stattgefunden hat. SieheKalender Option `--orthodox-calendar`, für weitere Details.
`--persian-jalaali-holidays`
  Die ewige Feiertagsliste wird zusätzlich mit persischen Feiertagen ausgestattet (nur für Jahre nach A.D. 621), die auf dem persischen Jalaali Kalender basieren. Alle vorgenommenen Berechnungen beruhen auf der Zeitzone GMT-3,5.
`--zodiacal-marker-holidays`
  Die ewige Feiertagsliste wird zusätzlich mit dem Eintrittsdatum der Sonne in ein Tierkreiszeichen, und dem Wendepunktdatum der Sonne im Tierkreiszeichen ausgestattet. SieheKalender Option `--time-offset=Argument`, wie die Zeitzone, für welche die Tierkreiszeichendaten berechnet werden, geändert werden kann.
`-q cc[_tt][+...]`
`--cc-holidays=cc[_tt][+...]`
  Die ewige Feiertagsliste wird zusätzlich mit landesspezifischen Feiertagen ausgestattet. Zudem werden auch in Kalenderblättern die Tage hervorgehoben, die durch diese Option in die ewige Feiertagsliste eingebracht und hervorgehoben werden.

  Das cc Argument ist ein aus zwei Buchstaben bestehender Landeskode17, wie er in der ISO-316618 definiert ist, z.B. `BE` für Belgien oder `ES` für Spanien. Für weitere Einzelheiten hierzu sei auf die einschlägige Fachliteratur verwiesen.

  Einem solchen Landeskode darf in einigen Fällen noch ein aus zwei Buchstaben bestehender Territoriumskode tt zwecks weiterer Präzisierung folgen, der mit einem `_` Zeichen vom Landeskode abgegrenzt wird.

  Es kann mehr als ein Landeskode cc[_tt] verwendet werden, wenn die zusätzlichen Landeskodes, durch ein `+` Zeichen verbunden, aufgeführt werden, z.B.:

  > `--cc-holidays=be+Fr+IT` bzw.
  > `-q be+Fr+IT`

  fügt alle diejenigen landesspezifischen Feiertage in die ewige Feiertagsliste ein, die in dem vorstehenden Argument aufgeführt sind, d.h. belgische, französische und italienische Feiertage.

  Derzeit berücksichtigt Gcal die folgenden Landeskodes, wobei Länder die mit einem `#` Zeichen markiert sind, derzeit nur unvollständig erfasste Feiertage enthalten:

  `AD`
    Andorra
  `AE`
    Vereinigte Arabische Emirate
  `AF`
    Afghanistan
  `AG`
    Antigua und Barbuda
  `AI`
    Anguilla
  `AL`
    Albanien
  `AM`
    Armenien
  `AN_BO`
    Niederländische Antillen/Bonaire
  `AN_CU`
    Niederländische Antillen/Curaçao
  `AN_MA`
    Niederländische Antillen/St. Maarten
  `AN_SA`
    Niederländische Antillen/Saba und Eustatius
  `AO`
    Angola #
  `AR`
    Argentinien
  `AS`
    Amerikanisch-Samoa
  `AT`
    Österreich
  `AU_CT`
    Australien/Canberra
  `AU_NT`
    Australien/Nord-Territorium
  `AU_QU`
    Australien/Queensland
  `AU_SA`
    Australien/Süd-Australien
  `AU_SW`
    Australien/Neu-Süd-Wales
  `AU_TA`
    Australien/Tasmanien
  `AU_VI`
    Australien/Victoria
  `AU_WA`
    Australien/West-Australien
  `AW`
    Aruba
  `AZ`
    Aserbaidschan
  `BA`
    Bosnien-Herzegowina
  `BB`
    Barbados
  `BD`
    Bangladesch #
  `BE`
    Belgien
  `BF`
    Burkina Faso
  `BG`
    Bulgarien
  `BH`
    Bahrain
  `BI`
    Burundi #
  `BJ`
    Benin #
  `BM`
    Bermuda
  `BN`
    Brunei Darussalam
  `BO`
    Bolivien
  `BR`
    Brasilien
  `BS`
    Bahamas
  `BT`
    Bhutan #
  `BV`
    Bouvet-Insel
  `BW`
    Botswana
  `BY`
    Belarus (Weißrußland)
  `BZ`
    Belize
  `CA_AL`
    Kanada/Alberta
  `CA_BC`
    Kanada/British Columbia
  `CA_MA`
    Kanada/Manitoba
  `CA_NB`
    Kanada/Neu-Braunschweig
  `CA_NF`
    Kanada/Neufundland und Labrador
  `CA_NS`
    Kanada/Neu-Schottland
  `CA_NW`
    Kanada/Nordwest-Territorien
  `CA_ON`
    Kanada/Ontario
  `CA_PE`
    Kanada/Prinz-Eduard-Insel
  `CA_QU`
    Kanada/Québec
  `CA_SA`
    Kanada/Saskatchewan
  `CA_YU`
    Kanada/Yukon
  `CC`
    Kokos-Inseln (Keeling)
  `CD`
    Demokratische Republik Kongo #
  `CF`
    Zentralafrikanische Republik #
  `CG`
    Republik Kongo #
  `CH_AA`
    Schweiz/Appenzell-Ausserrhoden
  `CH_AG`
    Schweiz/Aargau
  `CH_AI`
    Schweiz/Appenzell-Innerrhoden
  `CH_BL`
    Schweiz/Basel-Land
  `CH_BN`
    Schweiz/Bern
  `CH_BS`
    Schweiz/Basel-Stadt
  `CH_FB`
    Schweiz/Freiburg
  `CH_GB`
    Schweiz/Graubünden
  `CH_GL`
    Schweiz/Glarus
  `CH_GV`
    Schweiz/Genf
  `CH_JR`
    Schweiz/Jura
  `CH_LZ`
    Schweiz/Luzern
  `CH_NC`
    Schweiz/Neuchâtel
  `CH_NW`
    Schweiz/Nidwalden
  `CH_OW`
    Schweiz/Obwalden
  `CH_SG`
    Schweiz/St. Gallen
  `CH_ST`
    Schweiz/Solothurn
  `CH_SW`
    Schweiz/Schwyz
  `CH_TC`
    Schweiz/Ticino
  `CH_TG`
    Schweiz/Thurgau
  `CH_UI`
    Schweiz/Uri
  `CH_VD`
    Schweiz/Vaud
  `CH_VL`
    Schweiz/Valais
  `CH_ZG`
    Schweiz/Zug
  `CH_ZR`
    Schweiz/Zürich
  `CI`
    Elfenbeinküste
  `CK`
    Cook-Inseln
  `CL`
    Chile
  `CM`
    Kamerun
  `CN`
    China
  `CO`
    Kolumbien
  `CR`
    Costa Rica
  `CU`
    Kuba
  `CV`
    Kapverdische-Inseln
  `CX`
    Christmas-Inseln
  `CY`
    Zypern
  `CZ`
    Tschechien
  `DE_BA`
    Deutschland/Bayern
  `DE_BB`
    Deutschland/Brandenburg
  `DE_BL`
    Deutschland/Berlin
  `DE_BR`
    Deutschland/Bremen
  `DE_BW`
    Deutschland/Baden-Württenberg
  `DE_HA`
    Deutschland/Hamburg
  `DE_HS`
    Deutschland/Hessen
  `DE_MV`
    Deutschland/Mecklenburg-Vorpommern
  `DE_NS`
    Deutschland/Niedersachsen
  `DE_NW`
    Deutschland/Nordrhein-Westfalen
  `DE_RP`
    Deutschland/Rheinland-Pfalz
  `DE_SA`
    Deutschland/Sachsen-Anhalt
  `DE_SH`
    Deutschland/Schleswig-Holstein
  `DE_SL`
    Deutschland/Saarland
  `DE_SN`
    Deutschland/Sachsen
  `DE_TR`
    Deutschland/Thüringen
  `DJ`
    Djibouti
  `DK`
    Dänemark
  `DM`
    Dominica
  `DO`
    Dominikanische Republik
  `DZ`
    Algerien
  `EC`
    Ecuador
  `EE`
    Estland
  `EG`
    Ägypten
  `EH`
    West-Sahara
  `ER`
    Eritrea
  `ES`
    Spanien
  `ET`
    Äthiopien
  `FI`
    Finnland
  `FJ`
    Fidschi #
  `FK`
    Falkland-Inseln (Malvinas)
  `FM`
    Föderierte Staaten von Mikronesien
  `FO`
    Färöer
  `FR`
    Frankreich
  `GA`
    Gabun #
  `GB_EN`
    Großbritannien/England und Wales
  `GB_NI`
    Großbritannien/Nord-Irland
  `GB_SL`
    Großbritannien/Schottland
  `GD`
    Grenada
  `GE`
    Georgien
  `GF`
    Französisch Guayana
  `GH`
    Ghana
  `GI`
    Gibraltar
  `GL`
    Grönland
  `GM`
    Gambia
  `GN`
    Guinea
  `GP`
    Guadeloupe
  `GQ`
    Äquatorial Guinea
  `GR`
    Griechenland
  `GS`
    Südgeorgien und Süd-Sandwichinseln
  `GT`
    Guatemala
  `GU`
    Guam
  `GW`
    Guinea-Bissau #
  `GY`
    Guyana #
  `HK`
    Hongkong
  `HM`
    Heard- und Mc Donald-Inseln
  `HN`
    Honduras
  `HR`
    Kroatien
  `HT`
    Haiti
  `HU`
    Ungarn
  `ID`
    Indonesien #
  `IE`
    Irland
  `IL`
    Israel
  `IN`
    Indien #
  `IQ`
    Irak
  `IR`
    Islamische Republik Iran
  `IS`
    Island
  `IT`
    Italien
  `JM`
    Jamaica
  `JO`
    Jordanien
  `JP`
    Japan
  `KE`
    Kenia #
  `KG`
    Kirgisien
  `KH`
    Kambotscha #
  `KI`
    Kiribati #
  `KM`
    Komoren
  `KN`
    St. Kitts und Nevis
  `KP`
    Demokratische Volksrepublik Korea #
  `KR`
    Republik Korea
  `KW`
    Kuwait
  `KY`
    Cayman-Inseln
  `KZ`
    Kasachstan
  `LA`
    Demokratische Volksrepublik Laos #
  `LB`
    Libanon
  `LC`
    St. Lucia
  `LI`
    Liechtenstein
  `LK`
    Sri Lanka #
  `LR`
    Liberia
  `LS`
    Lesotho
  `LT`
    Litauen
  `LU`
    Luxemburg
  `LV`
    Lettland
  `LY`
    Libysch-Arabische Dschamahirija (Libyen)
  `MA`
    Marokko
  `MC`
    Monaco
  `MD`
    Republik Moldawien
  `MG`
    Madagaskar #
  `MH`
    Marshall-Inseln
  `MK`
    Frühere Yugoslawische Republik Mazedonien
  `ML`
    Mali
  `MN`
    Mongolei #
  `MO`
    Macao
  `MP`
    Nord-Marianen (Saipan)
  `MQ`
    Martinique
  `MR`
    Mauretanien
  `MS`
    Montserrat
  `MT`
    Malta
  `MU`
    Mauritius
  `MV`
    Malediven
  `MW`
    Malawi
  `MX`
    Mexiko
  `MY`
    Malaysia #
  `MZ`
    Moçambique
  `NA`
    Namibia
  `NC`
    Neukaledonien
  `NE`
    Niger
  `NF`
    Norfolk-Inseln
  `NG`
    Nigeria
  `NI`
    Nicaragua
  `NL`
    Niederlande
  `NM`
    Myanmar (Birma) #
  `NO`
    Norwegen
  `NP`
    Nepal #
  `NR`
    Nauru
  `NU`
    Niue
  `NZ`
    Neuseeland
  `OM`
    Oman
  `PA`
    Panama
  `PE`
    Peru
  `PF`
    Französisch-Polynesien
  `PG`
    Papua Neuguinea
  `PH`
    Philippinen
  `PK`
    Pakistan
  `PL`
    Polen
  `PM`
    Saint-Pierre und Miquelon
  `PN`
    Pitcairn
  `PR`
    Puerto Rico
  `PT`
    Portugal
  `PW`
    Palau
  `PY`
    Paraguay
  `QA`
    Katar
  `RE`
    Réunion
  `RO`
    Rumänien
  `RU`
    Russische Föderation
  `RW`
    Ruanda
  `SA`
    Saudi Arabien
  `SB`
    Salomonen
  `SC`
    Seychellen
  `SD`
    Sudan
  `SE`
    Schweden
  `SG`
    Singapur #
  `SH`
    St. Helena
  `SI`
    Slowenien
  `SJ`
    Spitzbergen und Jan Mayen-Inseln
  `SK`
    Slowakei
  `SL`
    Sierra Leone
  `SM`
    San Marino
  `SN`
    Senegal
  `SO`
    Somalia
  `SR`
    Surinam #
  `ST`
    Sao Tomé und Principe
  `SV`
    El Salvador
  `SY`
    Syrisch-Arabische Republik (Syrien)
  `SZ`
    Swasiland
  `TC`
    Turks- und Caicos-Inseln
  `TD`
    Tschad
  `TG`
    Togo #
  `TH`
    Thailand #
  `TJ`
    Tadschikistan
  `TK`
    Tokelau
  `TM`
    Turkmenistan
  `TN`
    Tunesien
  `TO`
    Tonga
  `TR`
    Türkei
  `TT`
    Trinidad und Tobago #
  `TV`
    Tuvalu
  `TW`
    Taiwan
  `TZ`
    Tansania
  `UA`
    Ukraine
  `UG`
    Uganda
  `US_AK`
    Vereinigte Staaten/Alaska
  `US_AL`
    Vereinigte Staaten/Alabama
  `US_AR`
    Vereinigte Staaten/Arkansas
  `US_AZ`
    Vereinigte Staaten/Arizona
  `US_CA`
    Vereinigte Staaten/Kalifornien
  `US_CO`
    Vereinigte Staaten/Colorado
  `US_CT`
    Vereinigte Staaten/Connecticut
  `US_DC`
    Vereinigte Staaten/District of Columbia
  `US_DE`
    Vereinigte Staaten/Delaware
  `US_FL`
    Vereinigte Staaten/Florida
  `US_GA`
    Vereinigte Staaten/Georgia
  `US_HI`
    Vereinigte Staaten/Hawaii
  `US_IA`
    Vereinigte Staaten/Iowa
  `US_ID`
    Vereinigte Staaten/Idaho
  `US_IL`
    Vereinigte Staaten/Illinois
  `US_IN`
    Vereinigte Staaten/Indiana
  `US_KS`
    Vereinigte Staaten/Kansas
  `US_KY`
    Vereinigte Staaten/Kentucky
  `US_LA`
    Vereinigte Staaten/Louisiana
  `US_MA`
    Vereinigte Staaten/Massachusetts
  `US_MD`
    Vereinigte Staaten/Maryland
  `US_ME`
    Vereinigte Staaten/Maine
  `US_MI`
    Vereinigte Staaten/Michigan
  `US_MN`
    Vereinigte Staaten/Minnesota
  `US_MO`
    Vereinigte Staaten/Missouri
  `US_MS`
    Vereinigte Staaten/Mississippi
  `US_MT`
    Vereinigte Staaten/Montana
  `US_NC`
    Vereinigte Staaten/Nord-Carolina
  `US_ND`
    Vereinigte Staaten/Nord-Dakota
  `US_NE`
    Vereinigte Staaten/Nebraska
  `US_NH`
    Vereinigte Staaten/New Hampshire
  `US_NJ`
    Vereinigte Staaten/New Jersey
  `US_NM`
    Vereinigte Staaten/Neu-Mexiko
  `US_NV`
    Vereinigte Staaten/Nevada
  `US_NY`
    Vereinigte Staaten/New York
  `US_OH`
    Vereinigte Staaten/Ohio
  `US_OK`
    Vereinigte Staaten/Oklahoma
  `US_OR`
    Vereinigte Staaten/Oregon
  `US_PA`
    Vereinigte Staaten/Pennsylvania
  `US_RI`
    Vereinigte Staaten/Rhode Island
  `US_SC`
    Vereinigte Staaten/Süd-Carolina
  `US_SD`
    Vereinigte Staaten/Süd-Dakota
  `US_TN`
    Vereinigte Staaten/Tennessee
  `US_TX`
    Vereinigte Staaten/Texas
  `US_UT`
    Vereinigte Staaten/Utah
  `US_VA`
    Vereinigte Staaten/Virginia
  `US_VT`
    Vereinigte Staaten/Vermont
  `US_WA`
    Vereinigte Staaten/Washington
  `US_WI`
    Vereinigte Staaten/Wisconsin
  `US_WV`
    Vereinigte Staaten/West-Virginia
  `US_WY`
    Vereinigte Staaten/Wyoming
  `UY`
    Uruguay
  `UZ`
    Usbekistan
  `VC`
    St. Vincent und Grenadinen
  `VE`
    Venezuela
  `VG`
    Britische Jungferninseln
  `VI`
    Amerikanische Jungferninseln
  `VN`
    Vietnam
  `VU`
    Vanuatu
  `WF`
    Wallis- und Futuna-Inseln
  `WS`
    Samoa
  `YE`
    Jemen
  `YT`
    Mayotte
  `YU`
    Serbien und Montenegro
  `ZA`
    Südafrika
  `ZM`
    Sambia
  `ZW`
    Simbabwe
`--bahai-months`
  Die ewige Feiertagsliste wird zusätzlich mit den Anfangsdaten der Gemein- und Schaltmonate ausgestattet, wie sie sich aus dem Bahá'ì-Kalender ergeben. SieheKalender Option `--bahai-holidays`, für weitere Details.
`--chinese-flexible-months`
  Die ewige Feiertagsliste wird zusätzlich mit den Anfangsdaten der Gemein- und Schaltmonate ausgestattet, wie sie sich aus dem chinesischen Kalender ergeben, der auf flexible Art und Weise ermittelt wird. SieheKalender Option `--chinese-flexible-holidays`, für weitere Details.
`--chinese-months`
  Die ewige Feiertagsliste wird zusätzlich mit den Anfangsdaten der Gemein- und Schaltmonate ausgestattet, wie sie sich aus dem chinesischen Kalender ergeben. SieheKalender Option `--chinese-holidays`, für weitere Details.
`--coptic-months`
  Die ewige Feiertagsliste wird zusätzlich mit den Anfangsdaten der Gemein- und Schaltmonate ausgestattet, wie sie sich aus dem koptischen Kalender ergeben (nur für Jahre nach A.D. 283).
`--ethiopic-months`
  Die ewige Feiertagsliste wird zusätzlich mit den Anfangsdaten der Gemein- und Schaltmonate ausgestattet, wie sie sich aus dem äthiopischen Kalender ergeben.
`--french-revolutionary-months`
  Die ewige Feiertagsliste wird zusätzlich mit den Anfangsdaten der Gemein- und Schaltmonate ausgestattet, wie sie sich aus dem französischen Revolutionskalender ergeben (nur für Jahre nach A.D. 1791).
`--hebrew-months`
  Die ewige Feiertagsliste wird zusätzlich mit den Anfangsdaten der Gemein- und Schaltmonate ausgestattet, wie sie sich aus dem hebräischen Kalender ergeben.
`--indian-civil-months`
  Die ewige Feiertagsliste wird zusätzlich mit den Anfangsdaten der Gemein- und Schaltmonate ausgestattet, wie sie sich aus dem bürgerlichen indischen Kalender ergeben (nur für Jahre nach A.D. 1956).
`--islamic-civil-months`
  Die ewige Feiertagsliste wird zusätzlich mit den Anfangsdaten der Gemein- und Schaltmonate ausgestattet, wie sie sich aus dem bürgerlichen islamischen Kalender ergeben. SieheKalender Option `--islamic-civil-holidays`, für weitere Details.
`--japanese-flexible-months`
  Die ewige Feiertagsliste wird zusätzlich mit den Anfangsdaten der Gemein- und Schaltmonate ausgestattet, wie sie sich aus dem japanischen Kalender ergeben, der auf flexible Art und Weise ermittelt wird. SieheKalender Option `--japanese-flexible-holidays`, für weitere Details.
`--japanese-months`
  Die ewige Feiertagsliste wird zusätzlich mit den Anfangsdaten der Gemein- und Schaltmonate ausgestattet, wie sie sich aus dem japanischen Kalender ergeben. SieheKalender Option `--japanese-holidays`, für weitere Details.
`--old-armenic-months`
  Die ewige Feiertagsliste wird zusätzlich mit den Anfangsdaten der Gemein- und Schaltmonate ausgestattet, wie sie sich aus dem alt-armenischen Kalender ergeben (nur für Jahre nach A.D. 551).
`--old-egyptic-months`
  Die ewige Feiertagsliste wird zusätzlich mit den Anfangsdaten der Gemein- und Schaltmonate ausgestattet, wie sie sich aus dem alt-ägyptischen Kalender ergeben.
`--persian-jalaali-months`
  Die ewige Feiertagsliste wird zusätzlich mit den Anfangsdaten der Gemein- und Schaltmonate ausgestattet, wie sie sich aus dem persischen Jalaali Kalender ergeben. SieheKalender Option `--persian-jalaali-holidays`, für weitere Details.
`-i[-]`
`--type=special|standard`
  Um das Standard-Kalenderformat zu erhalten, sollte Gcal entweder ganz ohne die `-i[-]` Option aufgerufen werden, da das Standard-Kalenderformat voreingestellt ist, Gesichtspunkte zur Internationalisierung, oder aber mit der `-i-` oder `--type=standard` Option aufgerufen werden:

      $ gcal -i-
      -|
      -| September 1994
      -|
      -| Montag           5 12 19 26
      -| Dienstag         6 13 20 27
      -| Mittwoch         7 14 21 28
      -| Donnerstag    1  8 15 22 29
      -| Freitag       2  9 16 23 30
      -| Samstag       3 10 17 24
      -| Sonntag       4 11 18 25

  Um das Spezial-Kalenderformat19 zu erhalten, so sollte Gcal mit der `-i` Option oder mit der Option `--type=special` gestartet werden:

      $ gcal -i
      -|
      -|    September 1994
      -| Mo Di Mi Do Fr Sa So
      -|           1  2  3  4
      -|  5  6  7  8  9 10 11
      -| 12 13 14 15 16 17 18
      -| 19 20 21 22 23 24 25
      -| 26 27 28 29 30

`-O`
`--orthodox-calendar`
  Die Schaltjahrregel verwenden, die von den östlichen orthodoxen Kirchen benutzt wird.

  Ohne die Angabe der `--orthodox-calendar` Option ist Gcal unfähig, Gregorianische Jahre nach dem Jahre 2799 für die östlichen orthodoxen Kirchen korrekt auszugeben, da diese ein anderes Rechenschema zur Ermittlung der Schaltjahre verwenden. Die Methode zur Ermittlung der Schaltjahre im gewöhnlichen Gregorianischen Kalender, die standardmäßig von Gcal verwendet wird, ist wie folgt:

  > Ein Schaltjahr ist jedes Jahr, dessen Nummer ohne Rest durch 4 geteilt werden kann, und Jahrhundertwenden sind keine Schaltjahre, wenn sie nicht ganzzahlig durch 400 geteilt werden können.

  Aber die östlichen orthodoxen Kirchen berechnen Schaltjahre innerhalb des Gregorianischen Kalenders mittels einer anderen Regel:

  > Ein Schaltjahr ist jedes Jahr, dessen Nummer ohne Rest durch 4 geteilt werden kann, und Jahrhundertwenden sind Schaltjahre, wenn sie durch 9 geteilt einen Divisionsrest von 2 oder 6 aufweisen.

  Der erste Unterschied tritt demnach im Jahre 2800 auf, welches ein Schaltjahr im gewöhnlichen Gregorianischen Kalender ist, aber im Kalender der östlichen orthodoxen Kirchen nur ein Gemeinjahr ist.

`-K`
`--with-week-number`
  Das Kalenderblatt mit Wochennummern ausstatten. SieheKalender Option `--starting-day=Argument`, Kalender Option `--iso-week-number=yes|no`, und Gesichtspunkte zur Internationalisierung, für weitere Details.
`--iso-week-number=yes|no`
  Die Art der Wochennummern bestimmen, die im Kalenderblatt, in der Terminliste und vom `%Datum` Datummodifizierer verwendet werden. SieheKalender Option `--starting-day=Argument`, und Gesichtspunkte zur Internationalisierung, für weitere Details.
  `--iso-week-number=yes`
    Es werden die Methoden der ISO-8601:1988 zur Ermittlung der Wochennummern verwendet. Das bedeutet, daß eine Woche mit einem Montag beginnt, und die erste Woche des Jahres ist diejenige Woche, in welche der erste Donnerstag fällt, also gleich derjenigen Woche ist, in welcher der 4'te Januar auftritt. Diese Methode wird im folgenden als ISO-Wochennummer bezeichnet. Sollte der Starttag der Woche nicht auf Montag gesetzt sein, so werden die Wochennummern in den meisten Fällen nicht korrekt dargestellt. Sie sollten also darauf achten, daß bei Verwendung von `--iso-week-number=yes` der Montag als Starttag der Woche gesetzt ist!
  `--iso-week-number=no`
    Die Woche beginnt mit dem jeweiligen Starttag der Woche, und diejenigen Tage in einem neuen Jahr, die dem ersten Starttag der Woche vorangehen, liegen in der letzten Woche des Vorjahres, bzw. in der Woche Null des neuen Jahres. Diese Methode wird im folgenden als Standard-Wochennummer bezeichnet.
`-u`
`--suppress-calendar`
  Die Ausgabe eines Kalenderblatts explizit unterdrücken.
`-b Anzahl`
`--blocks=Anzahl`
  Setzen der Anzahl von Blöcken, in die ein Jahreskalender unterteilt wird (zulässige Argumente: `1|2|3|4|6|12`). Die voreingestellte Anzahl ist beim Standard-Kalenderformat `-b 3` bzw. `--blocks=3`, und beim Spezial-Kalenderformat `-b 4` bzw. `--blocks=4`. Falls diese Option vorgefunden wird, so impliziert das Programm, daß die Ausgabe eines Jahreskalenders gewünscht wird!
  `-b 1`
  `--blocks=1`
    Gibt einen Block mit allen zwölf Monaten aus.
  `-b 2`
  `--blocks=2`
    Gibt zwei Blöcke mit je sechs Monaten aus.
  `-b 3`
  `--blocks=3`
    Gibt drei Blöcke mit je vier Monaten aus.
  `-b 4`
  `--blocks=4`
    Gibt vier Blöcke mit je drei Monaten aus.
  `-b 6`
  `--blocks=6`
    Gibt sechs Blöcke mit je zwei Monaten aus.
  `-b 12`
  `--blocks=12`
    Gibt zwölf Blöcke mit je einem Monat aus.
`-j[b]`
`--calendar-dates=special|both`
  Benutzen eines alternativen Datumformats im Kalenderblatt anstelle des voreingestellten Standardformats, welches die laufenden Tage im Monat ausgibt.
  `-j`
  `--calendar-dates=special`
    Ausgabe des Kalenderblatts im Spezial-Datumformat. Darunter ist zu verstehen, daß anstelle der Folge der Tagesnummern der Monate die Folge der Tagesnummern des Jahres ausgegeben wird.
  `-jb`
  `--calendar-dates=both`
    Ausgabe des Kalenderblatts im Standard-Datumformat und auch im Spezial-Datumformat.
`-jn[b]`
`--holiday-dates=special|both`
  Benutzen des alternativen Datumformats in ewiger Feiertagsliste anstelle des voreingestellten Standardformats, welches die laufenden Tage im Monat ausgibt. SieheKalender Option `--holiday-list[=long|short]`.
  `-jn`
  `--holiday-dates=special`
    Ausgabe der ewigen Feiertagsliste im Spezial-Datumformat. Darunter ist zu verstehen, daß anstelle der Folge der Tagesnummern der Monate die Folge der Tagesnummern des Jahres ausgegeben wird.
  `-jnb`
  `--holiday-dates=both`
    Ausgabe der ewigen Feiertagsliste im Standard-Datumformat und auch im Spezial-Datumformat.
`-jc[b]`
`--fixed-dates=special|both`
  Benutzen des alternativen Datumformats in Terminliste anstelle des voreingestellten Standardformats, welches die laufenden Tage im Monat ausgibt. SieheTermin Option `--list-of-fixed-dates[=short|long]`.
  `-jc`
  `--fixed-dates=special`
    Ausgabe der Terminliste im Spezial-Datumformat. Darunter ist zu verstehen, daß anstelle der Folge der Tagesnummern der Monate die Folge der Tagesnummern des Jahres ausgegeben wird.
  `-jcb`
  `--fixed-dates=both`
    Ausgabe der Terminliste im Standard-Datumformat und auch im Spezial-Datumformat.
`-s Argument`
`--starting-day=Argument`
  Setzen des Starttags der Woche
  (zulässiges Argument: `0, 1...7 | today | Wochentagsname`).

  Zum Beispiel:

      --starting-day=Sonntag oder
      --starting-day=7 oder
      -s SONNTAG oder
      -s sonnt oder
      -sSo oder
      -s 7

  bezeichnet den Sonntag (1==Mo, 2==Di ... 7==So).

  Wenn die `-s today` Option (bzw. die `--starting-day=today`) oder die `-s 0` Option (bzw. die `--starting-day=0`) vorgefunden wird, so wird der Starttag der Woche auf den gerade aktuellen Wochentag gesetzt, wie er vom Systemdatum geliefert wird. SieheGesichtspunkte zur Internationalisierung, für weitere Details.

`--time-offset=Argument`
  Ändern der Basiszeit der astronomischen Funktionen (zulässiges Argument: `t|@|[t|@][+|-]mmmm|hh:[mm]`).

  Ohne Angabe der `--time-offset=Argument` Option werden die astronomischen Daten, die mittels der `--astronomical-holidays` (sieheKalender Option `--astronomical-holidays`) Option in die ewige Feiertagsliste eingebracht werden, sowie alle sonnen- und mondbezogenen Spezialtexte, die in die Terminliste eingebracht werden, stets für 0 Uhr Weltzeit (UTC/GMT) berechnet, also für den Zeitpunkt der bürgerlichen Mitternacht.

  SieheSonnendaten, und Monddaten, sowie Mondphase, für weitere Informationen.

  Das Argument ist entweder das `t` oder `@` Zeichen --wobei `t` einen Bezug auf die aktuelle Ortszeit20 und `@` einen Bezug auf die aktuelle Weltzeit darstellt--, oder eines dieser beiden Zeichen gefolgt von einem Versatzwert, oder aber nur ein Versatzwert, der entweder im `[+|-]mmmm` Format oder im `[+|-]hh:[mm]` Format angegeben werden muß. `[+|-]mmmm` addiert bzw. subtrahiert die angegebene Anzahl von Minuten mmmm vom Basiszeitwert 0 Uhr Weltzeit (Bereich `0...9999`), während `[+|-]hh:[mm]` die angegebene Anzahl von Stunden hh (Bereich `0...99`) und Minuten mm (Bereich `0...59`) vom Basiszeitwert 0 Uhr Weltzeit addiert bzw. subtrahiert. Der Versatzwert wird stets zum Basiszeitwert 0 Uhr Weltzeit addiert, wenn er kein `+|-` Vorzeichen aufweist.

  Zum Beispiel bewirkt die `--time-offset=+1:` Option, daß bei der Ausgabe von ewigen Feiertagslisten und Terminlisten die Zeit 0 Uhr der Zeitzone GMT-1 (== MEZ) als Basiszeit von den astronomischen Funktionen verwendet wird, anstelle der Basiszeit 0 Uhr Weltzeit (== GMT).

  Zum Beispiel bewirkt die `--time-offset=t-2:` Option, daß bei der Ausgabe von ewigen Feiertagslisten und Terminlisten diejenige Zeit als Basiszeit von den astronomischen Funktionen verwendet wird, wie sie sich zwei Stunden vor der gerade aktuellen Ortszeit ergibt, anstelle der Basiszeit 0 Uhr Weltzeit (== GMT). Ein so gearteter Bezug wird im weiteren Kontext mit dem Begriff relativer Zeitversatzwert bezeichnet.

`--transform-year=Argument`
  Ändern des Basisjahrs des Kalenders (zulässiges Argument: `-9999...[+]9999`).

  Zum Beispiel bewirkt die `--transform-year=-543` Option, daß bei der Ausgabe von Kalenderblättern, ewigen Feiertagslisten sowie Terminlisten das Jahr 543 vor Christus als Basisjahr des Kalenders verwendet wird anstelle des Jahres 1 nach Christus. Das hat in diesem Fall zur Folge, daß beispielsweise für das Jahr 1999 (nach christlicher Zeitrechnung) nicht die Jahreszahl 1999 in vorgenannten Ausgaben verwendet wird, sondern die im westlich orientierten thailändischen Kalender benutzte Jahreszahl 2542.

  Allerdings beachtet Gcal die `--transform-year=Argument` Option nicht bei der Verwendung des Datummodifizierers `%Datum` (sieheDatummodifizierer), den Kommandos (sieheKommandos), und den Termineinträgen in einer Ressourcendatei (sieheDatumteil einer Zeile). Alle dort gemachten Bezüge auf ein bestimmtes Jahr gehen auch weiterhin stets vom Jahr 1 nach Christus als dem Basisjahr des Kalenders aus, so daß dort nur Bezüge verwendet werden können, die auf der christlichen Zeitrechnung basieren.

`--gregorian-reform=1582|1700|1752|1753|Argument`
  Setzen des Zeitraums, der bei der Gregorianischen Reformation übergangen wurde. Gcal arbeitet standardmäßig im Hybrid-Kalendermodus, worunter zu verstehen ist, daß sich Gcal automatisch vom Julianischen Kalendersystem auf das Gregorianische Kalendersystem umstellt, wenn sich Ausgaben auf einen Zeitpunkt nach der Gregorianischen Reformation beziehen. SieheGesichtspunkte zur Internationalisierung, für weitere Details. Derzeit werden vier fest vorgegebene Zeiträume unterstützt, und zwar im Jahr 1582, im Jahr 1700, im Jahr 1752 und im Jahr 1753.

  Wird Gcal mit der `--gregorian-reform=1582` Option aufgerufen, so wird angenommen, daß die Gregorianische Reformation vom 5'ten bis zum 14'ten Oktober 1582 stattgefunden hat.

  Wird Gcal mit der `--gregorian-reform=1700` Option aufgerufen, so wird angenommen, daß die Gregorianische Reformation vom 19'ten bis zum 28'ten Februar 1700 stattgefunden hat.

  Wird Gcal mit der `--gregorian-reform=1752` Option aufgerufen, so wird angenommen, daß die Gregorianische Reformation vom 3'ten bis zum 13'ten September 1752 stattgefunden hat.

  Wird Gcal mit der `--gregorian-reform=1753` Option aufgerufen, so wird angenommen, daß die Gregorianische Reformation vom 18'ten bis zum 28'ten Februar 1753 stattgefunden hat.

  Soll ein anderer Zeitraum berücksichtigt werden, so kann dieser als Argument der Form `jjjjj,mm,Starttag,Endetag` vereinbart werden. Wenn die Gregorianische Reformation zum Beispiel vom 7'ten bis zum 17'ten April 1802 stattgefunden hat, so kann das wie folgt vereinbart werden:

      --gregorian-reform=1802,4,7,17

  Gcal kann aber auch sogenannte proleptische Kalender eines bestimmten Kalendersystems darstellen. Darunter ist zu verstehen, daß Gcal während eines bestimmten Zeitraums durchweg nur dieses eine bestimmte Kalendersystem verwendet, obwohl in der geschichtlichen Realität durchaus der Wechsel hin zu einem anderen Kalendersystem in diesem Zeitraums stattgefunden hat. Folgende proleptische Kalendersysteme werden von Gcal derzeit unterstützt:

  - Proleptische Gregorianische Kalender können von A.D. 302 bis einschließlich A.D. 9999 erzeugt werden, indem `--gregorian-reform=301,12,31,31` benutzt wird. Leider können Jahre vor A.D. 302 derzeit nicht Proleptisch-Gregrorianisch von Gcal repräsentiert werden.
  - Proleptische Julianische Kalender können von A.D. 1 bis einschließlich A.D. 9999 erzeugt werden, indem `--gregorian-reform=10002,12,31,31` benutzt wird. Das aktuelle Systemdatum, was ja in aller Regel auf dem Gregorianischen Kalender basiert und auch von Gcal benutzt wird, wird intern in diesem Fall automatisch in das entsprechende Julianische Datum umgewandelt21. Gleiches geschieht, wenn das aktuelle Systemdatum durch die Verwendung des `%Datum` Datummodifizierers verändert wird. Hier unterstellt Gcal ebenfalls, daß es sich bei diesem angegebenen Datum um ein Gregorianisches Datum handelt, und wandelt es intern automatisch in das entsprechende Julianische Datum um. SieheDatummodifizierer, für weitere Details.

  Bitte beachten Sie, daß die Kalender sowie die Terminfunktion (die nun auch in denjenigen Jahren korrekt funktioniert, in denen die Gregorianische Reformation stattgefunden hat) logisch verdorben werden, falls das Argument der `--gregorian-reform` Option nicht mit Sorgfalt verwandt wird.

`--date-format=de|us|gb|Text`
  Setzen des Datumformats, welches die Anordnung und Darstellung von einem ausgegebenen Datum beeinflußt. SieheGesichtspunkte zur Internationalisierung, für weitere Details. Der Datumformattext wird von Gcal in der ewigen Feiertagsliste, in der Terminliste und in den Kalenderblättern berücksichtigt; zudem versucht Gcal intern, stets die bestmögliche Darstellung von einem ausgegebenen Datum zu erzielen wenn Tag-des-Jahres Nummern anstelle Tag-des-Monats Nummern ausgegeben werden sollen, oder beide Nummernarten miteinander kombiniert werden.

  Derzeit werden drei fest vorgegebene Datumformate unterstützt, und zwar für deutsche Benutzer, US amerikanische Benutzer und Benutzer in Großbritannien.

  Wird Gcal mit `--date-format=de` aufgerufen, so wird der
  `%<2#K, %1%>2*D%2 %<3#U %>04*Y` Datumformattext benutzt. Das hat zur Folge, daß ein Datum in der `ww, tt mmm jjjj` Anordnung ausgegeben wird, also z.B. `Sa, 28 Aug 1999`.

  Wird Gcal mit `--date-format=us` aufgerufen, so wird der
  `%<3#K, %<3#U %1%>2&*D%2 %>04*Y` Datumformattext benutzt. Das hat zur Folge, daß ein Datum in der `www, mmm tt jjjj` Anordnung ausgegeben wird, also z.B. `Sam, Aug 28'ter 1999`.

  Wird Gcal mit `--date-format=gb` aufgerufen, so wird der
  `%<3#K, %1%>2&*D%2 %<3#U %>04*Y` Datumformattext benutzt. Das hat zur Folge, daß ein Datum in der `www, tt mmm jjjj` Anordnung ausgegeben wird, also z.B. `Sam, 28'ter Aug 1999`.

  Soll ein anderer Datumformattext berücksichtigt werden, so kann dieser entweder in der Umgebungsvariable `GCAL_DATE_FORMAT` angegeben werden22, oder aber als Optionsargument Text vereinbart werden, so daß zum Beispiel `--date-format='%Y %D %>02*M ; %1(%>5u#K)%2'` ein Datum in der `[[[j]j]j]j [t]t mm ; (wwwww)` Anordnung ausgibt, also z.B. `1999 28 08 ; (SAMST)`. SieheUmgebungsvariable `GCAL_DATE_FORMAT`, für weitere Informationen.

  Der Datumformattext kann alle von Gcal ausgebbare Zeichen enthalten, sowie Zeichenersatzangaben und Formatelemente, die zur Laufzeit in ihre entsprechenden Werte umgesetzt werden. Einige Formatelemente dürfen ihrerseits mit einer Formatanweisung versehen werden, die im folgenden Kontext mit Format bezeichnet wird. SieheFormatanweisung, für die ausführliche Beschreibung der Formatanweisung und ihrer Komponenten.

  Ein minimaler Datumformattext muß mindestens die folgenden Formatelemente enthalten:

  > Die Tagesnummer, eine Komponente aus der Monat-Gruppe, die Jahresnummer und beide Komponenten der Hervorhebung-Gruppe.

  Ein Wochentagsname-Formatelement darf auch noch optional in den Datumformattext aufgenommen werden. Folgende Formatelemente und Zeichenersatzangaben werden gegenwärtig unterstützt:

  `%[Format]D`
    Tageszahl (muß definiert werden)
  `%[Format]Y`
    Jahreszahl (muß definiert werden)
  `%[Format]K`
    Wochentagsname (darf definiert werden)

  Monat-Gruppe (genau ein Mitglied muß definiert werden):

  `%[Format]M`
    Monatsnummer
  `%[Format]U`
    Monatsname

  Hervorhebung-Gruppe (alle Mitglieder müssen definiert werden, und `%1` muß vor `%2` angegeben werden):

  `%1`
    Start von Hervorhebungssequenz / Markierungszeichen
  `%2`
    Ende von Hervorhebungssequenz / Markierungszeichen

  Zeichenersatzangaben:

  `_`
    Leerzeichen ``
  `\_`
    Unterstrichzeichen `_`
  `\%`
    Prozentzeichen `%`
  `\\`
    Backslashzeichen `\`

  SieheTabelle der veralteten Datumformate, und Tabelle der veralteten Datumformatelemente, für weitere Informationen.

`--translate-string=Text`
  Definieren der landesspezifischen Sonderzeichenpaare, welche von einer Stil-Formatanweisungskomponente berücksichtigt bzw. übersetzt werden. SieheFormatanweisung, für die ausführliche Beschreibung der Formatanweisung und ihrer Komponenten. Die landesspezifischen Sonderzeichenpaare werden im Optionsargument Text als Folge von Einzelzeichenpaaren vereinbart, und zwar in beliebiger Anzahl und Reihenfolge. Zuerst wird die Großbuchstabendarstellung des landesspezifischen Sonderzeichens angegeben, und danach dessen Kleinbuchstabendarstellung. Landesspezifische Sonderzeichen, die keine Groß- bzw. Kleinbuchstabendarstellung im benutzten Zeichensatz besitzen, wie z.B. das im deutschen Zeichensatz übliche `ß`-Zeichen, werden auch als Sonderzeichenpaar angegeben (hier: `ßß`), anderenfalls werden diese Sonderzeichen nicht von der Stil-Formatanweisungskomponente erkannt und korrekt umgesetzt. Sollten die landesspezifischen Sonderzeichen zuerst in ihrer Kleinbuchstabendarstellung, und danach erst in ihrer Großbuchstabendarstellung angegeben werden, so übt diese Option keinen weiteren Effekt auf die Stil-Formatanweisungskomponente aus; mit dem Resultat, das die angegebenen landesspezifischen Sonderzeichen nicht als solche erkannt und somit korrekt übersetzt werden.

  Beispielsweise bewirkt ein `ÄäÖöÜüßß` Optionsargument die korrekte Umsetzung vorstehender Sonderzeichen in einem selbstdefinierten bzw. individuellen Datumformat, welches eine Stil-Formatanweisungskomponente aufweist, und zwar so, wie sie von dem in Deutschland benutzten Zeichensatz verwendet werden.

Knoten:Termin Optionen, Vorheriger:Kalender Optionen, Aufwärts:Optionen

#### Termin Optionen

`-v Argument`
`--date-variable=Argument`
  Definiere globale Datumvariable, welche in allen referenzierten Ressourcendateien sichtbar ist (sieheDatumvariablen). Das Argument muß entweder eine einzelne Datumvariablen-Definition oder eine durch `:` Doppelpunkt verbundene Folge von Definitionen sein.

  Der Name einer Datumvariablen dvar besteht aus einem einzelnen Buchstaben23. In einer Definition folgt diesem Namen sodann der Zuweisungsoperator `=`, und die Zahlenwerte für Monat mm (oder einem Monatsnamen im 3-Buchstaben Kurzformat, z.B. `Jan`, `Feb`, ...) und Tag tt, welche diese Variable aufzunehmen hat24.

  Zum Beispiel:

  > `--date-variable=a=1127:c=a` bzw.
  > `-v a=1127:c=a`
  > speichert den 27'ten November in der globalen Datumvariablen a und in der globalen Datumvariablen c.

`--export-date-variables`
  Bewirkt den Export lokaler Datumvariablen von Ressourcendatei zu Ressourcendatei. SieheDatumvariablen, für weitere Details.
`-r Argument`
`--text-variable=Argument`
  Definiere globale Textvariable, welche in allen referenzierten Ressourcendateien sichtbar ist (sieheTextvariablen). Das Argument muß entweder eine einzelne Textvariablen-Definition oder eine durch `:` Doppelpunkt verbundene Folge von Definitionen sein.

  Der Name einer Textvariablen tvar besteht aus einem `$` Präfix und einem einzelnen Buchstaben25.

  Eine Textvariable wird wie folgt definiert:

  - Folgt dem Namen der Textvariablen ein `=` Zuweisungsoperator, so wird der gesamte Text, der rechts von diesem Zuweisungsoperator auftritt, an diese Textvariable zugewiesen.
  - Folgt dem Namen der Textvariablen ein `?` Zuweisungsoperator, so wird der gesamte Text, der rechts von diesem Zuweisungsoperator auftritt, von Gcal als externes Kommando aufgefasst und ausgeführt. Die Ausgabe, die das Kommando auf dem Standardausgabe-Gerätekanal erzeugt hat, wird an diese Textvariable zugewiesen; und zwar interpretiert. Das heißt, Gcal interpretiert alle in dieser Ausgabe enthaltenen Spezialtexte und Textvariablenreferenzen. SieheTextvariablen, und Spezialtexte, für weitere Informationen.
  - Folgt dem Namen der Textvariablen ein `:` Zuweisungsoperator, so wird der gesamte Text, der rechts von diesem Zuweisungsoperator auftritt, von Gcal als externes Kommando aufgefasst und ausgeführt. Die Ausgabe, die das Kommando auf dem Standardausgabe-Gerätekanal erzeugt hat, wird an diese Textvariable zugewiesen; und zwar uninterpretiert. Das heißt, Gcal interpretiert keine in dieser Ausgabe enthaltenen Spezialtexte und Textvariablenreferenzen. Siehe ebenfalls Textvariablen, und Spezialtexte, für weitere Details.

  Allerdings werden externe Kommandos von Gcal nur dann ausgeführt, wenn die `--execute-command` Option beim Programmaufruf angegeben wurde. SieheTermin Option `--execute-command`, für weitere Informationen.

  Der Text, der rechts von einem der zulässigen Zuweisungsoperatoren auftritt, darf Namen von bereits definierten globalen Textvariablen referenzieren. Bevor die Zuweisung vorgenommen wird, werden diese Referenzen dann von Gcal in ihre entsprechenden textlichen Ausprägungen umgesetzt.

  Eine globale Textvariable wird mit leerem Inhalt definiert, falls kein Text rechts von einem der zulässigen Zuweisungsoperatoren angegeben ist.

  Zum Beispiel:

  > `--text-variable=$a=foo:$c=$a` bzw.
  > `-r $a=foo:$c=$a`
  > speichert den Text `foo` in der globalen Textvariablen $a und in der globalen Textvariablen $c.

  > `--text-variable=$a\:foo:$c?bar` bzw.
  > `-r $a\:foo:$c?bar`
  > speichert die uninterpretierte Ausgabe des Kommandos `foo` in der globalen Textvariablen $a, und die interpretierte Ausgabe des Kommandos `bar` in der globalen Textvariablen $c.

  Falls das `:` Zeichen im Text als Zeichen selbst verwendet werden soll, so muß dieses durch ein führendes `\` (Backslash) Zeichen hinsichtlich seiner speziellen Bedeutung entwertet werden, z.B. `\:`. Wenn die Zeichen `\:` im Text selbst als Zeichenfolge verwendet werden sollen, so muß das `\` (Backslash) Zeichen durch ein weiteres `\` (Backslash) Zeichen geschützt werden, z.B. `\\:`.

  Falls das `$` Zeichen im Text als Zeichen selbst verwendet werden soll, so muß dieses durch ein führendes `\` (Backslash) Zeichen hinsichtlich seiner speziellen Bedeutung entwertet werden, z.B. `\$`. Wenn die Zeichen `\$` im Text selbst als Zeichenfolge verwendet werden sollen, so muß das `\` (Backslash) Zeichen durch ein weiteres `\` (Backslash) Zeichen geschützt werden, z.B. `\\$`.

  Jedesmal wenn ein `_` (Unterstrich) Zeichen in Argument vorgefunden wird, so wird dieses Zeichen durch ein echtes `` (Leerzeichen) Zeichen ersetzt.

  Falls das `_` (Unterstrich) Zeichen als Zeichen selbst verwendet werden soll, so muß dieses durch ein führendes `\` (Backslash) Zeichen hinsichtlich seiner speziellen Bedeutung entwertet werden, z.B. `\_`. Wenn die Zeichen `\_` selbst als Zeichenfolge verwendet werden sollen, so muß das `\` (Backslash) Zeichen durch ein weiteres `\` (Backslash) Zeichen geschützt werden, z.B. `\\_`.

`--export-text-variables`
  Bewirkt den Export lokaler Textvariablen von Ressourcendatei zu Ressourcendatei. SieheTextvariablen, für weitere Details.
`--adjust-value=Argument`
  Bewirkt einerseits, daß die als Argument übergebene Zahl als Referenzhöhe für die Berechung der Aufgangs- und Untergangszeiten von den sonnen- und mondbezogenen Spezialtexten verwendet wird. Das Optionsargument muß einer reellen Zahl im Bereich -90.0...+90.0 entsprechen, die den Winkelabstand in Dezimalgrad vom Mittelpunkt des astronomischen Objekts zum Horizont angibt. Zum Beispiel kann mittels `--adjust-value=-20.5` diejenige Uhrzeit ermittelt werden, zu der sich der Mittelpunkt der Sonne oder des Mondes 20,5 Dezimalgrad unterhalb des Horizont befindet.

  Bewirkt andererseits, daß die als Argument übergebene Zahl als Faktor für die Berechung der Schattenlänge eines senkrechten Stabes von den sonnenbezogenen Spezialtexten verwendet wird. Das Optionsargument muß einer reellen Zahl im Bereich 0.0...+90.0 entsprechen, die die Schattenlänge angibt. Zum Beispiel kann mittels `--adjust-value=3.5` diejenige Uhrzeit ermittelt werden, zu der die Länge des Stabschattens dreieinhalb mal länger ist als derjenige Stabschatten, der sich zum astronomischen Mittagzeitpunkt ergab.

  SieheSonnendaten, und Monddaten, für weitere Informationen.

`--atmosphere=Luftdruck[,Temperatur]`
  Die Basisdaten der Erdatmosphäre zur Refraktionsberechnung26 festlegen, die von den sonnen- und mondbezogenen Spezialtexten verwendet wird. Das Optionsargument besteht aus einer oder zwei reellen Zahlen, die durch ein `,` Zeichen voneinander getrennt werden. Die erste Zahl gibt den Luftdruck in Millibar an, die zweite Zahl die Lufttemperatur in Grad Celsius. Die Voreinstellung für den Luftdruck beträgt 1013.25 Millibar, und der voreingestellte Wert für die Temperatur beträgt 15.0 Grad Celsius. Beispielsweise werden durch `--atmosphere=1010,10` atmosphärische Bedingungen definiert, wie sie für einem Luftdruck von 1010 Millibar und eine Temperatur von 10 Grad Celsius gelten. Wird für den Luftdruck ein Wert kleiner oder gleich Null eingegeben, so wird bei den sonnen- und mondbezogenen Spezialtexten keine atmosphärische Refraktion berücksichtigt, so zum Beispiel durch `--atmosphere=0`.

  SieheSonnendaten, und Monddaten, für weitere Informationen.

`--limit`
  Bewirkt bei der Berechnung von Auf- und Untergangszeiten mittels der sonnenbezogenen Spezialtexte für hohe Breiten, daß ein möglicherweise an einem Vortag oder Folgetag stattfindendes Auf- oder Untergangsereignis nicht als am aktuellen Tag stattfindend ausgegeben wird, wie es in der Grundeinstellung geschieht. In hohen Breiten, also oberhalb des solaren Polarkreises, ist es nämlich so, daß entweder kein, oder mehr als ein Sonnenaufgang oder Sonnenuntergang pro Tag während bestimmter Zeiten im Jahr stattfindet. Da aber ein Spezialtext grundsätzlich nur zu einer einzigen, atomaren Ausgabe führt, auch wenn tatsächlich eigentlich mehrere Ausgaben nötig wären, setzt Gcal ein solches Ereignis auf einen Vortag oder Folgetag. So dargestellte Daten könnten dann in diesem Zusammenhang leicht fehlinterpretiert werden.

  Das folgende Beispiel soll das verdeutlichen. Es wird die Uhrzeit des Endes der astronomischen Dämmerungphase für den Ort Münster, Deutschland, während einiger Tage im Mai 2000 berechnet, und zwar jeweils mit und ohne die `--limit` Option:

      $ gcal %20000506 -f/dev/null -cxl4+ \
      >      -#'0*d1#999_%s9+5158+00738,120'
      -|
      -| So,   7 Mai 2000: 23:52
      -| Mo,   8 Mai 2000: 23:57
      -| Di,   9 Mai 2000: 00:01
      -| Mi,  10 Mai 2000: 00:06
      $ gcal %20000506 -f/dev/null -cxl4+ --limit \
      >      -#'0*d1#999_%s9+5158+00738,120'
      -|
      -| So,   7 Mai 2000: 23:52
      -| Mo,   8 Mai 2000: 23:57
      -| Di,   9 Mai 2000: **:**
      -| Mi,  10 Mai 2000: **:**

  Wie man gut aus dem vorstehenden Beispiel ersehen kann, unterscheiden sich die Ausgaben für die Tage ab dem 9'ten Mai voneinander dahingehend, daß ohne die `--limit` Option eine offensichtlich den bürgerlichen Mitternachtzeitpunkt überschreitende Uhrzeit ausgegeben wird, die eigentlich nicht an diesen Tagen stattfinden kann, wohingegen mit der `--limit` Option für die Tage ab dem 9'ten Mai keine Ausgabe einer Uhrzeit erfolgt, da der Zeitkreis überschritten wird. Astronomisch gesehen liegt der Fall vor, daß am 8'ten Mai 2000 das Ende der astronomischen Dämmerung um 23:57 Uhr Ortszeit stattfindet, am 9'ten Mai kein Ende der astronomischen Dämmerung stattfindet, da sich der Sonnenmittelpunkt stets oberhalb 18 Grad unterhalb eines geometrischen Horizonts (der Refererenzhöhe der astronomischen Dämmerung) befindet, jedoch am 10'ten Mai um 00:01 Uhr Ortszeit diese Referenzhöhe wieder durchschritten wird. Somit gehört die für den 9'ten Mai ermittelte Uhrzeit eigentlich auf den 10'ten Mai verschoben usw., wie es durch die Ausgabe, die mit der `--limit` Option erzeugt wird, verdeutlicht ist.

  SieheSonnendaten, für weitere Informationen.

`--cycle-end=Argument`
  Die dynamischen, von der jeweiligen Uhrzeit abhängigen, sonnen- und mondbezogenen Spezialtexte werden für eine Folge von Uhrzeiten des laufenden Tages berechnet, d.h. für ein beliebiges, vom Benutzer individuell definierbares Zeitintervall ermittelt. Gcal wird immer dann in einen solchen Zyklusmodus versetzt, wenn die `--cycle-end` Option bei Programmaufruf angegeben ist. Das Argument der `--cycle-end` Option entspricht syntaktisch demjenigen Argument, wie es bei der `--time-offset` Option angegeben werden darf, also `t|@|[t|@][+|-]mmmm|hh:[mm]`. SieheKalender Option `--time-offset=Argument`, für die ausführliche Beschreibung des vorstehenden Optionsarguments. Die `--cycle-end` Option dient somit zur Festlegung der Endezeit des Zeitintervalls, während die `--time-offset` Option implizit zur Festlegung der Startzeit des Zeitintervalls dient, die in der Grundeinstellung 0 Uhr beträgt27.

  Werden bei den beiden vorgenannten Optionen Werte für das Zeitintervall angegeben, die 0 Uhr unterschreiten, so werden diese Werte automatisch auf 0 Uhr gesetzt. Werden Werte für das Zeitintervall angegeben, die 23:59 Uhr überschreiten, so werden diese Werte automatisch auf 23:59 Uhr gesetzt.

  Die von Gcal berücksichtigte Schrittweite zwischen der Start- und Endezeit des Zeitintervalls beträgt in der Grundeinstellung eine Minute, die aber durch die Benutzung der `--cycle-step` Option beliebig geändert werden kann. SieheTermin Option `--cycle-step=Argument`, für mehr Details.

  Sie sollten stets in Erinnerung behalten, daß die Anwendung des Zyklusmodus' nur dann sinnvoll ist, wenn die laufende Uhrzeit des Zeitintervalls auch Bestandteil derjenigen Zeile einer Gcal Ressourcendatei ist, die so ausgewertet werden soll. Ansonsten kann bei der Ausgabe der Daten und Zeiten im Nachhinein nicht mehr einwandfrei festgestellt werden, welcher sonnen- oder mondbezogene Wert sich zu welcher Uhrzeit ergab!

  In dem nun folgenden Beispiel wird dargestellt, wie die topozentrische Sonnenhöhe für den Ort Münster, Deutschland, während zweier Tage im April 2000 berechnet wird, und zwar jeweils für das Zeitintervall 12:00 Uhr bis 12:05 Uhr Ortszeit:

      $ gcal %20000420 -Hno -f/dev/null -xdt -g::: \
      >      --here='0*d1#999_%ot+00+000_:_%oa+5158+00738,120' \
      >      --cycle-end=12:05 --time=12:00
      -|
      -| Do,  20 Apr 2000: +12h00': +045g58'
      -| Do,  20 Apr 2000: +12h01': +046g03'
      -| Do,  20 Apr 2000: +12h02': +046g07'
      -| Do,  20 Apr 2000: +12h03': +046g12'
      -| Do,  20 Apr 2000: +12h04': +046g17'
      -| Do,  20 Apr 2000: +12h05': +046g22'
      -| :::
      -| Fr,  21 Apr 2000: +12h00': +046g18'
      -| Fr,  21 Apr 2000: +12h01': +046g23'
      -| Fr,  21 Apr 2000: +12h02': +046g28'
      -| Fr,  21 Apr 2000: +12h03': +046g32'
      -| Fr,  21 Apr 2000: +12h04': +046g37'
      -| Fr,  21 Apr 2000: +12h05': +046g42'

  SieheSonnendaten, und Monddaten, für weitere Informationen.

`--cycle-step=Argument`
  Ändern der Schrittweite, die zwischen der Start- und Endezeit des Zeitintervalls benutzt wird, in dem die dynamischen, von der jeweiligen Uhrzeit abhängigen sonnen- und mondbezogenen Spezialtexte berechnet werden. SieheTermin Option `--cycle-end=Argument`, wie ein solches Zeitintervall definiert wird. Ohne die Angabe der `--cycle-end` Option wird eine gegebene `--cycle-step` Option vollständig ignoriert. Diese löst auch nicht den Zyklusmodus bei Gcal aus! Das Argument der `--cycle-step` Option entspricht in etwa demjenigen Argument, wie es bei der `--time-offset` Option angegeben werden darf, nur daß relative Bezüge zur aktuellen Ortszeit bzw. Weltzeit nicht gemacht werden können. Gcal benutzt stets den Betrag der angegebenen Schrittweite. Somit lautet die Schablone für das Argument, das bei der `--cycle-step` Option angegeben werden darf `[+|-]mmmm|hh:[mm]`. SieheKalender Option `--time-offset=Argument`, für die ausführliche Beschreibung des vorstehenden Optionsarguments.

  In der Grundeinstellung beträgt die Schrittweite im Zeitintervall eine Minute.

  In dem nun folgenden Beispiel wird dargestellt, wie die topozentrische Sonnenhöhe für den Ort Münster, Deutschland, während zweier Tage im April 2000 berechnet wird, und zwar jeweils für das Zeitintervall 10:00 Uhr bis 17:00 Uhr Ortszeit, mit einem Schrittweitenwert von einer Stunde und 15 Minuten:

      $ gcal %20000420 -Hno -f/dev/null -xdt -g::: \
      >      --here='0*d1#999_%ot+00+000_:_%o*a+5158+00738,120' \
      >      --cycle-end=10:00 --time=17:00 --cycle-step=1:15
      -|
      -| Do,  20 Apr 2000: +10h45': +38.038
      -| Do,  20 Apr 2000: +12h00': +45.962
      -| Do,  20 Apr 2000: +13h15': +49.665
      -| Do,  20 Apr 2000: +14h30': +47.882
      -| Do,  20 Apr 2000: +15h45': +41.267
      -| Do,  20 Apr 2000: +17h00': +31.633
      -| :::
      -| Fr,  21 Apr 2000: +10h45': +38.355
      -| Fr,  21 Apr 2000: +12h00': +46.299
      -| Fr,  21 Apr 2000: +13h15': +50.006
      -| Fr,  21 Apr 2000: +14h30': +48.198
      -| Fr,  21 Apr 2000: +15h45': +41.545
      -| Fr,  21 Apr 2000: +17h00': +31.881

  SieheSonnendaten, und Monddaten, für weitere Informationen.

`--precise`
  Die von den sonnen- und mondbezogenen Spezialtexten erzeugten astronomischen Daten und Zeiten, beziehungsweise die vom distanz- und kurswinkelbezogenen Spezialtext erzeugten geographischen Daten, werden mit einer höheren Präzision dargestellt, d.h. je nach Darstellungsmodus- oder stil und Art des Spezialtextes, mit einer höheren Anzahl an Nachkommastellen bei Dezimalwerten, oder der Ausgabe des Zeitsekundenanteils oder des Altgrad-Sekundenanteils.

  SieheSonnendaten, und Monddaten, sowie Geographische Distanz und Kurswinkel, für weitere Informationen.

`--execute-command`
  Bewirkt einerseits, daß shell Kommando `%![Argument]` Spezialtexte ausgeführt werden, und nicht rein textlich ausgeben werden. SieheShell Kommando `%!`[Argument] Spezialtext, für weitere Details. Und bewirkt andererseits, daß `tvar?[Kommando]` und `tvar:[Kommando]` Textvariablendefinitionen die Ausgabe eines externen Kommandos zugewiesen wird, und nicht der Text, der den Aufruf des externen Kommandos enthält. SieheTextvariablen, für weitere Informationen.
`-D Argument`
`--filter-day=Argument`
  Gibt nur diejenigen Termine aus, welche nicht durch das angegebene Argument ausgeschlossen werden. SieheDatumteil einer Zeile, sowie ebenfalls Ausschließen ohne Argument `%?` Spezialtexte. Das Argument besteht aus einem oder mehreren Zeichen, wie sie im Ausschließen ohne Argument `%?` Spezialtext verwandt werden; allerdings ohne das jeweils anführende `%` Zeichen.

  So kann zum Beispiel Gcal dazu veranlaßt werden, eine Jahresübersicht nur derjenigen Termine aus der Datei `demo.rc` auszugeben, die auf gesetzliche Feiertage fallen, und zudem Samstage oder Sonntage sind:

      gcal -f demo.rc --year --filter-day=Rv

`-P Argument`
`--filter-period=Argument`
  Gibt nur diejenigen Termine aus, welche nicht durch das angegebene Argument ausgeschlossen werden. SieheDatumteil einer Zeile, sowie ebenfalls Ausschließen mit Datumargument `%?[Datum]` Spezialtexte. Das Argument besteht aus einem oder mehreren Ausdrücken, wie sie im Ausschließen mit Datumargument `%?[Datum]` Spezialtext verwandt werden; allerdings ohne das jeweils anführende `%` Zeichen. Es können mehrere dieser `%?[Datum]` Ausdrücke angegeben werden, wenn diese durch ein `,` Zeichen verbunden werden.

  So kann zum Beispiel Gcal dazu veranlaßt werden, eine Jahresübersicht nur derjenigen Termine aus der Datei `demo.rc` auszugeben, die in den Zeitraum vom 17'ten bis zum 20'ten jeden Monats fallen, und die auf den 31'ten jeden Monats fallen:

      gcal -f demo.rc -y -P i00000017#00000020,i00000031#00000031

`-I Suchmuster`
`--filter-text=Suchmuster`
  Gibt nur diejenigen Termine aus, deren vollständig expandierter Termintext28 mit dem angegebenen Suchmuster übereinstimmt. SieheTextteil einer Zeile, sowie ebenfalls `%?`... Spezialtexte zum Textersatz. Das Suchmuster ist ein regulärer Ausdruck29, wie es vom Unix `ed` Zeileneditor erkannt wird. SieheReguläre Ausdrücke, für weitere Informationen.

  So kann zum Beispiel Gcal dazu veranlaßt werden, alle Zahnarzt- und Augenarzttermine aus der Datei `doctor.rc` auszugeben, die im laufenden Monat anfallen:

      gcal -f doctor.rc --month -I "[zZ]ahnarzt|[aA]ugenarzt"

  Jedesmal wenn ein `_` (Unterstrich) Zeichen im Suchmuster Argument vorgefunden wird, so wird dieses Zeichen durch ein echtes `` (Leerzeichen) Zeichen ersetzt.

  Falls das `_` (Unterstrich) Zeichen als Zeichen selbst verwendet werden soll, so muß dieses durch ein führendes `\` (Backslash) Zeichen hinsichtlich seiner speziellen Bedeutung entwertet werden, z.B. `\_`. Wenn die Zeichen `\_` selbst als Zeichenfolge verwendet werden sollen, so muß das `\` (Backslash) Zeichen durch ein weiteres `\` (Backslash) Zeichen geschützt werden, z.B. `\\_`.

`--ignore-case`
  Bewirkt das sowohl im Suchmuster der `--filter-text=Suchmuster` Option als auch im vollständig expandierten Termintext nicht zwischen Groß- und Kleinschreibung unterschieden wird. SieheTermin Option `--filter-text=Suchmuster`.
`--revert-match`
  Bewirkt die Ausgabe aller derjenigen Termine, deren vollständig expandierter Termintext nicht mit dem Suchmuster der `--filter-text=Suchmuster` Option übereinstimmt.
  SieheTermin Option `--filter-text=Suchmuster`.
`-c|C[-]`
`--today`
`--list-of-fixed-dates[=short|long]`
`--descending-fixed-dates[=short|long]`
  Aktivierung der Terminfunktion und Ausgabe von Terminen.
  `-c`
  `--today`
  `--list-of-fixed-dates=short`
    Aktivierung der Terminfunktion (implizite Benutzung der Standard-Ressourcendatei) und alle Daten in aufsteigender Reihenfolge ausgeben, die sich auf das aktuelle Systemdatum (==heute) beziehen. Wenn keine Daten zum heutigen Tag vorgefunden werden, so werden keine Termine ausgegeben und das Programm wird mit Fehlerkode abgebrochen. SieheFehlerkode 1.
  `-c-`
  `--descending-fixed-dates=short`
    Aktivierung der Terminfunktion (implizite Benutzung der Standard-Ressourcendatei) und alle Daten in absteigender Reihenfolge ausgeben, die sich auf das aktuelle Systemdatum (==heute) beziehen. Wenn keine Daten zum heutigen Tag vorgefunden werden, so werden keine Termine ausgegeben und das Programm wird mit Fehlerkode abgebrochen. SieheFehlerkode 1.
  `-C`
  `--list-of-fixed-dates=long`
    Aktivierung der Terminfunktion (implizite Benutzung der Standard-Ressourcendatei) und alle Daten in aufsteigender Reihenfolge ausgeben, die sich auf das aktuelle Systemdatum (==heute) beziehen. Wenn keine Daten zum heutigen Tag vorgefunden werden, so wird ein "leerer" Termin ausgegeben, der nur aus dem Datum besteht.
  `-C-`
  `--descending-fixed-dates=long`
    Aktivierung der Terminfunktion (implizite Benutzung der Standard-Ressourcendatei) und alle Daten in absteigender Reihenfolge ausgeben, die sich auf das aktuelle Systemdatum (==heute) beziehen. Wenn keine Daten zum heutigen Tag vorgefunden werden, so wird ein "leerer' Termin ausgegeben, der nur aus dem Datum besteht.
`-f|F Dateiname[+...]`
`--resource-file=Dateiname[+...]`
  Aktivierung der Terminfunktion und Dateiname anstelle der Standard-Ressourcendatei benutzen. Sodann alle Daten in aufsteigender Reihenfolge ausgeben, die in den Terminzeitraum fallen. Wurde kein besonderer Terminzeitraum angegeben, so wird das aktuelle Systemdatum (==heute) als Terminzeitraum angenommen. Wurde der Optionsbuchstabe `f` bei der Kurzoption benutzt und es werden keinerlei Daten in Dateiname vorgefunden, die in den Terminzeitraum fallen, so werden keine Termine ausgegeben und das Programm wird mit Fehlerkode abgebrochen. SieheFehlerkode 1. Wurde der Optionsbuchstabe `F` bei der Kurzoption benutzt und es werden keinerlei Daten in Dateiname vorgefunden, die in den Terminzeitraum fallen, so wird ein "leerer" Termin ausgegeben, der nur aus dem Datum besteht.

  Es kann mehr als eine Ressourcendatei Dateiname verwendet werden, wenn die zusätzlichen Ressourcendateien, durch ein `+` Zeichen verbunden, aufgeführt werden, z.B.:

  > `--resource-file=./foo+xyz+/data/bar+$HOME/.gcalrc` bzw.
  > `-f ./foo+xyz+/data/bar+$HOME/.gcalrc`

  berücksichtigt alle Dateien, die in dem vorstehenden Argument aufgeführt sind; dabei wird ein spezieller Suchmechanismus zum Auffinden der Dateien benutzt. SieheDatei-Suchmechanismus, für weitere Details. Wenn Dateiname auf `/dev/null` gesetzt ist, so wird daß Vorladen einer Standard-Ressourcendatei verhindert, was nützlich ist, wenn leere Terminlisten erzeugt werden sollen. Wird nur ein einzelnes `-` Zeichen als Dateiname angegeben, wie zum Beispiel `--resource-file=./foo+-+xyz` oder `-F-`, aber nicht `-F -`, so liest und verarbeitet Gcal alle Eingaben, die vom Standardeingabe-Gerätekanal kommen.

  Falls das `+` Zeichen als Zeichen selbst verwendet werden soll, so muß dieses durch ein führendes `\` (Backslash) Zeichen hinsichtlich seiner speziellen Bedeutung entwertet werden, z.B. `\+`. Wenn die Zeichen `\+` selbst als Zeichenfolge verwendet werden sollen, so muß das `\` (Backslash) Zeichen durch ein weiteres `\` (Backslash) Zeichen geschützt werden, z.B. `\\+`.

  Jedesmal wenn ein `_` (Unterstrich) Zeichen in Dateiname vorgefunden wird, so wird dieses Zeichen durch ein echtes `` (Leerzeichen) Zeichen ersetzt.

  Falls das `_` (Unterstrich) Zeichen als Zeichen selbst verwendet werden soll, so muß dieses durch ein führendes `\` (Backslash) Zeichen hinsichtlich seiner speziellen Bedeutung entwertet werden, z.B. `\_`. Wenn die Zeichen `\_` selbst als Zeichenfolge verwendet werden sollen, so muß das `\` (Backslash) Zeichen durch ein weiteres `\` (Backslash) Zeichen geschützt werden, z.B. `\\_`.

`-# Zeile`
`--here=Zeile`
  Aktivierung der Terminfunktion und das Zeile Argument zusammen mit der Standard-Ressourcendatei bzw. den zusätzlichen Ressourcendateien benutzen. Das Zeile Argument muß einer zulässigen Zeile entsprechen, wie sie in einer Gcal Ressourcendatei auftreten darf (sieheStruktur einer Ressourcendatei), und wird stets zuletzt nach der Verarbeitung aller Ressourcendateien ausgewertet, so daß Bezüge auf exportierte, lokale Datum- oder Textvariablen vorgenommen werden können. Diese Option darf mehrfach angegeben werden, und wird in genau der vorgefundenen Reihenfolge abgearbeitet. Es werden alle Daten in aufsteigender Reihenfolge ausgegeben, die in den Terminzeitraum fallen. Wurde kein besonderer Terminzeitraum angegeben, so wird das aktuelle Systemdatum (==heute) als Terminzeitraum angenommen. Werden keinerlei Daten in der Zeile vorgefunden, die in den Terminzeitraum fallen, so werden keine Termine ausgegeben und das Programm wird mit Fehlerkode abgebrochen. SieheFehlerkode 1.

  So bewirkt zum Beispiel der Aufruf:

      gcal -# "0*d1so#99so.7 ^%Z" --here="#include <foo>" -y

  die implizite Verarbeitung der Standard-Ressourcendatei, bevor die weitere Ressourcendateizeile `0*d1so#99so.7 ^%Z` und danach `#include <foo>` verarbeitet werden, und zwar so, als wären diese Texte ein physischer Bestandteil der Standard-Ressourcendatei.

  Jedesmal wenn ein `_` (Unterstrich) Zeichen in Zeile vorgefunden wird, so wird dieses Zeichen durch ein echtes `` (Leerzeichen) Zeichen ersetzt.

  Falls das `_` (Unterstrich) Zeichen als Zeichen selbst verwendet werden soll, so muß dieses durch ein führendes `\` (Backslash) Zeichen hinsichtlich seiner speziellen Bedeutung entwertet werden, z.B. `\_`. Wenn die Zeichen `\_` selbst als Zeichenfolge verwendet werden sollen, so muß das `\` (Backslash) Zeichen durch ein weiteres `\` (Backslash) Zeichen geschützt werden, z.B. `\\_`.

Bitte beachten:
Wenn die Kurzoption `-c` und/oder ihre Modifizierer `t|[w|m|y[+|-]` bzw. die Kurzoption `-f` in Großbuchstaben angegeben werden, z.B.:

    -C
    -F foo.bar
    -CeT
    -c-aW+
    -CeaxY-
    -c-M

so gibt Gcal für jeden Tag der verlangten Periode Termine aus.

Die Modifizierer einer kombinierten/komplexen/gepackten Kurzoption zur Ausgabe von Terminen müssen entsprechend der hier vorgegebenen Stufungsreihenfolge zusammengesetzt werden, da Gcal diese als positionale Parameter behandelt:

> Erste Stufe: Repräsentation-des-Textes
>   `a`, `A`, `e|E`, `J`, `k`, `o`, `Q`, `U`, `x`, `z`, `Z`
> Zweite Stufe: Setzung-der-zu-berücksichtigenden-Periode
>   `d`, `l`, `t|T`, `w|W|m|M|y|Y[+|-]`, `n+|-`, `nd`, `nw`, `*dn[www]`, `*wn[www]`, `@e|t|dvar[[+|-]n]`, `@e|t|dvar[+|-]nwww`, `mmtt`, `mmwwwn`

Wenn mit den vorstehenden Modifizierern gearbeitet werden soll, so müssen diese entweder durch eine explizite `-c|C[-]` Kurzoption angeführt werden, z.B.:

    -c-t
    -cw-
    -CZdekloQUzJaxA12+

und es darf nur ein zeitraumdefinierender Terminzeitraum-Modifizierer angegeben werden30.

Oder die Modifizierer müssen als Einzelzeichenoption, oder zusammengefaßt zu einem einzelnen Kommandozeilenwort, angegeben werden, und es muß zudem entweder die Kurzoption `-c|C[-]`, `-f|F Dateiname[+...]` oder `-# Zeile`31 beim Aufruf von Gcal angegeben werden, z.B.:

    -c- -t
    -w- -c
    -a -Ad -e -kloQUxz -C12+
    -F foo.bar -dJZA -l*d10
    --here="; Kommentar" -dZAa

Werden die Modifizierer als Einzelzeichenoption oder zu einem einzelnen Kommandozeilenwort zusammengefaßt angegeben, und dabei einer der `t|T|[w|W|m|M|y|Y[+|-]]` Modifizierer benutzt32, so ist die Angabe einer `-c|C[-]` bzw. `-f|F Dateiname[+...]` Kurzoption33 nicht notwendig, um die Terminfunktion von Gcal zu aktivieren, da die Terminfunktion durch diese Modifizierer bzw. Aliasnamen implizit ausgelöst wird.

SieheKodierschema, wo Tabellen aufgeführt sind, aus denen ersehen werden kann, welche Terminargumente mit welchem Datumteil einer Zeile der Ressourcendatei korrespondieren, d.h. bei Anwahl eines Terminarguments berücksichtigt werden; da Gcal eben nicht alle vorhandenen Einträge in einer Ressourcendatei berücksichtigt, sondern nur solche, die in einem bestimmten Verhältnis zum Terminargument stehen, und somit die Ausgabe überflüssiger Informationen verhindert wird.

Termintext-Modifizierer und Optionen:

`--biorhythm-axis=Anzahl`
  Die Breite der Biorhythmus-Textgrafik --die durch einen Biorhythmus-Textgrafik `%;[Datum]` Spezialtext erzeugt werden kann-- wird auf die im Anzahl Argument angegebene Zahl von Zeichen für jede Achse des Balkens geändert. Das Anzahl Argument muß eine Ganzzahl zwischen 1...100 sein, die interne Grundeinstellung beträgt 20 Zeichen. Wenn das Divisionsergebnis von 100 durch Anzahl einen Divisionsrest ergibt, so wird Anzahl intern auf die nächstkleinere Zahl reduziert, welche die Zahl 100 ohne Divisionsrest teilt. Das bedeutet, daß nur die Zahlen 1, 2, 4, 5, 10, 20, 25, 50 und 100 tatsächlich berücksichtigt werden, so daß ein Anzahl Argument von 19 intern auf 10 reduziert wird.

  Zum Beispiel:

      $ cat bio.rc
      -| 0*d1#999 %;19620921
      $ gcal -fbio.rc %19961212 -s0 -xw --biorhythm-axis=19
      -|
      -| Do, <12>Dez 1996: 0- G       P1 E        +0
      -| Fr,  13 Dez 1996: 0-  G   P   1          +0
      -| Sa,  14 Dez 1996: 0-    @   E 0          +0
      -| So,  15 Dez 1996: 0-  P  GE   0          +0
      -| Mo,  16 Dez 1996: 0- P  E  G  0          +0
      -| Di,  17 Dez 1996: 1-P  E     G0          +0
      -| Mi,  18 Dez 1996: 0- @        1          +0

  SieheBiorhythmus `%?[Datum]` Spezialtexte, für weitere Details.

`--moonimage-lines=Anzahl`
  Die Höhe der Mondphasen-Textgrafik --die durch einen Mondphasen-Textgrafik `%Z[Datum]` Spezialtext erzeugt werden kann-- wird auf die im Anzahl Argument angegebene Zahl von Zeilen geändert. Das Anzahl Argument muß eine Ganzzahl zwischen 6...30 sein, die interne Grundeinstellung beträgt 12 Zeilen.

  Zum Beispiel:

      $ gcal -f/dev/null -#0*d1#999_%Z__%O %19950407 -x --moon=8
      -|
      -| Fr, < 7>Apr 1995:          (    @@@@@
      -|                       (           @@@@@@@@
      -|                    (              @@@@@@@@@@@
      -|                   (               @@@@@@@@@@@@
      -|                   (               @@@@@@@@@@@@
      -|                    (              @@@@@@@@@@@
      -|                     (             @@@@@@@@@@
      -|                         (        @@@@@@@ 42%+

  SieheMondphase `%[Format]?[Datum]` Spezialtexte, für weitere Details.

`a`
`--include-resource-file-name`
  Den Termintext mit dem Namen der verwendeten Ressourcendatei und der Zeilennummer des Termins ausstatten, z.B.:

      Mo,   1 Jan 1995: (`Ewige Feiertagsliste'#00003) Neujahr
      Mo,   1 Jan 1995: (.gcalrc#00987) Keine weiteren Termine
      ...

`A`
`--alternative-format`
  Anstelle der Ausgabe im Standard Listenformat, z.B.:

      Mo,   1 Jan 1995: Neujahr
      Mo,   1 Jan 1995: Keine weiteren Termine
      ...

  benutzt Gcal das Alternative Listenformat, z.B.:

      Mo,   1 Jan 1995:
      Neujahr
      Keine weiteren Termine
      ...

`e`
`--include-holidays=long`
  Alle Daten aus der ewigen Feiertagsliste in die Terminliste einstreuen, d.h. gesetzliche Feiertage und Gedenktage.
`E`
`--include-holidays=short`
  Nur diejenigen Daten aus der ewigen Feiertagsliste in die Terminliste einstreuen, die gesetzliche Feiertage sind.
`g[Text]`
`--grouping-text[=Text]`
  Die Termine tageweise mittels des Separators Text gruppieren. Wenn kein Text angegeben ist, so wird der eingebaute Text34 zum Gruppieren verwendet, z.B.:

      $ gcal -Cw -cg
      -|
      -| So,   6 Nov 1994: Text 1
      -| So,   6 Nov 1994: Text 2
      -|
      -| Mo,   7 Nov 1994: Text 3
      -|
      -| Di,   8 Nov 1994: Text 4
      ...

      $ gcal -Cw -g'-Ein_vom\_Benutzer-~-definierter Text-'
      -|
      -| So,   6 Nov 1994: Text 1
      -| So,   6 Nov 1994: Text 2
      -| -Ein vom_Benutzer-
      -| -definierter Text-
      -| Mo,   7 Nov 1994: Text 3
      -| -Ein vom_Benutzer-
      -| -definierter Text-
      -| Di,   8 Nov 1994: Text 4
      ...

  Jedesmal wenn ein `~` (Tilde) Zeichen in Text vorgefunden wird, so wird dieses Zeichen durch ein echtes `\n` (Newline) Zeichen ersetzt.

  Falls das `~` (Tilde) Zeichen als Zeichen selbst verwendet werden soll, so muß dieses durch ein führendes `\` (Backslash) Zeichen hinsichtlich seiner speziellen Bedeutung entwertet werden, z.B. `\~`. Wenn die Zeichen `\~` selbst als Zeichenfolge verwendet werden sollen, so muß das `\` (Backslash) Zeichen durch ein weiteres `\` (Backslash) Zeichen geschützt werden, z.B. `\\~`.

  Jedesmal wenn ein `_` (Unterstrich) Zeichen in Text vorgefunden wird, so wird dieses Zeichen durch ein echtes `` (Leerzeichen) Zeichen ersetzt.

  Falls das `_` (Unterstrich) Zeichen als Zeichen selbst verwendet werden soll, so muß dieses durch ein führendes `\` (Backslash) Zeichen hinsichtlich seiner speziellen Bedeutung entwertet werden, z.B. `\_`. Wenn die Zeichen `\_` selbst als Zeichenfolge verwendet werden sollen, so muß das `\` (Backslash) Zeichen durch ein weiteres `\` (Backslash) Zeichen geschützt werden, z.B. `\\_`.

`k`
`--include-week-number`
  Das eine jede Einzelzeile anführende Datum in einer Terminliste wird entweder mit einer ISO-Wochennummer oder Standard-Wochennummer versehen. SieheKalender Option `--starting-day=Argument`, Kalender Option `--iso-week-number=yes|no`, und Gesichtspunkte zur Internationalisierung, für weitere Details.
`o`
`--omit-multiple-date-part`
  Vermeidet die Mehrfachausgabe von einem jede Einzelzeile anführendem Datum in der Terminliste, falls sich weitere Termine auf dieses Datum beziehen35, z.B.:

      $ gcal -co
      -|
      -| So,   6 Nov 1994: Text 1
      -|                   Text 2
      ...

`Q`
`--suppress-fixed-dates-list-separator`
  Die Ausgabe der Leerzeile, welche eine Terminliste stets anführt, unterdrücken. Um Gcal zum Beispiel zu veranlassen, nur die Anzahl der Tage vom 1'ten Januar 1970 bis zum 1'ten Januar 1980 als alleinige Ausgabe zu erzeugen, kann das Programm wie folgt aufgerufen werden:

      $ gcal -f /dev/null -QUx %19800101 -#0_%j-2440588
      -| 3652

`U`
`--suppress-date-part`
  Unterdrückt die Ausgabe von einem jede Einzelzeile anführendem Datum in der Terminliste, z.B.:

      $ gcal -cU
      -|
      -| Text 1
      -| Text 2
      ...

`J`
`--suppress-text-part`
  Unterdrückt die Ausgabe aller Textteile in der Terminliste, z.B.:

      $ gcal -cJ
      -|
      -| So,   6 Nov 1994:
      -| So,   6 Nov 1994:
      ...

`x`
`--exclude-fixed-dates-list-title`
  Die Ausgabe der Überschrift in der Terminliste unterdrücken.
`z`
`--include-consecutive-number`
  Die laufende Postennummer des Termins ausgeben.
`Z`
`--zero-dates-only`
  Nur die Daten ausgeben, zu denen keine Termine vorliegen, d.h. nur die aus dem Datum bestehenden "leeren" Termine.

Terminzeitraum-Modifizierer und Optionen:

`--leap-day=february|march`
  Den Schalttag36 auch in Nichtschaltjahren berücksichtigen.
  `--leap-day=february`
    Ein Termin, der in jedem Jahr gelten soll und der sich auf den Schalttag bezieht, wird in Nichtschaltjahren am 28'ten Februar ausgegeben.
  `--leap-day=march`
    Ein Termin, der in jedem Jahr gelten soll und der sich auf den Schalttag bezieht, wird in Nichtschaltjahren am 1'ten März ausgegeben.
`d`
`--include-today`
  Wenn eine Datumliste erzeugt wird, so wird das aktuelle Datum in dieser Liste mit eingeschlossen. SieheTermin Option `--list-mode`, wie eine Datumliste erzeugt wird.
`l`
`--list-mode`
  Erzeugen einer Datumliste anstelle eines Einzeldatum.

> Bitte beachten:
> In den folgenden Beispielen wird angenommen, daß das aktuelle Systemdatum der 17'te Februar eines beliebigen Jahres (00000217) ist, Wochen Montags anfangen, und ISO-Wochennummern verwendet werden!

`--period-of-fixed-dates=Argument`
`nd`
`*dn`
  Alle Daten zum absoluten Tag n == `1...365|366|999` im aktuellen Jahr ausgeben; das Niveau ist wie bei der einfachen `-c` Option. Wenn für n der Wert 999 angegeben ist, so wird der letzte Tag im Jahr (31'ter Dezember) angenommen.
  - Z.B. `gcal -c10d` bzw. `gcal --period-of-fixed-dates=10d` oder `gcal -c*d10` bzw. `gcal --period-of-fixed-dates=*d10` gibt die Termine aus, die am 10'ten Tag des Jahres stattfinden.
`lnd`
`l*dn`
  Liste von Daten, in Abhängigkeit des Wertes von n gestern oder morgen beginnend, und endend am n'ten absoluten Tag des aktuellen Jahres; das Niveau ist wie bei der `-cy` Option.
  - Z.B. `gcal -cl10d` bzw. `gcal -cl*d10` gibt eine Liste aller derjenigen Termine aus, die am 10'ten Tag des Jahres beginnen und am 16'ten Februar enden.
`n+|-`
  Alle Daten zum Tag heute `+/-` n Tage im aktuellen Jahr ausgeben; das Niveau ist wie bei der einfachen `-c` Option.
  - Z.B. `gcal -c10+` gibt die Termine aus, die 10 Tage nach dem 17'ten Februar (heute) stattfinden.
  - Z.B. `gcal -c10-` gibt die Termine aus, die 10 Tage vor dem 17'ten Februar (heute) stattfinden.
`ln+|-`
  Liste von Daten, gestern `-` oder morgen `+` beginnend, und endend am Tag heute `+/-` n Tage im aktuellen Jahr ausgeben; das Niveau ist wie bei der `-cy` Option.
  - Z.B. `gcal -cl10+` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und 10 Tage danach enden.
  - Z.B. `gcal -cl10-` gibt eine Liste aller derjenigen Termine aus, die 10 Tage vor dem 16'ten Februar beginnen und am 16'ten Februar enden.
`nw`
  Alle Daten zur Woche Nummer n == `0|1...52|53|99` des aktuellen Jahres ausgeben; das Niveau ist wie bei der `-cw` Option. SieheKalender Option `--starting-day=Argument`, Kalender Option `--iso-week-number=yes|no`, und Gesichtspunkte zur Internationalisierung, für weitere Details.
  - Z.B. `gcal -c0w` gibt alle diejenigen Termine aus, die falls das Vorjahr eine 53'te Kalenderwoche hat, in der 53'ten Kalenderwoche des Vorjahres liegen oder falls das Vorjahr keine 53'te Kalenderwoche hat, in der 1'ten Kalenderwoche des aktuellen Jahres liegen.
  - Z.B. `gcal -c6w` gibt alle diejenigen Termine aus, die in der 6'ten Kalenderwoche liegen.
  - Z.B. `gcal -c52w` gibt alle diejenigen Termine aus, die in der 52'ten Kalenderwoche liegen.
  - Z.B. `gcal -c53w` gibt alle diejenigen Termine aus, die in der 53'ten Kalenderwoche liegen, falls das Jahr eine 53'te Kalenderwoche hat. Wenn das Jahr keine 53'te Kalenderwoche hat, so werden keine Termine ausgegeben und das Programm wird mit Fehlerkode abgebrochen. SieheFehlerkode 126.
  - Z.B. `gcal -c99w` gibt alle diejenigen Termine aus, die in der letzten Kalenderwoche liegen, d.h. entweder die 52'te oder die 53'te Kalenderwoche.
`lnw`
  Liste von Daten, in Abhängigkeit der gegebenen Wochennummer n == `0|1...52|53|99` gestern oder morgen beginnend und endend am ersten bzw. letzten Tag der gegebenen Woche n des aktuellen Jahres ausgeben; das Niveau ist wie bei der `-cy` Option. SieheKalender Option `--starting-day=Argument`, Kalender Option `--iso-week-number=yes|no`, und Gesichtspunkte zur Internationalisierung, für weitere Details.
  - Z.B. `gcal -cl12w` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und bis zum Ende der 12'ten Kalenderwoche reichen.
  - Z.B. `gcal -cl3w` gibt eine Liste aller derjenigen Termine aus, die am Anfang der 3'ten Kalenderwoche beginnen und 16'ten Februar enden.
`mmtt`
  Alle Daten zum Tag tt im Monat mm des aktuellen Jahres ausgeben; das Niveau ist wie bei der einfachen `-c` Option.
  - Z.B. `gcal -c0225` gibt die Termine aus, die am 25'ten Februar stattfinden.
`lmmtt`
  Liste von Daten, in Abhängigkeit des Wertes mmtt gestern bzw. morgen beginnend, und endend am Tag tt im Monat mm des aktuellen Jahres, ausgeben; das Niveau ist wie bei der `-cy` Option.
  - Z.B. `gcal -cl0225` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und am 25'ten Februar enden.
  - Z.B. `gcal -cl0109` gibt eine Liste aller derjenigen Termine aus, die am 9'ten Januar beginnen und am 16'ten Februar enden.
`mmwwwn`
  Alle Daten zum n'ten == `1...5|9` Wochentag www im Monat mm des aktuellen Jahres ausgeben; das Niveau ist wie bei der einfachen `-c` Option.
  - Z.B. `gcal -c01mon3` gibt die Termine aus, die am dritten Montag im Januar stattfinden.
  - Z.B. `gcal -c02fr9` gibt die Termine aus, die am letzten Freitag im Februar stattfinden.
`lmmwwwn`
  Liste von Daten, in Abhängigkeit des Wertes in mmwwwn gestern bzw. morgen beginnend, und endend am n'ten == `1...5|9` Wochentag www im Monat mm des aktuellen Jahres ausgeben; das Niveau ist wie bei der `-cy` Option.
  - Z.B. `gcal -cl01mon3` gibt eine Liste aller derjenigen Termine aus, die am dritten Montag im Januar beginnen und am 16'ten Februar enden.
  - Z.B. `gcal -cl02fr9` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und am letzten Freitag im Februar enden.
`*dnwww`
  Alle Daten zum n'ten == `1...51|52|53|99` Wochentag www des aktuellen Jahres ausgeben; das Niveau ist wie bei der einfachen `-c` Option.
  - Z.B. `gcal -c*d16son` gibt alle diejenigen Termine aus, die auf den 16'ten Sonntag des Jahres fallen.
  - Z.B. `gcal -c*d52son` gibt alle diejenigen Termine aus, die auf den 52'ten Sonntag des Jahres fallen. Wenn das Jahr keinen 52'ten Sonntag hat, so werden keine Termine ausgegeben und das Programm wird mit Fehlerkode abgebrochen. SieheFehlerkode 126.
  - Z.B. `gcal -c*d53son` gibt alle diejenigen Termine aus, die auf den 53'ten Sonntag des Jahres fallen. Wenn das Jahr keinen 53'ten Sonntag hat, so werden keine Termine ausgegeben und das Programm wird mit Fehlerkode abgebrochen. SieheFehlerkode 126.
  - Z.B. `gcal -c*d99son` gibt alle diejenigen Termine aus, die auf den letzten Sonntag37 des Jahres fallen.
`l*dnwww`
  Liste von Daten, in Abhängigkeit des Wertes n gestern oder morgen beginnend, und endend am n'ten == `1...51|52|53|99` Wochentag www des aktuellen Jahres ausgeben; das Niveau ist wie bei der `-cy` Option.
  - Z.B. `gcal -cl*d16son` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und am 16'ten Sonntag des Jahres enden.
  - Z.B. `gcal -cl*d52son` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und am 52'ten Sonntag des Jahres enden. Wenn das Jahr keinen 52'ten Sonntag hat, so werden keine Termine ausgegeben und das Programm wird mit Fehlerkode abgebrochen. SieheFehlerkode 126.
  - Z.B. `gcal -cl*d53son` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und am 53'ten Sonntag des Jahres enden. Wenn das Jahr keinen 53'ten Sonntag hat, so werden keine Termine ausgegeben und das Programm wird mit Fehlerkode abgebrochen. SieheFehlerkode 126.
  - Z.B. `gcal -cl*d99son` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und am letzten Sonntag38 des Jahres enden.
`*wn[www]`
  Alle Daten zum Wochentag www der n'ten == `0|1...52|53|99` Kalenderwoche des aktuellen Jahres ausgeben; das Niveau ist wie bei der einfachen `-c` Option. Wenn kein Wochentag www angegeben ist, so wird Starttag der Woche als Wochentag www angenommen. SieheKalender Option `--starting-day=Argument`, Kalender Option `--iso-week-number=yes|no`, und Gesichtspunkte zur Internationalisierung, für weitere Details.
  - Z.B. `gcal -c*w0son` gibt alle diejenigen Termine aus, die falls das Jahr einen Sonntag hat, der in der 52'ten bzw. 53'ten Kalenderwoche des Vorjahres liegt, auf diesen Sonntag fallen. Wenn ein solcher Sonntag nicht existiert, so werden keine Termine ausgegeben und das Programm wird mit Fehlerkode abgebrochen. SieheFehlerkode 126.
  - Z.B. `gcal -c*w16son` gibt alle diejenigen Termine aus, die auf den Sonntag der 16'ten Kalenderwoche des Jahres fallen.
  - Z.B. `gcal -c*w52son` gibt alle diejenigen Termine aus, die auf den Sonntag der 52'ten Kalenderwoche des Jahres fallen. Wenn das Jahr keinen Sonntag der 52'ten Kalenderwoche hat, so werden keine Termine ausgegeben und das Programm wird mit Fehlerkode abgebrochen. SieheFehlerkode 126.
  - Z.B. `gcal -c*w53son` gibt alle diejenigen Termine aus, die auf den Sonntag der 53'ten Kalenderwoche des Jahres fallen. Wenn das Jahr keinen Sonntag der 53'ten Kalenderwoche hat, so werden keine Termine ausgegeben und das Programm wird mit Fehlerkode abgebrochen. SieheFehlerkode 126.
  - Z.B. `gcal -c*w99son` gibt alle diejenigen Termine aus, die auf den letzten Sonntag39 des Jahres fallen.
`l*wn[www]`
  Liste von Daten, in Abhängigkeit des Wertes n gestern oder morgen beginnend, und endend am Wochentag www der n'ten == `0|1...51|52|53|99` Kalenderwoche des aktuellen Jahres ausgeben; das Niveau ist wie bei der `-cy` Option. Wenn kein Wochentag www angegeben ist, so wird der Starttag der Woche als Wochentag www angenommen. SieheKalender Option `--starting-day=Argument`, Kalender Option `--iso-week-number=yes|no`, und Gesichtspunkte zur Internationalisierung, für weitere Details.
  - Z.B. `gcal -cl*w0son` gibt eine Liste aller derjenigen Termine aus, die falls das Jahr einen Sonntag hat, der in der 52'ten bzw. 53'ten Kalenderwoche des Vorjahres liegt, an diesem Sonntag beginnen und am 16'ten Februar enden. Wenn ein solcher Sonntag nicht existiert, so werden keine Termine ausgegeben und das Programm wird mit Fehlerkode abgebrochen. SieheFehlerkode 126.
  - Z.B. `gcal -cl*w16son` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und am Sonntag der 16'ten Kalenderwoche des Jahres enden.
  - Z.B. `gcal -cl*w52son` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und am Sonntag der 52'ten Kalenderwoche des Jahres enden. Wenn das Jahr keinen Sonntag der 52'ten Kalenderwoche hat, so werden keine Termine ausgegeben und das Programm wird mit Fehlerkode abgebrochen. SieheFehlerkode 126.
  - Z.B. `gcal -cl*w53son` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und am Sonntag der 53'ten Kalenderwoche des Jahres enden. Wenn das Jahr keinen Sonntag der 53'ten Kalenderwoche hat, so werden keine Termine ausgegeben und das Programm wird mit Fehlerkode abgebrochen. SieheFehlerkode 126.
  - Z.B. `gcal -cl*w99son` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und am letzten Sonntag40 des Jahres enden.
`@e[[+|-]n]`
  Alle Daten zum n'ten Tag relativ zum Datum Ostersonntag des aktuellen Jahres ausgeben; das Niveau ist wie bei der einfachen `-c` Option.
  - Z.B. `gcal -c@e` gibt die Termine aus, die am Ostersonntag stattfinden.
  - Z.B. `gcal -c@e10` bzw. `gcal -c@e+10` gibt die Termine aus, die 10 Tage nach Ostersonntag stattfinden.
  - Z.B. `gcal -c@e-10` gibt die Termine aus, die 10 Tage vor Ostersonntag stattfinden.
`l@e[[+|-]n]`
  Liste von Daten, in Abhängigkeit des Wertes n gestern oder morgen beginnend, und endend am n'ten Tag relativ zum Datum Ostersonntag des aktuellen Jahres ausgeben; das Niveau ist wie bei der `-cy` Option.
  - Z.B. `gcal -cl@e` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und am Ostersonntag enden.
  - Z.B. `gcal -cl@e10` bzw. `gcal -cl@e+10` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und 10 Tage nach Ostersonntag enden.
  - Z.B. `gcal -cl@e-10` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und 10 Tage vor Ostersonntag enden.
`@e[+|-]nwww`
  Alle Daten zum n'ten Wochentag www relativ zum Datum Ostersonntag des aktuellen Jahres ausgeben; das Niveau ist wie bei der einfachen `-c` Option.
  - Z.B. `gcal -c@e3fr` bzw. `gcal -c@e+3fr` gibt die Termine aus, die am 3'ten Freitag nach Ostersonntag stattfinden.
  - Z.B. `gcal -c@e-3fr` gibt die Termine aus, die am 3'ten Freitag vor Ostersonntag stattfinden.
`l@e[+|-]nwww`
  Liste von Daten, in Abhängigkeit des Wertes n gestern oder morgen beginnend, und endend am n'ten Wochentag www relativ zum Datum Ostersonntag des aktuellen Jahres ausgeben; das Niveau ist wie bei der `-cy` Option.
  - Z.B. `gcal -cl@e3fr` bzw. `gcal -cl@e+3fr` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und am 3'ten Freitag nach Ostersonntag enden.
  - Z.B. `gcal -cl@e-3fr` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und am 3'ten Freitag vor Ostersonntag enden.
`@t[[+|-]n]`
  Alle Daten zum n'ten Tag relativ zum heutigen Datum des aktuellen Jahres ausgeben; das Niveau ist wie bei der einfachen `-c` Option.
  - Z.B. `gcal -c@t` gibt die Termine aus, die am heutigen Datum stattfinden (== `gcal -c`).
  - Z.B. `gcal -c@t10` bzw. `gcal -c@t+10` gibt die Termine aus, die 10 Tage nach dem heutigen Datum stattfinden (== `gcal -c10+`).
  - Z.B. `gcal -c@t-10` gibt die Termine aus, die 10 Tage vor dem heutigen Datum stattfinden (== `gcal -c10-`).
`l@t[[+|-]n]`
  Liste von Daten, in Abhängigkeit des Wertes n gestern oder morgen beginnend, und endend am n'ten Tag relativ zum heutigen Datum des aktuellen Jahres ausgeben; das Niveau ist wie bei der `-cy` Option.
  - Z.B. `gcal -cl@t` bewirkt nichts.
  - Z.B. `gcal -cl@t10` bzw. `gcal -cl@t+10` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und 10 Tage nach dem heutigen Datum enden (== `gcal -cl10+`).
  - Z.B. `gcal -cl@t-10` gibt eine Liste aller derjenigen Termine aus, die am 16'ten Februar beginnen und 10 Tage vor dem heutigen Datum enden (== `gcal -cl10-`).
`@t[+|-]nwww`
  Alle Daten zum n'ten Wochentag www relativ zum heutigen Datum des aktuellen Jahres ausgeben; das Niveau ist wie bei der einfachen `-c` Option.
  - Z.B. `gcal -c@t3fr` bzw. `gcal -c@t+3fr` gibt die Termine aus, die am 3'ten Freitag nach dem heutigen Datum stattfinden.
  - Z.B. `gcal -c@t-3fr` gibt die Termine aus, die am 3'ten Freitag vor dem heutigen Datum stattfinden.
`l@t[+|-]nwww`
  Liste von Daten, in Abhängigkeit des Wertes n gestern oder morgen beginnend, und endend am n'ten Wochentag www relativ zum heutigen Datum des aktuellen Jahres ausgeben; das Niveau ist wie bei der `-cy` Option.
  - Z.B. `gcal -cl@t3fr` bzw. `gcal -cl@t+3fr` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und am 3'ten Freitag nach dem heutigen Datum enden.
  - Z.B. `gcal -cl@t-3fr` gibt eine Liste aller derjenigen Termine aus, die am 16'ten Februar beginnen und am 3'ten Freitag vor dem heutigen Datum enden.
`@dvar[[+|-]n]`
  Alle Daten zum n'ten Tag relativ zum Datum der Datumvariablen des aktuellen Jahres ausgeben; das Niveau ist wie bei der einfachen `-c` Option.
  - Z.B. `gcal -v a=0422 -c@a` gibt die Termine aus, die am 22'ten April stattfinden.
  - Z.B. `gcal -v a=0422 -c@a10` bzw. `gcal -v a=0422 -c@a+10` gibt die Termine aus, die 10 Tage nach dem 22'ten April stattfinden.
  - Z.B. `gcal -v a=0422 -c@a-10` gibt die Termine aus, die 10 Tage vor dem 22'ten April stattfinden.
`l@dvar[[+|-]n]`
  Liste von Daten, in Abhängigkeit des Wertes n gestern oder morgen beginnend, und endend am n'ten Tag relativ zum Datum der Datumvariablen des aktuellen Jahres ausgeben; das Niveau ist wie bei der `-cy` Option.
  - Z.B. `gcal -v a=0422 -cl@a` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und am 22'ten April enden.
  - Z.B. `gcal -v a=0422 -cl@a10` bzw. `gcal -v a=0422 -cl@a+10` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und 10 Tage nach dem 22'ten April enden.
  - Z.B. `gcal -v a=0422 -cl@a-10` gibt eine Liste aller derjenigen Termine aus, die am 18'ten Februar beginnen und 10 Tage vor dem 22'ten April enden.
`@dvar[+|-]nwww`
  Alle Daten zum n'ten Wochentag www relativ zum Datum der Datumvariablen des aktuellen Jahres ausgeben; das Niveau ist wie bei der einfachen `-c` Option.
  - Z.B. `gcal -v a=0122 -c@a2sa` bzw. `gcal -v a=0122 -c@a+2sa` gibt die Termine aus, die zwei Samstage nach dem 22'ten Januar stattfinden.
  - Z.B. `gcal -v a=0122 -c@a-2sa` gibt die Termine aus, die zwei Samstage vor dem 22'ten Januar stattfinden.
`l@dvar[+|-]nwww`
  Liste von Daten, in Abhängigkeit des Wertes n gestern oder morgen beginnend, und endend am n'ten Wochentag www relativ zum Datum der Datumvariablen des aktuellen Jahres ausgeben; das Niveau ist wie bei der `-cy` Option.
  - Z.B. `gcal -v a=0122 -cl@a2sa` bzw. `gcal -v a=0122 -cl@a+2sa` gibt eine Liste aller derjenigen Termine aus, die zwei Samstage nach dem 22'ten Januar beginnen und am 16'ten Februar enden.
  - Z.B. `gcal -v a=0122 -cl@a-2sa` gibt eine Liste aller derjenigen Termine aus, die zwei Samstage vor dem 22'ten Januar beginnen und am 16'ten Februar enden.
`t|T`
`--tomorrow` Langoption
  Liste von Daten ausgeben, die sich auf den morgigen Tag beziehen.
  - Z.B. `gcal -ct` gibt alle diejenigen Termine aus, die am 18'ten Februar (morgen) stattfinden.
  - Z.B. `gcal -cdt` gibt alle diejenigen Termine aus, die am 17'ten Februar (heute) und am 18'ten Februar (morgen) stattfinden.
`w|W[+|-]`
`--week` Langoption
`--end-of-week` Langoption
`--start-of-week` Langoption
  Liste von Daten ausgeben, die sich auf die Woche beziehen.
  SieheKalender Option `--starting-day=Argument`.
  - `w` oder `--week` Langoption
    Liste von Daten vom Starttag der aktuellen Woche bis zum letzten Tag der aktuellen Woche ausgeben.
    - Z.B. `gcal -cw` gibt alle diejenigen Termine aus, die in der gesamten Woche, in die der 17'te Februar fällt, stattfinden.
  - `w+` oder `--end-of-week` Langoption
    Liste von Daten vom Tag nach dem aktuellen Tag der aktuellen Woche bis zum letzten Tag der aktuellen Woche ausgeben.
    - Z.B. `gcal -cw+` gibt alle diejenigen Termine aus, die am 18'ten Februar (morgen) beginnen und am letzten Tag der Woche enden.
    - Z.B. `gcal -cdw+` gibt alle diejenigen Termine aus, die am 17'ten Februar (heute) beginnen und am letzten Tag der Woche enden.
  - `w-` oder `start-of-week` Langoption
    Liste von Daten vom Starttag der aktuellen Woche bis zum Tag vor dem aktuellen Tag der aktuellen Woche ausgeben.
    - Z.B. `gcal -cw-` gibt alle diejenigen Termine aus, die am ersten Tag der Woche beginnen und am 16'ten (gestern) Februar enden.
    - Z.B. `gcal -cdw-` gibt alle diejenigen Termine aus, die am ersten Tag der Woche beginnen und am 17'ten Februar (heute) enden.
`m|M[+|-]`
`--month` Langoption
`--end-of-month` Langoption
`--start-of-month` Langoption
  Liste von Daten ausgeben, die sich auf den Monat beziehen.
  - `m` oder `--month` Langoption
    Liste von Daten vom ersten Tag des aktuellen Monats bis zum letzten Tag des aktuellen Monats ausgeben.
    - Z.B. `gcal -cm` gibt alle diejenigen Termine aus, die im gesamten Monat Februar stattfinden.
  - `m+` oder `--end-of-month` Langoption
    Liste von Daten vom Tag nach dem aktuellen Tag des aktuellen Monats bis zum letzten Tag des aktuellen Monats ausgeben.
    - Z.B. `gcal -cm+` gibt alle diejenigen Termine aus, die am 18'ten Februar (morgen) beginnen und am letzten Tag des Monats Februar enden.
    - Z.B. `gcal -cdm+` gibt alle diejenigen Termine aus, die am 17'ten Februar (heute) beginnen und am letzten Tag des Monats Februar enden.
  - `m-` oder `--start-of-month` Langoption
    Liste von Daten vom ersten Tag des aktuellen Monats bis zum Tag vor dem aktuellen Tag des aktuellen Monats ausgeben.
    - Z.B. `gcal -cm-` gibt alle diejenigen Termine aus, die am ersten Tag des Monats Februar beginnen und am 16'ten Februar (gestern) enden.
    - Z.B. `gcal -cdm-` gibt alle diejenigen Termine aus, die am ersten Tag des Monats Februar beginnen und am 17'ten Februar (heute) enden.
`y|Y[+|-]`
`--year` Langoption
`--end-of-year` Langoption
`--start-of-year` Langoption
  Liste von Daten ausgeben, die sich auf das Jahr beziehen.
  - `y` oder `--year` Langoption
    Liste von Daten vom ersten Tag des aktuellen Jahres bis zum letzten Tag des aktuellen Jahres ausgeben.
    - Z.B. `gcal -cy` gibt alle diejenigen Termine aus, die im gesamten Jahr stattfinden.
  - `y+` oder `--end-of-year` Langoption
    Liste von Daten vom Tag nach dem aktuellen Tag des aktuellen Jahres bis zum letzten Tag des aktuellen Jahres ausgeben.
    - Z.B. `gcal -cy+` gibt alle diejenigen Termine aus, die am 18'ten Februar (morgen) beginnen und am letzten Tag des Jahres enden.
    - Z.B. `gcal -cdy+` gibt alle diejenigen Termine aus, die am 17'ten Februar (heute) beginnen und am letzten Tag des Jahres enden.
  - `y-` oder `--start-of-year` Langoption
    Liste von Daten vom ersten Tag des aktuellen Jahres bis zum Tag vor dem aktuellen Tag des aktuellen Jahres ausgeben.
    - Z.B. `gcal -cy-` gibt alle diejenigen Termine aus, die am ersten Tag des Jahres beginnen und am 16'ten Februar (gestern) enden.
    - Z.B. `gcal -cdy-` gibt alle diejenigen Termine aus, die am ersten Tag des Jahres beginnen und am 17'ten Februar (heute) enden.

Knoten:Antwortdatei, Nächster:Datummodifizierer, Vorheriger:Optionen, Aufwärts:Kommandozeilenargumente

### Antwortdatei

Wenn ein `@Datei` Kommandozeilenargument vorgefunden wird, so wird eine Antwortdatei namens Datei benutzt, d.h. Optionen und Kommandos werden aus dieser Datei vorgeladen. Eine Antwortdatei `@Datei` darf Optionen und Kommandos enthalten, aber keine Verweise auf weitere Antwortdateien. Werden solche Verweise auf weitere Antwortdateien vorgefunden, so werden diese ignoriert. SieheGlobale Option `--response-file=Dateiname`, für Hinweise, wie eine Antwortdatei automatisch erzeugt werden kann.

Das Suchschema für eine Antwortdatei ist gleich dem Suchschema für Ressourcendateien, mit der Ausnahme, daß keine Standard-Antwortdatei berücksichtigt wird. SieheDatei-Suchmechanismus, für weitere Details. Es dürfen mehrere Antwortdateien beim Aufruf von Gcal angegeben werden. Diese werden in genau der Reihenfolge abgearbeitet, in der sie in der Kommandozeile angegeben sind, also streng sequentiell.

Jede Option und jedes Kommando muß auf einer einzelnen Zeile angegeben sein, d.h. durch ein echtes `\n` (Newline) Zeichen getrennt werden. Eine Zeile der Antwortdatei, die mit einem `;` (Semikolon) Zeichen beginnt, ist ein Kommentar und wird von Gcal vollständig ignoriert (sieheZeile kommentieren).

Optionen müssen vor Kommandos definiert werden. Wenn eine Antwortdatei Kommandos enthält, so werden alle weiteren Argumente, die nach `@Datei` in der Kommandozeile angegeben sind, ignoriert.

Zum Beispiel:

1. Inhalt von Antwortdatei `Datei`:

       Zeile    Text
       1        -j
       2        -Cw
       EOF

       $ gcal -i -b 3 @Datei -s 3 1994

       ==> gcal -i -b 3 -j -Cw -s 3 1994

2. Inhalt von Antwortdatei `Datei`:

       Zeile    Text
       1        -j
       2        -Cw
       3        mai 1992
       EOF

       $ gcal -i -b 3 @Datei -s 3 1994

       ==> gcal -i -b 3 -j -Cw mai

3. Inhalt von Antwortdatei `Datei`:

       Zeile    Text
       1        -j
       2        -Cw
       3        mai
       4        1992
       EOF

       $ gcal -i -b 3 @Datei -s 3 1994

       ==> gcal -i -b 3 -j -Cw mai 1992

Knoten:Datummodifizierer, Nächster:Kommandos, Vorheriger:Antwortdatei, Aufwärts:Kommandozeilenargumente

### Datummodifizierer

Es ist möglich, dasjenige Datum anstelle dem aktuellen Systemdatum zu verwenden, welches mit dem `%Datum` Kommandozeilenargument definiert wurde. Das bedeutet, daß Termine für jedwedes Jahr geprüft werden können, und diese so berücksichtigt werden, als ob sie Termine wären, die sich rein auf das aktuelle Jahr beziehen.

Das Datum muß in einem dieser Formate angegeben werden:

- `jjjj[mm[tt|wwwn]]`
- `jjjj*d|wn[www]`
- `jjjj@e|t|dvar[[+|-]n[www]]`
- `Monatsname[tt]`
- `Wochentagsname[n]`
- tt

Hierzu einige Beispiele:

> Bitte beachten:
> In den folgenden Beispielen wird angenommen, daß das aktuelle Systemdatum Mittwoch, der 17'te Februar 1993 (19930217) ist, Wochen Montags anfangen, und ISO-Wochennummern verwendet werden!

Das `jjjj[mm[tt|wwwn]]` Format:
  - `gcal %1994` (== jjjj)
    Das aktuelle Datum wird auf den 17'ten Februar 1994 gesetzt => 19940217.
  - `gcal %1994Mär`
  - `gcal %19943`
  - `gcal %199403` (== jjjjmm)
    Das aktuelle Datum wird auf das Datum 17'ter März 1994 gesetzt => 19940317.
  - `gcal %1994Mär3`
  - `gcal %1994033`
  - `gcal %19940303` (== jjjjmmtt)
    Das aktuelle Datum wird auf das Datum 3'ter März 1994 gesetzt => 19940303.
  - `gcal %1994MärMit3`
  - `gcal %199403mi3` (== jjjjmmwwwn)
    Das aktuelle Datum wird auf das Datum 3'ter Mittwoch im März 1994 gesetzt (n == `1...5|9`) => 19940316.
  - `gcal %0`
  - `gcal %00`
  - `gcal %000`
  - `gcal %0000` (== jjjj)
    Das aktuelle Datum bleibt unverändert => 19930217.
  - `gcal %0000Mär`
  - `gcal %00003`
  - `gcal %000003` (== jjjjmm)
    Das aktuelle Datum wird auf das Datum 17'ter März 1993 gesetzt => 19930317.
  - `gcal %0000Mär3`
  - `gcal %0000033`
  - `gcal %00000303` (== jjjjmmtt)
    Das aktuelle Datum wird auf das Datum 3'ter März 1993 gesetzt => 19930303.
  - `gcal %0000MärMit3`
  - `gcal %000003mi3` (== jjjjmmwwwn)
    Das aktuelle Datum wird auf das Datum 3'ter Mittwoch im März 1993 gesetzt (n == `1...5|9`) => 19930317.
Das `jjjj*d|wn[www]` Format:
  - `gcal %1994*d10` (== `jjjj*dn`)
    Das aktuelle Datum wird auf das Datum des 10'ten absoluten Tages 1994 gesetzt (n == `1...365|366|999`) => 19940110.
  - `gcal %1994*d10son` (== `jjjj*dnwww`)
    Das aktuelle Datum wird auf das Datum des 10'ten Sonntags 1994 gesetzt (n == `1...51|52|53|99`) => 19940306.
  - `gcal %0*d10` (== `jjjj*dn`)
    Das aktuelle Datum wird auf das Datum des 10'ten absoluten Tages 1993 gesetzt => 19930110.
  - `gcal %0*d10son` (== `jjjj*dnwww`)
    Das aktuelle Datum wird auf das Datum des 10'ten Sonntags 1993 gesetzt => 19930307.
  - `gcal %1994*w10` (== `jjjj*wn`)
    Das aktuelle Datum wird auf das Datum des Montags der 10'ten Kalenderwoche 1994 gesetzt (n == `0|1...52|53|99`) => 19940307.
  - `gcal %1994*w10son` (== `jjjj*wnwww`)
    Das aktuelle Datum wird auf das Datum des Sonntags der 10'ten Kalenderwoche 1994 gesetzt => 19940313.
  - `gcal %0*w10` (== `jjjj*wn`)
    Das aktuelle Datum wird auf das Datum des Montags der 10'ten Kalenderwoche 1993 gesetzt => 19930308.
  - `gcal %0*w10son` (== `jjjj*wnwww`)
    Das aktuelle Datum wird auf das Datum des Sonntags der 10'ten Kalenderwoche 1993 gesetzt => 19930314.
Das `jjjj@e|t|dvar[[+|-]n[www]]` Format:
  - `gcal %1994@e` (== `jjjj@e`)
    Das aktuelle Datum wird auf das Datum des Ostersonntags 1994 gesetzt => 19940403.
  - `gcal %1994@e10`
  - `gcal %1994@e+10` (== `jjjj@e[+]n`)
    Das aktuelle Datum wird auf das Datum 10 Tage nach Ostersonntag 1994 gesetzt => 19940413.
  - `gcal %1994@e-10` (== `jjjj@e-n`)
    Das aktuelle Datum wird auf das Datum 10 Tage vor Ostersonntag 1994 gesetzt => 19940324.
  - `gcal %0@e`
  - `gcal %00@e`
  - `gcal %000@e`
  - `gcal %0000@e` (== `jjjj@e`)
    Das aktuelle Datum wird auf das Datum des Ostersonntags 1993 gesetzt => 19930411.
  - `gcal %0@e10`
  - `gcal %0@e+10` (== `jjjj@e[+]n`)
    Das aktuelle Datum wird auf das Datum 10 Tage nach Ostersonntag 1993 gesetzt => 19930421.
  - `gcal %0@e-10` (== `jjjj@e-n`)
    Das aktuelle Datum wird auf das Datum 10 Tage vor Ostersonntag 1993 gesetzt => 19930401.
  - `gcal %1994@e3Mi`
  - `gcal %1994@e+3Mi` (== `jjjj@e[+]nwww`)
    Das aktuelle Datum wird auf das Datum 3'ter Mittwoch nach Ostersonntag 1994 gesetzt => 19940420.
  - `gcal %1994@e-3mi` (== `jjjj@e-nwww`)
    Das aktuelle Datum wird auf das Datum 3'ter Mittwoch vor Ostersonntag 1994 gesetzt => 19940316.
  - `gcal %0@e3mi`
  - `gcal %0@e+3mi` (== `jjjj@e[+]nwww`)
    Das aktuelle Datum wird auf das Datum 3'ter Mittwoch nach Ostersonntag 1993 gesetzt => 19930428.
  - `gcal %0@e-3mi` (== `jjjj@e-nwww`)
    Das aktuelle Datum wird auf das Datum 3'ter Mittwoch vor Ostersonntag 1993 gesetzt => 19930324.
  - `gcal %1994@t` (== `jjjj@t`)
    Das aktuelle Datum wird auf das heutige Datum im Jahr 1994 gesetzt => 19940217.
  - `gcal %1994@t10`
  - `gcal %1994@t+10` (== `jjjj@t[+]n`)
    Das aktuelle Datum wird auf das Datum 10 Tage nach dem heutigen Datum im Jahr 1994 gesetzt => 19940227.
  - `gcal %1994@t-10` (== `jjjj@t-n`)
    Das aktuelle Datum wird auf das Datum 10 Tage vor dem heutigen Datum im Jahr 1994 gesetzt => 19940207.
  - `gcal %0@t`
  - `gcal %00@t`
  - `gcal %000@t`
  - `gcal %0000@t` (== `jjjj@t`)
    Das aktuelle Datum wird auf das heutige Datum gesetzt => 19930217.
  - `gcal %0@t10`
  - `gcal %0@t+10` (== `jjjj@t[+]n`)
    Das aktuelle Datum wird auf das Datum 10 Tage nach dem heutigen Datum gesetzt => 19930227.
  - `gcal %0@t-10` (== `jjjj@t-n`)
    Das aktuelle Datum wird auf das Datum 10 Tage vor dem heutigen Datum gesetzt => 19930207.
  - `gcal %1994@t3Mi`
  - `gcal %1994@t+3Mi` (== `jjjj@t[+]nwww`)
    Das aktuelle Datum wird auf das Datum 3'ter Mittwoch nach dem heutigen Datum im Jahr 1994 gesetzt => 19940309.
  - `gcal %1994@t-3mi` (== `jjjj@t-nwww`)
    Das aktuelle Datum wird auf das Datum 3'ter Mittwoch vor dem heutigen Datum im Jahr 1994 gesetzt => 19940302.
  - `gcal %0@t3mi`
  - `gcal %0@t+3mi` (== `jjjj@t[+]nwww`)
    Das aktuelle Datum wird auf das Datum 3'ter Mittwoch nach dem heutigen Datum gesetzt => 19930310.
  - `gcal %0@t-3mi` (== `jjjj@t-nwww`)
    Das aktuelle Datum wird auf das Datum 3'ter Mittwoch vor dem heutigen Datum gesetzt => 19930127.
  - `gcal -v a=0303 %1994@a` (== `jjjj@dvar`)
    Das aktuelle Datum wird auf das Datum 3'ter März 1994 gesetzt => 19940303.
  - `gcal -v a=0303 %1994@a10`
  - `gcal -v a=0303 %1994@a+10` (== `jjjj@dvar[+]n`)
    Das aktuelle Datum wird auf das Datum 10 Tage nach dem 3'ten März 1994 gesetzt => 19940313.
  - `gcal -v a=0303 %1994@a-10` (== `jjjj@dvar-n`)
    Das aktuelle Datum wird auf das Datum 10 Tage vor dem 3'ten März 1994 gesetzt => 19940221.
  - `gcal -v a=0303 %0@a` (== `jjjj@dvar`)
    Das aktuelle Datum wird auf das Datum 3'ter März 1993 gesetzt => 19930303.
  - `gcal -v a=0303 %0@a10`
  - `gcal -v a=0303 %0@a+10` (== `jjjj@dvar[+]n`)
    Das aktuelle Datum wird auf das Datum 10 Tage nach dem 3'ten März 1993 gesetzt => 19930313.
  - `gcal -v a=0303 %0@a-10` (== `jjjj@dvar-n`)
    Das aktuelle Datum wird auf das Datum 10 Tage vor dem 3'ten März 1993 gesetzt => 19930221.
  - `gcal -v a=0303 %1994@a3mi`
  - `gcal -v a=0303 %1994@a+3mi` (== `jjjj@dvar[+]nwww`)
    Das aktuelle Datum wird auf das Datum 3'ter Mittwoch nach dem 3'ten März 1994 gesetzt => 19940323.
  - `gcal -v a=0303 %1994@a-3mi` (== `jjjj@dvar-nwww`)
    Das aktuelle Datum wird auf das Datum 3'ter Mittwoch vor dem 3'ten März 1994 gesetzt => 19940216.
  - `gcal -v a=0303 %0@a3mi`
  - `gcal -v a=0303 %0@a+3mi` (== `jjjj@dvar[+]nwww`)
    Das aktuelle Datum wird auf das Datum 3'ter Mittwoch nach dem 3'ten März 1993 gesetzt => 19930324.
  - `gcal -v a=0303 %0@a-3mi` (== `jjjj@dvar-nwww`)
    Das aktuelle Datum wird auf das Datum 3'ter Mittwoch vor dem 3'ten März 1993 gesetzt => 19930210.
Das `Monatsname[tt]` Format:
  - `gcal %April` (== Monatsname)
    Das aktuelle Datum wird auf das Datum 17'ter April 1993 gesetzt => 19930417.
  - `gcal %april3`
  - `gcal %april03` (== Monatsname tt)
    Das aktuelle Datum wird auf das Datum 3'ter April 1993 gesetzt => 19930403.
Das `Wochentagsname[n]` Format:
  - `gcal %Freitag` (== Wochentagsname)
    Das aktuelle Datum wird auf das Datum des Freitags der laufenden Woche im Februar 1993 gesetzt => 19930219.
  - `gcal %Freitag2`
  - `gcal %Freitag02` (== Wochentagsname n)
    Das aktuelle Datum wird auf das Datum 2'ter Freitag im Februar 1993 gesetzt (n == `1...5|9`) => 19930212.
Das tt Format:
  - `gcal %3`
  - `gcal %03` (== tt)
    Das aktuelle Datum wird auf das Datum 3'ter Februar 1993 gesetzt => 19930203.

Knoten:Kommandos, Vorheriger:Datummodifizierer, Aufwärts:Kommandozeilenargumente

### Kommandos

- Einfache Kommandos: Wie ein Einfaches Kommando benutzt wird.
- 3-Monatsmodus Kommandos: Wie ein 3-Monatsmodus Kommando benutzt wird.
- Listen von Kommandos: Wie eine Liste von Kommandos benutzt wird.
- Bereiche von Kommandos: Wie ein Bereich von Kommandos benutzt wird.

Die Kommandos steuern die Zeiträume, die von Gcal berücksichtigt werden. Kommandos können in vier Hauptklassen eingeteilt werden, nämlich einzelne Kommandos, spezielle 3-Monatsmodus Kommandos, Listen von Kommandos und Bereiche von Kommandos. Einzelne und spezielle 3-Monatsmodus Kommandos erzeugen nur ein Kalenderblatt, Listen oder Bereiche von Kommandos erzeugen mehr als ein Kalenderblatt je Programmlauf. Wenn eine Liste von Kommandos gegeben ist, so arbeitet Gcal jedes einzelne Kommando dieser Liste sequentiell ab, eins nach dem anderen. Ein Bereich von Kommandos wird von Gcal zuerst in einzelne Kommandos expandiert, sodann arbeitet Gcal jedes einzelne Kommando, welches nach der internen Expansion erzeugt wurde, sequentiell ab.

Um die verwendete Notation im nachstehenden Text zu verstehen, bezeichnet mm entweder eine Zahl, einen Monatsnamen oder eines der speziellen 3-Monatsmodus Kommandos `.`, `..`, `.+` und `.-`. Es können weder Listen noch Bereiche von Monaten oder Jahren erzeugt werden, falls ein spezielles 3-Monatsmodus Kommando angegeben wurde.

Der Bereich von mm ist gültig von 1 bis 12 oder gültig von Januar bis Dezember. Beide Notationen dürfen gemischt verwendet werden. Monatsnamen dürfen bis auf ihre ersten drei Zeichen abgekürzt werden. jjjj ist eine Zahl. Der Bereich von jjjj ist gültig von 1 bis 9999. Ein Bereich (`mm-mm` oder `jjjj+jjjj` oder ...) besteht aus genau zwei Elementen. Eine Liste (`mm,...,mm` oder `jjjj;...;jjjj` oder ...) muß mindestens zwei Elemente enthalten, und darf unbegrenzt viele Elemente enthalten.

Hier ist eine Aufstellung aller benutzten Bereichs-, Listen- und sonstigen Kommandotrennzeichen:

- Das `-` Zeichen ist das Bereich von Monaten Trennzeichen.
- Das `,` Zeichen ist das Liste von Monaten Trennzeichen.
- Das `+` Zeichen ist das Bereich von Jahren Trennzeichen.
- Das `;` Zeichen ist das Liste von Jahren Trennzeichen.
- Das `/` Zeichen ist das Monat des Jahres Trennzeichen.
- Das `:` Zeichen ist das Fiskaljahr Trennzeichen.

Knoten:Einfache Kommandos, Nächster:3-Monatsmodus Kommandos, Vorheriger:Kommandos, Aufwärts:Kommandos

#### Einfache Kommandos

`KEINES`
  Aktueller Monat des aktuellen Jahres, wird im folgenden als Einzelmonatsmodus bezeichnet.
`Monatsname`
  Angegebener Monat des aktuellen Jahres, z.B.:

      gcal mai
      gcal OKTOBER
      gcal ja

`jjjj`
  Angegebenes Jahr, wird im folgenden auch als Einzeljahresmodus bezeichnet, z.B.:

      gcal 1992

  Aber es gibt eine Ausnahme von dieser generellen Regel. Wenn die angegebene Jahreszahl kleiner oder gleich zwölf ist, so nimmt Gcal an, daß ein angegebener Monat des aktuellen Jahres gewünscht ist. Wenn ein angegebenes Jahr kleiner oder gleich zwölf gewünscht wird, so sollte Gcal entweder so

      gcal 1:6

  oder so

      gcal 6+6

  aufgerufen werden, um beispielsweise das Jahr sechs nach Christus zu erhalten.

`mm jjjj`
`mm/jjjj`
  Angegebener Monat eines angegebenen Jahres, z.B.:

      gcal 9 1992
      gcal 9/1992
      gcal Nov 1777
      gcal Nov/1777

`:`
  Einzelnes Fiskaljahr41, beginnend im aktuellen Monat des aktuellen Jahres und endend im Monat aktueller Monat-1 des aktuellen Jahres+1, wird im folgenden auch als implizites Fiskaljahr bezeichnet, z.B.:

      gcal :

`mm:`
  Einzelnes Fiskaljahr, beginnend im Monat mm des aktuellen Jahres und endend im Monat mm-1 des aktuellen Jahres+1, wird im folgenden auch als explizites Fiskaljahr bezeichnet, z.B.:

      gcal 6:
      gcal feb:
      gcal NOVEMBER:

`:jjjj`
  Einzelnes Fiskaljahr, beginnend im aktuellen Monat des Jahres jjjj und endend im Monat aktueller Monat-1 des Jahres jjjj+1, wird im folgenden auch als explizites Fiskaljahr bezeichnet, z.B.:

      gcal :1999

`mm:jjjj`
  Einzelnes Fiskaljahr, beginnend im Monat mm des Jahres jjjj und endend im Monat mm-1 des Jahres jjjj+1, wird im folgenden auch als explizites Fiskaljahr bezeichnet, z.B.:

      gcal 7:1999
      gcal okt:1992
      gcal Februar:1777

Knoten:3-Monatsmodus Kommandos, Nächster:Listen von Kommandos, Vorheriger:Einfache Kommandos, Aufwärts:Kommandos

#### 3-Monatsmodus Kommandos

`.`
  Vorheriger, aktueller und nächster Monat des laufenden Jahres, z.B.:

      gcal .

`. jjjj`
  Vorheriger, aktueller und nächster Monat des angegebenen Jahres, z.B.:

      gcal . 1992

`..`
  Aktuelles Quartal des laufenden Jahres, z.B.:

      gcal ..

`.. jjjj`
  Aktuelles Quartal des angegebenen Jahres, z.B.:

      gcal .. 1992

`.+`
  Aktueller und die beiden nächsten Monate des laufenden Jahres, z.B.:

      gcal .+

`.+ jjjj`
  Aktueller und die beiden nächsten Monate des angegebenen Jahres, z.B.:

      gcal .+ 1992

`.-`
  Aktueller und die beiden vorhergehenden Monate des laufenden Jahres, z.B.:

      gcal .-

`.- jjjj`
  Aktueller und die beiden vorhergehenden Monate des angegebenen Jahres, z.B.:

      gcal .- 1992

Knoten:Listen von Kommandos, Nächster:Bereiche von Kommandos, Vorheriger:3-Monatsmodus Kommandos, Aufwärts:Kommandos

#### Listen von Kommandos

`mm,...,mm`
  Liste von angegebenen Monaten des aktuellen Jahres, z.B.:

      gcal 1,5,12
      gcal 3,1,5,3
      gcal juni,9,jan

`mm/jjjj,...,mm/jjjj`
  Liste von angegebenen Monaten von angegebenen Jahren, z.B.:

      gcal 1/1992,5,12/2001
      gcal juni/1991,9/1801,jan

`mm,...,mm jjjj`
  Liste von angegebenen Monaten eines angegebenen Jahres, z.B.:

      gcal 3,7 1999
      gcal 1,dez,juli 1777

`jjjj;...;jjjj`
  Liste von angegebenen Jahren, z.B.:

      gcal 1992;1777;1899

`mm:jjjj;...;mm:jjjj`
  Liste von angegebenen Fiskaljahren, z.B.:

      gcal 7:1999;8:1992;April:3

Andere gültige Listen:

`mm,mm/jjjj,...`
  Gemischte Monatsliste bestehend aus: `mm mm/jjjj`

      gcal 6,8,3/1999,feb/3,januar

`mm:;mm:jjjj,...`
  Gemischte Liste von Fiskaljahren von aktuellen/angegebenen Jahren bestehend aus: `mm: :jjjj mm:jjjj jjjj`

      gcal 3:;1994;februar:1999;:1777;JAN:

`mm:;mm:;...`
  Liste von Fiskaljahren des aktuellen Jahres bestehend aus: `mm:`

      gcal 3:;august:;DEZ:

Knoten:Bereiche von Kommandos, Vorheriger:Listen von Kommandos, Aufwärts:Kommandos

#### Bereiche von Kommandos

`mm-mm`
  Bereich von angegebenen Monaten des aktuellen Jahres, z.B.:

      gcal 3-7
      gcal 11-8
      gcal MAI-dez
      gcal 12-aug

`mm/jjjj-mm/jjjj`
  Bereich von angegebenen Monaten von angegebenen Jahren, z.B.:

      gcal 3/1991-juli/1992
      gcal dez/1994-3
      gcal sep-dez/2000

`mm-mm jjjj`
  Bereich von angegebenen Monaten eines angegebenen Jahres, z.B.:

      gcal 3-7 1999
      gcal nov-3 1777
      gcal aug-dez 1992

`mm-mm jjjj+jjjj`
  Bereich von angegebenen Monaten von angegebenen Jahren, z.B.:

      gcal 3-7 1999+2001
      gcal nov-3 1777+1600
      gcal aug-dez 1992+1994

`mm jjjj-jjjj`
`mm/jjjj-jjjj`
  Bereich eines angegebenen Monats von angegebenen Jahren, z.B.:

      gcal AUGUST 1494-1497
      gcal 3/1993-1999
      gcal nov/3-1777

`jjjj+jjjj`
  Bereich von angegebenen Jahren, z.B.:

      gcal 1992+1994

`mm:jjjj+mm:jjjj`
  Bereich von angegebenen Fiskaljahren, z.B.:

      gcal 7:1999+8:1992
      gcal aug:1992+juli:1999

Knoten:Die GCAL Umgebungsvariable, Vorheriger:Kommandozeilenargumente, Aufwärts:Aufruf von Gcal

## Die `GCAL` Umgebungsvariable

In der Umgebungsvariable `GCAL` können Grundeinstellungen zu Optionen für Gcal gespeichert werden (sieheUmgebungsvariable `GCAL`). Diese Optionen werden bei Programmstart zuerst interpretiert, und einige von ihnen können durch explizit gegebene Kommandozeilenargumente oder Werte, die in der Antwortdatei `@Datei` vorhanden sind, überschrieben werden. SieheKommandozeilenargumente, und Antwortdatei.

Zum Beispiel:

- für sh:

      GCAL="-i @farbe -b 3"; export GCAL

- für csh:

      setenv GCAL "-i @farbe -b 3"

- für MS-DOS:

      set GCAL=-i @farbe -b 3

Unter Vax/VMS lautet der Name der Umgebungsvariable `GCAL_OPT`, um einen Konflikt mit dem gesetzten Symbol `GCAL`, welches zum Aufruf des Programms dient, zu vermeiden.

Zum Beispiel:

- für VMS:

      define GCAL_OPT "-i @farbe -b 3"

Knoten:Ewige Feiertage, Nächster:Termine, Vorheriger:Aufruf von Gcal, Aufwärts:Top

# Ewige Feiertage

Die ewige Feiertagsliste wird nur für Jahre nach A.D. 29 erzeugt. Bei allen christlich-orthodoxen Feiertagen, die in die ewige Feiertagsliste eingebracht werden, wird angenommen, daß die Gregorianische Reformation vom 10'ten bis zum 22'ten März 1924 stattgefunden hat.

Die ewige Feiertagsliste kann auf mehrere Arten und Weisen ausgegeben werden:

Wenn Gcal ohne explizites (Fiskal) Datum mit dem ewige Feiertagsliste Argument gestartet wird (sieheKalender Option `--holiday-list[=long|short]`), z.B.:

    gcal -qfr --holiday-list
    gcal -qfr -n
    gcal -qfr -n :

so gibt Gcal ohne einen vorangehenden Kalender alle diejenigen Feiertage aus der ewigen Feiertagsliste aus, die sich auf das aktuelle Jahr bzw. Fiskaljahr beziehen.

Wenn Gcal mit dem ewige Feiertagsliste Argument und einem Monat (plus eines Jahres) gestartet wird, z.B.:

    gcal -qbe --holiday-list juli
    gcal -qbe -n juli
    gcal -qbe -n 7 1993
    gcal -qbe -n 7/1993

so gibt Gcal einen Monatskalender des angegebenen Monats (des Jahres) und nachfolgend alle diejenigen Feiertage aus der ewigen Feiertagsliste aus, die sich auf den angegebenen Monat (des angegebenen Jahres) beziehen.

Wenn Gcal mit dem ewige Feiertagsliste Argument und einem einfachen Jahr (oder einem Fiskaljahr) gestartet wird, z.B.:

    gcal -qbe --holiday-list 1993
    gcal -qbe -n 1993
    gcal -qbe -n juli:
    gcal -qbe -n :1993
    gcal -qbe -n 7:1993

so gibt Gcal einen Jahreskalender des angegebenen Jahres und nachfolgend alle diejenigen Feiertage aus der ewigen Feiertagsliste aus, die sich auf das angegebene Jahr bzw. Fiskaljahr beziehen.

Wenn Gcal mit dem ewige Feiertagsliste Argument und einem der speziellen 3-Monatsmodus Kommandos gestartet wird (siehe3-Monatsmodus Kommandos), z.B.:

    gcal -qbe --holiday-list .
    gcal -qbe -n .
    gcal -qbe -n ..
    gcal -qbe -n .+
    gcal -qbe -n .-

so gibt Gcal die bezogenen 3 Monate im festen Layout/Stil eines Jahreskalenders aus, sowie nachfolgend alle diejenigen Feiertage aus der ewigen Feiertagsliste aus, die sich auf diese Monate beziehen.

Wenn Gcal mit dem ewige Feiertagsliste Argument und einer Liste oder einem Bereich von Kommandos gestartet wird, so werden entsprechende Folgen von ewigen Feiertagslisten produziert. SieheListen von Kommandos, und Bereiche von Kommandos, für weitere Details.

Einige Anmerkungen:

Die folgende Tabelle führt alle diejenigen Zeichen auf, die zum Markieren eines Eintrags in der ewigen Feiertagsliste verwendet werden, d.h. direkt vor dessen Datum stehen:

Zeichen | Beschreibung
`+` | Gesetzlicher Feiertag, der im gesamten Land gültig ist. Wird automatisch mit Hervorhebungssequenzen bzw. Markierungszeichen versehen.
`#` | Gesetzlicher Feiertag, der überwiegend im gesamten Land gültig ist. Wird automatisch mit Hervorhebungssequenzen bzw. Markierungszeichen versehen.
`*` | Gesetzlicher Feiertag, der nicht überwiegend im gesamten Land gültig ist. Wird nicht mit Hervorhebungssequenzen bzw. Markierungszeichen versehen.
`-` | Sonstiger Feiertag, der nur zu Erinnerungszwecken dient. Wird nicht mit Hervorhebungssequenzen bzw. Markierungszeichen versehen.

Mittels der `--cc-holidays=cc[_tt][+...]` Option kann die ewige Feiertagsliste mit zusätzlichen landesspezifischen Feiertagen ausgestattet werden. SieheKalender Option `--cc-holidays=cc[_tt][+...]`. So bewirkt zum Beispiel:

    --cc-holidays=be+fr

die Aufnahme von belgischen und französischen Feiertagen in die ewige Feiertagsliste. Da die Aufnahme von landesspezifischen Feiertagen in die ewige Feiertagsliste nicht an die vorgenommene Internationalisierung von Gcal gekoppelt ist (sieheGesichtspunkte zur Internationalisierung), d.h. die landesspezifischen Feiertage für ein bestimmtes Territorium bzw. Land werden nicht automatisch bei Programmstart berücksichtigt, liegt es somit in der Hand des Endanwenders, mit welchen landesspezifischen Feiertagen die ewige Feiertagsliste versehen wird. SieheDie `GCAL` Umgebungsvariable, für Informationen, wie Gcal dazu veranlaßt werden kann, die ewige Feiertagsliste bei Programmstart automatisch mit landesspezifischen Feiertagen zu versehen.

Die beliebige Auswahl der verschiedenen landesspezifischen Feiertage kann recht sinnvoll genutzt werden, wenn beispielsweise Informationen über ein bestimmtes Territorium bzw. Land benötigt werden. Angenommen, ein Geschäftsmann in Deutschland beabsichtigt, im Monat November nach Italien zu reisen, und möchte wissen, welche gesetzlichen Feiertage dort auf Werktage fallen, um seine Terminplanung daraufhin abstimmen zu können. So kann das wie folgt ermittelt werden:

    gcal -f /dev/null -q IT -D r -cE nov

Knoten:Termine, Nächster:Heutiger Kalender, Vorheriger:Ewige Feiertage, Aufwärts:Top

# Termine

- Ressourcendatei: Wie eine Ressourcendatei benutzt wird.
- Ressourcendateibeispiele: Beispiele zu Einträgen in der Ressourcendatei.

Dieses Kapitel beschreibt, wie Gcal für Terminzwecke benutzt werden kann. Die Termine sind im Normalfall zeilenweise in sogenannten Ressourcendateien gespeichert (sieheRessourcendatei). Gcal durchsucht auf Wunsch beliebige solcher Ressourcendateien nach denjenigen Terminen, die in den Zeitraum fallen, für den eine Terminliste gewünscht wird. Falls Gcal Termine vorgefunden hat, die in dem gewünschten Zeitraum auftreten, so gibt das Programm alle gesammelten Termine in Form einer Terminliste aus.

Also, jedesmal wenn Gcal im einfachen Einzelmonatsmodus ausgeführt wird, d.h. beim Aufruf von Gcal wurde in der Kommandozeile weder ein expliziter Monat noch ein explizites Jahr bzw. Fiskaljahr angegeben, aber das Termin Argument vorgefunden wird, z.B.:

    gcal --list-of-fixed-dates
    gcal -c

so durchsucht Gcal die Ressourcendatei nach Terminen und verarbeitet genau solche, die sich auf das aktuelle Systemdatum (==heute) beziehen. Sodann gibt Gcal ohne einen vorangehenden Kalender alle diejenigen Termine aus der Ressourcendatei aus, die sich auf den aktuellen Tag (Woche/Monat/Jahr) des aktuellen Jahres beziehen.

Einige weitere Beispiele hierzu:

    gcal --ast -ce
    gcal -cw-
    gcal -c-m
    gcal -c-y-
    gcal -qbe -jcb -c-et
    gcal --zod -cey-
    gcal -qfr -jc -cey

Die Terminliste kann von verschiedenen anderen, ebenfalls von Gcal erzeugten, Ausgaben angeführt und/oder gefolgt werden:

Wenn Gcal mit dem Termin Argument und/oder einem Monat und/oder einem expliziten Jahr bzw. Fiskaljahr gestartet wird; bzw. mit einem der speziellen 3-Monatsmodus Kommandos, z.B.:

    gcal -c juli
    gcal -qfr -ce 7 1994
    gcal -c-y 7/1994
    gcal -c 7:1993
    gcal -c 1993
    gcal -c .
    gcal -c .+

so gibt Gcal einen (drei) Monats-/ Jahreskalender des angegebenen bzw. aktuellen Monats-/ Jahres aus, und nachfolgend alle diejenigen Termine aus der Ressourcendatei, die sich auf den angegebenen Zeitraum beziehen; das Niveau ist wie bei der `-cy` Option, wenn sich der Zeitraum auf ein Jahr bzw. Fiskaljahr bezieht oder auf eine 3-Monatsperiode, bzw. wie bei der `-cm` Option, wenn sich der Zeitraum auf einen Monat bezieht.

Wenn Gcal ohne explizites Datum mit dem Termin Argument in Verbindung mit dem ewige Feiertagsliste Argument gestartet wird, z.B.:

    gcal -qbe -n -c
    gcal -qbe -n -Cm
    gcal -qbe -n -Cl1224
    gcal -qbe -n -cl3+
    gcal -qbe -n -4-

so gibt Gcal ohne einen vorangehenden Kalender alle diejenigen Termine aus der Ressourcendatei aus, die sich auf den angegebenen Zeitraum im aktuellen Jahr beziehen, und danach alle diejenigen Feiertage aus der ewigen Feiertagsliste aus, die sich auf das gesamte aktuelle Jahr beziehen. SieheEwige Feiertage, für weitere Details zur ewigen Feiertagsliste.

Anmerkung zu vorhergehenden Beispielen:

Jedesmal wenn Gcal im einfachen Einzeljahresmodus ausgeführt wird, d.h. beim Aufruf von Gcal wurde in der Kommandozeile weder ein expliziter Monat noch ein explizites Jahr bzw. Fiskaljahr angegeben, aber das Termin Argument (evtl. mit Modifizierern) und das Anzahl der Monatsblöcke Argument vorgefunden wird (sieheKalender Option `--blocks=Anzahl`), z.B.:

    gcal -c --blocks=3
    gcal -C-em -b 3 --cc-holidays=be
    gcal -c-t -b 6 -jc

so durchsucht Gcal die Ressourcendatei nach Daten und verarbeitet genau diejenigen, welche sich auf das aktuelle Systemdatum (==heute) beziehen. Sodann gibt Gcal einen vorangehenden Jahreskalender und alle diejenigen Termine aus der Ressourcendatei aus, die sich auf den aktuellen Tag (Woche/Monat/Jahr) des aktuellen Jahres beziehen.

Es können aber auch Daten von vergangenen, aktuellen oder zukünftigen Monaten/Jahren verarbeitet werden. Das geht einerseits, indem die `%Datum` Option entsprechend verwendet wird (sieheDatummodifizierer), oder andererseits, indem ein Kommando bzw. eine Liste oder ein Bereich von Kommandos verwendet wird.

Zum Beispiel:

`gcal -qbe -c -n- 1993`
  Ausgabe aller Termine in aufsteigender Reihenfolge, welche sich auf das gesamte Jahr 1993 beziehen, sowie der ewigen Feiertagsliste in absteigender Reihenfolge, welche sich auch auf das gesamte Jahr 1993 bezieht; das Niveau ist wie bei der `-cy` Option.
`gcal -c- juli:1993`
  Ausgabe aller Termine in absteigender Reihenfolge, welche sich auf das Fiskaljahr --beginnend im Monat Juli 1993 und endend im Monat Juni 1994-- beziehen; das Niveau ist wie bei der `-cy` Option.
`gcal -qbe -ce juli 1993`
  Ausgabe aller Termine in aufsteigender Reihenfolge, welche sich auf den Monat Juli 1993 beziehen, einschließlich aller ewigen Feiertage dieses Zeitraums, welche in diese Liste eingefügt werden; das Niveau ist wie bei der `-cm` Option.
`gcal -qbe -c-e -n 1993+1996`
  Ausgabe aller Termine in absteigender Reihenfolge, welche sich auf die gesamten Jahre 1993, 1994, 1995 und 1996 beziehen (Jahr für Jahr in Folge), einschließlich aller ewigen Feiertage dieses Zeitraums, welche in diese Liste eingefügt werden, sowie der ewigen Feiertagsliste in aufsteigender Reihenfolge, welche sich ebenfalls auf diese Jahre bezieht; das Niveau ist wie bei der `-cy` Option.
`gcal -cm %19920317`
  Ausgabe aller Termine in aufsteigender Reihenfolge, welche sich auf den Monat März 1992 beziehen.
`gcal -qbe %1994@e -n -c`
  Ausgabe aller Termine in aufsteigender Reihenfolge, welche sich auf Ostersonntag 1994 beziehen, sowie der ewigen Feiertagsliste in aufsteigender Reihenfolge, welche sich auf das gesamte Jahr 1994 bezieht.

Knoten:Ressourcendatei, Nächster:Ressourcendateibeispiele, Vorheriger:Termine, Aufwärts:Termine

## Ressourcendatei

- Struktur einer Ressourcendatei: Wie wird eine Ressourcendatei erstellt?
- Datumteil einer Zeile: Wie muß der Datumteil aussehen?
- Weitere Datumteil-Attribute: Was sind weitere Attribute vom Datumteil?
- Textteil einer Zeile: Wie muß der Textteil aussehen?
- Spezialtexte: Was sind `%?`... Spezialtexte?
- Zeile kommentieren: Wie eine Zeile kommentiert werden kann.
- Einfuegeanweisungen: Was sind Einfügeanweisungen?
- Datumvariablen: Wie Datumvariablen benutzt werden können.
- Textvariablen: Wie Textvariablen benutzt werden können.

Dieser Abschnitt beschreibt wie eine Ressourcendatei benutzt wird, die die Termineinträge enthält. Der Name der Standard-Ressourcendatei ist ``HOME`/.gcalrc`42.

Gcal benutzt einen speziellen Datei-Suchmechanismus:

1. Das Gcal Programm erwartet die Standard-Ressourcendatei in den Dateiverzeichnissen, welche in der Umgebungsvariable `GCALPATH` (sieheUmgebungsvariable `GCALPATH`) angegeben sind. Die Umgebungsvariable `GCALPATH` enthält eine durch `:` Zeichen43 getrennte Liste von Dateiverzeichnissen. Falls eine solche Umgebungsvariable weder definiert noch gesetzt ist, so übergeht Gcal diesen Schritt.
2. Sollte vorherige Aktion versagt haben, so sucht das Gcal Programm die Standard-Ressourcendatei in demjenigen Dateiverzeichnis, welches in der Umgebungsvariable `HOME` angegeben ist. Falls die Umgebungsvariable `HOME` weder definiert noch gesetzt ist, so übergeht Gcal auch diesen Schritt. SieheUmgebungsvariable `HOME`.
3. Sollte vorherige Aktion versagt haben, so inspiziert Gcal das Benutzer-Datenverzeichnis44 nach der Standard-Ressourcendatei. Dieses Verzeichnis ist ein Dateiverzeichnis relativ zum `HOME` Dateiverzeichnis. Falls eine `GCAL_USR_DATADIR` Umgebungsvariable gesetzt ist, so wird Gcal den Inhalt dieser Umgebungsvariable an den Inhalt der `HOME` Umgebungsvariable anfügen, und diesen Dateiverzeichnisnamen anstelle des beim Kompilationsvorgangs eingebrannten Dateiverzeichnisnamens benutzen (sieheUmgebungsvariable `GCAL_USR_DATADIR`). Falls die Umgebungsvariable `HOME` weder definiert noch gesetzt ist, so übergeht Gcal natürlicherweise auch diesen Schritt.
4. Sollten alle bisherigen Aktionen versagt haben, so inspiziert Gcal das System-Datenverzeichnis45 nach der Standard-Ressourcendatei. Dieses Verzeichnis ist ein Dateiverzeichnis absolut zum Wurzel/$prefix Dateiverzeichnis. Falls eine `GCAL_SYS_DATADIR` Umgebungsvariable gesetzt ist, so wird Gcal diesen Dateiverzeichnisnamen anstelle des beim Kompilationsvorgang eingebrannten Dateiverzeichnisnamens benutzen (sieheUmgebungsvariable `GCAL_SYS_DATADIR`).

Falls die Standard-Ressourcendatei nicht während der Schritte 1...4 des Datei-Suchmechanismus' aufgefunden wurde, so werden keinerlei Termine erzeugt!

Falls die `--debug=abort` Option angegeben wurde und keine Standard-Ressourcendatei während der Schritte 1...4 des Datei-Suchmechanismus' aufgefunden wurde, so wird das Gcal Programm mit Fehlerkode abgebrochen. SieheFehlerkode 118, und Globale Option `--debug=abort`, für weitere Informationen.

Wenn ein `-f|F Dateiname[+...]` bzw. `--resource-file=Dateiname` Kommandozeilenargument vorgefunden wird, so wird eine Datei Dateiname anstelle der Standard-Ressourcendatei als Ressourcendatei benutzt. SieheTermin Option `--resource-file=Dateiname`, für weitere Informationen.

Anmerkung:

Ein erweiterter Dateiname enthält ein oder mehrere `/` Zeichen46 und bezeichnet eine Datei, deren Zugriffspfad entweder vom Wurzeldateiverzeichnis47 aus fest vorgegeben ist, wie z.B. `/foo/bar/file`, oder vom aktuellen Dateiverzeichnis aus fest vorgegeben ist, wie z.B. `./bar/file` oder `../bar/file`. Falls Dateiname ein erweiterter Dateiname ist:

- Wenn Dateiname vorgefunden wird, so wird Gcal diese Datei auswerten.
- Wenn Dateiname nicht vorgefunden wird, so wird Gcal diese Datei nicht auswerten.

Ein einfacher Dateiname enthält keinen Verweis auf einen Zugriffspfad, der entweder vom Wurzeldateiverzeichnis oder vom aktuellen Dateiverzeichnis aus fest vorgegeben ist, wie z.B. `file` oder `bar/file`. Falls Dateiname ein einfacher Dateiname ist:

- Gcal wird versuchen, die Datei Dateiname unter Zuhilfenahme des zuvor erklärten Datei-Suchmechanismus' aufzufinden.

Knoten:Struktur einer Ressourcendatei, Nächster:Datumteil einer Zeile, Vorheriger:Ressourcendatei, Aufwärts:Ressourcendatei

### Struktur einer Ressourcendatei

Eine Gcal Ressourcendatei ist zunächst einmal eine reine ASCII Textdatei, die mit einem beliebigen Texteditor oder durch Umlenkung des Standardausgabe-Gerätekanals in eine Datei erzeugt werden kann, z.B.:

    $ echo '19930217 Text'>> Ressourcendatei <RET>

Jede Ressourcendatei muß eine besondere --aber einfache-- Zeilenstruktur aufweisen, so daß Gcal auch in der Lage ist, deren Inhalt zu interpretieren. Jeder Termineintrag, der in einer Zeile einer Ressourcendatei vorgenommen wird, muß in zwei Teile aufgespalten werden, nämlich einerseits in einen Datumteil, und andererseits in einen optionalen Textteil, die durch mindestens ein whitespace48 Trennzeichen voneinander abgetrennt werden müssen. Wird kein Textteil angegeben, so entfällt natürlich auch die Angabe des zur Trennung dieser beiden Teile notwendigen whitespace Zeichens.

Eine Zeile muß stets mit einem `\n` (Newline) Zeichen enden, ausgenommen es ist die letzte Zeile in einer Ressourcendatei. Die maximale Länge einer Zeile ist allerdings begrenzt auf `INT_MAX`49 Zeichen. Bei Umlenkung des Standardausgabe-Gerätekanals in eine Datei wird der Zeile automatisch ein Newline Zeichen angefügt, bei Benutzung von einem Texteditor normalerweise dann, wenn die geschriebene Zeile mittels der <RET> Taste abgeschlossen wird. Sollte der verwendete Texteditor hinsichtlich der Wirkungsweise der <RET> Taste und der Generierung des damit verbundenen Newline Zeichens nicht wie angegeben arbeiten, so sollte der Texteditor in diese Betriebsart versetzt werden. Sollte das nicht möglich sein, so ist der verwendete Texteditor für die Erzeugung von Gcal Ressourcendateien unbrauchbar!

Die Zeilenstruktur eines Termineintrags ist:

    Datumteil [ whitespace Textteil ] newline

oder konkreter, z.B.:

    jjjj[mm[tt|wwwn]] [ whitespace Text ] newline

oder noch konkreter, z.B.:

    19940217 Hallo, ich bin der Text!

Neben Termineinträgen können noch weitere Einträge in einer Ressourcendatei vorgenommen werden, und zwar:

Kommentare...

    ; Einzeiliger Kommentar
    ;     Formatierter und mehrzeiliger \
          Kommentar

Einfügeanweisungen...

    #include <Dateiname>
    #include "Dateiname"

Datumvariablenzuweisungen-/ operationen...

    dvar=NICHTS
    dvar=mmtt
    dvar=mmwwwn
    dvar=*dn[www]
    dvar=*wn[www]
    dvar=dvar[[+|-]n[www]]
    dvar++
    dvar--
    dvar+=[+|-]n
    dvar-=[+|-]n
    dvar+=nwww
    dvar-=nwww

Textvariablenzuweisungen-/ operationen...

    tvar=[Text]
    tvar?[Kommando]
    tvar:[Kommando]
    tvar++
    tvar--
    tvar+=[+|-]n
    tvar-=[+|-]n

Textvariablenreferenzen...

    tvar

Textvariablenreferenzen zu Anfang einer Zeile der Gcal Ressourcendatei dürfen allerdings nur dann verwendet werden, falls sichergestellt ist, daß sich nach deren vollständiger Expansion eine gültige Zeile der Gcal Ressourcendatei ergibt.

Knoten:Datumteil einer Zeile, Nächster:Weitere Datumteil-Attribute, Vorheriger:Struktur einer Ressourcendatei, Aufwärts:Ressourcendatei

### Datumteil einer Zeile

Die Struktur von einem Datumteil --welcher Gcal die Information gibt, wann ein Termin stattfindet-- einer Zeile der Gcal Ressourcendatei ist

entweder: `jjjj[mm[tt|wwwn]]`

> `jjjj`
>   (4 Ziffern), ist das Jahr einschließlich des Jahrhunderts (Bereich `0000...9999`). Es sind führende Nullen anzugeben falls das Jahr kleiner `1000` ist und weitere Komponenten des Datumteils dem Jahr folgen.
> `mm`
>   (2 Ziffern oder 3 Zeichen), ist der Monat (Bereich `00...12` oder `99`, bzw. `Jan`, `Feb`...). `99` kodiert stets den letzten Monat eines Jahres (== Dezember). Es sind führende Nullen anzugeben falls der Monat kleiner `10` ist und weitere Komponenten des Datumteils dem Monat folgen.
> `tt`
>   (2 Ziffern), ist der Tag (Bereich `00...31` oder `99`). `99` kodiert stets den letzten Tag eines Monats. Es sind führende Nullen anzugeben falls der Tag kleiner `10` ist und weitere Komponenten des Datumteils dem Tag folgen.
> `www`
>   (2...3 Zeichen), ist ein Wochentagsname im Kurzformat (Bereich `Mon...Son`).
> `n`
>   (1 Ziffer), ist der n'te Wochentag www im Monat (Bereich `1...5` oder `9`).
>   - n == `1...5`
>     n'ter www Wochentag im Monat.
>   - n == `9`
>     Letzter www Wochentag im Monat.

oder: `jjjj*d|wn[www]`

> `jjjj`
>   (4 Ziffern), ist das Jahr einschließlich des Jahrhunderts (Bereich `0000...9999`). Es sind führende Nullen anzugeben falls das Jahr kleiner `1000` ist und weitere Komponenten des Datumteils dem Jahr folgen.
> `*d`
>   (2 Zeichen), ist ein Bezug auf ein gewöhnliches Tagesdatum.
> `*w`
>   (2 Zeichen), ist entweder ein Bezug auf ein ISO-Wochendatum oder ein Standard-Wochendatum.
> `n`
>   (1...3 Ziffern), ist der Wert in Tagen oder Wochen, an welchem der Termin auftritt. `99` in Verbindung mit einem Wochentagsnamen im Kurzformat kodiert stets den letzten Wochentag www eines Jahres. `999` in Verbindung mit `*d` kodiert stets den letzten Tag eines Jahres, also den 31'ten Dezember. Falls das berechnete Datum nicht im Jahr auftritt, also außerhalb der Jahresgrenzen liegt, so wird der Termin unterdrückt.
> `www`
>   (2...3 Zeichen), ist ein Wochentagsname im Kurzformat (Bereich `Mon...Son`).

oder: `jjjj@e|t|dvar[[+|-]n]`

> `jjjj`
>   (4 Ziffern), ist das Jahr einschließlich des Jahrhunderts (Bereich `0000...9999`). Es sind führende Nullen anzugeben falls das Jahr kleiner `1000` ist und weitere Komponenten des Datumteils dem Jahr folgen.
> `@e`
>   (2 Zeichen), ist ein Bezug auf das Datum des Ostersonntags.
> `@t`
>   (2 Zeichen), ist ein Bezug auf das heutige Datum.
> `@dvar`
>   (2 Zeichen), ist ein Bezug auf eine Datumvariable.
> `[+|-]n`
>   (1...4 alphanumerische Zeichen), ist der optionale Versatz in Tagen, an welchem der Termin relativ zum Datum des Ostersonntags, relativ zum heutigen Datum, oder relativ zum Datum einer Datumvariablen auftritt. `-999` kodiert stets den ersten Tag eines Jahres, also den 1'ten Januar. `+999` oder `999` kodiert stets den letzten Tag eines Jahres, also den 31'ten Dezember. Falls das berechnete Datum nicht im Jahr auftritt, also außerhalb der Jahresgrenzen liegt, so wird der Termin unterdrückt.

oder: `jjjj@e|t|dvar[+|-]nwww`

> `jjjj`
>   (4 Ziffern), ist das Jahr einschließlich des Jahrhunderts (Bereich `0000...9999`). Es sind führende Nullen anzugeben falls das Jahr kleiner `1000` ist und weitere Komponenten des Datumteils dem Jahr folgen.
> `@e`
>   (2 Zeichen), ist ein Bezug auf das Datum des Ostersonntags.
> `@t`
>   (2 Zeichen), ist ein Bezug auf das heutige Datum.
> `@dvar`
>   (2 Zeichen), ist ein Bezug auf eine Datumvariable.
> `[+|-]nwww`
>   (3...7 alphanumerische Zeichen), ist der optionale Versatz in Wochentagen, an welchem der Termin relativ zum Datum des Ostersonntags, relativ zum heutigen Datum, oder relativ zum Datum einer Datumvariablen auftritt. `-99` kodiert stets den ersten Wochentag www eines Jahres. `+99` oder `99` kodiert stets den letzten Wochentag www eines Jahres. Falls das berechnete Datum nicht im Jahr auftritt, also außerhalb der Jahresgrenzen liegt, so wird der Termin unterdrückt.

Bitte beachten:

- Falls jjjj nicht als festes Jahr, sondern als `0000`, `000`, `00` oder `0` angegeben ist:
  Es wird angenommen, daß der Monat und Tag jährliche Ereignisse sind, und der Textteil wird für jedes Jahr ausgegeben.
- Falls mm nicht als fester Monat, sondern als `00`, `0` oder gar nicht angegeben ist:
  Es wird angenommen, daß der Tag ein monatliches Ereignis im angegebenen Jahr ist, und der Textteil wird für jeden Monat ausgegeben.
- Falls tt nicht als fester Tag, sondern als `00`, `0` oder gar nicht angegeben ist:
  Es wird angenommen, daß der Tag ein tägliches Ereignis im angegebenen Monat und Jahr ist, und der Textteil wird für jeden Tag ausgegeben.
- Falls ein Wochentagsname www im 2...3-Buchstaben Kurzformat angegeben ist:
  Es wird angenommen, daß der gegebene Wochentagsname ein wöchentliches Ereignis im angegebenen Monat und Jahr ist, und der Textteil wird für jede Woche ausgegeben.

Hinweis:
Vorstehende Aufstellung mag leicht zu der Annahme verleiten, daß ein Termin, der für alle Tage im Jahr gültig sein soll, mit einem Datumteil definiert werden kann, der nur aus einer `0` besteht. Das ist nur insoweit richtig, als das der so definierte Termin nur in einigen wenigen Terminzeiträumen berücksichtigt wird (sieheKodierschema). Wenn ein Termin definiert wird, der in allen Terminzeiträumen für alle Tage im Jahr berücksichtigt werden soll, so ist dieser Termin mit einem `0*d1#999` Datumteil zu erstellen. Gleiches gilt beispielsweise für Termine, die ein wöchentliches Ereignis darstellen, und die im gesamten Jahr gültig sein sollen. Anstelle einen solchen Termin mit einem `000000www` Datumteil zu erstellen (der ebenfalls nur in einigen wenigen Terminzeiträumen berücksichtigt wird), sollte ein solcher Termin mit einem `0*d1www#99www.7` Datumteil definiert werden. SieheBereiche von Tagen, und Auftretensfaktor von Tagen, für weitere Informationen.

Knoten:Weitere Datumteil-Attribute, Nächster:Textteil einer Zeile, Vorheriger:Datumteil einer Zeile, Aufwärts:Ressourcendatei

### Weitere Datumteil-Attribute

- Listen von Tagen: Wie eine Liste von Tagen benutzt wird.
- Bereiche von Tagen: Wie ein Bereich von Tagen benutzt wird.
- Wiederholungsfaktor von Tagen: Wie ein solcher Faktor benutzt wird.
- Auftretensfaktor von Tagen: Wie ein solcher Faktor benutzt wird.

Der Datumteil, welcher einen Termintext in einer Gcal Ressourcendateizeile anführt, darf mit weiteren Attributen ausgestattet werden. Weitere Attribute sind entweder die Angabe einer Liste von Tagen oder eines Bereichs von Tagen, in welchem der Termin stattfinden soll. Weitere Attribute sind auch Faktoren, welche eine Wiederholungsdauer oder einen Auftretenszeitpunkt eines Termins bestimmen.

Grundsätzlich dürfen alle diejenigen Datumteile in einer Gcal Ressourcendateizeile, die wie folgt strukturiert sind, mit weiteren Attributen versehen werden:

- `jjjjmm`...
- `jjjj*d|w`...
- `jjjj@e|t|dvar`...

Vorsicht:
Falls der Datumteil mit weiteren Attributen ausgestattet ist und das Jahr, in dem der Termin stattfindet, unbestimmt ist, d.h. das Jahr jjjj ist auf Null gesetzt, so werden solche Datumteile nur innerhalb einfacher Jahresgrenzen korrekt berechnet, also nicht in denjenigen Terminen, welche ausgegeben werden, nachdem das laufende Jahr gewechselt hat, z.B. in Fiskaljahren.

Knoten:Listen von Tagen, Nächster:Bereiche von Tagen, Vorheriger:Weitere Datumteil-Attribute, Aufwärts:Weitere Datumteil-Attribute

#### Listen von Tagen

Eine Liste von Tagen wird dazu benutzt, um wiederkehrende Termine zu definieren und dabei nur eine Zeile in der Ressourcendatei zu belegen, anstelle diese wiederkehrenden Termine einzeln in mehreren Zeilen in der Ressourcendatei festzulegen.

Eine Liste von Tagen wird durch ein `,` Trennzeichen kenntlich gemacht; diese muß mindestens zwei Elemente enthalten, und darf unbegrenzt viele Elemente enthalten. Ein einzelnes Element der Liste darf nicht auf den Wert Null gesetzt werden und somit unkonkret sein, was in diesem Zusammenhang auch keinen Sinn machen würde.

Angenommen, ein Termin tritt stets am 1'ten und am 15'ten Tag in jedem beliebigen Monat des Jahres 1996 auf, z.B. `Steuervoranmeldungen`, so kann einerseits für den 1'ten im Monat ein Termineintrag in der Ressourcendatei vorgenommen werden und auch für den 15'ten im Monat, was in diesem Fall zwei Einträge in der Ressourcendatei zu einem solchen Termin ergäbe.

Andererseits kann mittels einer Liste von Tagen dieser Aufwand aber nun verringert werden hin zu nur einem Eintrag in der Ressourcendatei, welcher gleichermaßen für den 1'ten und für den 15'ten Tag eines beliebigen Monat gilt, nämlich

    19960001,15 Steuervoranmeldungen

Erlaubt ist die Benutzung der Listen von Tagen im Datumteil wie folgt:

- `jjjjmmtt|www|wwwn,[mm]tt|[mm]www|[mm]wwwn ...`
- `jjjj*d|wn|nwww,n|nwww ...`
- `jjjj@e|t|dvar,|[+|-]n[www],[+|-]n[www] ...`

Einige Beispiele hierzu:

`000001fr3,12,99,mon,apr14,993,julfre3,08fr`
  In jedem Jahr im Monat Januar: am 3'ten Freitag, am 12'ten, am letzten Tag des Monats sowie an jedem Montag. Und in jedem Jahr: am 14'ten April, am 3'ten Dezember, am 3'ten Freitag im Juli sowie an jedem Freitag im August.
`199600mon,fr,12`
  Im Jahr 1996 in jedem Monat: jeden Montag, jeden Freitag sowie an jedem 12'ten.
`0*d1,1fr,999,17mo`
  In jedem Jahr: am ersten Tag des Jahres, am 1'ten Freitag des Jahres, am letzten Tag des Jahres sowie am 17'ten Montag des Jahres.
`1996*w1fr,1,17mo,99fr`
  Im Jahr 1996: am Freitag der 1'ten Kalenderwoche, am Montag der ersten Kalenderwoche, am Montag der 17'ten Kalenderwoche sowie am Freitag der letzten Kalenderwoche.
`0@a,+1,-3,5,+4fr,2fr,-10sa`
  In jedem Jahr: am Datum der Datumvariablen a, einen Tag nach dem Datum von a, drei Tage vor dem Datum von a, fünf Tage nach dem Datum von a, vier Freitage nach dem Datum von a, zwei Freitage nach dem Datum von a sowie zehn Samstage vor dem Datum von a.
`1996@e+1,-3,5,+4fr,2fr,-10sa`
  Im Jahr 1996: einen Tag nach Ostersonntag, drei Tage vor Ostersonntag, fünf Tage nach Ostersonntag, vier Freitage nach Ostersonntag, zwei Freitage nach Ostersonntag sowie zehn Samstage vor Ostersonntag.
`1996@t+1,-3,5,+4fr,2fr,-10sa`
  Im Jahr 1996: einen Tag nach dem heutigen Datum, drei Tage vor dem heutigen Datum, fünf Tage nach dem heutigen Datum, vier Freitage nach dem heutigen Datum, zwei Freitage nach dem heutigen Datum sowie zehn Samstage vor dem heutigen Datum.

Knoten:Bereiche von Tagen, Nächster:Wiederholungsfaktor von Tagen, Vorheriger:Listen von Tagen, Aufwärts:Weitere Datumteil-Attribute

#### Bereiche von Tagen

Ein Bereich von Tagen wird ebenso wie eine Liste von Tagen dazu benutzt, um wiederkehrende Termine zu definieren und dabei nur eine Zeile in der Ressourcendatei zu belegen, anstelle diese wiederkehrenden Termine einzeln in mehreren Zeilen in der Ressourcendatei festzulegen.

Ein Bereich von Tagen wird durch ein `#` Trennzeichen kenntlich gemacht und besteht aus genau zwei Elementen, nämlich aus Starttag und Endetag. Der Starttag wie auch der Endetag des Bereichs darf nicht auf den Wert Null gesetzt werden und somit unkonkret sein, was in diesem Zusammenhang auch keinen Sinn machen würde.

Angenommen, ein Termin tritt stets während des 1'ten und des 15'ten Tages (einschließlich) in jedem beliebigen Monat des Jahres 1996 auf, z.B. `Innendienst`, so kann einerseits für den 1'ten im Monat ein Termineintrag in der Ressourcendatei vorgenommen werden, für den 2'ten im Monat ebenso, bis hin zum 15'ten im Monat, was in diesem Fall 15 Einträge in der Ressourcendatei zu einem solchen Termin ergäbe50.

Andererseits kann mittels eines Bereichs von Tagen dieser Aufwand aber nun verringert werden hin zu nur einem Eintrag in der Ressourcendatei, welcher gleichermaßen für den 1'ten bis hin zum 15'ten Tag eines beliebigen Monat gilt, nämlich

    19960001#15 Innendienst

Erlaubt ist die Benutzung der Bereiche von Tagen im Datumteil wie folgt:

- `jjjjmmwww#www`
- `jjjjmmtt|wwwn#[mm]tt|[mm]wwwn`
- `jjjj*d|wn[www]#n[www]`
- `jjjj@e|t|dvar[[+|-]n[www]]#[+|-]n[www]`

Aus der vorstehenden Aufstellung kann ersehen werden, daß als Start- und Endetag nur Datumformate gleichen Typs links und rechts des `#` Trennzeichens verwendet werden können. Es ist somit nicht explizit möglich, daß ein Bereich von Tagen mit verschiedenartigen Typen von Datumformaten definiert werden kann, also Termineinträge wie z.B.:

    1996@e+3fr#1012 Im Jahr 1996: An jedem Tag, der in den\
                    Zeitraum vom Datum 3'ter Freitag nach Ostersonntag\
                    bis zum 12'ten Oktober fällt.

können so nicht vereinbart werden. Hier bietet sich aber Abhilfe an, indem ein inklusive Datum Zeitraum `%i[Datum][#[Datum]]` Spezialtext zur Festlegung des Endetags des Bereichs benutzt wird51, und die Termine der Einfachheit halber bis zum letzten Tag des Jahres produziert werden, z.B.:

    1996@e+3fr#+999 Im Jahr 1996: An jedem Tag, der in den\
                    Zeitraum vom Datum 3'ter Freitag nach Ostersonntag\
                    bis zum 12'ten Oktober fällt.%i0#19961012

SieheInklusive Datum Zeitraum `%i[Datum][#[Datum]]` Spezialtext, für weitere Details.

Einige Beispiele hierzu:

`199600mon#fr`
  Im Jahr 1996 in jedem Monat: an jedem Tag, der in der Tagesfolge `mo, di, mi, do, fr` auftritt.
`000000fr#mon`
  In jedem Jahr in jedem Monat: an jedem Tag, der in der Tagesfolge `fr, sa, so, mo` auftritt.
`000001fr3#12`
  In jedem Jahr im Monat Januar: an jedem Tag, der in den Zeitraum vom 3'ten Freitag des Monats bis zum 12'ten des Monats fällt.
`00000112#fr3`
  In jedem Jahr im Monat Januar: an jedem Tag, der in den Zeitraum vom 12'ten des Monats bis zum 3'ten Freitag des Monats fällt.
`00000112#augfre3`
  In jedem Jahr: an jedem Tag, der in den Zeitraum vom 12'ten Januar bis zum 3'ten Freitag des Monats August fällt.
`0000sep13#99fr9`
  In jedem Jahr: an jedem Tag, der in den Zeitraum vom 13'ten September bis zum letzten Freitag des Monats Dezember fällt.
`0*d1#1fr`
  In jedem Jahr: an jedem Tag, der in den Zeitraum vom 1'ten Tag des Jahres bis zum 1'ten Freitag des Jahres fällt.
`0*d99fr#333`
  In jedem Jahr: an jedem Tag, der in den Zeitraum vom letzten Freitag des Jahres bis zum 333'ten Tag des Jahres fällt.
`1996*w1fr#17mo`
  Im Jahr 1996: an jedem Tag, der in den Zeitraum vom Freitag der 1'ten Kalenderwoche bis zum Montag der 17'ten Kalenderwoche fällt.
`0@a#+4fr`
  In jedem Jahr: an jedem Tag, der in den Zeitraum vom Datum der Datumvariablen a bis zum 4'ten Freitag nach dem Datum der Datumvariablen a fällt.
`1996@e-3#+9fr`
  Im Jahr 1996: an jedem Tag, der in den Zeitraum vom Datum drei Tage vor Ostersonntag bis zum 9'ten Freitag nach dem Datum des Ostersonntag fällt.
`1996@t-3#+99fr`
  Im Jahr 1996: an jedem Tag, der in den Zeitraum vom Datum drei Tage vor dem heutigen Datum bis zum letzten Freitag des Jahres fällt.

Knoten:Wiederholungsfaktor von Tagen, Nächster:Auftretensfaktor von Tagen, Vorheriger:Bereiche von Tagen, Aufwärts:Weitere Datumteil-Attribute

#### Wiederholungsfaktor von Tagen

Ein Wiederholungsfaktor von Tagen wird dazu benutzt, um wiederkehrende Termine zu definieren und dabei nur eine Zeile in der Ressourcendatei zu belegen, anstelle diese wiederkehrenden Termine einzeln in mehreren Zeilen in der Ressourcendatei festzulegen.

Ein Wiederholungsfaktor von Tagen (`:n`) wird durch ein `:` Zeichen kenntlich gemacht und muß dem Tagesfeld, welches einen konkreten Wert in einem Datumteil einer Gcal Ressourcendatei haben muß und nicht auf den Wert Null gesetzt sein darf, folgen bzw. einem Auftretensfaktor von Tagen entweder vorangehen oder folgen. Mit Ausnahme von Bereichen von Tagen oder Terminen, die nur an einem bestimmten Wochentag auftreten wie z.B. `199600mon Immer Montags 1996`, darf ein solcher Wiederholungsfaktor in allen sonst möglichen Angaben von Datumteilen einer Gcal Ressourcendatei auftreten.

Dieser Faktor darf den Wert `1...999` annehmen. Werte, die größer sind als die tatsächliche Differenz zwischen dem Datum des ersten Auftretens des Termins und dem letzten Tag des Jahres, werden stets auf diese tatsächliche Differenz reduziert. So bedeutet dann jeder Wert größer `365`52 stets einen Wiederholungsfaktor bis hin zum letzten Tag des Jahres.

Angenommen, ein Termin tritt stets am 15'ten Tag in jedem beliebigen Monat des Jahres 1996 auf und erstreckt sich über einen Zeitraum von insgesamt vier Tagen (einschließlich des 15'ten selbst), z.B. `Mitarbeiterschulung`, so kann einerseits für den 15'ten im Monat ein Termineintrag in der Ressourcendatei vorgenommen werden und auch für die dem 15'ten im Monat folgenden drei Tage, was in diesem Fall vier Einträge in der Ressourcendatei zu einem solchen Termin ergäbe53.

Andererseits kann mittels eines Wiederholungsfaktors von Tagen dieser Aufwand aber nun verringert werden hin zu nur einem Eintrag in der Ressourcendatei, welcher gleichermaßen für den 15'ten und die dem 15'ten folgenden drei Tage eines beliebigen Monat gilt, nämlich

    19960015:4 Mitarbeiterschulung

Erlaubt ist die Benutzung der Wiederholungsfaktoren von Tagen im Datumteil wie folgt:

- `jjjjmmtt:n|wwwn:n`
- `jjjj*d|wn:n|nwww:n`
- `jjjj@e|t|dvar[[+|-]n[www]]:n`
- `jjjjmmtt:n|wwwn:n,[mm]tt:n|[mm]wwwn:n ...`
- `jjjj*d|wn:n|nwww:n,n:n|nwww:n ...`
- `jjjj@e|t|dvar:n,|[+|-]n[www]:n,[+|-]n[www]:n ...`

Einige Beispiele hierzu:

`000001fr3:11`
  In jedem Jahr im Monat Januar: an jedem Tag, der in den Zeitraum vom 3'ten Freitag des Monats und den darauffolgenden zehn Tagen fällt.
`00000112:3`
  In jedem Jahr im Monat Januar: an jedem Tag, der in den Zeitraum vom 12'ten des Monats und den darauffolgenden zwei Tagen fällt.
`00000112:3,fr3:5`
  In jedem Jahr im Monat Januar: an jedem Tag, der in den Zeitraum vom 12'ten des Monats und den darauffolgenden zwei Tagen fällt, sowie auch in den Zeitraum vom 3'ten Freitag des Monats und den darauffolgenden vier Tagen fällt.
`0*d1:1`
  In jedem Jahr: an jedem Tag, der in den Zeitraum vom 1'ten Tag des Jahres und keinem darauffolgenden Tag fällt.
`0*d1:2`
  In jedem Jahr: an jedem Tag, der in den Zeitraum vom 1'ten Tag des Jahres und dem darauffolgenden Tag fällt.
`0*d99fr:333`
  In jedem Jahr: an jedem Tag, der in den Zeitraum vom letzten Freitag des Jahres und den darauffolgenden 332 Tagen fällt. Allerdings werden in Fällen wie diesen, wo ein solcher Termin die Jahresgrenze überschreiten würde, nur Termine bis zum letzten Tag des Jahres produziert.
`1996*w1fr:17`
  Im Jahr 1996: an jedem Tag, der in den Zeitraum vom Freitag der 1'ten Kalenderwoche und den darauffolgenden 16 Tagen fällt.
`0@a:4`
  In jedem Jahr: an jedem Tag, der in den Zeitraum vom Datum der Datumvariablen a und den darauffolgenden drei Tagen fällt.
`1996@e-3:9`
  Im Jahr 1996: an jedem Tag, der in den Zeitraum vom Datum drei Tage vor Ostersonntag und den darauffolgenden acht Tagen fällt.
`1996@t-3:9`
  Im Jahr 1996: an jedem Tag, der in den Zeitraum vom Datum drei Tage vor dem heutigen Datum und den darauffolgenden acht Tagen fällt.

Knoten:Auftretensfaktor von Tagen, Vorheriger:Wiederholungsfaktor von Tagen, Aufwärts:Weitere Datumteil-Attribute

#### Auftretensfaktor von Tagen

Ein Auftretensfaktor von Tagen wird dazu benutzt, um einem bestimmten Versatz in wiederkehrenden Terminen zu definieren.

Ein Auftretensfaktor von Tagen (`.n`) wird durch ein `.` Zeichen kenntlich gemacht und muß dem Tagesfeld, welches einen konkreten Wert in einem Datumteil einer Gcal Ressourcendatei haben muß und nicht auf den Wert Null gesetzt sein darf, folgen bzw. einem Wiederholungsfaktor von Tagen entweder vorangehen oder folgen. Mit Ausnahme von Terminen, die nur an einem bestimmten Wochentag auftreten und als solche nicht als ein Bereich von Tagen angegeben sind, wie z.B. `199600mon Immer Montags 1996`, darf ein solcher Auftretensfaktor in allen sonst möglichen Angaben von Datumteilen einer Gcal Ressourcendatei auftreten. Bei Listen von Tagen darf dieser Faktor in jedem einzelnen Element angegeben werden, bei Bereichen von Tagen darf dieser Faktor nur dem Endetag folgen. Allerdings macht die Verwendung dieses Auftretensfaktors nur dann Sinn, wenn er entweder in einem Bereich von Tagen, oder aber zusammen mit einem Wiederholungsfaktor angegeben wird.

Dieser Faktor darf den Wert `1...999` annehmen. Wenn der Faktor Werte annimmt, die größer sind als die tatsächliche Differenz zwischen dem Datum des Auftretens des Termins und dem letzten Tag des Jahres bzw. dem Ende des Zeitraum, für welchen die Termine entweder produziert oder berücksichtigt werden sollen, so wird ein solcher Termin ignoriert.

Angenommen, ein Termin tritt stets am 15'ten Tag in jedem beliebigen Monat des Jahres 1996 auf und erstreckt sich über einen Zeitraum von insgesamt sieben Tagen (einschließlich des 15'ten selbst), soll aber nur jeden dritten Tag (d.h. jeweils zwei Tage sind zu überspringen) innerhalb dieser Periode berücksichtigt werden, z.B. `Seminar`, so kann einerseits für den 15'ten im Monat ein Termineintrag in der Ressourcendatei vorgenommen werden, für den 18'ten und auch für den 21'ten im Monat, was in diesem Fall drei Einträge in der Ressourcendatei zu einem solchen Termin ergäbe54.

Andererseits kann mittels eines Auftretensfaktors von Tagen dieser Aufwand aber nun verringert werden hin zu nur einem Eintrag in der Ressourcendatei, welcher gleichermaßen für den 15'ten, den 18'ten und den 21'ten eines beliebigen Monat gilt, beispielsweise unter Verwendung eines Wiederholungsfaktors

    19960015:7.3 Seminar

oder auch unter Verwendung eines Bereichs von Tagen

    19960015#21.3 Seminar

Erlaubt ist die Benutzung der Auftretensfaktoren von Tagen im Datumteil wie folgt:

- `jjjjmmtt:n.n|tt.n:n`
- `jjjjmmwwwn:n.n|wwwn.n:n`
- `jjjj*d|wn:n.n|n.n:n`
- `jjjj*d|wnwww:n.n|nwww.n:n`
- `jjjj@e|t|dvar[[+|-]n[www]]:n.n`
- `jjjj@e|t|dvar[[+|-]n[www]].n:n`
- `jjjjmmtt:n.n|wwwn:n.n,[mm]tt:n.n|[mm]wwwn:n.n ...`
- `jjjjmmtt.n:n|wwwn.n:n,[mm]tt:n.n|[mm]wwwn.n:n ...`
- `jjjj*d|wn:n.n|nwww:n.n,n:n.n|nwww:n.n ...`
- `jjjj*d|wn.n:n|nwww.n:n,n.n:n|nwww.n:n ...`
- `jjjj@e|t|dvar:n.n,|[+|-]n[www]:n.n,[+|-]n[www]:n.n ...`
- `jjjj@e|t|dvar.n:n,|[+|.]n[www].n:n,[+|.]n[www].n:n ...`
- `jjjjmmwww#www.n`
- `jjjjmmtt|wwwn#[mm]tt|[mm]wwwn.n`
- `jjjj*d|wn[www]#n[www].n`
- `jjjj@e|t|dvar[[+|-]n[www]]#[+|-]n[www].n`

Einige Beispiele hierzu:

`000001fr3:11.3`
  In jedem Jahr im Monat Januar: an jedem Tag, der in den Zeitraum vom 3'ten Freitag und den darauffolgenden zehn Tagen fällt, aber nur jeden dritten Tag in diesem Zeitraum (überspringe jeweils zwei Tage).
`00000112:3.2`
  In jedem Jahr im Monat Januar: an jedem Tag, der in den Zeitraum vom 12'ten des Monats und den darauffolgenden zwei Tagen fällt, aber nur jeden zweiten Tag in diesem Zeitraum (überspringe jeweils einen Tag).
`00000112:3.2,fr3:5.3`
  In jedem Jahr im Monat Januar: an jedem Tag, der in den Zeitraum vom 12'ten des Monats und den darauffolgenden zwei Tagen fällt, aber nur jeden zweiten Tag (überspringe jeweils einen Tag) sowie auch am 3'ten Freitag im Januar jeden Jahres und den darauffolgenden vier Tagen, aber nur jeden dritten Tag (überspringe jeweils zwei Tage).
`0*d1:10.1`
  In jedem Jahr: an jedem Tag, der in den Zeitraum vom 1'ten Tag des Jahres und den darauffolgenden neun Tagen fällt, und das für jeden dieser Tage (überspringe jeweils null Tage) in diesem Zeitraum.
`0*d1:2.5`
  In jedem Jahr: an jedem Tag, der in den Zeitraum vom 1'ten Tag des Jahres und dem darauffolgenden Tag fällt, aber nur jeden fünften Tag (überspringe jeweils vier Tage) in diesem Zeitraum. In einem solchen Fall werden die dem Starttag (1'ter Tag des Jahres) folgenden Tage (in diesem Beispiel nur einer) nicht respektiert, da der nächste Tag, der sich unter Berücksichtigung des Auftretensfaktors ergibt, denjenigen Tag, welcher sich mit dem Wiederholungsfaktor als Endetag der Periode errechnet, überschreitet.
`0*d99fr:333.61`
  In jedem Jahr: an jedem Tag, der in den Zeitraum vom letzten Freitag des Jahres und den darauffolgenden 332 Tagen fällt, aber nur jeden 61'ten Tag (überspringe jeweils 60 Tage) in diesem Zeitraum. Allerdings werden in Fällen wie diesen, wo ein solcher Termin die Jahresgrenze überschreiten würde, nur Termine bis zum letzten Tag des Jahres produziert. Da nun aber mit einem Versatz von 60 Tage gearbeitet werden soll, wird keiner der dem Starttag (letzter Freitag des Jahres) folgenden Tage (in diesem Beispiel 332) respektiert, da der nächste Tag, der sich unter Berücksichtigung des Auftretensfaktors ergibt, denjenigen Tag, welcher sich mit dem Wiederholungsfaktor als Endetag der Periode errechnet (hier wäre es der letzte Tag des Jahres), überschreitet.
`1996*w1fr:17.8`
  Im Jahr 1996: an jedem Tag, der in den Zeitraum vom Freitag der 1'ten Kalenderwoche und den darauffolgenden 16 Tagen fällt, aber nur jeden achten Tag in diesem Zeitraum (überspringe jeweils sieben Tage).
`0@a:4.3`
  In jedem Jahr: an jedem Tag, der in den Zeitraum vom Datum der Datumvariablen a und den darauffolgenden drei Tagen fällt, aber nur jeden dritten Tag in diesem Zeitraum (überspringe jeweils zwei Tage).
`1996@e-3:9.4`
  Im Jahr 1996: an jedem Tag, der in den Zeitraum vom Datum drei Tage vor Ostersonntag und den darauffolgenden acht Tagen fällt, aber nur jeden vierten Tag in diesem Zeitraum (überspringe jeweils drei Tage).
`1996@e3#-20so.15`
  Im Jahr 1996: an jedem Tag, der in den Zeitraum vom Datum drei Tage nach Ostersonntag bis zum 20'ten Sonntag vor Ostersonntag fällt, aber nur jeden 15'ten Tag in diesem Zeitraum (überspringe jeweils 14 Tage).
`1996@t3#-20so.15`
  Im Jahr 1996: an jedem Tag, der in den Zeitraum vom Datum drei Tage nach dem heutigen Datum bis zum 20'ten Sonntag vor dem heutigen Datum fällt, aber nur jeden 15'ten Tag in diesem Zeitraum (überspringe jeweils 14 Tage).

Knoten:Textteil einer Zeile, Nächster:Spezialtexte, Vorheriger:Weitere Datumteil-Attribute, Aufwärts:Ressourcendatei

### Textteil einer Zeile

Der Textteil einer Zeile der Ressourcendatei darf jeden beliebigen Text enthalten, den Sie mögen. Allerdings haben einige Zeichen eine Sonderbedeutung (`%`, `$`, `~`, `^` und `\`), und müssen gegebenenfalls geschützt werden, falls mit diesen Zeichen besondere Zeichenkombinationen gebildet werden55, die nur rein textlich verwendet werden sollen. Falls der Textteil nicht von Gcal selbst erzeugte Zeichen zur Druckaufbereitung oder Hervorhebung enthält, oder Zeichen, denen in der Tabelle des verwendeten Zeichensatzes ein Wert größer 127 (dezimal) zugeordnet ist56, so werden auch diese Zeichen von Gcal ausgegeben, allerdings uninterpretiert! Deswegen können bei der Ausgabe solcher Zeichen unter Umständen Probleme mit der verwendeten Bildschirmtreiber-Software und/oder dem externen Paginiererprogramm auftreten, ebenso wie beim Versand solcher Zeichen mittels elektronischer Post.

So genannte `NUL` Zeichen57 dürfen auch im Textteil enthalten sein, diese bewirken aber, daß der gesamte Text, der dem ersten Auftreten von einem `NUL` Zeichen folgt, unterdrückt wird. Da es meiner Meinung nach keinen erkennbaren Sinn macht, auch diese Zeichen als solche uninterpretiert auszugeben, dienen diese also nur zum Kommentieren; sonst würden `NUL` Zeichen auch die bereits vorgenannten Probleme verursachen.

Eine Zeile der Ressourcendatei wird auf der Folgezeile fortgesetzt, wenn eine `\-\n` (Backslash-Newline) Zeichensequenz vorgefunden wird, d.h. das Newline Zeichen der Zeile durch ein Backslash Zeichen unterdrückt wird, z.B.:

Die Zeile:

    000000Mo Jeden Montag

und die Zeilen:

    000000Mo \
    Jeden \
    Montag

bewirken die gleiche Ausgabe und sind insofern identisch.

Ferner können lange Textteile an beliebiger Stelle umgebrochen werden. Die Bezeichnung lang bedeutet in diesem Zusammenhang, daß der von Gcal bei der Ausgabe dargestellte Text den rechten Bildschirmrand überschreiten bzw. an diesem umgebrochen würde.

Jedesmal wenn ein `~` (Tilde) Zeichen im Textteil vorgefunden wird, so wird dieses Zeichen durch ein echtes `\n` (Newline) Zeichen ersetzt, und der so umgebrochene Text bei der Ausgabe linksbündig formatiert dargestellt, das heißt, mit einer bestimmten Anzahl von Leerzeichen aufgefüllt.

Falls das `~` (Tilde) Zeichen als Zeichen selbst verwendet werden soll, so muß es durch ein führendes `\` (Backslash) Zeichen hinsichtlich seiner speziellen Bedeutung entwertet werden, z.B. `\~`. Wenn die Zeichen `\~` selbst als Zeichenfolge verwendet werden sollen, so muß das `\` (Backslash) Zeichen durch ein weiteres `\` (Backslash) Zeichen geschützt werden, z.B. `\\~`.

Jedesmal wenn ein `^` (Caret) Zeichen im Textteil vorgefunden wird, so wird auch dieses Zeichen durch ein echtes `\n` (Newline) Zeichen ersetzt, und der so umgebrochene Text bei der Ausgabe in Spalte 1 dargestellt, das heißt, nicht mit Leerzeichen aufgefüllt. Die Schutzregeln des `^` Zeichens entsprechen denen des `~` Zeichens.

Die Ressourcendatei `lbrk-1.rc`

    $ cat lbrk-1.rc
    -| ; Hallo, ich bin `lbrk-1.rc' und jetzt lebendig
    -| ;
    -| 0 Ich weiss ich bin ein kurzer Text
    -| 0 Ich hoffe ich bin lang genug~hier, ein Zeilenumbruch~\
    -| und noch einer~und nun zum letzten Mal...
    -| 0 Ich hoffe ich bin auch lang genug^hier, ein Zeilenumbruch\
    -| ~und noch einer^und nun zum letzten Mal...
    -| 0 Bin ich ein kurzer Text? Weiss nicht...

wird wie folgt ausgegeben:

    $ gcal %00000101 --resource-file=./lbrk-1.rc --disable-highlighting
    -|
    -| Terminliste:
    -|
    -| Sa,   1 Jan 2000: Bin ich ein kurzer Text? Weiss nicht...
    -| Sa,   1 Jan 2000: Ich hoffe ich bin auch lang genug
    -| hier, ein Zeilenumbruch
    -|                   und noch einer
    -| und nun zum letzten Mal...
    -| Sa,   1 Jan 2000: Ich hoffe ich bin lang genug
    -|                   hier, ein Zeilenumbruch
    -|                   und noch einer
    -|                   und nun zum letzten Mal...
    -| Sa,   1 Jan 2000: Ich weiss ich bin ein kurzer Text

Da whitespace Zeichen zur Trennung von Datum- und Textteil verwendet werden, ist es somit nicht ohne weiteres möglich, den Textteil mit führenden whitespace Zeichen zu versehen, weil diese intern übersprungen werden und somit nicht zur Ausgabe gelangen. Falls nun aber doch whitespace Zeichen den Textteil anführen sollen, so muß das erste dieser whitespace Zeichen durch ein führendes `\` (Backslash) Zeichen hinsichtlich seiner speziellen Bedeutung entwertet werden, z.B. `\` , wenn es sich um ein Leerzeichen handelt. Gcal erkennt an Hand einer solchen Zeichenfolge, daß der Text, der dem `\` Zeichen nachfolgt, nicht mehr länger der Trennung dient, sondern Bestandteil vom Textteil ist. Gcal überspringt sodann dieses besondere, nur der Markierung dienende Backslash Zeichen (stellt es also nicht in die Ausgabe), und verarbeitet den Rest der Zeile wie üblich.

Folgendes Beispiel sollte genügen, um den vorstehenden Sachverhalt zu verdeutlichen. Die Ressourcendatei `wspc-1.rc`

    $ cat wspc-1.rc
    -| 0 BANG BANG
    -| 0 bogus
    -| 0         bogomips
    -| 0    \hallo welt
    -| 0    \ main(){for(;;)fork();}
    -| 0 \     sh $0 & $0 &
    -| 0    \  a  \  b  \\  c  \\\  d
    -| 0    Was passiert nun?\
    -| ~0  \  Dieses!
    -| 0    Was passiert nun?\\
    -| ~0  \  Jenes!

wird wie folgt ausgegeben:

    $ gcal --resource-file=./wspc-1.rc --disable-highlighting
    -|
    -| Terminliste:
    -|
    -| Sa,   3 Jun 2000:      sh $0 & $0 &
    -| Sa,   3 Jun 2000:   a  \  b  \\  c  \\\  d
    -| Sa,   3 Jun 2000:  main(){for(;;)fork();}
    -| Sa,   3 Jun 2000: BANG BANG
    -| Sa,   3 Jun 2000: Was passiert nun?~0  \  Jenes!
    -| Sa,   3 Jun 2000: Was passiert nun?
    -|                   0  \  Dieses!
    -| Sa,   3 Jun 2000: \hallo welt
    -| Sa,   3 Jun 2000: bogomips
    -| Sa,   3 Jun 2000: bogus

Knoten:Spezialtexte, Nächster:Zeile kommentieren, Vorheriger:Textteil einer Zeile, Aufwärts:Ressourcendatei

### `%?`... Spezialtexte

Der Textteil einer Zeile der Ressourcendatei darf mit verschiedenen Spezialtexten ausgestattet werden, welche in jeder beliebigen58 Anzahl und Reihenfolge auftreten dürfen. Diese Texte beginnen alle mit dem `%` (Prozent) Zeichen, welches seinerseits durch ein führendes `\` (Backslash) Zeichen hinsichtlich seiner speziellen Bedeutung entwertet werden kann, falls das `%` (Prozent) Zeichen selbst im Textteil verwendet werden soll, z.B. `\%`. Dem `%` Zeichen folgt sodann meist eine optionale Formatanweisung, (siehe Formatanweisung, für die ausführliche Beschreibung der Formatanweisung und ihrer Komponenten), und danach ein Kennzeichen, welches die Art des Spezialtextes definiert. Falls das Kennzeichen ein Buchstabe ist, so wird zwischen Groß- bzw. Kleinschreibung unterschieden.

Der Sinn dieser Spezialtexte besteht hauptsächlich darin, entweder die Ausgabe von Terminen in bestimmten Fällen zu unterdrücken, oder aber diese mit besonderen Texten auszustatten bzw. externe Kommandos auszuführen. SieheBeschreibung aller `%?`... Spezialtexte, für eine vollständige Darstellung aller verwendbaren Spezialtexte, und Zusammenfassung aller `%?`... Spezialtexte, für deren entsprechende Kurzdarstellung.

So wird zum Beispiel die Ressourcendatei `speci-1.rc`

    $ cat speci-1.rc
    -| ; Ich bin wahrhaftig sehr speziell :)
    -| ;
    -| 0 1. Heute ist %>1u*K , %>02&*D  %U  %Y !
    -| 0 2. Es ist der %>03&*N  Tag des Jahres.
    -| 0 3. Die aktuelle Wochennummer ist: %k .
    -| 0 4. Gegenwaertig ist es %t*  Uhr, Herr %-USER .
    -| 0 5. Beeilen Sie sich mit ihrer Arbeit,~\
    -|    denn Sonnenaufgang ist um %o+5158+00738+61,2: .

wie folgt ausgegeben (wenn das heutige Datum der 4'te Oktober 1996 ist):

    $ gcal --resource-file=speci-1.rc -H no -ox
    -|
    -| Mo,   4 Okt 1999: 1. Heute ist MONTAG, 04'ter Oktober 1999!
    -|                   2. Es ist der 277'ter Tag des Jahres.
    -|                   3. Die aktuelle Wochennummer ist: 40.
    -|                   4. Gegenwaertig ist es 04:01am Uhr, Herr esken.
    -|                   5. Beeilen Sie sich mit ihrer Arbeit,
    -|                      denn Sonnenaufgang ist um 07:33.

Knoten:Zeile kommentieren, Nächster:Einfuegeanweisungen, Vorheriger:Spezialtexte, Aufwärts:Ressourcendatei

### Zeile kommentieren

Eine Zeile59 der Ressourcendatei, die mit einem `;` (Semikolon) Zeichen beginnt, ist ein Kommentar und wird von Gcal vollständig ignoriert! Führende whitespace Zeichen dürfen dem Kommentarzeichen vorangehen. SieheTextteil einer Zeile, wo erklärt wird, wie ein `NUL` Zeichen zur Kommentierung in einem Textteil benutzt werden kann.

Die nun folgende Darstellung der `remark.rc` Ressourcendatei, die ihrerseits nur aus Kommentaren besteht, sollte genügen um den vorstehenden Sachverhalt zu verdeutlichen:

    $ cat remark.rc
    -| ;00001031 ^\
    -|                         .......^\
    -|                         ;::;::,^\
    -|                         ;::;::;,^\
    -|                        ;;::;;:;;,^\
    -|           .vmnv\%vnv\%,.;;;:::;;:;;,  .,vnmv\%vnn,^\
    -|        vmmmn\%vmmnv\%vnmmnv\%;;;;;;\%nmmmnv\%vnmv\%vmmv^\
    -|      vmmnv\%vmmmnv\%vnmmmmmnv\%;:\%nmmmmmmnv\%vnm\%vnmmmv^\
    -|     vmmnv\%vmmmnv\%vnmmmmmmmmnv\%nmmmmmmmmnv\%vnmm\%vnmmmv^\
    -|    vmmnv\%vmmmnv\%vnmmmmmmmmnv\%vmmmmmmmmmmnv\%vnmv\%vnmmmv^\
    -|   vmmnv\%vmmmnv\%vnmm;mmmmmmnv\%vmmmmmmmm;mmnv\%vnmv\%vnmmmv,^\
    -|  vmmnv\%vmmmnv\%vnmm;' mmmmmnv\%vmmmmmmm;' mmnv\%vnmv\%vnmmmv,^\
    -|  vmmnv\%vmmmnv\%vn;;    mmmmnv\%vmmmmmm;;    nv\%vnmmv\%vnmmmv^\
    -| vmmnv\%vmmmmnv\%v;;      mmmnv\%vmmmmm;;      v\%vnmmmv\%vnmmmv^\
    -| vmmnv\%vmmmmnv\%vnmmmmmmmmm;;      mmmmmmmmmnv\%vnmmmmv\%vnmmmv^\
    -| vmmnv\%vmmmmnv\%vnmmmmmmmmmm;;    mmmmmmmmmmnv\%vnmmmmv\%vnmmmv^\
    -| vmmnv\%vmmmmnv\%vnmmmmmmmmmmnv;,mmmmmmmmmmmmnv\%vn;mmmv\%vnmmmv^\
    -| vmmnv\%vmmm. nv\%vnmmmmmmmmmnv\%;mmmmmmmmmmmnv\%vn; mmmv\%vnmmmv^\
    -| `vmmnv\%vmm,  v\%vnmmmmmmmmmmnv\%nmmmmmmmmmmnv\%v;  mmv\%vnnmmv'^\
    -|  vmmnv\%vmm;,   \%vnmmmmmmmmmnv\%nmmmmmmmmmnv\%;'   mv\%vnmmmmv^\
    -|   vmmnv\%vmm;;,   nmmm;'             mmmm;;'    mv\%vnmmmmv'^\
    -|   `vmmnv\%vmmm;;,.         mmnvv;,            mmv\%vnmmmmv'^\
    -|    `vmmnv\%vmmmmnv\%vnmmmmmmmmnvvnmmmmmmnv\%vnmmmv\%vnmmmmv'^\
    -|      `vmvn\%vmmmmnv\%vnmmmmmmmnvvnmmmmmnv\%vnmmmm\%vnmmmv'^\
    -|          `v\%mmmmmn%:\%vnmnmmmmn\%vnmmmnv%:\%vnmv\%nmv'
    -|
    -| ; Ein Zeilenkommentar
    -|       ; Ebenfalls ein Zeilenkommentar
    -| ;     Ein                              \
    -|       formatierter und mehrzeiliger    \
    -|       Kommentar

Knoten:Einfuegeanweisungen, Nächster:Datumvariablen, Vorheriger:Zeile kommentieren, Aufwärts:Ressourcendatei

### Einfügeanweisungen

Es dürfen `#include` Anweisungen in einer Ressourcendatei eingefügt werden, welche daß Aufsuchen und Vorladen weiterer Ressourcendateien bewirken60. Eine `#include` Anweisung veranlaßt Gcal das Lesen der laufenden Ressourcendatei zu unterbrechen und eine andere Ressourcendatei zu lesen, bevor mit dem Weiterlesen der laufenden Ressourcendatei fortgefahren wird. Die Anweisung ist eine Zeile in der Ressourcendatei, die wie die folgende Schablone aussieht:

    #include whitespace Argument [whitespace] newline

Das Argument kann entweder

    "Dateiname"

oder

    <Dateiname>

sein61.

Mindestens ein whitespace Zeichen ist notwendig zwischen `#include` und dem Argument. Dem Argument dürfen beliebig viele whitespace Zeichen folgen und die Zeile muß mit einem `\n` (Newline) Zeichen enden, ausgenommen es ist die letzte Zeile in einer Ressourcendatei.

Nun zu einem etwas konkreteren Beispiel:

1. #include "foo/bar"
2. #include <bar>

Die erste `#include` Anweisung regt Gcal an, die Datei `bar` im Dateiverzeichnis `foo` vom aktuellen Dateiverzeichnis aus einzufügen. Falls das nicht gelingt, so versucht Gcal mittels der Schritte 1...4 des bereits zuvor erklärten Datei-Suchmechanismus' diese Datei einzufügen (sieheDatei-Suchmechanismus).

Die zweite `#include` Anweisung regt Gcal an, die Datei `bar` aus dem Benutzer- bzw. System-Datenverzeichnis mittels der Schritte 3...4 des bereits zuvor erklärten Datei-Suchmechanismus' einzufügen. Allerdings ist es nicht gestattet, Dateien, deren Zugriffspfad vom Wurzeldateiverzeichnis aus fest vorgegeben ist, mittels einer solchen `#include` Anweisung einzufügen, wie z.B. `#include </file>` oder `#include </foo/bar/file>`. Ebenfalls nicht gestattet bei dieser Art von `#include` Anweisungen ist die Angabe eines einfachen oder erweiterten Dateinamens, der mit einer Laufwerksangabe versehen ist, auch wenn ein Betriebssystem wie MS-DOS oder OS/2 eine solche Laufwerksangabe grundsätzlich erlauben würde, da der mit führendem Benutzer- bzw. System-Datenverzeichnisnamen ausgestattete, resultierende, erweiterte Dateiname nicht mehr den geltenden Dateinamenskonventionen entsprechen würde.

Eingefügte Dateien dürfen ihrerseits wiederum weitere Dateien einfügen. Allerdings ist die Schachtelungstiefe eingefügter Dateien einerseits durch die Größe des zur Verfügung stehenden Hauptspeichers begrenzt, und andererseits durch den Wert, der vom Betriebssystem bzw. Kompilierer als Obergrenze von gleichzeitig geöffneten Dateien vorgegeben ist. Rekursive Einfügungen62 oder zyklische Einfügungen63 sind nicht erlaubt, da solche Rückwärtsbezüge eine programminterne Endlosschleife erzeugen würden! Gcal erkennt solche Situationen und beendet sich sofort mit einem fatalen Fehler. SieheFehlerkode 119, für weitere Informationen.

Falls eine einzufügende Ressourcendatei nicht gefunden wird und keine `--debug=abort` Option angegeben ist, so wird mit der Verarbeitung der Ressourcendatei, welche `#include` enthielt, fortgefahren.

Knoten:Datumvariablen, Nächster:Textvariablen, Vorheriger:Einfuegeanweisungen, Aufwärts:Ressourcendatei

### Datumvariablen

Gcal berücksichtigt globale und/oder lokale Datumvariablen, die entweder im Datumteil einer Zeile der Gcal Ressourcendatei oder als Bestandteil eines Spezialtexts im Textteil einer Zeile der Ressourcendatei verwendet werden dürfen. Das bedeutet, daß bis zu 24 benutzerdefinierte Datumvariablen gesetzt und während der Programmausführung referenziert werden können. SieheTermin Option `--date-variable=Argument`, für weitere Details zu globalen Datumvariablen.

Der Name einer Datumvariablen dvar besteht aus einem einzelnen Buchstaben64. In einer Definition folgt diesem Namen sodann der Zuweisungsoperator `=`, und die Zahlenwerte für Monat mm (oder einem Monatsnamen im 3-Buchstaben Kurzformat, z.B. `Jan`, `Feb`, ...) und Tag tt, welche diese Variable aufzunehmen hat65, z.B.:

    a=1127
    c=a

speichert den 27'ten November in der lokalen Datumvariablen a und in der lokalen Datumvariablen c. Sie sollten stets in Erinnerung behalten, daß Datumvariablen erst dann in einer Zeile referenziert werden können, wenn diese bereits definiert worden sind, da eine Ressourcendatei von Gcal Zeile für Zeile abgearbeitet wird.

Nur an lokale Datumvariablen können dynamische Daten zugewiesen werden, die im `mmwwwn`, `dvar[+|-]n[www]` oder `*d|wn[www]` Format angegeben sind, z.B.:

    a=03so2
    b=JunMon9
    c=b-3
    d=c+4Sa
    x=*d10
    y=*d10fre
    z=*w3So

Vorstehendes bedeutet, daß die Datumvariable a das Datum des 2'ten Sonntags im März speichert und b das Datum des letzten Montags im Monat Juni speichert. Datumvariable c speichert das Datum, welches drei Tage vor dem Datum des letzten Montags im Juni liegt und in der Datumvariablen d wird dieses Datum auf dasjenige Datum gesetzt, welches sich vier Samstage nach dem Datum von c ergibt. Datumvariable x speichert das Datum des 10'ten absoluten Tages des Jahres (== 10'ter Januar). y speichert das Datum des 10'ten Freitags des Jahres, und z wird das Datum des Sonntags, der in die 3'te Kalenderwoche fällt, zugewiesen.

Achtung:
Diese Art der Zuweisung an Datumvariablen wird nur innerhalb einfacher Jahresgrenzen korrekt berechnet, also nicht in denjenigen Terminen, welche ausgegeben werden, nachdem das laufende Jahr gewechselt hat, z.B. in Fiskaljahren.

Datumvariablen, die in einer Ressourcendatei definiert werden, sind stets lokal, und werden nur in dieser spezifischen Datei und derjenigen Datei respektiert, welche in diese eingefügt wird. Das bedeutet hinsichtlich der eingefügten Datei, daß alle lokalen Variablen der aufrufenden Datei sichtbar sind. Die eingefügte Datei selbst darf eigene lokale Variablen definieren, welche dann die bereits an anderer Stelle definierten lokalen Variablen überdecken, und welche bei Weiterverarbeitung der aufrufenden Datei nicht exportiert werden. Alle anderen Definitionen von Datumvariablen66 sind stets global. Falls eine Zeile einer Ressourcendatei eine Referenz auf eine Datumvariable enthält, die nicht lokal in dieser Datei definiert ist, so wird Gcal versuchen, die Werte der entsprechenden globalen Variablen zu benutzen. Sollte dieses nicht gelingen, da keine globale Definition dieser Datumvariablen vorliegt, so wird Gcal diese Zeile nicht verarbeiten. Wenn zudem die einfache `--debug` bzw. `--debug=internal` Option angegeben wurde, so wird ein Informationstext auf dem Standardfehler-Gerätekanal für jede undefinierte Datumvariable ausgegeben (sieheGlobale Option `--debug=internal`). Falls die `--debug=abort` Option angegeben wurde und eine Referenz einer undefinierten Datumvariable auftrat, so wird das Gcal Programm mit Fehlerkode abgebrochen. SieheFehlerkode 113, und Globale Option `--debug=abort`, für weitere Informationen.

Eine lokale Datumvariable kann aber auch gelöscht werden, was bedeutet, daß diese Datumvariable keinen lokalen Gültigkeitsbereich mehr aufweist und somit undefiniert ist. So ist es dann möglich, daß in einer Folgezeile, in der diese Datumvariable referenziert wird, ein möglicherweise global gesetzter Wert dieser Datumvariable verwendet werden kann. Das nachfolgende Beispiel der Ressourcendatei `dvar-1.rc` verdeutlicht diesen Sachverhalt:

    $ cat dvar-1.rc
    -| ; dvar-1.rc
    -| ;
    -| z=0202
    -| 0@z Das lokal an `z' zugewiesene Datum
    -| z=
    -| 0@z Das global an `z' zugewiesene Datum
    -| z=0404
    -| 0@z Das lokal an `z' zugewiesene Datum

So erzeugt Gcal die folgenden Ausgaben:

    $ gcal %1777 -H no -x -v z=1212 -f ./dvar-1.rc -y
    -|
    -| So,   2 Feb 1777: Das lokal an `z' zugewiesene Datum
    -| Fr,   4 Apr 1777: Das lokal an `z' zugewiesene Datum
    -| Fr,  12 Dez 1777: Das global an `z' zugewiesene Datum
    $ gcal %1777 -H no -x -f ./dvar-1.rc -y
    -|
    -| So,   2 Feb 1777: Das lokal an `z' zugewiesene Datum
    -| Fr,   4 Apr 1777: Das lokal an `z' zugewiesene Datum

Nur fortgeschrittene Benutzer sollten die `--export-date-variables` Option benutzen, welche bewirkt, daß die aktuelle Inkarnation einer lokalen Datumvariablen --welche zuvor in einer Ressourcendatei definiert wurde und nicht in einer eingefügten Datei-- an weitere Ressourcendateien exportiert wird, anstelle der Benutzung deren globalen Wertes, falls diese Datumvariable nicht lokal in dieser weiteren Ressourcendatei definiert ist. SieheEinfügeanweisungen, für weitere Details.

Aber seien Sie vorsichtig, die Benutzung dieser Option könnte unerwartete Ergebnisse erzeugen, da die Reihenfolge der Abarbeitung der Ressourcendateien eine wichtige Größe hinsichtlich der Wirkung der `--export-date-variables` Option ist, so daß es nicht empfohlen werden kann, diese Option zu benutzen. Sie, der Benutzer, müssen sehr genau wissen, was Sie mit dieser Option bezwecken wollen; Sie seien nun ausdrücklich gewarnt!

Einige grundlegende Operationen können auf Datumvariablen ausgeführt werden. Diese sind:

Operation | Beschreibung
`dvar++` | Einfache Inkrementierung um einen Tag.
`dvar--` | Einfache Dekrementierung um einen Tag.
`dvar+=[+|-]n` | Addition eines konstanten numerischen Tagesfaktors [+|-]n.
`dvar-=[+|-]n` | Subtraktion eines konstanten numerischen Tagesfaktors [+|-]n.
`dvar+=nwww` | Addition von n Wochentagen www.
`dvar-=nwww` | Subtraktion von n Wochentagen www.

Der Gültigkeitsbereich der Operationen, welche auf einer lokalen Datumvariablen durchgeführt werden, erstreckt sich auf die Ressourcendatei oder die eingefügte Datei, in welcher die lokale Datumvariable definiert wurde.

Falls Operationen auf eine globale Datumvariable in einer Ressourcendatei oder in derjenigen Datei, die in diese eingefügt wird, durchgeführt werden, so sind diese Operationen nur in dieser entsprechenden Datei gültig67, nicht aber in weiteren Ressourcendateien, welche verarbeitet werden. Das bedeutet, daß die Initialwerte der globalen Datumvariablen stets restauriert werden, falls die zu verarbeitende Ressourcendatei wechselt.

Bitte beachten Sie abschließend, daß jede Zuweisung an eine Datumvariable oder Operation auf eine Datumvariable in einer separaten Zeile der Ressourcendatei erfolgen muß.

Knoten:Textvariablen, Vorheriger:Datumvariablen, Aufwärts:Ressourcendatei

### Textvariablen

Gcal berücksichtigt globale und/oder lokale Textvariablen, die überall in einer Zeile der Gcal Ressourcendatei verwendet werden dürfen. Das bedeutet, daß bis zu 26 benutzerdefinierte Textvariablen gesetzt und während der Programmausführung referenziert werden können. SieheTermin Option `--text-variable=Argument`, für weitere Details zu globalen Textvariablen.

Der Name einer Textvariablen tvar besteht aus einem `$` Präfix und einem einzelnen Buchstaben68.

Eine Textvariable wird wie folgt definiert:

- Wird der Name der Textvariablen von einem `=` Zuweisungsoperator gefolgt, so wird der gesamte Text, der rechts von diesem Zuweisungsoperator auftritt, an diese Textvariable zugewiesen.
- Wird der Name der Textvariablen von einem `?` Zuweisungsoperator gefolgt, so wird der gesamte Text, der rechts von diesem Zuweisungsoperator auftritt, von Gcal als externes Kommando aufgefasst und ausgeführt. Die Ausgabe, die das Kommando auf dem Standardausgabe-Gerätekanal erzeugt hat, wird an diese Textvariable zugewiesen; und zwar interpretiert. Das heißt, Gcal interpretiert alle in dieser Ausgabe enthaltenen Spezialtexte und Textvariablenreferenzen. SieheSpezialtexte, für weitere Informationen.
- Wird der Name der Textvariablen von einem `:` Zuweisungsoperator gefolgt, so wird der gesamte Text, der rechts von diesem Zuweisungsoperator auftritt, von Gcal als externes Kommando aufgefasst und ausgeführt. Die Ausgabe, die das Kommando auf dem Standardausgabe-Gerätekanal erzeugt hat, wird an diese Textvariable zugewiesen; und zwar uninterpretiert. Das heißt, Gcal interpretiert keine in dieser Ausgabe enthaltenen Spezialtexte und Textvariablenreferenzen. Siehe ebenfalls Spezialtexte, für weitere Details.

Allerdings werden externe Kommandos von Gcal nur dann ausgeführt, wenn die `--execute-command` Option beim Programmaufruf angegeben wurde. SieheTermin Option `--execute-command`, für weitere Informationen.

Der Text, der rechts von einem der zulässigen Zuweisungsoperatoren auftritt, darf Namen von bereits definierten Textvariablen referenzieren. Bevor die Zuweisung vorgenommen wird, werden diese Referenzen dann von Gcal in ihre entsprechenden textlichen Ausprägungen umgesetzt. Sie sollten stets in Erinnerung behalten, daß Textvariablen erst dann in einer Zeile referenziert werden können, wenn diese bereits definiert worden sind, da eine Ressourcendatei von Gcal Zeile für Zeile abgearbeitet wird. Textvariablenreferenzen werden von Gcal stets solange rekursiv expandiert, bis alle Sub-Referenzen auf andere Textvariablen aufgelöst sind.

Lokale Textvariablen werden auf einen leeren Wert gesetzt und dabei gleichzeitig in einem Sondermodus definiert, falls kein Text rechts von einem der zulässigen Zuweisungsoperatoren angegeben ist.

Wird eine Textvariable referenziert, so darf zwischen dem `$` Präfix und dem einzelnen Buchstaben (hier: der Variablenname) noch eine optionale Formatanweisung angegeben werden, die es ermöglicht, den Text (hier: den Inhalt), auf den die Textvariable verweist, besonders darzustellen. Angenommen, es existiert eine Ressourcendatei mit dem Namen `tvarf-1.rc` und dem folgenden Inhalt:

    $ cat tvarf-1.rc
    -| ; tvarf-1.rc
    -| ;
    -| $a=123
    -| $b=$:010*a
    -| $c=$b
    -| $b=
    -| 0 1. \$c=.$c.
    -| 0 2. \$c=.$:20*c.
    -| 0 3. \$b=.$>1w*b.
    -| 0 4. \$a=.$>5#a.

So erzeugt Gcal die folgende Ausgabe:

    $ gcal -Ux --text-variable='$b=XXX YY' --resource-file=./tvarf-1.rc
    -|
    -| 1. $c=.0000000123.
    -| 2. $c=.      0000000123       .
    -| 3. $b=.Xxx Yy.
    -| 4. $a=.  123.

SieheFormatanweisung, für die ausführliche Beschreibung der Formatanweisung und ihrer Komponenten.

Falls das `$` Zeichen im Text als Zeichen selbst verwendet werden soll, so muß dieses durch ein führendes `\` (Backslash) Zeichen hinsichtlich seiner speziellen Bedeutung entwertet werden, z.B. `\$`. Wenn die Zeichen `\$` im Text selbst als Zeichenfolge verwendet werden sollen, so muß das `\` (Backslash) Zeichen durch ein weiteres `\` (Backslash) Zeichen geschützt werden, z.B. `\\$`.

Externe Kommandos werden nicht direkt von Gcal ausgeführt, sondern von dem Kommandointerpretierer des Betriebssystems, der shell. Das hat zur Folge, daß die Kommandos natürlich entsprechend den Syntaxkonventionen im Hinblick auf die Gruppierungsregeln, Listenverarbeitungsregeln, Umlenkungsregeln et cetera der verwendeten shell angegeben sein müssen! Zum Beispiel kann es sein, daß `$a?(cat text)` anstelle des einfachen `$a?cat text` geschrieben werden muß. Für weitere Einzelheiten hierzu sei auf die einschlägige Fachliteratur verwiesen.

Bei der interpretierten Zuweisung der Ausgabe von externen Kommandos an Textvariablen, die auf dem Standardausgabe-Gerätekanal erscheint, wird die Ausgabe von Gcal intern in eine temporäre Datei umgelenkt. Danach wird der Inhalt der temporären Datei an die Textvariable übertragen, und die temporäre Datei wird entfernt.

Bei der uninterpretierten Zuweisung der Ausgabe von externen Kommandos an Textvariablen, die auf dem Standardausgabe-Gerätekanal erscheint, wird die Ausgabe zuerst intern vom Txt2gcal Programm bearbeitet (sieheAufruf von `txt2gcal`), und erst dann wird die Ausgabe von Gcal intern in eine temporäre Datei umgelenkt. Danach wird der Inhalt der temporären Datei an die Textvariable übertragen, und die temporäre Datei wird entfernt. Falls eine `TXT2GCALPROG` Umgebungsvariable (sieheUmgebungsvariable `TXT2GCALPROG`) definiert und mit dem Dateinamen des ausführbaren Txt2gcal Programms gesetzt ist, so benutzt Gcal diesen Dateinamen, um Txt2gcal aufzurufen. Andernfalls benutzt Gcal den beim Kompilationsvorgang eingebrannten Dateinamen `txt2gcal`, um das Txt2gcal Programm aufzurufen. Die `TXT2GCALPROG` Umgebungsvariable muß immer dann gesetzt werden, wenn das Txt2gcal Programm unter einem anderen Namen als dem Standardnamen `txt2gcal` installiert ist, da Gcal sonst das Txt2gcal Programm nicht automatisch ausführen kann!

Wenn die einfache `--debug` bzw. `--debug=internal` Option bei Programmstart angegeben wurde, so wird ein Text auf dem Standardfehler-Gerätekanal ausgegeben, der mit Informationen zum ausgeführten Kommando und dessen exit-Kode ausgestattet ist (sieheGlobale Option `--debug=internal`).

Falls die `--debug=abort` Option angegeben wurde und sich ein exit-Kode ungleich Null bei der Ausführung des Kommandos ergab, so wird das Gcal Programm mit Fehlerkode abgebrochen. SieheFehlerkode 2, sowie Globale Option `--debug=abort`, für weitere Informationen.

Nun folgt ein Beispiel, welches erläutert, wie die Ausgabe von externen Kommandos an Textvariablen zugewiesen werden kann. Angenommen, es existiert eine Ressourcendatei mit dem Namen `tvarc-1.rc` und dem folgenden Inhalt:

    $ cat tvarc-1.rc
    -| %t  $a $>+06*b $>1u*c

Diese Datei wird in der Ressourcendatei `tvarc-1a.rc` benutzt und von Gcal wie folgt verarbeitet:

    $ cat tvarc-1a.rc
    -| ; tvarc-1a.rc
    -| ;
    -| $a=bonjour
    -| $b=123
    -| $c=bonsoir
    -| $x?cat $f
    -| 0 \$x=---$:30*x---
    -| $y:cat $f
    -| 0 \$y=---$y---
    -| 0 \$y=:::$>1u*y:::
    $ gcal -f tvarc-1a.rc -QUx --exe -r'$f=./tvarc-1.rc'
    -| $x=---    04:03 bonjour +00123 BONSOIR     ---
    -| $y=---%t  $a $>+06*b $>1u*c---
    -| $y=:::%T  $A $>+06*B $>1U*C:::

Nun folgen ein paar weitere Beispiele, wie Textvariablen von Gcal verarbeitet werden. Angenommen, es existiert eine Ressourcendatei mit dem Namen `tvar-1.rc` und dem folgenden Inhalt:

    $ cat tvar-1.rc
    -| ; tvar-1.rc
    -| ;
    -| $a=foo
    -| 0 \$a:1=$a
    -| $c=$a
    -| 0 \$c=$c
    -| $b=$c bar $a
    -| 0 \$b=$b
    -| $a=bar $b baz $a booz
    -| 0 \$a:2=$a
    -| $a=
    -| $b=0 $b $c frozz $a frozz
    -| $b ->Das ist \$b
    -| 0 \$x='$x' und \$d ist nicht definiert: $d...
    -| $a= 0 ~ 1~2~\$3~%n~$c~\
    -| jetzt ist's genug!
    -| 0 \$a=---$a---
    -| $a=0 \   \ \\ Und das...
    -| $a geht auch!

So erzeugt Gcal die folgende Ausgabe:

    $ gcal %19960101 -H no -x -r '$A=FROBOZZ:$x=' -f ./tvar-1.rc
    -|
    -| Mo,   1 Jan 1996:    \ \\ Und das... geht auch!
    -| Mo,   1 Jan 1996: $a:1=foo
    -| Mo,   1 Jan 1996: $a:2=bar foo bar foo baz foo booz
    -| Mo,   1 Jan 1996: $a=--- 0
    -|                    1
    -|                   2
    -|                   $3
    -|                   01-Jan-1996
    -|                   foo
    -|                   jetzt ist's genug!---
    -| Mo,   1 Jan 1996: $b=foo bar foo
    -| Mo,   1 Jan 1996: $c=foo
    -| Mo,   1 Jan 1996: $x='' und $d ist nicht definiert: $d...
    -| Mo,   1 Jan 1996: foo bar foo foo frozz FROBOZZ frozz ->Das ist $b

Oder es existiert eine Ressourcendatei mit dem Namen `tvar-2.rc` und folgendem Inhalt:

    $ cat tvar-2.rc
    -| ; tvar-2.rc
    -| ;
    -| $a=$b foo
    -| $b=0@e
    -| $a bar
    -| $b \$b
    -| 0 \$a:$a
    -| 0 \$b:$b

So erzeugt Gcal die folgenden Ausgaben:

    $ gcal %19960101 -H no -x -f ./tvar-2.rc
    -|
    -| Mo,   1 Jan 1996: $a:0@e foo
    -| Mo,   1 Jan 1996: $b:0@e
    $ gcal %19960101 -H no -x -f ./tvar-2.rc -y
    -|
    -| So,   7 Apr 1996: $b
    -| So,   7 Apr 1996: foo bar

Wie zuvor gesehen können vollständige (oder auch teilweise) Datumteile (sieheDatumteil einer Zeile), sowie Spezialtexte (siehe`%?`... Spezialtexte) in Textvariablen angegeben werden, oder auch Referenzen auf andere Textvariablen, welche nach Expansion der Textvariablen von Gcal verarbeitet werden. SieheBeschreibung aller `%?`... Spezialtexte, für Einschränkungen hinsichtlich der Zuweisung von Spezialtexten an Textvariablen.

Textvariablen, die in einer Ressourcendatei definiert werden, sind stets lokal und werden nur in dieser spezifischen Datei und derjenigen Datei respektiert, welche in diese eingefügt wird. Das bedeutet hinsichtlich der eingefügten Datei, daß alle lokalen Variablen der aufrufenden Datei sichtbar sind. Die eingefügte Datei selbst darf eigene lokale Variablen definieren, welche dann die bereits an anderer Stelle definierten lokalen Variablen überdecken, und welche bei Weiterverarbeitung der aufrufenden Datei nicht exportiert werden. Alle anderen Definitionen von Textvariablen69 sind stets global. Falls eine Zeile einer Ressourcendatei eine Referenz auf eine Textvariable enthält, die nicht lokal in dieser Datei definiert ist, so wird Gcal versuchen, die Werte der entsprechenden globalen Variablen zu benutzen. Sollte dieses nicht gelingen, da keine globale Definition dieser Textvariablen vorliegt, so wird Gcal den Namen dieser Textvariablen unverändert in der Zeile belassen. Allerdings wird bei einer lokalen Textvariablen, die mit einem leeren Inhalt definiert wurde, nicht deren Name unverändert in der Zeile belassen falls keine globale Definition dieser Textvariablen vorgefunden wird, sondern diese wird vollständig von der Verarbeitung ausgenommen und erscheint auch nicht in der Ausgabe.

Hierzu ein Beispiel. Angenommen, es existiert eine Ressourcendatei mit dem Namen `tvar-3.rc` und folgendem Inhalt:

    $ cat tvar-3.rc
    -| ; tvar-3.rc
    -| ;
    -| $c=+00+000
    -| $h=
    -| $d=$c$h
    -| 0 %o$d  %s$d
    -| 0 \$c=$c  \$h=$h  \$d=$d  \$x=$x

So erzeugt Gcal die folgenden Ausgaben:

    $ gcal -QUx -f ./tvar-3.rc
    -| $c=+00+000  $h=  $d=+00+000  $x=$x
    -| 05:55 18:02
    $ gcal -QUx -r '$h=+1000:$x=' -f ./tvar-3.rc
    -| $c=+00+000  $h=+1000  $d=+00+000+1000  $x=
    -| 05:50 18:07

Nur fortgeschrittene Benutzer sollten die `--export-text-variables` Option benutzen, welche bewirkt, daß die aktuelle Inkarnation einer lokalen Textvariablen --welche zuvor in einer Ressourcendatei definiert wurde und nicht in einer eingefügten Datei-- an weitere Ressourcendateien exportiert wird, anstelle der Benutzung deren globalen Wertes, falls diese Textvariable nicht lokal in dieser weiteren Ressourcendatei definiert ist. SieheEinfügeanweisungen, für weitere Details.

Aber seien Sie vorsichtig, die Benutzung dieser Option könnte unerwartete Ergebnisse erzeugen, da die Reihenfolge der Abarbeitung der Ressourcendateien eine wichtige Größe hinsichtlich der Wirkung der `--export-text-variables` Option ist, so daß es nicht empfohlen werden kann, diese Option zu benutzen. Sie, der Benutzer, müssen sehr genau wissen was Sie mit dieser Option bezwecken wollen; Sie seien nun ausdrücklich gewarnt!

Einige grundlegende Operationen können auf Textvariablen ausgeführt werden, sofern diese einen ganzzahligen Inhalt haben. Diese sind:

Operation | Beschreibung
`tvar++` | Einfache Inkrementierung um eins.
`tvar--` | Einfache Dekrementierung um eins.
`tvar+=[+|-]n` | Addition eines konstanten numerischen Faktors [+|-]n.
`tvar-=[+|-]n` | Subtraktion eines konstanten numerischen Faktors [+|-]n.

Hier folgt nun ein Beispiel, wie Operationen auf Textvariablen von Gcal verarbeitet werden. Angenommen, es existiert eine Ressourcendatei mit dem Namen `tvaro-1.rc` und dem folgenden Inhalt:

    $ cat tvaro-1.rc
    -| ; tvaro-1.rc
    -| ;
    -| $a=130
    -| $b=2
    -| 0 1. \$b=$b
    -| $b++
    -| 0 2. \$b=$b
    -| $b+=7
    -| 0 3. \$b=$b
    -| $b--
    -| 0 4. \$b=$b
    -| $b-=-5
    -| 0 5. \$b=$b
    -| $b+=123
    -| 0 6. \$b=$b
    -| $b-=$a
    -| 0 7. \$b=$b
    -| $b-=10000
    -| 0 8. \$b=$b
    -| $b+=10000
    -| 0 9. \$b=$b
    -| $b=02
    -| 0 a. \$b=$b
    -| $b++
    -| 0 b. \$b=$b

So erzeugt Gcal die folgende Ausgabe:

    $ gcal -QUx -f ./tvaro-1.rc
    -| 1. $b=2
    -| 2. $b=3
    -| 3. $b=10
    -| 4. $b=09
    -| 5. $b=14
    -| 6. $b=137
    -| 7. $b=007
    -| 8. $b=-9993
    -| 9. $b=00007
    -| a. $b=02
    -| b. $b=03

Wie man aus dem vorherigen Beispiel ersehen kann, ist die Grundeinstellung von Gcal so, daß es bei den vorgenommenen Operationen längenkonservierend mit führenden Nullen auffüllt, falls ein stattgefundener Übertrag in eine der nächsten Dezimalstellen an einem späteren Platz in der Ressourcendatei per Operation wieder zurückgenommen wird. Dieses Standardverhalten kann aber durch die Benutzung der bereits zuvor erwähnten Formatanweisung abgestellt bzw. geändert werden.

Der Gültigkeitsbereich der Definitionen, welche auf eine lokale Textvariable durchgeführt werden, erstreckt sich auf die Ressourcendatei oder die eingefügte Datei, in welcher die lokale Textvariable definiert wurde.

Falls Redefinitionen einer globalen Textvariable in einer Ressourcendatei oder in derjenigen Datei, die in diese eingefügt wird, durchgeführt werden, so sind diese Redefinitionen nur in dieser entsprechenden Datei gültig70, nicht aber in weiteren Ressourcendateien, welche verarbeitet werden. Das bedeutet, daß die Initialwerte der globalen Textvariablen stets restauriert werden, falls die zu verarbeitende Ressourcendatei wechselt.

Bitte beachten Sie abschließend, daß jede Zuweisung an eine Textvariable oder Operation auf eine Textvariable in einer separaten Zeile der Ressourcendatei erfolgen muß.

Knoten:Ressourcendateibeispiele, Vorheriger:Ressourcendatei, Aufwärts:Termine

## Ressourcendateibeispiele

Um einen konkreten Eindruck von den Einsatzmöglichkeiten aller die Termine betreffenden Eigenschaften von Gcal zu erhalten, folgen nun einige Beispiele problembezogener Ressourcendateien.

Zunächst als ganz allgemeines Beispiel, die Ressourcendatei `common.rc`:

    $ cat common.rc
    -| ; common.rc, ein allgemeines Beispiel einer Ressourcendatei.
    -| ;
    -| 19940715 Lokalzeit: %t  --> Zahnarzttermin um 10:00 Uhr
    -| 00000921 Mein %B1962  Geburtstag%i1962#2062
    -| 0000093 Die~Gregorianische Reformation\~war vor %y1582  Jahren
    -| 0000Sep03 Die~Gregorianische Reformation\~war vor %y1582  Jahren
    -| 0 Jeder Tag in jedem Monat in jedem Jahr
    -| 0000 Jeder Tag in jedem Monat in jedem Jahr
    -| 00000000 Jeder Tag in jedem Monat in jedem Jahr
    -| 199400fre        Immer Freitags 1994
    -| 000007mo3 Jeder 3. Montag im Juli~jeden Jahres kleiner 1980%i#1979
    -| 0000@e-10 Ostersonntag-10 Tage in jedem Jahr
    -| 0@e-10 Ostersonntag-10 Tage in jedem Jahr
    -| 0000@e+10 Ostersonntag+10 Tage in jedem Jahr
    -| a=1127
    -| 0@a+20 20 Tage nach dem Datum der Datumvariablen `a'
    -| a=*W10FR
    -| 0@a-1 Der Donnerstag der 10'ten Woche in jedem Jahr
    -| 0@a   Der Freitag der 10'ten Woche in jedem Jahr
    -| 0@a1  Der Samstag der 10'ten Woche in jedem Jahr
    -| 1995*d10    Der 10'te absolute Tag in 1995
    -| 1995*d99die Der letzte Dienstag in 1995
    -| 0*w99so Der Sonntag der letzten Woche in jedem Jahr
    -| ;
    -| ; Der folgende Eintrag wird von ALLEN
    -| ;   Terminzeitraum-Modifizierern verarbeitet.
    -| ;
    -| 1994*d1sun#99SON.7 Jeder Sonntag in 1994
    -| ;
    -| ; Buss- und Bettag ist der Mittwoch vor dem Sonntag,
    -| ;   der vor dem 1'ten Adventssonntag liegt.
    -| ;
    -| a=1225
    -| a=a-5so
    -| 0@a-4 Buss- und Bettag
    -| ; oder
    -| 0@a-1mit Buss- und Bettag

Und hier eine Ressourcendatei mit dem Dateinamen `demo-1.rc`, mit der alle Freitage bestimmt werden können, die auf den 13'ten Tag eines Monats fallen:

    $ cat demo-1.rc
    -| ; demo-1.rc
    -| ;
    -| $a=Freitag der 13'te%i0000
    -| $b=#0000
    -| $c=fr2
    -| $d=fr3
    -| 00000113 $a01$c$b01$c
    -| 00000113 $a01$d$b01$d
    -| 00000213 $a02$c$b02$c
    -| 00000213 $a02$d$b02$d
    -| 00000313 $a03$c$b03$c
    -| 00000313 $a03$d$b03$d
    -| 00000413 $a04$c$b04$c
    -| 00000413 $a04$d$b04$d
    -| 00000513 $a05$c$b05$c
    -| 00000513 $a05$d$b05$d
    -| 00000613 $a06$c$b06$c
    -| 00000613 $a06$d$b06$d
    -| 00000713 $a07$c$b07$c
    -| 00000713 $a07$d$b07$d
    -| 00000813 $a08$c$b08$c
    -| 00000813 $a08$d$b08$d
    -| 00000913 $a09$c$b09$c
    -| 00000913 $a09$d$b09$d
    -| 00001013 $a10$c$b10$c
    -| 00001013 $a10$d$b10$d
    -| 00001113 $a11$c$b11$c
    -| 00001113 $a11$d$b11$d
    -| 00001213 $a12$c$b12$c
    -| 00001213 $a12$d$b12$d

Für die Jahre 1996...2002 ist das Ergebnis wie folgt:

    $ LANGUAGE=en gcal -H no -u -x -f ./demo-1.rc 1996+2002
    -|
    -| Fri, Sep  13th 1996: Freitag der 13'te
    -| Fri, Dec  13th 1996: Freitag der 13'te
    -|
    -| Fri, Jun  13th 1997: Freitag der 13'te
    -|
    -| Fri, Feb  13th 1998: Freitag der 13'te
    -| Fri, Mar  13th 1998: Freitag der 13'te
    -| Fri, Nov  13th 1998: Freitag der 13'te
    -|
    -| Fri, Aug  13th 1999: Freitag der 13'te
    -|
    -| Fri, Oct  13th 2000: Freitag der 13'te
    -|
    -| Fri, Apr  13th 2001: Freitag der 13'te
    -| Fri, Jul  13th 2001: Freitag der 13'te
    -|
    -| Fri, Sep  13th 2002: Freitag der 13'te
    -| Fri, Dec  13th 2002: Freitag der 13'te

Oder eine etwas kürzere Version der Ressourcendatei `demo-1.rc` mit dem Dateinamen `demo-2.rc`, mit der ebenfalls alle Freitage bestimmt werden können, die auf den 13'ten Tag eines Monats fallen, und zwar unter Ausnutzung der Tatsache, daß ein Freitag als 13'ter Tag des Monats nur dann auftreten kann, wenn der erste Tag des Monats ein Sonntag ist:

    $ cat demo-2.rc
    -| ; demo-2.rc
    -| ;
    -| $a=Freitag der 13'te ist am %n+12%i0000
    -| $b=#0000
    -| $c=sun1
    -| 00000101 $a01$c$b01$c
    -| 00000201 $a02$c$b02$c
    -| 00000301 $a03$c$b03$c
    -| 00000401 $a04$c$b04$c
    -| 00000501 $a05$c$b05$c
    -| 00000601 $a06$c$b06$c
    -| 00000701 $a07$c$b07$c
    -| 00000801 $a08$c$b08$c
    -| 00000901 $a09$c$b09$c
    -| 00001001 $a10$c$b10$c
    -| 00001101 $a11$c$b11$c
    -| 00001201 $a12$c$b12$c

Für die Jahre 1996...2002 ist das Ergebnis wie folgt:

    $ LANGUAGE=en gcal -H no -u -x -f ./demo-2.rc 1996+2002
    -|
    -| Sun, Sep   1st 1996: Freitag der 13'te ist am 13-Sep-1996
    -| Sun, Dec   1st 1996: Freitag der 13'te ist am 13-Dec-1996
    -|
    -| Sun, Jun   1st 1997: Freitag der 13'te ist am 13-Jun-1997
    -|
    -| Sun, Feb   1st 1998: Freitag der 13'te ist am 13-Feb-1998
    -| Sun, Mar   1st 1998: Freitag der 13'te ist am 13-Mar-1998
    -| Sun, Nov   1st 1998: Freitag der 13'te ist am 13-Nov-1998
    -|
    -| Sun, Aug   1st 1999: Freitag der 13'te ist am 13-Aug-1999
    -|
    -| Sun, Oct   1st 2000: Freitag der 13'te ist am 13-Oct-2000
    -|
    -| Sun, Apr   1st 2001: Freitag der 13'te ist am 13-Apr-2001
    -| Sun, Jul   1st 2001: Freitag der 13'te ist am 13-Jul-2001
    -|
    -| Sun, Sep   1st 2002: Freitag der 13'te ist am 13-Sep-2002
    -| Sun, Dec   1st 2002: Freitag der 13'te ist am 13-Dec-2002

Natürlich kann vorstehender Aufwand zur Ermittlung aller Freitage, die auf den 13'ten eines Monats fallen, auch textlich recht drastisch reduziert werden, indem einfach nur

    0*d1fre#99fre.7 Freitag der 13'te%i00000013#00000013

in der Ressourcendatei `demo-1.rc` benutzt wird, beziehungsweise

    0*d1son#99son.7 Freitag der 13'te ist am %n+12%i00000001#00000001

in der `demo-2.rc` Ressourcendatei benutzt wird.

Allerdings muß hier klar gesagt werden, daß vorstehende Einzeiler zwar den Kodieraufwand in einer Ressourcendatei erheblich reduzieren --von 28 bzw. 15 Zeilen auf jeweils 1 Zeile--, aber der Prüfaufwand dieser Einzeiler allerdings zum Teil erheblich höher ist, was sich dann an einer längeren Programmlaufzeit bemerkbar macht. Beide Einzeiler verursachen intern circa 52 Produktionen bzw. effektive Termineinträge ihrer selbst je Jahr, welches von Gcal abgeprüft wird, wobei die `demo-1.rc` und `demo-2.rc` Ressourcendateien nur zu 24 bzw. 12 effektiven Termineinträgen auslaufen.

Und hier eine Ressourcendatei mit dem Dateinamen `demo-3.rc`, mit der alle Werktage eines beliebigen Monats bestimmt werden können:

    $ cat demo-3.rc
    -| ; demo-3.rc
    -| ;
    -| $a=%VWerktag
    -| $c=%i#0000$b99
    -| a=$bmo1
    -| 0@a#+4 $a
    -| a=$bdi1
    -| 0@a#+3 $a
    -| a=$bmi1
    -| 0@a#+2 $a
    -| a=$bdo1
    -| 0@a#+1 $a
    -| a=$bfr1
    -| 0@a $a
    -| a=$bmo2
    -| 0@a#+4 $a
    -| a=$bmo3
    -| 0@a#+4 $a
    -| a=$bmo4
    -| 0@a#+4 $a$c
    -| a=$bmo9
    -| 0@a#+4 $a$c

Beziehungsweise eine etwas kürzere Version der Ressourcendatei `demo-3.rc`:

    ; demo-3.rc
    ;
    $a=%VWerktag
    $c=%i#0000$b99
    0000$bmo1:5 $a
    0000$bdi1:4 $a
    0000$bmi1:3 $a
    0000$bdo1:2 $a
    0000$bfr1:1 $a
    0000$bmo2:5 $a
    0000$bmo3:5 $a
    0000$bmo4:5 $a$c
    0000$bmo9:5 $a$c

Und es existiert eine Ressourcendatei mit dem Namen `include.rc`, die nur zur Einfügung einer beliebigen Ressourcendatei gedacht ist:

    $ cat include.rc
    -| #include "$f"

Dann ist das Ergebnis für den Monat August 1996 wie folgt:

    $ gcal -H no -u -x -r '$b=08:$f=demo-3.rc' -f ./include.rc Aug 1996
    -|
    -| Do,   1 Aug 1996: Werktag
    -| Fr,   2 Aug 1996: Werktag
    -| Mo,   5 Aug 1996: Werktag
    -| Di,   6 Aug 1996: Werktag
    -| Mi,   7 Aug 1996: Werktag
    -| Do,   8 Aug 1996: Werktag
    -| Fr,   9 Aug 1996: Werktag
    -| Mo,  12 Aug 1996: Werktag
    -| Di,  13 Aug 1996: Werktag
    -| Mi,  14 Aug 1996: Werktag
    -| Do,  15 Aug 1996: Werktag
    -| Fr,  16 Aug 1996: Werktag
    -| Mo,  19 Aug 1996: Werktag
    -| Di,  20 Aug 1996: Werktag
    -| Mi,  21 Aug 1996: Werktag
    -| Do,  22 Aug 1996: Werktag
    -| Fr,  23 Aug 1996: Werktag
    -| Mo,  26 Aug 1996: Werktag
    -| Di,  27 Aug 1996: Werktag
    -| Mi,  28 Aug 1996: Werktag
    -| Do,  29 Aug 1996: Werktag
    -| Fr,  30 Aug 1996: Werktag

So kann auch hier vorstehender Aufwand zur Ermittlung aller Werktage eines beliebigen Monats textlich recht drastisch reduziert werden, indem einfach nur

    00000001#0099 %V%rWerktag

in der Ressourcendatei `demo-3.rc` benutzt wird.

Es folgt noch die Ressourcendatei mit dem Namen `sun-1.rc`, welche die aktuellen Ortszeiten zweier geographischer Orte, deren ungefähre Sonnenaufgangs- und untergangszeiten sowie deren Tages- und Nachtlängen ermittelt:

    $ cat sun-1.rc
    -| ; sun-1.rc, Vergleich von Sonnenauf- und untergang, Tageslaenge
    -| ; und Nachtlaenge zweier Orte, naemlich:  Muenster.DE / Bangkok.TH
    -| ; Alle Bezuege basieren auf Muenster.DE!
    -| ;
    -| ; Allgemeine Definitionen
    -| $p=0*d1#999
    -| $v=%2%4 nach dortiger Ortszeit
    -| $z=aktuelle Ortszeit in
    -| ; Definitionen fuer Winterzeit
    -| $a=%e#1980 %e0@a#0@b-1
    -| $x=Sonne:~%o$c,$w auf, %s$c,$w unter, %u$c,$w tag, %z$c,$w nacht~$l
    -| ; Winterzeit in Deutschland == MEWZ/GMT-1 (+60 Minuten)
    -| $w=+60
    -| ; Beginn der Winterzeit in Deutschland
    -| b=10son9
    -| ; Definitionen fuer Sommerzeit
    -| $b=%e#1980 %i0@a#0@b-1
    -| $y=Sonne:~%o$c,$s auf, %s$c,$s unter, %u$c,$s tag, %z$c,$s nacht~$l
    -| ; Sommerzeit in Deutschland == MESZ/GMT-2 (+120 Minuten)
    -| $s=+120
    -| ; Beginn der Sommerzeit in Deutschland
    -| a=03son9
    -| ; Geographische Koordinate und Name des Orts Muenster, Deutschland
    -| $c=+5158+00738+61
    -| $l=%1Muenster
    -| ; Muensters Sonnenaufgang etc. nach dortiger Ortszeit
    -| $p $a $x$v
    -| $p $b $y$v
    -| ; Muensters aktuelle Ortszeit
    -| 0 $a %1%@$w %2 $z $l
    -| 0 $b %1%@$s %2 $z $l
    -| ; Geographische Koordinate und Name des Orts Bangkok, Thailand
    -| $c=+1345+10031+10
    -| $l=%3Bangkok%4-Zeit umgerechnet in $ls%2 Ortszeit
    -| ; Bangkok Sonnenaufgang etc. umgerechnet in Muensters Ortszeit
    -| $p $a $x
    -| $p $b $y
    -| ; Bangkok Ortszeit == WAST/GMT-7 (+420 Minuten)
    -| $t=+420
    -| $w=$t
    -| ; Bangkoks aktuelle Ortszeit
    -| $l=%3Bangkok
    -| 0 $a %3%@$t %4 $z $l
    -| 0 $b %3%@$t %4 $z $l
    -| ; Bangkoks Sonnenaufgang etc. nach dortiger Ortszeit
    -| $l=$l$v
    -| $p $x

Für den 12'ten September 1999 ist das Ergebnis wie folgt:

    $ gcal -fsun-1.rc -Ux -Hno
    -|
    -| 04:02/12-Sep-1999 aktuelle Ortszeit in Muenster
    -| 09:02/12-Sep-1999 aktuelle Ortszeit in Bangkok
    -| Sonne:
    -| 01:06auf, 13:22unter, 12h16'tag, 11h44'nacht
    -| Bangkok-Zeit umgerechnet in Muensters Ortszeit
    -| Sonne:
    -| 06:06auf, 18:22unter, 12h16'tag, 11h44'nacht
    -| Bangkok nach dortiger Ortszeit
    -| Sonne:
    -| 06:56auf, 19:54unter, 12h58'tag, 11h02'nacht
    -| Muenster nach dortiger Ortszeit

Als nächstes Beispiel betrachten wir noch die Ressourcendatei mit dem Namen `redir-1.rc`, welche den Einsatz des shell Kommando `%![Argument]` Spezialtexts demonstriert, und die wie folgt aussieht:

    $ cat redir-1.rc
    -| ; redir-1.rc, shell Kommando $c ausfuehren und nach $f umlenken
    -| ;
    -| $p=0*d1#999
    -| $c=$p %!$c
    -| $g=|txt2gcal - $p
    -| ;
    -| $c $g>$f

Bei Benutzung nachstehenden Aufrufs von Gcal, dem zum besseren Verständnis des Programmablaufs auch noch die `--debug=all` Option hinzugefügt werden kann, ist das Ergebnis wie folgt:

    $ gcal --exe -QUx -f./redir-1.rc+XX -r'$f=XX:$c=echo $f' -#'0 %!rm $f'
    -| XX

Und abschließend eine Ressourcendatei mit dem Namen `swtim-1.rc`, die Termine für den Zeitraum zwei Tage vor bis zwei Tage nach Umstellung auf Sommerzeit/Winterzeit (ab 1981) für die Bundesrepublik Deutschland bewirkt:

    $ cat swtim-1.rc
    -| ; swtim-1.rc, Sommerzeit/Winterzeit BRD
    -| ;
    -| $a=zeitumstellung am Sonntag
    -| ;
    -| a=03sun9
    -| 0@a-2#+2 Sommer$a~+1 Std. (02:00 --> 03:00 Uhr)%i1981
    -| ;
    -| a=09sun9
    -| 0@a-2#+2 Winter$a~-1 Std. (03:00 --> 02:00 Uhr)%i1981#1995
    -| ;
    -| a=10sun9
    -| 0@a-2#+2 Winter$a~-1 Std. (03:00 --> 02:00 Uhr)%i1996

Für das Jahr 1998 ist das Ergebnis wie folgt:

    $ LANGUAGE=en gcal %1998 -Hno -xy -f ./swtim-1.rc
    -|
    -| Fri, Mar  27th 1998: Sommerzeitumstellung am Sonntag
    -|                      +1 Std. (02:00 --> 03:00 Uhr)
    -| Sat, Mar  28th 1998: Sommerzeitumstellung am Sonntag
    -|                      +1 Std. (02:00 --> 03:00 Uhr)
    -| Sun, Mar  29th 1998: Sommerzeitumstellung am Sonntag
    -|                      +1 Std. (02:00 --> 03:00 Uhr)
    -| Mon, Mar  30th 1998: Sommerzeitumstellung am Sonntag
    -|                      +1 Std. (02:00 --> 03:00 Uhr)
    -| Tue, Mar  31st 1998: Sommerzeitumstellung am Sonntag
    -|                      +1 Std. (02:00 --> 03:00 Uhr)
    -| Fri, Oct  23rd 1998: Winterzeitumstellung am Sonntag
    -|                      -1 Std. (03:00 --> 02:00 Uhr)
    -| Sat, Oct  24th 1998: Winterzeitumstellung am Sonntag
    -|                      -1 Std. (03:00 --> 02:00 Uhr)
    -| Sun, Oct  25th 1998: Winterzeitumstellung am Sonntag
    -|                      -1 Std. (03:00 --> 02:00 Uhr)
    -| Mon, Oct  26th 1998: Winterzeitumstellung am Sonntag
    -|                      -1 Std. (03:00 --> 02:00 Uhr)
    -| Tue, Oct  27th 1998: Winterzeitumstellung am Sonntag
    -|                      -1 Std. (03:00 --> 02:00 Uhr)

Knoten:Heutiger Kalender, Nächster:Gcal Hilfsprogramme, Vorheriger:Termine, Aufwärts:Top

# Entstehungsgeschichte des Gregorianischen Kalenders

Der heutzutage benutzte Kalender wurde --basierend auf Verfahren, die von den Babyloniern und Ägyptern entwickelt wurden-- zuerst von den Römern in zahlreichen ungenauen Variationen formuliert, die alle zum Ziel hatten, den Mond- und Sonnenlauf in Einklang zu bringen. So kam es, daß in der Zeit des Julius Cäsar der Monat Januar in den Herbst fiel. Auf Cäsars Befehl hin wurde von Sosigenes eine Kalenderreform durchgeführt. Dieser addierte 90 Tage zu dem Jahr 46 vor Christus, um den bis dahin aufgelaufenen jahreszeitlichen Versatz zu korrigieren. Zudem modifizierte er die Monatslängen ähnlich der Form, wie wir sie heute noch benutzen. Weiterhin wurde das Schaltjahr von ihm eingeführt, indem alle vier Jahre ein weiterer Tag im Monat Februar hinzuaddiert wurde. Die Schaltjahrregelung sah zunächst so aus, daß alle vier Jahre nach dem 23'ten Tag im Februar ein Schalttag eingelegt wurde, der 24'te Februar wurde zu einem Doppeltag, fand also zweimal statt. Die Benutzung eines Schaltjahres war eine echte Verbesserung der Kalenderrechnung, aber noch nicht in vollem Umfang exakt.

In den folgenden Jahren wurde die Schaltregel aber falsch angewendet, und so wurden durch Kaiser Augustus im Jahre 8 vor Christus die Fehler korrigiert. Dabei kam es zu einem kuriosen Nachspiel. Da Augustus mit großer Eifersucht auf alles reagierte, was zuvor Julius Cäsar getan bzw. angestrengt hatte, ertrug er auch nicht dessen Ehrung im Kalender, den heutigen Monat Juli. Er ließ er kurzerhand einen anderen Monat nach sich selbst umbenennen, und so entstand der Monatsname August. Weiterhin duldete Augustus nicht, daß sein Geburtsmonat August im Sinne der regelmäßigen Abfolge von Monaten mit 30 und 31 Tagen kürzer war als der Monat Cäsars. Konsequenterweise bekam der August ebenfalls 31 Tage. Dafür mußte der Februar noch weiter, auf 28 bzw. 29 Tage, schrumpfen, so daß nun der 29'te Februar zum Schalttag wurde.

Dieser Kalender ist als der Julianische Kalender in die Geschichtsschreibung eingegangen und hat ein reines Sonnenjahr zur Grundlage. Die Solllänge eines Sonnenjahres (bzw. so genannten tropischen Jahres) beträgt 365 Tage, 5 Stunden, 48 Minuten und 46 Sekunden. Ein 366-Tage Jahr, welches alle vier Jahre stattfindet, setzt nun aber die Durchschnittslänge von einem Julianischen Jahr auf 365 Tage und 6 Stunden, also auf 365,25 Tage. Das bedeutet somit, daß sich alle vier Jahre ein Fehler von 44 Minuten und 56 Sekunden in diese Kalenderrechnung einschleicht. Die Jahre werden aufgrund dieser Zählweise etwas zu lang, und zwar um gut 11 Minuten.

So kam es, daß der Frühlingsanfang im 16'ten Jahrhundert auf den 11'ten März fiel --anstatt auf den 21'ten März--, und zwar durch einen bis dahin akkumulierten Fehler von zehn Tagen. Auch das Osterfest rückte stets mehr und mehr vom gewohnten Frühlingstermin ab und mußte immer früher gefeiert werden. Papst Gregor XIII ordnete eine weitere Kalenderreform an, um diesen Fehler zu kompensieren. So wurde der Frühlingsanfang auf den 21'ten März festgelegt und Donnerstag, der 4'te Oktober, wurde gefolgt von Freitag, dem 15'ten Oktober, indem einfach zehn Tage im Kalender übersprungen wurden. Zudem wurde alle 400 Jahre ein Schaltjahrhundert eingeführt und weiterhin bestimmt, daß die Jahrhundertwenden keine Schaltjahre mehr sind, mit der Ausnahme, daß Jahrhundertwenden, die durch 400 ganzzahlig teilbar sind, dennoch Schaltjahre bleiben sollten. Diese Regelung verminderte den Fehler in der Kalenderrechnung um weitere 72 Stunden (3 Tage) alle 400 Jahre. Der aktuelle Überschuß beträgt akkumuliert 74 Stunden, 53 Minuten und 20 Sekunden. Der Fehler von 2 Stunden, 53 Minuten und 20 Sekunden pro Zeitraum von 400 Jahren beläuft sich auf einen Tag in circa 3300 Jahren. Damit hat das Gregorianische Jahr eine Durchschnittslänge von 365,2425 Tagen.

Dieser Gregorianische Kalender setzte sich aber nur sehr langsam durch. Katholisch regierte Länder übernahmen den Gregorianischen Kalender sofort oder innerhalb weniger Jahre. Die meisten protestantisch regierten Länder auf dem europäischen Kontinent übernahmen den neuen Gregorianischen Kalender um 1700. England und die amerikanischen Kolonien wechselten zu dem Kalender im Jahre 1752 durch Parlamentsbeschluß. Orthodox christianisierte Länder übernahmen den Gregorianischen Kalender später. Rußland war das letzte europäische Land, daß diesen Kalender übernahm, und zwar nach der Kommunistischen Revolution, welche am 25'ten Oktober 1917 (Gregorianisch) stattfand. Daraus resultierte, daß die frühere UdSSR den Tag der Oktoberrevolution nach dem alten Julianischen Kalender am 7'ten November feierte.

Heute ist die weltweit einheitliche Zeitrechnung schon bereits wieder Geschichte geworden. So ist der Iran im Jahre 1979 nach Absetzung des Schah-Regierung wieder zum traditionellen mohammedanischen Mondkalender zurückgekehrt. Es gibt auch einige Bemühungen, unseren gegenwärtig gültigen Gregorianischen Kalender zu verbessern. Die Nachteile bestehen darin, daß ein bestimmter Kalendertag nicht immer auf den gleichen Wochentag fällt. Zudem sind die Monate ungleich lang und die an das Osterfest gebundenen Feiertage verschieben sich innerhalb des Kalenders von Jahr zu Jahr. Ein recht ausgereifter Vorschlag wurde von den Vereinten Nationen vorgetragen. Seine internationale Einführung scheiterte jedoch am Widerstand einiger Länder, aber auch der Kirchen.

Knoten:Gcal Hilfsprogramme, Nächster:Internationalisierung, Vorheriger:Heutiger Kalender, Aufwärts:Top

# Gcal Hilfsprogramme

- Aufruf von tcal: Wie starte ich das `tcal` Programm?
- Aufruf von txt2gcal: Wie starte ich das `txt2gcal` Programm?
- Aufruf von gcal2txt: Wie starte ich das `gcal2txt` Programm?

Drei kleine Hilfsprogramme sind im Gcal 3.00 Paket enthalten. Das Tcal Programm startet das Gcal Programm mit dem Datum des morgigen Tages. Das Txt2gcal Programm erzeugt eine wortgetreue Gcal Ressourcendatei aus einer Textdatei, und im Gegensatz dazu erstellt das Gcal2txt Programm eine wortgetreue Textdatei aus einer Gcal Ressourcendatei.

Knoten:Aufruf von tcal, Nächster:Aufruf von txt2gcal, Vorheriger:Gcal Hilfsprogramme, Aufwärts:Gcal Hilfsprogramme

## Aufruf von `tcal`

Tcal ist ein Programm, welches das Gcal Programm mit dem Datum des morgigen Tages aufruft71. Seine Argumente sind wie folgt:

    tcal [--help | --version] | [--shift=[+|-]Zahl] [Argument...]

Alle gegebenen Argumente werden unverändert an das Gcal Programm übergeben. Soll das Gcal Programm mit einem anderen Datum als dem Datum des morgigen Tages aufgerufen werden, so kann dieses gewünschte Datum mittels der `--shift=[+|-]Zahl` Option vorgewählt werden, wobei `[+|-]Zahl` die Distanz in Tagen ist, die das gewünschte Datum vom aktuellen Systemdatum (==heute) entfernt ist (funktioniert nur für Gregorianische Jahre). Die `--shift` Option muß vor allen anderen Argumenten, die an das Gcal Programm übergeben werden, angegeben sein.

Falls eine `GCALPROG` Umgebungsvariable (sieheUmgebungsvariable `GCALPROG`) definiert und mit dem Dateinamen des ausführbaren Gcal Programms gesetzt ist, so benutzt Tcal diesen Dateinamen, um Gcal aufzurufen. Andernfalls benutzt Tcal den beim Kompilationsvorgang eingebrannten Dateinamen `gcal`, um das Gcal Programm aufzurufen. Die `GCALPROG` Umgebungsvariable muß immer dann gesetzt werden, wenn das Gcal Programm unter einem anderen Namen als dem Standardnamen `gcal` installiert ist, da Tcal sonst das Gcal Programm nicht automatisch ausführen kann! Ein Programmendestatus 0 bedeutet, daß die Verarbeitung erfolgreich war, ein anderer Endestatus verweist auf einen Fehler während der Verarbeitung.

Das Programm akzeptiert die folgenden Optionen:

`--help`
  Ausgabe eines Hilfetextes, der alle verfügbaren Optionen aufzeigt; sodann erfolgreiche Beendigung des Programms.
`--version`
  Ausgabe der Versionsnummer; sodann erfolgreiche Beendigung des Programms.
`--shift=[+|-]Zahl`
  Legt den um `[+|-]Zahl` vorgegebenen Versatz an Tagen bezogen auf das aktuelle Datum fest.

Knoten:Aufruf von txt2gcal, Nächster:Aufruf von gcal2txt, Vorheriger:Aufruf von tcal, Aufwärts:Gcal Hilfsprogramme

## Aufruf von `txt2gcal`

Txt2gcal ist ein Programm, welches aus einer Textdatei eine wortgetreue Gcal Ressourcendatei erzeugt. Seine Argumente sind wie folgt:

    txt2gcal [--help | --version] | [Textdatei | -] [Datumteil]

Wird keine Textdatei oder aber ein einzelnes `-` Zeichen als Argument angegeben, so liest und verarbeitet das Programm alle Eingaben, die vom Standardeingabe-Gerätekanal kommen. Wird kein Datumteil als Argument angegeben, so wird von Txt2gcal eine `0` für den Datumteil erzeugt. Alle Ergebnisse werden stets auf dem Standardausgabe-Gerätekanal ausgegeben. Ein Programmendestatus 0 bedeutet, daß die Verarbeitung erfolgreich war, ein anderer Endestatus verweist auf einen Fehler während der Verarbeitung.

Das Programm akzeptiert die folgenden Optionen:

`--help`
  Ausgabe eines Hilfetextes, der alle verfügbaren Optionen aufzeigt; sodann erfolgreiche Beendigung des Programms.
`--version`
  Ausgabe der Versionsnummer; sodann erfolgreiche Beendigung des Programms.

Nun zu einem Beispiel, welches den Einsatz von Txt2gcal näher erläutern soll. Angenommen, es existiert eine Textdatei mit dem Namen `tdemo-1.txt` und folgendem Inhalt:

    $ cat tdemo-1.txt
    -|         Hallo Freunde,
    -|
    -| Ich bin der Demotext, der lustige Zeichen und Zeichensequenzen
    -| enthaelt wie ~~ \~ % %% $a $1 %%%\
    -| %\ %s %%foo %bar \%Baz \\~ \~\ und so weiter...
    -| Ich bin gespannt darauf, wie ich von `txt2gcal' umgesetzt werde.
    -|

und Txt2gcal verarbeitet diese Datei, wobei die Ausgabe in die Datei `tdemo-1.rc` umgelenkt wird:

    $ txt2gcal tdemo-1.txt 0*d1#999 > tdemo-1.rc
    $ cat tdemo-1.rc
    -| 0*d1#999 \        Hallo Freunde,~\
    -| ~\
    -| Ich bin der Demotext, der lustige Zeichen und Zeichensequenzen~\
    -| enthaelt wie \~\~ \\~ % %% \$a $1 %%%\ ~\
    -| %\ \%s %\%foo \%bar \\%Baz \\\~ \\~\ und so weiter...~\
    -| Ich bin gespannt darauf, wie ich von `txt2gcal' umgesetzt werde.~\

dann hat Txt2gcal nun die neue Gcal Ressourcendatei `tdemo-1.rc` aus der Textdatei `tdemo-1.txt` erzeugt.

Abschließend erfolgt die Betrachtung, wie Gcal diese neue Ressourcendatei interpretiert:

    $ gcal %19960101 -H no -Ax -f ./tdemo-1.rc
    -|
    -| Mo,   1 Jan 1996:
    -|         Hallo Freunde,
    -|
    -| Ich bin der Demotext, der lustige Zeichen und Zeichensequenzen
    -| enthaelt wie ~~ \~ % %% $a $1 %%%\
    -| %\ %s %%foo %bar \%Baz \\~ \~\ und so weiter...
    -| Ich bin gespannt darauf, wie ich von `txt2gcal' umgesetzt werde.
    -|

Knoten:Aufruf von gcal2txt, Vorheriger:Aufruf von txt2gcal, Aufwärts:Gcal Hilfsprogramme

## Aufruf von `gcal2txt`

Gcal2txt ist ein Programm, welches aus einer Gcal Ressourcendatei eine wortgetreue Textdatei erzeugt. Seine Argumente sind wie folgt:

    gcal2txt [--help | --version] | [Ressourcendatei | -]

Wird keine Ressourcendatei oder aber ein einzelnes `-` Zeichen als Argument angegeben, so liest und verarbeitet das Programm alle Eingaben, die vom Standardeingabe-Gerätekanal kommen. Alle Ergebnisse werden stets auf dem Standardausgabe-Gerätekanal ausgegeben. Ein Programmendestatus 0 bedeutet, daß die Verarbeitung erfolgreich war, ein anderer Endestatus verweist auf einen Fehler während der Verarbeitung.

Sinn und Zweck von Gcal2txt ist, all das, was vom Txt2gcal Programm in die Ausgabe eingebracht wurde, wieder rückgängig zu machen!

Das Programm akzeptiert die folgenden Optionen:

`--help`
  Ausgabe eines Hilfetextes, der alle verfügbaren Optionen aufzeigt; sodann erfolgreiche Beendigung des Programms.
`--version`
  Ausgabe der Versionsnummer; sodann erfolgreiche Beendigung des Programms.

Und nun ebenfalls zu einem Beispiel, welches den Einsatz von Gcal2txt näher erläutern soll. Dazu wird die Ressourcendatei mit dem Namen `tdemo-1.rc` benutzt, welche im vorherigen Abschnitt mittels des Txt2gcal Programms aus einer Textdatei erzeugt wurde (sieheAufruf von `txt2gcal`), und die ja wie folgt aussieht:

    $ txt2gcal tdemo-1.txt 0*d1#999 > tdemo-1.rc
    $ cat tdemo-1.rc
    -| 0*d1#999 \        Hallo Freunde,~\
    -| ~\
    -| Ich bin der Demotext, der lustige Zeichen und Zeichensequenzen~\
    -| enthaelt wie \~\~ \\~ % %% \$a $1 %%%\ ~\
    -| %\ \%s %\%foo \%bar \\%Baz \\\~ \\~\ und so weiter...~\
    -| Ich bin gespannt darauf, wie ich von `txt2gcal' umgesetzt werde.~\

Nun zur Betrachtung, wie diese Ressourcendatei von Gcal2txt verarbeitet wird:

    $ gcal2txt tdemo-1.rc
    -|         Hallo Freunde,
    -|
    -| Ich bin der Demotext, der lustige Zeichen und Zeichensequenzen
    -| enthaelt wie ~~ \~ % %% $a $1 %%%\
    -| %\ %s %%foo %bar \%Baz \\~ \~\ und so weiter...
    -| Ich bin gespannt darauf, wie ich von `txt2gcal' umgesetzt werde.

Knoten:Internationalisierung, Nächster:Metasymbole, Vorheriger:Gcal Hilfsprogramme, Aufwärts:Top

# Gesichtspunkte zur Internationalisierung

Gcal besitzt ab Version 2.00 die Fähigkeit, Meldungstexte nicht mehr nur allein in englischer Landessprache auszugeben, sondern auch in beliebigen anderen Landessprachen, da Bestandteile des GNU `gettext` Pakets in die Software integriert worden sind. SieheTop, für weitere Details.

Gcal ist intern so eingestellt, daß es die englische Landessprache zur Ausgabe aller Meldungstexte verwendet, sofern keine andere Landessprache verwendet werden soll. Werden Meldungstexte in einer anderen Landessprache gewünscht, so werden diese von Gcal aus einem so genannten message catalog zur Laufzeit eingelesen. Die folgenden Landessprachen werden von Gcal 3.00 unterstützt:

Landessprache | Sprachkode
Englisch | `en`
Deutsch | `de`
Französisch | `fr`
Niederländisch | `nl`
Polnisch | `pl`
Russisch | `ru`
Schwedisch | `sv`

Um eine andere Landessprache anstelle der englischen Landessprache vorzuwählen, so braucht nur in einer der Umgebungsvariablen72:

1. | `LANGUAGE`
2. | `LC_ALL`
3. | `LC_MESSAGES`
4. | `LANG`

ein entsprechender Sprachkode eingetragen zu werden.

Endanwender benutzen normalerweise nur die `LANG` Umgebungsvariable um Gcal mitzuteilen, welche Landessprache zur Laufzeit verwendet werden soll. Angenommen, Benutzer möchten Gcal mit Meldungstexten in deutscher Landessprache betreiben, so können diese die shell dazu veranlassen, die Umgebungsvariable `LANG` mit dem Inhalt `de` zu besetzen, und zwar durch `setenv LANG de` (bei Benutzung der `csh` shell) oder durch `export LANG; LANG=de` (bei Benutzung der `sh` shell). Selbstverständlich kann dieser Befehl auch in der `.login` bzw. `.profile` Datei beim Endanwender enthalten sein. SieheUsers, für weitere Details.

Wie zuvor dargestellt reicht bereits der simple Eintrag von `de` in der Umgebungsvariablen `LANG` aus, um die Ausgabe deutscher Meldungstexte zu veranlassen. `de` ist der aus zwei Buchstaben bestehende Sprachkode für Deutsch, der in der ISO-639:1988 definiert ist, und im weiteren Verlauf als einfache Sprachkode-Information bezeichnet wird. Andere Sprachkodes können dieser ISO-Norm entnommen werden73.

Da Gcal als Kalenderprogramm auch den Eigenheiten der verwendeten Landessprache hinsichtlich der Anordnung von Tag, Monat und Jahr (und weiterem) in einem dargestellten Datum, dem Zeitraum der Gregorianischen Reform, der Art der Wochennummern und der Darstellungsweise von Kalenderblättern, nachkommen muß, sind diese Kriterien ebenfalls an den Sprachkode gebunden74.

So bewirkt ein `en` Sprachkode folgende interne Grundeinstellungen vorgenannter Kriterien:

- US amerikanisches Datumformat
- Gregorianische Reformation war 1752
- Starttag der Woche ist Sonntag
- Standard-Wochennummern
- Kalenderblattdarstellung

         September 1994
      So Mo Di Mi Do Fr Sa
                   1  2  3
       4  5  6  7  8  9 10
      11 12 13 14 15 16 17
      18 19 20 21 22 23 24
      25 26 27 28 29 30

Und ein `de` Sprachkode75 bewirkt folgende interne Grundeinstellungen:

- Deutsches Datumformat
- Gregorianische Reformation war 1582
- Starttag der Woche ist Montag
- ISO-8601:1988 Wochennummern
- Kalenderblattdarstellung

      September 1994

      Montag           5 12 19 26
      Dienstag         6 13 20 27
      Mittwoch         7 14 21 28
      Donnerstag    1  8 15 22 29
      Freitag       2  9 16 23 30
      Samstag       3 10 17 24
      Sonntag       4 11 18 25

Alle diese internen Grundeinstellungen sind durch die Angabe der Optionen `--date-format`, `--gregorian-reform`, `--starting-day`, `--iso-week-number` und `--type` veränderbar.

Falls kein Sprachkode vorgefunden wird, so nimmt Gcal die interne Grundeinstellung des `en` Sprachkodes an76.

Falls ein Sprachkode angegeben ist, für den kein message catalog installiert wurde, so nimmt Gcal die internen Grundeinstellungen des `de` Sprachkodes an, gibt aber die Meldungstexte in der englischen Landessprache aus. Dieses Verhalten erscheint mir im Augenblick als die zweckmäßigste Lösung in einem solchen Fall. Da die englische Landessprache weltweit stärker verbreitet ist als die deutsche oder andere Landessprachen, macht es in einem solchen Fall durchaus Sinn, die Meldungstexte in der englischen Landessprache auszugeben. Allerdings sind die sonstigen Kriterien, die an die englische Landessprache gebunden sind, so speziell für Benutzer anderer Landessprachen, daß es aber durchaus Sinn macht, diese Kriterien an die internen Grundeinstellungen des `de` Sprachkodes anzulehnen, da in den meisten europäischen Ländern (die ich hier zum Maßstab mache) im wesentlichen die internen Grundeinstellungen des `de` Sprachkodes verwendet werden.

Nun werden sich britische Endanwender sicherlich fragen, ob auch ihr Datumformat als interne Grundeinstellung benutzt werden kann77. Die Antwort lautet schlicht und ergreifend ja, allerdings muß dieser Benutzerkreis anstelle einer einfachen Sprachkode-Information eine erweiterte Sprachkode-Information in der Umgebungsvariable `LANG` angeben.

Die übliche Schablone einer erweiterten Sprachkode-Information ist wie folgt aufgebaut:

- Nach XPG Syntax (X/Open Portability Guide):

      Landessprache[_Territorium][.Zeichensatz][@Modifizierer]

- Nach CEN Syntax (Comité Europén de Normalisation):

      Landessprache[_Territorium][+Publikum][+Spezial][,Sponsor][_Überarbeitung]

Beide Syntaxen enthalten die Bestandteile Landessprache und Territorium, welche von Gcal zur Auswahl der Landessprache und der sonstigen Kriterien verwendet werden. Der Bestandteil Landessprache entspricht der einfachen Sprachkode-Information, und der Bestandteil Territorium ist ein aus zwei Buchstaben bestehender Territoriumskode, wie er in der ISO-3166 definiert ist, z.B. `GB` für Großbritannien oder `US` für die USA. Für weitere Einzelheiten hierzu sei auf die einschlägige Fachliteratur verwiesen. Britische Endanwender brauchen nur die shell dazu veranlassen, die Umgebungsvariable `LANG` mit dem Inhalt `en_GB` zu besetzen, sodann können diese das britische Datumformat als interne Grundeinstellung benutzen.

Knoten:Metasymbole, Nächster:Regulaere Ausdruecke, Vorheriger:Internationalisierung, Aufwärts:Top

# Metasymbole

Folgende metasprachliche Konventionen werden bei der Darstellung von Optionen, Kommandos, Argumenten und Schablonen innerhalb dieses Dokuments verwendet:

`n`
  Nichtoptionales Argument, n muß eine zulässige Zahl sein.
`e|t|dvar`
  Nichtoptionales Argument, welches ein einzelnes alphabetisches Zeichen sein muß.
`$tvar`
  Nichtoptionales Argument, welches ein einzelnes alphabetisches Zeichen sein muß, das von einem `$` Zeichen angeführt wird.
`[Text]`
  Optionales Argument, Text ist eine zulässige Zeichenkettenkonstante.
`[ab]`
  Optionale Argumente, deren Anzahl und Anordnung beliebig ist, z.B.:

      NICHTS, a, b, ab, ba ...

`{ab}`
  Nichtoptionale Argumente, deren Anordnung beliebig ist und von denen mindestens eins bis hin zu einer beliebigen Anzahl angegeben werden kann, z.B.:

      a, b, ab, ba ...

`[a|b]`
  Optionale Argumente, entweder a oder b, aber nicht beide.
`a|b`
  Nichtoptionale Argumente, entweder a oder b, aber nicht beide.
`[a[b]]`
  Optionale Argumentliste, entweder a oder ab, aber nicht b.
`[a|b[c]]`
  Optionale Argumentliste, entweder a oder b oder ac oder bc, aber nicht c.
`[a|bc]`
  Optionale Argumentliste, entweder ac oder bc, aber nicht a oder b oder c.
`[a]|[b]`
  Optionale Argumentlisten, entweder Liste a oder Liste b, aber nicht beide.
`[...]`
  Zusätzliche Argumente dürfen angegeben werden und sind optional.

Knoten:Regulaere Ausdruecke, Nächster:Regexp (kurz), Vorheriger:Metasymbole, Aufwärts:Top

# Reguläre Ausdrücke

- Benutzung von Regexp: Wie reguläre Ausdrücke benutzt werden können.
- Regexp Operatoren: Was sind regulär-Ausdruck Operatoren?

Dieser Anhang ist aus den `gawk-3.0.0` und `regex-0.12` Handbüchern abgeleitet.

Ein regulärer Ausdruck, oder regexp, ist ein Weg zur Beschreibung einer Klasse von Zeichenketten, oder strings. Der einfachste reguläre Ausdruck ist eine Folge von Buchstaben, Zahlen, oder beidem. Solch ein regexp paßt auf jedwede Zeichenkette, die eine solche Folge enthält. Deswegen stimmt der regexp `foo` mit jeder Zeichenkette überein, die `foo` enthält. Andere Arten von regulären Ausdrücken erlauben eine weitaus kompliziertere Angabe von string-Klassen.

Gcal benutzt genau eine der folgenden regulär-Ausdruck Programmbibliotheken bzw. Methoden, welche zur Konfigurationszeit, oder genaugenommen, Kompilationszeit der Software ausgewählt wird; und die hier in absteigender Priorität hinsichtlich ihrer Auswahl angegeben sind:

Nr. | Funktion | Symbol
1. | GNU `re_compile_pattern()` und `regex.h` | `GNU-REGEX`
2. | POSIX `regcomp()` und `regex.h` | `POSIX-REGEX`
3. | BSD `re_comp()` | `BSD-REGEX`
4. | System V `regcmp()` | `SysV-REGEX`
5. | Henry Spencer V8 `regcomp()` und `regexp.h` | `V8-REGEX`
6. | Mustererkennung wird unterstützt, aber ohne Metazeichen | `NO-REGEX`

Benutzen Sie `gcal --version` um festzustellen, welche Art von regulär-Ausdruck Programmbibliothek bzw. Methode in Ihr Gcal Programm eingebrannt ist!

Knoten:Benutzung von Regexp, Nächster:Regexp Operatoren, Vorheriger:Regulaere Ausdruecke, Aufwärts:Regulaere Ausdruecke

## Benutzung von regulären Ausdrücken

Ein regulärer Ausdruck kann als Suchmuster benutzt werden, wenn bei Aufruf von Gcal die `--filter-text=Suchmuster` Option angegeben wird.

SieheTermin Option `--filter-text=Suchmuster`, für weitere Details.

Der reguläre Ausdruck wird mit dem gesamten, vollständig expandierten Text jedes gültigen Termins verglichen, und der Termin wird nur dann ausgegeben, falls das Suchmuster mit dem Text78 übereinstimmt.

Knoten:Regexp Operatoren, Vorheriger:Benutzung von Regexp, Aufwärts:Regulaere Ausdruecke

## Regulär-Ausdruck Operatoren

Reguläre Ausdrücke können mit den folgenden Zeichen kombiniert werden, welche als regulär-Ausdruck Operatoren oder Metazeichen bezeichnet werden, um die Leistungsfähigkeit und Vielseitigkeit von regulären Ausdrücken zu erhöhen.

Hier ist eine Tabelle dieser Metazeichen. Alle Zeichen, die nicht in dieser Tabelle aufgeführt sind, stehen für sich selbst.

`\`
  Wird benutzt um die Spezialbedeutung eines Zeichens während des Vergleichs zu unterdrücken. Zum Beispiel:

      \$

  paßt auf das Zeichen `$`.

`^`
  Paßt auf den Anfang einer Zeichenkette. Zum Beispiel:

      ^@chapter

  paßt auf `@chapter` zu Anfang einer Zeichenkette, und kann dazu benutzt werden, um Kapitelanfänge in Texinfo Quellentextdateien zu identifizieren. Das `^` Zeichen wird als ein Anker bezeichnet, da es das Suchmuster dergestalt verankert, daß es nur zu Übereinstimmungen kommen kann, die zu Anfang einer Zeichenkette auftreten.

`$`
  Ähnlich wie `^`, paßt aber nur auf das Ende einer Zeichenkette. Zum Beispiel:

      p$

  paßt auf einen string, der mit `p` endet. Das `$` Metazeichen ist auch ein Anker.

`.`
  Der Punkt paßt auf jedes Einzelzeichen. Zum Beispiel:

      .P

  führt zu Übereinstimmungen jedes Einzelzeichens, welches von einem `P` in einer Zeichenkette gefolgt wird. Mittels Verkettung kann beispielsweise ein regulärer Ausdruck wie `U.A` erzeugt werden, welcher auf jede 3-Zeichen Folge paßt, die mit `U` beginnt und mit einem `A` endet.

`[...]`
  Wird als Zeichenliste bezeichnet. Diese paßt auf jedes Einzelzeichen, welches in den eckigen Klammern angegeben wird. Zum Beispiel:

      [MVX]

  paßt auf jedes einzelne `M`, `V` oder `X` Zeichen in einem string.

  Bereiche von Zeichen werden unter Benutzung eines Bindestrichs zwischen den Start- und Endezeichen vereinbart, und das ganze wird von eckigen Klammern umschlossen. Zum Beispiel:

      [0-9]

  paßt auf jede Ziffer. Mehrfache Bereiche sind erlaubt. Zum Beispiel ist die Liste `[A-Za-z0-9]` ein üblicher Weg, um den Gedanken "aller alphanumerischen Zeichen" auszudrücken.

  Um eines der `\`, `[`, `]`, `-` oder `^` Zeichen in eine Zeichenliste einzufügen, ist es notwendig, diese mit einem anführenden `\` Zeichen auszustatten. Zum Beispiel:

      [d\]]

  paßt entweder auf `d` oder `]`.

  Zeichenklassen sind ein neues Merkmal, die im POSIX Standard eingeführt sind. Eine Zeichenklasse ist eine spezielle Bezeichnung, um Zeichenlisten, die mit speziellen Eigenschaften ausgestattet sind, zu beschreiben, wohingegen sich aber die aktuellen Zeichen selbst von Land zu Land und/oder Zeichensatz zu Zeichensatz verändern. Zum Beispiel unterscheidet sich der Begriff, was unter einem alphabetischen Zeichen zu verstehen ist, in den USA und in Frankreich.

  Eine Zeichenklasse ist in einem regexp nur innerhalb der Klammern einer Zeichenliste gültig. Zeichenklassen bestehen aus `[:` --einem Schlüsselwort, daß die Klasse bezeichnet-- und `:]`. Es folgen nun die Zeichenklassen, welche durch den POSIX Standard definiert werden:

  `[:alnum:]`
    Alphanumerische Zeichen.
  `[:alpha:]`
    Alphabetische Zeichen.
  `[:blank:]`
    Leerzeichen und Tabulatorzeichen.
  `[:cntrl:]`
    Steuerzeichen.
  `[:digit:]`
    Numerische Zeichen.
  `[:graph:]`
    Zeichen, die druckbar und zugleich sichtbar sind79.
  `[:lower:]`
    Kleinbuchstaben.
  `[:print:]`
    Druckbare Zeichen80.
  `[:punct:]`
    Interpunktionszeichen81.
  `[:space:]`
    Leerzeichen82.
  `[:upper:]`
    Großbuchstaben.
  `[:xdigit:]`
    Hexadezimalziffern.

  Zum Beispiel mußte vor Einführung des POSIX Standards `[A-Za-z0-9]` geschrieben werden, um eine Übereinstimmung mit allen alphanumerischen Zeichen zu erhalten. Falls der verwendete Zeichensatz nun aber andere alphabetische Zeichen enthält, so würde vorstehendes Suchmuster keine Übereinstimmung mit diesen erbringen. Mit den POSIX Zeichenklassen kann nun aber `[[:alnum:]]` geschrieben werden, mit dem Resultat, daß alle alphabetischen und numerischen Zeichen des verwendeten Zeichensatzes Übereinstimmungen erbringen würden.

  Zwei zusätzliche Spezialfolgen können in Zeichenlisten auftreten. Diese lassen sich auf Nicht-ASCII Zeichensätze anwenden, welche einzelne Symbole haben können (auch vergleichende Elemente83 genannt), die mit mehr als einem Zeichen dargestellt werden, ebensogut wie zahlreiche Zeichen, die gleichwertig für Vergleichs- oder Sortierungszwecke benutzt werden können. (Zum Beispiel sind im Französischen das einfache `e` und ein grave akzentuiertes `è` identisch.)

  Vergleichende Symbole
    Ein vergleichendes Symbol84 ist ein Multizeichen vergleichendes Element, das mit `[.` und `.]` umschlossen wird. Wenn beispielsweise `ch` ein vergleichendes Element ist, so ist `[[.ch.]]` ein regexp, der auf dieses vergleichende Element paßt, wohingegen `[ch]` ein regexp ist, der entweder auf `c` oder auf `h` paßt.
  Gleichwertigkeitsklassen in regexp
    Eine Gleichwertigkeitsklasse85 ist eine Liste von gleichwertigen Zeichen, die mit `[=` und `=]` umschlossen sind. Deswegen ist `[[=eè=]]` ein regexp, der entweder auf `e` oder `è` paßt.

  Diese Besonderheiten sind ein sehr wertvolles Hilfsmittel in nicht englischsprachig ausgerichteten Umgebungen.

  Vorsicht:

  Die Bibliotheksfunktionen, die von Gcal für die regulär-Ausdruck Vergleiche benutzt werden, erkennen derzeit nur POSIX Zeichenklassen (möglicherweise); sie erkennen weder vergleichende Elemente noch Gleichwertigkeitsklassen.

`[^ ...]`
  Bezeichnet eine negierte Zeichenliste bzw. komplementäre Zeichenliste. Das erste Zeichen nach der `[` Klammer muß das `^` Zeichen sein. Diese Zeichenliste paßt auf jedes Zeichen, das nicht innerhalb der eckigen Klammern aufgeführt ist. Zum Beispiel:

      [^0-9]

  paßt auf jedes Zeichen, das keine Ziffer ist.

`|`
  Das ist der Auswahloperator, und dieser wird benutzt, um Alternativen zu vereinbaren. Zum Beispiel:

      ^P|[0-9]

  paßt auf jeden string, der entweder mit `^P` oder mit `[0-9]` übereinstimmt. Das bedeutet, daß Übereinstimmungen mit jeder Zeichenkette bestehen, die mit `P` beginnt oder eine Ziffer enthält.

  Die Alternative gilt für den größtmöglichen regulär-Ausdruck auf der jeweiligen Seite. Mit anderen Worten, `|` hat den geringsten Vorrang aller regulär-Ausdruck Operatoren.

`(...)`
  Runde Klammern werden in regulären Ausdrücken genauso zum Gruppieren verwendet, wie in der Arithmetik. Diese können benutzt werden, um reguläre Ausdrücke zu verketten, die den `|` Auswahloperator enthalten.
  Zum Beispiel paßt `@(samp|code)\{[^}]+\}` beiderseits auf `@code{foo}` und auf `@samp{bar}`. (Das sind Texinfo Steueranweisungen zur Textformatierung.)
`*`
  Dieses Symbol bedeutet, daß der vorangehende reguläre Ausdruck so oft wiederholt wird, wie es notwendig ist, um eine Übereinstimmung zu finden. Zum Beispiel:

      ph*

  verwendet das `*` Symbol zum vorangehenden `h`, und prüft auf Übereinstimmungen, die sich aus einem `p`, welches von einer beliebigen Anzahl von `h`'s gefolgt wird, ergeben. `ph*` paßt auch auf ein einzelnes `p`, falls keine `h`'s vorhanden sind.

  Das `*` Metazeichen wiederholt den geringstmöglichen vorangehenden Ausdruck. (Benutzen Sie die runden Klammern, falls ein größerer Ausdruck wiederholt werden soll.) Es werden so viele Wiederholungen wie möglich gefunden. Zum Beispiel:

      gcal --filter-text='\(c[ad][ad]*r x\)' -f sample.rc -y

  gibt jeden Termin aus `sample.rc` aus, der einen Termintext der Form `(car x)`, `(cdr x)`, `(cadr x)`, usw. enthält. Beachten Sie das Entwerten der runden Klammern durch Voranstellen eines `\` Zeichens an diese.

`+`
  Dieses Symbol ist ähnlich wie `*`, nur muß der vorangehende Ausdruck letztlich einmal gepaßt haben. Das bedeutet, daß:

      ul+m

  zwar auf `ulm` und `ullm` passen würde, aber nicht auf `um`, wohingegen `ul*m` auf alle drei vorstehenden Zeichenketten passen würde. Hier ist eine einfachere Art, wie das letzte `*` Beispiel geschrieben werden kann:

      gcal --filter-text='\(c[ad]+r x\)' -f sample.rc -y

`?`
  Dieses Symbol ist ähnlich wie `*`, aber der vorangehende Ausdruck kann entweder einmal gepaßt haben, oder nicht in Gänze. Zum Beispiel:

      fe?d

  paßt nur auf `fed` und `fd`, und nichts anderes.

`{n}`
`{n,}`
`{n,m}`
  Eine oder zwei Zahlen innerhalb geschweifter Klammern bezeichnen einen Intervall-Ausdruck, der im POSIX Standard verfügbar ist. Falls eine Zahl in den Klammern vorhanden ist, so wird der vorangehende regexp n-fach wiederholt. Wenn zwei Zahlen --separiert durch ein Komma-- in den Klammern vorhanden sind, so wird der vorangehende regexp n bis m-fach wiederholt. Nun, falls eine Zahl --gefolgt von einem Komma-- in den Klammern vorhanden ist, dann wird der vorangehende regexp letztlich n-fach wiederholt.
  `ul{3}m`
    paßt auf `ulllm`, aber nicht auf `ulm` oder `ullllm`.
  `ul{3,5}m`
    paßt nur auf `ulllm` oder `ullllm` oder `ulllllm`.
  `ul{2,}m`
    paßt auf `ullm` oder `ulllm` und so weiter.

GNU Software, die mit regulären Ausdrücken umgeht, unterstützt zusätzlich weitere regulär-Ausdruck Operatoren. Diese Operatoren sind hier beschrieben.

Die meisten der zusätzlichen Operatoren sind geschaffen worden, damit Übereinstimmungen in Wörtern festgestellt werden können. Für unsere Zwecke ist ein Wort eine Folge von einem oder mehreren Buchstaben, Zahlen oder Unterstrichzeichen (`_`).

`\w`
  Dieser Operator paßt auf jedes Zeichen, welches ein Wort konstituiert, d.h. jeder Buchstabe, Zahl oder Unterstrich. Denken Sie es sich als eine Abkürzung für `[A-Za-z0-9_]` oder `[[:alnum:]_]`.
`\W`
  Dieser Operator paßt auf jedes Zeichen, welches kein Wort konstituiert. Denken Sie es sich als eine Abkürzung für `[^A-Za-z0-9_]` oder `[^[:alnum:]_]`.
`\<`
  Dieser Operator paßt auf jeden leeren string zu Anfang eines Wortes. Beispielsweise paßt `\<kennen` auf `kennen`, aber nicht auf `erkennen`.
`\>`
  Dieser Operator paßt auf jede leere Zeichenkette zu Ende eines Wortes. Zum Beispiel paßt `er\>` auf `er`, aber nicht auf `erkennen`.
`\b`
  Dieser Operator paßt auf einen leeren string, der entweder zu Anfang oder zu Ende eines Wortes auftritt. Zum Beispiel paßt `\bFalle?\b` entweder auf das einzelne Wort `Fall` oder auf das einzelne Wort `Falle`.
`\B`
  Dieser Operator paßt auf eine leere Zeichenkette, die innerhalb eines Wortes auftritt. Mit anderen Worten, `\B` paßt auf einen leeren string, der zwischen zwei Zeichen auftritt, die ein Wort konstituieren. Beispielsweise paßt `\Brechnet\B` auf `berechnete`, aber es paßt nicht auf `so rechnet man`. `\B` ist im Grunde genommen das genaue Gegenteil von `\b`.

Es gibt noch zwei weitere Operatoren, die auf einen Puffer anwendbar sind. Im Emacs ist ein Puffer natürlich ein Emacs Puffer. In anderen Programmen betrachten die regulär-Ausdruck Bibliotheksfunktionen, die von Gcal benutzt werden, die gesamte Zeichenkette, welche auf Übereinstimmungen hin untersucht werden soll, als den Puffer86.

Für Gcal erbringen diese Operatoren keine neuen Fähigkeiten, da die `^` und `$` Operatoren benutzt werden können, um Übereinstimmungen zu Anfang und zu Ende von Zeichenketten festzustellen. Sie sind nur zwecks Kompatibilität zu anderer GNU Software bereitgestellt.

`\``
  Dieser Operator paßt auf eine leere Zeichenkette zu Anfang eines Puffers.
`\'`
  Dieser Operator paßt auf eine leere Zeichenkette zu Ende eines Puffers.

Die `*`, `+` und `?` Operatoren und die geschweiften Klammern `{` und `}` haben den höchsten Vorrang in regulären Ausdrücken, gefolgt von der Verkettung, und abschließend dem `|` Operator. Wie in der Arithmetik üblich, so kann auch hier mittels Klammerung (runde Klammern) die Gruppierung der Operatoren verändert werden.

Die Groß-/ Kleinschreibung ist normalerweise von Bedeutung in regulären Ausdrücken, und zwar beiderseits beim Aufspüren von gewöhnlichen Zeichen (d.h. Nicht-Metazeichen), und innerhalb Zeichenklassen. Deswegen paßt ein `w` in einem regulären Ausdruck nur auf einen `w` Kleinbuchstaben, und nicht etwa auf einen `W` Großbuchstaben.

Der einfachste Weg, um ein groß-/ kleinschreibungsunabhängiges Zeichen aufzuspüren, ist die Benutzung einer Zeichenliste: `[Ww]`. Wie auch immer, so kann es doch sehr lästig sein, falls soetwas des öfteren gebraucht wird; und unglücklicherweise kann der reguläre Ausdruck dadurch schwer lesbar werden. Abhilfe bietet hier Gcal's `--ignore-case` Option, welche die Unterschiede zwischen Groß- und Kleinschreibung sowohl im regulären Ausdruck als auch im gesamten, vollständig expandierten Text eines jeden gültigen Termins ignoriert. SieheTermin Option `--ignore-case`.

Knoten:Regexp (kurz), Nächster:Spezialtexte (lang), Vorheriger:Regulaere Ausdruecke, Aufwärts:Top

# Zusammenfassung aller regulären Ausdrücke

Reguläre Ausdrücke basieren auf den POSIX ERAs (Erweiterte Reguläre Ausdrücke). Regexps werden aus Zeichen zusammengesetzt. Hier ist eine Kurzliste aller dieser Zeichen:

`c`
  paßt auf das Zeichen c (in der Annahme, das c keines der nachfolgend aufgeführten Zeichen ist).
`\c`
  paßt auf das textliche Zeichen c.
`.`
  paßt auf jedes Zeichen.
`^`
  paßt auf den Anfang einer Zeichenkette.
`$`
  paßt auf das Ende einer Zeichenkette.
`[abc...]`
  paßt auf jedes der Zeichen abc... (Zeichenliste).
`[[:Schlüsselwort:]]`
  paßt auf jedes Zeichen in der Zeichenklasse Schlüsselwort. Erlaubte Klassen sind `alnum`, `alpha`, `blank`, `cntrl`, `digit`, `graph`, `lower`, `print`, `punct`, `space`, `upper` und `xdigit`.
`[[.Element.]]`
  paßt auf das Multizeichen vergleichende Element. Gcal unterstützt gegenwärtig keine vergleichenden Elemente.
`[[=Liste=]]`
  paßt auf jedes der gleichwertigen Zeichen in Liste. Gcal unterstützt gegenwärtig keine Gleichwertigkeitsklassen.
`[^abc...]`
  paßt auf jedes Zeichen, ausgenommen abc... (negierte bzw. komplementäre Zeichenliste).
`r1|r2`
  paßt entweder auf r1 oder auf r2 (Alternative).
`r1r2`
  paßt auf r1, und dann auf r2 (Verkettung).
`r+`
  paßt auf ein r oder auf mehrere r's.
`r*`
  paßt auf kein r oder auf mehrere r's.
`r?`
  paßt auf kein r oder auf genau ein r.
`(r)`
  paßt auf r (Gruppierung).
`r{n}`
`r{n,}`
`r{n,m}`
  paßt auf letztlich n, n bis hin zu jeder Anzahl, oder n bis m Vorkommen von r (Intervall-Ausdrücke).
`\b`
  paßt auf eine leere Zeichenkette entweder zu Anfang oder zu Ende eines Wortes.
`\B`
  paßt auf die leere Zeichenkette innerhalb eines Wortes.
`\<`
  paßt auf die leere Zeichenkette zu Anfang eines Wortes.
`\>`
  paßt auf die leere Zeichenkette zu Ende eines Wortes.
`\w`
  paßt auf jedes Zeichen, welches ein Wort konstituiert (Alphanumerische Zeichen und der Unterstrich).
`\W`
  paßt auf jedes Zeichen, welches kein Wort konstituiert.
`\``
  paßt auf die leere Zeichenkette zu Anfang eines Puffers87.
`\'`
  paßt auf die leere Zeichenkette zu Ende eines Puffers.

Knoten:Spezialtexte (lang), Nächster:Spezialtexte (kurz), Vorheriger:Regexp (kurz), Aufwärts:Top

# Beschreibung aller `%?`... Spezialtexte

- Ausschliessen: Datum ausschließen.
- Ersetzen: Texte ersetzen.
- Shell Kommando: Shell Kommando ausführen.

Die im Textteil einer Zeile der Gcal Ressourcendatei verwendbaren `%?`... Spezialtexte können grob in drei Kategorien eingeteilt werden. So gibt es Spezialtexte, welche die Ausgabe von Terminen in bestimmten Fällen unterdrücken. Andere werden durch besondere Texte ersetzt, und noch andere veranlassen die shell dazu, externe Kommandos auszuführen. Siehe`%?`... Spezialtexte, für eine allgemeine Beschreibung der Spezialtexte, die im Textteil einer Zeile von Gcal Ressourcendateien auftreten dürfen.

Bei einigen dieser Spezialtexte darf noch optional eine Formatanweisung (im weiteren mit Format bezeichnet) angegeben werden, welche die Darstellung des expandierten Spezialtextes beeinflußt. SieheFormatanweisung, für die ausführliche Beschreibung der Formatanweisung und ihrer Komponenten. Bei Spezialtexten, die kein Format aufweisen dürfen, wird eine eventuell angegebene Formatanweisung von Gcal ignoriert und nicht ausgegeben.

Aber auch solche Spezialtexte können mittels einer Formatanweisung von Gcal besonders dargestellt werden, und zwar durch eine indirekte Methode. Man weist einfach einer Textvariablen den Spezialtext exklusiv zu und gibt diese dann, mit einer Formatanweisung versehen, aus. Allerdings ist dabei zu beachten, daß die Feldbreitenkomponente der Formatanweisung so zu wählen ist, daß sie sich auf den zugewiesenen Inhalt der Textvariablen bezieht, sofern die Formatanweisung eine Festformat-Komponente aufweist. Der zugewiesene Inhalt an die Textvariable ist nämlich nur der Spezialtext, und nicht dessen expandiertes Ergebnis. Gcal muß derart vorgehen, da ja der in der Textvariablen verborgene Spezialtext nicht nur auf ein bestimmtes Datum angewendet (hier: ausgegeben) werden soll, sondern unter Umständen auch auf mehrere, und zwar angepaßt an das jeweilige Datum, an dem er referenziert wird. Somit befindet sich in der Textvariablen ein Spezialtext, der eine bestimmte Länge hat, und es existiert eine Formatanweisung, dessen Feldbreitenkomponente auf das expandierte Ergebnis des Spezialtextes wirken soll. Allerdings weiß Gcal zum Zeitpunkt der Zuweisung des Spezialtextes an die Textvariable nicht, wie lang das expandierte Ergebnis sein wird, da diese Expansion erst zu einem sehr viel späteren Zeitpunkt im Programmablauf stattfindet. Von daher sollte in einem solchen Fall die Feldbreitenkomponente der Formatanweisung mindestens die Länge des Spezialtextes betragen, andernfalls wird dieser durch die internen Mechanismen, die die Expansion bewirken, verkrüppelt und nicht korrekt expandiert und dargestellt.

Bei denjenigen Spezialtexten, deren expandierte Darstellung durch ein optionales Format beeinflußt werden kann, sind in diesem Anhang natürlich nicht alle Möglichkeiten aufgeführt, welche die Formatanweisung hinsichtlich der Darstellung bietet, sondern nur einige wenige exemplarisch.

Und bei einigen dieser Spezialtexte darf auch noch optional ein einfaches oder besonderes Datumargument (im weiteren mit Datum bezeichnet) oder ein sonstiges Argument (im weiteren mit Argument bezeichnet) angegeben werden. Wenn ein Spezialtext direkt von einem Datum Argument gefolgt wird, so muß Datum einem der nachstehenden Datumformate entsprechen:

- `jjjj[mm[tt|wwwn]]`
- `jjjj*d|wn[www]`
- `jjjj@e|t|dvar[[+|-]n[www]]`

Spezialtexte, die ein Datum Argument annehmen dürfen, müssen stets von einem whitespace Zeichen gefolgt werden, welches seinerseits in der Ausgabe entfernt wird, und zwar unabhängig davon, ob Datum angegeben wurde oder nicht!

SieheZusammenfassung aller `%?`... Spezialtexte, für eine Kurzdarstellung aller verwendbaren Spezialtexte.

Knoten:Ausschliessen, Nächster:Ersetzen, Vorheriger:Spezialtexte (lang), Aufwärts:Spezialtexte (lang)

## `%?`... Spezialtexte um Datum auszuschließen

- Ausschliessen mit Datumargument:
- Ausschliessen ohne Argument:

`%?`... Spezialtexte zum Ausschließen von Zeitpunkten oder Zeiträumen sind sehr nützlich, wenn sie zusammen mit Datumbereichen verwendet werden (sieheBereiche von Tagen). Wird der Termintext ausgegeben, so wird stets der gesamte Spezialtext in der Ausgabe unterdrückt.

Knoten:Ausschliessen mit Datumargument, Nächster:Ausschliessen ohne Argument, Vorheriger:Ausschliessen, Aufwärts:Ausschliessen

### Ausschließen mit Datumargument `%?[Datum]` Spezialtexte

- Inklusive Datum Zeitraum:
- Exklusive Datum Zeitraum:

Zunächst einmal kann ein inklusive Datum Zeitraum `%?[Datum]` Spezialtext angegeben werden, mit der Wirkung, daß nur die Termine, die in diesem Zeitraum liegen, ausgegeben werden. Und die Angabe eines exklusive Datum Zeitraums `%?[Datum]` Spezialtexts bewirkt, daß alle Termine, die in diesem Zeitraum liegen, nicht ausgegeben werden.

Geschickt kombiniert, bieten sich diese Spezialtexte als wirksame Filter an, mit deren Hilfe sich spezielle Zeiträume sehr flexibel definieren lassen können, zum Beispiel:

    0*d1#999 Jeder Tag des Jahres: Von Januar...August ausgenommen April\
             %i00001#00008 %e00004#00004
    ;
    0*d1#999 Jeder Tag des Jahres: Von 1991...1993 und ab 1996\
             ausgenommen Februar 1992 und aller September\
             %i1991#1993 %i1996# %e19922#19922 %e00009#00009

Knoten:Inklusive Datum Zeitraum, Nächster:Exklusive Datum Zeitraum, Vorheriger:Ausschliessen mit Datumargument, Aufwärts:Ausschliessen mit Datumargument

#### Inklusive Datum Zeitraum `%i[Datum][#[Datum]]` Spezialtext

`%i[Datum][#[Datum]]` bezeichnet einen inklusive Datum Zeitraum, d.h. alle Daten, die in dem gegebenen Zeitraum liegen, sind gültig und werden ausgegeben. Das bedeutet natürlich, daß alle Termine, die nicht in diesem Zeitraum liegen, ungültig sind und somit auch nicht ausgegeben werden.

Das erste angegebene Datum bestimmt das Startdatum eines Termins, d.h. das erste Datum, an dem dieser Termin auftreten darf. Für das Startdatum gelten folgende Regeln hinsichtlich bestimmter Auslassungswerte, verdeutlicht am `jjjj[mm[tt|wwwn]]` Datumformat:

- Falls jjjj auf den Wert `0000` gesetzt ist, so wird das laufende Jahr als Jahr angenommen.
- Falls mm nicht angegeben ist, so wird `01` (==Januar) als Monat angenommen.
- Falls mm auf den Wert `00` gesetzt ist, so wird der laufende Monat als Monat angenommen, bei `99` der Dezember.
- Falls tt|www nicht angegeben ist, so wird `01` als Tag angenommen.
- Falls tt auf den Wert `00` gesetzt ist, so wird der laufende Tag als Tag angenommen, bei `99` der letzte Tag des Monats mm.
- Falls das n Feld angegeben ist (Bereich `1...5` oder `9`), so muß auch ein www Feld angegeben sein.

Das zweite angegebene Datum bestimmt das Endedatum eines Termins, d.h. das letzte Datum, an dem dieser Termin auftreten darf. Für das Endedatum gelten folgende Regeln hinsichtlich bestimmter Auslassungswerte, ebenfalls verdeutlicht am `jjjj[mm[tt|wwwn]]` Datumformat:

- Falls jjjj auf den Wert `0000` gesetzt ist, so wird das laufende Jahr als Jahr angenommen.
- Falls mm nicht angegeben ist, so wird `12` (==Dezember) als Monat angenommen.
- Falls mm auf den Wert `00` gesetzt ist, so wird der laufende Monat als Monat angenommen, bei `99` der Dezember.
- Falls tt|www nicht angegeben ist, so wird der letzte Tag des Monats mm als Tag angenommen.
- Falls tt auf den Wert `00` gesetzt ist, so wird der laufende Tag als Tag angenommen, bei `99` der letzte Tag des Monats mm.
- Falls das n Feld angegeben ist (Bereich `1...5` oder `9`), so muß auch ein www Feld angegeben sein.

Für die anderen erlaubten Datumformate gelten die vorstehenden Regeln sinngemäß!

Wenn das Startdatum, welches im `%i...` Spezialtext kodiert ist, größer dem Endedatum ist, so wird der `%i...` Spezialtext ignoriert.

Ist weder Startdatum noch Endedatum angegeben, also nur `%i`, so gilt der implizite Zeitraum 1'ter Januar 1...31'ter Dezember 9999 (00010101...99991231).

Ist nur das Startdatum angegeben, also entweder `%iDatum` oder `%iDatum#`, so gilt das implizite Endedatum 31'ter Dezember 9999 (99991231).

Ist nur das Endedatum angegeben, also `%i#Datum`, so gilt das implizite Startdatum 1'ter Januar 1 (00010101).

Zum Beispiel:

    0d*1#999 Jeder Tag des Jahres: nur April und Juli\
             %i00004#00004 %i00007#00007
    ;
    0*d1#999 Jeder Tag des Jahres: von Januar...Oktober\
             %i#000010
    ;
    0*d1#999 Jeder Tag des Jahres: ab August 1990\
             %i19908
    ;
    0*d1#999 Jeder Tag des Jahres: von August...Dezember\
             %i00008
    ;
    0*d1#999 Jeder Tag des Jahres: nur heute%i0@t#0@t

Knoten:Exklusive Datum Zeitraum, Vorheriger:Inklusive Datum Zeitraum, Aufwärts:Ausschliessen mit Datumargument

#### Exklusive Datum Zeitraum `%e[Datum][#[Datum]]` Spezialtext

`%e[Datum][#[Datum]]` bezeichnet einen exklusive Datum Zeitraum, d.h. alle Daten, die in dem gegebenen Zeitraum liegen, sind ungültig und werden nicht ausgegeben. Das bedeutet natürlich, daß alle Termine, die nicht in diesem Zeitraum liegen, gültig sind und somit auch ausgegeben werden.

Das erste angegebene Datum bestimmt das Startdatum eines Termins, d.h. das erste Datum, an dem dieser Termin auftreten darf. Für das Startdatum gelten folgende Regeln hinsichtlich bestimmter Auslassungswerte, verdeutlicht am `jjjj[mm[tt|wwwn]]` Datumformat:

- Falls jjjj auf den Wert `0000` gesetzt ist, so wird das laufende Jahr als Jahr angenommen.
- Falls mm nicht angegeben ist, so wird `01` (==Januar) als Monat angenommen.
- Falls mm auf den Wert `00` gesetzt ist, so wird der laufende Monat als Monat angenommen, bei `99` der Dezember.
- Falls tt|www nicht angegeben ist, so wird `01` als Tag angenommen.
- Falls tt auf den Wert `00` gesetzt ist, so wird der laufende Tag als Tag angenommen, bei `99` der letzte Tag des Monats mm.
- Falls das n Feld angegeben ist (Bereich `1...5` oder `9`), so muß auch ein www Feld angegeben sein.

Das zweite angegebene Datum bestimmt das Endedatum eines Termins, d.h. das letzte Datum, an dem dieser Termin auftreten darf. Für das Endedatum gelten folgende Regeln hinsichtlich bestimmter Auslassungswerte, ebenfalls verdeutlicht am `jjjj[mm[tt|wwwn]]` Datumformat:

- Falls jjjj auf den Wert `0000` gesetzt ist, so wird das laufende Jahr als Jahr angenommen.
- Falls mm nicht angegeben ist, so wird `12` (==Dezember) als Monat angenommen.
- Falls mm auf den Wert `00` gesetzt ist, so wird der laufende Monat als Monat angenommen, bei `99` der Dezember.
- Falls tt|www nicht angegeben ist, so wird der letzte Tag des Monats mm als Tag angenommen.
- Falls tt auf den Wert `00` gesetzt ist, so wird der laufende Tag als Tag angenommen, bei `99` der letzte Tag des Monats mm.
- Falls das n Feld angegeben ist (Bereich `1...5` oder `9`), so muß auch ein www Feld angegeben sein.

Für die anderen erlaubten Datumformate gelten die vorstehenden Regeln sinngemäß!

Wenn das Startdatum, welches im `%e...` Spezialtext kodiert ist, größer dem Endedatum ist, so wird der `%e...` Spezialtext ignoriert.

Ist weder Startdatum noch Endedatum angegeben, also nur `%e`, so gilt der implizite Zeitraum 1'ter Januar 1...31'ter Dezember 9999 (00010101...99991231).

Ist nur das Startdatum angegeben, also entweder `%eDatum` oder `%eDatum#`, so gilt das implizite Endedatum 31'ter Dezember 9999 (99991231).

Ist nur das Endedatum angegeben, also `%e#Datum`, so gilt das implizite Startdatum 1'ter Januar 1 (00010101).

Zum Beispiel:

    0d*1#999 Jeder Tag des Jahres: ausgenommen April und Juli\
            %e00004#00004 %e00007#00007
    ;
    0*d1#999 Jeder Tag des Jahres: ausgenommen Januar...Oktober\
             %e#000010
    ;
    0*d1#999 Jeder Tag des Jahres: bis Juli 1990\
             %e19908
    ;
    0*d1#999 Jeder Tag des Jahres: ausgenommen August...Dezember\
             %e00008
    ;
    0*d1#999 Jeder Tag des Jahres: ausgenommen heute%e0@t#0@t

Knoten:Ausschliessen ohne Argument, Vorheriger:Ausschliessen mit Datumargument, Aufwärts:Ausschliessen

### Ausschließen ohne Argument `%?` Spezialtexte

- Inklusive Tag Zeitraum:
- Exklusive Tag Zeitraum:

Zunächst einmal kann ein inklusive Tag Zeitraum `%?` Spezialtext angegeben werden, mit der Wirkung, daß nur die Termine, die in diesem Zeitraum liegen, ausgegeben werden. Und die Angabe eines exklusive Tag Zeitraums `%?` Spezialtexts bewirkt, daß alle die Termine, die nicht in diesem Zeitraum liegen, ausgegeben werden.

Geschickt kombiniert, bieten auch diese Spezialtexte wirksame Filter, mit deren Hilfe sehr spezielle Zeiträume definiert werden können, zum Beispiel:

    0*d1#999 Jeder Tag des Jahres: Von Montags...Freitags\
             ausgenommen Mittwochs und aller gesetzlichen Feiertage\
             %r%F%V
    ;
    00001001#9999 Jeder Tag im letzten Quartal des Jahres: Alle Feiertage\
                  die nicht auf einen Sonntag fallen%x %P

Knoten:Inklusive Tag Zeitraum, Nächster:Exklusive Tag Zeitraum, Vorheriger:Ausschliessen ohne Argument, Aufwärts:Ausschliessen ohne Argument

#### Inklusive Tag Zeitraum `%?` Spezialtexte

Folgende inklusive Tag Zeiträume `%?` Spezialtexte werden berücksichtigt, wobei in diesem Zusammenhang mit inklusive der Zeitraum gemeint ist, welcher nicht ausgeschlossen wird:

`%v`
  Bewirkt den Ausschluß eines Termins, falls dieser nicht als gesetzlicher Feiertag in der ewigen Feiertagsliste aufgeführt ist.
`%x`
  Bewirkt den Ausschluß eines Termins, falls dieser weder als gesetzlicher Feiertag noch als Gedenktag in der ewigen Feiertagsliste aufgeführt ist.
`%a`
  Bewirkt den Ausschluß eines Termins, falls dieser nicht auf einen Montag fällt.
`%c`
  Bewirkt den Ausschluß eines Termins, falls dieser nicht auf einen Dienstag fällt.
`%f`
  Bewirkt den Ausschluß eines Termins, falls dieser nicht auf einen Mittwoch fällt.
`%g`
  Bewirkt den Ausschluß eines Termins, falls dieser nicht auf einen Donnerstag fällt.
`%h`
  Bewirkt den Ausschluß eines Termins, falls dieser nicht auf einen Freitag fällt.
`%l`
  Bewirkt den Ausschluß eines Termins, falls dieser nicht auf einen Samstag fällt.
`%p`
  Bewirkt den Ausschluß eines Termins, falls dieser nicht auf einen Sonntag fällt.
`%q`
  Bewirkt den Ausschluß eines Termins, falls dieser nicht auf einen Montag...Donnerstag fällt.
`%r`
  Bewirkt den Ausschluß eines Termins, falls dieser nicht auf einen Montag...Freitag fällt.

Knoten:Exklusive Tag Zeitraum, Vorheriger:Inklusive Tag Zeitraum, Aufwärts:Ausschliessen ohne Argument

#### Exklusive Tag Zeitraum `%?` Spezialtexte

Folgende exklusive Tag Zeiträume `%?` Spezialtexte werden berücksichtigt, wobei in diesem Zusammenhang mit exklusive der Zeitraum gemeint ist, welcher ausgeschlossen wird:

`%V`
  Bewirkt den Ausschluß eines Termins, falls dieser auf einen Tag fällt, der als gesetzlicher Feiertag in der ewigen Feiertagsliste aufgeführt ist.
`%X`
  Bewirkt den Ausschluß eines Termins, falls dieser auf einen Tag fällt, der entweder als gesetzlicher Feiertag oder als Gedenktag in der ewigen Feiertagsliste aufgeführt ist.
`%A`
  Bewirkt den Ausschluß eines Termins, falls dieser auf einen Montag fällt.
`%C`
  Bewirkt den Ausschluß eines Termins, falls dieser auf einen Dienstag fällt.
`%F`
  Bewirkt den Ausschluß eines Termins, falls dieser auf einen Mittwoch fällt.
`%G`
  Bewirkt den Ausschluß eines Termins, falls dieser auf einen Donnerstag fällt.
`%H`
  Bewirkt den Ausschluß eines Termins, falls dieser auf einen Freitag fällt.
`%L`
  Bewirkt den Ausschluß eines Termins, falls dieser auf einen Samstag fällt.
`%P`
  Bewirkt den Ausschluß eines Termins, falls dieser auf einen Sonntag fällt.
`%Q`
  Bewirkt den Ausschluß eines Termins, falls dieser auf einen Montag...Donnerstag fällt.
`%R`
  Bewirkt den Ausschluß eines Termins, falls dieser auf einen Montag...Freitag fällt.

Knoten:Ersetzen, Nächster:Shell Kommando, Vorheriger:Ausschliessen, Aufwärts:Spezialtexte (lang)

## `%?`... Spezialtexte zum Textersatz

- Ersetzen mit Datumargument:
- Ersetzen mit anderem Argument:
- Ersetzen ohne Argument:

`%?`... Spezialtexte, die zur Programmlaufzeit durch besonderen Text ersetzt werden, bewirken das Einstreuen von Daten in den Termintext, deren Ausprägung im wesentlichen von den Kommandozeilenargumenten abhängen, welche bei Programmausführung angegeben worden sind. Wird der Termintext ausgegeben, so wird stets der gesamte Spezialtext in der Ausgabe entsprechend ersetzt.

Geschickt kombiniert, bieten sich auch diese Spezialtexte als wirksame Mechanismen an, mit deren Hilfe sich spezielle Texte sehr flexibel erzeugen lassen können, zum Beispiel:

    0*d1#999 Jeder Tag des Jahres: Heute ist %K, der %n (%N)

Knoten:Ersetzen mit Datumargument, Nächster:Ersetzen mit anderem Argument, Vorheriger:Ersetzen, Aufwärts:Ersetzen

### Ersetzen mit Datumargument `%?[Datum]` Spezialtexte

- Wochentagsname:
- Wochentagsnummer:
- Tag-des-Jahres Nummer:
- Tagesnummer:
- Wochennummer:
- Monatsname:
- Monatsnummer:
- Jahresnummer:
- Mondphase:
- Biorhythmus:
- Differenzwert:

Neben verschiedenen Darstellungen von einem Wochentagsnamen kann auch dessen Wochentagsnummer erzeugt werden. Ebenso kann der laufende Tag des Jahres, die Tagesnummer, die Wochennummer, der Monatsname, die Monatsnummer, die Jahresnummer, die Mondphase und der Biorhythmus produziert werden, sowie einige nützliche Differenzwerte.

Für das Datum, daß diese `%?[Datum]` Spezialtexte annehmen dürfen, gelten folgende Regeln hinsichtlich bestimmter Auslassungswerte, verdeutlicht am `jjjj[mm[tt|wwwn]]` Datumformat88:

- Falls jjjj... nicht angegeben ist (==kein Datum kodiert), so wird das laufende Datum als Datum angenommen.
- Falls jjjj auf den Wert `0000` gesetzt ist, so wird das laufende Jahr als Jahr angenommen.
- Falls mm nicht angegeben oder auf den Wert `00` gesetzt ist, so wird der laufende Monat als Monat angenommen, bei `99` der Dezember.
- Falls tt|www nicht angegeben oder auf den Wert `00` gesetzt ist, so wird der laufende Tag als Tag angenommen, bei `99` der letzte Tag des Monats mm.
- Falls das n Feld angegeben ist (Bereich `1...5` oder `9`), so muß auch ein www Feld angegeben sein.

Knoten:Wochentagsname, Nächster:Wochentagsnummer, Vorheriger:Ersetzen mit Datumargument, Aufwärts:Ersetzen mit Datumargument

#### Wochentagsname `%[Format]K[Datum]` Spezialtext

`%K[Datum]`
  Wird in einen vollständigen Wochentagsnamen für den laufenden Tag umgesetzt, z.B.:

  > Der Text `Heute ist %K , der %n` wird umgesetzt in
  > ==> `Heute ist Montag, der 10-Jun-1996`, falls das aktuelle Systemdatum der 10'te Juni 1996 ist.

`%>3#K[Datum]`
  Wird in einen 3-Buchstaben Wochentagsnamen für den laufenden Tag umgesetzt, z.B.:

  > Der Text `Heute ist %>3#K0@t+1 , der %n+1` wird umgesetzt in
  > ==> `Heute ist Die, der 11-Jun-1996`, falls das aktuelle Systemdatum der 10'te Juni 1996 ist.

`%>2#K[Datum]`
  Wird in einen 2-Buchstaben Wochentagsnamen für den laufenden Tag umgesetzt, z.B.:

  > Der Text `Heute ist %>2#K , der %n` wird umgesetzt in
  > ==> `Heute ist Mo, der 10-Jun-1996`, falls das aktuelle Systemdatum der 10'te Juni 1996 ist.

Knoten:Wochentagsnummer, Nächster:Tag-des-Jahres Nummer, Vorheriger:Wochentagsname, Aufwärts:Ersetzen mit Datumargument

#### Wochentagsnummer `%[Format]?[Datum]` Spezialtexte

Folgende Wochentagsnummer `%[Format]?[Datum]` Spezialtexte werden berücksichtigt, z.B.:

`%W[Datum]`
  Wird in eine Wochentagsnummer für den laufenden Tag umgesetzt, die nach der Montag==1...Sonntag==7 Zählweise ermittelt wird, z.B.:

  > Der Text `Heute ist Wochentag %W , der %n` wird umgesetzt in
  > ==> `Heute ist Wochentag 1, der 10-Jun-1996`, falls das aktuelle Systemdatum der 10'te Juni 1996 ist.

`%>1&*W[Datum]`
  Wird in eine Wochentagsnummer mit nachfolgendem Ordnungszahlanhang für den laufenden Tag umgesetzt, die nach der Montag==1...Sonntag==7 Zählweise ermittelt wird, z.B.:

  > Der Text `Heute ist Wochentag %>1&*W0@t+1 , der %n+1` wird umgesetzt in
  > ==> `Heute ist Wochentag 2'ter, der 11-Jun-1996`, falls das aktuelle Systemdatum der 10'te Juni 1996 ist.

`%E[Datum]`
  Wird in eine Wochentagsnummer für den laufenden Tag umgesetzt, die nach der Montag==0...Sonntag==6 Zählweise ermittelt wird, z.B.:

  > Der Text `Heute ist Wochentag %E , der %n` wird umgesetzt in
  > ==> `Heute ist Wochentag 0, der 10-Jun-1996`, falls das aktuelle Systemdatum der 10'te Juni 1996 ist.

`%>1&*E[Datum]`
  Wird in eine Wochentagsnummer mit nachfolgendem Ordnungszahlanhang für den laufenden Tag umgesetzt, die nach der Montag==0...Sonntag==6 Zählweise ermittelt wird, z.B.:

  > Der Text `Heute ist Wochentag %>1&*E , der %n` wird umgesetzt in
  > ==> `Heute ist Wochentag 0'ter, der 10-Jun-1996`, falls das aktuelle Systemdatum der 10'te Juni 1996 ist.

`%I[Datum]`
  Wird in eine Wochentagsnummer für den laufenden Tag umgesetzt, die nach der Sonntag==1...Samstag==7 Zählweise ermittelt wird, z.B.:

  > Der Text `Heute ist Wochentag %I , der %n` wird umgesetzt in
  > ==> `Heute ist Wochentag 2, der 10-Jun-1996`, falls das aktuelle Systemdatum der 10'te Juni 1996 ist.

`%>1&*I[Datum]`
  Wird in eine Wochentagsnummer mit nachfolgendem Ordnungszahlanhang für den laufenden Tag umgesetzt, die nach der Sonntag==1...Samstag==7 Zählweise ermittelt wird, z.B.:

  > Der Text `Heute ist Wochentag %>1&*I , der %n` wird umgesetzt in
  > ==> `Heute ist Wochentag 2'ter, der 10-Jun-1996`, falls das aktuelle Systemdatum der 10'te Juni 1996 ist.

`%J[Datum]`
  Wird in eine Wochentagsnummer für den laufenden Tag umgesetzt, die nach der Sonntag==0...Samstag==6 Zählweise ermittelt wird, z.B.:

  > Der Text `Heute ist Wochentag %J , der %n` wird umgesetzt in
  > ==> `Heute ist Wochentag 1, der 10-Jun-1996`, falls das aktuelle Systemdatum der 10'te Juni 1996 ist.

`%>1&*J[Datum]`
  Wird in eine Wochentagsnummer mit nachfolgendem Ordnungszahlanhang für den laufenden Tag umgesetzt, die nach der Sonntag==0...Samstag==6 Zählweise ermittelt wird, z.B.:

  > Der Text `Heute ist Wochentag %>1&*J , der %n` wird umgesetzt in
  > ==> `Heute ist Wochentag 1'ter, der 10-Jun-1996`, falls das aktuelle Systemdatum der 10'te Juni 1996 ist.

`%S[Datum]`
  Wird in eine Wochentagsnummer für den laufenden Tag umgesetzt, die nach der Starttag der Woche==1...Endetag der Woche==7 Zählweise ermittelt wird (sieheKalender Option `--starting-day=Argument`), z.B.:

  > Der Text `Heute ist Wochentag %S , der %n` wird umgesetzt in
  > ==> `Heute ist Wochentag 4, der 10-Jun-1996`, falls das aktuelle Systemdatum der 10'te Juni 1996 und der Starttag der Woche ein Freitag (==5) ist.

`%>1&*S[Datum]`
  Wird in eine Wochentagsnummer mit nachfolgendem Ordnungszahlanhang für den laufenden Tag umgesetzt, die nach der Starttag der Woche==1...Endetag der Woche==7 Zählweise ermittelt wird
  (sieheKalender Option `--starting-day=Argument`), z.B.:

  > Der Text `Heute ist Wochentag %>1&*S , der %n` wird umgesetzt in
  > ==> `Heute ist Wochentag 4'ter, der 10-Jun-1996`, falls das aktuelle Systemdatum der 10'te Juni 1996 und der Starttag der Woche ein Freitag (==5) ist.

`%T[Datum]`
  Wird in eine Wochentagsnummer für den laufenden Tag umgesetzt, die nach der Starttag der Woche==0...Endetag der Woche==6 Zählweise ermittelt wird (sieheKalender Option `--starting-day=Argument`), z.B.:

  > Der Text `Heute ist Wochentag %T , der %n` wird umgesetzt in
  > ==> `Heute ist Wochentag 3, der 10-Jun-1996`, falls das aktuelle Systemdatum der 10'te Juni 1996 und der Starttag der Woche ein Freitag (==5) ist.

`%>1&*T[Datum]`
  Wird in eine Wochentagsnummer mit nachfolgendem Ordnungszahlanhang für den laufenden Tag umgesetzt, die nach der Starttag der Woche==0...Endetag der Woche==6 Zählweise ermittelt wird
  (sieheKalender Option `--starting-day=Argument`), z.B.:

  > Der Text `Heute ist Wochentag %>1&*T , der %n` wird umgesetzt in
  > ==> `Heute ist Wochentag 3'ter, der 10-Jun-1996`, falls das aktuelle Systemdatum der 10'te Juni 1996 und der Starttag der Woche ein Freitag (==5) ist.

Knoten:Tag-des-Jahres Nummer, Nächster:Tagesnummer, Vorheriger:Wochentagsnummer, Aufwärts:Ersetzen mit Datumargument

#### Tag-des-Jahres Nummer `%[Format]N[Datum]` Spezialtext

`%N[Datum]`
  Wird in eine Tag-des-Jahres Nummer für den laufenden Tag im Jahr umgesetzt, z.B.:

  > Der Text `Tag %N des Jahres, der %n` wird umgesetzt in
  > ==> `Tag 53 des Jahres, der 22-Feb-1996`, falls das aktuelle Systemdatum der 22'te Februar 1996 ist.

`%>03*N[Datum]`
  Wird in eine dreiziffrige Tag-des-Jahres Nummer mit führenden Nullen für den laufenden Tag im Jahr umgesetzt, z.B.:

  > Der Text `Tag %>03*N0@t-1 des Jahres, der %n-1` wird umgesetzt in
  > ==> `Tag 052 des Jahres, der 21-Feb-1996`, falls das aktuelle Systemdatum der 22'te Februar 1996 ist.

`%>1&*N[Datum]`
  Wird in eine Tag-des-Jahres Nummer mit nachfolgendem Ordnungszahlanhang für den laufenden Tag im Jahr umgesetzt, z.B.:

  > Der Text `Tag %>1&*N des Jahres, der %n` wird umgesetzt in
  > ==> `Tag 53'ter des Jahres, der 22-Feb-1996`, falls das aktuelle Systemdatum der 22'te Februar 1996 ist.

`%>03&*N[Datum]`
  Wird in eine dreiziffrige Tag-des-Jahres Nummer mit führenden Nullen und nachfolgendem Ordnungszahlanhang für den laufenden Tag im Jahr umgesetzt, z.B.:

  > Der Text `Tag %>03&*N des Jahres, der %n` wird umgesetzt in
  > ==> `Tag 053'ter des Jahres, der 22-Feb-1996`, falls das aktuelle Systemdatum der 22'te Februar 1996 ist.

Knoten:Tagesnummer, Nächster:Wochennummer, Vorheriger:Tag-des-Jahres Nummer, Aufwärts:Ersetzen mit Datumargument

#### Tagesnummer `%[Format]D[Datum]` Spezialtext

`%D[Datum]`
  Wird in eine Tagesnummer für den laufenden Tag im Monat umgesetzt, z.B.:

  > Der Text `Tag %D , %n` wird umgesetzt in
  > ==> `Tag 2, 02-Feb-1996`, falls das aktuelle Systemdatum der 2'te Februar 1996 ist.

`%>02*D[Datum]`
  Wird in eine zweiziffrige Tagesnummer mit führender Null für den laufenden Tag im Monat umgesetzt, z.B.:

  > Der Text `Tag %>02*D0@t-1 , %n-1` wird umgesetzt in
  > ==> `Tag 01, 01-Feb-1996`, falls das aktuelle Systemdatum der 2'te Februar 1996 ist.

`%>1&*D[Datum]`
  Wird in eine Tagesnummer mit nachfolgendem Ordnungszahlanhang für den laufenden Tag im Monat umgesetzt, z.B.:

  > Der Text `Tag %>1&*D , %n` wird umgesetzt in
  > ==> `Tag 2'ter, 02-Feb-1996`, falls das aktuelle Systemdatum der 2'te Februar 1996 ist.

`%>02&*D[Datum]`
  Wird in eine zweiziffrige Tagesnummer mit führender Null und nachfolgendem Ordnungszahlanhang für den laufenden Tag im Monat umgesetzt, z.B.:

  > Der Text `Tag %>02&*D , %n` wird umgesetzt in
  > ==> `Tag 02'ter, 02-Feb-1996`, falls das aktuelle Systemdatum der 2'te Februar 1996 ist.

Knoten:Wochennummer, Nächster:Monatsname, Vorheriger:Tagesnummer, Aufwärts:Ersetzen mit Datumargument

#### Wochennummer `%k[Datum]` Spezialtext

`%k[Datum]`
  Wird entweder in eine zweiziffrige ISO-Wochennummer oder Standard-Wochennummer mit führender Null, oder in einen vier Zeichen langen alphanumerischen Text für die laufende Woche im Jahr umgesetzt
  (siehe Kalender Option `--starting-day=Argument`, Kalender Option `--iso-week-number=yes|no`, und Gesichtspunkte zur Internationalisierung, für weitere Details), z.B.:

  > Der Text `Heute ist %K der Kalenderwoche %k` wird umgesetzt in
  > ==> `Heute ist Montag der Kalenderwoche 24`, falls das aktuelle Systemdatum der 10'te Juni 1996 ist.

Knoten:Monatsname, Nächster:Monatsnummer, Vorheriger:Wochennummer, Aufwärts:Ersetzen mit Datumargument

#### Monatsname `%[Format]U[Datum]` Spezialtext

`%U[Datum]`
  Wird in einen vollständigen Monatsnamen für den laufenden Monat im Jahr umgesetzt, z.B.:

  > Der Text `Heute ist %U , %n` wird umgesetzt in
  > ==> `Heute ist Juni, 10-Jun-1996`, falls das aktuelle Systemdatum der 10'te Juni 1996 ist.

`%>3#U[Datum]`
  Wird in einen 3-Buchstaben Monatsnamen für den laufenden Monat im Jahr umgesetzt, z.B.:

  > Der Text `Heute ist %>3#U19961010 , %n` wird umgesetzt in
  > ==> `Heute ist Okt, 10-Jun-1996`, falls das aktuelle Systemdatum der 10'te Juni 1996 ist.

Knoten:Monatsnummer, Nächster:Jahresnummer, Vorheriger:Monatsname, Aufwärts:Ersetzen mit Datumargument

#### Monatsnummer `%[Format]M[Datum]` Spezialtext

`%M[Datum]`
  Wird in eine Monatsnummer für den laufenden Monat im Jahr umgesetzt, z.B.:

  > Der Text `Monat %M , %n` wird umgesetzt in
  > ==> `Monat 2, 22-Feb-1996`, falls das aktuelle Systemdatum der 22'te Februar 1996 ist.

`%>02*M[Datum]`
  Wird in eine zweiziffrige Monatsnummer mit führender Null für den laufenden Monat im Jahr umgesetzt, z.B.:

  > Der Text `Monat %>02*M000001 , %n` wird umgesetzt in
  > ==> `Monat 01, 22-Feb-1996`, falls das aktuelle Systemdatum der 22'te Februar 1996 ist.

`%>1&*M[Datum]`
  Wird in eine Monatsnummer mit nachfolgendem Ordnungszahlanhang für den laufenden Monat im Jahr umgesetzt, z.B.:

  > Der Text `Monat %>1&*M , %n` wird umgesetzt in
  > ==> `Monat 2'ter, 22-Feb-1996`, falls das aktuelle Systemdatum der 22'te Februar 1996 ist.

`%>02&*M[Datum]`
  Wird in eine zweiziffrige Monatsnummer mit führender Null und nachfolgendem Ordnungszahlanhang für den laufenden Monat im Jahr umgesetzt, z.B.:

  > Der Text `Monat %>02&*M , %n` wird umgesetzt in
  > ==> `Monat 02'ter, 22-Feb-1996`, falls das aktuelle Systemdatum der 22'te Februar 1996 ist.

Knoten:Jahresnummer, Nächster:Mondphase, Vorheriger:Monatsnummer, Aufwärts:Ersetzen mit Datumargument

#### Jahresnummer `%[Format]Y[Datum]` Spezialtext

`%Y[Datum]`
  Wird in eine Jahresnummer für das laufende Jahr umgesetzt, z.B.:

  > Der Text `Jahr %Y , %n` wird umgesetzt in
  > ==> `Jahr 933, 22-Feb-0933`, falls das aktuelle Systemdatum der 22'te Februar 933 ist.

`%>04*Y[Datum]`
  Wird in eine vierziffrige vollständige Jahresnummer mit führenden Nullen für das laufende Jahr umgesetzt, z.B.:

  > Der Text `Jahr %>04*Y0015 , %n` wird umgesetzt in
  > ==> `Jahr 0015, 22-Feb-0933`, falls das aktuelle Systemdatum der 22'te Februar 933 ist.

Knoten:Mondphase, Nächster:Biorhythmus, Vorheriger:Jahresnummer, Aufwärts:Ersetzen mit Datumargument

#### Mondphase `%[Format]?[Datum]` Spezialtexte

Gcal benutzt eine sehr einfache Rechenvorschrift um die Mondphase zu ermitteln, welche ihrerseits nur Näherungswerte liefert. Die Mondphase wird stets für die Basiszeit 0 Uhr Weltzeit (UTC/GMT) berechnet. SieheKalender Option `--time-offset=Argument`, wie die Basiszeit, für welche die Mondphase berechnet wird, geändert werden kann. Folgende Mondphase `%[Format]?[Datum]` Spezialtexte werden berücksichtigt, z.B.:

`%O[Datum]`
  Wird in einen Mondphasentext für den laufenden Tag im Jahr umgesetzt, z.B.:

  > Der Text `Mondphase %O , %n` wird umgesetzt in
  > ==> `Mondphase 94%+, 22-Dez-1996`, falls das aktuelle Systemdatum der 22'te Dezember 1996 ist.

  Der konstruierte Mondphasentext besteht aus einem Prozentwert, der über den beleuchteten Bruchteil der Mondscheibe informiert, und ein nachfolgendes Zeichen, das etwas über den Status des Mondes aussagt. Ein nachfolgendes `+` Zeichen bezeichnet einen zunehmenden Mond, ein `-` Zeichen einen abnehmenden Mond, ein `@` Zeichen steht für eine Vollmondphase, und ein `!` Zeichen für eine Neumondphase.

`%>03*O[Datum]`
  Wird in einen dreiziffrigen Mondphasentext mit führenden Nullen für den laufenden Tag im Jahr umgesetzt, z.B.:

  > Der Text `Mondphase %>03*O0@t+1 , %n+1` wird umgesetzt in
  > ==> `Mondphase 098%+, 23-Dez-1996`, falls das aktuelle Systemdatum der 22'te Dezember 1996 ist.

  Der konstruierte Mondphasentext besteht aus einem Prozentwert, der über den beleuchteten Bruchteil der Mondscheibe informiert, und ein nachfolgendes Zeichen, das etwas über den Status des Mondes aussagt. Ein nachfolgendes `+` Zeichen bezeichnet einen zunehmenden Mond, ein `-` Zeichen einen abnehmenden Mond, ein `@` Zeichen steht für eine Vollmondphase, und ein `!` Zeichen für eine Neumondphase.

`%Z[Datum]`
  Wird in eine Mondphasen-Textgrafik für den laufenden Tag im Jahr umgesetzt, z.B.:

  > Der Text `Datum %n %Z --- Mondphase %>03*O ~Text` wird umgesetzt in
  > ==> `Datum 08-Mar-1995`
  > ==> `( @@@@@@`
  > ==> `( @@@@@@@@@`
  > ==> `( @@@@@@@@@@@`
  > ==> `( @@@@@@@@@@@@`
  > ==> `( @@@@@@@@@@@@@`
  > ==> `( @@@@@@@@@@@@@`
  > ==> `( @@@@@@@@@@@@@`
  > ==> `( @@@@@@@@@@@@@`
  > ==> `( @@@@@@@@@@@@`
  > ==> `( @@@@@@@@@@@`
  > ==> `( @@@@@@@@@`
  > ==> `( @@@@@@@ --- Mondphase 041%+`
  > ==> `Text`, falls das aktuelle Systemdatum der 8'te März 1995 ist.

  SieheTermin Option `--moonimage-lines=Anzahl`, wo erklärt wird, wie die Größe einer Mondphasen-Textgrafik geändert werden kann.

  Ein eventuell angegebenes Format wird bei diesem Spezialtext von Gcal ignoriert.

Knoten:Biorhythmus, Nächster:Differenzwert, Vorheriger:Mondphase, Aufwärts:Ersetzen mit Datumargument

#### Biorhythmus `%?[Datum]` Spezialtexte

Gcal besitzt die Fähigkeit, für jedes angegebene Geburtsdatum einen Biorhythmus zu erzeugen. Der erzeugte Text zeigt die drei Standard-Biorhythmuszyklen, und zwar den 28 Tage währenden emotionalen Zyklus, den 33 Tage währenden geistigen Zyklus, und den 23 Tage währenden physischen Zyklus. Der emotionale Zyklus wird vom Empfindungsvermögen, der geistigen Gesundheit, der Gemütsverfassung und der Kreativität beherrscht. Der geistige Zyklus spiegelt Intelligenz, Gedächtnis, geistige Wachheit und analytisches Denkvermögen wider. Der physische Zyklus stellt die Körperkraft, Ausdauer, Leistungs- und Widerstandsfähigkeit dar. Alle Zyklen beginnen im Nullpunkt am Geburtsdatum und schwingen wie Sinuskurven zwischen ihren positiven und negativen Maximalwerten. Die Zeiträume oberhalb des Nullpunktes zeigen die Tage voller Lebenskraft und Leistungsfähigkeit an, während die Zeiträume unterhalb des Nullpunktes die Tage verringerter Leistungsfähigkeit darstellen. Der Biorhythmus wurde nur zu Unterhaltungszwecken eingebaut! Die Interpretation der Biorhythmustexte liegt in den Händen des Benutzers.

Gcal zählt kritische Tage, positive ebenso wie negative Tage. Kritische Tage sind solche Tage, an denen eine oder mehrere der biologischen Zyklen den Nullpunkt überqueren. Zu einem solchen Zeitpunkt, so wird gesagt, soll sich der Organismus in einem Stadium des Umbruchs befinden, und es scheint angebracht zu sein, Vorsicht walten zu lassen. Positive Tage sind solche Tage, an denen eine oder mehrere der biologischen Zyklen einen positiven Maximalwert haben. Zu einem solchen Zeitpunkt, so wird gesagt, soll sich der Organismus in einem gesteigerten Stadium befinden. Negative Tage sind solche Tage, an denen eine oder mehrere der biologischen Zyklen einen negativen Maximalwert haben. Zu einem solchen Zeitpunkt, so wird gesagt, soll sich der Organismus in einem verminderten Stadium befinden.

Folgende Biorhythmus `%?[Datum]` Spezialtexte werden berücksichtigt:

`%,[Datum]`
  Wird in einen Biorhythmustext für den laufenden Tag im Jahr umgesetzt, z.B.:

  > Der Text `%,19620921` wird umgesetzt in
  > ==> `1! 0+ 0- , Emo=+022%- Gei=-091%+ Phy=-014%-`, falls das aktuelle Systemdatum der 12'te Dezember 1996 ist.

  Das vorangehende Beispiel zeigt den berechneten Biorhythmus als eine Folge von Werten für eine Person an, die am 21'ten September 1962 geboren ist. Der konstruierte Text besteht aus zwei Teilen, und zwar einerseits aus einem Tripel von Gesamtwerten, welches den kritischen, positiven und negativen Tag bezeichnet. Und aus einem weiteren Tripel von Werten, welches den emotionalen, geistigen und physischen Zyklus bezeichnet.

  Im ersten Tripel von Gesamtwerten bezeichnet ein nachgestelltes `!` Zeichen einen kritischen Tag, ein `+` einen positiven Tag, und ein `-` Anhang markiert einen negativen Tag.

  Im zweiten Tripel von Werten besteht jeder einzelne Zyklusprozentwert aus einem anführenden positiven oder negativen Vorzeichen, welches etwas über die Distanz dieses Wertes zum Nullpunkt aussagt, und einem nachgestellten Zeichen, das etwas über den Status jedes einzelnen Zyklus' aussagt. Ein nachfolgendes `+` Zeichen markiert eine zunehmende Phase, ein `-` Anhang bezeichnet eine abnehmende Phase, und ein `@` Kennzeichen den Maximalwert einer Phase.

`%;[Datum]`
  Wird in eine Biorhythmus-Textgrafik für den laufenden Tag im Jahr umgesetzt, z.B.:

  > Der Text `%;19620921` wird umgesetzt in
  > ==> `0- G P 1 E +0`, falls das aktuelle Systemdatum der 12'te Dezember 1996 ist.

  Das vorhergehende Beispiel zeigt den berechneten Biorhythmus als eine Zeile einer Textgrafik für eine Person an, die am 21'ten September 1962 geboren ist. Die konstruierte Zeile ist ein Balken mit einer negativen und positiven Achse von einstellbarer Länge (sieheTermin Option `--biorhythm-axis=Anzahl`), dessen linke Grenze durch den Gesamtwert der negativen Tage dargestellt wird (die `0-` in diesem Fall), und dessen rechte Grenze durch den Gesamtwert der positiven Tage repräsentiert wird (die `+0` in diesem Fall). Der Nullpunkt der Koordinaten wird durch den Gesamtwert der kritischen Tage dargestellt, welcher in diesem Fall die `1` ist. Der emotionale, geistige und der physische Phasenwert wird entsprechend skaliert auf dem Balken abgetragen, und zwar dargestellt durch den Anfangsbuchstaben des jeweiligen Zyklus' (`E`, `G` und `P`). Zusammenfallende Phasenwerte werden durch ein `@` Zeichen markiert.

Knoten:Differenzwert, Vorheriger:Biorhythmus, Aufwärts:Ersetzen mit Datumargument

#### Differenzwert `%[Format]?[Datum]` Spezialtexte

Folgende Differenzwert `%[Format]?[Datum]` Spezialtexte werden berücksichtigt, z.B.:

`%yDatum`
  Wird in einen Jahresdifferenzwert umgesetzt, z.B.:

  > Der Text `Silvester 1912 liegt %y1912 Jahre zurück` wird umgesetzt in
  > ==> `Silvester 1912 liegt -82 Jahre zurück`, falls das aktuelle Jahr 1994 ist.

`%B[Datum]`
  Wird in einen Alterswert umgesetzt, z.B.:

  > Der Text `Mein %B1962 Geburtstag%i1952#2062` wird umgesetzt in
  > ==> `Mein 32 Geburtstag`, falls das aktuelle Jahr 1994 ist.

  Der Alterswert wird nur dann ausgegeben, wenn sich bei dessen Berechnung ein Wert größer Null ergibt. Zudem wird der Termin in diesem vorangehenden Beispiel nur während der Jahre 1952 bis 2062 (einschließlich) ausgegeben.

`%>1&*B[Datum]`
  Wird in einen Alterswert mit nachfolgendem Ordnungszahlanhang umgesetzt, z.B.:

  > Der Text `Mein %>1&*B1962 Geburtstag%i1952#2062` wird umgesetzt in
  > ==> `Mein 32'ter Geburtstag`, falls das aktuelle Jahr 1994 ist.

  Der Alterswert wird nur dann ausgegeben, wenn sich bei dessen Berechnung ein Wert größer Null ergibt. Zudem wird der Termin in diesem vorangehenden Beispiel nur während der Jahre 1952 bis 2062 (einschließlich) ausgegeben.

Knoten:Ersetzen mit anderem Argument, Nächster:Ersetzen ohne Argument, Vorheriger:Ersetzen mit Datumargument, Aufwärts:Ersetzen

### Ersetzen mit anderem Argument `%[Format]?[Argument]` Spezialtexte

- Aktuelle Uhrzeit:
- Textliches Datum:
- Julianische Tageszahl:
- Geographische Distanz und Kurswinkel:
- Sonnendaten:
- Monddaten:
- Inhalt von Umgebungsvariable:

Neben verschiedenen Darstellungen der aktuellen Systemuhrzeit kann auch ein fester Datumtext erzeugt werden. Zudem kann eine Tageszahl produziert werden, deren Basisdatum ausgehend vom Julianischen Datum beliebig verlagert werden kann. Weiterhin kann die ungefähre Distanz und der Kurswinkel zwischen zwei beliebigen geographischen Orten, und verschiedene sonnen- und mondbezogene Daten und Zeiten für einen beliebigen geographischen Ort erzeugt werden. Es ist ebenfalls möglich, den Inhalt von Umgebungsvariablen im Termintext auszuweisen.

Für das Argument, daß diese `%?[Argument]` Spezialtexte annehmen dürfen, gelten keine besonderen Regeln hinsichtlich bestimmter Auslassungswerte.

Knoten:Aktuelle Uhrzeit, Nächster:Textliches Datum, Vorheriger:Ersetzen mit anderem Argument, Aufwärts:Ersetzen mit anderem Argument

#### Aktuelle Uhrzeit `%[Format]?[Argument]` Spezialtexte

Gcal ist in der Lage, die aktuelle Uhrzeit sowohl als Ortszeit/Zonenzeit als auch als Weltzeit (UTC/GMT) darzustellen, sowie zusätzlich noch den numerischen Weltzeit-Zeitzonenversatzwert und den aktuellen numerischen Ortszeit-Zeitzonenversatzwert im RFC-82289 Stil. SieheAktuelle Ortszeit `%t[Argument]` Spezialtext, für die ausführliche Beschreibung aller Komponenten des Arguments, das den aktuelle Uhrzeit `%[Format]?[Argument]` Spezialtexten folgen darf. Alle aktuelle Uhrzeit `%[Format]?[Argument]` Spezialtexte müssen stets von einem whitespace Zeichen gefolgt werden, welches seinerseits in der Ausgabe entfernt wird! Folgende aktuelle Uhrzeit `%[Format]?[Argument]` Spezialtexte werden berücksichtigt:

`%t[Argument]`

  `%t[*][[+|-]mmmm|hh:[mm]]` bezeichnet die aktuelle Ortszeit, die im `hh:mm` Format ausgegeben wird, z.B.:

  > Der Text `Ortszeit: %t --> Zahnarzttermin um 10:00 Uhr` wird umgesetzt in
  > ==> `Ortszeit: 07:32 --> Zahnarzttermin um 10:00 Uhr`, falls die aktuelle Ortszeit 07:32 Uhr (`hh:mm`) ist.

  Wenn nur `%t` angegeben ist, so wird der Wert der Ortszeit implizit im 24-Stunden Format ausgegeben. Um im 12-Stunden Format auszugeben, muß ein `*` Zeichen direkt hinter `%t` angegeben werden, z.B. `%t*`.

  Dem `%t` Spezialtext darf ein Versatzwert folgen, der entweder im `[+|-]mmmm` Format oder im `[+|-]hh:[mm]` Format angegeben werden muß. `[+|-]mmmm` addiert bzw. subtrahiert die angegebene Anzahl von Minuten mmmm vom Wert der Ortszeit (Bereich `0...9999`), während `[+|-]hh:[mm]` die angegebene Anzahl von Stunden hh (Bereich `0...99`) und Minuten mm (Bereich `0...59`) vom Wert der Ortszeit addiert bzw. subtrahiert. Der Versatzwert wird stets zum Wert der Ortszeit addiert, wenn er kein `+|-` Vorzeichen aufweist. Falls Gcal nicht imstande ist, die aktuelle Ortszeit im `hh:mm` Format zu berechnen, da das Argument fehlerhaft angegeben wurde, so wird anstelle der aktuellen Ortszeit im `hh:mm` Format ein `??:??` Text erzeugt.

  > Der Text `Ortszeit: %t-3: --> Zahnarzttermin um 10:00 Uhr` wird umgesetzt in
  > ==> `Ortszeit: 04:32 --> Zahnarzttermin um 10:00 Uhr`, falls die aktuelle Ortszeit 07:32 Uhr (`hh:mm`) ist.

`%[Format]'[Argument]`

  `%[Format]'[[+|-]mmmm|hh:[mm]]` bezeichnet die aktuelle Ortszeit in Minuten seit Mitternacht, die im m[m...] Format ausgegeben wird, z.B.:

  > Der Text `Ortszeit: %' --> Zahnarzttermin um 10:00 Uhr` wird umgesetzt in
  > ==> `Ortszeit: 452 --> Zahnarzttermin um 10:00 Uhr`, falls die aktuelle Ortszeit 07:32 Uhr (`hh:mm`) ist.

  Falls Gcal nicht imstande ist, die aktuelle Ortszeit im m[m...] Format zu berechnen, da das Argument fehlerhaft angegeben wurde, so wird anstelle der aktuellen Ortszeit im m[m...] Format ein `??` Text erzeugt.

`%[Format]_[Argument]`

  `%[Format]_[*][[+|-]mmmm|hh:[mm]]` bezeichnet die aktuelle Ortszeitstunde, die im h[h...] Format ausgegeben wird, z.B.:

  > Der Text `Ortszeitstunde: %_-1:` wird umgesetzt in
  > ==> `Ortszeitstunde: 6`, falls die aktuelle Ortszeit 07:32 Uhr (`hh:mm`) ist.

  Falls Gcal nicht imstande ist, die aktuelle Ortszeitstunde zu berechnen, da das Argument fehlerhaft angegeben wurde, so wird anstelle der aktuellen Ortszeitstunde h[h...] ein `??` Text erzeugt.

`%[Format]?[Argument]`

  `%[Format]?[[+|-]mmmm|hh:[mm]]` bezeichnet die aktuelle Ortszeitminute, die im m[m...] Format ausgegeben wird, z.B.:

  > Der Text `Ortszeitminute: %>04*?+:2` wird umgesetzt in
  > ==> `Ortszeitminute: 0034`, falls die aktuelle Ortszeit 07:32 Uhr (`hh:mm`) ist.

  Falls Gcal nicht imstande ist, die aktuelle Ortszeitminute zu berechnen, da das Argument fehlerhaft angegeben wurde, so wird anstelle der aktuellen Ortszeitminute m[m...] ein `??` Text erzeugt.

`%[Format]{[Argument]`

  `%[Format]{[[+|-]mmmm|hh:[mm]]` bezeichnet den aktuellen 12-Stunden Format Ortszeitanhang, der als `am|pm` ausgeben wird, z.B.:

  > Der Text `Ortszeitanhang: %{` wird umgesetzt in
  > ==> `Ortszeitanhang: am`, falls die aktuelle Ortszeit 07:32 Uhr (`hh:mm`) ist.

  Falls Gcal nicht imstande ist, den aktuellen 12-Stunden Format Ortszeitanhang zu berechnen, da das Argument fehlerhaft angegeben wurde, so wird anstelle des aktuellen 12-Stunden Format Ortszeitanhangs `am|pm` ein `??` Text erzeugt.

`%@[Argument]`

  `%@[*][[+|-]mmmm|hh:[mm]]` bezeichnet die aktuelle Weltzeit (UTC/GMT), die im `hh:mm/Datum` Format ausgegeben wird, z.B.:

  > Der Text `Weltzeit: %@*-3:` wird umgesetzt in
  > ==> `Weltzeit: 03:32am/15-Feb-1999`, falls das aktuelle Datum der 15'te Februar 1999 und die aktuelle Weltzeit 06:32 Uhr (`hh:mm`) ist.

  Falls Gcal nicht imstande ist, die aktuelle Weltzeit im `hh:mm/Datum` Format zu berechnen, da das Argument fehlerhaft angegeben wurde, so wird anstelle der aktuellen Weltzeit im `hh:mm/Datum` Format ein `??:??/??-???-????` Text erzeugt.

`%[Format]`[Argument]`

  `%[Format]`[[+|-]mmmm|hh:[mm]]` bezeichnet die aktuelle Weltzeit in Minuten seit Mitternacht (UTC/GMT), die im `m[m...]/Datum` Format ausgegeben wird, z.B.:

  > Der Text `Weltzeit: %>06*`-3:` wird umgesetzt in
  > ==> `Weltzeit: 000212/15-Feb-1999`, falls das aktuelle Datum der 15'te Februar 1999 und die aktuelle Weltzeit 06:32 Uhr (`hh:mm`) ist.

  Falls Gcal nicht imstande ist, die aktuelle Weltzeit im `m[m...]/Datum` Format zu berechnen, da das Argument fehlerhaft angegeben wurde, so wird anstelle der aktuellen Weltzeit im `m[m...]/Datum` Format ein `??/??-???-????` Text erzeugt.

`%[Format].[Argument]`

  `%[Format].[*][[+|-]mmmm|hh:[mm]]` bezeichnet die aktuelle Weltzeitstunde (UTC/GMT), die im h[h...] Format ausgegeben wird, z.B.:

  > Der Text `Weltzeitstunde: %.-1:` wird umgesetzt in
  > ==> `Weltzeitstunde: 5`, falls die aktuelle Weltzeit 06:32 Uhr (`hh:mm`) ist.

  Falls Gcal nicht imstande ist, die aktuelle Weltzeitstunde zu berechnen, da das Argument fehlerhaft angegeben wurde, so wird anstelle der aktuellen Weltzeitstunde h[h...] ein `??` Text erzeugt.

`%[Format]/[Argument]`

  `%[Format]/[[+|-]mmmm|hh:[mm]]` bezeichnet die aktuelle Weltzeitminute (UTC/GMT), die im m[m...] Format ausgegeben wird, z.B.:

  > Der Text `Weltzeitminute: %>04*/+:2` wird umgesetzt in
  > ==> `Weltzeitminute: 0034`, falls die aktuelle Weltzeit 06:32 Uhr (`hh:mm`) ist.

  Falls Gcal nicht imstande ist, die aktuelle Weltzeitminute zu berechnen, da das Argument fehlerhaft angegeben wurde, so wird anstelle der aktuellen Weltzeitminute m[m...] ein `??` Text erzeugt.

`%[Format]}[Argument]`

  `%[Format]}[[+|-]mmmm|hh:[mm]]` bezeichnet den aktuellen 12-Stunden Format Weltzeitanhang (UTC/GMT), der als `am|pm` ausgeben wird, z.B.:

  > Der Text `Weltzeitanhang: %>1w*}+10:` wird umgesetzt in
  > ==> `Weltzeitanhang: Pm`, falls die aktuelle Weltzeit 06:32 Uhr (`hh:mm`) ist.

  Falls Gcal nicht imstande ist, den aktuellen 12-Stunden Format Weltzeitanhang zu berechnen, da das Argument fehlerhaft angegeben wurde, so wird anstelle des aktuellen 12-Stunden Format Weltzeitanhangs `am|pm` ein `??` Text erzeugt.

`%"[Argument]`

  `%"[[+|-]mmmm|hh:[mm]]` bezeichnet den numerischen Weltzeit-Zeitzonenversatzwert im RFC-822 Stil, der im `+|-hhmm` Format ausgegeben wird, z.B.:

  > Der Text `Weltzeit-Zeitzonenversatzwert: %"-90` wird umgesetzt in
  > ==> `Weltzeit-Zeitzonenversatzwert: -0130`, wobei stets die Weltzeit-Zeitzone UTC/GMT als Basiszeitzone für die Berechnung zugrundegelegt wird.

  Falls Gcal nicht imstande, ist den numerischen Weltzeit-Zeitzonenversatzwert zu berechnen, da das Argument fehlerhaft angegeben wurde, so wird anstelle des numerischen Weltzeit-Zeitzonenversatzwertes `+|-hhmm` ein `+????` Text erzeugt.

`%=[Argument]`

  `%=[[+|-]mmmm|hh:[mm]]` bezeichnet den aktuellen numerischen Ortszeit-Zeitzonenversatzwert im RFC-822 Stil, der im `+|-hhmm` Format ausgegeben wird, z.B.:

  > Der Text `Ortszeit-Zeitzonenversatzwert: %=-10` wird umgesetzt in
  > ==> `Ortszeit-Zeitzonenversatzwert: +0050`, falls die aktuelle Zeitzone der Mitteleuropäischen Winterzeit MEWT/MET (`+hhmm`) entspricht. Es wird stets die Zeitzone der Ortszeit als Basiszeitzone für die Berechnung zugrundegelegt.

  Falls Gcal nicht imstande ist, den aktuellen numerischen Ortszeit-Zeitzonenversatzwert zu berechnen, da das Argument fehlerhaft angegeben wurde, so wird anstelle des aktuellen numerischen Ortszeit-Zeitzonenversatzwertes `+|-hhmm` ein `+????` Text erzeugt.

Knoten:Textliches Datum, Nächster:Julianische Tageszahl, Vorheriger:Aktuelle Uhrzeit, Aufwärts:Ersetzen mit anderem Argument

#### Textliches Datum `%n[Argument]` Spezialtext

`%n[[+|-]n]` bezeichnet die laufende bzw. abgefragte Tagesnummer relativ zum laufenden Datum `+/-` n Tagen und wird in einen, sich auf ein absolutes Datum beziehenden Datumtext im `%>02*D-%>3#U-%>04*Y` Format umgesetzt, z.B.:

> Die Ressourcendateizeile `1962Sep21 10000 Tage alt: %n+10000` wird umgesetzt in
> ==> `10000 Tage alt: 06-Feb-1990`, falls Gcal mit der einfachen `-c` Option und dem `sep 1962` Kommando aufgerufen wird (sieheEinfaches Kommando `mm jjjj`).

Knoten:Julianische Tageszahl, Nächster:Geographische Distanz und Kurswinkel, Vorheriger:Textliches Datum, Aufwärts:Ersetzen mit anderem Argument

#### Julianische Tageszahl `%[Format]j[Argument]` Spezialtext

`%[Format]j[[+|-]n]` bezeichnet die laufende bzw. abgefragte Julianische Tageszahl relativ zum aktuellen Systemdatum (==heute). Diese Tageszahl bezieht sich auf das Datum 1'ter Januar 4713 vor Christus, welches für astronomische Berechnungen als der Tag Null einer durchlaufenden Tageszählung angesehen wird und als das Julianische Datum (JD) bekannt ist. Der exakte Nullpunkt von diesem Datum ist um 12 Uhr Weltzeit (UTC/GMT); der Tageswechsel erfolgt also nicht um Mitternacht, sondern um Mittag Weltzeit. Da Gcal hierbei nicht die Zeitzone des vom Rechner gelieferten Systemdatum auswertet, wird diese Tageszahl nur ganzzahlig dargestellt in der Annahme, daß der Tageswechsel bereits Mittags stattgefunden hat. Wer den Tageswechsel als Mittags noch nicht bereits vollzogen dargestellt haben möchte, der soll die sich aus dem Spezialtext ergebende Julianische Tageszahl stets um den Faktor eins vermindern, z.B. `%j-1`.

Zum Beispiel:

> Die Ressourcendateizeile `0 Julianischer Tag %j seit 01-Jan-4713 v.Chr.` wird umgesetzt in
> ==> `Julianischer Tag 2437929 seit 01-Jan-4713 v.Chr.`, falls Gcal mit den Optionen `-c %19620921` sowie keinem Kommando aufgerufen wird.

Wenn dem `%[Format]j` Text eine vorzeichenlose Zahl direkt folgt, so wird diese Zahl von der tatsächlichen Julianischen Tageszahl stets subtrahiert. So kann im Text mit beliebigen Bezugsgrößen gearbeitet werden, z.B.:

> Die Ressourcendateizeile `0 Julianischer Tag %j2415021 seit 01-Jan-1900` wird umgesetzt in
> ==> `Julianischer Tag 4 seit 01-Jan-1900`, falls Gcal mit den Optionen `-c %19000105` sowie keinem Kommando aufgerufen wird.

Knoten:Geographische Distanz und Kurswinkel, Nächster:Sonnendaten, Vorheriger:Julianische Tageszahl, Aufwärts:Ersetzen mit anderem Argument

#### Geographische Distanz und Kurswinkel `%[Format]bArgument` Spezialtext

`%[Format]b[*][Modus]ISO-6709:1983-Koordinate-1/ISO-6709:1983-Koordinate-2` bezeichnet entweder die ungefähre Luftliniendistanz oder den ungefähren rechtweisenden Kurswinkel90 zwischen zwei beliebigen geographischen Orten.

Die Auswahl, welcher Wert durch diesen Spezialtext berechnet werden soll, erfolgt durch die Angabe des Modus Bestandteils des vorstehenden Arguments. Es können derzeit genau drei verschiedene Modi benutzt werden, die durch die Zeichen `0`...`2` repräsentiert sind:

Modus | Beschreibung
`0` | Die Luftliniendistanz zwischen ISO-6709:1983-Koordinate-1 und ISO-6709:1983-Koordinate-2 berechnen. Der Wert der Luftliniendistanz wird standardmäßig in Kilometer dargestellt. Ein `*` Zeichen direkt vor diesem Moduszeichen veranlaßt Gcal, den Distanzwert in einer anderen Bezugsgröße darzustellen, und zwar in statute Meilen; wobei eine statute Meile 1,609344 Kilometer entspricht. Falls Gcal nicht imstande ist, die ungefähre Distanz zwischen den beiden geographischen Orten zu berechnen, da das Argument fehlerhaft angegeben wurde, so wird anstelle des Distanzwertes ein `??` Text erzeugt.
`1` | Den rechtweisenden Kurswinkel zwischen ISO-6709:1983-Koordinate-1 und ISO-6709:1983-Koordinate-2 berechnen. Der Wert des Kurswinkels wird standardmäßig in Grad und Altminuten dargestellt, und zwar im `ggggmm'` Format. Der Kurswinkel wird bezogen auf die geographische Nordrichtung (nicht etwa die magnetische Nordrichtung, die ein Kompass anzeigt) im Uhrzeigersinn dargestellt, wobei die Winkelwerte für die Nordrichtung sowohl mit 0 Grad als auch mit 360 Grad bezeichnet werden. Ein `*` Zeichen direkt vor diesem Moduszeichen veranlaßt Gcal, den Kurswinkelwert in einem anderen Stil darzustellen; und zwar in Dezimalgrad, d.h. im `ggg.g...` Format. Falls Gcal nicht imstande ist, den ungefähren Kurswinkel zwischen den beiden geographischen Orten zu berechnen, da das Argument fehlerhaft angegeben wurde, so wird anstelle des Kurswinkels ein `???g??'` Text erzeugt.
`2` | Wie Modus `1`, nur daß der rechtweisende Kurswinkel zwischen ISO-6709:1983-Koordinate-2 und ISO-6709:1983-Koordinate-1 berechnet wird.

Wird kein Modus angegeben, so benutzt Gcal automatisch den Modus, der durch das Moduszeichen `0` ausgelöst wird. Wird ein Moduszeichen angegeben, daß keinem der Zeichen `0`...`2` entspricht, so benutzt Gcal ebenfalls automatisch den Modus, der durch das Moduszeichen `0` ausgelöst wird.

Nach den optionalen Stil- und Moduszeichen erfolgt die Angabe der Breiten- und Längengrade der geographischen Koordinaten, für welche die Berechnung erfolgen soll. Diese müssen der ISO-6709:1983 Standarddarstellung von Breiten- und Längengrad eines geographischen Ortes entsprechen. Die beiden Koordinaten müssen durch ein `/` Begrenzungszeichen voneinander getrennt werden.

SieheArgumente der sonnenbezogenen Spezialtexte, für die ausführliche Beschreibung der Komponenten der ISO-6709:1983 Standarddarstellung von Breiten- und Längengrad eines geographischen Orts.

Zum Beispiel:

> Der Text `Distanz Paris-Tokyo: %b+4852+00220/+3542+13946 km` wird umgesetzt in
> ==> `Distanz Paris-Tokyo: 9746km`.

> Der Text `Distanz Paris-Tokyo: %b*0+4852+00220/+3542+13946 ms` wird umgesetzt in
> ==> `Distanz Paris-Tokyo: 6056ms`.

> Der Text `Kurswinkel Paris-Tokyo: %b1+4852+00220/+3542+13946` wird umgesetzt in
> ==> `Kurswinkel Paris-Tokyo: 033g22'`.

> Der Text `Kurswinkel Tokyo-Paris: %b*2+4852+00220/+3542+13946` wird umgesetzt in
> ==> `Kurswinkel Tokyo-Paris: 333.548`.

Personen islamischen Glaubens wenden sich beim Gebet stets in diejenige Himmelsrichtung, in der sich der Ort Mekka, Saudi-Arabien, befindet. Dieser Personenkreis kann nun sehr leicht mittels Gcal feststellen, in welcher Richtung Mekka --bezogen auf den jeweiligen Standort-- liegt, und zwar durch:

    %b1ISO-6709:1983-Koordinate-1/+212516+0394929

wobei ISO-6709:1983-Koordinate-1 einfach durch die Ortskoordinate des jeweiligen Standortes ersetzt wird.

SieheTermin Option `--precise`, wie eine präzisere Darstellung der Werte erzielt werden kann, die durch diesen Spezialtext bewirkt werden.

Dieser Spezialtext muß stets von einem whitespace Zeichen gefolgt werden, welches seinerseits in der Ausgabe entfernt wird!

Knoten:Sonnendaten, Nächster:Monddaten, Vorheriger:Geographische Distanz und Kurswinkel, Aufwärts:Ersetzen mit anderem Argument

#### Sonnendaten `%[Format]?Argument` Spezialtexte

`%[Format]o[*][Modus]ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]` bezeichnet in der Grundeinstellung die ungefähre Uhrzeit des Sonnenaufgangs,
`%[Format]s[*][Modus]ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]` bezeichnet in der Grundeinstellung die ungefähre Uhrzeit des Sonnenuntergangs,
`%[Format]u[*][Modus]ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]` bezeichnet in der Grundeinstellung die ungefähre Sichtbarkeitsdauer der Sonne (solare Tageslänge), und
`%[Format]z[*][Modus]ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]` bezeichnet in der Grundeinstellung die ungefähre Nichtsichtbarkeitsdauer der Sonne (solare Nachtlänge).

Alle diese Spezialtexte können auf jede beliebige Ortskoordinate angewendet werden, d.h. es können verschiedenartige, astronomische Werte für jeden beliebigen Standort auf der Erdkugel ermittelt werden, und zwar für jede beliebige, minutengenaue Uhrzeit in dem von Gcal berücksichtigtem Zeitraum der Jahre A.D. 1 bis A.D. 9999.

Die Auswahl, welcher andere Wert durch diese Spezialtexte berechnet werden soll, erfolgt durch die Angabe des Modus Bestandteils des vorstehenden Arguments. Es können derzeit genau 54 verschiedene Modi benutzt werden, die durch die Zeichen `0`...`9`, `a`...`z` und `A`...`R` repräsentiert sind, und die in Abhängigkeit des verwendeten Spezialtextes verschiedenartige Ergebnisse erzeugen. Es folgt zunächst eine Tabelle, in der alle verwendbaren Modi beschrieben und auch weitestgehend erklärt werden. Aus dieser Tabelle kann zudem noch ersehen werden, welcher oder welche der sonnenbezogenen Spezialtexte mit welchem Modus korrespondieren, d.h. die Ermittlung desjenigen astronomischen Wertes auslösen, wie er in der Tabelle beschrieben ist:

Modus | Spezialtext | Beschreibung
`0` | `o`, `s` | Die ungefähre Uhrzeit des astronomischen Mitternachtzeitpunktes der Sonne berechnen. Der astronomische Mitternachtzeitpunkt der Sonne ist zu derjenigen Uhrzeit, zu der die Sonne einen Azimut (horizontaler Winkelabstand zwischen dem Vertikalkreis bzw. Scheitelkreis, der durch die Sonne geht, und dem Nordpunkt) von entweder genau 0 Grad oder genau 180 Grad einnimmt (Mittagslinie), was von der Jahreszeit und der Ortskoordinate abhängig ist. Zu dieser Uhrzeit befindet sich die Sonne nahe ihres unteren Kulminationspunktes, d.h. nahe des niedrigsten Punktes unter- oder oberhalb der Horizontalebene, der vom Mittelpunkt der Sonne an diesem Tag durchlaufen wird.
`1` | `o`, `s` | Die ungefähre Uhrzeit des astronomischen Mittagzeitpunktes der Sonne berechnen. Der astronomische Mittagzeitpunkt der Sonne ist zu derjenigen Uhrzeit, zu der die Sonne einen Azimut von entweder genau 180 Grad oder genau 0 Grad einnimmt (Mittagslinie), was von der Jahreszeit und der Ortskoordinate abhängig ist. Zu dieser Uhrzeit befindet sich die Sonne nahe ihres oberen Kulminationspunktes, d.h. nahe des höchsten Punktes ober- oder unterhalb der Horizontalebene, der vom Mittelpunkt der Sonne an diesem Tag durchlaufen wird. Personen islamischen Glaubens beten normalerweise zum zweiten Mal am Tag während der Zeitspanne, die zwischen dem astronomischen Mittagzeitpunkt der Sonne (oder kurz danach) und der islamischen Asr Gebetszeit liegt. Dieser Personenkreis bezeichnet diese Gebetszeit auch gemeinhin mit Zuhr. Die Asr Gebetszeit hängt von der Schattenlänge ab, die ein senkrechter Stab (Gnomon) wirft. Vertreter der Shafi Lehre definieren den Beginn der Asr Gebetszeit als diejenige Uhrzeit, zu der ein senkrechter Stab einen Schatten wirft, der genauso lang ist wie der Stab selbst. Vertreter der Hanafi Lehre definieren den Beginn der Asr Gebetszeit als diejenige Uhrzeit, zu der ein senkrechter Stab einen Schatten wirft, der doppelt so lang ist wie der Stab selbst. In beiden Fällen wird jedoch die minimale Schattenlänge, die solch ein Stab zum astronomischen Mittagzeitpunkt der Sonne wirft, von der Schattenlänge subtrahiert, bevor diese mit der Länge des Stabes verglichen wird. SieheIslamische Asr-1 Gebetszeit, und Islamische Asr-2 Gebetszeit, für weitere Details.
`2` | `o` | Die ungefähre Uhrzeit berechnen, zu der der Mittelpunkt der Sonne eine Referenzhöhe von 0 Grad auf einem mathematisch-geozentrischen Horizont am Morgen durchschreitet; also aufgeht. Ein mathematischer Horizont ist ein rein geometrisch gebildeter Horizont, der die Refraktion unberücksichtigt läßt, die sich in der Realität durch den Einfluß der Erdatmosphäre ergibt. Als geozentrischer Horizont wird diejenige Horizontalebene bezeichnet, die durch den Erdmittelpunkt verläuft. Im weiteren Kontext wird aber einfach nur noch der kürzere Begriff mathematischer Horizont benutzt, der eigentlich den mathematisch-geozentrischen Horizont meint.
`2` | `s` | Die ungefähre Uhrzeit berechnen, zu der der Mittelpunkt der Sonne eine Referenzhöhe von 0 Grad auf einem mathematischen Horizont am Abend durchschreitet; also untergeht.
`2` | `u` | Die ungefähre Zeitdauer berechnen, während der der Mittelpunkt der Sonne eine Referenzhöhe von 0 Grad auf einem mathematischen Horizont überschreitet; also sichtbar ist.
`2` | `z` | Die ungefähre Zeitdauer berechnen, während der der Mittelpunkt der Sonne eine Referenzhöhe von 0 Grad auf einem mathematischen Horizont unterschreitet; also nicht sichtbar ist.
`3` | `o` | Die ungefähre Uhrzeit berechnen, zu der der obere Rand der Sonnenscheibe eine Referenzhöhe von 0 Grad auf einem mathematischen Horizont am Morgen durchschreitet; also aufgeht. Die hier genannte Referenzhöhe errechnet sich aus dem zu dieser Uhrzeit gültigen Wert des Sonnenradius'. Wenn die auf den oberen Rand der Sonnenscheibe bezogene Referenzhöhe auf den Sonnenmittelpunkt umgerechnet wird, so liegt diese bei etwa 16 Altminuten unterhalb des geozentrischen Horizonts.
`3` | `s` | Die ungefähre Uhrzeit berechnen, zu der der obere Rand der Sonnenscheibe eine Referenzhöhe von 0 Grad auf einem mathematischen Horizont am Abend durchschreitet; also untergeht. Die hier genannte Referenzhöhe errechnet sich aus dem zu dieser Uhrzeit gültigen Wert des Sonnenradius'.
`3` | `u` | Den ungefähre Zeitdauer berechnen, während der der obere Rand der Sonnenscheibe eine Referenzhöhe von 0 Grad auf einem mathematischen Horizont überschreitet; also sichtbar ist.
`3` | `z` | Die ungefähre Zeitdauer berechnen, während der der obere Rand der Sonnenscheibe eine Referenzhöhe von 0 Grad auf einem mathematischen Horizont unterschreitet; also nicht sichtbar ist.
`4` | `o` | Die ungefähre Uhrzeit berechnen, zu der der Mittelpunkt der Sonne eine Referenzhöhe, die bei 34 Altminuten unterhalb des geozentrischen Horizonts liegt, am Morgen durchschreitet; also aufgeht. Die Refraktion, die sich in der Realität durch den Einfluß der Erdatmosphäre ergibt, wird hierbei bereits mit dem Standardwert von 34 Altminuten berücksichtigt, der aber indirekt durch die Benutzung der `--atmosphere` Option verändert werden kann. SieheTermin Option `--atmosphere=Luftdruck[,Temperatur]`, wie die Basisdaten der Atmosphäre geändert werden können, so daß die dann definierten atmosphärischen Bedingungen zur Refraktionsberechnung verwendet werden.
`4` | `s` | Die ungefähre Uhrzeit berechnen, zu der der Mittelpunkt der Sonne eine Referenzhöhe, die bei 34 Altminuten unterhalb des geozentrischen Horizonts liegt, am Abend durchschreitet; also untergeht. Die Refraktion, die sich in der Realität durch den Einfluß der Erdatmosphäre ergibt, wird hierbei bereits mit dem Standardwert von 34 Altminuten berücksichtigt, der aber indirekt durch die Benutzung der `--atmosphere` Option verändert werden kann.
`4` | `u` | Die ungefähre Zeitdauer berechnen, während der der Mittelpunkt der Sonne eine Referenzhöhe überschreitet, die bei 34 Altminuten unterhalb des geozentrischen Horizonts liegt; also sichtbar ist.
`4` | `z` | Die ungefähre Zeitdauer berechnen, während der der Mittelpunkt der Sonne eine Referenzhöhe unterschreitet, die bei 34 Altminuten unterhalb des geozentrischen Horizonts liegt; also nicht sichtbar ist.
`5` | `o` | Die ungefähre Uhrzeit berechnen, zu der der obere Rand der Sonnenscheibe eine Referenzhöhe, die bei 34 Altminuten unterhalb des geozentrischen Horizonts liegt, am Morgen durchschreitet; also aufgeht. Diese Art der Aufgangszeitberechnung entspricht der Standardberechnungsmethode, wie sie im allgemeinen international benutzt wird. Die Refraktion, die sich in der Realität durch den Einfluß der Erdatmosphäre ergibt, wird hierbei bereits mit dem Standardwert von 34 Altminuten berücksichtigt, der aber indirekt durch die Benutzung der `--atmosphere` Option verändert werden kann. SieheTermin Option `--atmosphere=Luftdruck[,Temperatur]`, wie die Basisdaten der Atmosphäre geändert werden können, so daß diese definierten atmosphärischen Bedingungen zur Refraktionsberechnung verwendet werden. Die hier genannte Referenzhöhe errechnet sich aus den zu dieser Uhrzeit jeweilig gültigen Werten von Sonnenradius und (Standard) Refraktion. Wenn die auf den oberen Rand der Sonnenscheibe bezogene Referenzhöhe auf den Sonnenmittelpunkt umgerechnet wird, so liegt diese bei etwa 50 Altminuten unterhalb des geozentrischen Horizonts.
`5` | `s` | Die ungefähre Uhrzeit berechnen, zu der der obere Rand der Sonnenscheibe eine Referenzhöhe, die bei 34 Altminuten unterhalb des geozentrischen Horizonts liegt, am Abend durchschreitet; also untergeht. Diese Art der Untergangszeitberechnung entspricht der Standardberechnungsmethode, wie sie im allgemeinen international benutzt wird. Die Refraktion, die sich in der Realität durch den Einfluß der Erdatmosphäre ergibt, wird hierbei bereits mit dem Standardwert von 34 Altminuten berücksichtigt, der aber indirekt durch die Benutzung der `--atmosphere` Option verändert werden kann. Die hier genannte Referenzhöhe errechnet sich aus den zu dieser Uhrzeit jeweilig gültigen Werten von Sonnenradius und (Standard) Refraktion. Personen islamischen Glaubens beten normalerweise zum vorletzten Mal am Tag zu, oder kurz nach, dieser Uhrzeit. Dieser Personenkreis bezeichnet diese Gebetszeit auch gemeinhin mit Maghrib.
`5` | `u` | Die ungefähre Zeitdauer berechnen, während der der obere Rand der Sonnenscheibe eine Referenzhöhe überschreitet, die bei 34 Altminuten unterhalb des geozentrischen Horizonts liegt; also sichtbar ist. Diese Art der Zeitdauerberechnung der Sichtbarkeit entspricht der Standardberechnungsmethode, wie sie im allgemeinen international benutzt wird.
`5` | `z` | Die ungefähre Zeitdauer berechnen, während der der obere Rand der Sonnenscheibe eine Referenzhöhe unterschreitet, die bei 34 Altminuten unterhalb des geozentrischen Horizonts liegt; also nicht sichtbar ist. Diese Art der Zeitdauerberechnung der Nichtsichtbarkeit entspricht der Standardberechnungsmethode, wie sie im allgemeinen international benutzt wird.
`6` | `o` | Die ungefähre Uhrzeit berechnen, zu der der Mittelpunkt der Sonne eine Referenzhöhe, die bei 6 Grad unterhalb eines mathematischen Horizonts liegt, am Morgen durchschreitet; also der Beginn der bürgerlichen Dämmerung. Das Restlicht der Sonne, daß zu Beginn der bürgerlichen Dämmerungsphase verbleibt, reicht im allgemeinen noch nicht dazu aus, um außer Haus ohne künstliche Beleuchtung lesen zu können.
`6` | `s` | Die ungefähre Uhrzeit berechnen, zu der der Mittelpunkt der Sonne eine Referenzhöhe, die bie 6 Grad unterhalb eines mathematischen Horizonts liegt, am Abend durchschreitet; also das Ende der bürgerlichen Dämmerung.
`6` | `u` | Die ungefähre Zeitdauer berechnen, während der der Mittelpunkt der Sonne eine Referenzhöhe überschreitet, die bei 6 Grad unterhalb eines mathematischen Horizonts liegt; also die Zeitspanne, während der sich der Sonnenmittelpunkt stets oberhalb -6 Grad befindet.
`6` | `z` | Die ungefähre Zeitdauer berechnen, während der der Mittelpunkt der Sonne eine Referenzhöhe unterschreitet, die bei 6 Grad unterhalb eines mathematischen Horizonts liegt; also die Zeitspanne, während der sich der Sonnenmittelpunkt stets unterhalb -6 Grad befindet.
`7` | `o` | Die ungefähre Uhrzeit berechnen, zu der der Mittelpunkt der Sonne eine Referenzhöhe, die bei 12 Grad unterhalb eines mathematischen Horizonts liegt, am Morgen durchschreitet; also der Beginn der nautischen Dämmerung. Das Restlicht der Sonne, daß zu Beginn der nautischen Dämmerungsphase verbleibt, reicht im allgemeinen noch nicht dazu aus, um Navigation betreiben zu können, die sich an einem Meereshorizont orientiert.
`7` | `s` | Die ungefähre Uhrzeit berechnen, zu der der Mittelpunkt der Sonne eine Referenzhöhe, die bei 12 Grad unterhalb eines mathematischen Horizonts liegt, am Abend durchschreitet; also das Ende der nautischen Dämmerung.
`7` | `u` | Die ungefähre Zeitdauer berechnen, während der der Mittelpunkt der Sonne eine Referenzhöhe überschreitet, die bei 12 Grad unterhalb eines mathematischen Horizonts liegt; also die Zeitspanne, während der sich der Sonnenmittelpunkt stets oberhalb -12 Grad befindet.
`7` | `z` | Die ungefähre Zeitdauer berechnen, während der der Mittelpunkt der Sonne eine Referenzhöhe unterschreitet, die bei 12 Grad unterhalb eines mathematischen Horizonts liegt; also die Zeitspanne, während der sich der Sonnenmittelpunkt stets unterhalb -12 Grad befindet.
`8` | `o` | Die ungefähre Uhrzeit berechnen, zu der der Mittelpunkt der Sonne eine Referenzhöhe, die bei 15 Grad unterhalb eines mathematischen Horizonts liegt, am Morgen durchschreitet; also der Beginn der amateur-astronomischen Dämmerung. Das Restlicht der Sonne, daß zu Beginn der amateur-astronomischen Dämmerungsphase verbleibt, ist im allgemeinen noch so schwach, daß die meisten astronomischen Beobachtungen vorgenommen werden können.
`8` | `s` | Die ungefähre Uhrzeit berechnen, zu der der Mittelpunkt der Sonne eine Referenzhöhe, die bei 15 Grad unterhalb eines mathematischen Horizonts liegt, am Abend durchschreitet; also das Ende der amateur-astronomischen Dämmerung.
`8` | `u` | Die ungefähre Zeitdauer berechnen, während der der Mittelpunkt der Sonne eine Referenzhöhe überschreitet, die bei 15 Grad unterhalb eines mathematischen Horizonts liegt; also die Zeitspanne, während der sich der Sonnenmittelpunkt stets oberhalb -15 Grad befindet.
`8` | `z` | Die ungefähre Zeitdauer berechnen, während der der Mittelpunkt der Sonne eine Referenzhöhe unterschreitet, die bei 15 Grad unterhalb eines mathematischen Horizonts liegt; also die Zeitspanne, während der sich der Sonnenmittelpunkt stets unterhalb -15 Grad befindet.
`9` | `o` | Die ungefähre Uhrzeit berechnen, zu der der Mittelpunkt der Sonne eine Referenzhöhe, die bei 18 Grad unterhalb eines mathematischen Horizonts liegt, am Morgen durchschreitet; also der Beginn der astronomischen Dämmerung. Zu Beginn der astronomischen Dämmerungsphase ist kein nennenswertes Restlicht der Sonne vorhanden, der Himmel ist noch vollständig schwarz. Personen islamischen Glaubens beten normalerweise zum ersten Mal am Tag während der Zeitspanne, die zwischen dieser Uhrzeit und der Uhrzeit des Standard-Sonnenaufgangs liegt. Dieser Personenkreis bezeichnet diese Gebetszeit auch gemeinhin mit Fajr. SieheStandard-Aufgangszeit der Sonne, für weitere Details.
`9` | `s` | Die ungefähre Uhrzeit berechnen, zu der der Mittelpunkt der Sonne eine Referenzhöhe, die bei 18 Grad unterhalb eines mathematischen Horizonts liegt, am Abend durchschreitet; also das Ende der astronomischen Dämmerung. Personen islamischen Glaubens beten normalerweise zum letzten Mal am Tag zu, oder kurz nach, dieser Uhrzeit. Dieser Personenkreis bezeichnet diese Gebetszeit auch gemeinhin mit Isha.
`9` | `u` | Die ungefähre Zeitdauer berechnen, während der der Mittelpunkt der Sonne eine Referenzhöhe überschreitet, die bei 18 Grad unterhalb eines mathematischen Horizonts liegt; also die Zeitspanne, ährend der sich der Sonnenmittelpunkt stets oberhalb -18 Grad befindet.
`9` | `z` | Die ungefähre Zeitdauer berechnen, während der der Mittelpunkt der Sonne eine Referenzhöhe unterschreitet, die bei 18 Grad unterhalb eines mathematischen Horizonts liegt; also die Zeitspanne, während der sich der Sonnenmittelpunkt stets unterhalb -18 Grad befindet.
`a` | `o`, `s` | Die ungefähre, scheinbare, topozentrische Höhe der Sonne, also den vertikalen Winkelabstand zwischen Sonnenmittelpunkt und Horizont, in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Ergebnisse mit negativem Vorzeichen besagen, daß sich der momentane Sonnenmittelpunkt unterhalb des Horizonts befindet, und Ergebnisse mit positivem Vorzeichen besagen, daß sich der momentane Sonnenmittelpunkt oberhalb des Horizonts befindet. Von der Erdoberfläche aus gemachte Beobachtungen von Gestirnen liefern topozentrisch-basierte Werte. Die Gestirnsorte liegen bei topozentrisch ermittelten Daten zumeist an einer anderen Stelle als bei geozentrisch, also am fiktiven Erdmittelpunkt, ermittelten Daten. Das hat im wesentlichen mit der Refraktion zu tun, die ein Gestirn an einem anderen Ort erscheinen läßt, als es sich in Wirklichkeit befindet. Da sich die Erdkugel zu den Polkappen hin abflacht und somit nicht als ideale Kugelgestalt aufgefasst werden kann, hat der individuelle Erdradius, der sich zwischen Beobachtungsstandort und Erdmittelpunkt ergibt, auch noch Einfluß auf die Berechnung von topozentrisch-basierten Daten.
`b` | `o`, `s` | Das ungefähre, scheinbare, topozentrische Azimut der Sonne in Grad und Altminuten berechnen, das sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`c` | `o`, `s` | Die ungefähre, scheinbare, topozentrische Deklination der Sonne, also den vertikalen Winkelabstand zwischen Sonnenmittelpunkt und Himmelsäquator, in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Ergebnisse mit negativem Vorzeichen besagen, daß sich der momentane Sonnenmittelpunkt unterhalb des Himmelsäquators befindet, und Ergebnisse mit positivem Vorzeichen besagen, daß sich der momentane Sonnenmittelpunkt oberhalb des Himmelsäquators befindet.
`d` | `o`, `s` | Den ungefähren, scheinbaren, topozentrischen, ekliptischen Längengrad der Sonne, also den horizontalen Winkelabstand zwischen Sonnenmittelpunkt und Frühlingspunkt auf der Ekliptik (der Tierkreislinie oder Sonnenbahn), in Grad und Altminuten berechnen, der sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`e` | `o`, `s` | Die ungefähre, scheinbare, topozentrische Rektazension der Sonne, also den horizontalen Winkelabstand zwischen Sonnenmittelpunkt und dem durch den Frühlingspunkt auf der Ekliptik verlaufenden Stundenkreis, als Zeitwert in Stunden und Minuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`f` | `o`, `s` | Die ungefähre, topozentrische Entfernung der Sonne von der Erde in Astronomischen Einheiten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Eine Astronomische Einheit, abgekürzt AE, entspricht der mittleren Entfernung der Sonne von der Erde, die etwa 149.597.870,691 Kilometer beträgt.
`g` | `o`, `s` | Die ungefähre, scheinbare, topozentrische Horizontalparallaxe der Sonne in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Die Horizontalparallaxe der Sonne gibt den Durchmesser der Erde an, so wie er von der Sonnenoberfläche aus zu sehen ist.
`h` | `o`, `s` | Den ungefähren, scheinbaren, topozentrischen Sonnenradius in Grad und Altminuten berechnen, der sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`i` | `o`, `s` | Die ungefähre Refraktion der Erdatmosphäre in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`j` | `o`, `s` | Die ungefähre, scheinbare, geozentrische Höhe der Sonne in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Ergebnisse mit negativem Vorzeichen besagen, daß sich der momentane Sonnenmittelpunkt unterhalb des Horizonts befindet, und Ergebnisse mit positivem Vorzeichen besagen, daß sich der momentane Sonnenmittelpunkt oberhalb des Horizonts befindet.
`k` | `o`, `s` | Das ungefähre, scheinbare, geozentrische Azimut der Sonne in Grad und Altminuten berechnen, das sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`l` | `o`, `s` | Die ungefähre, scheinbare, geozentrische Deklination der Sonne in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Ergebnisse mit negativem Vorzeichen besagen, daß sich der momentane Sonnenmittelpunkt unterhalb des Himmelsäquators befindet, und Ergebnisse mit positivem Vorzeichen besagen, daß sich der momentane Sonnenmittelpunkt oberhalb des Himmelsäquators befindet.
`m` | `o`, `s` | Den ungefähren, scheinbaren, geozentrischen, ekliptischen Längengrad der Sonne in Grad und Altminuten berechnen, der sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`n` | `o`, `s` | Die ungefähre, scheinbare, geozentrische Rektazension der Sonne als Zeitwert in Stunden und Minuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`o` | `o`, `s` | Die ungefähre, geozentrische Entfernung der Sonne von der Erde in Astronomischen Einheiten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`p` | `o`, `s` | Die ungefähre, scheinbare, geozentrische Horizontalparallaxe der Sonne in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`q` | `o`, `s` | Den ungefähren, scheinbaren, geozentrischen Sonnenradius in Grad und Altminuten berechnen, der sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`r` | `o`, `s` | Das ungefähre delta-t in Sekunden berechnen, das sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Als delta-t wird die Differenz zwischen der Terrestrischen Dynamischen Zeit (englisch Terrestrial Dynamical time, abgekürzt TDT; die früher auch unter dem Begriff Ephemeridenzeit (ET) bekannt war) und der Weltzeit (UT) bezeichnet. Also, `delta-t == TDT - UT`.
`s` | `o`, `s` | Die ungefähre, scheinbare, ortsbezogene siderische Uhrzeit (lokale siderische Uhrzeit (LAST), auch als lokale Sternzeit bekannt), in Stunden und Minuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Ein Sterntag ist der Zeitraum zwischen zwei aufeinanderfolgenden oberen Kulminationen des Frühlingspunktes auf der Ekliptik im Meridian des Beobachtungsstandortes. Somit ist die lokale Sternzeit die momentane Zeitspanne, die zwischen der letzten oberen Kulmination des Frühlingspunktes im Merdian des Beobachtungsstandortes verflossen ist (der momentane Stundenwinkel des Frühlingspunktes), also die momentane Rektazension der Gestirne im Beobachtungsmeridian.
`t` | `o`, `s` | Die Basiszeit als Zeitwert in Stunden und Minuten ausgeben, für die die dynamischen, d.h. von der jeweiligen Uhrzeit abhängigen, astronomischen Sonnendaten und Zeiten berechnet werden. Ohne Angabe der `--time-offset=Argument` Option werden die astronomischen Sonnendaten und Zeiten stets für 0 Uhr Weltzeit (UTC/GMT) berechnet. Kalender Option `--time-offset=Argument`, für weitere Details.
`u` | `o`, `s` | Das ungefähre Julianische Datum in Tagen berechnen, das sich zum bürgerlichen Mitternachtzeitpunkt ergibt. SieheJulianische Tageszahl, für weitere Informationen zum Julianischen Datum.
`v` | `o`, `s` | Das ungefähre Julianische Ephemeridendatum, also ein um delta-t korrigiertes Julianisches Datum, in Tagen berechnen, das sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`w` | `o`, `s` | Den ungefähren Unterschied zwischen wahrer Sonnenzeit und mittlerer Sonnenzeit als Zeitwert in Stunden und Minuten berechnen, der sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Diese sogenannte Zeitgleichung ist eine Korrektur, die zur wahren Sonnenzeit --wie auf einer Sonnenuhr abgelesen-- hinzuaddiert wird, um die mittlere Sonnenzeit zu erhalten. Ein wahrer Sonnentag ist die Zeitspanne zwischen zwei aufeinanderfolgenden unteren Kulminationen der Sonne. Hieraus wird die wahre Sonnenzeit abgeleitet (so wie sie auch von einer Sonnenuhr während des Tages angezeigt wird). Ein Sterntag wird auch als mittlerer Sonnentag bezeichnet. Da sich die Sonne gegenüber dem Frühlingspunkt auf der Ekliptik wegen der Erdbewegung um die Sonne scheinbar verschiebt, sind Sterntag und wahrer Sonnentag nicht gleich lang. Da sich die wahre Sonne nämlich ungleichförmig durch die Ekliptik bewegt, läßt man eine fiktive mittlere Sonne gleichmäßig durch den Himmelsäquator laufen und bezieht die mittlere Sonnenzeit auf diese. Also, diese Zeitdifferenz ist eine Auswirkung des elliptischen und geneigten Erdorbits um die Sonne, das die scheinbar ungleichförmige Sonnenbewegung verursacht.
`x` | `o`, `s` | Die ungefähre, scheinbare, topozentrische Höhendifferenz (delta) von Sonne und Mond, wobei die Sonne den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Ergebnisse mit negativem Vorzeichen besagen, daß sich der momentane Sonnenmittelpunkt auf einer Höhe befindet, die unterhalb der momentanen Höhe des Mondmittelpunktes liegt; also die Sonne steht tiefer als der Mond. Ergebnisse mit positivem Vorzeichen besagen, daß sich der momentane Sonnenmittelpunkt auf einer Höhe befindet, die oberhalb der momentanen Höhe des Mondmittelpunktes liegt; also die Sonne steht höher als der Mond.
`y` | `o`, `s` | Die ungefähre, scheinbare, topozentrische Azimutaldifferenz (delta) von Sonne und Mond, wobei die Sonne den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Das Ergebnis gibt den horizontalen Winkelabstand an, um den der momentane Sonnenmittelpunkt vom momentanen Mondmittelpunkt entfernt ist; und zwar gemessen auf den Vertikalkreisen (Scheitelkreisen), die durch die Sonne und den Nordpunkt und durch den Mond und den Nordpunkt gehen. Hierbei bedeutet ein Ergebnis mit negativem Vorzeichen, daß der Mond rechts (im Uhrzeigersinn) der Sonne steht, wenn man zur Sonne schaut -- oder alternativ ausgedrückt, daß die Sonne links (gegen den Uhrzeigersinn) des Mondes steht. Und ein Ergebnis mit positivem Vorzeichen bedeutet, daß der Mond links (gegen den Uhrzeigersinn) der Sonne steht, wenn man zur Sonne schaut -- oder alternativ gesagt, daß die Sonne rechts (im Uhrzeigersinn) des Mondes steht.
`z` | `o`, `s` | Die ungefähre, scheinbare, geozentrische Höhendifferenz (delta) von Sonne und Mond, wobei die Sonne den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`A` | `o`, `s` | Die ungefähre, scheinbare, geozentrische Azimutaldifferenz (delta) von Sonne und Mond, wobei die Sonne den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`B` | `o` | Die ungefähre, scheinbare, topozentrische Höhendifferenz (delta) von Sonne und Mond, wobei die Sonne den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zu der Uhrzeit des Standard-Sonnenaufgangs ergibt. SieheStandard-Aufgangszeit der Sonne, für weitere Details.
`B` | `s` | Die ungefähre, scheinbare, topozentrische Höhendifferenz (delta) von Sonne und Mond, wobei die Sonne den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zu der Uhrzeit des Standard-Sonnenuntergangs ergibt. SieheStandard-Untergangszeit der Sonne, für weitere Details.
`C` | `o` | Die ungefähre, scheinbare, topozentrische Azimutaldifferenz (delta) von Sonne und Mond, wobei die Sonne den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zu der Uhrzeit des Standard-Sonnenaufgangs ergibt. SieheStandard-Aufgangszeit der Sonne, für weitere Details.
`C` | `s` | Die ungefähre, scheinbare, topozentrische Azimutaldifferenz (delta) von Sonne und Mond, wobei die Sonne den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zu der Uhrzeit des Standard-Sonnenuntergangs ergibt. SieheStandard-Untergangszeit der Sonne, für weitere Details.
`D` | `o` | Die ungefähre, scheinbare, geozentrische Höhendifferenz (delta) von Sonne und Mond, wobei die Sonne den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zu der Uhrzeit des Standard-Sonnenaufgangs ergibt. SieheStandard-Aufgangszeit der Sonne, für weitere Details.
`D` | `s` | Die ungefähre, scheinbare, geozentrische Höhendifferenz (delta) von Sonne und Mond, wobei die Sonne den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zu der Uhrzeit des Standard-Sonnenuntergangs ergibt. SieheStandard-Untergangszeit der Sonne, für weitere Details.
`E` | `o` | Die ungefähre, scheinbare, geozentrische Azimutaldifferenz (delta) von Sonne und Mond, wobei die Sonne den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zu der Uhrzeit des Standard-Sonnenaufgangs ergibt. SieheStandard-Aufgangszeit der Sonne, für weitere Details.
`E` | `s` | Die ungefähre, scheinbare, geozentrische Azimutaldifferenz (delta) von Sonne und Mond, wobei die Sonne den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zu der Uhrzeit des Standard-Sonnenuntergangs ergibt. SieheStandard-Untergangszeit der Sonne, für weitere Details.
`F` | `o`, `s` | Die ungefähre Differenz (delta) der astronomischen Mitternachtzeitpunkte von Sonne und Mond, wobei die Sonne den Bezugspunkt darstellt, als Zeitwert in Stunden und Minuten berechnen, die sich zum Mitternachtzeitpunkt der Sonne ergibt. Ergebnisse mit negativem Vorzeichen besagen, daß der astronomische Mitternachtzeitpunkt der Sonne früher stattfindet als der astronomische Mitternachtzeitpunkt des Mondes; also die solare Mitternacht findet vor der lunaren Mitternacht statt. Ergebnisse mit positivem Vorzeichen besagen, daß der astronomische Mitternachtzeitpunkt der Sonne später stattfindet als der astronomische Mitternachtzeitpunkt des Mondes; also die solare Mitternacht findet nach der lunaren Mitternacht statt. SieheAstronomischer Mitternachtzeitpunkt der Sonne, und Astronomischer Mitternachtzeitpunkt des Mondes, für weitere Details.
`G` | `o`, `s` | Die ungefähre Differenz (delta) der astronomischen Mittagzeitpunkte von Sonne und Mond, wobei die Sonne den Bezugspunkt darstellt, als Zeitwert in Stunden und Minuten berechnen, die sich zum Mittagzeitpunkt der Sonne ergibt. Ergebnisse mit negativem Vorzeichen besagen, daß der astronomische Mittagzeitpunkt der Sonne früher stattfindet als der astronomische Mittagzeitpunkt des Mondes; also der solare Mittag findet vor dem lunaren Mittag statt. Ergebnisse mit positivem Vorzeichen besagen, daß der astronomische Mittagzeitpunkt der Sonne später stattfindet als der astronomische Mittagzeitpunkt des Mondes; also der solare Mittag findet nach dem lunaren Mittag statt. SieheAstronomischer Mittagzeitpunkt der Sonne, und Astronomischer Mittagzeitpunkt des Mondes, für weitere Details.
`H` | `o` | Die ungefähre Differenz (delta) der Standard-Aufgangszeiten von Sonne und Mond, wobei die Sonne den Bezugspunkt darstellt, als Zeitwert in Stunden und Minuten berechnen, die sich zur Uhrzeit des Standard-Sonnenaufgangs ergibt. Ergebnisse mit negativem Vorzeichen besagen, daß der Standard-Sonnenaufgang früher stattfindet als der Standard-Mondaufgang; also der Sonnenaufgang findet vor dem Mondaufgang statt. Ergebnisse mit positivem Vorzeichen besagen, daß der Standard-Sonnenaufgang später stattfindet als der Standard-Mondaufgang; also der Sonnenaufgang findet nach dem Mondaufgang statt. SieheStandard-Aufgangszeit der Sonne, und Standard-Aufgangszeit des Mondes, für weitere Details.
`H` | `s` | Die ungefähre Differenz (delta) der Standard-Untergangszeiten von Sonne und Mond, wobei die Sonne den Bezugspunkt darstellt, als Zeitwert in Stunden und Minuten berechnen, die sich zur Uhrzeit des Standard-Sonnenuntergangs ergibt. Ergebnisse mit negativem Vorzeichen besagen, daß der Standard-Sonnenuntergang früher stattfindet als der Standard-Monduntergang; also der Sonnenuntergang findet vor dem Monduntergang statt. Ergebnisse mit positivem Vorzeichen besagen, daß der Standard-Sonnenuntergang später stattfindet als der Standard-Monduntergang; also der Sonnenuntergang findet nach dem Monduntergang statt. SieheStandard-Untergangszeit der Sonne, und Standard-Untergangszeit des Mondes, für weitere Details.
`I` | `o`, `s` | Die ungefähre, scheinbare, topozentrische Höhe der Sonne in Grad und Altminuten berechnen, die sich zum astronomischen Mitternachtzeitpunkt der Sonne ergibt (topozentrische Mitternachtshöhe). SieheAstronomischer Mitternachtzeitpunkt der Sonne, für mehr Informationen.
`J` | `o`, `s` | Die ungefähre, scheinbare, topozentrische Höhe der Sonne in Grad und Altminuten berechnen, die sich zum astronomischen Mittagzeitpunkt der Sonne ergibt (topozentrische Mittagshöhe). SieheAstronomischer Mittagzeitpunkt der Sonne, für mehr Informationen.
`K` | `o` | Die ungefähre, scheinbare, topozentrische Höhe der Sonne in Grad und Altminuten berechnen, die sich zur Uhrzeit des Standard-Sonnenaufgangs ergibt (topozentrische Aufgangshöhe). SieheStandard-Aufgangszeit der Sonne, für mehr Informationen.
`K` | `s` | Die ungefähre, scheinbare, topozentrische Höhe der Sonne in Grad und Altminuten berechnen, die sich zur Uhrzeit des Standard-Sonnenuntergangs ergibt (topozentrische Untergangshöhe). SieheStandard-Untergangszeit der Sonne, für mehr Informationen.
`L` | `o` | Das ungefähre, scheinbare, topozentrische Azimut der Sonne in Grad und Altminuten berechnen, das sich zur Uhrzeit des Standard-Sonnenaufgangs ergibt (topozentrischer Aufgangsazimut). Der horizontale Winkelabstand zwischen dem topozentrischen Aufgangsazimut und der Ostrichtung wird auch topozentrische Morgenweite der Sonne genannt. SieheStandard-Aufgangszeit der Sonne, für mehr Informationen.
`L` | `s` | Das ungefähre, scheinbare, topozentrische Azimut der Sonne in Grad und Altminuten berechnen, das sich zur Uhrzeit des Standard-Sonnenuntergangs ergibt (topozentrischer Untergangsazimut). Der horizontale Winkelabstand zwischen dem topozentrischen Untergangsazimut und der Westrichtung wird auch topozentrische Abendweite der Sonne genannt. SieheStandard-Untergangszeit der Sonne, für mehr Informationen.
`M` | `o`, `s` | Die ungefähre, scheinbare, geozentrische Höhe der Sonne in Grad und Altminuten berechnen, die sich zum astronomischen Mitternachtzeitpunkt der Sonne ergibt (geozentrische Mitternachtshöhe). SieheAstronomischer Mitternachtzeitpunkt der Sonne, für mehr Informationen.
`N` | `o`, `s` | Die ungefähre, scheinbare, geozentrische Höhe der Sonne in Grad und Altminuten berechnen, die sich zum astronomischen Mittagzeitpunkt der Sonne ergibt (geozentrische Mittagshöhe). SieheAstronomischer Mittagzeitpunkt der Sonne, für mehr Informationen.
`O` | `o` | Die ungefähre, scheinbare, geozentrische Höhe der Sonne in Grad und Altminuten berechnen, die sich zur Uhrzeit des Standard-Sonnenaufgangs ergibt (geozentrische Aufgangshöhe). SieheStandard-Aufgangszeit der Sonne, für mehr Informationen.
`O` | `s` | Die ungefähre, scheinbare, geozentrische Höhe der Sonne in Grad und Altminuten berechnen, die sich zur Uhrzeit des Standard-Sonnenuntergangs ergibt (geozentrische Untergangshöhe). SieheStandard-Untergangszeit der Sonne, für mehr Informationen.
`P` | `o` | Das ungefähre, scheinbare, geozentrische Azimut der Sonne in Grad und Altminuten berechnen, das sich zur Uhrzeit des Standard-Sonnenaufgangs ergibt (geozentrischer Aufgangsazimut). Der horizontale Winkelabstand zwischen dem geozentrischen Aufgangsazimut und der Ostrichtung wird auch geozentrische Morgenweite der Sonne genannt. SieheStandard-Aufgangszeit der Sonne, für mehr Informationen.
`P` | `s` | Das ungefähre, scheinbare, geozentrische Azimut der Sonne in Grad und Altminuten berechnen, das sich zur Uhrzeit des Standard-Sonnenuntergangs ergibt (geozentrischer Untergangsazimut). Der horizontale Winkelabstand zwischen dem geozentrischen Untergangsazimut und der Westrichtung wird auch geozentrische Abendweite der Sonne genannt. SieheStandard-Untergangszeit der Sonne, für mehr Informationen.
`Q` | `o` | Die ungefähre Uhrzeit berechnen, zu der ein senkrechter Stab vormittags einen Schatten wirft, der genauso lang ist wie der Stab selbst. Jedoch wird die minimale Schattenlänge, die der senkrechte Stab zum astronomischen Mittagzeitpunkt wirft, von der der Schattenlänge subtrahiert, bevor dieser mit der Länge des Stabes verglichen wird. SieheTermin Option `--adjust-value=Argument`, wie der Schattenlängefaktor verändert werden kann.
`Q` | `s` | Die ungefähre Uhrzeit berechnen, zu der ein senkrechter Stab nachmittags einen Schatten wirft, der genauso lang ist wie der Stab selbst. Jedoch wird die minimale Schattenlänge, die der senkrechte Stab zum astronomischen Mittagzeitpunkt wirft, von der der Schattenlänge subtrahiert, bevor diese mit der Länge des Stabes verglichen wird. Personen islamischen Glaubens, und zwar die Vetreter der Shafi Lehre, beten normalerweise zum dritten Mal am Tag zu, oder kurz nach, dieser Uhrzeit. Dieser Personenkreis bezeichnet diese Gebetszeit auch gemeinhin mit Asr. SieheAstronomischer Mittagzeitpunkt der Sonne, für mehr Informationen. Und siehe Termin Option `--adjust-value=Argument`, wie der Schattenlängenfaktor verändert werden kann.
`Q` | `u` | Die ungefähre Zeitdauer berechnen, während der der Sonnenmittelpunkt diejenige Referenzhöhe überschreitet, bei der ein senkrechter Stab einen Schatten wirft, der genauso lang oder kürzer ist als der Stab selbst.
`Q` | `z` | Die ungefähre Zeitdauer berechnen, während der der Sonnenmittelpunkt diejenige Referenzhöhe unterschreitet, bei der ein senkrechter Stab entweder keinen Schatten mehr wirft, oder einen Schatten wirft, der länger ist als der Stab selbst.
`R` | `o` | Die ungefähre Uhrzeit berechnen, zu der ein senkrechter Stab vormittags einen Schatten wirft, der zweimal so lang ist als der Stab selbst. Jedoch wird die minimale Schattenlänge, die der senkrechte Stab zum astronomischen Mittagzeitpunkt wirft, von der der Schattenlänge subtrahiert, bevor diese mit der Länge des Stabes verglichen wird. SieheTermin Option `--adjust-value=Argument`, wie der Schattenlängenfaktor verändert werden kann.
`R` | `s` | Die ungefähre Uhrzeit berechnen, zu der ein senkrechter Stab nachmittags einen Schatten wirft, der zweimal so lang ist als der Stab selbst. Jedoch wird die minimale Schattenlänge, die der senkrechte Stab zum astronomischen Mittagzeitpunkt wirft, von der der Schattenlänge subtrahiert, bevor diese mit der Länge des Stabes verglichen wird. Personen islamischen Glaubens, und zwar die Vetreter der Hanafi Lehre, beten normalerweise zum dritten Mal am Tag zu, oder kurz nach, dieser Uhrzeit. Dieser Personenkreis bezeichnet diese Gebetszeit auch gemeinhin mit Asr. SieheAstronomischer Mittagzeitpunkt der Sonne, für mehr Informationen. Und siehe Termin Option `--adjust-value=Argument`, wie der Schattenlängenfaktor verändert werden kann.
`R` | `u` | Die ungefähre Zeitdauer berechnen, während der der Sonnenmittelpunkt diejenige Referenzhöhe überschreitet, bei der ein senkrechter Stab einen Schatten wirft, der zweimal so lang oder kürzer ist als der Stab selbst.
`R` | `z` | Die ungefähre Zeitdauer berechnen, während der der Sonnenmittelpunkt diejenige Referenzhöhe unterschreitet, bei der ein senkrechter Stab entweder keinen Schatten mehr wirft, oder einen Schatten wirft, der mehr als zweimal so lang ist als der Stab selbst.

Wird kein Modus angegeben, so benutzt Gcal automatisch den Modus, der durch das Moduszeichen `5` ausgelöst wird. Wird ein Moduszeichen angegeben, daß keinem der Zeichen `0`...`9`, `a`...`z` und `A`...`R` entspricht, so benutzt Gcal ebenfalls automatisch den Modus, der durch das Moduszeichen `5` ausgelöst wird.

Die sonnenbezogenen Spezialtexte werden in Abhängigkeit des gewählten Modus in den folgenden Arten und Stilen von Gcal dargestellt:

1. Reelzahliger Dezimalwert ohne Vorzeichen
   Vorzeichenlose, reelzahlige Dezimalwerte werden standardmäßig im `n.n...` Format dargestellt. Bei einigen Moduszeichen veranlaßt ein `*` Zeichen, daß direkt vor dem Moduszeichen angegeben ist, den Wert in einer anderen Bezugsgröße darzustellen. Bei den Moduszeichen, die
   1. die Berechnung von Erde/Sonne oder Erde/Mond Entfernungen bewirken, wird die ermittelte Entfernung in Kilometer dargestellt.
   2. die Berechnung von Phasenwinkeln des Mondes bewirken, wird der ermittelte Phasenwinkel als Phasenwert in Prozent dargestellt.

   Falls bestimmte Ereignisse eintreten, so gibt Gcal, anstelle der zuvor beschriebenen Darstellungen, besondere, ereignisbezogene Texte aus. SieheEreignistexte der sonnenbezogenen Spezialtexte, wo die für Uhrzeitwerte erzeugten ereignisbezogenen Texte aufgeführt sind, die schematisch und sinngemäß auch auf die hier vorgestellte Darstellungsart angewendet werden.

2. Reelzahliger Dezimalwert mit Vorzeichen
   Vorzeichenbehaftete, reelzahlige Dezimalwerte werden standardmäßig im `+|-n.n...` Format dargestellt. Ein `*` Zeichen direkt vor einem Moduszeichen veranlaßt Gcal, solche Werte nicht in einem anderen Stil darzustellen.

   Falls bestimmte Ereignisse eintreten, so gibt Gcal, anstelle der zuvor beschriebenen Darstellungen, besondere, ereignisbezogene Texte aus. SieheEreignistexte der sonnenbezogenen Spezialtexte, wo die für Uhrzeitwerte erzeugten ereignisbezogenen Texte aufgeführt sind, die schematisch und sinngemäß auch auf die hier vorgestellte Darstellungsart angewendet werden.

3. Uhrzeitwert
   Uhrzeiten werden standardmäßig in Stunden und Minuten dargestellt, und zwar im `hh:mm` 24-Stunden Format. Ein `*` Zeichen direkt vor einem Moduszeichen veranlaßt Gcal, die Uhrzeit im 12-Stunden Format, also mit Zeitanhang versehen, darzustellen. SieheAktuelle Ortszeit `%t[Argument]` Spezialtext, wo näher auf das Darstellungsformat der Uhrzeit eingegangen wird.

   Falls bestimmte Ereignisse eintreten, so gibt Gcal, anstelle der zuvor beschriebenen Darstellung der Uhrzeit, besondere, ereignisbezogene Texte aus:

   - Falls Gcal nicht imstande ist, eine ungefähre Uhrzeit zu berechnen, da das Argument fehlerhaft angegeben wurde, so wird anstelle des Uhrzeittextes ein `??:??` Text erzeugt.
   - Falls Gcal eine ungefähre Uhrzeit berechnet, die sich auf einen Vortag oder Folgetag bezieht, oder Gcal kann keine Uhrzeit berechnen, da daß zu berechnende Ereignis nicht an diesem Tag stattfindet, so wird anstelle des Uhrzeittextes ein `**:**` Text erzeugt.
   - Falls Gcal nicht imstande ist, die ungefähre Uhrzeit zu berechnen, da sich der Bezugspunkt, also entweder der Mittelpunkt oder der obere Rand der Sonnen- oder Mondscheibe, an diesem Tag stets oberhalb der jeweiligen Referenzhöhe befindet, so wird anstelle des Uhrzeittextes ein `++:++` Text erzeugt.
   - Falls Gcal nicht imstande ist, die ungefähre Uhrzeit zu berechnen, da sich der Bezugspunkt, also entweder der Mittelpunkt oder der obere Rand der Sonnen- oder Mondscheibe, an diesem Tag stets unterhalb der jeweiligen Referenzhöhe befindet, so wird anstelle des Uhrzeittextes ein `--:--` Text erzeugt.
4. Zeitwert ohne Vorzeichen
   Vorzeichenlose, zumeist eine Zeitdauer bezeichnende Zeitwerte werden standardmäßig in Stunden und Minuten dargestellt, und zwar im `hhhmm'` Format. Ein `*` Zeichen direkt vor einem Moduszeichen veranlaßt Gcal, den Zeitwert in einem anderen Stil darzustellen; und zwar in Dezimalstunden, d.h. im `hh.h...` Format.

   Falls bestimmte Ereignisse eintreten, so gibt Gcal, anstelle der zuvor beschriebenen Darstellungen, besondere, ereignisbezogene Texte aus. SieheEreignistexte der sonnenbezogenen Spezialtexte, wo die für Uhrzeitwerte erzeugten ereignisbezogenen Texte aufgeführt sind, die schematisch und sinngemäß auch auf die hier vorgestellte Darstellungsart beziehungsweise den Darstellungsstil angewendet werden.

5. Zeitwert mit Vorzeichen
   Vorzeichenbehaftete, zumeist eine Zeitdauer bezeichnende Zeitwerte werden standardmäßig in Stunden und Minuten dargestellt, und zwar im `+|-hhhmm'` Format. Ein `*` Zeichen direkt vor einem Moduszeichen veranlaßt Gcal, den Zeitwert in einem anderen Stil darzustellen; und zwar in Dezimalstunden, d.h. im `+|-hh.h...` Format.

   Falls bestimmte Ereignisse eintreten, so gibt Gcal, anstelle der zuvor beschriebenen Darstellungen, besondere, ereignisbezogene Texte aus. SieheEreignistexte der sonnenbezogenen Spezialtexte, wo die für Uhrzeitwerte erzeugten ereignisbezogenen Texte aufgeführt sind, die schematisch und sinngemäß auch auf die hier vorgestellte Darstellungsart beziehungsweise den Darstellungsstil angewendet werden.

6. Winkelwert ohne Vorzeichen
   Vorzeichenlose Winkelwerte werden standardmäßig in Grad und Altminuten dargestellt, und zwar im `ggggmm'` Format. Ein `*` Zeichen direkt vor einem Moduszeichen veranlaßt Gcal, den Winkelwert in einem anderen Stil darzustellen; und zwar in Dezimalgrad, d.h. im `ggg.g...` Format.

   Falls bestimmte Ereignisse eintreten, so gibt Gcal, anstelle der zuvor beschriebenen Darstellungen, besondere, ereignisbezogene Texte aus. SieheEreignistexte der sonnenbezogenen Spezialtexte, wo die für Uhrzeitwerte erzeugten ereignisbezogenen Texte aufgeführt sind, die schematisch und sinngemäß auch auf die hier vorgestellte Darstellungsart beziehungsweise den Darstellungsstil angewendet werden.

7. Winkelwert mit Vorzeichen
   Vorzeichenbehaftete Winkelwerte werden standardmäßig in Grad und Altminuten dargestellt, und zwar im `+|-ggggmm'` Format. Ein `*` Zeichen direkt vor einem Moduszeichen veranlaßt Gcal, den Winkelwert in einem anderen Stil darzustellen; und zwar in Dezimalgrad, d.h. im `+|-ggg.g...` Format.

   Falls bestimmte Ereignisse eintreten, so gibt Gcal, anstelle der zuvor beschriebenen Darstellungen, besondere, ereignisbezogene Texte aus. SieheEreignistexte der sonnenbezogenen Spezialtexte, wo die für Uhrzeitwerte erzeugten ereignisbezogenen Texte aufgeführt sind, die schematisch und sinngemäß auch auf die hier vorgestellte Darstellungsart beziehungsweise den Darstellungsstil angewendet werden.

Nach den optionalen Stil- und Moduszeichen erfolgt die Angabe der Breiten- und Längengrade und der relativen Höhe der geographischen Koordinate, für welche die Berechnung erfolgen soll. Die Breiten- und Längengrade der geographischen Koordinate müssen der ISO-6709:1983 Standarddarstellung von Breiten- und Längengrad eines geographischen Ortes entsprechen, so daß die Koordinate wie folgt anzugeben ist:

- Breitengrad (`+` für nördlich und auf dem Äquator, `-` für südlich des Äquators.)
  `+|-gg[.gg]`
    Grad (2 Ziffern), und optional Dezimalgrad
  `+|-ggmm[.mm]`
    Grad (2 Ziffern), Altminuten (2 Ziffern), und optional Dezimalminuten
  `+|-ggmmss[.ss]`
    Grad (2 Ziffern), Altminuten (2 Ziffern), Altsekunden (2 Ziffern), und optional Dezimalsekunden
- Längengrad (`+` für östlich und auf dem Hauptmeridian (Greenwich), `-` für westlich Greenwich und bis zum 180'ten Meridian.)
  `+|-ggg[.gg]`
    Grad (3 Ziffern), und optional Dezimalgrad
  `+|-gggmm[.mm]`
    Grad (3 Ziffern), Altminuten (2 Ziffern), und optional Dezimalminuten
  `+|-gggmmss[.ss]`
    Grad (3 Ziffern), Altminuten (2 Ziffern), Altsekunden (2 Ziffern), und optional Dezimalsekunden
- Optional die relative Höhe in Meter über dem Meeresspiegel (`+` für Höhen oberhalb und auf dem Meeresspiegel, `-` für Höhen unterhalb des Meeresspiegels.)
  `[+|-n[n[n[n]]]]`
    Ganzzahlige Höhenangabe in Meter im Bereich `-9999`...`+9999` (1...4 Ziffern)

Alle Koordinatenkomponenten müssen mit führenden Nullen versehen werden falls diese weniger Ziffern aufweisen als die hier dargestellten Schablonen. Angegebene Dezimalsekunden werden von Gcal grundsätzlich nicht berücksichtigt. Höhenangaben mit negativem Vorzeichen werden von Gcal bei der Ermittlung der Sonnendaten und Zeiten, sowie der Monddaten und Zeiten, nicht berücksichtigt. Gcal benutzt in einem solchen Fall stets die Höhe `+0`. Breiten- und Längengradkoordinaten und die Höhe des Beobachtungstandorts werden ohne Trennzeichen miteinander verbunden angegeben, wie zum Beispiel `+40-075+61`, `+401213.1-0750015.1` oder `+40.20361-075.00417+0061`. Für weitere Einzelheiten hierzu sei auf die einschlägige Fachliteratur verwiesen.

Der Koordinatenangabe darf, abgegrenzt durch ein `,` Zeichen, ein Zeitwert `[+|-]mmmm|hh:[mm]` folgen, der angibt, um wieviele Minuten mmmm bzw. Stunden hh und Minuten mm der geographische Ort von der Weltzeit (UTC/GMT) versetzt ist. Dieser Zeitversatzwert bestimmt also die Zeitzone, die für diesen Ort aktuell gültig ist. Falls Sommer- und Winterzeiten für den Ort berücksichtigt werden, so sollte während des Sommerzeit-Zeitraums auch noch derjenige Umstellungs-Zeitwert mit in den Zeitzonenwert eingerechnet werden, um den die Uhr während des Sommerzeit-Zeitraums vorgestellt ist -- dieser Umstellungs-Zeitwert wird entweder vom Zeitzonenwert subtrahiert für Orte westlich des Hauptmeridians (Greenwich), oder zum Zeitzonenwert addiert für Orte östlich des Hauptmeridians, da Gcal solche Operationen derzeit nicht automatisch durchführen kann! SieheAktuelle Ortszeit `%t[Argument]` Spezialtext, für eine ausführliche Erklärung vorstehender Zeitwert-Schablone. Wird zu einer angegebenen Koordinate kein Zeitversatzwert spezifiziert, so nimmt Gcal einen Zeitversatzwert von `0` als gegeben an, der der aktuellen Weltzeit (UTC/GMT) entspricht.

Die nachstehende Tabelle gibt Aufschluß darüber, welche Darstellungsart von einem Modus bewirkt wird. In der Spalte, in der die Darstellungsart eingetragen ist, werden die zuvor festgelegten Numerierungen, wie sie bei der Vorstellung der Darstellungsarten benutzt wurden, als Schlüsselwert verwendet. Die Tabelle enthält zudem noch eine Spalte, aus der hervorgeht, ob von einem Modus dynamische, d.h. von der jeweiligen Uhrzeit abhängige, Werte erzeugt werden (mittels der `--time-offset=Argument` Option kann die jeweilige Uhrzeit verändert werden, die für die Berechnung solcher Werte benutzt wird). In einer weiteren Tabellenspalte ist eingetragen, ob die angegebene Ortskoordinate einen Einfluß auf die Ermittlung des Wertes ausübt, und die letzte Spalte der Tabelle enthält den Vermerk, ob ein angegebener Zeitzonenwert die Wertermittlung beeinflußt:

Modus | Darstellungsart | Dynamisch | Ortskoordinate | Zeitzone
`0` | 3 | Nein | Ja | Ja
`1` | 3 | Nein | Ja | Ja
`2` | 3 oder 4 | Nein | Ja | Ja
`3` | 3 oder 4 | Nein | Ja | Ja
`4` | 3 oder 4 | Nein | Ja | Ja
`5` | 3 oder 4 | Nein | Ja | Ja
`6` | 3 oder 4 | Nein | Ja | Ja
`7` | 3 oder 4 | Nein | Ja | Ja
`8` | 3 oder 4 | Nein | Ja | Ja
`9` | 3 oder 4 | Nein | Ja | Ja
`a` | 7 | Ja | Ja | Ja
`b` | 6 | Ja | Ja | Ja
`c` | 7 | Ja | Ja | Ja
`d` | 6 | Ja | Ja | Ja
`e` | 4 | Ja | Ja | Ja
`f` | 1 oder 1a | Ja | Ja | Ja
`g` | 6 | Ja | Ja | Ja
`h` | 6 | Ja | Ja | Ja
`i` | 6 | Ja | Nein | Nein
`j` | 7 | Ja | Ja | Ja
`k` | 6 | Ja | Ja | Ja
`l` | 7 | Ja | Ja | Ja
`m` | 6 | Ja | Ja | Ja
`n` | 4 | Ja | Ja | Ja
`o` | 1 oder 1a | Ja | Ja | Ja
`p` | 6 | Ja | Ja | Ja
`q` | 6 | Ja | Ja | Ja
`r` | 2 | Ja | Nein | Nein
`s` | 3 | Ja | Ja | Ja
`t` | 3 | Ja | Nein | Nein
`u` | 1 | Ja | Nein | Nein
`v` | 1 | Ja | Nein | Nein
`w` | 5 | Ja | Nein | Ja
`x` | 7 | Ja | Ja | Ja
`y` | 7 | Ja | Ja | Ja
`z` | 7 | Ja | Ja | Ja
`A` | 7 | Ja | Ja | Ja
`B` | 7 | Nein | Ja | Ja
`C` | 7 | Nein | Ja | Ja
`D` | 7 | Nein | Ja | Ja
`E` | 7 | Nein | Ja | Ja
`F` | 5 | Nein | Ja | Ja
`G` | 5 | Nein | Ja | Ja
`H` | 5 | Nein | Ja | Ja
`I` | 7 | Nein | Ja | Ja
`J` | 7 | Nein | Ja | Ja
`K` | 7 | Nein | Ja | Ja
`L` | 6 | Nein | Ja | Ja
`M` | 7 | Nein | Ja | Ja
`N` | 7 | Nein | Ja | Ja
`O` | 7 | Nein | Ja | Ja
`P` | 6 | Nein | Ja | Ja
`Q` | 3 oder 4 | Nein | Ja | Ja
`R` | 3 oder 4 | Nein | Ja | Ja

Und nun folgen einige Beispiele zu diesen Spezialtexten:

> Der Text `Sonnenaufgang um %o+5158+00738,120 in MS, BRD` wird umgesetzt in
> ==> `Sonnenaufgang um 05:16 in MS, BRD`, falls das aktuelle Systemdatum der 1'te Juni 1998 ist.

> Der Text `Sonnenuntergang um %s*5+5158+00738,120 in MS, BRD` wird umgesetzt in
> ==> `Sonnenuntergang um 09:39pm in MS, BRD`, falls das aktuelle Systemdatum der 1'te Juni 1998 ist.

> Der Text `Sonne sichtbar %u5+5158+00738,120 in MS, BRD` wird umgesetzt in
> ==> `Sonne sichtbar 16h24' in MS, BRD`, falls das aktuelle Systemdatum der 1'te Juni 1998 ist.

> Der Text `Sonne nicht sichtbar %z*+5158+00738,120 in MS, BRD` wird umgesetzt in
> ==> `Sonne nicht sichtbar 7.607 in MS, BRD`, falls das aktuelle Systemdatum der 1'te Juni 1998 ist.

> Der Text `Sonnenazimut 0 Uhr=%s*a+5158+00738,120 in MS, BRD` wird umgesetzt in
> ==> `Sonnenazimut 0 Uhr=339g16' in MS, BRD`, falls das aktuelle Systemdatum der 1'te Juni 1998 ist.

> Der Text `Zeitgleichung %ot+00+000=%o*w+00+000,120 BRD` wird umgesetzt in
> ==> `Zeitgleichung +16h00'=+00h02'13.201" BRD`, falls das aktuelle Systemdatum der 1'te Juni 1998 ist, und Gcal mit den `--time-offset=16:` und `--precise` Optionen aufgerufen wird.

> Der Text `Julianisches Datum um %ot+00+000 =%ou+00+000` wird umgesetzt in
> ==> `Julianisches Datum um +10h15'=2450965.927`, falls das aktuelle Systemdatum der 1'te Juni 1998 ist, und Gcal mit der `--time-offset=10:15` Option aufgerufen wird.

Es folgt nun eine Aufstellung, die die verwendeten Bezugssysteme kurz darstellt, sonstige, bisher noch nicht erwähnte Gesichtspunkte beschreibt, und über die Mängel und Einschränkungen informiert, die bei den sonnenbezogenen Spezialtexten vorliegen:

- Alle astronomischen Berechnungen beruhen auf Verfahren mit --astronomisch gesehen-- gering-genauen Elementen, die sich selbstverständlich in der Genauigkeit der durch sie bewirkten Ergebnisse zeigen. Jedoch sind diese Ergebnisse in den meisten Fällen als mehr als ausreichend genau anzusehen, was deren praktischen Nutzen betrifft.
- Alle Azimutal- und Höhenwerte beziehen sich stets auf den Mittelpunkt des jeweiligen astronomischen Objekts, es sei denn, es ist anders angegeben.
- Der Fußpunkt von Azimutalwerten, Rektazensionswerten und anderen ekliptischen Koordinatenwerten ist stets auf die geographische Nordrichtung bezogen (nicht etwa die magnetische Nordrichtung, die ein Kompass anzeigt), und diese Werte werden im Uhrzeigersinn gemessen, wobei die Winkelwerte für die Nordrichtung sowohl mit 0 Grad als auch mit 360 Grad bezeichnet werden.
- Die topozentrisch-basierten Azimutal- und Höhenwerte sind allesamt refraktionskorrigiert, wobei Refraktionskorrekturen jedoch nur dann vorgenommen werden, wenn der Mittelpunkt des jeweiligen astronomischen Objekts eine Höhe von 2 Grad unterhalb des Horizonts überschreitet.
- Die Auf- und Untergangszeiten der Sonne können im allgemeinen nicht genau vorbestimmt werden, da durch unvorhersagbare atmosphärische Bedingungen, also die zu diesen Zeitpunkten lokal vorherrschenden Wetterbedingungen einen Einfluß auf den Betrag der sich am Horizont ergebenden Refraktion ausüben, so daß die vorausberechneten Auf- und Untergangszeiten durchaus um eine Minute oder mehr falsch sein können.
- Die Genauigkeit der Auf- und Untergangsberechnungen verringert sich noch in hohen Breiten, also innerhalb des solaren Polarkreises. Dort vermögen kleinste Änderungen in der atmosphärischen Refraktion die Auf- oder Untergangszeiten der Sonne um mehrere Minuten zu verändern, da die Sonne dort den Horizont in einem sehr flachen Winkel schneidet. Aus dem gleichen Grund heraus kann auch noch durch den Einfluß, der durch die Höhe des Beobachtungsortes und die lokale Topographie verursacht wird, dieser Effekt verstärkt werden, so daß sich eine wesentliche Veränderung der Zeiten dieser betrachteten Phänomene ergibt, beziehungsweise es dann überhaupt fraglich ist, ob sich diese Phänomene dann letztlich noch in der Realität tatsächlich so abspielen.
- Die kurzen Erklärungen zu den verschiedenen Dämmerungsphasen gehen alle modellhaft von idealen atmosphärischen Bedingungen aus. Es ist selbstverständlich, daß diese Erklärungen gegenstandslos werden, wenn sich in der Realität andere Bedingungen ergeben, etwa wie die einer dichten Bewölkung oder einer stark verschmutzten Atmosphäre!

Bitte beachten Sie auch die folgenden Querverweise:

- SieheTermin Option `--precise`, wie eine präzisere Darstellung der Werte erzielt werden kann, die durch diese Spezialtexte bewirkt werden.
- Und siehe Kalender Option `--time-offset=Argument`, wie die Uhrzeit geändert werden kann, für die die dynamischen, von der jeweiligen Uhrzeit abhängigen, sonnenbezogenen Spezialtexte berechnet werden.
- Ebenso siehe Termin Option `--cycle-end=Argument`, wie die dynamischen, von der jeweiligen Uhrzeit abhängigen, sonnenbezogenen Spezialtexte für eine Folge von Uhrzeiten des laufenden Tag ermittelt werden können.
- Und siehe auch Termin Option `--adjust-value=Argument`, wie sowohl die Referenzhöhe für die Berechnung der Auf- und Untergangszeiten, als auch der Schattenlängefaktor verändert werden kann.
- Weitherhin siehe Termin Option `--atmosphere=Luftdruck[,Temperatur]`, wie die Basisdaten der Atmosphäre geändert werden können, die die Berechnung der sonnenbezogenen Spezialtexte beeinflussen.
- Und zuletzt, beachte Termin Option `--limit`, wie die Auf- und Untergangszeiten der Sonne auf den aktuellen Tag beschränkt werden können.

Alle sonnenbezogenen Spezialtexte müssen stets von einem whitespace Zeichen gefolgt werden, welches seinerseits in der Ausgabe entfernt wird!

Knoten:Monddaten, Nächster:Inhalt von Umgebungsvariable, Vorheriger:Sonnendaten, Aufwärts:Ersetzen mit anderem Argument

#### Monddaten `%[Format]?Argument` Spezialtexte

`%[Format]([*][Modus]ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]` bezeichnet in der Grundeinstellung die ungefähre Uhrzeit des Mondaufgangs,
`%[Format])[*][Modus]ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]` bezeichnet in der Grundeinstellung die ungefähre Uhrzeit des Monduntergangs,
`%[Format][[*][Modus]ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]` bezeichnet in der Grundeinstellung die ungefähre Sichtbarkeitsdauer des Mondes (lunare Tageslänge), und
`%[Format]][*][Modus]ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]` bezeichnet in der Grundeinstellung die ungefähre Nichtsichtbarkeitsdauer des Mondes (lunare Nachtlänge).

Alle diese Spezialtexte können auf jede beliebige Ortskoordinate angewendet werden, d.h. es können verschiedenartige, astronomische Werte für jeden beliebigen Standort auf der Erdkugel ermittelt werden, und zwar für jede beliebige, minutengenaue Uhrzeit in dem von Gcal berücksichtigtem Zeitraum der Jahre A.D. 1 bis A.D. 9999.

Die Auswahl, welcher andere Wert durch diese Spezialtexte berechnet werden soll, erfolgt durch die Angabe des Modus Bestandteils des vorstehenden Arguments. Es können derzeit genau 61 verschiedene Modi benutzt werden, die durch die Zeichen `0`...`9`, `a`...`z` und `A`...`Y` repräsentiert sind, und die in Abhängigkeit des verwendeten Spezialtextes verschiedenartige Ergebnisse erzeugen. Es folgt zunächst eine Tabelle, in der alle verwendbaren Modi beschrieben und auch weitestgehend erklärt werden. Aus dieser Tabelle kann zudem noch ersehen werden, welcher oder welche der mondbezogenen Spezialtexte mit welchem Modus korrespondieren, d.h. die Ermittlung desjenigen astronomischen Wertes auslösen, wie er in der Tabelle beschrieben ist:

Modus | Spezialtext | Beschreibung
`0` | `(`, `)` | Die ungefähre Uhrzeit des astronomischen Mitternachtzeitpunktes des Mondes berechnen. Der astronomische Mitternachtzeitpunkt des Mondes ist zu derjenigen Uhrzeit, zu der der Mond einen Azimut (horizontaler Winkelabstand zwischen dem Vertikalkreis bzw. Scheitelkreis, der durch den Mond geht, und dem Nordpunkt) von entweder genau 0 Grad oder genau 180 Grad einnimmt, was von der Jahreszeit und der Ortskoordinate abhängig ist. Zu dieser Uhrzeit befindet sich der Mond nahe seines unteren Kulminationspunktes, d.h. nahe des niedrigsten Punktes unter- oder oberhalb der Horizontalebene, der vom Mittelpunkt des Mondes an diesem Tag durchlaufen wird. Allerdings findet an genau einem Tag eines synodischen Monats (oder Lunation) --d.h. der durchschnittlichen Zeitspanne zwischen zwei aufeinanderfolgenden Konjunktionen (oder Neumondphasen)--, keine lunare Mitternacht statt, da der Mond eine durchschnittliche Umlaufdauer um die Erde von 24 Stunden 50 Minuten hat -- was zudem bedeutet, daß der Mond jeden Tag um durchschnittlich etwa 50 Minuten später aufgeht.
`1` | `(`, `)` | Die ungefähre Uhrzeit des astronomischen Mittagzeitpunktes des Mondes berechnen. Der astronomische Mittagzeitpunkt des Mondes ist zu derjenigen Uhrzeit, zu der der Mond einen Azimut von entweder genau 180 Grad oder genau 0 Grad einnimmt, was von der Jahreszeit und der Ortskoordinate abhängig ist. Zu dieser Uhrzeit befindet sich der Mond nahe seines oberen Kulminationspunktes, d.h. nahe des höchsten Punktes ober- oder unterhalb der Horizontalebene, der vom Mittelpunkt des Mondes an diesem Tag durchlaufen wird. Allerdings findet an genau einem Tag eines synodischen Monats kein lunarer Mittag statt.
`2` | `(` | Die ungefähre Uhrzeit berechnen, zu der der Mittelpunkt des Mondes eine Referenzhöhe, die etwa zwischen 54 bis 61 Altminuten oberhalb eines mathematisch-geozentrischen Horizonts liegt, vor Erreichen des lunaren Mittagzeitpunktes durchschreitet; also aufgeht. Ein mathematischer Horizont ist ein rein geometrisch gebildeter Horizont, der die Refraktion unberücksichtigt läßt, die sich in der Realität durch den Einfluß der Erdatmosphäre ergibt. Als geozentrischer Horizont wird diejenige Horizontalebene bezeichnet, die durch den Erdmittelpunkt verläuft. Im weiteren Kontext wird aber einfach nur noch der kürzere Begriff mathematischer Horizont benutzt, der eigentlich den mathematisch-geozentrischen Horizont meint. Die hier genannte Referenzhöhe errechnet sich aus dem zu dieser Uhrzeit gültigen Wert der Mondparallaxe. Allerdings findet an genau einem Tag eines synodischen Monats kein solcher Mondaufgang statt.
`2` | `)` | Die ungefähre Uhrzeit berechnen, zu der der Mittelpunkt des Mondes eine Referenzhöhe, die etwa zwischen 54 bis 61 Altminuten oberhalb eines mathematischen Horizonts liegt, nach Erreichen des lunaren Mittagzeitpunktes durchschreitet; also untergeht. Die hier genannte Referenzhöhe errechnet sich aus dem zu dieser Uhrzeit gültigen Wert der Mondparallaxe. Allerdings findet an genau einem Tag eines synodischen Monats kein solcher Monduntergang statt.
`2` | `[` | Die ungefähre Zeitdauer berechnen, während der der Mittelpunkt des Mondes eine Referenzhöhe überschreitet, die etwa zwischen 54 und 61 Altminuten oberhalb eines mathematischen Horizonts liegt; also sichtbar ist.
`2` | `]` | Die ungefähre Zeitdauer berechnen, während der der Mittelpunkt des Mondes eine Referenzhöhe unterschreitet, die etwa zwischen 54 und 61 Altminuten oberhalb eines mathematischen Horizonts liegt; also nicht sichtbar ist.
`3` | `(` | Die ungefähre Uhrzeit berechnen, zu der der obere Rand der Mondscheibe eine Referenzhöhe, die etwa zwischen 54 und 61 Altminuten oberhalb eines mathematischen Horizonts liegt, vor Erreichen des lunaren Mittagzeitpunktes durchschreitet; also aufgeht. Die hier genannte Referenzhöhe errechnet sich aus den zu dieser Uhrzeit jeweilig gültigen Werten von Mondradius und Mondparallaxe. Wenn die auf den oberen Rand der Mondscheibe bezogene Referenzhöhe auf den Mondmittelpunkt umgerechnet wird, so liegt diese etwa zwischen 39 und 44 Altminuten oberhalb des geozentrischen Horizonts. Allerdings findet an genau einem Tag eines synodischen Monats kein solcher Mondaufgang statt.
`3` | `)` | Die ungefähre Uhrzeit berechnen, zu der der obere Rand der Mondscheibe eine Referenzhöhe, die etwa zwischen 54 und 61 Altminuten oberhalb eines mathematischen Horizonts liegt, nach Erreichen des lunaren Mittagzeitpunktes durchschreitet; also untergeht. Die hier genannte Referenzhöhe errechnet sich aus den zu dieser Uhrzeit jeweilig gültigen Werten von Mondradius und Mondparallaxe. Allerdings findet an genau einem Tag eines synodischen Monats kein solcher Monduntergang statt.
`3` | `[` | Die ungefähre Zeitdauer berechnen, während der der obere Rand der Mondscheibe eine Referenzhöhe überschreitet, die etwa zwischen 54 und 61 Altminuten oberhalb eines mathematischen Horizonts liegt; also sichtbar ist.
`3` | `]` | Die ungefähre Zeitdauer berechnen, während der der obere Rand der Mondscheibe eine Referenzhöhe unterschreitet, die etwa zwischen 54 und 61 Altminuten oberhalb eines mathematischen Horizont liegt; also nicht sichtbar ist.
`4` | `(` | Die ungefähre Uhrzeit berechnen, zu der der Mittelpunkt des Mondes eine Referenzhöhe, die etwa zwischen 20 und 27 Altminuten oberhalb des geozentrischen Horizonts liegt, vor Erreichen des lunaren Mittagzeitpunktes durchschreitet; also aufgeht. Die Refraktion, die sich in der Realität durch den Einfluß der Erdatmosphäre ergibt, wird hierbei bereits mit dem Standardwert von 34 Altminuten berücksichtigt, der aber indirekt durch die Benutzung der `--atmosphere` Option verändert werden kann. SieheTermin Option `--atmosphere=Luftdruck[,Temperatur]`, wie die Basisdaten der Atmosphäre geändert werden können, so daß die dann definierten atmosphärischen Bedingungen zur Refraktionsberechnung verwendet werden. Die hier genannte Referenzhöhe errechnet sich aus den zu dieser Uhrzeit jeweilig gültigen Werten von Mondparallaxe und (Standard) Refraktion. Allerdings findet an genau einem Tag eines synodischen Monats kein solcher Mondaufgang statt.
`4` | `)` | Die ungefähre Uhrzeit berechnen, zu der der Mittelpunkt des Mondes eine Referenzhöhe, die etwa zwischen 20 und 27 Altminuten oberhalb des geozentrischen Horizonts liegt, nach Erreichen des lunaren Mittagzeitpunktes durchschreitet; also untergeht. Die Refraktion, die sich in der Realität durch den Einfluß der Erdatmosphäre ergibt, wird hierbei bereits mit dem Standardwert von 34 Altminuten berücksichtigt, der aber indirekt durch die Benutzung der `--atmosphere` Option verändert werden kann. Die hier genannte Referenzhöhe errechnet sich aus den zu dieser Uhrzeit jeweilig gültigen Werten von Mondparallaxe und (Standard) Refraktion. Allerdings findet an genau einem Tag eines synodischen Monats kein solcher Monduntergang statt.
`4` | `[` | Die ungefähre Zeitdauer berechnen, während der der Mittelpunkt des Mondes eine Referenzhöhe überschreitet, die etwa zwischen 20 und 27 Altminuten oberhalb des geozentrischen Horizont liegt; also sichtbar ist.
`4` | `]` | Die ungefähre Zeitdauer berechnen, während der der Mittelpunkt des Mondes eine Referenzhöhe unterschreitet, die etwa zwischen 20 und 27 Altminuten oberhalb des geozentrischen Horizonts liegt; also nicht sichtbar ist.
`5` | `(` | Die ungefähre Uhrzeit berechnen, zu der der obere Rand der Mondscheibe eine Referenzhöhe, die etwa zwischen 20 und 27 Altminuten oberhalb des geozentrischen Horizonts liegt, vor Erreichen des lunaren Mittagzeitpunktes durchschreitet; also aufgeht. Diese Art der Aufgangszeitberechnung entspricht der Standardberechnungsmethode, wie sie im allgemeinen international benutzt wird. Die Refraktion, die sich in der Realität durch den Einfluß der Erdatmosphäre ergibt, wird hierbei bereits mit dem Standardwert von 34 Altminuten berücksichtigt, der aber indirekt durch die Benutzung der `--atmosphere` Option verändert werden kann. SieheTermin Option `--atmosphere=Luftdruck[,Temperatur]`, wie die Basisdaten der Atmosphäre geändert werden können, so daß diese definierten atmosphärischen Bedingungen zur Refraktionsberechnung verwendet werden. Die hier genannte Referenzhöhe errechnet sich aus den zu dieser Uhrzeit jeweilig gültigen Werten von Mondradius, Mondparallaxe und (Standard) Refraktion. Wenn die auf den oberen Rand der Mondscheibe bezogene Referenzhöhe auf den Mondmittelpunkt umgerechnet wird, so liegt diese etwa zwischen 5 und 10 Altminuten oberhalb des geozentrischen Horizonts. Allerdings findet an genau einem Tag eines synodischen Monats kein solcher Mondaufgang statt.
`5` | `)` | Die ungefähre Uhrzeit berechnen, zu der der obere Rand der Mondscheibe eine Referenzhöhe, die etwa zwischen 20 und 27 Altminuten oberhalb des geozentrischen Horizonts liegt, nach Erreichen des lunaren Mittagzeitpunktes durchschreitet; also untergeht. Diese Art der Aufgangszeitberechnung entspricht der Standardberechnungsmethode, wie sie im allgemeinen international benutzt wird. Die Refraktion, die sich in der Realität durch den Einfluß der Erdatmosphäre ergibt, wird hierbei bereits mit dem Standardwert von 34 Altminuten berücksichtigt, der aber indirekt durch die Benutzung der `--atmosphere` Option verändert werden kann. Die hier genannte Referenzhöhe errechnet sich aus den zu dieser Uhrzeit jeweilig gültigen Werten von Mondradius, Mondparallaxe und (Standard) Refraktion. Allerdings findet an genau einem Tag eines synodischen Monats kein solcher Monduntergang statt.
`5` | `[` | Die ungefähre Zeitdauer berechnen, während der der obere Rand der Mondscheibe eine Referenzhöhe überschreitet, die etwa zwischen 20 und 27 Altminuten oberhalb des geozentrischen Horizonts liegt; also sichtbar ist. Diese Art der Zeitdauerberechnung der Sichtbarkeit entspricht der Standardberechnungsmethode, wie sie im allgemeinen international benutzt wird.
`5` | `]` | Die ungefähre Zeitdauer berechnen, während der der obere Rand der Mondscheibe eine Referenzhöhe unterschreitet, die etwa zwischen 20 und 27 Altminuten oberhalb des geozentrischen Horizonts liegt; also nicht sichtbar ist. Diese Art der Zeitdauerberechnung der Nichtsichtbarkeit entspricht der Standardberechnungsmethode, wie sie im allgemeinen international benutzt wird.
`6` | `(`, `)` | Die ungefähre, scheinbare, topozentrische Horizontalparallaxe des Mondes in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Die Horizontalparallaxe des Mondes gibt den Durchmesser der Erde an, so wie er von der Mondoberfläche aus zu sehen ist. Von der Erdoberfläche aus gemachte Beobachtungen von Gestirnen liefern topozentrisch-basierte Daten. Die Gestirnsorte liegen bei topozentrisch ermittelten Daten zumeist an einer anderen Stelle als bei geozentrisch, also am fiktiven Erdmittelpunkt, ermittelten Daten. Das hat im wesentlichen mit der Refraktion zu tun, die ein Gestirn an einem anderen Ort erscheinen läßt, als es sich in Wirklichkeit befindet. Da sich die Erdkugel zu den Polkappen hin abflacht und somit nicht als ideale Kugelgestalt aufgefasst werden kann, hat der individuelle Erdradius, der sich zwischen Beobachtungsstandort und Erdmittelpunkt ergibt, auch noch Einfluß auf die Berechnung von topozentrisch-basierten Daten.
`7` | `(`, `)` | Den ungefähren, scheinbaren, topozentrischen Mondradius in Grad und Altminuten berechnen, der sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`8` | `(`, `)` | Die ungefähre, scheinbare, topozentrische Helligkeit des Mondes in Größenklassen berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Die Größenklasse (lateinisch magnitudo, abgekürzt m) wird dazu benutzt, um die Helligkeit eines Gestirns zu definieren, und ist ein nicht-metrischer Wert. Die Differenz zwischen zwei aufeinanderfolgenden Größenklassen beträgt 1 zu 2,512. Ein Stern der Helligkeit 1m ist also 2,512 mal heller als ein Stern 2m. Eine negative Größe bezeichnet einen sehr hellen Stern, zum Beispiel hat die Sonne nahezu -27m, während der kaum sichtbare Planet Pluto eine Helligkeit von etwas über +14m hat. Der Vollmond hat eine visuelle Helligkeit von circa -12m,55.
`9` | `(`, `)` | Den ungefähren, scheinbaren, topozentrischen Phasenwinkel des Mondes im Bereich 0.0...1.0 berechnen, der sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`a` | `(`, `)` | Die ungefähre, scheinbare, topozentrische Höhe des Mondes, also den vertikalen Winkelabstand zwischen Mondmittelpunkt und Horizont, in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Ergebnisse mit negativem Vorzeichen besagen, daß sich der momentane Mondmittelpunkt unterhalb des Horizonts befindet, und Ergebnisse mit positivem Vorzeichen besagen, daß sich der momentane Mondmittelpunkt oberhalb des Horizonts befindet.
`b` | `(`, `)` | Das ungefähre, scheinbare, topozentrische Azimut des Mondes in Grad und Altminuten berechnen, das sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`c` | `(`, `)` | Die ungefähre, scheinbare, topozentrische Deklination des Mondes, also den vertikalen Winkelabstand zwischen Mondmittelpunkt und Himmelsäquator, in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Ergebnisse mit negativem Vorzeichen besagen, daß sich der momentane Mondmittelpunkt unterhalb des Himmelsäquators befindet, und Ergebnisse mit positivem Vorzeichen besagen, daß sich der momentane Mondmittelpunkt oberhalb des Himmelsäquators befindet.
`d` | `(`, `)` | Den ungefähren, scheinbaren, topozentrischen, ekliptischen Längengrad des Mondes, also den horizontalen Winkelabstand zwischen Mondmittelpunkt und Frühlingspunkt auf der Ekliptik (der Tierkreislinie oder Sonnenbahn), in Grad und Altminuten berechnen, der sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`e` | `(`, `)` | Den ungefähren, scheinbaren, topozentrischen, ekliptischen Breitengrad des Mondes, also den vertikalen Winkelabstand zwischen Mondmittelpunkt und Ekliptik (Tierkreislinie/Sonnenbahn), in Grad und Altminuten berechnen, der sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Ergebnisse mit negativem Vorzeichen besagen, daß sich der momentane Mondmittelpunkt nördlich der Ekliptik befindet, und Ergebnisse mit positivem Vorzeichen besagen, daß sich der momentane Mondmittelpunkt südlich der Ekliptik befindet.
`f` | `(`, `)` | Die ungefähre, scheinbare, topozentrische Rektazension des Mondes, also den horizontalen Winkelabstand zwischen Mondmittelpunkt und dem durch den Frühlingspunkt auf der Ekliptik verlaufenden Stundenkreis, als Zeitwert in Stunden und Minuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`g` | `(`, `)` | Die ungefähre, topozentrische Entfernung des Mondes von der Erde in mittleren Erdäquatoradien berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Der mittlere Radius der Erde am Äquator beträgt etwa 6.378,137 Kilometer.
`h` | `(`, `)` | Die ungefähre topozentrische Elongation des Mondes, also den horizontalen Winkelabstand zwischen Mondmittelpunkt und Sonnenmittelpunkt, in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`i` | `(`, `)` | Die ungefähre Refraktion der Erdatmosphäre in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`j` | `(`, `)` | Die ungefähre, scheinbare, geozentrische Horizontalparallaxe des Mondes in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`k` | `(`, `)` | Den ungefähren, scheinbaren, geozentrischen Mondradius in Grad und Altminuten berechnen, der sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`l` | `(`, `)` | Die ungefähre, scheinbare, geozentrische Helligkeit des Mondes in Größenklassen berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`m` | `(`, `)` | Den ungefähren, scheinbaren, geozentrischen Phasenwinkel des Mondes im Bereich 0.0...1.0 berechnen, der sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`n` | `(`, `)` | Die ungefähre, scheinbare, geozentrische Höhe des Mondes in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Ergebnisse mit negativem Vorzeichen besagen, daß sich der momentane Mondmittelpunkt unterhalb des Horizonts befindet, und Ergebnisse mit positivem Vorzeichen besagen, daß sich der momentane Mondmittelpunkt oberhalb des Horizonts befindet.
`o` | `(`, `)` | Das ungefähre, scheinbare, geozentrische Azimut des Mondes in Grad und Altminuten berechnen, das sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`p` | `(`, `)` | Die ungefähre, scheinbare, geozentrische Deklination des Mondes in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Ergebnisse mit negativem Vorzeichen besagen, daß sich der momentane Mondmittelpunkt unterhalb des Himmelsäquators befindet, und Ergebnisse mit positivem Vorzeichen besagen, daß sich der momentane Mondmittelpunkt oberhalbe des Himmelsäquators befindet.
`q` | `(`, `)` | Den ungefähren, scheinbaren, geozentrischen, ekliptischen Längengrad des Mondes in Grad und Altminuten berechnen, der sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`r` | `(`, `)` | Den ungefähren, scheinbaren, geozentrischen, ekliptischen Breitengrad des Mondes in Grad und Altminuten berechnen, der sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Ergebnisse mit negativem Vorzeichen besagen, daß sich der momentane Mondmittelpunkt nördlich der Ekliptik befindet, und Ergebnisse mit positivem Vorzeichen besagen, daß sich der momentane Mondmittelpunkt südlich der Ekliptik befindet.
`s` | `(`, `)` | Die ungefähre, scheinbare, geozentrische Rektazension des Mondes als Zeitwert in Stunden und Minuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`t` | `(`, `)` | Die ungefähre, geozentrische Entfernung des Mondes von der Erde in mittleren Erdäquatoradien berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`u` | `(`, `)` | Die ungefähre geozentrische Elongation des Mondes in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`v` | `(`, `)` | Das ungefähre delta-t in Sekunden berechnen, das sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Als delta-t wird die Differenz zwischen der Terrestrischen Dynamischen Zeit (englisch Terrestrial Dynamical time, abgekürzt TDT; die früher auch unter dem Begriff Ephemeridenzeit (ET) bekannt war) und der Weltzeit (UT) bezeichnet. Also, `delta-t == TDT - UT`.
`w` | `(`, `)` | Die ungefähre, scheinbare, ortsbezogene siderische Uhrzeit (lokale siderische Uhrzeit (LAST), auch als lokale Sternzeit bekannt), in Stunden und Minuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Ein Sterntag ist der Zeitraum zwischen zwei aufeinanderfolgenden oberen Kulminationen des Frühlingspunktes auf der Ekliptik im Meridian des Beobachtungsstandortes. Somit ist die lokale Sternzeit die momentane Zeitspanne, die zwischen der letzten oberen Kulmination des Frühlingspunktes im Merdian des Beobachtungsstandortes verflossen ist (der momentane Stundenwinkel des Frühlingspunktes), also die momentane Rektazension der Gestirne im Beobachtungsmeridian.
`x` | `(`, `)` | Die Basiszeit als Zeitwert in Stunden und Minuten ausgeben, für die die dynamischen, d.h. von der jeweiligen Uhrzeit abhängigen, astronomischen Monddaten und Zeiten berechnet werden. Ohne Angabe der `--time-offset=Argument` Option werden die astronomischen Monddaten und Zeiten stets für 0 Uhr Weltzeit (UTC/GMT) berechnet. Kalender Option `--time-offset=Argument`, für weitere Details.
`y` | `(`, `)` | Das ungefähre Julianische Datum in Tagen berechnen, das sich zum bürgerlichen Mitternachtzeitpunkt ergibt. SieheJulianische Tageszahl, für weitere Informationen zum Julianischen Datum.
`z` | `(`, `)` | Das ungefähre Julianische Ephemeridendatum, also ein um delta-t korrigiertes Julianische Datum, in Tagen berechnen, das sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`A` | `(`, `)` | Die ungefähre, scheinbare, topozentrische Höhendifferenz (delta) von Mond und Sonne, wobei der Mond den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Ergebnisse mit negativem Vorzeichen besagen, daß sich der momentane Mondmittelpunkt auf einer Höhe befindet, die unterhalb der momentanen Höhe des Sonnenmittelpunktes liegt; also der Mond steht tiefer als die Sonne. Ergebnisse mit positivem Vorzeichen besagen, daß sich der momentane Mondmittelpunkt auf einer Höhe befindet, die oberhalb der momentanen Höhe des Sonnenmittelpunktes liegt; also der Mond steht höher als die Sonne.
`B` | `(`, `)` | Die ungefähre, scheinbare, topozentrische Azimutaldifferenz (delta) von Mond und Sonne, wobei der Mond den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt. Das Ergebnis gibt den horizontalen Winkelabstand an, um den der momentane Mondmittelpunkt vom momentanen Sonnenmittelpunkt entfernt ist; und zwar gemessen auf den Vertikalkreisen (Scheitelkreisen), die durch den Mond und den Nordpunkt und durch die Sonne und den Nordpunkt gehen. Hierbei bedeutet ein Ergebnis mit negativem Vorzeichen, daß die Sonne rechts (im Uhrzeigersinn) des Mondes steht, wenn man zum Mond schaut -- oder alternativ ausgedrückt, daß der Mond links (gegen den Uhrzeigersinn) der Sonne steht. Und ein Ergebnis mit positivem Vorzeichen bedeutet, daß die Sonne links (gegen den Uhrzeigersinn) des Mondes steht, wenn man zum Mond schaut -- oder alternativ gesagt, daß der Mond rechts (im Uhrzeigersinn) der Sonne steht.
`C` | `(`, `)` | Die ungefähre, scheinbare, geozentrische Höhendifferenz (delta) von Mond und Sonne, wobei der Mond den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`D` | `(`, `)` | Die ungefähre, scheinbare, geozentrische Azimutaldifferenz (delta) von Mond und Sonne, wobei der Mond den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zum bürgerlichen Mitternachtzeitpunkt ergibt.
`E` | `(` | Die ungefähre, scheinbare, topozentrische Höhendifferenz (delta) von Mond und Sonne, wobei der Mond den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zu der Uhrzeit des Standard-Mondaufgangs ergibt. SieheStandard-Aufgangszeit des Mondes, für weitere Details.
`E` | `)` | Die ungefähre, scheinbare, topozentrische Höhendifferenz (delta) von Mond und Sonne, wobei der Mond den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zu der Uhrzeit des Standard-Monduntergangs ergibt. SieheStandard-Untergangszeit des Mondes, für weitere Details.
`F` | `(` | Die ungefähre, scheinbare, topozentrische Azimutaldifferenz (delta) von Mond und Sonne, wobei der Mond den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zu der Uhrzeit des Standard-Mondaufgangs ergibt. SieheStandard-Aufgangszeit des Mondes, für weitere Details.
`F` | `)` | Die ungefähre, scheinbare, topozentrische Azimutaldifferenz (delta) von Mond und Sonne, wobei der Mond den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zu der Uhrzeit des Standard-Monduntergangs ergibt. SieheStandard-Untergangszeit des Mondes, für weitere Details.
`G` | `(` | Die ungefähre, scheinbare, geozentrische Höhendifferenz (delta) von Mond und Sonne, wobei der Mond den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zu der Uhrzeit des Standard-Mondaufgangs ergibt. SieheStandard-Aufgangszeit des Mondes, für weitere Details.
`G` | `)` | Die ungefähre, scheinbare, geozentrische Höhendifferenz (delta) von Mond und Sonne, wobei der Mond den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zu der Uhrzeit des Standard-Monduntergangs ergibt. SieheStandard-Untergangszeit des Mondes, für weitere Details.
`H` | `(` | Die ungefähre, scheinbare, geozentrische Azimutaldifferenz (delta) von Mond und Sonne, wobei der Mond den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zu der Uhrzeit des Standard-Mondaufgangs ergibt. SieheStandard-Aufgangszeit des Mondes, für weitere Details.
`H` | `)` | Die ungefähre, scheinbare, geozentrische Azimutaldifferenz (delta) von Mond und Sonne, wobei der Mond den Bezugspunkt darstellt, in Grad und Altminuten berechnen, die sich zu der Uhrzeit des Standard-Monduntergangs ergibt. SieheStandard-Untergangszeit des Mondes, für weitere Details.
`I` | `(`, `)` | Die ungefähre Differenz (delta) der astronomischen Mitternachtzeitpunkte von Mond und Sonne, wobei der Mond den Bezugspunkt darstellt, als Zeitwert in Stunden und Minuten berechnen, die sich zum Mitternachtzeitpunkt des Mondes ergibt. Ergebnisse mit negativem Vorzeichen besagen, daß der astronomische Mitternachtzeitpunkt des Mondes früher stattfindet als der astronomische Mitternachtzeitpunkt der Sonne; also die lunare Mitternacht findet vor der solaren Mitternacht statt. Ergebnisse mit positivem Vorzeichen besagen, daß der astronomische Mitternachtzeitpunkt des Mondes später stattfindet als der astronomische Mitternachtzeitpunkt der Sonne; also die lunare Mitternacht findet nach der solaren Mitternacht statt. SieheAstronomischer Mitternachtzeitpunkt des Mondes, und Astronomischer Mitternachtzeitpunkt der Sonne, für weitere Details.
`J` | `(`, `)` | Die ungefähre Differenz (delta) der astronomischen Mittagzeitpunkte von Mond und Sonne, wobei der Mond den Bezugspunkt darstellt, als Zeitwert in Stunden und Minuten berechnen, die sich zum Mittagzeitpunkt des Mondes ergibt. Ergebnisse mit negativem Vorzeichen besagen, daß der astronomische Mittagzeitpunkt des Mondes früher stattfindet als der astronomische Mittagzeitpunkt der Sonne; also der lunare Mittag findet vor dem solaren Mittag statt. Ergebnisse mit positivem Vorzeichen besagen, daß der astronomische Mittagzeitpunkt des Mondes später stattfindet als der astronomische Mittagzeitpunkt der Sonne; also der lunare Mittag findet nach dem solaren Mittag statt. SieheAstronomischer Mittagzeitpunkt des Mondes, und Astronomischer Mittagzeitpunkt der Sonne, für weitere Details.
`K` | `(` | Die ungefähre Differenz (delta) der Standard-Aufgangszeiten von Mond und Sonne, wobei der Mond den Bezugspunkt darstellt, als Zeitwert in Stunden und Minuten berechnen, die sich zur Uhrzeit des Standard-Mondaufgangs ergibt. Ergebnisse mit negativem Vorzeichen besagen, daß der Standard-Mondaufgang früher stattfindet als der Standard-Sonnenaufgang; also der Mondaufgang findet vor dem Sonnenaufgang statt. Ergebnisse mit positivem Vorzeichen besagen, daß der Standard-Mondaufgang später stattfindet als der Standard-Sonnenaufgang; also der Mondaufgang findet nach dem Sonnenaufgang statt. SieheStandard-Aufgangszeit des Mondes, und Standard-Aufgangszeit der Sonne, für weitere Details.
`K` | `)` | Die ungefähre Differenz (delta) der Standard-Untergangszeiten von Mond und Sonne, wobei der Mond den Bezugspunkt darstellt, als Zeitwert in Stunden und Minuten berechnen, die sich zur Uhrzeit des Standard-Monduntergangs ergibt. Ergebnisse mit negativem Vorzeichen besagen, daß der Standard-Monduntergang früher stattfindet als der Standard-Sonnenuntergang; also der Monduntergang findet vor dem Sonnenuntergang statt. Ergebnisse mit positivem Vorzeichen besagen, daß der Standard-Monduntergang später stattfindet als der Standard-Sonnenuntergang; also der Monduntergang findet nach dem Sonnenuntergang statt. SieheStandard-Untergangszeit des Mondes, und Standard-Untergangszeit der Sonne, für weitere Details.
`L` | `(`, `)` | Die ungefähre, scheinbare, topozentrische Höhe des Mondes in Grad und Altminuten berechnen, die sich zum astronomischen Mitternachtzeitpunkt des Mondes ergibt (topozentrische Mitternachtshöhe). SieheAstronomischer Mitternachtzeitpunkt des Mondes, für mehr Informationen.
`M` | `(`, `)` | Den ungefähren, scheinbaren, topozentrischen Phasenwinkel des Mondes im Bereich 0.0...1.0 berechnen, der sich zum astronomischen Mitternachtzeitpunkt des Mondes ergibt (topozentrischer Mitternachtsphasenwinkel). SieheAstronomischer Mitternachtzeitpunkt des Mondes, für mehr Informationen.
`N` | `(`, `)` | Die ungefähre, scheinbare, topozentrische Höhe des Mondes in Grad und Altminuten berechnen, die sich zum astronomischen Mittagzeitpunkt des Mondes ergibt (topozentrische Mittagshöhe). SieheAstronomischer Mittagzeitpunkt des Mondes, für mehr Informationen.
`O` | `(`, `)` | Den ungefähren, scheinbaren, topozentrischen Phasenwinkel des Mondes im Bereich 0.0...1.0 berechnen, der sich zum astronomischen Mittagzeitpunkt des Mondes ergibt (topozentrischer Mittagsphasenwinkel). SieheAstronomischer Mittagzeitpunkt des Mondes, für mehr Informationen.
`P` | `(` | Die ungefähre, scheinbare, topozentrische Höhe des Mondes in Grad und Altminuten berechnen, die sich zur Uhrzeit des Standard-Mondaufgangs ergibt (topozentrische Aufgangshöhe). SieheStandard-Aufgangszeit des Mondes, für mehr Informationen.
`P` | `)` | Die ungefähre, scheinbare, topozentrische Höhe des Mondes in Grad und Altminuten berechnen, die sich zur Uhrzeit des Standard-Monduntergangs ergibt (topozentrische Untergangshöhe). SieheStandard-Untergangszeit des Mondes, für mehr Informationen.
`Q` | `(` | Das ungefähre, scheinbare, topozentrische Azimut des Mondes in Grad und Altminuten berechnen, das sich zur Uhrzeit des Standard-Mondaufgangs ergibt (topozentrischer Aufgangsazimut). Der horizontale Winkelabstand zwischen dem topozentrischen Aufgangsazimut und der Ostrichtung wird auch topozentrische Aufgangsweite des Mondes genannt. SieheStandard-Aufgangszeit des Mondes, für mehr Informationen.
`Q` | `)` | Das ungefähre, scheinbare, topozentrische Azimut des Mondes in Grad und Altminuten berechnen, das sich zur Uhrzeit des Standard-Monduntergangs ergibt (topozentrischer Untergangsazimut). Der horizontale Winkelabstand zwischen dem topozentrischen Untergangsazimut und der Westrichtung wird auch topozentrische Untergangsweite des Mondes genannt. SieheStandard-Untergangszeit des Mondes, für mehr Informationen.
`R` | `(` | Den ungefähren, scheinbaren, topozentrischen Phasenwinkel des Mondes im Bereich 0.0...1.0 berechnen, der sich zur Uhrzeit des Standard-Mondaufgangs ergibt (topozentrischer Aufgangsphasenwinkel). SieheStandard-Aufgangszeit des Mondes, für mehr Informationen.
`R` | `)` | Den ungefähren, scheinbaren, topozentrischen Phasenwinkel des Mondes im Bereich 0.0...1.0 berechnen, der sich zur Uhrzeit des Standard-Monduntergangs ergibt (topozentrischer Untergangsphasenwinkel). SieheStandard-Untergangszeit des Mondes, für mehr Informationen.
`S` | `(`, `)` | Die ungefähre, scheinbare, geozentrische Höhe des Mondes in Grad und Altminuten berechnen, die sich zum astronomischen Mitternachtzeitpunkt des Mondes ergibt (geozentrische Mitternachtshöhe). SieheAstronomischer Mitternachtzeitpunkt des Mondes, für mehr Informationen.
`T` | `(`, `)` | Den ungefähren, scheinbaren, geozentrischen Phasenwinkel des Mondes im Bereich 0.0...1.0 berechnen, der sich zum astronomischen Mitternachtzeitpunkt des Mondes ergibt (geozentrischer Mitternachtsphasenwinkel). SieheAstronomischer Mitternachtzeitpunkt des Mondes, für mehr Informationen.
`U` | `(`, `)` | Die ungefähre, scheinbare, geozentrische Höhe des Mondes in Grad und Altminuten berechnen, die sich zum astronomischen Mittagzeitpunkt des Mondes ergibt (geozentrische Mittagshöhe). SieheAstronomischer Mittagzeitpunkt des Mondes, für mehr Informationen.
`V` | `(`, `)` | Den ungefähren, scheinbaren, geozentrischen Phasenwinkel des Mondes im Bereich 0.0...1.0 berechnen, der sich zum astronomischen Mittagzeitpunkt des Mondes ergibt (geozentrischer Mittagsphasenwinkel). SieheAstronomischer Mittagzeitpunkt des Mondes, für mehr Informationen.
`W` | `(` | Die ungefähre, scheinbare, geozentrische Höhe des Mondes in Grad und Altminuten berechnen, die sich zur Uhrzeit des Standard-Mondaufgangs ergibt (geozentrische Aufgangshöhe). SieheStandard-Aufgangszeit des Mondes, für mehr Informationen.
`W` | `)` | Die ungefähre, scheinbare, geozentrische Höhe des Mondes in Grad und Altminuten berechnen, die sich zur Uhrzeit des Standard-Monduntergangs ergibt (geozentrische Untergangshöhe). SieheStandard-Untergangszeit des Mondes, für mehr Informationen.
`X` | `(` | Das ungefähre, scheinbare, geozentrische Azimut des Mondes in Grad und Altminuten berechnen, das sich zur Uhrzeit des Standard-Mondaufgangs ergibt (geozentrischer Aufgangsazimut). Der horizontale Winkelabstand zwischen dem geozentrischen Aufgangsazimut und der Ostrichtung wird auch geozentrische Aufgangsweite des Mondes genannt. SieheStandard-Aufgangszeit des Mondes, für mehr Informationen.
`X` | `)` | Das ungefähre, scheinbare, geozentrische Azimut des Mondes in Grad und Altminuten berechnen, das sich zur Uhrzeit des Standard-Monduntergangs ergibt (geozentrischer Untergangsazimut). Der horizontale Winkelabstand zwischen dem geozentrischen Untergangsazimut und der Westrichtung wird auch geozentrische Untergangsweite des Mondes genannt. SieheStandard-Untergangszeit des Mondes, für mehr Informationen.
`Y` | `(` | Den ungefähren, scheinbaren, geozentrischen Phasenwinkel des Mondes im Bereich 0.0...1.0 berechnen, der sich zur Uhrzeit des Standard-Mondaufgangs ergibt (geozentrischer Aufgangsphasenwinkel). SieheStandard-Aufgangszeit des Mondes, für mehr Informationen.
`Y` | `)` | Den ungefähren, scheinbaren, geozentrischen Phasenwinkel des Mondes im Bereich 0.0...1.0 berechnen, der sich zur Uhrzeit des Standard-Monduntergangs ergibt (geozentrischer Untergangsphasenwinkel). SieheStandard-Untergangszeit des Mondes, für mehr Informationen.

Wird kein Modus angegeben, so benutzt Gcal automatisch den Modus, der durch das Moduszeichen `5` ausgelöst wird. Wird ein Moduszeichen angegeben, daß keinem der Zeichen `0`...`9`, `a`...`z` und `A`...`Y` entspricht, so benutzt Gcal ebenfalls automatisch den Modus, der durch das Moduszeichen `5` ausgelöst wird.

Die mondbezogenen Spezialtexte werden genauso wie die sonnenbezogenen Spezialtexte in Abhängigkeit des gewählten Modus in verschiedenen Arten und Stilen von Gcal dargestellt, die analog gelten! SieheDarstellung der sonnenbezogenen Spezialtexte, für die ausführliche Beschreibung der verschiedenen Darstellungen der sonnenbezogenen Spezialtexte, die auch bei den mondbezogenen Spezialtexte gelten.

Das Argument, daß die mondbezogenen Spezialtexte aufweisen müssen, entspricht genau dem Argument, daß die sonnenbezogenen Spezialtexte aufzuweisen haben! SieheArgumente der sonnenbezogenen Spezialtexte, für die ausführliche Beschreibung aller Komponenten des Arguments, das auch bei den mondbezogenen Spezialtexten anzugeben ist.

Die nachstehende Tabelle gibt Aufschluß darüber, welche Darstellungsart von einem Modus bewirkt wird. In der Spalte, in der die Darstellungsart eingetragen ist, werden die zuvor festgelegten Numerierungen, wie sie bei der Vorstellung der Darstellungsarten benutzt wurden, als Schlüsselwert verwendet. Die Tabelle enthält zudem noch eine Spalte, aus der hervorgeht, ob von einem Modus dynamische, d.h. von der jeweiligen Uhrzeit abhängige, Werte erzeugt werden (mittels der `--time-offset=Argument` Option kann die jeweilige Uhrzeit verändert werden, die für die Berechnung solcher Werte benutzt wird). In einer weiteren Tabellenspalte ist eingetragen, ob die angegebene Ortskoordinate einen Einfluß auf die Ermittlung des Wertes ausübt, und die letzte Spalte der Tabelle enthält den Vermerk, ob ein angegebener Zeitzonenwert die Wertermittlung beeinflußt:

Modus | Darstellungsart | Dynamisch | Ortskoordinate | Zeitzone
`0` | 3 | Nein | Ja | Ja
`1` | 3 | Nein | Ja | Ja
`2` | 3 oder 4 | Nein | Ja | Ja
`3` | 3 oder 4 | Nein | Ja | Ja
`4` | 3 oder 4 | Nein | Ja | Ja
`5` | 3 oder 4 | Nein | Ja | Ja
`6` | 6 | Ja | Ja | Ja
`7` | 6 | Ja | Ja | Ja
`8` | 2 | Ja | Ja | Ja
`9` | 1 oder 1b | Ja | Ja | Ja
`a` | 7 | Ja | Ja | Ja
`b` | 6 | Ja | Ja | Ja
`c` | 7 | Ja | Ja | Ja
`d` | 6 | Ja | Ja | Ja
`e` | 7 | Ja | Ja | Ja
`f` | 4 | Ja | Ja | Ja
`g` | 1 oder 1a | Ja | Ja | Ja
`h` | 6 | Ja | Ja | Ja
`i` | 6 | Ja | Nein | Nein
`j` | 6 | Ja | Ja | Ja
`k` | 6 | Ja | Ja | Ja
`l` | 2 | Ja | Ja | Ja
`m` | 1 oder 1b | Ja | Ja | Ja
`n` | 7 | Ja | Ja | Ja
`o` | 6 | Ja | Ja | Ja
`p` | 7 | Ja | Ja | Ja
`q` | 6 | Ja | Ja | Ja
`r` | 7 | Ja | Ja | Ja
`s` | 4 | Ja | Ja | Ja
`t` | 1 oder 1a | Ja | Ja | Ja
`u` | 6 | Ja | Ja | Ja
`v` | 2 | Ja | Nein | Nein
`w` | 3 | Ja | Ja | Ja
`x` | 3 | Ja | Nein | Nein
`y` | 1 | Ja | Nein | Nein
`z` | 1 | Ja | Nein | Nein
`A` | 7 | Ja | Ja | Ja
`B` | 7 | Ja | Ja | Ja
`C` | 7 | Ja | Ja | Ja
`D` | 7 | Ja | Ja | Ja
`E` | 7 | Nein | Ja | Ja
`F` | 7 | Nein | Ja | Ja
`G` | 7 | Nein | Ja | Ja
`H` | 7 | Nein | Ja | Ja
`I` | 5 | Nein | Ja | Ja
`J` | 5 | Nein | Ja | Ja
`K` | 5 | Nein | Ja | Ja
`L` | 7 | Nein | Ja | Ja
`M` | 1 oder 1b | Nein | Ja | Ja
`N` | 7 | Nein | Ja | Ja
`O` | 1 oder 1b | Nein | Ja | Ja
`P` | 7 | Nein | Ja | Ja
`Q` | 6 | Nein | Ja | Ja
`R` | 1 oder 1b | Nein | Ja | Ja
`S` | 7 | Nein | Ja | Ja
`T` | 1 oder 1b | Nein | Ja | Ja
`U` | 7 | Nein | Ja | Ja
`V` | 1 oder 1b | Nein | Ja | Ja
`W` | 7 | Nein | Ja | Ja
`X` | 6 | Nein | Ja | Ja
`Y` | 1 oder 1b | Nein | Ja | Ja

Und nun folgen einige Beispiele zu diesen Spezialtexten:

> Der Text `Mondaufgang um %(+5158+00738,120 in MS, BRD` wird umgesetzt in
> ==> `Mondaufgang um 12:21 in MS, BRD`, falls das aktuelle Systemdatum der 1'te Juni 1998 ist.

> Der Text `Monduntergang um %)*5+5158+00738,120 in MS, BRD` wird umgesetzt in
> ==> `Monduntergang um 01:53am in MS, BRD`, falls das aktuelle Systemdatum der 1'te Juni 1998 ist.

> Der Text `Mond sichtbar %[5+5158+00738,120 in MS, BRD` wird umgesetzt in
> ==> `Mond sichtbar 13h32' in MS, BRD`, falls das aktuelle Systemdatum der 1'te Juni 1998 ist.

> Der Text `Mond nicht sichtbar %]*+5158+00738,120 in MS, BRD` wird umgesetzt in
> ==> `Mond nicht sichtbar 10.469 in MS, BRD`, falls das aktuelle Systemdatum der 1'te Juni 1998 ist.

> Der Text `Mondazimut 0 Uhr=%(*a+5158+00738,120 in MS, BRD` wird umgesetzt in
> ==> `Mondazimut 0 Uhr=267g37' in MS, BRD`, falls das aktuelle Systemdatum der 1'te Juni 1998 ist.

> Der Text `Mondphase %(x+00+000 =%(*m+5158+00738,120 % in MS, BRD` wird umgesetzt in
> ==> `Mondphase +16h00'=45.248% in MS, BRD`, falls das aktuelle Systemdatum der 1'te Juni 1998 ist, und Gcal mit der `--time-offset=16:` Option aufgerufen wird.

> Der Text `Julianisches Datum um %(x+00+000 =%(y+00+000` wird umgesetzt in
> ==> `Julianisches Datum um +10h15'=2450965.927`, falls das aktuelle Systemdatum der 1'te Juni 1998 ist, und Gcal mit der `--time-offset=10:15` Option aufgerufen wird.

Es folgt nun eine Aufstellung, die die verwendeten Bezugssysteme kurz darstellt, sonstige, bisher noch nicht erwähnte Gesichtspunkte beschreibt, und über die Mängel und Einschränkungen informiert, die bei den mondbezogenen Spezialtexten vorliegen:

- Alle astronomischen Berechnungen beruhen auf Verfahren mit --astronomisch gesehen-- gering-genauen Elementen, die sich selbstverständlich in der Genauigkeit der durch sie bewirkten Ergebnisse zeigen. Jedoch sind diese Ergebnisse in den meisten Fällen als mehr als ausreichend genau anzusehen, was deren praktischen Nutzen betrifft.
- Alle Azimutal- und Höhenwerte beziehen sich stets auf den Mittelpunkt des jeweiligen astronomischen Objekts, es sei denn, es ist anders angegeben.
- Der Fußpunkt von Azimutalwerten, Rektazensionswerten und anderen ekliptischen Koordinatenwerten ist stets auf die geographische Nordrichtung bezogen (nicht etwa die magnetische Nordrichtung, die ein Kompass anzeigt), und diese Werte werden im Uhrzeigersinn gemessen, wobei die Winkelwerte für die Nordrichtung sowohl mit 0 Grad als auch mit 360 Grad bezeichnet werden.
- Die topozentrisch-basierten Azimutal- und Höhenwerte sind allesamt refraktionskorrigiert, wobei Refraktionskorrekturen jedoch nur dann vorgenommen werden, wenn der Mittelpunkt des jeweiligen astronomischen Objekts eine Höhe von 2 Grad unterhalb des Horizonts überschreitet.
- Die Auf- und Untergangszeiten des Mondes können im allgemeinen nicht genau vorbestimmt werden, da durch unvorhersagbare atmosphärische Bedingungen, also die zu diesen Zeitpunkten lokal vorherrschenden Wetterbedingungen einen Einfluß auf den Betrag der sich am Horizont ergebenden Refraktion ausüben, so daß die vorausberechneten Auf- und Untergangszeiten durchaus um eine Minute oder mehr falsch sein können.
- Die Genauigkeit der Auf- und Untergangsberechnungen verringert sich noch in hohen Breiten, also innerhalb des lunaren Polarkreises. Dort vermögen kleinste Änderungen in der atmosphärischen Refraktion die Auf- oder Untergangszeiten des Mondes um mehrere Minuten zu verändern, da der Mond dort den Horizont in einem sehr flachen Winkel schneidet. Aus dem gleichen Grund heraus kann auch noch durch den Einfluß, der durch die Höhe des Beobachtungsortes und die lokale Topographie verursacht wird, dieser Effekt verstärkt werden, so daß sich eine wesentliche Veränderung der Zeiten dieser betrachteten Phänomene ergibt, beziehungsweise es dann überhaupt fraglich ist, ob sich diese Phänomene dann letztlich noch in der Realität tatsächlich so abspielen.
- Bei Berechnungen, die sich auf Ortskoordinaten innerhalb des lunaren Polarkreises beziehen, kann es manchmal fälschlicherweise vorkommen, daß anstelle der genaueren ++:++ oder -:- Texte, die ein besonderes Ereignis markieren, nur der **.** Text ausgeben wird. Somit wird dann leider die Ursache für den Nichtauf- bzw. untergang des Mondes nicht mehr klar ersichtlich, bzw. es kann dann fälscherlicherweise geschlossen werden, daß die Ursache für den Nichtauf- bzw. untergang eben jener eine Tag während eines synodischen Monats ist, an dem der Mond sowieso nicht auf- bzw. untergeht. Leider wird eben nur noch ersichtlich, daß der Mond an diesem Tag nicht auf- bzw. untergeht.

Bitte beachten Sie auch die folgenden Querverweise:

- SieheTermin Option `--precise`, wie eine präzisere Darstellung der Werte erzielt werden kann, die durch diese Spezialtexte bewirkt werden.
- Und siehe Kalender Option `--time-offset=Argument`, wie die Uhrzeit geändert werden kann, für die die dynamischen, von der jeweiligen Uhrzeit abhängigen, mondbezogenen Spezialtexte berechnet werden.
- Ebenso siehe Termin Option `--cycle-end=Argument`, wie die dynamischen, von der jeweiligen Uhrzeit abhängigen, mondbezogenen Spezialtexte für eine Folge von Uhrzeiten des laufenden Tag ermittelt werden können.
- Weiterhin siehe Termin Option `--adjust-value=Argument`, wie die Referenzhöhe für die Berechnung der Auf- und Untergangszeiten verändert werden kann.
- Und zuletzt, siehe Termin Option `--atmosphere=Luftdruck[,Temperatur]`, wie die Basisdaten der Atmosphäre geändert werden können, die die Berechnung der mondbezogenen Spezialtexte beeinflussen.

Alle mondbezogenen Spezialtexte müssen stets von einem whitespace Zeichen gefolgt werden, welches seinerseits in der Ausgabe entfernt wird!

Knoten:Inhalt von Umgebungsvariable, Vorheriger:Monddaten, Aufwärts:Ersetzen mit anderem Argument

#### Umgebungsvariable `%[Format]-[Argument]` Spezialtext

`%[Format]-[Argument]` bezeichnet den Inhalt einer Umgebungsvariable, z.B.:

> Der Text `Ich bin `%-USER '-Benutzer` wird umgesetzt in
> ==> `Ich bin `guest'-Benutzer`, falls Sie sich als Gastbenutzer auf Ihrem System angemeldet haben.

Dieser Spezialtext muß stets von einem whitespace Zeichen gefolgt werden, welches seinerseits in der Ausgabe entfernt wird!

Knoten:Ersetzen ohne Argument, Vorheriger:Ersetzen mit anderem Argument, Aufwärts:Ersetzen

### Ersetzen ohne Argument `%?` Spezialtexte

- Andere Differenzwerte:
- Hervorhebung:

Neben weiteren nützlichen Differenzwerten kann der Termintext auch mit verschiedenen Hervorhebungen ausgestattet werden.

Knoten:Andere Differenzwerte, Nächster:Hervorhebung, Vorheriger:Ersetzen ohne Argument, Aufwärts:Ersetzen ohne Argument

#### Differenzwert `%[Format]?` Spezialtexte

Die hier aufgeführten anderen Differenzwerte dienen dazu, Distanzen zwischen zwei Daten zu ermitteln. Werden diese Spezialtexte von einem `-` Zeichen direkt angeführt, z.B. `-%d`, so wechselt Gcal das Vorzeichen des ermittelten Ergebnisses.

Falls das `-` Zeichen im Text als Zeichen selbst verwendet werden soll, so muß dieses durch ein führendes `\` (Backslash) Zeichen hinsichtlich seiner speziellen Bedeutung entwertet werden, z.B. `\-`. Wenn die Zeichen `\-` im Text selbst als Zeichenfolge verwendet werden sollen, so muß das `\` (Backslash) Zeichen durch ein weiteres `\` (Backslash) Zeichen geschützt werden, z.B. `\\-`.

Folgende andere Differenzwert `%[Format]?` Spezialtexte werden berücksichtigt, z.B.:

`%d`
  Bezeichnet den laufenden bzw. abgefragten Tag relativ zum aktuellen Systemdatum (==heute), z.B.:

  > Die Ressourcendateizeile `0 %d Tage vergangen` wird umgesetzt in
  > ==> `-10 Tage vergangen`, falls Gcal mit der Option `-c10-` und keinem Kommando aufgerufen wird.

`%w`
  Bezeichnet die laufende bzw. abgefragte Woche relativ zum aktuellen Systemdatum (==heute). Angefangene Wochen werden als volle Woche gezählt.
`%m`
  Bezeichnet den laufenden bzw. abgefragten Monat relativ zum aktuellen Systemdatum (==heute). Angefangene Monate werden als voller Monat gezählt.
`%y`
  Bezeichnet das laufende bzw. abgefragte Jahr relativ zum aktuellen Systemdatum (==heute). Angefangene Jahre werden als volles Jahr gezählt. Dieser Spezialtext muß stets von einem whitespace Zeichen gefolgt werden, welches seinerseits in der Ausgabe entfernt wird!

Ein Beispiel:

Angenommen, das aktuelle Systemdatum ist der 4'te September 1999. Um zu berechnen, wieviele Tage, Wochen, Monate und Jahre zwischen dem aktuellen Systemdatum und dem Geburtstag einer Person liegen, die am 21'ten September 1962 geboren ist, so kann Gcal wie folgt aufgerufen werden:

    $ gcal -f/dev/null -Ux -u -#'19620921 %y %m %w %d~' 1962
    -|
    -| -37 -444 -1928 -13497
    -|
    $ gcal -f/dev/null -Ux -u -#'19620921 \\-%y \-%m %w -%d~' 1962
    -|
    -| \--37 --444 -1928 13497
    -|
    $ gcal -f/dev/null -Ux -u -#'00000904 %y %m %w %d~' %19620921 1999
    -|
    -| 37 444 1928 13497
    -|
    $ gcal -f/dev/null -Ux -u -#'00000904 %y %B19620921' %19620921 1962
    -|
    -| 37 36

Bitte verwechseln Sie den relative Jahreszahl `%[Format]y` Spezialtext nicht mit dem Alterswert `%B` Spezialtext (sieheAlterswert `%[Format]B[Datum]` Spezialtext). Der `%y` Spezialtext zählt angefangene Jahre als volles Jahr, der `%B` Spezialtext nicht.

Knoten:Hervorhebung, Vorheriger:Andere Differenzwerte, Aufwärts:Ersetzen ohne Argument

#### Hervorhebung `%?` Spezialtexte

Folgende Hervorhebung `%?` Spezialtexte werden berücksichtigt:

`%1`
  `%1` wird ersetzt durch die Start-Hervorhebungssequenz bzw. das Start-Markierungszeichen, welches zur Hervorhebung des aktuellen Tages benutzt wird (sieheGlobale Option `--highlighting=Text`). Damit wird erreicht, daß der diesem Spezialtext nachfolgende Text der Zeile in gleicher Weise ausgegeben wird, wie der hervorgehobene bzw. markierte aktuelle Tag. `%1` wird in Verbindung mit dem `%2` Spezialtext benutzt, welcher die mit `%1` eingeschaltete Hervorhebung wieder ausschaltet bzw. ein Ende-Markierungszeichen produziert. Sollte einem `%1` Text kein `%2` Text auf der Zeile nachfolgen, so fügt Gcal automatisch einen solchen `%2` Text am Zeilenende ein.

  Zum Beispiel:

      In dieser Zeile wird nur %1DIESES%2 Wort hervorgehoben.
      %1In dieser Zeile wird alles bis hierhin%2 hervorgehoben.
      Alles ab %1hier bis zum Zeilenende wird hervorgehoben.

`%2`
  `%2` wird ersetzt durch die Ende-Hervorhebungssequenz bzw. das Ende-Markierungszeichen, welches zur Hervorhebung des aktuellen Tages benutzt wird. Damit wird erreicht, daß ab der Stelle des Auftretens dieses Spezialtexts eine möglicherweise aktive Hervorhebung, entsprechend der des aktuellen Tages, wieder abgeschaltet bzw. ein Ende-Markierungszeichen produziert wird. `%2` wird in Verbindung mit dem `%1` Spezialtext benutzt. Sollte vor einem `%2` Text kein `%1` Text auf der Zeile vorgefunden werden, so hat der `%2` Text keinerlei Wirkung.
`%3`
  `%3` wird ersetzt durch die Start-Hervorhebungssequenz bzw. das Start-Markierungszeichen, welches zur Hervorhebung eines Feiertages benutzt wird (sieheGlobale Option `--highlighting=Text`). Damit wird erreicht, daß der diesem Spezialtext nachfolgende Text der Zeile in gleicher Weise ausgegeben wird, wie ein hervorgehobener bzw. markierter Feiertag. `%3` wird in Verbindung mit dem `%4` Spezialtext benutzt, welcher die mit `%3` eingeschaltete Hervorhebung wieder ausschaltet bzw. ein Ende-Markierungszeichen produziert. Sollte einem `%3` Text kein `%4` Text auf der Zeile nachfolgen, so fügt Gcal automatisch einen solchen `%4` Text am Zeilenende ein.

  Zum Beispiel:

      In dieser Zeile wird nur %3DIESES%4 Wort hervorgehoben.
      %3In dieser Zeile wird alles bis hierhin%4 hervorgehoben.
      Alles ab %3hier bis zum Zeilenende wird hervorgehoben.

`%4`
  `%4` wird ersetzt durch die Ende-Hervorhebungssequenz bzw. das Ende-Markierungszeichen, welches zur Hervorhebung eines Feiertages benutzt wird. Damit wird erreicht, daß ab der Stelle des Auftretens dieses Spezialtexts eine möglicherweise aktive Hervorhebung, entsprechend der eines Feiertages, wieder abgeschaltet bzw. ein Ende-Markierungszeichen produziert wird. `%4` wird in Verbindung mit dem `%3` Spezialtext benutzt. Sollte vor einem `%4` Text kein `%3` Text auf der Zeile vorgefunden werden, so hat der `%4` Text keinerlei Wirkung.
`%5`
  `%5` wird ersetzt durch die Start-Hervorhebungssequenz bzw. das Start-Markierungszeichen, welches zur Hervorhebung des aktuellen Tages benutzt wird, falls ein Termin auf das heutige Datum fällt (sieheGlobale Option `--highlighting=Text`). Damit wird erreicht, daß der diesem Spezialtext nachfolgende Text der Zeile in gleicher Weise ausgegeben wird, wie der hervorgehobene bzw. markierte aktuelle Tag. `%5` wird in Verbindung mit dem `%6` Spezialtext benutzt, welcher die mit `%5` eingeschaltete Hervorhebung wieder ausschaltet bzw. ein Ende-Markierungszeichen produziert. Sollte einem `%5` Text kein `%6` Text auf der Zeile nachfolgen, so fügt Gcal automatisch einen solchen `%6` Text am Zeilenende ein.
`%6`
  `%6` wird ersetzt durch die Ende-Hervorhebungssequenz bzw. das Ende-Markierungszeichen, welches zur Hervorhebung des aktuellen Tages benutzt wird, falls ein Termin auf das heutige Datum fällt. Damit wird erreicht, daß ab der Stelle des Auftretens dieses Spezialtexts eine möglicherweise aktive Hervorhebung, entsprechend der des aktuellen Tages, wieder abgeschaltet bzw. ein Ende-Markierungszeichen produziert wird. `%6` wird in Verbindung mit dem `%5` Spezialtext benutzt. Sollte vor einem `%6` Text kein `%5` Text auf der Zeile vorgefunden werden, so hat der `%6` Text keinerlei Wirkung.
`%7`
  `%7` wird ersetzt durch die Start-Hervorhebungssequenz bzw. das Start-Markierungszeichen, welches zur Hervorhebung eines Feiertages benutzt wird, falls ein Termin auf einen gesetzlichen Feiertag fällt (sieheGlobale Option `--highlighting=Text`). Damit wird erreicht, daß der diesem Spezialtext nachfolgende Text der Zeile in gleicher Weise ausgegeben wird, wie ein hervorgehobener bzw. markierter Feiertag. `%7` wird in Verbindung mit dem `%8` Spezialtext benutzt, welcher die mit `%7` eingeschaltete Hervorhebung wieder ausschaltet bzw. ein Ende-Markierungszeichen produziert. Sollte einem `%7` Text kein `%8` Text auf der Zeile nachfolgen, so fügt Gcal automatisch einen solchen `%8` Text am Zeilenende ein.
`%8`
  `%8` wird ersetzt durch die Ende-Hervorhebungssequenz bzw. das Ende-Markierungszeichen, welches zur Hervorhebung eines Feiertages benutzt wird, falls ein Termin auf einen gesetzlichen Feiertag fällt. Damit wird erreicht, daß ab der Stelle des Auftretens dieses Spezialtexts eine möglicherweise aktive Hervorhebung, entsprechend der eines Feiertages, wieder abgeschaltet bzw. ein Ende-Markierungszeichen produziert wird. `%8` wird in Verbindung mit dem `%7` Spezialtext benutzt. Sollte vor einem `%8` Text kein `%7` Text auf der Zeile vorgefunden werden, so hat der `%8` Text keinerlei Wirkung.
`%9`
  `%9` wird ersetzt durch die Start-Hervorhebungssequenz bzw. das Start-Markierungszeichen, welches zur Hervorhebung des aktuellen Tages benutzt wird, falls ein Termin auf das heutige Datum fällt; sonst wird `%9` durch die Start-Hervorhebungssequenz bzw. das Start-Markierungszeichen ersetzt, welches zur Hervorhebung eines Feiertages benutzt wird, falls ein Termin auf einen gesetzlichen Feiertag fällt (sieheGlobale Option `--highlighting=Text`). Damit wird erreicht, daß der diesem Spezialtext nachfolgende Text der Zeile in gleicher Weise ausgegeben wird, wie ein hervorgehobener bzw. markierter aktueller Tag oder Feiertag. `%9` wird in Verbindung mit dem `%0` Spezialtext benutzt, welcher die mit `%9` eingeschaltete Hervorhebung wieder ausschaltet bzw. ein Ende-Markierungszeichen produziert. Sollte einem `%9` Text kein `%0` Text auf der Zeile nachfolgen, so fügt Gcal automatisch einen solchen `%0` Text am Zeilenende ein.
`%0`
  `%0` wird ersetzt durch die Ende-Hervorhebungssequenz bzw. das Ende-Markierungszeichen, welches zur Hervorhebung des aktuellen Tages benutzt wird, falls ein Termin auf das heutige Datum fällt; sonst wird `%0` durch die Ende-Hervorhebungssequenz bzw. das Ende-Markierungszeichen ersetzt, welches zur Hervorhebung eines Feiertages benutzt wird, falls ein Termin auf einen gesetzlichen Feiertag fällt. Damit wird erreicht, daß ab der Stelle des Auftretens dieses Spezialtexts eine möglicherweise aktive Hervorhebung, entsprechend der des aktuellen Tages oder eines Feiertages, wieder abgeschaltet bzw. ein Ende-Markierungszeichen produziert wird. `%0` wird in Verbindung mit dem `%9` Spezialtext benutzt. Sollte vor einem `%0` Text kein `%9` Text auf der Zeile vorgefunden werden, so hat der `%0` Text keinerlei Wirkung.

Knoten:Shell Kommando, Vorheriger:Ersetzen, Aufwärts:Spezialtexte (lang)

## Shell Kommando `%![Argument]` Spezialtext

Das Argument, das `%!` bis zum Ende der Zeile folgt, wird der shell als Kommando zur weiteren Verarbeitung übergeben. Zuvor werden allerdings noch alle Textvariablenreferenzen und `%?`... Spezialtexte zum Textersatz, die im Argument auftreten, von Gcal interpretiert. SieheTextvariablen, und `%?`... Spezialtexte zum Textersatz. Falls Text vor dem `%!` Spezialtext angegeben ist, so wird dieser von Gcal wie üblich verarbeitet. Wenn die einfache `--debug` bzw. `--debug=internal` Option bei Programmstart angegeben wurde, so wird ein Text auf dem Standardfehler-Gerätekanal ausgegeben, der mit Informationen zum ausgeführten Kommando und dessen exit-Kode ausgestattet ist (sieheGlobale Option `--debug=internal`).

Falls die `--debug=abort` Option angegeben wurde und sich ein exit-Kode ungleich Null bei der Ausführung des Kommandos ergab, so wird das Gcal Programm mit Fehlerkode abgebrochen. SieheFehlerkode 2, sowie Globale Option `--debug=abort`, für weitere Informationen.

Wenn die `--execute-command` Option benutzt wurde, so werden alle `%![Argument]` Spezialtexte von der shell ausgeführt; und nicht nur rein textlich ausgegeben. SieheTermin Option `--execute-command`, für weitere Details.

Knoten:Spezialtexte (kurz), Nächster:Veraltete Spezialtexte, Vorheriger:Spezialtexte (lang), Aufwärts:Top

# Zusammenfassung aller `%?`... Spezialtexte

Hier folgt eine Kurzliste aller `%?`... Spezialtexte, die im Textteil einer Zeile von Gcal Ressourcendateien benutzt werden können. Bei denjenigen Spezialtexten, deren expandierte Darstellung durch ein optionales Format beeinflußt werden kann, sind in diesem Anhang natürlich nicht alle Möglichkeiten aufgeführt, welche die Formatanweisung hinsichtlich der Darstellung bietet, sondern nur einige wenige exemplarisch. SieheFormatanweisung, für weitere Details.

`%i[Datum][#[Datum]]`
  Ausschluß aller nicht inklusive Datum Zeiträume
`%e[Datum][#[Datum]]`
  Ausschluß aller exklusive Datum Zeiträume
`%?` Inklusive Tag Zeitraum
  `%v`
    Ausschluß aller nicht gesetzlichen Feiertage
  `%x`
    Ausschluß aller Nicht-Feiertage
  `%a`
    Ausschluß aller Nicht-Montage
  `%c`
    Ausschluß aller Nicht-Dienstage
  `%f`
    Ausschluß aller Nicht-Mittwoche
  `%g`
    Ausschluß aller Nicht-Donnerstage
  `%h`
    Ausschluß aller Nicht-Freitage
  `%l`
    Ausschluß aller Nicht-Samstage
  `%p`
    Ausschluß aller Nicht-Sonntage
  `%q`
    Ausschluß aller Nicht-Montage...Donnerstage
  `%r`
    Ausschluß aller Nicht-Montage...Freitage
`%?` Exklusive Tag Zeitraum
  `%V`
    Ausschluß aller gesetzlichen Feiertage
  `%X`
    Ausschluß aller Feiertage
  `%A`
    Ausschluß aller Montage
  `%C`
    Ausschluß aller Dienstage
  `%F`
    Ausschluß aller Mittwoche
  `%G`
    Ausschluß aller Donnerstage
  `%H`
    Ausschluß aller Freitage
  `%L`
    Ausschluß aller Samstage
  `%P`
    Ausschluß aller Sonntage
  `%Q`
    Ausschluß aller Montage...Donnerstage
  `%R`
    Ausschluß aller Montage...Freitage
`%[Format]K[Datum]` Wochentagsname
  `%K[Datum]`
    Vollständiger Wochentagsname
  `%>3#K[Datum]`
    3-Buchstaben Wochentagsname
  `%>2#K[Datum]`
    2-Buchstaben Wochentagsname
`%[Format]?[Datum]` Wochentagsnummer
  `%W[Datum]`
    Wochentagsnummer, Mon==1...Son==7
  `%>1&*W[Datum]`
    Wochentagsnummer, Mon==1...Son==7, Ordnungszahlanhang
  `%E[Datum]`
    Wochentagsnummer, Mon==0...Son==6
  `%>1&*E[Datum]`
    Wochentagsnummer, Mon==0...Son==6, Ordnungszahlanhang
  `%I[Datum]`
    Wochentagsnummer, Son==1...Sam==7
  `%>1&*I[Datum]`
    Wochentagsnummer, Son==1...Sam==7, Ordnungszahlanhang
  `%J[Datum]`
    Wochentagsnummer, Son==0...Sam==6
  `%>1&*J[Datum]`
    Wochentagsnummer, Son==0...Sam==6, Ordnungszahlanhang
  `%S[Datum]`
    Wochentagsnummer, Starttag der Woche==1
  `%>1&*S[Datum]`
    Wochentagsnummer, Starttag der Woche==1, Ordnungszahlanhang
  `%T[Datum]`
    Wochentagsnummer, Starttag der Woche==0
  `%>1&*T[Datum]`
    Wochentagsnummer, Starttag der Woche==0, Ordnungszahlanhang
`%[Format]N[Datum]` Tag-des-Jahres Nummer
  `%N[Datum]`
    Tag-des-Jahres Nummer
  `%>03*N[Datum]`
    Tag-des-Jahres Nummer, dreiziffrig mit führenden Nullen
  `%>1&*N[Datum]`
    Tag-des-Jahres Nummer, Ordnungszahlanhang
  `%>03&*N[Datum]`
    Tag-des-Jahres Nummer, dreiziffrig mit führenden Nullen, Ordnungszahlanhang
`%[Format]D[Datum]` Tagesnummer
  `%D[Datum]`
    Tagesnummer
  `%>02*D[Datum]`
    Tagesnummer, zweiziffrig mit führender Null
  `%>1&*D[Datum]`
    Tagesnummer, Ordnungszahlanhang
  `%>02&*D[Datum]`
    Tagesnummer, zweiziffrig mit führender Null, Ordnungszahlanhang
`%k[Datum]`
  ISO-Wochennummer oder Standard-Wochennummer, entweder zweiziffrig mit führender Null, oder vier Zeichen langer alphanumerischer Text
`%[Format]U[Datum]` Monatsname
  `%U[Datum]`
    Vollständiger Monatsname
  `%>3#U[Datum]`
    3-Buchstaben Monatsname
`%[Format]M[Datum]` Monatsnummer
  `%M[Datum]`
    Monatsnummer
  `%>02*M[Datum]`
    Monatsnummer, zweiziffrig mit führender Null
  `%>1&*M[Datum]`
    Monatsnummer, Ordnungszahlanhang
  `%>02&*M[Datum]`
    Monatsnummer, zweiziffrig mit führender Null, Ordnungszahlanhang
`%[Format]Y[Datum]` Jahresnummer
  `%Y[Datum]`
    Jahresnummer
  `%>04*Y[Datum]`
    Vollständige Jahresnummer, vierziffrig mit führenden Nullen
`%[Format]?[Datum]` Mondphase
  `%O[Datum]`
    Mondphasentext
  `%>03*O[Datum]`
    Mondphasentext, dreiziffrig mit führenden Nullen
  `%Z[Datum]`
    Mondphasen-Textgrafik
`%?[Datum]` Biorhythmus
  `%,[Datum]`
    Biorhythmustext (Folge von Werten)
  `%;[Datum]`
    Biorhythmus-Textgrafik (Balken)
`%[Format]?[Datum]` Differenzwert
  `%yDatum`
    Relative Jahreszahl
  `%B[Datum]`
    Alterswert (Geburtstag)
  `%>1&*B[Datum]`
    Alterswert (Geburtstag), Ordnungszahlanhang
`%[Format]?[Argument]` Aktuelle Uhrzeit
  `%t[*][[+|-]mmmm|hh:[mm]]`
    Aktuelle Ortszeit im `hh:mm` Format
  `%[Format]'[[+|-]mmmm|hh:[mm]]`
    Aktuelle Ortszeit im m[m...] Format
  `%[Format]_[*][[+|-]mmmm|hh:[mm]]`
    Aktuelle Ortszeitstunde im h[h...] Format
  `%[Format]?[[+|-]mmmm|hh:[mm]]`
    Aktuelle Ortszeitminute im m[m...] Format
  `%[Format]{[[+|-]mmmm|hh:[mm]]`
    Aktueller 12-Stunden Format Ortszeitanhang
  `%@[*][[+|-]mmmm|hh:[mm]]`
    Aktuelle Weltzeit im `hh:mm/Datum` Format
  `%[Format]`[[+|-]mmmm|hh:[mm]]`
    Aktuelle Weltzeit im `m[m...]/Datum` Format
  `%[Format].[*][[+|-]mmmm|hh:[mm]]`
    Aktuelle Weltzeitstunde im h[h...] Format
  `%[Format]/[[+|-]mmmm|hh:[mm]]`
    Aktuelle Weltzeitminute im m[m...] Format
  `%[Format]}[[+|-]mmmm|hh:[mm]]`
    Aktueller 12-Stunden Format Weltzeitanhang
  `%"[[+|-]mmmm|hh:[mm]]`
    Numerischer Weltzeit-Zeitzonenversatzwert
  `%=[[+|-]mmmm|hh:[mm]]`
    Aktueller numerischer Ortszeit-Zeitzonenversatzwert
`%n[[+|-]n]`
  Textliches Datum im festen `%>02*D-%>3#U-%>04*Y` Format
`%[Format]j[[+|-]n]`
  Julianische Tageszahl
`%[Format]b[*][Modus]ISO-6709:1983-Koordinate-1/ISO-6709:1983-Koordinate-2` Geographische Distanz und Kurswinkel
  `%b0ISO-6709:1983-Koordinate-1/ISO-6709:1983-Koordinate-2`
    Geographische Distanz (Luftlinie) in Kilometern
  `%b*0ISO-6709:1983-Koordinate-1/ISO-6709:1983-Koordinate-2`
    Geographische Distanz (Luftlinie) in statute Meilen
  `%b1ISO-6709:1983-Koordinate-1/ISO-6709:1983-Koordinate-2`
    Rechtweisender Kurswinkel von ISO-6709:1983-Koordinate-1 nach ISO-6709:1983-Koordinate-2 in Grad und Altminuten
  `%b*1ISO-6709:1983-Koordinate-1/ISO-6709:1983-Koordinate-2`
    Rechtweisender Kurswinkel von ISO-6709:1983-Koordinate-1 nach ISO-6709:1983-Koordinate-2 in Dezimalgrad
  `%b2ISO-6709:1983-Koordinate-1/ISO-6709:1983-Koordinate-2`
    Rechtweisender Kurswinkel von ISO-6709:1983-Koordinate-2 nach ISO-6709:1983-Koordinate-1 in Grad und Altminuten
  `%b*2ISO-6709:1983-Koordinate-1/ISO-6709:1983-Koordinate-2`
    Rechtweisender Kurswinkel von ISO-6709:1983-Koordinate-2 nach ISO-6709:1983-Koordinate-1 in Dezimalgrad
`%[Format]?[*][Modus]ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]` Sonnendaten
  `%o0ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s0ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit astronomischer Mitternachtzeitpunkt der Sonne im `hh:mm` 24-Stunden Format
  `%o*0ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*0ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit astronomischer Mitternachtzeitpunkt der Sonne im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%o1ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s1ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit astronomischer Mittagzeitpunkt der Sonne im `hh:mm` 24-Stunden Format
  `%o*1ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*1ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit astronomischer Mittagzeitpunkt der Sonne im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%o2ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit geometrischer Aufgang Sonnenmittelpunkt im `hh:mm` 24-Stunden Format
  `%o*2ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit geometrischer Aufgang Sonnenmittelpunkt im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%s2ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit geometrischer Untergang Sonnenmittelpunkt im `hh:mm` 24-Stunden Format
  `%o*2ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit geometrischer Untergang Sonnenmittelpunkt im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%u2ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer geometrische Sichtbarkeit, Sonnenmittelpunkt oberhalb Referenzhöhe, in Stunden und Minuten im `hhhmm'` Format
  `%u*2ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer geometrische Sichtbarkeit, Sonnenmittelpunkt oberhalb Referenzhöhe, in Dezimalstunden im `hh.h...` Format
  `%z2ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer geometrische Nichtsichtbarkeit, Sonnenmittelpunkt unterhalb Referenzhöhe, in Stunden und Minuten im `hhhmm'` Format
  `%z*2ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer geometrische Nichtsichtbarkeit, Sonnenmittelpunkt unterhalb Referenzhöhe, in Dezimalstunden im `hh.h...` Format
  `%o3ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit geometrischer Aufgang Sonnenoberrand im `hh:mm` 24-Stunden Format
  `%o*3ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit geometrischer Aufgang Sonnenoberrand im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%s3ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit geometrischer Untergang Sonnenoberrand im `hh:mm` 24-Stunden Format
  `%s*3ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit geometrischer Untergang Sonnenoberrand im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%u3ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer geometrische Sichtbarkeit, Sonnenoberrand oberhalb Referenzhöhe, in Stunden und Minuten im `hhhmm'` Format
  `%u*3ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer geometrische Sichtbarkeit, Sonnenoberrand oberhalb Referenzhöhe, in Dezimalstunden im `hh.h...` Format
  `%z3ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer geometrische Nichtsichtbarkeit, Sonnenoberrand unterhalb Referenzhöhe, in Stunden und Minuten im `hhhmm'` Format
  `%z*3ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer geometrische Nichtsichtbarkeit, Sonnenoberrand unterhalb Referenzhöhe, in Dezimalstunden im `hh.h...` Format
  `%o4ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Aufgang Sonnenmittelpunkt im `hh:mm` 24-Stunden Format
  `%o*4ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Aufgang Sonnenmittelpunkt im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%s4ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Untergang Sonnenmittelpunkt im `hh:mm` 24-Stunden Format
  `%s*4ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Untergang Sonnenmittelpunkt im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%u4ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Sichtbarkeit, Sonnenmittelpunkt oberhalb Referenzhöhe, in Stunden und Minuten im `hhhmm'` Format
  `%u*4ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Sichtbarkeit, Sonnenmittelpunkt oberhalb Referenzhöhe, in Dezimalstunden im `hh.h...` Format
  `%z4ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Nichtsichtbarkeit, Sonnenmittelpunkt unterhalb Referenzhöhe, in Stunden und Minuten im `hhhmm'` Format
  `%z*4ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Nichtsichtbarkeit, Sonnenmittelpunkt unterhalb Referenzhöhe, in Dezimalstunden im `hh.h...` Format
  `%o5ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Standardaufgang Sonnenoberrand im `hh:mm` 24-Stunden Format
  `%o*5ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Standardaufgang Sonnenoberrand im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%s5ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Standarduntergang Sonnenoberrand im `hh:mm` 24-Stunden Format
  `%s*5ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Standarduntergang Sonnenoberrand im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%u5ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Standard-Sichtbarkeit, Sonnenoberrand oberhalb Referenzhöhe, in Stunden und Minuten im `hhhmm'` Format
  `%u*5ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Standard-Sichtbarkeit, Sonnenoberrand oberhalb Referenzhöhe, in Dezimalstunden im `hh.h...` Format
  `%z5ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Standard-Nichtsichtbarkeit, Sonnenoberrand unterhalb Referenzhöhe, in Stunden und Minuten im `hhhmm'` Format
  `%z*5ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Standard-Nichtsichtbarkeit, Sonnenoberrand unterhalb Referenzhöhe, in Dezimalstunden im `hh.h...` Format
  `%o6ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Beginn bürgerliche Dämmerung am Morgen im `hh:mm` 24-Stunden Format
  `%o*6ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Beginn bürgerliche Dämmerung am Morgen im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%s6ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Ende bürgerliche Dämmerung am Abend im `hh:mm` 24-Stunden Format
  `%s*6ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Ende bürgerliche Dämmerung am Abend im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%u6ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Sonnenmittelpunkt oberhalb Referenzhöhe bürgerliche Dämmerung in Stunden und Minuten im `hhhmm'` Format
  `%u*6ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Sonnenmittelpunkt oberhalb Referenzhöhe bürgerliche Dämmerung in Dezimalstunden im `hh.h...` Format
  `%z6ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Sonnenmittelpunkt unterhalb Referenzhöhe bürgerliche Dämmerung in Stunden und Minuten im `hhhmm'` Format
  `%z*6ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Sonnenmittelpunkt unterhalb Referenzhöhe bürgerliche Dämmerung in Dezimalstunden im `hh.h...` Format
  `%o7ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Beginn nautische Dämmerung am Morgen im `hh:mm` 24-Stunden Format
  `%o*7ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Beginn nautische Dämmerung am Morgen im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%s7ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Ende nautische Dämmerung am Abend im `hh:mm` 24-Stunden Format
  `%s*7ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Ende nautische Dämmerung am Abend im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%u7ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Sonnenmittelpunkt oberhalb Referenzhöhe nautische Dämmerung in Stunden und Minuten im `hhhmm'` Format
  `%u*7ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Sonnenmittelpunkt oberhalb Referenzhöhe nautische Dämmerung in Dezimalstunden im `hh.h...` Format
  `%z7ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Sonnenmittelpunkt unterhalb Referenzhöhe nautische Dämmerung in Stunden und Minuten im `hhhmm'` Format
  `%z*7ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Sonnenmittelpunkt unterhalb Referenzhöhe nautische Dämmerung in Dezimalstunden im `hh.h...` Format
  `%o8ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Beginn amateur-astronomische Dämmerung am Morgen im `hh:mm` 24-Stunden Format
  `%o*8ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Beginn amateur-astronomische Dämmerung am Morgen im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%s8ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Ende amateur-astronomische Dämmerung am Abend im `hh:mm` 24-Stunden Format
  `%s*8ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Ende amateur-astronomische Dämmerung am Abend im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%u8ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Sonnenmittelpunkt oberhalb Referenzhöhe amateur-astronomische Dämmerung in Stunden und Minuten im `hhhmm'` Format
  `%u*8ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Sonnenmittelpunkt oberhalb Referenzhöhe amateur-astronomische Dämmerung in Dezimalstunden im `hh.h...` Format
  `%z8ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Sonnenmittelpunkt unterhalb Referenzhöhe amateur-astronomische Dämmerung in Stunden und Minuten im `hhhmm'` Format
  `%z*8ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Sonnenmittelpunkt unterhalb Referenzhöhe amateur-astronomische Dämmerung in Dezimalstunden im `hh.h...` Format
  `%o9ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Beginn astronomische Dämmerung am Morgen im `hh:mm` 24-Stunden Format
  `%o*9ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Beginn astronomische Dämmerung am Morgen im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%s9ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Ende astronomische Dämmerung am Abend im `hh:mm` 24-Stunden Format
  `%s*9ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Ende astronomische Dämmerung am Abend im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%u9ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Sonnenmittelpunkt oberhalb Referenzhöhe astronomische Dämmerung in Stunden und Minuten im `hhhmm'` Format
  `%u*9ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Sonnenmittelpunkt oberhalb Referenzhöhe astronomische Dämmerung in Dezimalstunden im `hh.h...` Format
  `%z9ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Sonnenmittelpunkt unterhalb Referenzhöhe astronomische Dämmerung in Stunden und Minuten im `hhhmm'` Format
  `%z*9ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Sonnenmittelpunkt unterhalb Referenzhöhe astronomische Dämmerung in Dezimalstunden im `hh.h...` Format
  `%oaISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%saISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Höhe der Sonne in Grad und Altminuten im `+|-ggggmm'` Format
  `%o*aISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*aISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Höhe der Sonne in Dezimalgrad im `+|-ggg.g...` Format
  `%obISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%sbISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrisches Azimut der Sonne in Grad und Altminuten im `ggggmm'` Format
  `%o*bISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*bISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrisches Azimut der Sonne in Dezimalgrad im `ggg.g...` Format
  `%ocISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%scISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Deklination der Sonne in Grad und Altminuten im `+|-ggggmm'` Format
  `%o*cISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*cISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Deklination der Sonne in Dezimalgrad im `+|-ggg.g...` Format
  `%odISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%sdISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrischer ekliptischer Längengrad der Sonne in Grad und Altminuten im `ggggmm'` Format
  `%o*dISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*dISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrischer ekliptischer Längengrad der Sonne in Dezimalgrad im `ggg.g...` Format
  `%oeISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%seISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Rektazension der Sonne als Zeitwert in Stunden und Minuten im `hhhmm'` Format
  `%o*eISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*eISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Rektazension der Sonne als Zeitwert in Dezimalstunden im `hh.h...` Format
  `%ofISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%sfISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Entfernung der Sonne in Astronomischen Einheiten im `n.n...` Format
  `%o*fISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*fISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Entfernung der Sonne in Kilometern im `n.n...` Format
  `%ogISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%sgISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Horizontalparallaxe der Sonne in Grad und Altminuten im `ggggmm'` Format
  `%o*gISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*gISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Horizontalparallaxe der Sonne in Dezimalgrad im `ggg.g...` Format
  `%ohISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%shISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrischer Radius der Sonne in Grad und Altminuten im `ggggmm'` Format
  `%o*hISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*hISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrischer Radius der Sonne in Dezimalgrad im `ggg.g...` Format
  `%oiISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%siISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Atmosphärische Refraktion in Grad und Altminuten im `ggggmm'` Format
  `%o*iISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*iISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Atmosphärische Refraktion in Dezimalgrad im `ggg.g...` Format
  `%ojISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%sjISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Höhe der Sonne in Grad und Altminuten im `+|-ggggmm'` Format
  `%o*jISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*jISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Höhe der Sonne in Dezimalgrad im `+|-ggg.g...` Format
  `%okISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%skISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrisches Azimut der Sonne in Grad und Altminuten im `ggggmm'` Format
  `%o*kISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*kISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrisches Azimut der Sonne in Dezimalgrad im `ggg.g...` Format
  `%olISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%slISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Deklination der Sonne in Grad und Altminuten im `+|-ggggmm'` Format
  `%o*lISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*lISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Deklination der Sonne in Dezimalgrad im `+|-ggg.g...` Format
  `%omISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%smISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrischer ekliptischer Längengrad der Sonne in Grad und Altminuten im `ggggmm'` Format
  `%o*mISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*mISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrischer ekliptischer Längengrad der Sonne in Dezimalgrad im `ggg.g...` Format
  `%onISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%snISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Rektazension der Sonne als Zeitwert in Stunden und Minuten im `hhhmm'` Format
  `%o*nISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*nISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Rektazension der Sonne als Zeitwert in Dezimalstunden im `hh.h...` Format
  `%ooISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%soISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Entfernung der Sonne in Astronomischen Einheiten im `n.n...` Format
  `%o*oISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*oISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Entfernung der Sonne in Kilometern im `n.n...` Format
  `%opISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%spISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Horizontalparallaxe der Sonne in Grad und Altminuten im `ggggmm'` Format
  `%o*pISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*pISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Horizontalparallaxe der Sonne in Dezimalgrad im `ggg.g...` Format
  `%oqISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%sqISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrischer Radius der Sonne in Grad und Altminuten im `ggggmm'` Format
  `%o*qISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*qISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrischer Radius der Sonne in Dezimalgrad im `ggg.g...` Format
  `%orISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%srISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%o*rISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*rISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta-t in Sekunden im `+|-n.n...` Format
  `%osISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%ssISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Lokale Siderische Uhrzeit im `hh:mm` 24-Stunden Format
  `%o*sISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*sISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Lokale Siderische Uhrzeit im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%otISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%stISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Basiszeit als Zeitwert in Stunden und Minuten im `hhhmm'` Format
  `%o*tISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*tISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Basiszeit als Zeitwert in Dezimalstunden im `hh.h...` Format
  `%ouISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%suISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%o*uISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*uISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Julianisches Datum in Tagen im `n.n...` Format
  `%ovISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%svISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%o*vISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*vISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Julianisches Ephemeridendatum in Tagen im `n.n...` Format
  `%owISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%swISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitgleichung als Zeitwert in Stunden und Minuten im `+|-hhhmm'` Format
  `%o*wISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*wISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitgleichung als Zeitwert in Dezimalstunden im `+|-hh.h...` Format
  `%oxISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%sxISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrische Höhe von Sonne/Mond in Grad und Altminuten im `+|-ggggmm'` Format
  `%o*xISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*xISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrische Höhe von Sonne/Mond in Dezimalgrad im `+|-ggg.g...` Format
  `%oyISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%syISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrisches Azimut von Sonne/Mond in Grad und Altminuten im `+|-ggggmm'` Format
  `%o*yISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*yISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrisches Azimut von Sonne/Mond in Dezimalgrad im `+|-ggg.g...` Format
  `%ozISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%szISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrische Höhe von Sonne/Mond in Grad und Altminuten im `+|-ggggmm'` Format
  `%o*zISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*zISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrische Höhe von Sonne/Mond in Dezimalgrad im `+|-ggg.g...` Format
  `%oAISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%sAISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrisches Azimut von Sonne/Mond in Grad und Altminuten im `+|-ggggmm'` Format
  `%o*AISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*AISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrisches Azimut von Sonne/Mond in Dezimalgrad im `+|-ggg.g...` Format
  `%oBISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrische Höhe von Sonne/Mond bei Standard-Sonnenaufgang in Grad und Altminuten im `+|-ggggmm'` Format
  `%o*BISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrische Höhe von Sonne/Mond bei Standard-Sonnenaufgang in Dezimalgrad im `+|-ggg.g...` Format
  `%sBISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrische Höhe von Sonne/Mond bei Standard-Sonnenuntergang in Grad und Altminuten im `+|-ggggmm'` Format
  `%s*BISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrische Höhe von Sonne/Mond bei Standard-Sonnenuntergang in Dezimalgrad im `+|-ggg.g...` Format
  `%oCISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrisches Azimut von Sonne/Mond bei Standard-Sonnenaufgang in Grad und Altminuten im `+|-ggggmm'` Format
  `%o*CISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrisches Azimut von Sonne/Mond bei Standard-Sonnenaufgang in Dezimalgrad im `+|-ggg.g...` Format
  `%sCISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrisches Azimut von Sonne/Mond bei Standard-Sonnenuntergang in Grad und Altminuten im `+|-ggggmm'` Format
  `%s*CISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrisches Azimut von Sonne/Mond bei Standard-Sonnenuntergang in Dezimalgrad im `+|-ggg.g...` Format
  `%oDISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrische Höhe von Sonne/Mond bei Standard-Sonnenaufgang in Grad und Altminuten im `+|-ggggmm'` Format
  `%o*DISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrische Höhe von Sonne/Mond bei Standard-Sonnenaufgang in Dezimalgrad im `+|-ggg.g...` Format
  `%sDISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrische Höhe von Sonne/Mond bei Standard-Sonnenuntergang in Grad und Altminuten im `+|-ggggmm'` Format
  `%s*DISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrische Höhe von Sonne/Mond bei Standard-Sonnenuntergang in Dezimalgrad im `+|-ggg.g...` Format
  `%oEISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrisches Azimut von Sonne/Mond bei Standard-Sonnenaufgang in Grad und Altminuten im `+|-ggggmm'` Format
  `%o*EISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrisches Azimut von Sonne/Mond bei Standard-Sonnenaufgang in Dezimalgrad im `+|-ggg.g...` Format
  `%sEISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrisches Azimut von Sonne/Mond bei Standard-Sonnenuntergang in Grad und Altminuten im `+|-ggggmm'` Format
  `%s*EISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrisches Azimut von Sonne/Mond bei Standard-Sonnenuntergang in Dezimalgrad im `+|-ggg.g...` Format
  `%oFISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%sFISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta astronomischer Mitternachtzeitpunkt von Sonne/Mond als Zeitwert in Stunden und Minuten im `+|-hhhmm'` Format
  `%o*FISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*FISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta astronomischer Mitternachtzeitpunkt von Sonne/Mond als Zeitwert in Dezimalstunden im `+|-hh.h...` Format
  `%oGISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%sGISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta astronomischer Mittagzeitpunkt von Sonne/Mond als Zeitwert in Stunden und Minuten im `+|-hhhmm'` Format
  `%o*GISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*GISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta astronomischer Mittagzeitpunkt von Sonne/Mond als Zeitwert in Dezimalstunden im `+|-hh.h...` Format
  `%oHISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta Uhrzeit Standard-Aufgang von Sonne/Mond bei Standard-Sonnenaufgang als Zeitwert in Stunden und Minuten im `+|-hhhmm'` Format
  `%o*HISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta Uhrzeit Standard-Aufgang von Sonne/Mond bei Standard-Sonnenaufgang als Zeitwert in Dezimalstunden im `+|-hh.h...` Format
  `%sHISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta Uhrzeit Standard-Untergang von Sonne/Mond bei Standard-Sonnenuntergang als Zeitwert in Stunden und Minuten im `+|-hhhmm'` Format
  `%s*HISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta Uhrzeit Standard-Untergang von Sonne/Mond bei Standard-Sonnenuntergang als Zeitwert in Dezimalstunden im `+|-hh.h...` Format
  `%oIISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%sIISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Höhe der Sonne zum astronomischen Mitternachtzeitpunkt der Sonne in Grad und Altminuten im `+|-ggggmm'` Format
  `%o*IISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*IISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Höhe der Sonne zum astronomischen Mitternachtzeitpunkt der Sonne in Dezimalgrad im `+|-ggg.g...` Format
  `%oJISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%sJISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Höhe der Sonne zum astronomischen Mittagzeitpunkt der Sonne in Grad und Altminuten im `+|-ggggmm'` Format
  `%o*JISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*JISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Höhe der Sonne zum astronomischen Mittagzeitpunkt der Sonne in Dezimalgrad im `+|-ggg.g...` Format
  `%oKISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Höhe der Sonne bei Standard-Sonnenaufgang in Grad und Altminuten im `+|-ggggmm'` Format
  `%o*KISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Höhe der Sonne bei Standard-Sonnenaufgang in Dezimalgrad im `+|-ggg.g...` Format
  `%sKISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Höhe der Sonne bei Standard-Sonnenuntergang in Grad und Altminuten im `+|-ggggmm'` Format
  `%s*KISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Höhe der Sonne bei Standard-Sonnenuntergang in Dezimalgrad im `+|-ggg.g...` Format
  `%oLISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrisches Azimut der Sonne bei Standard-Sonnenaufgang in Grad und Altminuten im `ggggmm'` Format
  `%o*LISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrisches Azimut der Sonne bei Standard-Sonnenaufgang in Dezimalgrad im `ggg.g...` Format
  `%sLISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrisches Azimut der Sonne bei Standard-Sonnenuntergang in Grad und Altminuten im `ggggmm'` Format
  `%s*LISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrisches Azimut der Sonne bei Standard-Sonnenuntergang in Dezimalgrad im `ggg.g...` Format
  `%oMISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%sMISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Höhe der Sonne zum astronomischen Mitternachtzeitpunkt der Sonne in Grad und Altminuten im `+|-ggggmm'` Format
  `%o*MISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*MISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Höhe der Sonne zum astronomischen Mitternachtzeitpunkt der Sonne in Dezimalgrad im `+|-ggg.g...` Format
  `%oNISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%sNISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Höhe der Sonne zum astronomischen Mittagzeitpunkt der Sonne in Grad und Altminuten im `+|-ggggmm'` Format
  `%o*NISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%s*NISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Höhe der Sonne zum astronomischen Mittagzeitpunkt der Sonne in Dezimalgrad im `+|-ggg.g...` Format
  `%oOISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Höhe der Sonne bei Standard-Sonnenaufgang in Grad und Altminuten im `+|-ggggmm'` Format
  `%o*OISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Höhe der Sonne bei Standard-Sonnenaufgang in Dezimalgrad im `+|-ggg.g...` Format
  `%sOISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Höhe der Sonne bei Standard-Sonnenuntergang in Grad und Altminuten im `+|-ggggmm'` Format
  `%s*OISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Höhe der Sonne bei Standard-Sonnenuntergang in Dezimalgrad im `+|-ggg.g...` Format
  `%oPISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrisches Azimut der Sonne bei Standard-Sonnenaufgang in Grad und Altminuten im `ggggmm'` Format
  `%o*PISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrisches Azimut der Sonne bei Standard-Sonnenaufgang in Dezimalgrad im `ggg.g...` Format
  `%sPISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrisches Azimut der Sonne bei Standard-Sonnenuntergang in Grad und Altminuten im `ggggmm'` Format
  `%s*PISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrisches Azimut der Sonne bei Standard-Sonnenuntergang in Dezimalgrad im `ggg.g...` Format
  `%oQISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit einfache Schattenlänge am Vormittag im `hh:mm` 24-Stunden Format
  `%o*QISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit einfache Schattenlänge am Vormittag im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%sQISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit einfache Schattenlänge am Nachmittag im `hh:mm` 24-Stunden Format
  `%s*QISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit einfache Schattenlänge am Nachmittag im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%uQISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer einfache oder kürzere Schattenlänge in Stunden und Minuten im `hhhmm'` Format
  `%u*QISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer einfache oder kürzere Schattenlänge in Dezimalstunden im `hh.h...` Format
  `%zQISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer länger als einfache Schattenlänge in Stunden und Minuten im `hhhmm'` Format
  `%z*QISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer länger als einfache Schattenlänge in Dezimalstunden im `hh.h...` Format
  `%oRISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit zweifache Schattenlänge am Vormittag im `hh:mm` 24-Stunden Format
  `%o*RISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit zweifache Schattenlänge am Vormittag im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%sRISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit zweifache Schattenlänge am Nachmittag im `hh:mm` 24-Stunden Format
  `%s*RISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit zweifache Schattenlänge am Nachmittag im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%uRISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer zweifache oder kürzere Schattenlänge in Stunden und Minuten im `hhhmm'` Format
  `%u*RISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer zweifache oder kürzere Schattenlänge in Dezimalstunden im `hh.h...` Format
  `%zRISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer länger als zweifache Schattenlänge in Stunden und Minuten im `hhhmm'` Format
  `%z*RISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer länger als zweifache Schattenlänge in Dezimalstunden im `hh.h...` Format
`%[Format]?[*][Modus]ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]` Monddaten
  `%(0ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)0ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit astronomischer Mitternachtzeitpunkt des Mondes im `hh:mm` 24-Stunden Format
  `%(*0ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*0ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit astronomischer Mitternachtzeitpunkt des Mondes im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%(1ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)1ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit astronomischer Mittagzeitpunkt des Mondes im `hh:mm` 24-Stunden Format
  `%(*1ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*1ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit astronomischer Mittagzeitpunkt des Mondes im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%(2ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit geometrischer Aufgang Mondmittelpunkt im `hh:mm` 24-Stunden Format
  `%(*2ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit geometrischer Aufgang Mondmittelpunkt im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%)2ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit geometrischer Untergang Mondmittelpunkt im `hh:mm` 24-Stunden Format
  `%(*2ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit geometrischer Untergang Mondmittelpunkt im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%[2ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer geometrische Sichtbarkeit, Mondmittelpunkt oberhalb Referenzhöhe, in Stunden und Minuten im `hhhmm'` Format
  `%[*2ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer geometrische Sichtbarkeit, Mondmittelpunkt oberhalb Referenzhöhe, in Dezimalstunden im `hh.h...` Format
  `%]2ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer geometrische Nichtsichtbarkeit, Mondmittelpunkt unterhalb Referenzhöhe, in Stunden und Minuten im `hhhmm'` Format
  `%]*2ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer geometrische Nichtsichtbarkeit, Mondmittelpunkt unterhalb Referenzhöhe, in Dezimalstunden im `hh.h...` Format
  `%(3ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit geometrischer Aufgang Mondoberrand im `hh:mm` 24-Stunden Format
  `%(*3ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit geometrischer Aufgang Mondoberrand im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%)3ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit geometrischer Untergang Mondoberrand im `hh:mm` 24-Stunden Format
  `%)*3ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit geometrischer Untergang Mondoberrand im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%[3ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer geometrische Sichtbarkeit, Mondoberrand oberhalb Referenzhöhe, in Stunden und Minuten im `hhhmm'` Format
  `%[*3ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer geometrische Sichtbarkeit, Mondoberrand oberhalb Referenzhöhe, in Dezimalstunden im `hh.h...` Format
  `%]3ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer geometrische Nichtsichtbarkeit, Mondoberrand unterhalb Referenzhöhe, in Stunden und Minuten im `hhhmm'` Format
  `%]*3ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer geometrische Nichtsichtbarkeit, Mondoberrand unterhalb Referenzhöhe, in Dezimalstunden im `hh.h...` Format
  `%(4ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Aufgang Mondmittelpunkt im `hh:mm` 24-Stunden Format
  `%(*4ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Aufgang Mondmittelpunkt im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%)4ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Untergang Mondmittelpunkt im `hh:mm` 24-Stunden Format
  `%)*4ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Untergang Mondmittelpunkt im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%[4ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Sichtbarkeit, Mondmittelpunkt oberhalb Referenzhöhe, in Stunden und Minuten im `hhhmm'` Format
  `%[*4ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Sichtbarkeit, Mondmittelpunkt oberhalb Referenzhöhe, in Dezimalstunden im `hh.h...` Format
  `%]4ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Nichtsichtbarkeit, Mondmittelpunkt unterhalb Referenzhöhe, in Stunden und Minuten im `hhhmm'` Format
  `%]*4ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Nichtsichtbarkeit, Mondmittelpunkt unterhalb Referenzhöhe, in Dezimalstunden im `hh.h...` Format
  `%(5ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Standardaufgang Mondoberrand im `hh:mm` 24-Stunden Format
  `%(*5ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Standardaufgang Mondoberrand im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%)5ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Standarduntergang Mondoberrand im `hh:mm` 24-Stunden Format
  `%)*5ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Uhrzeit Standarduntergang Mondoberrand im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%[5ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Standard-Sichtbarkeit, Mondoberrand oberhalb Referenzhöhe, in Stunden und Minuten im `hhhmm'` Format
  `%[*5ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Standard-Sichtbarkeit, Mondoberrand oberhalb Referenzhöhe, in Dezimalstunden im `hh.h...` Format
  `%]5ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Standard-Nichtsichtbarkeit, Mondoberrand unterhalb Referenzhöhe, in Stunden und Minuten im `hhhmm'` Format
  `%]*5ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Zeitdauer Standard-Nichtsichtbarkeit, Mondoberrand unterhalb Referenzhöhe, in Dezimalstunden im `hh.h...` Format
  `%(6ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)6ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Horizontalparallaxe des Mondes in Grad und Altminuten im `ggggmm'` Format
  `%(*6ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*6ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Horizontalparallaxe des Mondes in Dezimalgrad im `ggg.g...` Format
  `%(7ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)7ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrischer Radius des Mondes in Grad und Altminuten im `ggggmm'` Format
  `%(*7ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*7ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrischer Radius des Mondes in Dezimalgrad im `ggg.g...` Format
  `%(8ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)8ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%(*8ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*8ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Helligkeit des Mondes in Größenklassen im `+|-n.n...` Format
  `%(9ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)9ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrischer Phasenwinkel des Mondes im Bereich 0.0...1.0 im `n.n...` Format
  `%(*9ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*9ISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrischer Phasenwinkel des Mondes als Prozentwert im Bereich 0.0...100.0 im `n.n...` Format
  `%(aISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)aISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Höhe des Mondes in Grad und Altminuten im `+|-ggggmm'` Format
  `%(*aISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*aISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Höhe des Mondes in Dezimalgrad im `+|-ggg.g...` Format
  `%(bISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)bISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrisches Azimut des Mondes in Grad und Altminuten im `ggggmm'` Format
  `%(*bISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*bISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrisches Azimut des Mondes in Dezimalgrad im `ggg.g...` Format
  `%(cISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)cISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Deklination des Mondes in Grad und Altminuten im `+|-ggggmm'` Format
  `%(*cISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*cISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Deklination des Mondes in Dezimalgrad im `+|-ggg.g...` Format
  `%(dISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)dISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrischer ekliptischer Längengrad des Mondes in Grad und Altminuten im `ggggmm'` Format
  `%(*dISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*dISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrischer ekliptischer Längengrad des Mondes in Dezimalgrad im `ggg.g...` Format
  `%(eISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)eISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrischer ekliptischer Breitengrad des Mondes in Grad und Altminuten im `+|-ggggmm'` Format
  `%(*eISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*eISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrischer ekliptischer Breitengrad des Mondes in Dezimalgrad im `+|-ggg.g...` Format
  `%(fISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)fISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Rektazension des Mondes als Zeitwert in Stunden und Minuten im `hhhmm'` Format
  `%(*fISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*fISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Rektazension des Mondes als Zeitwert in Dezimalstunden im `hh.h...` Format
  `%(gISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)gISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Entfernung des Mondes in mittleren Erdäquatorradien im `n.n...` Format
  `%(*gISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*gISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Entfernung des Mondes in Kilometern im `n.n...` Format
  `%(hISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)hISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Elongation des Mondes in Grad und Altminuten im `ggggmm'` Format
  `%(*hISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*hISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Elongation des Mondes in Dezimalgrad im `ggg.g...` Format
  `%(iISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)iISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Atmosphärische Refraktion in Grad und Altminuten im `ggggmm'` Format
  `%(*iISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*iISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Atmosphärische Refraktion in Dezimalgrad im `ggg.g...` Format
  `%(jISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)jISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Horizontalparallaxe des Mondes in Grad und Altminuten im `ggggmm'` Format
  `%(*jISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*jISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Horizontalparallaxe des Mondes in Dezimalgrad im `ggg.g...` Format
  `%(kISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)kISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrischer Radius des Mondes in Grad und Altminuten im `ggggmm'` Format
  `%(*kISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*kISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrischer Radius des Mondes in Dezimalgrad im `ggg.g...` Format
  `%(lISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)lISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%(*lISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*lISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Helligkeit des Mondes in Größenklassen im `+|-n.n...` Format
  `%(mISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)mISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrischer Phasenwinkel des Mondes im Bereich 0.0...1.0 im `n.n...` Format
  `%(*mISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*mISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrischer Phasenwinkel des Mondes als Prozentwert im Bereich 0.0...100.0 im `n.n...` Format
  `%(nISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)nISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Höhe des Mondes in Grad und Altminuten im `+|-ggggmm'` Format
  `%(*nISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*nISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Höhe des Mondes in Dezimalgrad im `+|-ggg.g...` Format
  `%(oISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)oISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrisches Azimut des Mondes in Grad und Altminuten im `ggggmm'` Format
  `%(*oISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*oISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrisches Azimut des Mondes in Dezimalgrad im `ggg.g...` Format
  `%(pISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)pISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Deklination des Mondes in Grad und Altminuten im `+|-ggggmm'` Format
  `%(*pISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*pISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Deklination des Mondes in Dezimalgrad im `+|-ggg.g...` Format
  `%(qISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)qISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrischer ekliptischer Längengrad des Mondes in Grad und Altminuten im `ggggmm'` Format
  `%(*qISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*qISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrischer ekliptischer Längengrad des Mondes in Dezimalgrad im `ggg.g...` Format
  `%(rISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)rISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrischer ekliptischer Breitengrad des Mondes in Grad und Altminuten im `+|-ggggmm'` Format
  `%(*rISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*rISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrischer ekliptischer Breitengrad des Mondes in Dezimalgrad im `+|-ggg.g...` Format
  `%(sISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)sISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Rektazension des Mondes als Zeitwert in Stunden und Minuten im `hhhmm'` Format
  `%(*sISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*sISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Rektazension des Mondes als Zeitwert in Dezimalstunden im `hh.h...` Format
  `%(tISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)tISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Entfernung des Mondes in mittleren Erdäquatorradien im `n.n...` Format
  `%(*tISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*tISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Entfernung des Mondes in Kilometern im `n.n...` Format
  `%(uISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)uISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Elongation des Mondes in Grad und Altminuten im `ggggmm'` Format
  `%(*uISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*uISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Elongation des Mondes in Dezimalgrad im `ggg.g...` Format
  `%(vISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)vISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%(*vISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*vISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta-t in Sekunden im `+|-n.n...` Format
  `%(wISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)wISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Lokale Siderische Uhrzeit im `hh:mm` 24-Stunden Format
  `%(*wISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*wISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Lokale Siderische Uhrzeit im `hh:mm` 12-Stunden Format mit Zeitanhang
  `%(xISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)xISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Basiszeit als Zeitwert in Stunden und Minuten im `hhhmm'` Format
  `%(*xISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*xISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Basiszeit als Zeitwert in Dezimalstunden im `hh.h...` Format
  `%(yISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)yISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%(*yISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*yISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Julianisches Datum in Tagen im `n.n...` Format
  `%(zISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)zISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%(*zISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*zISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Julianisches Ephemeridendatum in Tagen im `n.n...` Format
  `%(AISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)AISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrische Höhe von Mond/Sonne in Grad und Altminuten im `+|-ggggmm'` Format
  `%(*AISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*AISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrische Höhe von Mond/Sonne in Dezimalgrad im `+|-ggg.g...` Format
  `%(BISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)BISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrisches Azimut von Mond/Sonne in Grad und Altminuten im `+|-ggggmm'` Format
  `%(*BISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*BISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrisches Azimut von Mond/Sonne in Dezimalgrad im `+|-ggg.g...` Format
  `%(CISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)CISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrische Höhe von Mond/Sonne in Grad und Altminuten im `+|-ggggmm'` Format
  `%(*CISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*CISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrische Höhe von Mond/Sonne in Dezimalgrad im `+|-ggg.g...` Format
  `%(DISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)DISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrisches Azimut von Mond/Sonne in Grad und Altminuten im `+|-ggggmm'` Format
  `%(*DISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*DISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrisches Azimut von Mond/Sonne in Dezimalgrad im `+|-ggg.g...` Format
  `%(EISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrische Höhe von Mond/Sonne bei Standard-Mondaufgang in Grad und Altminuten im `+|-ggggmm'` Format
  `%(*EISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrische Höhe von Mond/Sonne bei Standard-Mondaufgang in Dezimalgrad im `+|-ggg.g...` Format
  `%)EISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrische Höhe von Mond/Sonne bei Standard-Monduntergang in Grad und Altminuten im `+|-ggggmm'` Format
  `%)*EISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrische Höhe von Mond/Sonne bei Standard-Monduntergang in Dezimalgrad im `+|-ggg.g...` Format
  `%(FISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrisches Azimut von Mond/Sonne bei Standard-Mondaufgang in Grad und Altminuten im `+|-ggggmm'` Format
  `%(*FISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrisches Azimut von Mond/Sonne bei Standard-Mondaufgang in Dezimalgrad im `+|-ggg.g...` Format
  `%)FISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrisches Azimut von Mond/Sonne bei Standard-Monduntergang in Grad und Altminuten im `+|-ggggmm'` Format
  `%)*FISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta topozentrisches Azimut von Mond/Sonne bei Standard-Monduntergang in Dezimalgrad im `+|-ggg.g...` Format
  `%(GISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrische Höhe von Mond/Sonne bei Standard-Mondaufgang in Grad und Altminuten im `+|-ggggmm'` Format
  `%(*GISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrische Höhe von Mond/Sonne bei Standard-Mondaufgang in Dezimalgrad im `+|-ggg.g...` Format
  `%)GISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrische Höhe von Mond/Sonne bei Standard-Monduntergang in Grad und Altminuten im `+|-ggggmm'` Format
  `%)*GISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrische Höhe von Mond/Sonne bei Standard-Monduntergang in Dezimalgrad im `+|-ggg.g...` Format
  `%(HISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrisches Azimut von Mond/Sonne bei Standard-Mondaufgang in Grad und Altminuten im `+|-ggggmm'` Format
  `%(*HISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrisches Azimut von Mond/Sonne bei Standard-Mondaufgang in Dezimalgrad im `+|-ggg.g...` Format
  `%)HISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrisches Azimut von Mond/Sonne bei Standard-Monduntergang in Grad und Altminuten im `+|-ggggmm'` Format
  `%)*HISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta geozentrisches Azimut von Mond/Sonne bei Standard-Monduntergang in Dezimalgrad im `+|-ggg.g...` Format
  `%(IISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)IISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta astronomischer Mitternachtzeitpunkt von Mond/Sonne als Zeitwert in Stunden und Minuten im `+|-hhhmm'` Format
  `%(*IISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*IISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta astronomischer Mitternachtzeitpunkt von Mond/Sonne als Zeitwert in Dezimalstunden im `+|-hh.h...` Format
  `%(JISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)JISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta astronomischer Mittagzeitpunkt von Mond/Sonne als Zeitwert in Stunden und Minuten im `+|-hhhmm'` Format
  `%(*JISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*JISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta astronomischer Mittagzeitpunkt von Mond/Sonne als Zeitwert in Dezimalstunden im `+|-hh.h...` Format
  `%(KISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta Uhrzeit Standard-Aufgang von Mond/Sonne bei Standard-Mondaufgang als Zeitwert in Stunden und Minuten im `+|-hhhmm'` Format
  `%(*KISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta Uhrzeit Standard-Aufgang von Mond/Sonne bei Standard-Mondaufgang als Zeitwert in Dezimalstunden im `+|-hh.h...` Format
  `%)KISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta Uhrzeit Standard-Untergang von Mond/Sonne bei Standard-Monduntergang als Zeitwert in Stunden und Minuten im `+|-hhhmm'` Format
  `%)*KISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Delta Uhrzeit Standard-Untergang von Mond/Sonne bei Standard-Monduntergang als Zeitwert in Dezimalstunden im `+|-hh.h...` Format
  `%(LISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)LISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Höhe des Mondes zum astronomischen Mitternachtzeitpunkt des Mondes in Grad und Altminuten im `+|-ggggmm'` Format
  `%(*LISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*LISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Höhe des Mondes zum astronomischen Mitternachtzeitpunkt des Mondes in Dezimalgrad im `+|-ggg.g...` Format
  `%(MISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)MISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrischer Phasenwinkel des Mondes zum astronomischen Mitternachtzeitpunkt des Mondes im Bereich 0.0...1.0 im `n.n...` Format
  `%(*MISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*MISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrischer Phasenwinkel des Mondes zum astronomischen Mitternachtzeitpunkt des Mondes als Prozentwert im Bereich 0.0...100.0 im `n.n...` Format
  `%(NISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)NISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Höhe des Mondes zum astronomischen Mittagzeitpunkt des Mondes in Grad und Altminuten im `+|-ggggmm'` Format
  `%(*NISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*NISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Höhe des Mondes zum astronomischen Mittagzeitpunkt des Mondes in Dezimalgrad im `+|-ggg.g...` Format
  `%(OISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)OISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrischer Phasenwinkel des Mondes zum astronomischen Mittagzeitpunkt des Mondes im Bereich 0.0...1.0 im `n.n...` Format
  `%(*OISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*OISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrischer Phasenwinkel des Mondes zum astronomischen Mittagzeitpunkt des Mondes als Prozentwert im Bereich 0.0...100.0 im `n.n...` Format
  `%(KISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Höhe des Mondes bei Standard-Mondaufgang in Grad und Altminuten im `+|-ggggmm'` Format
  `%(*PISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Höhe des Mondes bei Standard-Mondaufgang in Dezimalgrad im `+|-ggg.g...` Format
  `%)PISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Höhe des Mondes bei Standard-Monduntergang in Grad und Altminuten im `+|-ggggmm'` Format
  `%)*PISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrische Höhe des Mondes bei Standard-Monduntergang in Dezimalgrad im `+|-ggg.g...` Format
  `%(QISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrisches Azimut des Mondes bei Standard-Mondaufgang in Grad und Altminuten im `ggggmm'` Format
  `%(*QISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrisches Azimut des Mondes bei Standard-Mondaufgang in Dezimalgrad im `ggg.g...` Format
  `%)QISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrisches Azimut des Mondes bei Standard-Monduntergang in Grad und Altminuten im `ggggmm'` Format
  `%)*QISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrisches Azimut des Mondes bei Standard-Monduntergang in Dezimalgrad im `ggg.g...` Format
  `%(RISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrischer Phasenwinkel des Mondes bei Standard-Mondaufgang im Bereich 0.0...1.0 im `n.n...` Format
  `%(*RISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrischer Phasenwinkel des Mondes bei Standard-Mondaufgang als Prozentwert im Bereich 0.0...100.0 im `n.n...` Format
  `%)RISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrischer Phasenwinkel des Mondes bei Standard-Monduntergang im Bereich 0.0...1.0 im `n.n...` Format
  `%)*RISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Topozentrischer Phasenwinkel des Mondes bei Standard-Monduntergang als Prozentwert im Bereich 0.0...100.0 im `n.n...` Format
  `%(SISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)SISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Höhe des Mondes zum astronomischen Mitternachtzeitpunkt des Mondes in Grad und Altminuten im `+|-ggggmm'` Format
  `%(*SISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*SISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Höhe des Mondes zum astronomischen Mitternachtzeitpunkt des Mondes in Dezimalgrad im `+|-ggg.g...` Format
  `%(TISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)TISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrischer Phasenwinkel des Mondes zum astronomischen Mitternachtzeitpunkt des Mondes im Bereich 0.0...1.0 im `n.n...` Format
  `%(*TISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*TISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrischer Phasenwinkel des Mondes zum astronomischen Mitternachtzeitpunkt des Mondes als Prozentwert im Bereich 0.0...100.0 im `n.n...` Format
  `%(UISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)UISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Höhe des Mondes zum astronomischen Mittagzeitpunkt des Mondes in Grad und Altminuten im `+|-ggggmm'` Format
  `%(*UISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*UISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Höhe des Mondes zum astronomischen Mittagzeitpunkt des Mondes in Dezimalgrad im `+|-ggg.g...` Format
  `%(VISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)VISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrischer Phasenwinkel des Mondes zum astronomischen Mittagzeitpunkt des Mondes im Bereich 0.0...1.0 im `n.n...` Format
  `%(*VISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
  `%)*VISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrischer Phasenwinkel des Mondes zum astronomischen Mittagzeitpunkt des Mondes als Prozentwert im Bereich 0.0...100.0 im `n.n...` Format
  `%(WISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Höhe des Mondes bei Standard-Mondaufgang in Grad und Altminuten im `+|-ggggmm'` Format
  `%(*WISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Höhe des Mondes bei Standard-Mondaufgang in Dezimalgrad im `+|-ggg.g...` Format
  `%)WISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Höhe des Mondes bei Standard-Monduntergang in Grad und Altminuten im `+|-ggggmm'` Format
  `%)*WISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrische Höhe des Mondes bei Standard-Monduntergang in Dezimalgrad im `+|-ggg.g...` Format
  `%(XISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrisches Azimut des Mondes bei Standard-Mondaufgang in Grad und Altminuten im `ggggmm'` Format
  `%(*XISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrisches Azimut des Mondes bei Standard-Mondaufgang in Dezimalgrad im `ggg.g...` Format
  `%)XISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrisches Azimut des Mondes bei Standard-Monduntergang in Grad und Altminuten im `ggggmm'` Format
  `%)*XISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrisches Azimut des Mondes bei Standard-Monduntergang in Dezimalgrad im `ggg.g...` Format
  `%(YISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrischer Phasenwinkel des Mondes bei Standard-Mondaufgang im Bereich 0.0...1.0 im `n.n...` Format
  `%(*YISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrischer Phasenwinkel des Mondes bei Standard-Mondaufgang als Prozentwert im Bereich 0.0...100.0 im `n.n...` Format
  `%)YISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrischer Phasenwinkel des Mondes bei Standard-Monduntergang im Bereich 0.0...1.0 im `n.n...` Format
  `%)*YISO-6709:1983-Koordinate[,[+|-]mmmm|hh:[mm]]`
    Geozentrischer Phasenwinkel des Mondes bei Standard-Monduntergang als Prozentwert im Bereich 0.0...100.0 im `n.n...` Format
`%[Format]-[Argument]`
  Inhalt von Umgebungsvariable
`%[Format]?` Differenzwert
  `%d`
    Relative Tageszahl
  `%w`
    Relative Wochenzahl
  `%m`
    Relative Monatszahl
  `%y`
    Relative Jahreszahl
`%?` Hervorhebung
  `%1`
    Start-Hervorhebung 1
  `%2`
    Ende-Hervorhebung 1
  `%3`
    Start-Hervorhebung 2
  `%4`
    Ende-Hervorhebung 2
  `%5`
    Start-Hervorhebung 1, falls ein Termin auf das heutige Datum fällt
  `%6`
    Ende-Hervorhebung 1, falls ein Termin auf das heutige Datum fällt
  `%7`
    Start-Hervorhebung 2, falls ein Termin auf einen gesetzlichen Feiertag fällt
  `%8`
    Ende-Hervorhebung 2, falls ein Termin auf einen gesetzlichen Feiertag fällt
  `%9`
    Start-Hervorhebung 1, falls ein Termin auf das heutige Datum fällt, sonst Start-Hervorhebung 2, falls ein Termin auf einen gesetzlichen Feiertag fällt
  `%0`
    Ende-Hervorhebung 1, falls ein Termin auf das heutige Datum fällt, sonst Ende-Hervorhebung 2, falls ein Termin auf einen gesetzlichen Feiertag fällt
`%![Argument]`
  Shell führt Argument als Kommando aus

Knoten:Veraltete Spezialtexte, Nächster:Formatanweisung, Vorheriger:Spezialtexte (kurz), Aufwärts:Top

# Veraltete Spezialtexte und Formatelemente

- Tabelle der veralteten Spezialtexte:
- Tabelle der veralteten Datumformatelemente:
- Tabelle der veralteten Datumformate:

Da ja Gcal 3.00 in der Lage ist, die meisten Spezialtexte, die im Textteil einer Ressourcendateizeile auftreten dürfen (sieheBeschreibung aller `%?`... Spezialtexte), sowie die meisten Formatelemente, wie sie im Datumformattext der `--date-format` Option benutzt werden dürfen (sieheKalender Option `--date-format=de|us|gb|Text`), durch eine Formatanweisung besonders darzustellen, sind nun einige Spezialtexte bzw. Formatelemente, die hauptsächlich in den Gcal Versionen 2.20 und 2.40 eingeführt wurden, veraltet. Es folgen nun die vollständigen Tabellen aller dieser veralteten Spezialtexte bzw. Formatelemente, sowie deren neue Darstellung, wie sie nun von Gcal 3.00 benutzt wird.

Knoten:Tabelle der veralteten Spezialtexte, Nächster:Tabelle der veralteten Datumformatelemente, Vorheriger:Veraltete Spezialtexte, Aufwärts:Veraltete Spezialtexte

## Tabelle der veralteten Spezialtexte

In dieser Tabelle werden alle veralteten Spezialtexte gegenübergestellt, wie sie im Textteil einer Ressourcendateizeile auftreten dürfen (sieheBeschreibung aller `%?`... Spezialtexte), sowie deren neue Darstellung, wie sie nun von Gcal 3.00 benutzt wird.

Symbolischer Name | Alter Stil |  | Neuer Stil
%Vollständiger Wochentagsname | `%o` | == | `%K`
%3-Buchstaben Wochentagsname | `%O` | == | `%>3#K`
%2-Buchstaben Wochentagsname | `%K` | == | `%>2#K`
%Wochentagsnummer (Mon=1...Son=7) | `%S` | == | `%W`
%Wochentagsnummer (Mon=1...Son=7) OZA | `%I` | == | `%>1&*W`
%Wochentagsnummer (Mon=0...Son=6) OZA | `%J` | == | `%>1&*E`
%Wochentagsnummer (Son=1...Sam=7) | `%(` | == | `%I`
%Wochentagsnummer (Son=1...Sam=7) OZA | `%<` | == | `%>1&*I`
%Wochentagsnummer (Son=0...Sam=6) | `%)` | == | `%J`
%Wochentagsnummer (Son=0...Sam=6) OZA | `%>` | == | `%>1&*J`
%Wochentagsnummer (Mon=1...Son=7) FLX | `%[` | == | `%S`
%Wochentagsnummer (Mon=1...Son=7) FLX OZA | `%{` | == | `%>1&*S`
%Wochentagsnummer (Mon=0...Son=6) FLX | `%]` | == | `%T`
%Wochentagsnummer (Mon=0...Son=6) FLX OZA | `%}` | == | `%>1&*T`
%Tag-des-Jahres Nummer | `%+` | == | `%N`
%Tag-des-Jahres Nummer +FN | `%*` | == | `%>03*N`
%Tag-des-Jahres Nummer OZA | `%&` | == | `%>1&*N`
%Tag-des-Jahres Nummer +FN OZA | `%#` | == | `%>03&*N`
%Tagesnummer +FN | `%N` | == | `%>02*D`
%Tagesnummer OZA | `%s` | == | `%>1&*D`
%Tagesnummer +FN OZA | `%u` | == | `%>02&*D`
%Vollständiger Monatsname | `%M` | == | `%U`
%3-Buchstaben Monatsname | `%T` | == | `%>3#U`
%Monatsnummer | `%U` | == | `%M`
%Monatsnummer +FN | `%W` | == | `%>02*M`
%Monatsnummer OZA | `%z` | == | `%>1&*M`
%Monatsnummer +FN OZA | `%Z` | == | `%>02&*M`
%Vollständige Jahresnummer +FN | `%=` | == | `%>04*Y`
%Alterswert (Geburtstag) | `%b` | == | `%B`
%Alterswert (Geburtstag) OZA | `%B` | == | `%>1&*B`
%Mondphasentext | `%-` | == | `%O`
%Mondphasentext +FN | `%_` | == | `%>03*O`
%Mondphasen-Textgrafik | `%:` | == | `%Z`

Legende:

+FN | == | Mit führender Null bzw. führenden Nullen
FLX | == | Flexibler Starttag der Woche (sieheKalender Option `--starting-day=Argument`)
OZA | == | Mit Ordnungszahlanhang

Knoten:Tabelle der veralteten Datumformatelemente, Nächster:Tabelle der veralteten Datumformate, Vorheriger:Tabelle der veralteten Spezialtexte, Aufwärts:Veraltete Spezialtexte

## Tabelle der veralteten Datumformatelemente

In dieser Tabelle werden alle veralteten Datumformatelemente gegenübergestellt, wie sie im individuellen Datumformattext der `--date-format` Option benutzt werden dürfen (sieheKalender Option `--date-format=de|us|gb|Text`), sowie deren neue Darstellung, wie sie nun von Gcal 3.00 benutzt wird.

Symbolischer Name | Alter Stil |  | Neuer Stil
%Tagesnummer | `%d` | == | `%>02*D`
%Tagesnummer +FL | `%D` | == | `%>2*D`
%Tagesnummer +FN OZA | `%u` | == | `%02&*D`
%Tagesnummer +FL OZA | `%U` | == | `%>2&*D`
%Vollständiger Monatsname | `%B` | == | `%U`
%3-Buchstaben Monatsname | `%b` | == | `%<3#U`
%Monatsnummer +FN | `%m` | == | `%>02*M`
%Monatsnummer +FL | `%M` | == | `%>2*M`
%Vollständige Jahresnummer +FN | `%y` | == | `%>04*Y`
%Vollständige Jahresnummer +FL | `%Y` | == | `%>4*Y`
%Letzte-2-Ziffern Jahresnummer +FN | `%z` | == | `%>02#Y`
%Letzte-2-Ziffern Jahresnummer +FL | `%Z` | == | `%>2#Y`
%Vollständiger Wochentagsname | `%A` | == | `%K`
%3-Buchstaben Wochentagsname | `%W` | == | `%<3#K`
%2-Buchstaben Wochentagsname | `%w` | == | `%<2#K`

Legende:

+FN | == | Mit führender Null bzw. führenden Nullen
+FL | == | Mit führendem Leerzeichen bzw. führenden Leerzeichen
OZA | == | Mit Ordnungszahlanhang

Knoten:Tabelle der veralteten Datumformate, Vorheriger:Tabelle der veralteten Datumformatelemente, Aufwärts:Veraltete Spezialtexte

## Tabelle der veralteten Datumformate

In dieser Tabelle werden alle veralteten Datumformattexte gegenübergestellt, wie sie in den festen Vorgaben der landesspezifischen Datumformate der `--date-format` Option für deutsche Benutzer, US amerikanische Benutzer und Benutzer in Großbritannien benutzt werden dürfen (sieheKalender Option `--date-format=de|us|gb|Text`), sowie deren neue Darstellung, wie sie nun von Gcal 3.00 benutzt wird.

CC | Alter Stil |  | Neuer Stil
DE | `%w, %1%D%2 %b %y` | == | `%<2#K, %1%>2*D%2 %<3#U %>04*Y`
US | `%W, %b %1%U%2 %y` | == | `%<3#K, %<3#U %1%>2&*D%2 %>04*Y`
GB | `%W, %1%U%2 %b %y` | == | `%<3#K, %1%>2&*D%2 %<3#U %>04*Y`

Knoten:Formatanweisung, Nächster:Kodierschema, Vorheriger:Veraltete Spezialtexte, Aufwärts:Top

# Formatanweisung

Gcal 3.00 ist in der Lage, Textvariablen, Spezialtexte und Datumformate in sehr komfortabler und einheitlicher Weise mittels einer Formatanweisung besonders darzustellen.

Es folgt nun die Beschreibung der Komponenten der Formatanweisung, die im weiteren Kontext mit Format bezeichnet wird. Die Schablone einer Formatanweisung lautet generell:

> Ausrichtung [Vorzeichen] [Null] Breite [Stil] [Anhang] Format

Wird ein Format nach der hier dargestellten Schablone benutzt, so müssen dessen Komponenten in der hier vorgegebenen Reihenfolge angegeben werden, wobei natürlich die Angabe der mit `[ ]` umklammerten Komponenten optional ist, also erfolgen kann oder nicht. Die einzelnen Komponenten der Formatanweisung setzen sich wie folgt zusammen:

Zeichen | Beschreibung der Komponenten
| Ausrichtung-Gruppe (genau ein Mitglied muß definiert werden):
`<` | Feldinhalt linksbündig stellen im Feld der Breite Breite
`:` | Feldinhalt mittig stellen im Feld der Breite Breite
`>` | Feldinhalt rechtsbündig stellen im Feld der Breite Breite
| Vorzeichen (darf definiert werden):
`+` | Numerischen Wert mit führendem Vorzeichen ausstatten
| Null (darf definiert werden):
`0` | Numerischen Wert mit führender Null bzw. führenden Nullen auffüllen
| Breite (muß definiert werden):
n | Feld hat die Breite n (derzeit im Bereich 1...256)
| Stil-Gruppe (genau ein Mitglied darf definiert werden):
`u` | Feldinhalt in Großbuchstaben umwandeln
`l` | Feldinhalt in Kleinbuchstaben umwandeln
`w` | Feldinhalt in Wortgroßschreibung umwandeln
| Anhang (darf definiert werden):
`&` | Numerischen Wert mit Ordnungszahlanhang ausstatten
| Format-Gruppe (genau ein Mitglied muß definiert werden):
`*` | Feldinhalt wird nicht nach Position Breite abgeschnitten
`#` | Feldinhalt wird nach Position Breite abgeschnitten

Falls eine angegebene Breite-Komponente größer 256, aber kleiner gleich 999 ist, so wird eine Feldbreite von 256 angenommen. Wenn aber eine Breite-Komponente Null ist, so wird die Interpretationsphase von Gcal unterbrochen, so daß das vollständige Format nicht mehr weiter ausgewertet wird, und dadurch wird es ausgegeben bzw. zugewiesen wie es ist. Das gleiche passiert, wenn eine Komponente fehlerhaft geschrieben oder in der falschen Reihenfolge angegeben wird, oder eine der benötigten Komponenten gar nicht angegeben wird.

Ferner wird bei der Angabe einer Stil-Komponente nicht zwischen Groß- und Kleinschreibung unterschieden. SieheKalender Option `--translate-string=Text`, für weitere Anmerkungen wie die Stil-Komponente richtig benutzt wird.

Knoten:Kodierschema, Nächster:Umgebungsvariablen, Vorheriger:Formatanweisung, Aufwärts:Top

# Kodierschema

- Kodierschema Tabelle 1:
- Kodierschema Tabelle 2:

Es folgt nun die tabellarische Aufstellung des Kodierschemas, welches für den Datumteil (jjjj...) einer Zeile der Ressourcendatei verwendet werden kann, und der Modifizierer, welche die Kurzoption `-c|C[]` annehmen darf, bzw. die Argumente, welche die Langoption `--period-of-fixed-dates=Argument` annehmen darf. Aus diesen Tabellen kann ersehen werden, welche Terminargumente mit welchem Datumteil einer Zeile der Ressourcendatei korrespondieren, d.h. bei Anwahl eines Terminarguments berücksichtigt werden; da Gcal eben nicht alle vorhandenen Einträge in einer Ressourcendatei berücksichtigt, sondern nur solche, die in einem bestimmten Verhältnis zum Terminargument stehen, und somit die Ausgabe überflüssiger Informationen verhindert wird. SieheTermin Option `--period-of-fixed-dates=Argument`, für weitere Details.

Datumteil jjjj...:

jjjj
  steht für jede Jahreszahl (`0001...9999`).
mm
  steht für jede Monatszahl (`01...12` oder `99`) bzw. jeden Monatsnamen im 3-Buchstaben Kurzformat (`Jan`, `Feb`...).
tt
  steht für jede Tageszahl (`01...28`, `29`, `30`, `31` oder `99`).
www
  steht für jeden Wochentagsnamen im 2...3-Buchstaben Kurzformat (`Mon...Son`).
?
  steht für jeden Einzelbuchstaben des Alphabets (Groß- bzw. Kleinbuchstaben werden nicht unterschieden).
n
  steht für jede positive Ganzzahl (eine oder mehrere Ziffern).

Knoten:Kodierschema Tabelle 1, Nächster:Kodierschema Tabelle 2, Vorheriger:Kodierschema, Aufwärts:Kodierschema

## Kodierschema Tabelle 1

In dieser Tabelle werden alle möglichen Kodierungen von einem Datum im Datumteil einer Ressourcendatei mit allen dazu möglichen Kodierungen der Modifizierer der Kurzoption `-c|C[]` gegenübergestellt.

Bitte beachten:
Die `-c`, `-ct`, `-cnd`, `-c*d|wn[www]`, `-c@?[[+|-]n[www]]`, `-cmmtt` und `-cmmwwwn` Optionen berücksichtigen alle Kodiervariationen des Datumteils!

Datumteil | Kurzoption `-c|C[]`
`00000000` | `-cn+|-`
`000000tt` | `-cnw|+|-`, `-cw[+|-]`, `-cm[+|-]`
`0000mm00` | `-cn+|-`
`0000mmtt` | `-cnw|+|-`, `-cw[+|-]`, `-cm[+|-]`, `-cy[+|-]`, `-clnd|w|+|-`, `-cl*d|wn[www]`, `-cl@?[[+|-]n[www]]`, `-clmmtt`, `-clmmwwwn`
`jjjj0000` | `-cn+|-`
`jjjj00tt` | `-cnw|+|-`, `-cw[+|-]`, `-cm[+|-]`
`jjjjmm00` | `-cn+|-`
`jjjjmmtt` | `-cnw|+|-`, `-cw[+|-]`, `-cm[+|-]`, `-cy[+|-]`, `-clnd|w|+|-`, `-cl*d|wn[www]`, `-cl@?[[+|-]n[www]]`, `-clmmtt`, `-clmmwwwn`
`000000wwwn` | `-cnw|+|-`, `-cw[+|-]`, `-cm[+|-]`
`0000mmwwwn` | `-cnw|+|-`, `-cw[+|-]`, `-cm[+|-]`, `-cy[+|-]`, `-clnd|w|+|-`, `-cl*d|wn[www]`, `-cl@?[[+|-]n[www]]`, `-clmmtt`, `-clmmwwwn`
`jjjj00wwwn` | `-cnw|+|-`, `-cw[+|-]`, `-cm[+|-]`
`jjjjmmwwwn` | `-cnw|+|-`, `-cw[+|-]`, `-cm[+|-]`, `-cy[+|-]`, `-clnd|w|+|-`, `-cl*d|wn[www]`, `-cl@?[[+|-]n[www]]`, `-clmmtt`, `-clmmwwwn`
`0000*dn[www]` | `-cnw|+|-`, `-cw[+|-]`, `-cm[+|-]`, `-cy[+|-]`, `-clnd|w|+|-`, `-cl*d|wn[www]`, `-cl@?[[+|-]n[www]]`, `-clmmtt`, `-clmmwwwn`
`jjjj*dn[www]` | `-cnw|+|-`, `-cw[+|-]`, `-cm[+|-]`, `-cy[+|-]`, `-clnd|w|+|-`, `-cl*d|wn[www]`, `-cl@?[[+|-]n[www]]`, `-clmmtt`, `-clmmwwwn`
`0000*wn[www]` | `-cnw|+|-`, `-cw[+|-]`, `-cm[+|-]`, `-cy[+|-]`, `-clnd|w|+|-`, `-cl*d|wn[www]`, `-cl@?[[+|-]n[www]]`, `-clmmtt`, `-clmmwwwn`
`jjjj*wn[www]` | `-cnw|+|-`, `-cw[+|-]`, `-cm[+|-]`, `-cy[+|-]`, `-clnd|w|+|-`, `-cl*d|wn[www]`, `-cl@?[[+|-]n[www]]`, `-clmmtt`, `-clmmwwwn`
`0000@?[+|-]n[www]` | `-cnw|+|-`, `-cw[+|-]`, `-cm[+|-]`, `-cy[+|-]`, `-clnd|w|+|-`, `-cl*d|wn[www]`, `-cl@?[[+|-]n[www]]`, `-clmmtt`, `-clmmwwwn`
`jjjj@?[+|-]n[www]` | `-cnw|+|-`, `-cw[+|-]`, `-cm[+|-]`, `-cy[+|-]`, `-clnd|w|+|-`, `-cl*d|wn[www]`, `-cl@?[[+|-]n[www]]`, `-clmmtt`, `-clmmwwwn`

Knoten:Kodierschema Tabelle 2, Vorheriger:Kodierschema Tabelle 1, Aufwärts:Kodierschema

## Kodierschema Tabelle 2

In dieser Tabelle werden alle möglichen Kodierungen der Modifizierer der Kurzoption `-c|C[]` mit allen dazu möglichen Kodierungen von einem Datum im Datumteil einer Ressourcendatei gegenübergestellt.

Kurzoption `-c|C[]` | Datumteil
`-c`
`-ct`
`-cnd|+|-`
`-cmmtt`
`-cmmwwwn`
`-c*d|wn[www]`
`-c@?[[+|-]n[www]]` | `00000000`, `0000mm00`, `jjjj0000`, `jjjjmm00`, `000000tt`, `0000mmtt`, `jjjj00tt`, `jjjjmmtt`, `000000wwwn`, `0000mmwwwn`, `jjjj00wwwn`, `jjjjmmwwwn`, `0000*dn`, `0000*dnwww`, `jjjj*dn`, `jjjj*dnwww`, `0000*wn`, `0000*wnwww`, `jjjj*wn`, `jjjj*wnwww`, `0000@?[+|-]n`, `0000@?[+|-]nwww`, `jjjj@?[+|-]n`, `jjjj@?[+|-]nwww`
`-cnw`
`-cw[+|-]` | `000000tt`, `0000mmtt`, `jjjj00tt`, `jjjjmmtt`, `000000wwwn`, `0000mmwwwn`, `jjjj00wwwn`, `jjjjmmwwwn`, `0000*dn`, `0000*dnwww`, `jjjj*dn`, `jjjj*dnwww`, `0000*wn`, `0000*wnwww`, `jjjj*wn`, `jjjj*wnwww`, `0000@?[+|-]n`, `0000@?[+|-]nwww`, `jjjj@?[+|-]n`, `jjjj@?[+|-]nwww`
`-cm[+|-]` | `000000tt`, `0000mmtt`, `jjjj00tt`, `jjjjmmtt`, `000000wwwn`, `0000mmwwwn`, `jjjj00wwwn`, `jjjjmmwwwn`, `0000*dn`, `0000*dnwww`, `jjjj*dn`, `jjjj*dnwww`, `0000*wn`, `0000*wnwww`, `jjjj*wn`, `jjjj*wnwww`, `0000@?[+|-]n`, `0000@?[+|-]nwww`, `jjjj@?[+|-]n`, `jjjj@?[+|-]nwww`
`-cy[+|-]`
`-clnd|w|+|-`
`-clmmtt`
`-clmmwwwn`
`-cl*d|wn[www]`
`-cl@?[[+|-]n[www]]` | `0000mmtt`, `jjjjmmtt`, `0000mmwwwn`, `jjjjmmwwwn`, `0000*dn`, `0000*dnwww`, `jjjj*dn`, `jjjj*dnwww`, `0000*wn`, `0000*wnwww`, `jjjj*wn`, `jjjj*wnwww`, `0000@?[+|-]n`, `0000@?[+|-]nwww`, `jjjj@?[+|-]n`, `jjjj@?[+|-]nwww`

Knoten:Umgebungsvariablen, Nächster:Fehlerkodes, Vorheriger:Kodierschema, Aufwärts:Top

# Umgebungsvariablen

Hier ist eine Liste aller Umgebungsvariablen, die von Gcal benutzt werden:

`GCAL`
`GCAL_OPT`
  Argumente, die an das Gcal Programm automatisch übergeben werden.
`GCAL_COLUMNS`
`COLUMNS`
  Setzt die Anzahl der Spalten des Bildschirms. Hat Vorrang vor der Anzahl der Spalten, welche die `TERM` Umgebungsvariable oder das System selbst definiert.
`GCAL_DATE_FORMAT`
  Enthält den Datumformattext, der die Anordnung von einem auszugebenden Datum bestimmt. Hat Vorrang vor dem Grundeinstellungs-Datumformattext.
`GCAL_LINES`
`LINES`
  Setzt die Anzahl der Zeilen des Bildschirms. Hat Vorrang vor der Anzahl der Zeilen, welche die `TERM` Umgebungsvariable oder das System selbst definiert.
`GCAL_SYS_DATADIR`
  Name eines Dateiverzeichnisses absolut zum Wurzel/$prefix Dateiverzeichnis, in welchem der Systemadministrator allgemeine bzw. öffentliche Ressourcendateien (Termindateien) speichert.
`GCAL_USR_DATADIR`
  Name eines Dateiverzeichnisses relativ zum `HOME` Dateiverzeichnis, in welchem der Benutzer seine persönlichen bzw. privaten Ressourcendateien (Termindateien) speichert. Hat Vorrang vor `GCAL_SYS_DATADIR`.
`GCALANSI`
  Wenn definiert oder gesetzt, so werden ANSI Escape-Hervorhebungssequenzen als Grundeinstellung benutzt bzw. ergänzt, falls keine anderen Hervorhebungssequenzen mittels Kommandozeilenoption definiert werden oder in der Termcap Bibliotheksdatei aufgefunden werden.
`GCALPATH`
  Durch (`:`) Doppelpunkt separierte Liste von Dateiverzeichnissen, welche durchsucht werden, um die `.gcalrc` Datei zu finden. Hat Vorrang vor `HOME`, `GCAL_USR_DATADIR` und `GCAL_SYS_DATADIR`.
`GCALPROG`
  Enthält den Dateinamen des ausführbaren Gcal Programms, welcher vom Tcal Programm benutzt wird, um das Gcal Programm aufzurufen. Hat Vorrang vor dem beim Kompilationsvorgang in das Tcal Programm eingebrannten Dateinamen `gcal`. Die `GCALPROG` Umgebungsvariable muß immer dann gesetzt werden, wenn das Gcal Programm unter einem anderen Namen als dem Standardnamen `gcal` installiert ist, da Tcal sonst das Gcal Programm nicht automatisch ausführen kann!
`HOME`
  Name des Heimatverzeichnisses des Benutzers. Dieses wird benutzt, um die `.gcalrc` Datei zu finden. Hat Vorrang vor `GCAL_USR_DATADIR` und `GCAL_SYS_DATADIR`.
`LANGUAGE`
  Die Landessprache und sonstige kulturspezifische Konventionen, die Gcal zur Laufzeit verwenden soll. Hat Vorrang vor `LC_ALL`, `LC_MESSAGES` und `LANG`.
`LC_ALL`
  Die Landessprache und sonstige kulturspezifische Konventionen, die Gcal zur Laufzeit verwenden soll. Hat Vorrang vor `LC_MESSAGES` und `LANG`.
`LC_MESSAGES`
  Die Landessprache und sonstige kulturspezifische Konventionen, die Gcal zur Laufzeit verwenden soll. Hat Vorrang vor `LANG`.
`LANG`
  Die Landessprache und sonstige kulturspezifische Konventionen, die Gcal zur Laufzeit verwenden soll.
`LOGNAME`
  Die Postadresse, an welche die von Gcal erzeugte Ausgabe versandt wird. SieheGlobale Option `--mail[=Adresse]`, für weitere Details.
`MAILPROG`
  Der Name des Mailprogramms, das verwendet wird, wenn Postversand der von Gcal erzeugten Ausgabe gewünscht wird. Hat Vorrang vor dem beim Kompilationsvorgang in das Gcal Programm eingebrannten Dateinamen `mail`. SieheGlobale Option `--mail[=Adresse]`, für weitere Details.
`MAILTO`
  Die Postadresse, an welche die von Gcal erzeugte Ausgabe versandt wird. Hat Vorrang vor `USER` und `LOGNAME`. SieheGlobale Option `--mail[=Adresse]`, für weitere Details.
`PAGER`
  Der Name des externen Paginiererprogramms, das verwendet wird, wenn Paginierung gewünscht wird. SieheGlobale Option `--pager`, für weitere Details.
`PATH`
  Durch (`:`) Doppelpunkt separierte Liste von Dateiverzeichnissen, welche durchsucht werden, um das externe Paginiererprogramm zu finden. SieheGlobale Option `--pager`, für weitere Details.
`TERM`
  Der Terminaltyp, auf dem das Gcal Programm zum Ablauf kommt.
`TXT2GCALPROG`
  Enthält den Dateinamen des ausführbaren Txt2gcal Programms, welcher vom Gcal Programm benutzt wird, um das Txt2gcal Programm aufzurufen. Hat Vorrang vor dem beim Kompilationsvorgang in das Gcal Programm eingebrannten Dateinamen `txt2gcal`. Die `TXT2GCALPROG` Umgebungsvariable muß immer dann gesetzt werden, wenn das Txt2gcal Programm unter einem anderen Namen als dem Standardnamen `txt2gcal` installiert ist, da Gcal sonst das Txt2gcal Programm nicht automatisch ausführen kann! SieheTextvariablen, für weitere Details.
`TZ`
  Die Zeitzoneninformation, mit dem der Datumtext in versandten eMails, erzeugten Anwortdateien und erzeugten shell script Dateien versehen wird.
`USER`
  Die Postadresse, an welche die von Gcal erzeugte Ausgabe versandt wird. Hat Vorrang vor `LOGNAME`. SieheGlobale Option `--mail[=Adresse]`, für weitere Details.

Knoten:Fehlerkodes, Nächster:Glossar, Vorheriger:Umgebungsvariablen, Aufwärts:Top

# Fehlerkodes

Gcal erzeugt folgende exit-Kodes:

`127`
  Hilfeseite, Softwarelizenz bzw. Versionsnummer angefordert (einstellbar).
`126`
  Unzulässige Option bei Programmaufruf.
`125`
  Jahr außerhalb zulässigen Bereichs bei Ermittlung des Ostersonntags.
`124`
  Virtueller Speicher erschöpft.
`123`
  Unzulässiger Datumeintrag in Ressourcen- bzw. Einfügedatei.
`122`
  Ungültiger Monatseintrag in Ressourcen- bzw. Einfügedatei.
`121`
  Ungültiger Tageseintrag in Ressourcen- bzw. Einfügedatei.
`120`
  Mißgebildete #include Anweisung in Ressourcen- bzw. Einfügedatei.
`119`
  Unzulässige rekursive/zyklische #include Anweisung in Ressourcen- bzw. Einfügedatei.
`118`
  Ressourcen- bzw. Einfügedatei nicht gefunden.
`117`
  Ungültiges n'ter Wochentagsfeld (nur `1...5` oder `9` erlaubt).
`116`
  Fehlendes whitespace Trennzeichen zwischen Datumteil und Textteil.
`115`
  Antwortdatei bzw. shell script kann nicht geschrieben werden.
`114`
  Illegale Datumvariablen-Operation.
`113`
  Datumvariable undefiniert.
`112`
  Zuweisung von ungültigem Datumwert an Datumvariable.
`111`
  Versenden der Ausgabe an eMail Adresse hat versagt.
`110`
  Interner Fehler, C Funktion pipe(), fork(), exec*() oder unlink() hat versagt.
`109`
  Fehler beim Lesen der Ressourcen-, Einfüge- bzw. Antwortdatei aufgetreten.
`108`
  Illegales Zeichen in Antwortdatei vorgefunden.
`107`
  Interner Fehler, ungültiger Wert für die Größe einer internen Tabelle aufgetreten.
`106`
  Ungültiger Datumformattext angegeben.
`105`
  Illegale Textvariablen-Definition.
`104`
  Ungültiges regulär-Ausdruck Suchmuster angegeben.
`3`
  Programmabbruch durch Signal.
`2`
  Exit-Kode ungleich Null bei Kommandoausführung aufgetreten.
`1`
  Keine Ausgabe von Terminen obwohl Option `-c|C[]`, `-f|F Dateiname[+...]` oder `-# Zeile` aktiviert.
`0`
  Fehlerfreier Programmlauf.

Knoten:Glossar, Nächster:Argumentenindex, Vorheriger:Fehlerkodes, Aufwärts:Top

# Glossar

Hier ist eine alphabetische Liste der meisten Begriffe mit kurzen Erklärungen, die in diesem Handbuch eingeführt und benutzt werden:

Abendweite
Untergangsweite
  Der horizontale Winkelabstand zwischen dem Untergangsazimut eines Gestirns und der Westrichtung.
Allgemeine Optionsklasse
  Die Standardoptionen, welche jede GNU Software wenigstens teilweise aufweisen sollte.
Amateur-astronomische Dämmerung
  Die Uhrzeit, zu der der Mittelpunkt der Sonne eine Referenzhöhe, die bei 15 Grad unterhalb eines mathematischen Horizonts liegt, durchschreitet.
Anker
  Die `^` und `$` Metazeichen in einem regulären Ausdruck.
ANSI
  Das American National Standards Institute. Diese Organisation produziert viele Standards, unter anderem auch die Standards für die C und C++ Programmiersprachen.
Antwortdatei
  Eine Datei, aus der Optionen und Kommandos von Gcal bei Programmstart vorgeladen werden. Eine Antwortdatei darf Optionen und Kommandos enthalten, aber keine Verweise auf weitere Antwortdateien.
Asr Gebetszeit
  Die dritte islamische Gebetszeit. Beginnt am Nachmittag, wenn ein senkrechter Stab einen Schatten wirft, der einer bestimmten Länge entspricht, und endet vor Sonnenuntergang.
Astronomische Dämmerung
  Die Uhrzeit, zu der der Mittelpunkt der Sonne eine Referenzhöhe, die bei 18 Grad unterhalb eines mathematischen Horizonts liegt, durchschreitet.
Astronomische Einheit
  Eine Astronomische Einheit, abgekürzt AE, entspricht der mittleren Entfernung der Sonne von der Erde, die etwa 149.597.870,691 Kilometer beträgt.
Aufgangsazimut
  Das Azimut eines Gestirns, das sich zur Uhrzeit des Gestirnaufgangs ergibt.
Aufgangshöhe
  Die Höhe eines Gestirns, die sich zur Uhrzeit des Gestirnaufgangs ergibt.
Aufgangsphasenwinkel
  Der Phasenwinkel eines Gestirns, der sich zur Uhrzeit des Gestirnaufgangs ergibt.
Auswahloperator
  Das `|` Metazeichen wird in einem regulären Ausdruck benutzt, um Alternativen zu vereinbaren.
Azimut
  Der horizontale Winkelabstand zwischen dem Vertikalkreis, der durch einen Himmelskörper geht, und dem Nordpunkt.
Bürgerliche Dämmerung
  Die Uhrzeit, zu der der Mittelpunkt der Sonne eine Referenzhöhe, die bei 6 Grad unterhalb eines mathematischen Horizonts liegt, durchschreitet.
Bürgerlicher Mitternachtzeitpunkt
  Im Sinne von Gcal ist das 0 Uhr, der Tageswechsel hat gerade stattgefunden. Diese Uhrzeit wird auch alternativ mit 24 Uhr, oder 12am, bezeichnet.
Bürgerlicher islamischer Kalender
  Der arithmetisch ermittelte islamische Mondkalender.
Biorhythmus
  Auf- und absteigende Kurven, die drei miteinander zusammenhängende biologische Zyklen aufzeigen; und zwar den physischen, den emotionalen und der intellektuellen Zyklus.
BSD
  Die Kurzform für Berkeley Software Distribution, einer Unix Betriebssystemvariante.
C
  Die Systemprogrammiersprache, in der die meiste GNU Software geschrieben ist.
Dämmerung
  Die Zeitspanne vor Sonnenaufgang und noch einmal nach Sonnenuntergang, während der bereits natürliches Licht auf die obere Erdatmosphäre auftritt, das durch direkte Sonneneinstrahlung verursacht wird, und das nach unten, hin zur Erdoberfläche, reflektiert wird.
Datummodifizierer
  Gcal benutzt dasjenige Datum als Datum des heutigen Tages, das durch den Datummodifizierer vereinbart wurde, anstatt das Datum zu verwenden, das von der Computeruhr als Systemdatum geliefert wird.
Datumteil
  Derjenige Teil einer Gcal Ressourcendateizeile, der die Information enthält, wann ein Termin stattfindet.
Deklination
  Der vertikale Winkelabstand zwischen Gestirnmittelpunkt und Himmelsäquator.
Delta-t
  Die Differenz zwischen der Terrestrischen Dynamischen Zeit (englisch Terrestrial Dynamical time, abgekürzt TDT; die früher auch unter dem Begriff Ephemeridenzeit (ET) bekannt war) und der Weltzeit (UT). Also, `delta-t == TDT - UT`.
Dezimalsystem
  Ein Zahlensystem mit der Basis 10, in dem die Ziffern `0`...`9` sind.
Einfache Sprachkode-Information
  Ein aus zwei Buchstaben bestehender Sprachkode wie z.B. `de` für Deutsch, der in der ISO-639:1988 definiert ist.
Einfacher Dateiname
  Ein Name, der eine Datei bezeichnet, der aber keinen Verweis auf einen Zugriffspfad enthält, welcher entweder vom Wurzeldateiverzeichnis oder vom aktuellen Dateiverzeichnis aus fest vorgegeben ist, wie z.B. `file` oder `bar/file`.
Einzelnes Kommando
3-Monatsmodus Kommando
  Erzeugen nur ein Kalenderblatt je Programmlauf.
Ekliptik
  Die Tierkreislinie oder Sonnenbahn.
Ekliptischer Breitengrad
  Der vertikale Winkelabstand zwischen Gestirnmittelpunkt und Ekliptik.
Ekliptischer Längengrad
  Der horizontale Winkelabstand zwischen Gestirnmittelpunkt und Frühlingspunkt auf der Ekliptik.
Elongation
  Der von der Erde aus gesehene horizontale Winkelabstand zwischen Gestirnmittelpunkt und Sonnenmittelpunkt.
Endedatum eines Termins
  Ein Bestandteil eines Gcal Spezialtextes, der das letzte oder späteste Datum definiert, an dem ein Termin auftreten darf.
Erweiterte Sprachkode-Information
  Eine einfache Sprachkode-Information, die zusätzlich noch eine durch ein `_` abgegrenzte Territoriumsinformation hat, wie z.B. `en_us` für amerikanisches Englisch.
Erweiterter Dateiname
  Ein Name, der ein oder mehrere `/` Zeichen enthält, und der eine Datei bezeichnet, deren Zugriffspfad entweder vom Wurzeldateiverzeichnis aus fest vorgegeben ist, wie z.B. `/foo/bar/file`, oder vom aktuellen Dateiverzeichnis aus fest vorgegeben ist, wie z.B. `./bar/file` oder `../bar/file`.
Escape-Sequenz
  Eine spezielle Sequenz von Zeichen, die dazu benutzt wird, um nicht-druckbare Zeichen zu beschreiben, so wie `\E` oder `\033` oder `\x1B` für das ASCII `ESC` (Escape) Zeichen selbst.
Exklusive Tag Zeitraum
Exklusive Datum Zeitraum
  Ein Gcal Spezialtext, der dazu dient, nur diejenigen Termine zu berücksichtigen und auszugeben, die nicht in einem bestimmten Zeitraum liegen.
Fajr Gebetszeit
  Die erste islamische Gebetszeit. Beginnt mit dem Beginn der astronomischen Morgendämmerung, und endet kurz vor Sonnenaufgang.
Formatanweisung
  Ein Anweisungstext, mit dem Textvariablen, Spezialtexte und Datumformate zusätzlich ausgestattet werden können. Ein solcher Text bewirkt, daß die Inhalte von Textvariablen sowie die ausgewerteten Spezialtexte und Datumformate auf besondere Weise dargestellt werden.
Frühe Jahre
  In Bezug auf von Gcal ermittelte Feiertage ist das in etwa der Zeitraum A.D. 30 bis zur Mitte des 20'ten Jahrhunderts.
Frühlingspunkt auf der Ekliptik
Tagundnachtgleiche im Frühling
  Der Schnittpunkt der aufsteigenden Sonnenbahn auf dem Himmelsäquator; ist auch unter dem Zeitpunktbegriff Tagundnachtgleiche im Frühling bekannt.
FSF
Free Software Foundation
  Eine nicht auf Gewinnerzielung ausgerichtete Organisation, die sich der Produktion und dem Vetrieb von frei vertreibbarer Software verschrieben hat. Sie wurde von Richard M. Stallman gegründet, dem Autor des original Emacs Editors.
Ganzzahl
  Eine ganze Zahl, d.h. eine Zahl, die keinen Nachkommastellenteil hat.
Geometrischer Horizont
Mathematischer Horizont
Mathematisch-geozentrischer Horizont
  Ein rein geometrisch gebildeter Horizont, der die Refraktion unberücksichtigt läßt, die sich in der Realität durch den Einfluß der Erdatmosphäre ergibt.
Geozentrische Daten
  Vom fiktiven Erdmittelpunkt aus gemachte Beobachtungen von Gestirnen liefern geozentrisch-basierte Werte.
Geozentrischer Horizont
  Diejenige fiktive Horizontalebene, die durch den Erdmittelpunkt verläuft.
Gesetzlicher Feiertag
  Ein Tag, an dem die Bevölkerung nicht zu arbeiten braucht -- also in den meisten Firmen, und die Geschäfte haben geschlossen; wie am `Neujahrstag`, dem 1'ten Januar.
Gestirnhöhe
  Der vertikale Winkelabstand zwischen Gestirn und Horizont.
Gleichwertigkeitsklasse
  Eine Liste von gleichwertigen Zeichen in einem regulären Ausdruck, die mit `[=` und `=]` Metazeichen umschlossen wird.
Globale Datumvariable
  Eine Gcal Datumvariable, die in der Kommandozeile definiert ist. Ist in allen referenzierten Ressourcendateien sichtbar ist.
Globale Optionsklasse
  Die Optionen, welche die vom Programm erzeugte Ausgabe beeinflussen.
Globale Textvariable
  Eine Gcal Textvariable, die in der Kommandozeile definiert ist. Ist in allen referenzierten Ressourcendateien sichtbar ist.
Gnomon
  Ein senkrechter Stab, der zur Feststellung der Schattenlänge verwendet wird.
GNU
  GNU's not Unix. Ein fortwährendes Projekt der Free Software Foundation, um eine vollständige, frei verfügbare und POSIX konforme Rechenumgebung zu schaffen.
GPL
General Public License
  Die Bedingungen, unter denen Gcal und dessen Quellentext vertrieben werden darf.
Größenklasse
  Wird dazu benutzt, um die Helligkeit eines Gestirns zu definieren, und ist ein nicht-metrischer Wert (lateinisch magnitudo, abgekürzt m). Die Differenz zwischen zwei aufeinanderfolgenden Größenklassen beträgt 1 zu 2,512. Ein Stern der Helligkeit 1m ist also 2,512 mal heller als ein Stern 2m. Eine negative Größe bezeichnet einen sehr hellen Stern, zum Beispiel hat die Sonne nahezu -27m, während der kaum sichtbare Planet Pluto eine Helligkeit von etwas über +14m hat. Der Vollmond hat eine visuelle Helligkeit von circa -12m,55.
Gregorianischer Kalender
  Der A.D. 1582 durch Papst Gregor XIII eingeführte Kalender, der eine durchschnittliche Jahreslänge von 365,2425 Tagen hat. Dieser Kalender wird heutzutage weltweit am meisten berücksichtigt.
Herbstpunkt auf der Ekliptik
Tagundnachtgleiche im Herbst
  Der Schnittpunkt der absteigenden Sonnenbahn auf dem Himmelsäquator; ist auch unter dem Zeitpunktbegriff Tagundnachtgleiche im Herbst bekannt.
Hervorhebungssequenz
  Eine Folge von Steuerzeichen, die eine Farbumschaltung oder eine Intensitätsumschaltung von auszugebendem Text bewirken. Typische Steuerzeichenfolgen sind die so genannten ANSI Escape-Sequenzen, welche als erstes Zeichen der Sequenz ein Escape Zeichen aufweisen, und danach weitere Zeichen, die die Art der ANSI Escape-Sequenz definieren.
Hexadezimalsystem
  Ein Zahlensystem mit der Basis 16, in dem die Ziffern `0`...`9` und `A`...`F` sind, wobei `A` eine 10 darstellt, `B` eine 11 darstellt, und so weiter, bis zum `F` für die 15.
Himmelsachse
  Die gerade Verbindungslinie, die durch den nördlichen und den südlichen Himmelspol verläuft.
Himmelsäquator
  Ein Großkreis am Himmel, der senkrecht auf der Himmelsachse steht und gleichzeitig den an das Himmelsgewölbe projizierten Erdäquator darstellt.
Himmelspol
  Der auf das Himmelsgewölbe projizierte Punkt der nördlichen bzw. südlichen Verlängerung der Rotationsachse der Erde.
Horizontalparallaxe
  Die Horizontalparallaxe der eines Gestirns gibt den Durchmesser der Erde an, so wie er von der Oberfläche des Gestirns aus zu sehen ist.
Hybrid-Kalendermodus
  Die automatische Umstellung von einem Kalendersystem auf ein anderes, wenn sich Bezüge auf einen Zeitpunkt ergeben, für den das andere Kalendersystem gilt. Also, Gcal stellt sich automatisch vom Julianischen Kalendersystem auf das Gregorianische Kalendersystem um, wenn sich Ausgaben auf einen Zeitpunkt nach der Gregorianischen Reformation beziehen.
Inklusive Tag Zeitraum
Inklusive Datum Zeitraum
  Ein Gcal Spezialtext, der dazu dient, nur diejenigen Termine zu berücksichtigen und auszugeben, die in einem bestimmten Zeitraum liegen.
Intervall-Ausdruck
  Eine oder zwei Zahlen innerhalb geschweifter Klammern in einem regulären Ausdruck.
Isha Gebetszeit
  Die fünfte islamische Gebetszeit. Beginnt mit dem Ende der astronomischen Abenddämmerung und endet kurz vor dem astronomischen Mitternachtzeitpunkt der Sonne.
ISO
  ISO ist die Abkürzung für International Organization for Standardization.
ISO-Wochennummer
  Die Woche beginnt mit dem Montag, und die erste Woche des Jahres ist diejenige Woche, in welche der erste Donnerstag fällt, also gleich derjenigen Woche ist, in welcher der 4'te Januar auftritt.
Julianische Ephemeridendatum
  Ein um delta-t korrigiertes Julianisches Datum.
Julianischer Kalender
  Der im Jahre 46 vor Christus durch Julius Cäsar eingeführte und später durch Kaiser Augustus verbesserte Kalender, der eine durchschnittliche Jahreslänge von 365,25 Tagen hat. Dieser Kalender wurde A.D. 1582 vom Gregorianischen Kalender abgelöst.
Julianisches Datum
Julianische Tageszahl
  Eine Tageszahl, die sich auf das Datum 1'ter Januar 4713 vor Christus bezieht, welches für astronomische Berechnungen als der Tag Null einer durchlaufenden Tageszählung angesehen wird. Der exakte Nullpunkt von diesem Datum ist um 12 Uhr Weltzeit (UTC/GMT); der Tageswechsel erfolgt also nicht um Mitternacht, sondern um Mittag Weltzeit.
Kalender Optionsklasse
  Die Optionen, die das Kalender Layout steuern.
Kommandozeilenargument
  Ein besonderer Text, der zumeist über die Kommandozeile an Gcal bei Aufruf übergeben wird, und welcher der Programmsteuerung dient.
Kommando
  Ein bestimmter Typ von Kommandozeilenargument, der die Zeiträume kontrolliert, die von Gcal berücksichtigt werden.
Konjunktion
  Ein Gestirn steht von der Erde aus gesehen entweder hinter der Sonne, oder zwischen Sonne und Erde, und ist somit von der Erde aus nicht sichtbar. Auf den Mond bezogen ist das die Neumondphase.
Kritischer Tag
  Solche Tage im Biorhythmus, an denen eine oder mehrere der biologischen Zyklen den Nullpunkt überqueren. Zu einem solchen Zeitpunkt, so wird gesagt, soll sich der Organismus in einem Stadium des Umbruchs befinden, und es scheint angebracht zu sein, Vorsicht walten zu lassen.
Kurzoption
  Der traditionelle --standardgemäße-- Stil, eine Option zu schreiben, z.B. `-x`.
Langoption
  Ein besonderer --nicht standardgemäßer-- Stil, eine Option zu schreiben, z.B. `--foo`.
Listen von Kommandos
Bereiche von Kommandos
  Erzeugen mehr als ein Kalenderblatt je Programmlauf
Lokale Datumvariable
  Eine Gcal Datumvariable, die in einer Ressourcendatei definiert ist. Ist nur in dieser spezifischen Datei und derjenigen Datei sichtbar, die in diese eingefügt wird.
Lokale Sternzeit
Lokale siderische Uhrzeit
  Die momentane Zeitspanne, die zwischen der letzten oberen Kulmination des Frühlingspunktes im Merdian des Beobachtungsstandortes verflossen ist (der momentane Stundenwinkel des Frühlingspunktes), also die momentane Rektazension der Gestirne im Beobachtungsmeridian.
Lokale Textvariable
  Eine Gcal Textvariable, die in einer Ressourcendatei definiert ist. Ist nur in dieser spezifischen Datei und derjenigen Datei sichtbar, die in diese eingefügt wird.
Lunarer Polarkreis
  Der geographische Breitenkreis, der etwa zwischen 61,5 und 71,9 Dezimalgrad, und dem geographischen Pol liegt.
Lunation
Synodischer Monat
  Die durchschnittliche Zeitspanne zwischen zwei aufeinanderfolgenden Neumondphasen.
Maghrib Gebetszeit
  Die vierte islamische Gebetszeit. Beginnt bei Sonnenuntergang, und endet zu Anfang der Isha Gebetszeit.
Markierungszeichen
  Einzelne, druckbare Zeichen, die dem auszugebenden Text zu Markierungszwecken vorangehen bzw. folgen.
Meridian
  Entweder ein geographischer Längengrad, oder ein astronomischer Vertikalkreis.
Metazeichen
Regulär-Ausdruck Operator
  Besondere Zeichen in einem regulären Ausdruck.
Mittagshöhe
  Die Höhe eines Gestirns, die sich zur Uhrzeit des astronomischen Mittagzeitpunktes des Gestirns ergibt.
Mittagslinie
  Die Verbindungsgerade, die zwischen dem Nordpunkt und dem Südpunkt verläuft.
Mittagsphasenwinkel
  Der Phasenwinkel eines Gestirns, der sich zum astronomischen Mittagzeitpunkt des Gestirns ergibt.
Mitternachtshöhe
  Die Höhe eines Gestirns, die sich zur Uhrzeit des astronomischen Mitternachtzeitpunktes des Gestirns ergibt.
Mitternachtsphasenwinkel
  Der Phasenwinkel eines Gestirns, der sich zum astronomischen Mitternachtzeitpunkt des Gestirns ergibt.
Mittlere Sonnenzeit
Mittlerer Sonnentag
Mittlere Sonne
  Ein Sterntag wird auch als mittlerer Sonnentag bezeichnet. Da sich die Sonne gegenüber dem Frühlingspunkt auf der Ekliptik wegen der Erdbewegung um die Sonne scheinbar verschiebt, sind Sterntag und wahrer Sonnentag nicht gleich lang. Da sich die wahre Sonne nämlich ungleichförmig durch die Ekliptik bewegt, läßt man eine fiktive mittlere Sonne gleichmäßig durch den Himmelsäquator laufen und bezieht die mittlere Sonnenzeit auf diese.
Mittlerer Erdäquatoradius
  Der mittlere Radius der Erde am Äquator beträgt etwa 6.378,137 Kilometer.
Modifizierer
  Ein oder mehrere Zeichen, welche einer Kurzoption direkt folgen und einen besonderen Modus für diese Option definieren.
Morgenweite
Aufgangsweite
  Der horizontale Winkelabstand zwischen dem Aufgangsazimut eines Gestirns und der Ostrichtung.
Nautische Dämmerung
  Die Uhrzeit, zu der der Mittelpunkt der Sonne eine Referenzhöhe, die bei 12 Grad unterhalb eines mathematischen Horizonts liegt, durchschreitet.
Negativer Tag
  Solche Tage im Biorhythmus, an denen eine oder mehrere der biologischen Zyklen einen negativen Maximalwert haben. Zu einem solchen Zeitpunkt, so wird gesagt, soll sich der Organismus in einem verminderten Stadium befinden.
Negierte Zeichenliste
Komplementäre Zeichenliste
  Paßt, ausgenommen die durch eckige Klammern umschlossenen Einzelzeichen, auf jedes Einzelzeichen in einem Text, der durch einen regulären Ausdruck verarbeitet wird.
Oberer Kulminationspunkt
  Der höchste Punkt ober- oder unterhalb der Horizontalebene, der vom Mittelpunkt eines Himmelskörpers an einem Tag durchlaufen wird.
Oktalsystem
  Ein Zahlensystem mit der Basis 8, in dem die Ziffern `0`...`7` sind.
Opposition
  Die Erde steht in einer Linie zwischen Gestirn und Sonne, und das Gestirn ist somit vollständig von der Erde aus sichtbar. Auf den Mond bezogen ist das die Vollmondphase.
Option
  Ein bestimmter Typ von Kommandozeilenargument, der verschiedene Verhaltensweisen bei Gcal auslöst.
Orthodrome
  Ein Großkreisbogen, der zwischen zwei Punkten auf einer Kugeloberfläche geschlagen wird. Stellt die kürzeste geodätische Verbindungslinie zwischen zwei Punkten auf einer Kugel dar.
Phasenwinkel
  Der Phasenwinkel gibt die Phase eines Himmelkörpers an, d.h. den beleuchteten Anteil des Himmelskörpers, so wie er von der Erde aus zu sehen ist.
Pipelining
  Die Programmausgabe dient als Eingabedatenstrom für ein weiteres Programm.
Positiver Tag
  Solche Tage im Biorhythmus, an denen eine oder mehrere der biologischen Zyklen einen positiven Maximalwert haben. Zu einem solchen Zeitpunkt, so wird gesagt, soll sich der Organismus in einem gesteigerten Stadium befinden.
POSIX
  Der Name für eine Reihe von Standards, die von der IEEE entwickelt wurden, welche eine portable Betriebssystemschnittstelle (Portable Operating System interface) angeben. Das IX bezeichnet die Unix Herkunft dieser Standards.
Proleptischer-Kalendermodus
  Darunter ist zu verstehen, daß Gcal während eines bestimmten Zeitraums durchweg nur dieses eine bestimmte Kalendersystem verwendet, obwohl in der geschichtlichen Realität durchaus der Wechsel hin zu einem anderen Kalendersystem in diesem Zeitraums stattgefunden hat.
Rechtweisender Kurswinkel
  Der Kurswinkel gibt die Richtung an, mit der ein Großkreisbogen (Orthodrome), der zwischen zwei Punkten auf einer Kugeloberfläche geschlagen wird, einen Meridian schneidet (Gcal benutzt einen Geoid (Rotationsellipsoid), der in Anlehnung an das 1961 geschaffene Geodätische Welt System, abgekürzt W.G.S, berechnet wird). Ein solcher Großkreisbogen stellt die kürzeste geodätische Verbindungslinie zwischen zwei Punkten auf einer Kugel dar. Allerdings ändern sich die Kurswinkel auf einem solchen Großkreis stetig, da die geschlagene Kreiskurve jeden Meridian unter einem anderen Winkel schneidet -- hiervon ausgenommen ist der Fall, daß sich beide Koordinaten entweder genau auf den gleichen Längengrad, oder genau auf den gleichen Breitengrad beziehen.
Redirektionierung
  Die Programmausgabe wird auf einen anderen Gerätekanal umgelenkt, anstatt daß sie auf den Standard-Ausgabekanal gesendet wird.
Reelle Zahl
Fließpunktzahl
  Eine Zahl, die einen Nachkommastellenteil haben kann.
Refraktion
  Refraktion oder Strahlenbrechung ist ein durch die Erdatmosphäre verursachtes optisches Phänomen, daß zu einer scheinbaren Hebung des Gestirnsortes über dem Horizont führt. Der Betrag der Refraktion nimmt bei steigendem Luftdruck und sinkender Temperatur zu und umgekehrt.
Regexp
Regulärer Ausdruck
  Ein Weg zur Beschreibung einer Klasse von Zeichenketten.
Rektazension
  Der horizontale Winkelabstand zwischen Gestirnmittelpunkt und dem durch den Frühlingspunkt auf der Ekliptik verlaufenden Stundenkreis.
Relativer Zeitversatzwert
  Ein Zeitversatzwert, der sich auf eine Basiszeit bezieht.
Religiöser islamischer Kalender
  Der astronomisch ermittelte islamische Mondkalender.
Ressourcendatei
  Eine Datei, die im wesentlichen die Termineinträge enthält.
RFC
  RFC ist die Abkürzung für Request for Comments.
Schaltjahr
  Im Gregorianischen Kalender ist jedes Jahr ein Schaltjahr, dessen Nummer ohne Rest durch 4 geteilt werden kann, und Jahrhundertwenden sind keine Schaltjahre, wenn sie nicht ganzzahlig durch 400 geteilt werden können. Aber die östlichen orthodoxen Kirchen berechnen Schaltjahre innerhalb des Gregorianischen Kalenders mittels einer anderen Regel; und zwar ist ein Schaltjahr jedes Jahr, dessen Nummer ohne Rest durch 4 geteilt werden kann, und Jahrhundertwenden sind Schaltjahre, wenn sie durch 9 geteilt einen Divisionsrest von 2 oder 6 aufweisen.
Schalttag
  Der 29'te Februar im Gregorianischen Kalender.
Scheitelkreis
  Ein Vertikalkreis.
Shell
  Der Kommandointerpretierer des Betriebssystems. Dieses Betriebssystemprogramm interpretiert Kommandozeilen und führt diese aus.
Solarer Polarkreis
  Der geographische Breitenkreis, der etwa zwischen 66,7 und 65,9 (refraktionskorrigiert) Dezimalgrad, und dem geographischen Pol liegt. Für die Berechnung der verschiedenen Dämmerungsphasen verringert sich dieser Breitenkreis auf etwa:
  - 60,7 Dezimalgrad bei der bürgerlichen Dämmerung.
  - 54,7 Dezimalgrad bei der nautischen Dämmerung.
  - 51,7 Dezimalgrad bei der amateur-astronomischen Dämmerung.
  - 48,7 Dezimalgrad bei der astronomischen Dämmerung.
Sommerpunkt auf der Ekliptik
Sommersonnenwende
Sonnenwende im Sommer
  Die Sonnenbahn durchquert den höchsten Punkt oberhalb des Himmelsäquators, der während eines Erdumlaufs um die Sonne durchlaufen wird.
Spezialtext
  Ein durch ein `%` Zeichen eingeleiteter Text in einer Gcal Ressourcendatei, der entweder die Ausgabe von Terminen in bestimmten Fällen unterdrückt, oder aber diese mit besonderen Texten auszustattet bzw. externe Kommandos ausführt.
Standard-Wochennummer
  Die Woche beginnt mit dem jeweiligen Starttag der Woche, und diejenigen Tage in einem neuen Jahr, die dem ersten Starttag der Woche vorangehen, liegen in der letzten Woche des Vorjahres, bzw. in der Woche Null des neuen Jahres.
Startdatum eines Termins
  Ein Bestandteil eines Gcal Spezialtextes, der das erste oder früheste Datum definiert, an dem ein Termin auftreten darf.
Statute Meile
  Ein Längenmaß; eine statute Meile entspricht 1,609344 Kilometer.
Sterntag
  Der Zeitraum zwischen zwei aufeinanderfolgenden oberen Kulminationen des Frühlingspunktes auf der Ekliptik im Meridian des Beobachtungsstandortes.
String
  Eine Zeichenkette.
Suchmuster
  Ein Suchmuster ist ein einstellbarer, bedingter Ausdruck, gegen den eine Eingabe getestet wird. Wenn die Bedingung erfüllt ist, so paßt das Suchmuster auf die Eingabe, wie man so sagt. Ein typisches Suchmuster könnte eine Eingabe gegen einen regulären Ausdruck vergleichen.
Termin Optionsklasse
  Die Optionen, die das Layout der Termine und deren Intensität kontrollieren.
Textteil
  Derjenige Teil einer Gcal Ressourcendateizeile, der den Termintext enthält.
Topozentrische Daten
  Von der Erdoberfläche aus gemachte Beobachtungen von Gestirnen liefern topozentrisch-basierte Werte.
Unix
  Ein Betriebssystem für Computer, daß Anfang 1970 von den AT&T Bell Labaratories entwickelt wurde. Es wurde anfänglich weltweit an den Universitäten poplär, und etablierte sich später in kommerziellen Umgebungen als Entwicklungssystem für Software und als System für Netzwerkdienste. Es gibt viele kommerzielle Versionen von Unix, ebenso wie zahlreiche Systeme, die in ähnlicher Weise arbeiten und deren Quellentext frei erhältlich ist (so wie Linux, NetBSD, und FreeBSD).
Umgebung
Environment
  Eine Sammlung von strings der Form `Name``=`Wert, die jedem Programm zur Verfügung steht. Benutzer stellen im allgemeinen Werte in die Umgebung, um die zahlreichen Programme mit Informationen zu versorgen. Typische Beispiele sind die Umgebungsvariablen `HOME` und `PATH`.
Umschaltzeichen
  Eine Option wird durch ein führendes Umschaltzeichen definiert; entweder das `-` oder das `/` Zeichen bei traditionellen Kurzoptionen, oder zwei `--` bei den mnemotechnischen Langoptionen; einem Kommando darf kein Umschaltzeichen vorangehen.
Unterer Kulminationspunkt
  Der niedrigste Punkt unter- oder oberhalb der Horizontalebene, der vom Mittelpunkt eines Himmelskörpers an einem Tag durchlaufen wird.
Untergangsazimut
  Das Azimut eines Gestirns, das sich zur Uhrzeit des Gestirnuntergangs ergibt.
Untergangshöhe
  Die Höhe eines Gestirns, die sich zur Uhrzeit des Gestirnuntergangs ergibt.
Untergangsphasenwinkel
  Der Phasenwinkel eines Gestirns, der sich zur Uhrzeit des Gestirnuntergangs ergibt.
Vergleichendes Element
  Eine Spezialfolge in einer Zeichenliste eines regulären Ausdrucks. Diese läß sich auf Nicht-ASCII Zeichensätze anwenden, welche einzelne Symbole haben können, die mit mehr als einem Zeichen dargestellt werden, ebensogut wie zahlreiche Zeichen, die gleichwertig für Vergleichs- oder Sortierungszwecke benutzt werden können.
Vergleichendes Symbol
  Ein Multizeichen vergleichendes Element in einem regulären Ausdruck, das mit `[.` und `.]` Metazeichen umschlossen wird.
Wahre Sonnenzeit
Wahrer Sonnentag
  Ein wahrer Sonnentag ist die Zeitspanne zwischen zwei aufeinanderfolgenden unteren Kulminationen der Sonne. Hieraus wird die wahre Sonnenzeit abgeleitet (so wie sie auch von einer Sonnenuhr während des Tages angezeigt wird).
Whitespace
  Das sind zum Beispiel Tab, Space, Form-Feed und ähnliche Zeichen.
Winterpunkt auf der Ekliptik
Wintersonnenwende
Sonnenwende im Winter
  Die Sonnenbahn durchquert den niedrigsten Punkt unterhalb des Himmelsäquators, der während eines Erdumlaufs um die Sonne durchlaufen wird.
Wort
  Eine Folge von einem oder mehreren Buchstaben, Zahlen oder Unterstrichzeichen (`_`) in einem regulären Ausdruck.
Zeichenklasse
  Eine Zeichenklasse in einem regulären Ausdruck ist eine spezielle Bezeichnung, um Zeichenlisten, die mit speziellen Eigenschaften ausgestattet sind, zu beschreiben, wohingegen sich aber die aktuellen Zeichen selbst von Land zu Land und/oder Zeichensatz zu Zeichensatz verändern.
Zeichenliste
  Paßt auf jedes durch eckige Klammern umschlossene Einzelzeichen in einem Text, der durch einen regulären Ausdruck verarbeitet wird.
Zeichensatz
  Die Menge der numerischen Kodes, die von einem Computersystem benutzt wird, um die Zeichen (Buchstaben, Zahlen, Interpunktion, etc.) darzustellen, die in einem bestimmten Land oder Ort benutzt werden. Der heute allgemein am meisten benutzte Zeichensatz ist ASCII (American Standard Code for Information Interchange). In vielen europäischen Ländern wird eine Erweiterung des ASCII Zeichensatzes benutzt, die als ISO-8859-1 (ISO Latin-1) bekannt ist.
Zeitgleichung
  Eine Korrektur, die zur wahren Sonnenzeit --wie auf einer Sonnenuhr abgelesen-- hinzuaddiert wird, um die mittlere Sonnenzeit zu erhalten.
Zuhr Gebetszeit
  Die zweite islamische Gebetszeit. Beginnt nach dem astronomischen Mittagzeitpunkt der Sonne, und endet zu Anfang der Asr Gebetszeit.
Zyklusmodus
  Die dynamischen, von der jeweiligen Uhrzeit abhängigen, sonnen- und mondbezogene Spezialtexte werden für eine Folge von Uhrzeiten des laufenden Tages berechnet, d.h. für ein beliebiges, vom Benutzer individuell definierbares Zeitintervall ermittelt.

Knoten:Argumentenindex, Nächster:Variablenindex, Vorheriger:Glossar, Aufwärts:Top

# Verzeichnis der Kommandozeilenargumente

Hier ist eine alphabetische Liste der Kommandozeilenargumente, die von Gcal verarbeitet werden:

- `%Datum`: Datummodifizierer
- `-# Zeile`: Termin Optionen
- `-*dn`: Termin Optionen
- `-*dnwww`: Termin Optionen
- `-*wn`[`www`]``: Termin Optionen
- `--adjust-value=Argument`: Termin Optionen
- `--alternative-format`: Termin Optionen
- `--astronomical-holidays`: Kalender Optionen
- `--atmosphere=Luftdruck`[,`Temperatur`]``: Termin Optionen
- `--bahai-holidays`: Kalender Optionen
- `--bahai-months`: Kalender Optionen
- `--biorhythm-axis=Anzahl`: Termin Optionen
- `--blocks=1`: Kalender Optionen
- `--blocks=12`: Kalender Optionen
- `--blocks=2`: Kalender Optionen
- `--blocks=3`: Kalender Optionen
- `--blocks=4`: Kalender Optionen
- `--blocks=6`: Kalender Optionen
- `--blocks=Anzahl`: Kalender Optionen
- `--calendar-dates=both`: Kalender Optionen
- `--calendar-dates=special`: Kalender Optionen
- `--calendar-dates=special`|`both`: Kalender Optionen
- `--cc-holidays=cc`[`_tt`][`+`...]``: Kalender Optionen
- `--celtic-holidays`: Kalender Optionen
- `--chinese-flexible-holidays`: Kalender Optionen
- `--chinese-flexible-months`: Kalender Optionen
- `--chinese-holidays`: Kalender Optionen
- `--chinese-months`: Kalender Optionen
- `--christian-holidays`: Kalender Optionen
- `--coptic-months`: Kalender Optionen
- `--copyleft`: Allgemeine Optionen
- `--copyright`: Allgemeine Optionen
- `--cycle-end=Argument`: Termin Optionen
- `--cycle-step=Argument`: Termin Optionen
- `--date-format=de`|`us`|`gb`|`Text`: Kalender Optionen
- `--date-variable=Argument`: Termin Optionen
- `--debug=abort`: Globale Optionen
- `--debug=all`: Globale Optionen
- `--debug=handled`: Globale Optionen
- `--debug=internal`: Globale Optionen
- `--debug=unhandled`: Globale Optionen
- `--debug`[`=internal`|`handled`|`unhandled`|`all`|`abort`]``: Globale Optionen
- `--descending-fixed-dates=long`: Termin Optionen
- `--descending-fixed-dates=short`: Termin Optionen
- `--descending-fixed-dates`[`=short`|`long`]``: Termin Optionen
- `--descending-holiday-list=long`: Kalender Optionen
- `--descending-holiday-list=short`: Kalender Optionen
- `--descending-holiday-list`[`=long`|`short`]``: Kalender Optionen
- `--disable-highlighting`: Globale Optionen
- `--end-of-month`: Termin Optionen
- `--end-of-week`: Termin Optionen
- `--end-of-year`: Termin Optionen
- `--ethiopic-months`: Kalender Optionen
- `--exclude-fixed-dates-list-title`: Termin Optionen
- `--exclude-holiday-list-title`: Kalender Optionen
- `--execute-command`: Termin Optionen
- `--exit-status-help-non-zero`: Allgemeine Optionen
- `--export-date-variables`: Datumvariablen, Termin Optionen
- `--export-text-variables`: Textvariablen, Termin Optionen
- `--filter-day=Argument`: Termin Optionen
- `--filter-period=Argument`: Termin Optionen
- `--filter-text=Suchmuster`: Termin Optionen
- `--fixed-dates=both`: Kalender Optionen
- `--fixed-dates=special`: Kalender Optionen
- `--fixed-dates=special`|`both`: Kalender Optionen
- `--force-highlighting`: Globale Optionen
- `--french-revolutionary-months`: Kalender Optionen
- `--gregorian-reform=1582`|`1700`|`1752`|`1753`|`Argument`: Kalender Optionen
- `--grouping-text`[`=Text`]``: Termin Optionen
- `--hebrew-holidays`: Kalender Optionen
- `--hebrew-months`: Kalender Optionen
- `--help`: Aufruf von gcal2txt, Aufruf von txt2gcal, Aufruf von tcal, Allgemeine Optionen
- `--here=Zeile`: Termin Optionen
- `--highlighting=no`: Globale Optionen
- `--highlighting=Text`: Globale Optionen
- `--highlighting=yes`: Globale Optionen
- `--holiday-dates=both`: Kalender Optionen
- `--holiday-dates=special`: Kalender Optionen
- `--holiday-dates=special`|`both`: Kalender Optionen
- `--holiday-list=long`: Kalender Optionen
- `--holiday-list=short`: Kalender Optionen
- `--holiday-list`[`=long`|`short`]``: Kalender Optionen
- `--ignore-case`: Termin Optionen
- `--include-consecutive-number`: Termin Optionen
- `--include-holidays=long`: Termin Optionen
- `--include-holidays=short`: Termin Optionen
- `--include-resource-file-name`: Termin Optionen
- `--include-today`: Termin Optionen
- `--include-week-number`: Termin Optionen
- `--indian-civil-months`: Kalender Optionen
- `--islamic-civil-holidays`: Kalender Optionen
- `--islamic-civil-months`: Kalender Optionen
- `--iso-week-number=no`: Kalender Optionen
- `--iso-week-number=yes`: Kalender Optionen
- `--iso-week-number=yes`|`no`: Kalender Optionen
- `--japanese-flexible-holidays`: Kalender Optionen
- `--japanese-flexible-months`: Kalender Optionen
- `--japanese-holidays`: Kalender Optionen
- `--japanese-months`: Kalender Optionen
- `--leap-day=february`: Termin Optionen
- `--leap-day=february`|`march`: Termin Optionen
- `--leap-day=march`: Termin Optionen
- `--license`: Allgemeine Optionen
- `--limit`: Termin Optionen
- `--list-mode`: Termin Optionen
- `--list-of-fixed-dates=long`: Termin Optionen
- `--list-of-fixed-dates=short`: Termin Optionen
- `--list-of-fixed-dates`[`=short`|`long`]``: Termin Optionen
- `--long-help=?`: Allgemeine Optionen
- `--long-help`[`=Argument`]``: Allgemeine Optionen
- `--mail`[`=Adresse`]``: Globale Optionen
- `--month`: Termin Optionen
- `--moonimage-lines=Anzahl`: Termin Optionen
- `--multicultural-new-year-holidays`: Kalender Optionen
- `--old-armenic-months`: Kalender Optionen
- `--old-egyptic-months`: Kalender Optionen
- `--omit-multiple-date-part`: Termin Optionen
- `--orthodox-calendar`: Kalender Optionen
- `--orthodox-new-holidays`: Kalender Optionen
- `--orthodox-old-holidays`: Kalender Optionen
- `--pager`: Globale Optionen
- `--period-of-fixed-dates=Argument`: Termin Optionen
- `--persian-jalaali-holidays`: Kalender Optionen
- `--persian-jalaali-months`: Kalender Optionen
- `--precise`: Termin Optionen
- `--resource-file=Dateiname`[`+`...]``: Termin Optionen
- `--response-file=Dateiname`: Globale Optionen
- `--revert-match`: Termin Optionen
- `--shell-script=Dateiname`: Globale Optionen
- `--shift=`[`+`|`-`]`Zahl`: Aufruf von tcal
- `--start-of-month`: Termin Optionen
- `--start-of-week`: Termin Optionen
- `--start-of-year`: Termin Optionen
- `--starting-day=Argument`: Kalender Optionen
- `--suppress-calendar`: Kalender Optionen
- `--suppress-date-part`: Termin Optionen
- `--suppress-fixed-dates-list-separator`: Termin Optionen
- `--suppress-holiday-list-separator`: Kalender Optionen
- `--suppress-text-part`: Termin Optionen
- `--text-variable=Argument`: Termin Optionen
- `--time-offset=Argument`: Kalender Optionen
- `--today`: Termin Optionen
- `--tomorrow`: Termin Optionen
- `--transform-year=Argument`: Kalender Optionen
- `--translate-string=Text`: Kalender Optionen
- `--type=special`|`standard`: Kalender Optionen
- `--usage=?`: Allgemeine Optionen
- `--usage`[`=Argument`]``: Allgemeine Optionen
- `--version`: Aufruf von gcal2txt, Aufruf von txt2gcal, Aufruf von tcal, Allgemeine Optionen
- `--week`: Termin Optionen
- `--with-week-number`: Kalender Optionen
- `--year`: Termin Optionen
- `--zero-dates-only`: Termin Optionen
- `--zodiacal-marker-holidays`: Kalender Optionen
- `-?`: Allgemeine Optionen
- `-??`: Allgemeine Optionen
- `-@dvar`[`+`|`-`]`nwww`: Termin Optionen
- `-@dvar`[[`+`|`-`]`n`]``: Termin Optionen
- `-@e`[`+`|`-`]`nwww`: Termin Optionen
- `-@e`[[`+`|`-`]`n`]``: Termin Optionen
- `-@t`[`+`|`-`]`nwww`: Termin Optionen
- `-@t`[[`+`|`-`]`n`]``: Termin Optionen
- `-A`: Termin Optionen
- `-a`: Termin Optionen
- `-b 1`: Kalender Optionen
- `-b 12`: Kalender Optionen
- `-b 2`: Kalender Optionen
- `-b 3`: Kalender Optionen
- `-b 4`: Kalender Optionen
- `-b 6`: Kalender Optionen
- `-b Anzahl`: Kalender Optionen
- `-C`: Termin Optionen
- `-c`: Termin Optionen
- `-c*dn`: Termin Optionen
- `-c*dnwww`: Termin Optionen
- `-c*wn`[`www`]``: Termin Optionen
- `-C-`: Termin Optionen
- `-c-`: Termin Optionen
- `-c@dvar`[`+`|`-`]`nwww`: Termin Optionen
- `-c@dvar`[[`+`|`-`]`n`]``: Termin Optionen
- `-c@e`[`+`|`-`]`nwww`: Termin Optionen
- `-c@e`[[`+`|`-`]`n`]``: Termin Optionen
- `-c@t`[`+`|`-`]`nwww`: Termin Optionen
- `-c@t`[[`+`|`-`]`n`]``: Termin Optionen
- `-c`[`m`|`M`[`+`|`-`]``]``: Termin Optionen
- `-c`[`t`|`T`]``: Termin Optionen
- `-c`[`w`|`W`[`+`|`-`]``]``: Termin Optionen
- `-c`[`y`|`Y`[`+`|`-`]``]``: Termin Optionen
- `-cA`: Termin Optionen
- `-ca`: Termin Optionen
- `-cd`: Termin Optionen
- `-cE`: Termin Optionen
- `-ce`: Termin Optionen
- `-cg`[`Text`]``: Termin Optionen
- `-cJ`: Termin Optionen
- `-ck`: Termin Optionen
- `-cl`: Termin Optionen
- `-cl*dn`: Termin Optionen
- `-cl*dnwww`: Termin Optionen
- `-cl*wn`[`www`]``: Termin Optionen
- `-cl@dvar`[`+`|`-`]`nwww`: Termin Optionen
- `-cl@dvar`[[`+`|`-`]`n`]``: Termin Optionen
- `-cl@e`[`+`|`-`]`nwww`: Termin Optionen
- `-cl@e`[[`+`|`-`]`n`]``: Termin Optionen
- `-cl@t`[`+`|`-`]`nwww`: Termin Optionen
- `-cl@t`[[`+`|`-`]`n`]``: Termin Optionen
- `-clmmtt`: Termin Optionen
- `-clmmwwwn`: Termin Optionen
- `-cln+`|`-`: Termin Optionen
- `-clnd`: Termin Optionen
- `-clnw`: Termin Optionen
- `-cm`: Termin Optionen
- `-cm+`: Termin Optionen
- `-cm-`: Termin Optionen
- `-cmmtt`: Termin Optionen
- `-cmmwwwn`: Termin Optionen
- `-cn+`|`-`: Termin Optionen
- `-cnd`: Termin Optionen
- `-cnw`: Termin Optionen
- `-co`: Termin Optionen
- `-cQ`: Termin Optionen
- `-cT`: Termin Optionen
- `-ct`: Termin Optionen
- `-cU`: Termin Optionen
- `-cw`: Termin Optionen
- `-cw+`: Termin Optionen
- `-cw-`: Termin Optionen
- `-cx`: Termin Optionen
- `-cy`: Termin Optionen
- `-cy+`: Termin Optionen
- `-cy-`: Termin Optionen
- `-cZ`: Termin Optionen
- `-cz`: Termin Optionen
- `-c`|`C`[`-`]``: Termin Optionen
- `-d`: Termin Optionen
- `-D Argument`: Termin Optionen
- `-E`: Termin Optionen
- `-e`: Termin Optionen
- `-f`|`F Dateiname`[`+`...]``: Termin Optionen
- `-G`: Kalender Optionen
- `-g`[`Text`]``: Termin Optionen
- `-h`: Allgemeine Optionen
- `-H no`: Globale Optionen
- `-H Text`: Globale Optionen
- `-H yes`: Globale Optionen
- `-hh`: Allgemeine Optionen
- `-i`: Kalender Optionen
- `-I Suchmuster`: Termin Optionen
- `-i`[`-`]``: Kalender Optionen
- `-J`: Termin Optionen
- `-j`: Kalender Optionen
- `-j`[`b`]``: Kalender Optionen
- `-jb`: Kalender Optionen
- `-jc`: Kalender Optionen
- `-jc`[`b`]``: Kalender Optionen
- `-jcb`: Kalender Optionen
- `-jn`: Kalender Optionen
- `-jn`[`b`]``: Kalender Optionen
- `-jnb`: Kalender Optionen
- `-k`: Termin Optionen
- `-K`: Kalender Optionen
- `-l`: Termin Optionen
- `-L`: Allgemeine Optionen
- `-l*dn`: Termin Optionen
- `-l*dnwww`: Termin Optionen
- `-l*wn`[`www`]``: Termin Optionen
- `-l@dvar`[`+`|`-`]`nwww`: Termin Optionen
- `-l@dvar`[[`+`|`-`]`n`]``: Termin Optionen
- `-l@e`[`+`|`-`]`nwww`: Termin Optionen
- `-l@e`[[`+`|`-`]`n`]``: Termin Optionen
- `-l@t`[`+`|`-`]`nwww`: Termin Optionen
- `-l@t`[[`+`|`-`]`n`]``: Termin Optionen
- `-lmmtt`: Termin Optionen
- `-lmmwwwn`: Termin Optionen
- `-ln+`|`-`: Termin Optionen
- `-lnd`: Termin Optionen
- `-lnw`: Termin Optionen
- `-m`: Termin Optionen
- `-M`: Termin Optionen
- `-m`: Termin Optionen
- `-m+`: Termin Optionen
- `-m-`: Termin Optionen
- `-M`[`+`|`-`]``: Termin Optionen
- `-m`[`+`|`-`]``: Termin Optionen
- `-m`|`M`[`+`|`-`]``: Termin Optionen
- `-N`: Kalender Optionen
- `-n`: Kalender Optionen
- `-N-`: Kalender Optionen
- `-n-`: Kalender Optionen
- `-n`|`N`[`-`]``: Kalender Optionen
- `-o`: Termin Optionen
- `-O`: Kalender Optionen
- `-p`: Globale Optionen
- `-P Argument`: Termin Optionen
- `-Q`: Termin Optionen
- `-q cc`[`_tt`][`+`...]``: Kalender Optionen
- `-r Argument`: Termin Optionen
- `-R Dateiname`: Globale Optionen
- `-s Argument`: Kalender Optionen
- `-S Dateiname`: Globale Optionen
- `-T`: Termin Optionen
- `-t`: Termin Optionen
- `-U`: Termin Optionen
- `-u`: Kalender Optionen
- `-V`: Allgemeine Optionen
- `-v Argument`: Termin Optionen
- `-w`: Termin Optionen
- `-W`: Termin Optionen
- `-w`: Termin Optionen
- `-w+`: Termin Optionen
- `-w-`: Termin Optionen
- `-W`[`+`|`-`]``: Termin Optionen
- `-w`[`+`|`-`]``: Termin Optionen
- `-w`|`W`[`+`|`-`]``: Termin Optionen
- `-x`: Termin Optionen
- `-X`: Kalender Optionen
- `-y`: Termin Optionen
- `-Y`: Termin Optionen
- `-y`: Termin Optionen
- `-y+`: Termin Optionen
- `-y-`: Termin Optionen
- `-Y`[`+`|`-`]``: Termin Optionen
- `-y`[`+`|`-`]``: Termin Optionen
- `-y`|`Y`[`+`|`-`]``: Termin Optionen
- `-Z`: Termin Optionen
- `-z`: Termin Optionen
- `@Datei`: Antwortdatei
- `Kommando, .`: 3-Monatsmodus Kommandos
- `Kommando, . jjjj`: 3-Monatsmodus Kommandos
- `Kommando, .+`: 3-Monatsmodus Kommandos
- `Kommando, .+ jjjj`: 3-Monatsmodus Kommandos
- `Kommando, .-`: 3-Monatsmodus Kommandos
- `Kommando, .- jjjj`: 3-Monatsmodus Kommandos
- `Kommando, ..`: 3-Monatsmodus Kommandos
- `Kommando, .. jjjj`: 3-Monatsmodus Kommandos
- `Kommando, :`: Einfache Kommandos
- `Kommando, :jjjj`: Einfache Kommandos
- `Kommando, jjjj`: Einfache Kommandos
- `Kommando, jjjj+jjjj`: Bereiche von Kommandos
- `Kommando, jjjj;`...`;jjjj`: Listen von Kommandos
- `Kommando, KEINES`: Einfache Kommandos
- `Kommando, mm jjjj`: Einfache Kommandos
- `Kommando, mm jjjj-jjjj`: Bereiche von Kommandos
- `Kommando, mm,`...`,mm`: Listen von Kommandos
- `Kommando, mm,`...`,mm jjjj`: Listen von Kommandos
- `Kommando, mm,mm/jjjj,`...``: Listen von Kommandos
- `Kommando, mm-mm`: Bereiche von Kommandos
- `Kommando, mm-mm jjjj`: Bereiche von Kommandos
- `Kommando, mm-mm jjjj+jjjj`: Bereiche von Kommandos
- `Kommando, mm/jjjj`: Einfache Kommandos
- `Kommando, mm/jjjj,`...`,mm/jjjj`: Listen von Kommandos
- `Kommando, mm/jjjj-jjjj`: Bereiche von Kommandos
- `Kommando, mm/jjjj-mm/jjjj`: Bereiche von Kommandos
- `Kommando, mm:`: Einfache Kommandos
- `Kommando, mm:;mm:;`...``: Listen von Kommandos
- `Kommando, mm:;mm:jjjj,`...``: Listen von Kommandos
- `Kommando, mm:jjjj`: Einfache Kommandos
- `Kommando, mm:jjjj+mm:jjjj`: Bereiche von Kommandos
- `Kommando, mm:jjjj;`...`;mm:jjjj`: Listen von Kommandos
- `Kommando, Monatsname`: Einfache Kommandos

Knoten:Variablenindex, Nächster:Tabellenindex, Vorheriger:Argumentenindex, Aufwärts:Top

# Verzeichnis der Umgebungsvariablen

Hier ist eine alphabetische Liste der Umgebungsvariablen, die von Gcal berücksichtigt werden:

- `COLUMNS`: Umgebungsvariablen, Globale Optionen
- `GCAL`: Umgebungsvariablen, Die GCAL Umgebungsvariable, Globale Optionen
- `GCAL_COLUMNS`: Umgebungsvariablen, Globale Optionen
- `GCAL_DATE_FORMAT`: Umgebungsvariablen, Kalender Optionen
- `GCAL_LINES`: Umgebungsvariablen, Globale Optionen
- `GCAL_OPT`: Umgebungsvariablen, Die GCAL Umgebungsvariable
- `GCAL_SYS_DATADIR`: Umgebungsvariablen, Ressourcendatei
- `GCAL_USR_DATADIR`: Umgebungsvariablen, Ressourcendatei
- `GCALANSI`: Umgebungsvariablen, Globale Optionen
- `GCALPATH`: Umgebungsvariablen, Ressourcendatei
- `GCALPROG`: Umgebungsvariablen, Aufruf von tcal
- `HOME`: Umgebungsvariablen, Ressourcendatei, Termin Optionen
- `LANG`: Umgebungsvariablen, Internationalisierung
- `LANGUAGE`: Umgebungsvariablen, Internationalisierung
- `LC_ALL`: Umgebungsvariablen, Internationalisierung
- `LC_MESSAGES`: Umgebungsvariablen, Internationalisierung
- `LINES`: Umgebungsvariablen, Globale Optionen
- `LOGNAME`: Umgebungsvariablen, Globale Optionen
- `MAILPROG`: Umgebungsvariablen, Globale Optionen
- `MAILTO`: Umgebungsvariablen, Globale Optionen
- `PAGER`: Umgebungsvariablen, Globale Optionen
- `PATH`: Umgebungsvariablen, Globale Optionen
- `TERM`: Umgebungsvariablen, Globale Optionen
- `TXT2GCALPROG`: Umgebungsvariablen, Textvariablen
- `TZ`: Umgebungsvariablen
- `USER`: Umgebungsvariablen, Globale Optionen

Knoten:Tabellenindex, Nächster:Begriffsindex, Vorheriger:Variablenindex, Aufwärts:Top

# Tabellenverzeichnis

Hier ist eine alphabetische Liste der wichtigsten Tabellen, Zusammenfassungen und sonstigen Übersichten, die in diesem Handbuch zu finden sind:

- `Besondere ereignisbezogene Texte, Monddaten und Zeiten`: Sonnendaten
- `Besondere ereignisbezogene Texte, Sonnendaten und Zeiten`: Sonnendaten
- `Darstellungsarten der mondbezogenen Spezialtexte`: Monddaten
- `Darstellungsarten der sonnenbezogenen Spezialtexte`: Sonnendaten
- `Datumformate des Datummodifizierers`: Datummodifizierer
- `Datumformate, veraltete fest vorgegebene`: Tabelle der veralteten Datumformate
- `Datumformatelemente, veraltete individuelle`: Tabelle der veralteten Datumformatelemente
- `Datumformattext, Formatelemente und Zeichenersatzangaben im`: Kalender Optionen
- `Datummodifizierer, Datumformate des`: Datummodifizierer
- `Datumteil Kodierschema 1`: Kodierschema Tabelle 1
- `Datumteil Kodierschema-2`: Kodierschema Tabelle 2
- `Datumvariablen, Operationen auf`: Datumvariablen
- `Einträge in Ressourcendatei`: Struktur einer Ressourcendatei
- `Ereignisbezogene Texte bei Monddaten und Zeiten, besondere`: Sonnendaten
- `Ereignisbezogene Texte bei Sonnendaten und Zeiten, besondere`: Sonnendaten
- `Ewige Feiertagsliste, verwendete Markierungszeichen in`: Ewige Feiertage
- `Exit-Kodes`: Fehlerkodes
- `Fehlerkodes`: Fehlerkodes
- `Feiertage, landesspezifische`: Kalender Optionen
- `Formatanweisung`: Formatanweisung
- `Formatelemente und Zeichenersatzangaben im Datumformattext`: Kalender Optionen
- `Geographische Distanz und Kurswinkel, Modi`: Geographische Distanz und Kurswinkel
- `Glossar`: Glossar
- `GNU Langoptionen`: Optionen
- `ISO-6709:1983 Koordinate`: Sonnendaten
- `Kodierschema 1, Datumteil`: Kodierschema Tabelle 1
- `Kodierschema-2, Datumteil`: Kodierschema Tabelle 2
- `Kommandotrennzeichen`: Kommandos
- `Koordinate, ISO-6709:1983`: Sonnendaten
- `Kurzoptionen, traditionelle`: Optionen
- `Landesspezifische Feiertage`: Kalender Optionen
- `Landessprache, Wahl der`: Internationalisierung
- `Landessprachen, unterstützte`: Internationalisierung
- `Langoptionen, GNU`: Optionen
- `Laufzeitfehlerkodes`: Fehlerkodes
- `Markierungszeichen in ewiger Feiertagsliste, verwendete`: Ewige Feiertage
- `Metasymbole, verwendete`: Metasymbole
- `Modi, geographische Distanz und Kurswinkel`: Geographische Distanz und Kurswinkel
- `Modi, mondbezogenen Spezialtexte`: Monddaten
- `Modi, sonnenbezogenen Spezialtexte`: Sonnendaten
- `Mondbezogene Spezialtexte, Darstellungsarten der`: Monddaten
- `Mondbezogene Spezialtexte, Modi`: Monddaten
- `Monddaten und Zeiten, besondere ereignisbezogene Texte`: Sonnendaten
- `Operationen auf Datumvariablen`: Datumvariablen
- `Operationen auf Textvariablen`: Textvariablen
- `Regulär-Ausdruck Programmbibliotheken, unterstützte`: Regulaere Ausdruecke
- `Reguläre Ausdrücke`: Regexp (kurz)
- `Ressourcendatei, Einträge in`: Struktur einer Ressourcendatei
- `Sonnenbezogene Spezialtexte, Darstellungsarten der`: Sonnendaten
- `Sonnenbezogene Spezialtexte, Modi`: Sonnendaten
- `Sonnendaten und Zeiten, besondere ereignisbezogene Texte`: Sonnendaten
- `Spezialtexte`: Spezialtexte (kurz)
- `Spezialtexte, veraltete`: Tabelle der veralteten Spezialtexte
- `Termineintrag, Zeilenstruktur von`: Struktur einer Ressourcendatei
- `Textvariablen, Operationen auf`: Textvariablen
- `Traditionelle Kurzoptionen`: Optionen
- `Umgebungsvariablen`: Umgebungsvariablen
- `Unterstützte Landessprachen`: Internationalisierung
- `Unterstützte regulär-Ausdruck Programmbibliotheken`: Regulaere Ausdruecke
- `Veraltete fest vorgegebene Datumformate`: Tabelle der veralteten Datumformate
- `Veraltete individuelle Datumformatelemente`: Tabelle der veralteten Datumformatelemente
- `Veraltete Spezialtexte`: Tabelle der veralteten Spezialtexte
- `Verwendete Metasymbole`: Metasymbole
- `Wahl der Landessprache`: Internationalisierung
- `Zeilenstruktur von Termineintrag`: Struktur einer Ressourcendatei

Knoten:Begriffsindex, Vorheriger:Tabellenindex, Aufwärts:Top

# Stichwortverzeichnis

(entfernt)

#### Fußnoten

1. D.h. keine Notwendigkeit mehr, Kalenderinformationen im Netz zu suchen und somit geringere Telefon- und Internet-Service-Providerkosten (ISP) zu haben, and weiterhin weder solche Informationen in Büchern oder Dateien zu suchen, noch zahlreiche andere Software-Produkte zu benutzen, welche im Ergebnis dann alle zusammen dasselbe leisten, wie das derzeitige Gcal auch.

2. Die "General Public License" der Free Software Foundation.

3. Einschließlich oder ausschließlich.

4. Termine zukünftiger Jahre.

5. Termine vergangener Jahre.

6. Im Englischen mit shell bezeichnet; dieses Betriebssystemprogramm interpretiert Kommandozeilen und führt diese aus.

7. Im Englischen mit switch Zeichen bezeichnet.

8. Inklusive `%Datum` und `@Datei`.

9. Sofern diese kein Argument annehmen.

10. Beachten Sie die Standard-Handbuchseiten zu `less`, `more` und `pg`.

11. Beachten Sie die Standard-Handbuchseiten zu Termcap.

12. Entweder 23 oder 24 Zeilen, und 80 Spalten.

13. D.h. auf einen anderen Gerätekanal umgelenkt wird.

14. D.h. als Eingabedatenstrom für ein weiteres Programm dient.

15. D.h. mit vorangehendem und nachfolgendem Leerzeichen.

16. Beachten Sie die Standard-Handbuchseiten zu `mail`.

17. Im Englischen mit country code bezeichnet.

18. ISO ist die Abkürzung für International Organization for Standardization.

19. Ähnlich dem des BSD-`cal` Programms.

20. Diejenige Uhrzeit, die als Systemzeit in der Computeruhr gesetzt ist.

21. Die automatische Umwandlung in das entsprechende Julianische Datum wird immer dann vorgenommen, wenn das aktuelle, auf dem Gregorianischen Kalender basierte, Systemdatum vor dem Datum der Gregorianischen Reformation liegt.

22. Allerdings wird `GCAL_DATE_FORMAT` nur dann benutzt, wenn keine Angabe der Option `--date-format=de|us|gb|Text` erfolgte.

23. Groß- bzw. Kleinbuchstaben werden nicht unterschieden. Nicht zuweisbar bzw. inoperabel ist die Datumvariable e, welche intern für das Datum des Ostersonntags reserviert ist. Ebenfalls nicht zuweisbar bzw. inoperabel ist die Datumvariable t, welche intern für das heutige Datum reserviert ist.

24. Oder dem Namen einer anderen, bereits definierten, globalen Datumvariablen, aber keiner Datumangabe im `mmwwwn`, `e|t|dvar[+|-]n[www]` oder `*d|wn[www]` Datumformat.

25. Groß- bzw. Kleinbuchstaben werden nicht unterschieden.

26. Refraktion oder Strahlenbrechung ist ein durch die Erdatmosphäre verursachtes optisches Phänomen, daß zu einer scheinbaren Hebung des Gestirnsortes über dem Horizont führt. Der Betrag der Refraktion nimmt bei steigendem Luftdruck und sinkender Temperatur zu und umgekehrt.

27. Richtig, die `--time-offset` Option weist eine mehrfache Funktionalität auf, die vom Kontext ihrer Verwendung abhängig ist!

28. Ausgenommen Gcal's Zeilenumbruchzeichen `~` und `^`, so daß `\~` und `\\^` im Suchmuster Argument benutzt werden muß, falls nach Texten gesucht werden soll, welche diese Zeichen enthalten.

29. Im Englischen mit regular expression bezeichnet.

30. Davon ausgenommen sind die `--include-today` Option bzw. der `d` Modifizierer, die `--list-mode` Option oder der `l` Modifizierer, und die `--leap-day=february|march` Option.

31. Bzw. deren entsprechende Langoptionen.

32. Oder deren entsprechende Aliasnamen, wie `--today`, `--tomorrow`....

33. Oder deren entsprechende Langoptionen.

34. `RC_GROUP_SEP` "" == nur Leerzeile.

35. Nur falls die `--alternative-format` Option oder der `A` Modifizierer nicht angegeben wurde.

36. Der 29'te Februar.

37. Das ist entweder der 51'te, 52'te oder 53'te Sonntag.

38. Das ist entweder der 51'te, 52'te oder 53'te Sonntag.

39. Das ist entweder der Sonntag der 51'ten, 52'ten oder 53'ten Kalenderwoche.

40. Das ist entweder der Sonntag der 51'ten, 52'ten oder 53'ten Kalenderwoche.

41. Abweichendes Wirtschaftsjahr.

42. Unter MS-DOS, OS/2 und einigen anderen Betriebssystemen ist der Name der Standard-Ressourcendatei ``HOME`/gcalrc` (ohne vorangehenden `.`).

43. Unter MS-DOS, OS/2 und einigen anderen Betriebssystemen wird ein anderes Zeichen verwendet, z.B. `;` unter MS-DOS und OS/2.

44. Normalerweise ``$HOME`/share/gcal`.

45. Normalerweise `/usr/local/share/gcal` oder `$prefix/share/gcal`.

46. Betriebssysteme wie z.B. MS-DOS oder OS/2 verwenden das `\` Zeichen, mit dem ein Dateiverzeichnis von einem Dateinamen separiert wird.

47. Im Englischen mit root-directory bezeichnet.

48. Das sind zum Beispiel Tab, Space, Form-Feed und ähnliche Zeichen.

49. Normalerweise entspricht das zum Beispiel auf einer 16-Bit Maschinenarchitektur dem Wert `32.767` == `(2^15)-1`; auf einer 32-Bit Maschinenarchitektur dem Wert `2.147.483.647` == `(2^31)-1` usw.

50. Einmal abgesehen von der Möglichkeit, daß in einem solchen Fall auch eine Liste von Tagen verwendet werden kann.

51. Implizite Lösung.

52. Oder `366` in Schaltjahren.

53. Einmal abgesehen von der Möglichkeit, daß in einem solchen Fall auch eine Liste oder ein Bereich von Tagen verwendet werden kann.

54. Einmal abgesehen von der Möglichkeit, daß in einem solchen Fall auch eine Liste von Tagen verwendet werden kann.

55. Wie zum Beispiel `%i`, `$a`...

56. Diese Zeichen sind eventuell nicht druckbar.

57. Das ist das Zeichen, welchem in der Tabelle des verwendeten Zeichensatzes der Wert Null zugeordnet ist.

58. Vernünftigen!

59. Physisch als auch logisch.

60. Ein Mechanismus ähnlich demjenigen, den der C Preprocessor benutzt.

61. Also ein Dateiname, der entweder mit `""` oder `<>` umfaßt ist.

62. Die eingefügte Datei versucht sich selbst erneut einzufügen.

63. Die eingefügte Datei wird von einer anderen Datei, die an einer tieferen Stelle in einer solchen Kette auftritt, erneut eingefügt.

64. Groß- bzw. Kleinbuchstaben werden nicht unterschieden. Nicht zuweisbar bzw. inoperabel ist die Datumvariable e, welche intern für das Datum des Ostersonntags reserviert ist. Ebenfalls nicht zuweisbar bzw. inoperabel ist die Datumvariable t, welche intern für das heutige Datum reserviert ist.

65. Oder dem Namen einer anderen, bereits definierten, Datumvariablen.

66. In der Kommandozeile, Umgebungsvariable `GCAL` oder Antwortdatei.

67. Diese werden nur lokal ausgeführt.

68. Groß- bzw. Kleinbuchstaben werden nicht unterschieden.

69. In der Kommandozeile, Umgebungsvariable `GCAL` oder Antwortdatei.

70. Diese werden nur lokal ausgeführt.

71. Das entspricht der `--shift=1` Option.

72. Hier in absteigender Priorität ihrer Berücksichtigung aufgestellt.

73. Wie zum Beispiel `fr` für Französisch, `es` für Spanisch....

74. Genaugenommen an eine erweiterte Sprachkode-Information.

75. Oder andere Sprachkodes, für welche in Zukunft ein message catalog erstellt und mit ausgeliefert wird.

76. Besser gesagt der erweiterten Sprachkode-Information `en_US`.

77. Alle anderen internen Grundeinstellungen der einfachen `en` Sprachkode-Information entsprechen ja sonst bereits ihren Kriterien.

78. Für einen erfolgreichen Vergleich wird normalerweise nur eine Übereinstimmung mit einem Teil des Textes benötigt.

79. Ein Leerzeichen ist zwar druckbar, aber nicht sichtbar, während ein `a` Zeichen beides ist.

80. Zeichen, die nicht Steuerzeichen sind.

81. Zeichen, die weder Buchstabe, Zahl, Steuerzeichen noch Leerzeichen sind.

82. Solche wie das Leerzeichen, Tabulatorzeichen und Seitenvorschubzeichen, um ein paar zu nennen.

83. Im Englischen mit collating elements bezeichnet.

84. Im Englischen mit collating symbol bezeichnet.

85. Im Englischen mit equivalence class bezeichnet.

86. Das ist der Textteil einer Gcal Ressourcendateizeile.

87. Identisch mit dem Textteil einer Ressourcendateizeile von Gcal.

88. Für die anderen erlaubten Datumformate gelten die nachfolgenden Regeln sinngemäß.

89. RFC ist die Abkürzung für Request for Comments.

90. Der Kurswinkel gibt die Richtung an, mit der ein Großkreisbogen (Orthodrome), der zwischen zwei Punkten auf einer Kugeloberfläche geschlagen wird, einen Meridian schneidet (Gcal benutzt einen Geoid (Rotationsellipsoid), der in Anlehnung an das 1961 geschaffene Geodätische Welt System, abgekürzt W.G.S, berechnet wird). Ein solcher Großkreisbogen stellt die kürzeste geodätische Verbindungslinie zwischen zwei Punkten auf einer Kugel dar. Allerdings ändern sich die Kurswinkel auf einem solchen Großkreis stetig, da die geschlagene Kreiskurve jeden Meridian unter einem anderen Winkel schneidet -- hiervon ausgenommen ist der Fall, daß sich beide Koordinaten entweder genau auf den gleichen Meridian (Längengrad), oder genau auf den gleichen Breitengrad beziehen.