Wie kann ich auf mit pgf definierte Methoden innerhalb von eckigen Klammern zugreifen?
Ich arbeite mich gerade in die Objektorientierung von pgf ein (zu finden im pgfmanual Kapitel 94), da ich es in meinem Dokument recht gut gebrauchen kann. Jedoch bin ich gerade auf das Problem gestoßen, dass ich auf definierte Methoden einer Klasse innerhalb der eckigen Klammern eines subfloat die Fehler bekomme, dass der Aufruf nicht der Definition entspricht. Ich vermute, es liegt an dem Parse-Vorgang von pgf, welcher Probleme mit den eckigen Klammern in der Umgebung hat. Hier ein Beispiel:
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{subfig}
\usepackage{pgf}
\usepgfmodule{oo}
\pgfooclass{MyClass}{
\attribute name;
\method MyClass(#1){ % constructor
\pgfooset{name}{#1}
}
\method printName() {
\pgfoovalueof{name}
}
}
\pgfoonew \myObject=new MyClass(Automatic Foo Bar)
\begin{document}
\begin{figure}
\centering
\subfloat[\myObject.printName()]{Manual Foo Bar}
\caption{Bla Bla}
\end{figure}
\myObject.printName()
\end{document}
Wenn man `Manual Foo Bar` gegen `\myObject.printName()` vertauscht vertauscht, also statt den oben gezeigten Code `\subfloat[Manual Foo Bar]{\myObject.printName()}` nimmt, dann funktioniert das Beispiel. Kann mir hier jemand weiterhelfen?