Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 3

12 Aug '14, 20:53

cgnieder's gravatar image

cgnieder
22.1k253463

Eine Möglichkeit ist es, das Paket `pgfkeys` zu verwenden, das den Options-Mechanismus für TikZ/PGF definiert. Beschrieben ist es im TikZ-Handbuch [TikZ-Handbuch][1] unter *Utilities*/*Key Management*. EIn kleines Beispiel demonstriert die wesentlichen Punkte: \documentclass{article} \usepackage{pgfkeys} \makeatletter \pgfkeys{ name/.cd ,% Pfad eindeutig für Befehl machen anrede/.code = \renewcommand*\name@anrede{#1} , vorname/.code = \renewcommand*\name@vorname{#1} , nachname/.code = \renewcommand*\name@nachname{#1} , } \newcommand*\name@anrede{Herr/Frau} \newcommand*\name@vorname{Vorname} \newcommand*\name@nachname{Nachname} \newcommand*\name[1][]{% \begingroup \pgfqkeys{/name}{#1}% \name@anrede\ \name@vorname\ \name@nachname \endgroup } \makeatother \begin{document} \name\par \name[anrede=Frau,nachname=Musterfrau,vorname=Mia]\par \name \end{document} ![alt text][1] text][2] Das Beispiel definiert Keys, die alle zum Pfad `/name` gehören. In Paketen habe ich mir angewöhnt, als Pfad den Paketnamen zu verwenden. Nehmen kann man alles, was einem gefällt. Streng genommen ist auch gar keiner nötig, aber so sinkt vielleicht die Gefahr, dass man Probleme mit bestehenden Keys mit gleichem Namen bekommt. Jeder Key muss mit einem *Handler* definiert werden. Der einfachste ist `.code`, mit dem der Wert, den der Key bekommt, als `#1` weiterverarbeitet werden kann. Im Befehl am Schluss werden die Keys schließlich gesetzt. Dabei ist `\pgfqkeys{/<Pfad>}{<Keys>}` nur eine andere Methode für `\pgfkeys{<Pfad>/.cd, <Keys>}`. Gesetzt habe ich sie in einer Gruppe, damit sie beim nächsten Aufruf des Befehls wieder die Voreinstellung haben, falls sie nicht verwendet werden. [1]: http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf [2]: http://texwelt.de/wissen/upfiles/pgfkeys.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 2

12 Aug '14, 20:39

cgnieder's gravatar image

cgnieder
22.1k253463

Eine Möglichkeit ist es, das Paket `pgfkeys` zu verwenden, das den Options-Mechanismus für TikZ/PGF definiert. Beschrieben ist es im TikZ-Handbuch unter *Utilities*/*Key Management*. EIn kleines Beispiel demonstriert die wesentlichen Punkte: \documentclass{article} \usepackage{pgfkeys} \makeatletter \pgfkeys{ name/.cd ,% Pfad eindeutig für Befehl machen anrede/.code = \renewcommand*\name@anrede{#1} , vorname/.code = \renewcommand*\name@vorname{#1} , nachname/.code = \renewcommand*\name@nachname{#1} , } \newcommand*\name@anrede{Herr/Frau} \newcommand*\name@vorname{Vorname} \newcommand*\name@nachname{Nachname} \newcommand*\name[1][]{% \begingroup \pgfqkeys{/name}{#1}% \name@anrede\ \name@vorname\ \name@nachname \endgroup } \makeatother \begin{document} \name\par \name[anrede=Frau,nachname=Musterfrau,vorname=Mia]\par \name \end{document} ![alt text][1] Das Beispiel definiert Keys, die alle zum Pfad `\name` `/name` gehören. In Paketen habe ich mir angewöhnt, als Pfad den Paketnamen zu verwenden. Nehmen kann man alles, was einem gefällt. Streng genommen ist auch gar keiner nötig, aber so sinkt vielleicht die Gefahr, dass man Probleme mit bestehenden Keys mit gleichem Namen bekommt. Jeder Key muss mit einem *Handler* definiert werden. Der einfachste ist `.code`, mit dem der Wert, den der Key bekommt, als `#1` weiterverarbeitet werden kann. Im Befehl am Schluss werden die Keys schließlich gesetzt. Dabei ist `\pgfqkeys{/<Pfad>}{<Keys>}` nur eine andere Methode für `\pgfkeys{<Pfad>/.cd, <Keys>}`. Gesetzt habe ich sie in einer Gruppe, damit sie beim nächsten Aufruf des Befehls wieder die Voreinstellung haben, falls sie nicht verwendet werden. [1]: http://texwelt.de/wissen/upfiles/pgfkeys.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

12 Aug '14, 20:38

cgnieder's gravatar image

cgnieder
22.1k253463