labbook.cls, eine L^{A}TEX-Klasse zum Führen von experimentellen Laborjournalen, Version 1.1

Frank Küster

2003-05-20

Zusammenfassung

Diese Klasse soll es ermöglichen, Laborbücher mit chronologischen Aufzeichnungen über Experimente mit L^{A}TEX zu führen. Die neuen Seiten werden einfach jeden Tag hinten angeheftet, aus den Gliederungselementen wird ein Experiment-Index generiert, um das Auffinden von bestimmten Experimenten zu erleichtern. Durch unterschiedliche Seitennummerierung kann der Vorspann (Index, Inhalt, Abkürzungsverzeichnis) unabhängig vom Hauptteil verlängert werden. Die Klasse basiert auf der KOMA-Script-Klasse scrbook.cls. Es können daher alle Merkmale dieser Klasse verwendet werden – die Lektüre des scrguide, der KOMA-Script-Dokumentation, wird daher sehr empfohlen.

Inhaltsverzeichnis

1 Generelles 1 1.1 Rechtliches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Merkmale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Benutzung 2 2.1 Initialisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

3 Gliederungsbefehle 3 3.1 \experiment und \subexperiment: Einfache Verwendung …. 3 3.2 Fortgeschrittene Verwendung: Abkürzungen . . . . . . . . . . . . 4 3.3 Mehrfache Indexeinträge . . . . . . . . . . . . . . . . . . . . . . . 4

4 Implementierung 5

1 Generelles

1.1 Rechtliches

Die Führung von Laborbüchern ist teilweise gesetzlich geregelt, oft stellen Institutionen zur Forschungsförderung weitere Anforderungen. In der Regel ist es daher nicht erlaubt, ein Laborjournal lediglich in elektronischer Form zu führen; teilweise sind gebundene Bücher vorgeschrieben. Allerdings scheint es auch dort üblich zu sein, die Notizen, die man während der Experimente auf losen Blättern, in Computerdateien oder einem „Schmierbuch“ geführt hat, mehr oder weniger regelmäßig ins gebundene Laborjournal zu übertragen.

Aus diesem Grund scheint es mir vertretbar, mit einer elektronischen und einer parallelen ausgedruckten Fassung des Laborjournals zu arbeiten. Bei Bedarf kann die ausgedruckte Fassung geheftet oder gebunden werden, eine auf CD-ROM gebrannte Version sollte einem Buch an Beweiskraft nicht nachstehen. Dem stehen die großen Vorteile v.a. einer PDF-Fassung gegenüber: Volltextsuche, einfache Einbindung von Graphen und Bildern, Möglichkeit der Verlinkung von Datendateien etc.

1.2 Merkmale

Basisklasse labbook.cls basiert auf der KOMA-Script-Klasse scrbook.cls und bietet daher alle Möglichkeiten dieser Klasse, vom Seitenlayout über Kopfzeilengestaltung und Absatzauszeichnung bis hin zu Variationen des Layouts von floats und Randbemerkungen. Die Lektüre des scrguide wird sehr empfohlen!

Gliederung Die Gliederung erfolgt zunächst chronologisch, statt \chapter wird \labday verwendet. Innerhalb eines Tages wird nach Experimenten untergliedert – das kann eine vollständige Messung von der Planung bis zur Auswertung sein, aber auch ein Arbeitsgang eines mehrere Tage dauernden Versuchs. \experiment steht auf der Ebene von \section, zusätzlich steht \subexperiment auf der \subsection-Ebene zur Verfügung. Darunter gibt es die üblichen Gliederungsebenen, auch wenn eine sehr tiefe Schachtelung wenig sinnvoll erscheint – man beachte das \minisec-Kommando von KOMA-Script.

Index und Inhaltsverzeichnis Wegen der chronologischen Gliederung ist ein traditionelles Inhaltsverzeichnis nicht ausreichend, besonders wenn Versuche in einem zusammenhängenden Experiment an verschiedenen Tagen durchgeführt werden. Daher wird zusätzlich ein Index ausgegeben. Der Index wird aus den Inhaltsverzeichnis-Einträgen der Abschnittsbefehle erstellt. Als Argument für \experiment und \subexperiment kann man auch vorher definierte Abkürzungen verwenden. Dadurch soll die konsistente Erstellung des Index erleichtert werden. Außerdem können einem Experiment mehrere Indexeinträge zugeordnet werden.

