Anzeige:
Ergebnis 1 bis 3 von 3

Thema: TIKZ Übergabe von Optionen als Makro

  1. #1
    Registrierter Benutzer
    Registriert seit
    08.02.2012
    Beiträge
    48

    TIKZ Übergabe von Optionen als Makro

    Hallo,
    ich möchte gerne bei TIKZ die (Skalierungs-) Optionen bei \begin{tikzpicture}[] als Makro übergeben, also z.B.:

    \newcommand{\Skalierung}{xscale=0.3}
    \begin{tikzpicture} [\Skalierung]

    Funktioniert aber nicht.
    Wie kann ich das Problem beheben?

    Vielen Dank & Grüße

    Manfred

    Hier das Minimalbeispiel:

    Code:
    \documentclass{scrartcl}
    \usepackage{tikz}
    \begin{document}
    Funktioniert:
    
    \begin{tikzpicture} [xscale=0.3]
     \draw (0,0) rectangle (5,5);
    \end {tikzpicture}
    
    Funktioniert nicht
    
    \newcommand{\Skalierung}{xscale=0.3}
    \begin{tikzpicture} [\Skalierung]
     \draw (0,0) rectangle (5,5);
    \end {tikzpicture}
    \end{document

  2. #2
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.779
    Das Problem ist vermutlich, daß statt "opt"="val" so "opt=val" gesehen (und damit ungültig) wird.
    Die eine oder andere Idee kann ich auch anbieten:
    Code:
    \documentclass{scrartcl}
    \usepackage{tikz}
    \newenvironment{foo}[1][]{%
      \expandafter\tikzpicture\expandafter[#1]
    }{%
      \endtikzpicture
    }
    
    \begin{document}
    Funktioniert:
    
    \begin{tikzpicture} [xscale=0.3]
     \draw (0,0) rectangle (5,5);
    \end {tikzpicture}
    
    Funktioniert auch:
    
    \newcommand{\Skalierung}{xscale=0.3}
    \begin{foo} [\Skalierung]
     \draw (0,0) rectangle (5,5);
    \end {foo}
    
    Sowas geht auch:
    
    \newcommand*\skalierung{0.3}
    \begin{tikzpicture} [xscale=\skalierung]
     \draw (0,0) rectangle (5,5);
    \end {tikzpicture}
    
    \end{document}
    VG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  3. #3
    Registrierter Benutzer
    Registriert seit
    08.02.2012
    Beiträge
    48
    Vielen Dank!
    Die Lösung mit der newenvironment funktioniert prima!

Lesezeichen

Berechtigungen

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