Hallo zusammen.

das dies mein erstes Posting in diesem Forum ist, möchte ich
die Gelegenheit kurz nutzen, um mich für all die interessanten
Fragen und Antworten zu bedanken, die ich als Gast gelesen
und zur Lösung meiner LaTeX-Probleme genutzt habe. Danke!

Zur nachfolgenden Frage habe ich in den Archiven leider
keine Antwort gefunden. Ich hoffe, ich habe auch gründlich
genug gesucht ...

Ich möchte gerne eine Key-Value-Liste erzeugen (wie in keyval.sty
beschrieben) und diese für Befehle wie \includegraphics[...]{...} mehrfach
nutzen. Hierzu wollte ich entweder eine Box (z.B. \newsavebox} oder
ein Makro verwenden. Leider gelingt es mir nicht, weil der parser von
keyval.sty den Inhalt meiner Box oder meines Makros nicht splitten kann.

Hier ein kleines Beispiel:

Code:
\documentclass{article}

\usepackage{keyval}

% command
\newcommand{\tmpA}{}
\newcommand{\tmpB}{}
\newcommand{\tmpC}{}
\newcommand{\tmpD}{}
\newcommand{\myscale}{}
\newcommand{\mysetkeys}[1][]{\renewcommand{\myscale}{undef!}\setkeys{TEST}{#1}}

% key
\makeatletter 
\define@key{TEST}{scale}[1]{\renewcommand{\myscale}{#1}}
\makeatother  

\begin{document}
% init
\renewcommand{\tmpA}{0.3}
\renewcommand{\tmpB}{=0.3}
\renewcommand{\tmpC}{scale=0.3}

% test 1
\mysetkeys[scale=\tmpA]
output: \myscale \\	% funktioniert

% test 2
\mysetkeys[scale\tmpB]
output: \myscale \\	% funktioniert nicht!

% test 3
\mysetkeys[\tmpC]
output: \myscale \\	% funktioniert nicht!

\end{document}
Die Fehlermeldung für test 2 und test 3 lautet:
! Package keyval Error: scale=0.3 undefined.

Das splitting in keyval.sty erfolgt mit \KV@split#1=#2=#3\relax{...}.
Ich kann leider nicht behaupten, dass ich die TeX-Anweisungen
verstehe. Beiden Fehlerfällen ist jedoch gemein, dass anscheinend das
Gleichheitszeichen zur Trennung von und nicht
gefunden wird.

Ist das was ich vorhabe generell möglich?

Vielen Dank und beste Grüße, Mark.