Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Eigenes Package mit Optionen

  1. #1
    Registrierter Benutzer
    Registriert seit
    23.11.2004
    Ort
    Hamburg
    Beiträge
    279

    [solved] Eigenes Package mit Optionen

    Hallo LaTeX-Fans!

    Kennt jemand eine vernuenftige Dokumentation, welche erklaert, wie man in eigenen LaTeX-Paketen Optionen erstellt? Quasi
    Code:
    \usepackage[myoption]{mypackage}
    Ich brauche wirklich nur eine Doku (es sei denn, die Erklaerung ist ganz kurz), ansonsten sehe ich mir bei anderen Paketen an, wie das gemacht wird.

    mfg,

    bienchen
    Geändert von bienchen (22-10-2010 um 10:18 Uhr)

  2. #2
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von bienchen Beitrag anzeigen
    Kennt jemand eine vernuenftige Dokumentation, welche erklaert, wie man in eigenen LaTeX-Paketen Optionen erstellt? Quasi
    Code:
    \usepackage[myoption]{mypackage}
    Ich brauche wirklich nur eine Doku (es sei denn, die Erklaerung ist ganz kurz), ansonsten sehe ich mir bei anderen Paketen an, wie das gemacht wird.
    es gibt keine einfache Doku, weil alle key/value-Pakete sehr umfangreiche
    Möglichkeiten haben und daher entsprechend umfangreich sind. Nimm einfach
    ein einfacheres Paket unf kupfere es ab ...

    Herbert

  3. #3
    Registrierter Benutzer
    Registriert seit
    23.11.2004
    Ort
    Hamburg
    Beiträge
    279
    Habe mich nun an book.cls orientiert... ein einfacher Switch ist damit schnell gemacht:

    Code:
    % Nach der Paket-Praeambel
    % Neue Conditional anlegen, welche bei der Optionsdeklaration verwendet wird
    \newif\ifMY@draft
    
    % Option anlegen
    \DeclareOption{draft}{\MY@drafttrue}
    
    % Gegebene Optionen ausfuehren
    \ProcessOptions
    
    % Verwenden
    \ifMY@draft
    
    LaTeX-Code
    
    \fi
    Funktioniert bei mir. (Ich dachte ich poste das hier mal, da mir immer so toll geholfen wird, ich anderne aber (noch, hehe) nicht helfen kann)

    mfg,

    bienchen

  4. #4
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von bienchen Beitrag anzeigen
    Habe mich nun an book.cls orientiert... ein einfacher Switch ist damit schnell gemacht:
    Code:
    % Nach der Paket-Praeambel
    % Neue Conditional anlegen, welche bei der Optionsdeklaration verwendet wird
    \newif\ifMY@draft
    \My@draftfalse% damit der STandardwert sicher ist.
    % Option anlegen
    \DeclareOption{draft}{\MY@drafttrue}
    
    % Gegebene Optionen ausfuehren
    \ProcessOptions
    man hat sich eigentlich angewöhnt den Standardwert auch dann zu setzen,
    wenn er false ist.

    Herbert

  5. #5
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    Zitat Zitat von voss Beitrag anzeigen
    man hat sich eigentlich angewöhnt den Standardwert auch dann zu setzen, wenn er false ist.
    Selbst im LaTeX-Kern ist das nur halbherzig gemacht und in den Standardklassen gar nicht, was vielleicht auch daran liegt, dass \newif selbst bereits \let#1\iffalse enthält, um einen definierten Zustand herzustellen. Eine Alternative wäre übrigens, auch eine Gegenoption zu implementieren und diese als Default auszuführen:
    Code:
    % Nach der Paket-Praeambel 
    % Neue Conditional anlegen, welche bei der Optionsdeklaration verwendet wird 
    \newif\ifMY@draft  % Option anlegen 
    \DeclareOption{draft}{\MY@drafttrue}
    \DeclareOption{final}{\MY@draftfalse}
    
    % Default-Optionen:
    \ExecuteOptions{final}
    
    % Gegebene Optionen ausfuehren 
    \ProcessOptions\relax
    So machen das auch die Standardklassen.
    Im clsguide wird übrigens empfohlen, nach \ProcessOptions immer ein \relax anzufügen (damit nicht weiter nach einem * gesucht wird).
    Geändert von Schweinebacke (22-10-2010 um 07:31 Uhr) Grund: Beim Posten hat es die Formatierung zersäbelt

  6. #6
    Registrierter Benutzer
    Registriert seit
    23.11.2004
    Ort
    Hamburg
    Beiträge
    279
    Fein, fein,

    habe die Aenderungen uebernommen.

    So find ich das toll: Loesung fuers Problem selber gesucht (Lerneffekt!) und dann bekomm' ich das hier noch "glatt" gezogen und der naechste, der sucht hat auch noch was davon.

    mfg,

    bienchen

  7. #7
    Registrierter Benutzer
    Registriert seit
    23.07.2010
    Beiträge
    96
    Hallo,

    wenn Du Details zu key-value wissen willst, interessiert Dich vielleicht folgender Uebersichtsartikel, der mehrere solcher Pakete vergleicht:

    www.tug.org/TUGboat/tb30-1/tb94wright-keyval.pdf

    Joseph Wright hat inspiriert durch seine Recherche im Anschluss dazu ein Paket entwickelt, das ebenfalls interessant dazu ist (pgfopts unter http://www.tug.org/texmf-dist/doc/la...ts/pgfopts.pdf)

    Mit liebem Gruss

    Christian

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •