PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : (Fortschrittsbalken) Fragen zur Erweiterung des Pakets



Spindoctor
08-09-2010, 00:55
Hallo!

Ich habe hier (http://www.mrunix.de/forums/showthread.php?p=319950) eine erste Testversion meines ersten selbstgeschriebenen Pakets vorgestellt.

Um den Usern/-innen möglichst viel Gestaltungsspielraum zu geben, nutze ich kvoptions (http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=kvoptions). Das funktioniert so weit sehr gut.

Allerdings müssen derzeit alle Optionen bereits beim Aufruf des Pakets (etwa \usepackage[width=10cm]{progressbar}) übergeben werden.

Was ich gern hätte, wären zwei weitere Möglichkeiten, die Optionen zu verändern.

Erstens möchte ich gerne einen Befehl \progressbarreset{option1=wert1,option2=wert2} einfügen.

Zweitens möchte ich, dass man auch lokal Optionen verändern kann, also
\progressbar[option1=wert1,option2=wert2]{0.6}.

Leider durchschau ich noch nicht ganz wie das geht.

Für \progressbarreset{} bräuchte ich eine Möglichkeit, alle kvoptions zu überschreiben, die innerhalb der geschwungenen Klammern angegeben werden. Ich hab in der kvoptions-Doku allerdings dazu noch nichts gefunden.

Für progressbar[optionen]{...} brauche ich lokale Variablen. Dazu steht was in der kvoptions-Doku. Allerdings weiß ich nicht genau, wie ich kvoptions dazu bring, die eckige Klammer auszulesen. Eigentlich weiß ich gar nicht genau, wie ich den Befehl definieren soll, damit man relativ beliebig eine eckige Klammer einbauen kann (hab ich das halbwegs klar ausgedrückt?).

Danke im Voraus für Hilfestellungen!

Spindoctor
08-09-2010, 10:03
Frage 1 konnte ich mir selbst beantworten. Das geht mit

\newcommand{\progressbarreset}[1]{%
\setkeys{progressbar}{#1}%
}

mal schaun ob Frage 2 auch so leicht zu beantworten ist :)

Spindoctor
08-09-2010, 10:17
war auch leicht:
Einfach das \progessbar-Makro ändern zu


\newcommand{\progressbar}[2][]{%
\progressbarreset{#1}%
alter Code mit #2 statt #1
}
LaTeX macht Spaß ;-)


wobei ich hiermit die optionen global ändere... naja, aber das wird mit ein paar Hilfsvariablen zu lösen sein.