Sie sind hier

Erweiterung zu scrlayer

Momentan definiere ich ein Makro, das in den contents einer Header-Ebene platziert wird. Dieses Makro verwendet den Wert eines Zählers, um genau zu bestimmen, was in den Header für jeden Abschnitt eingefügt werden soll. Obwohl diese Methode perfekt funktioniert, schichte ich in der Praxis mehrere Tikz-Bilder in Abhängigkeit vom Zählerwert. Das heißt, ein Bild erscheint immer und andere werden basierend auf dem Zähler überlagert.

Es wäre also praktisch, eine Ebene zu definieren, die nur dann gedruckt wird, wenn ein bestimmter Zähler kleiner, gleich oder größer als ein bestimmter Wert ist. Ich stelle mir eine Ebene-Option vor, die ungefähr wie folgt aussieht:

printonvalue={Zähler}{Operator}{Wert}

Beispiel: printonvalue={chapter}{>}{2} würde die Ebene nur drucken, wenn die Anzahl der chapter größer als 2 ist.

forum: 
Bild von Markus Kohm

contents={\ifnum\value{chapter}>2 
    % Hier folgt mein gewünschter Inhalt
  \fi}

oder im Extremfall auch

contents={\ifcase\value{chapter}
    % Hier der Inhalt für den Fall, dass der Zähler 0 ist.
  \or
    % Hier der Inhalt für den Fall, dass der Zähler 1 ist.
  \or
    % Hier der Inhalt für den Fall, dass der Zähler 2 ist.
  % …
  \else
    % Hier der Inhalt für alle anderen Fälle.
  \fi}

Wenn ich das hinter einer Option ifcounter verstecke, dann will der nächste wissen, warum als Operator nur <, > und = funktioniert und ob man nicht auch kompliziertere Ausdrücke mit »und« und »oder« oder »xor« und »not« und was noch alles machen könnte. Dann muss ich scrlayer min. in expl3 neu implementieren.

Ich benutzte bereits die einfache Lösung und schlug die Erweiterung hauptsächlich vor, weil ich es vorziehe, solche Verzweigungslogik vor mir selbst zu verbergen, wenn es möglich ist. Auf diese Weise tendiere ich dazu, weniger Fehler bei der Implementierung zu machen. Und eine ifbooolexpr-Option, parallel zum etoolbox-Makro, klingt auch nach einer ausgezeichneten Idee, obwohl ich verstehe, warum die Implementierung unattraktiv wäre, und ich nehme an, dass die direkte Verwendung von etoolbox eine unerwünschte Abhängigkeit einführt.

Comments for "Erweiterung zu scrlayer" abonnieren