Seite umgezogen nach http://esslingen.vcd-bw.de/service/kalender/makeof/index.html
Logo

Making of ... Ferienkalender Logo

VCD-KV Esslingen
Schelztorstrasse 2
73728 Esslingen a.N.
Telefon: 0711/356173
Fax: 0711/3005270
Vorsicht, Technik!

Diese Seite wendet sich an Personen, die sich selbst einen Kalender generieren wollen. Sie sollten etwas Ahnung von LaTeX und Ruby (oder zumindest etwas Programmiererfahrung) haben.

Entstehungsgeschichte

Am Anfang stand ein Posting in der TeX-D-L mit dem Titel "Schuljahresübersichtskalender".
Hallo,

ich möchte einen Schuljahresübersichtskalender auf DIN A2 oder DIN A1 erstellen.
Der Kalender soll von August bis August gehen und bestimmte Tage (z.B. Ferien, Zeugnisse etc.) sollen farbig hervorgehoben werden.

Bevor ich mir jetzt die "Finger wund suche", wollte ich im Forum erst einmal die Fragen stellen, ob jemand so etwas schon einmal gemacht hat und welche Pakete man dafür braucht bzw. brauchen könnte. Ich bin für jeden Hinweis dankbar.

Da ich zufällig gleichzeitig für ein anderes Problem Feriendaten ermitteln mußte hatte ich schon einen Teil der Lösung.

Und aus der Information "Übrigens, falls du Ruby nimmst, Feriendaten kannst du so definieren" wurde ein etwas längerer Mailwechsel an dessen Ende der Kalender entstand. Ich (Knut) entwickelte die Programme, Arne sorgte für ein ordentliches Layout.

Voraussetzungen

Man benötigt:
  • Ein Lauffähiges LaTeX. Details siehe bei Dante. e.V .
    Wer weitere Links sucht, wird im ODP fündig.
  • Ein installiertes Ruby. Siehe Ruby-Lang.org .
    Wer weitere Links sucht, wird im ODP fündig.
  • Verschiedene hier verfügbare Pakete und Rubyskripte
  • Etwas LaTeX und Programmierkenntnisse sind für Anpassungen kein Fehler.

Der Erzeugungsprozess

  1. Erstmal muß man die Feriendaten haben. Diese werden in ferien.rb definiert. Für Baden-Württemberg und Niedersachsen sind sie schon vorhanden. Wenn Sie neue Länder oder Jahre anlegen, bitte senden Sie mir das Codestück zu, das erspart anderen die Mühe das selbst machen zu müssen.
  2. Danach muss eigentlich nur noch ein Programm mit den Steuerdaten angelegt werden. Ein Beispiel "SchulkalenderBW.rb" ist angefügt. Das Programm muss folgende Punkte definieren:
    1. Die benötigten Programme müssen geladen werden:
                            require 'Schulkalender'
                            
                          
      Die restlichen Pakete werden nachgeladen.
    2. Die Region muss definiert werden:
                            #~ Document.region= :niedersachsen
                            Document.region= :bawue
                            
                          
      Die Region muss in ferien.rb definiert sein. Über diesen Schlüssel werden die Feriendaten ermittelt.
    3. Der Zeitraum und Titel werden definiert:
                            kal = Kalender.make(
                                            Month.new( 2005, 1 ), #Begin
                                            Month.new( 2005, 12 ),#Ende
                                            '2005' )              #Titel
                            
                          
    4. Die TeX-Datei wird erzeugt:
                            kal.save(        '2005.tex' )
                            
                          
  3. Nachdem das Programm lief, sollten die Zieldateien erzeugt sein und mit (pdf)LaTeX übersetzt werden.

Zusätzliche Daten

Will man zusätzlich Daten aufnehmen, so kann man das mit
                 Kalendertag.add_text( '2005-01-12', 'Hausmüll', '')
              
            
machen. Obige Anweisung besagt, das am 12. Januar 2005 der Text 'Hausmüll' unter dem Tag erscheinen soll. Soll der Text rechts neben dem Tag erscheinen, kann man das zweite Feld verwenden. So habe ich mir meinen eigenen Müllkalender für Esslingen erzeugt.

Dateien

Die neben der Installation von LaTeX und Ruby benötigten Programme sind in einer ZIP-Datei zusammengefasst: Schulkalender.zip .