Donnerstag, 26. August 2010, 19:34 Uhr von Christian
Das Vieh wirkte riesig, lag da am Heiligen See rum, hatte keine Augen mehr, stank abartig und zog sowohl viele Schaulustige als auch Fliegen an. Ich hatte auf Karpfen getippt. Da ich selbst von Fischen nicht viel Ahnung habe, wurde ich dann von einer Freundin darüber aufgeklärt, dass es sich um eine Brasse (eine Karpfenart, in der Region auch Havelschwein genannt) handelt.
Insgesamt neun dieser putzigen und noch recht jungen „Nadelkissen“ machen derzeit abends den Garten unsicher. Sie hatten offenbar nichts dagegen fotografiert zu werden und auch das Licht schien sie nicht im Geringsten zu stören. Also gibt es hier die vier besten Bilder und ein kurzes QuickTime-Video.
Mithilfe der LaTeX-Pakete varioref und cleveref lässt sich der Umgang mit Referenzen stark vereinfachen.
Das cleveref-Paket bietet Befehle, die den Typ des referenzierten Objekts erkennen und der numerischen Referenz auf das Objekt auch dessen Bezeichnung wie „Abbildung“, „Kapitel“, „Abschnitt“, „Tabelle“ usw. voranstellen. Mit dem varioref-Paket stehen Befehle bereit, welche die numerische Referenz um eine Seitenangabe (wie „auf dieser Seite“, „auf der nächsten Seite“ oder „auf Seite 23“) ergänzen. In Kombination dieser Pakete lässt sich allein durch \vref{bild1} z. B. die Ausgabe „Abbildung 1.1 auf Seite 23“ erzeugen.
Ich wollte nun aber, dass bei Referenz auf ein Objekt, das evtl. von LaTeX auf dieselbe Seite gesetzt wird, nicht „auf dieser Seite“ erscheint, weil das einfach den Lesefluss stört. Auch finde ich es überflüssig, darauf hinzuweisen, dass sich etwas „auf der nächsten Seite“ oder „auf der vorherigen Seite“ befindet. Mein Ziel war, eine Seitenangabe nur dann einfügen zu lassen, wenn Objekt und Referenz mindestens zwei Seiten voneinander entfernt sind. Die Lösung war schließlich, einige von varioref bereitgestellte Befehle so umzudefinieren, dass die Seitenangabe unterdrückt wird. Dabei war das größte Problem allerdings, dass wenn durch den vref-Befehl z. B. der Text „Abbildung 1.1 auf Seite 23“ generiert und durch meine Umdefinierung dieses „Seite 23“ unterdrückt wird, das Leerzeichen nach „1.1“ bestehen blieb. Letztendlich war nun die Lösung, dieses evtl. zuvor gesetzte Leerzeichen mittels \unskip zu entfernen.
Ein Beispiel soll meine Intention und die Verwendung der von varioref und cleveref bereitgestellten Befehle veranschaulichen. Es steht im LaTeX-Quellcode und daraus generierter PDF-Datei zum Download zur Verfügung. Die jeweils relevanten Bereiche der Präambel sind im Quellcode durch Kommentare gekennzeichnet, sodass sich diese Funktionalität schnell in das eigene Dokument einfügen lässt.
Ich stand gerade vor dem Problem, für mein Firefox-Add-on azid die kompatiblen Firefox-Versionen anzugeben. Aufgrund eines Fehlers in einigen Firefox-Versionen müsste ich nun theoretisch zwei Bereiche von Versionsnummern festlegen, von 2.0 bis 3.6.* und von 4.0b2 bis 4.0b3pre, da in den Versionen 3.7a4 (erste verfügbare inkompatible) und 4.0b1 (letzte inkompatible) sowie wahrscheinlich (ungetestet) den Versionen dazwischen das Add-on nicht funktioniert. Praktisch ist leider nur die Angabe genau eines Bereichs unterstützter Versionen einer Anwendung (z. B. Firefox) möglich, sodass weder
anzugeben, obwohl er eigentlich falsch ist. Zumindest habe ich der Projektseite von azid Informationen zu (in)kompatiblen Versionen hinzugefügt.
Die Festlegung mehrerer disjunkter Versionsmengen wäre wünschenswert, um solche dem Add-on-Entwickler bekannten Inkompatibilitäten den potenziellen Nutzern mitzuteilen und auch in den Prozess der Add-on-Suche und -Installation einfließen zu lassen.