This is Info file de/gcal.info, produced by Makeinfo-1.64 from the
input file de/gcal.texi.

START-INFO-DIR-ENTRY
* Gcal: (gcal).              Das GNU Kalenderprogramm.
END-INFO-DIR-ENTRY

Diese Datei beschreibt Gcal, ein Programm um Kalender auszugeben.  Gcal
gibt Monatskalender und Jahreskalender, ewige Feiertagslisten sowie
Terminwarnungslisten auf viele verschiedene Arten und Weisen aus.  Es
berücksichtigt diejenigen Daten korrekt, welche übergangen wurden,
als der derzeitig gültige Gregorianische Kalender den vormals gültigen
Julianischen Kalender ablöste.

Copyright (C) 1994, 1995, 1996 Thomas Esken

Das ist die erste Ausgabe der Gcal Dokumentation.

Hiermit wird die Erlaubnis erteilt, wortgetreue Kopien dieses Handbuchs
zu erstellen und zu vertreiben, sofern alle gemachten Kopien mit dem
Copyrightvermerk und diesem Genehmigungsvermerk ausgestattet sind und
vorgenannte Vermerke erhalten bleiben.

Hiermit wird die Erlaubnis erteilt, veränderte Kopien dieses Handbuchs
wie unter den Bedingungen für wortgetreue Kopien zu erstellen und zu
vertreiben, sofern die ausgeführten Arbeiten in Ableitung und
Gesamtheit innerhalb der Bestimmungen eines Genehmigungvermerks liegen
und zudem mit diesem ausgestattet sind, welcher mit diesem hier
identisch ist.

Hiermit wird die Erlaubnis erteilt, wie unter den vorgenannten
Bedingungen für veränderte Versionen Übersetzungen dieses Handbuchs
in eine andere Sprache zu erstellen und zu vertreiben, mit der
Ausnahme, daß dieser Genehmigungsvermerk in einer Übersetzung
angegeben sein darf, welche von der Free Software Foundation gebilligt
wird.

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

                                \\\_''/'
