Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Key-Value-Splitting

  1. #1
    Registrierter Benutzer
    Registriert seit
    12.12.2008
    Beiträge
    5

    Key-Value-Splitting

    Hallo zusammen,

    ich suche nun schon seit einigen Tagen im Web nach einer einfachen und geschmacklosen Lösung für mein Problem. Aber irgendwie komme ich keinen mm weiter.

    Ich möchte ein Macro erstellen, dass mir eine einfache "Tabelle" anzeigt. Der Übergabe-Parameter soll das Key-Value-Format mit einer (beliebigen) Anzahl von Werte-Paaren haben. Diese Werte-Paare will ich im Makro in den Key und den Value trennen und dann darstellen.

    Mit zwei einfachen Macros kann ich innerhalb des Dokumentes diese Trennung vollziehen:

    \def\ExtractKey #1=#2\Del{#1}
    \def\ExtractValue #1=#2\Del{#2}

    \def\keyval{1a=18}

    Key: \expandafter\ExtractKey\keyval\Del \\
    Value: \expandafter\ExtractValue\keyval\Del \\

    Nur im Macro in einer for-Schleife klappt das nicht.

    \newcommand{\mymacro}[1]
    {
    \@for\keyval:=#1\do{
    \keyval \\
    Key: \expandafter\ExtractKey\keyval\Del \\
    Value: \expandafter\ExtractValue\keyval\Del \\
    }
    }
    }

    Wenn ich die beiden unteren Zeilen in der for-Schleife auskommentiere, dann werden mir die einzelnen Key-Value-Paare angezeigt. Sind die beiden Zeilen drin, dann erhalte ich nur Fehlermeldungen.

    Wo liegt hier mein Denkfehler bzw. gibt es vielleicht einen anderen Ansatz?

    Ich bin für jede Hilfe dankbar.

    Stokker

  2. #2
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von Stokker Beitrag anzeigen
    ich suche nun schon seit einigen Tagen im Web nach einer einfachen und geschmacklosen Lösung für mein Problem. Aber irgendwie komme ich keinen mm weiter.
    xkeyval.sty

    Herbert

  3. #3
    Registrierter Benutzer
    Registriert seit
    12.12.2008
    Beiträge
    5
    Das hatte ich mir schon mal kurz angesehen und habe jetzt auch nochmal die pdf studiert. Aber das Problem ist, das ich corher nicht weiß, wie der Key heißt. Also kann ich den auch nicht definieren.

    Stokker

  4. #4
    Registrierter Benutzer
    Registriert seit
    12.12.2008
    Beiträge
    5
    Ich hab jetzt eine Lösung gefunden. Diese arbeitet ohne zusätzliche Packete.

    Falls es jemanden interessiert:

    Code:
    \edef\ExtractKey #1=#2\Del{#1}
    \edef\ExtractValue #1=#2\Del{#2}
    
    \def\SplitVK #1
    {
      \def\MyKey {\expandafter\ExtractKey#1\Del}
      \def\MyValue {\expandafter\ExtractValue#1\Del}
    
      \begin{tabbing}
        \hspace*{1.4cm}\= \kill
        \> ab \MyKey \'  \` \MyValue
      \end{tabbing}
    }

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •