Hier wurde eine ähnliche Frage schon gestellt, mit folgendem Beispiel. Open in writeLaTeX Code, hier editierbar zum Übersetzen:
Nachteil dieser Art von Befehlsdefinition ist unter anderem, dass man sich Art und Reihenfolge der Argumente merken muss. Könnte man den gezeigten Befehl auch so definieren, dass die Argumente in folgender Form übergeben werden? Open in writeLaTeX
|
Eine weitere Methode ist das Paket Open in writeLaTeX
Und wird in dieser Form auch von Open in writeLaTeX
Setzen kann man sie dann später mit Open in writeLaTeX
Das folgende Beispiel bastelt mein Beispiel aus der Antwort mit Open in writeLaTeX Code, hier editierbar zum Übersetzen:
Mit Open in writeLaTeX
Das definierte Makro bekommt den Namen Open in writeLaTeX Code, hier editierbar zum Übersetzen:
Definiert man die Makros vorher nicht selber, so kann man bei beiden Methoden durch Testen, ob das entsprechende Makro existiert, auch auf einfache Weise Fehlermeldungen oder anderes Verhalten etc. erreichen: Open in writeLaTeX Code, hier editierbar zum Übersetzen:
|
Ein Ansatz mit
Open in writeLaTeX Code, hier editierbar zum Übersetzen:
Vielleicht kannst Du beschreiben, wo man Nachlesen kann, was Du da in dieser seltsamen Schreibweise machst ;) Am besten noch: gleich selber beschreiben
(12 Aug '14, 20:41)
cgnieder
|
Eine Möglichkeit ist es, das Paket Open in writeLaTeX Code, hier editierbar zum Übersetzen:
Das Beispiel definiert Keys, die alle zum Pfad Jeder Key muss mit einem Handler definiert werden. Der einfachste ist Im Befehl am Schluss werden die Keys schließlich gesetzt. Dabei ist Für
(12 Aug '14, 20:57)
Henri
@Henri :) kannte ich noch nicht. (Ich nutze
(12 Aug '14, 21:00)
cgnieder
Ich hätte allerdings trotzdem
(12 Aug '14, 21:01)
cgnieder
@Clemens Ich finde es so wie es ist wunderbar :) So haben wir beide was gelernt.
(12 Aug '14, 21:04)
Henri
1
@cfeuersaenger hat hier noch einen weiteren Vorschlag mit
(15 Aug '14, 23:11)
esdd
Danke @esdd. Irgendwie scheint sich meine Antwort auf die urspruengliche Frage mit der Entscheidung, eine separate Frage zu keyval zu stellen, ueberschnitten zu haben :-( Vielleicht kopiere ich die hierhin; da findet man sie besser.
(16 Aug '14, 10:35)
cfeuersaenger
Ergebnis 5 von 6
show 1 more comments
|
Das KOMA-Script Paket Dazu muss man zunächst eine Schlüssel-Familie definieren Open in writeLaTeX
und das aktuelle Paket (hier: das Dokument) dieser Familie zuweisen: Open in writeLaTeX
Danach kann man mit Open in writeLaTeX
Schlüssel-Optionen definieren. Ausgeführt werden die Optionen dann mit Open in writeLaTeX
Genauer beschrieben ist das im Das folgende Beispiel bastelt das Beispiel aus meiner Antwort mit Open in writeLaTeX Code, hier editierbar zum Übersetzen:
|
Hinweis: diese Antwort stammt eigentlich aus der Originalfrage http://texwelt.de/wissen/fragen/8404/ist-es-moglich-eigene-befehle-mit-mehr-als-einem-optionalen-argument-zu-definieren. Ich poste sie hier in einer modifizierten Kopie, damit wir die Knowledge-Base leichter lesbar haben. Ich schlage folgende Variante mit Open in writeLaTeX Code, hier editierbar zum Übersetzen:
Diese Variante unterscheidet sich von der anderen hier vorgestellten dadurch, dass sie die Werte "direkt" in den Key speichert anstelle noch ein extra-makro zu verwenden. Vorteil (neben vernachlaessigbaren Speichereinsparungen): man kann dann auch sowas wie Details zu dem Stichwort "TeX Programmierung" habe ich mal zusammengeschrieben, man findet das - zusammen mit weiterfuehrenden Hinweisen zu |
Neben den bereits genannten gibt es u. a. auch noch
kvsetkeys
undkvoptions
. Ich habe beide bisher nicht verwendet, weshalb ich auch keine Beispiele dafür erstellen kann. Siehe auch das CTAN-Topickeyval
.