-------------------------oOO    (/o-o\)    OOo-------------------------
Thomas Esken                o  (.  "  .)  o   Internet :
Im Hagenfeld 84              \___) ~ (___/      (esken@uni-muenster.de)
D-48147 Muenster; GERMANY                     Phone    : +49 251 232585


File: gcal.info,  Node: Top,  Next: Einleitung,  Prev: (dir),  Up: (dir)

Gcal
****

Gcal ist ein Programm um Kalender auszugeben.  Gcal gibt Monatskalender
und Jahreskalender, ewige Feiertagslisten sowie Terminwarnungslisten
auf viele verschiedene Arten und Weisen aus.  Es berücksichtigt
diejenigen Daten korrekt, welche übergangen wurden, als der derzeitig
gültige Gregorianische Kalender den vormals gültigen Julianischen
Kalender ablöste.

Das ist die Ausgabe 2.05 der Gcal Dokumentation vom 16 Juli 1996, für
Gcal 2.10.

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

                                \\\_''/'
-------------------------oOO    (/o-o\)    OOo-------------------------
Thomas Esken                o  (.  "  .)  o   Internet :
Im Hagenfeld 84              \___) ~ (___/      (esken@uni-muenster.de)
D-48147 Muenster; GERMANY                     Phone    : +49 251 232585

* Menu:

* Einleitung::       Einführung in Gcal.
* Aufruf von Gcal::  Wie starte ich das `gcal' Programm?
* Ewige Feiertage::  Wie wird eine Ewige Feiertagsliste erzeugt?
* Terminwarnungen::  Wie wird eine Terminwarnungsliste erzeugt?

Anhänge

* Heutiger Kalender::      Entstehungsgeschichte des Gregorianischen Kalenders.
* Gcal Hilfsprogramme::    Mitgelieferte Hilfsprogramme.
* Internationalisierung::  Aspekte zur erfolgten Internationalisierung.
* Metasymbole::            In diesem Dokument benutzte Metasymbole.
* Kodierschema::           Kodierschema des Datumteils einer Ressourcendatei.
* Umgebungsvariablen::     Berücksichtigte Umgebungsvariablen.
* Fehlerkodes::            Welche Fehlerkodes werden von Gcal zurückgegeben?

Indizes

* Argumentenindex::  Verzeichnis der Kommandozeilenargumente.
* Variablenindex::   Verzeichnis der Umgebungsvariablen.
* 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.
* Terminwarnung Optionen::  Wie Terminwarnung 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.

Terminwarnungen

* 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?
* Zeile kommentieren::              Wie eine Zeile kommentiert werden kann.
* Include Anweisungen::             Was sind Include Anweisungen?
* Spezielle Textmakros::            Was sind Spezielle Textmakros?
* 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.

Spezielle Textmakros

* %s Textmakro::  Wie ein Start eines Termins Textmakro benutzt wird.
* %e Textmakro::  Wie ein Ende eines Termins Textmakro benutzt wird.
* %o Textmakro::  Wie ein Wochentagsname Textmakro benutzt wird.
* %k Textmakro::  Wie ein Wochennummer Textmakro benutzt wird.
* %b Textmakro::  Wie ein Geburtstags Textmakro benutzt wird.
* %y Textmakro::  Wie ein Jahreszahl Textmakro benutzt wird.
* %m Textmakro::  Wie ein Monatszahl Textmakro benutzt wird.
* %w Textmakro::  Wie ein Wochenzahl Textmakro benutzt wird.
* %d Textmakro::  Wie ein Tageszahl Textmakro benutzt wird.
* %j Textmakro::  Wie ein Julianische Tageszahl Textmakro benutzt wird.
* %n Textmakro::  Wie ein Datumtext Textmakro benutzt wird.
* %t Textmakro::  Wie ein Aktuelle Uhrzeit Textmakro benutzt wird.
* %1 Textmakro::  Wie ein Start Hervorhebungssequenz 1 Textmakro benutzt wird.
* %2 Textmakro::  Wie ein Ende Hervorhebungssequenz 1 Textmakro benutzt wird.
* %3 Textmakro::  Wie ein Start Hervorhebungssequenz 2 Textmakro benutzt wird.
* %4 Textmakro::  Wie ein Ende Hervorhebungssequenz 2 Textmakro benutzt wird.

Gcal Hilfsprogramme

* Aufruf von tcal::      Wie starte ich das `tcal' Programm?
* Aufruf von txt2gcal::  Wie starte ich das `txt2gcal' Programm?

Kodierschema

* Kodierschema Tabelle 1::
* Kodierschema Tabelle 2::


File: gcal.info,  Node: Einleitung,  Next: Aufruf von Gcal,  Prev: Top,  Up: Top

Einleitung
**********

Neben den üblichen und altbekannten Kalenderfunktionen wie der Ausgabe
eines Monatskalenderblatts oder eines Jahreskalenderblatts, oder der
Ausgabe einer ewigen Feiertagsliste bietet Gcal 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 (einschliesslich oder ausschliesslich) am
aktuellen Tag.

Es bestehen zwei Möglichkeiten, eine Terminvorschau (Termine
zukünfiger Jahre) oder eine Terminrückschau (Termine vergangener
Jahre) vorzunehmen.  So kann Gcal einerseits mittels einer Option,
welche daß 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 wenn 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 sogenannten 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 sogenannten 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
wenn 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 Argumeten 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 nun alle verwendbaren
Kommandozeilenargumente sowie deren Bedeutung vorgestellt.


File: gcal.info,  Node: Aufruf von Gcal,  Next: Ewige Feiertage,  Prev: Einleitung,  Up: Top

Aufruf von `gcal'
*****************

* Menu:

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

Gcal ist ein kommandozeilenorientiertes Programm.  Es wird
üblicherweise vom Kommandointerpretierer des Betriebssystems aus
aufgerufen (auch als "shell" bezeichnet; dieses Betriebssystemprogramm
interpretiert Komandozeilen und führt diese aus), 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 unkorrekte 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,
siehe *Note Heutiger Kalender::, und *Note Internationalisierung:: für
weitere Details.


File: gcal.info,  Node: Kommandozeilenargumente,  Next: Die GCAL Umgebungsvariable,  Prev: Aufruf von Gcal,  Up: Aufruf von Gcal

Kommandozeilenargumente
=======================

* Menu:

* 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 Unterkapitel 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 Umschaltzeichen (auch "Switch"
Zeichen genannt) definiert; entweder das `-' oder das `/' Zeichen bei
traditionellen Kurzoptionen, oder zwei `--' bei den mnemotechnischen
Langoptionen; einem Kommando darf kein Umschaltzeichen vorangehen.
Optionen (inklusive `%DATUM' und `@DATEI') *müssen* vor Kommandos
angegeben werden!

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

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

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


File: gcal.info,  Node: Optionen,  Next: Antwortdatei,  Prev: Kommandozeilenargumente,  Up: Kommandozeilenargumente

Optionen
--------

* Menu:

* Allgemeine Optionen::     Wie Allgemeine Optionen benutzt werden.
* Globale Optionen::        Wie Globale Optionen benutzt werden.
* Kalender Optionen::       Wie Kalender Optionen benutzt werden.
* Terminwarnung Optionen::  Wie Terminwarnung 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 "Terminwarnung Optionsklasse"
kontrollieren das Layout der Terminwarnungen 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 Einzelzeichenoptionen (sofern diese
kein Argument annehmen) können zu einem einzelnen Kommandozeilenwort
zusammengefasst 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, wenn 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 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 Gcal 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, nämlich `-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 speziellen Modus definieren, der durch die
     `-x' Option ausgelöst wird.  Ein Modifizierer darf nicht durch
     ein führendes *whitespace* Zeichen vom Kurzoptionszeichen
     abgegrenzt werden.


File: gcal.info,  Node: Allgemeine Optionen,  Next: Globale Optionen,  Prev: Optionen,  Up: Optionen

Allgemeine Optionen
...................

`-?'
`-h'
`--help'
     Ausgabe eines verdichteten Hilfetextes, der die meisten 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-127'
     Setzt den Endestatus des Programms auf 127 anstatt auf 0, wenn
     eine der anderen Optionen der *Allgemeinen Optionsklasse* benutzt
     wurde.


File: gcal.info,  Node: Globale Optionen,  Next: Kalender Optionen,  Prev: Allgemeine Optionen,  Up: Optionen

Globale Optionen
................

`-R DATEINAME'
`--response-file=DATEINAME'
     Inhalt der Umgebungsvariable `GCAL' (*note GCAL:
     Umgebungsvariablen.), und sodann die Argumente der Kommandozeile
     (in genau dieser Reihenfolge) in die Datei DATEINAME schreiben,
     d.h. Antwortdatei `Dateiname' erzeugen.  *Note Antwortdatei::,
     für weitere Details.

`-S DATEINAME'
`--shell-script=DATEINAME'
     Inhalt der Umgebungsvariable `GCAL' (*note GCAL:
     Umgebungsvariablen.), 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änding
     ablauffähig und ruft Gcal direkt mit den im Script 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'
          Warnungen bei Erreichen programminterner Maxima 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; siehe *Note
          118: Fehlerkodes.