hyperref-Integration Die Klasse arbeitet gut mit dem Paket hyperref.sty zur Erstellung von pdf-Dateien mit Navigationsfunktionen zusammen.

2 Benutzung

2.1 Initialisierung

Wenn man hyperref verwenden möchte muss man die Klassenoption hyperref angeben:

\documentclass[hyperref]{labbook}

Danach kann man hyperref und andere Pakete in der jeweils passenden Reihenfolge laden. Wird hyperref geladen, ohne die Option anzugeben, dann überschreibt es einige Änderungen, die in dieser Klasse in L^{A}TEX-Interna eingefügt werden. Umgekehrt werden diese Änderungen gar nicht erst durchgeführt, wenn man die Option hyperref angibt, aber das Laden des Paketes vergisst! Bei der Verwendung von hyperref sollte man außerdem die KOMA-Option idxtotoc in Erwägung ziehen: Der Index wird nämlich nicht nur in das Inhaltsverzeichnis aufgenommen, sondern auch in die PDF-Bookmarks.

Ansonsten werden derzeit einfach alle Optionen an scrbook durchgereicht. Die Verwendung von openany bietet sich an, damit Labortage auf jeder Seite beginnen können.

3 Gliederungsbefehle

subsection\labday labelsec:labday

\labday Der Befehl \labday kann verwendet werden, um eine nicht nummerierte Überschrift zu erzeugen. Ihr Text (bzw. der des optionalen Arguments) wird ins Inhaltsverzeichnis aufgenommen und als lebender Kolumnentitel gesetzt. In der Regel wird man einfach das Datum, vielleicht mit dem Wochentag, verwenden. \labday kümmert sich auch um die Indexeinträge der untergeordneten Gliederungspunkte; man sollte es nur innerhalb von mainmatter verwenden. Intern wird \addchap aufgerufen, es gibt keine Sternform und kein optionales Argument.

3.1 \experiment und \subexperiment: Einfache Verwendung

\experiment Innerhalb eines Tages können nummerierte Überschriften für einzelne Experimente mit

\experiment[<Kurzform>]{<Langform>}

erzeugt werden. Ihr Text (bzw. der des optionalen Arguments) wird nicht nur ins Inhaltsverzeichnis und den Seitenkopf geschrieben, sondern auch in den Index. Dieser erleichtert die Orientierung, besonders wenn Experimente mehrfach oder über mehrere Tage hinweg durchgeführt werden. Die Indexeinträge geben nicht nur die Seiten des Beginns jedes Experiments an, sondern den ganzen Seitenbereich, und fassen zusammenhängende Bereiche des gleichen Experiments an unterschiedlichen Tagen zusammen.

Beachten Sie, dass man im optionalen Argument keine Kommas verwenden darf, weil es auch eine durch Kommas abgetrennte Liste enthalten kann (s. u.). Wenn Sie doch ein Komma benötigen, schließen Sie das optionale Argument nochmals in geschweifte Klammern ein:

\experiment[{eins, zwei, drei}]{Die Eins, die zwei und die Drei}

\subexperiment Das selbe gilt für die darunter liegenden \subexperiment-Einträge. Sie sind für Untergliederungen der Art „Planung, Durchführung, Auswertung“ oder „Herstellung, Reinigung, Messung“ vorgesehen.

3.2 Fortgeschrittene Verwendung: Abkürzungen

\newexperiment Wenn man für das gleiche Experiment an unterschiedlichen Stellen leicht unterschiedliche Formulierungen (oder Schreibungen) wählt, erhält man unterschiedliche Indexeinträge. Um dies zu vermeiden, kann man sich Abkürzungen für häufig auftretende Experimente definieren. Dies geschieht mit dem Makro

   \newexperiment{<abk>}{<Langform>}{<Kurzform>}