`-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.  *Note PAGER: Umgebungsvariablen, 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üren (1).  *Note
     PATH: Umgebungsvariablen.

     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 `LINES'
          und `COLUMNS' angegeben sind.  *Note LINES:
          Umgebungsvariablen, und siehe auch *Note COLUMNS:
          Umgebungsvariablen, für weitere Details.

       2. Falls vorherige Aktion versagt, so benutzt Gcal die Werte,
          die in den Umgebungsvariablen `LI' und `CO' angegeben sind.
          *Note LI: Umgebungsvariablen, und siehe auch *Note CO:
          Umgebungsvariablen, für weitere Details.

       3. Falls vorherige Aktion versagt, so benutzt Gcal eine
          systemabhängige *low-level* Funktion (unter MS-DOS, OS/2 und
          einigen anderen Betriebssystemen) und benutzt die Werte, die
          von dieser geliefert werden.

       4. Falls vorherige Aktion versagt, so benutzt Gcal die Werte,
          die in der `termcap' (2) Datei für das verwendete
          Sichtgerät vorgefunden werden (*note TERM:
          Umgebungsvariablen.).  Dieser Schritt wird nur auf Systemen
          ausgeführt, welche die Benutzung von Termcap unterstützen.

       5. Falls alle vorherigen Aktionen fehlschlagen, so benutzt Gcal
          Standardwerte (entweder 23 oder 24 Zeilen, 80 Spalten).

`-H yes'
`--force-highlighting'
`--highlighting=yes'
     Falls die Ausgabe des Programms "redirektioniert" (d.h. auf einen
     anderen Gerätekanal umgelenkt) wird oder in einer "pipe" (d.h. als
     Eingabedatenstrom für ein weiteres Programm dient) 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 versendet wird, siehe auch
     *Note `--mail=ADRESSE': Globale Optionen.

`-H no'
`--disable-highlighting'
`--highlighting=no'
     Hervorhebungsequenz-/ 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 sogenannten 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 Argument TEXT muß ein durch `:' (Doppelpunkt) Zeichen
     abgegrenzter Text der Form
     SEQ1_START:SEQ1_ENDE:SEQ2_START:SEQ2_ENDE sein.  Die *erste*
     Sequenz wird dazu benutzt den 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!

     Einige Beispiele hierzu:

          `-H \x20:\x20:\x1:#' bzw.
          `--highlighting=\x20:\x20:\x1:#'
          markiert den aktuellen Tag in der Form `\x20TAGESDATUM\x20'
          (d.h. mit vorangehenden und nachfolgenden Leerzeichen) 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
          Textteil, welcher über weitere Details informiert. *Note
          GCALANSI: Umgebungsvariablen.

     Steuerzeichensequenzen dürfen jedes druckbare Zeichen enthalten.
     Nichtdruckbare 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, 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 pipe
     steht, so werden Hervorhebungssequenzen automatisch in die
     entsprechenden Markierungszeichen umgesetzt; falls USE_PAGER nicht
     definiert wurde, so bleiben Hervorhebungssequenzen unverändert.

     Unvollständig oder garnicht angegebene Hervorhebungssequenzen
     werden durch intern fest voreingestellte ANSI
     Escape-Hervorhebungssequenzen ersetzt, falls eine `GCALANSI'
     Umgebungsvariable definiert ist; anderenfalls vollständig durch
     deren entsprechende Markierungszeichen ersetzt.  *Note GCALANSI:
     Umgebungsvariablen.

`-m ADRESSE'
`--mail=ADRESSE'
     Versenden von Gcal's Ausgabe via `mail' (3) Programm an die
     Email-Adresse ADRESSE, z.B.:

          --mail=root
          -m esken@uni-muenster.de

     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 (*note Textteil einer Zeile::.).

  ---------- Footnotes ----------

  (1)  Beachten Sie die Standard-Handbuchseiten zu `less', `more' und
`pg'.

  (2)  Beachten Sie die Standard-Handbuchseiten zu Termcap.

  (3)  Beachten Sie die Standard-Handbuchseiten zu `mail'.


File: gcal.info,  Node: Kalender Optionen,  Next: Terminwarnung Optionen,  Prev: Globale Optionen,  Up: Optionen

Kalender Optionen
.................

`-n|N[-]'
`--holiday-list[=long|short]'
`--descending-holiday-list[=long|short]'
     Ausgabe der ewigen Feiertagsliste.  *Note Ewige Feiertage::, 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.

`-X'
`--exclude-holiday-list-title'
     Ausgabe der Überschrift in der ewigen Feiertagsliste
     unterdrücken.

`--christan-holidays'
     Die ewige Feiertagsliste wird mit zusätzlichen christlichen
     Feiertagen ausgestattet.  Zudem werden auch in Kalenderblättern
     die Tage hervorgehoben, die durch diese Option in die ewige
     Feiertagsliste eingebracht und hervorgehoben werden.

`--de-holidays'
     Die ewige Feiertagsliste wird mit zusätzlichen deutschen
     Feiertagen ausgestattet.  Zudem werden auch in Kalenderblättern
     die Tage hervorgehoben, die durch diese Option in die ewige
     Feiertagsliste eingebracht und hervorgehoben werden.

`--us-holidays'
     Die ewige Feiertagsliste wird mit zusätzlichen US amerikanischen
     Feiertagen ausgestattet.  Zudem werden auch in Kalenderblättern
     die Tage hervorgehoben, die durch diese Option in die ewige
     Feiertagsliste eingebracht und hervorgehoben werden.