Dabei bezeichnet <abk> die Abkürzung, mit der man auf die definierte <Langform> und <Kurzform> zugreifen kann (letztere für Index, Inhaltsverzeichnis und Kolumnentitel). Der Text der Abkürzung ist dabei ohne vorangestellten Backslash einzugeben, also als \experiment{abk}! Die Abkürzungen dürfen außer der Tilde (~), dem Komma und Leerzeichen sämtliche Zeichen enthalten.

\newsubexperiment  Für \subexperiment steht ein analoges Makro, \newsubexperiment, zur

Verfügung.

Bei jeder Verwendung eines dieser Makros wird überprüft, ob die gewünschte Abkürzung bereits verwendet wurde, und gegebenenfalls ein Fehler erzeugt. Gleichlautende Abkürzungen für \experiment und \subexperiment sind grundsätzlich möglich, dürften aber nur Verwirrung stiften (beim Benutzer, nicht bei TEX). Wird das dritte Argument dieser Makros leer gelassen, so wird die Langform auch für Index und Inhaltsverzeichnis verwendet.

   \experiment und \subexperiment können wie \section mit oder ohne op-

tionales Argument verwendet werden, und zwar sowohl mit völlig frei gewählten Überschriften (Kurz- und Langform) als auch mit einer Abkürzung. Die Kombination einer Abkürzung im optionalen Argument und einer variierten, freien Langform im Hauptargument ist möglich, die Verwendung eines frei formulierten optionalen Arguments mit einer Abkürzung im Pflichargument führt jedoch zu einem Fehler, denn die Abkürzung legt ja bereits einen Index- und Verzeichniseintrag fest. Die Verwendung zweier unterschiedlicher Abkürzungen in optionalem und Pflichtargument ist möglich, wenn sie beide zum selben Indexeintrag führen.

3.3 Mehrfache Indexeinträge

Manchmal führt man zusammenpassende Arbeitschritte für verschiedene Experimente parallel aus, das verkompliziert die Indexeinträge. Stellen Sie sich z. B. vor, Sie hätten mit einer Screening-Methode die Substanzen A152 und B96 aus einer kombinatorischen Bibliothek als vielversprechende Medikamente identifiziert. Als nächstes möchten Sie deren exakte Struktur, Zusammensetzung oder Sequenz verifizieren und eine Präparationsmethode für etwas größere Mengen entwickeln. Wahrscheinlich können Sie Zeit sparen, indem Sie einige dieser Schritte für beide Substanzen parallel ausführen, aber dann erhalten Sie einen Index mit Einträgen wie „A152 und B96, Sequenzierung“ – und zwei Monate später sollen Sie sich erinnern, ob sie B96 zusammen mit A152 sequenziert haben oder stattdessen in der folgenden Woche mit A43 und C12. Daher wäre es praktisch, für das Experiment „Sequenzierung von A152 und B96“ zwei Indexeinträge zu erhalten, nämlich Ä152, Sequenzierung“ und "B96, Sequenzierung“. Und genau das können Sie einfach erzeugen.

\subexperiment  Denn die Syntax von \experiment und \subexperiment erlaubt es, eine

\experiment durch Kommata abgetrennte Liste im optionalen Argument zu verwenden. Das erste Element wird für das Inhaltsverzeichnis und die Kolumnentitel verwendet, und die folgenden Elemente liefern Indexeinträge. Angenommen, Sie haben die Abkürzungen A152-seq und B96-seq definiert, dann brauchen Sie nur zu schreiben:

\experiment[Sequenzierung A152 und B96, A152-seq,
B96-seq]{Sequenzierung der Inhibitor-Kandidaten A152 und B96}

und Sie erhalten was Sie wünschen. Leerzeichen vor und nach den Kommata werden ignoriert. Sie können überall Abkürzungen oder freien Text wählen, obwohl für die Indexeinträge wahrscheinlich nur Abkürzungen wirklich sinnvoll sind.

4 Implementierung

Die Implementierung ist auf Englisch dokumentiert und kann durch Übersetzung von labbook.dtx mit latex erhalten werden.