`-i[-]'
`--type=special|standard'
     Um das "Standard" Kalenderformat zu erhalten, so sollte Gcal
     entweder ganz ohne die `-i[-]' Option aufgerufen werden, da diese
     voreingestellt ist.  *Note Internationalisierung::, für weitere
     Details.  Oder aber um die Ausgabe eines Kalenderblatts zu
     erzwingen, sollte Gcal mit der `-i-' bzw. `--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 "Spezielle" Kalenderformat zu erhalten (ähnlich dem
     BSD-`cal' Programm), so sollte Gcal mit der Option `-i' bzw. mit
     der Option `--type=special' gestartet werden (auch hier wird die
     Ausgabe eine Kalenderblatts erzwungen):

          $ 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

`-u'
`--suppress-calendar'
     Ausgabe eines Kalenderblatts explizit unterdrücken.

`-b ANZAHL'
`--blocks=ANZAHL'
     Setzen der ANZAHL von Blöcken, in der ein Jahreskalender
     ausgegeben wird (Zulässige Argumente: `1|2|3|4|6|12').  Die
     voreingestellte ANZAHL ist beim *Standard* Kalenderformat `-b 3'
     bzw. `--blocks=3', und beim *Speziellen* Kalenderformat `-b 4'
     bzw. `--blocks=4'.  Falls diese Option vorgefunden wird, so
     impliziert das Programm, daß die Ausgabe eines Jahreskalendes
     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'
     Benutze alternatives Datumformat im Kalenderblatt anstelle des
     voreingestellten Standardformats, welches die laufenden Tage im
     Monat ausgibt.

    `-j'
    `--calendar-dates=special'
          Ausgabe des Kalenderblatts im speziellen 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- und speziellem
          Datumformat.

`-jn[b]'
`--holiday-dates=special|both'
     Benutze alternatives Datumformat in ewiger Feiertagsliste anstelle
     des voreingestellten Standardformats, welches die laufenden Tage
     im Monat ausgibt.  *Note `--holiday-list[=long|short]': Kalender
     Optionen.

    `-jn'
    `--holiday-dates=special'
          Ausgabe der ewige Feiertagsliste im speziellen 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 ewige Feiertagsliste im Standard- und speziellem
          Datumformat.

`-jc[b]'
`--fixed-dates=special|both'
     Benutze alternatives Datumformat in Terminwarnungsliste anstelle
     des voreingestellten Standardformats, welches die laufenden Tage
     im Monat ausgibt.  *Note `--list-of-fixed-dates[=short|long]':
     Terminwarnung Optionen.

    `-jc'
    `--fixed-dates=special'
          Ausgabe der Terminwarnungsliste im speziellen 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 Terminwarnungsliste im Standard- und speziellen
          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
          -s So 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.

     *Note Internationalisierung::, für weitere Details.

`--gregorian-reform=1582|1752|ARGUMENT'
     Setzen des Zeitraums, der bei der Gregorianischen Reformation
     übergangen wurde.  *Note Internationalisierung::, für weitere
     Details.  Derzeit werden zwei fest vorgegebene Zeiträume
     (einerseits im Jahr 1582 und andererseits im Jahr 1752)
     unterstützt.  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=1752' Option
     aufgerufen, so wird angenommen, daß die Gregorianische
     Reformation vom 3'ten bis zum 13'ten September 1752 stattgefunden
     hat.

     Soll ein anderer Zeitraum berücksichtigt werden, so kann dieser
     als Optionsargument ARGUMENT der Form `JJJJ,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 deklariert werden:

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

`--date-format=de|us|gb|TEXT'
     Setzen des Datumformats, welches die Anordnung und Darstellung von
     einem ausgegebenen Datum beeinflußt.  *Note
     Internationalisierung::, für weitere Details.  Der
     Datumformattext wird von Gcal in der ewigen Feiertagsliste, in der
     Terminwarnungsliste und in den Kalenderblättern berücksichtig;
     zudem versucht Gcal intern, stets die bestmöglichste Darstellung
     von einem ausgegebenen Datum zu erzielen wenn fortlaufende Tage
     des Jahres anstelle fortlaufender Tage des Monats ausgegeben
     werden sollen.

     Derzeit werden drei fest vorgegebene Datumformate (für deutsche
     Benutzer, US amerikanische Benutzer und Benutzer in
     Großbritannien) unterstützt.  Wird Gcal mit der
     `--date-format=de' Option aufgerufen, so wird der
     `%w,  %1%D%2 %b %y' Formattext benutzt.  Wird Gcal mit der
     `--date-format=us' Option aufgerufen, so wird der
     `%W, %b  %1%U%2 %y' Formattext benutzt.  Wird Gcal mit der
     `--date-format=gb' Option aufgerufen, so wird der
     `%W,  %1%U%2 %b %y' Formattext benutzt.

     Soll ein anderer Formattext berücksichtigt werden, so kann dieser
     entweder in der Umgebungsvariable `GCAL_DATE_FORMAT' angegeben
     werden (allerdings wird `GCAL_DATE_FORMAT' nur dann benutzt, wenn
     keine `--date-format=de|us|gb|TEXT' Option angegeben wird), oder
     aber als Optionsargument TEXT vereinbart werden, z.B.:

          --date-format="%Y %D %m ; %1(%A)%2"

     Der Formattext kann alle von Gcal ausgebbaren Zeichen enthalten,
     sowie Zeichenersatzangaben und Formatanweisungen, die zur Laufzeit
     in ihre entsprechenden Werte umgesetzt werden.  Ein minimaler
     Datumformattext muß Komponenten aus der Tag-Gruppe, der
     Monat-Gruppe, der Jahr-Gruppe und der Hervorhebung-Gruppe
     enthalten.  Eine Komponente aus der Wochentagsname-Gruppe ist
     optional.  Folgende Formatanweisungen und Zeichenersatzangaben
     werden derzeit unterstützt:

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

    `%d'
          Tageszahl mit führenden Nullen

    `%D'
          Tageszahl mit führenden Leerzeichen

    `%u'
          Tageszahl mit führenden Nullen und nachfolgendem
          Ordnungszahlanhang

    `%U'
          Tageszahl mit führenden Leerzeichen und nachfolgendem
          Ordnungszahlanhang

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

    `%B'
          Vollständiger Monatsname

    `%b'
          Abgekürzter Monatsname (3 Buchstaben)

    `%m'
          Monatszahl mit führenden Nullen

    `%M'
          Monatszahl mit führenden Leerzeichen

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

    `%y'
          Vollständige Jahreszahl mit führenden Nullen

    `%Y'
          Vollständige Jahreszahl mit führenden Leerzeichen

    `%z'
          Letzten zwei Ziffern der Jahreszahl mit führenden Nullen

    `%Y'
          Letzten zwei Ziffern der Jahreszahl mit führenden Leerzeichen

     Wochentagsname-Gruppe (ein Mitglied darf definiert werden):

    `%A'
          Vollständiger Wochentagsname

    `%W'
          Abgekürzter Wochentagsname (3 Buchstaben)

    `%w'
          Abgekürzter Wochentagsname (2 Buchstaben)

     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 `%'

