tikzstyle selbst definieren Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


Patti

tikzstyle selbst definieren

Beitrag von Patti »

Hallo,

habe folgendes Problemmit tiks und komme einfach nicht weiter.
ich habe mir einen eignen block definiert. nun möchte ich diesen gerne als tikstyle verwenden, oder besser gesagt als \node verwenden können (wie z.B. rectangle)
\tikzstyle{block} = [draw, fill=blue!30, rectangle, 
    minimum height=3em, minimum width=10em, line width = 0.5pt]
\tikzstyle{line} = [draw, -latex']

\def\mfile#1{\node [block, node distance=2.5cm]{#1};
     \draw[line width=0.5pt] (-4.5em,-1.5em)--(-4.5em,1.5em);
		 \draw[line width=0.5pt] (4.5em,-1.5em)--(4.5em,1.5em);}

\begin{tikzpicture}[auto, node distance=2cm,>=latex']

\node [mfile] (test2) {test2};
\node [mfile, right of=go, node distance=3.75cm] (test1) {test1};
\end{tikzpicture} 
Hoffe es kann mir jemand weiterhelfen.

Besten Dank im voraus.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Hallo,

hier ist ein Vorschlag, der vielleicht weiter hilft:
\documentclass[parskip=half-]{scrartcl}

\usepackage{tikz}
\usetikzlibrary{positioning}

\tikzset{%
  block/.style={draw,fill=blue!30,minimum height=3em,%
    minimum width=10em,line width=0.5pt,inner xsep=0.7em},
  aussen/.style={inner sep=0pt}}

\newcommand\mfile[1]{%
  \begin{tikzpicture}%
    \node[block,anchor=center]{#1}; 
    \draw[line width=0.5pt] (-4.5em,-1.5em)--(-4.5em,1.5em); 
    \draw[line width=0.5pt] (4.5em,-1.5em)--(4.5em,1.5em);
  \end{tikzpicture}}

\newcommand\mf[1]{%
  \begin{tikzpicture}%
    \node[block,anchor=center](n){#1}; 
    \draw[line width=0.5pt] ([xshift=0.5em]n.south west)--([xshift=0.5em]n.north west); 
    \draw[line width=0.5pt] ([xshift=-0.5em]n.south east)--([xshift=-0.5em]n.north east);
  \end{tikzpicture}}

\begin{document}

\begin{tikzpicture}%
  \node[aussen](test2) {\mfile{test2}}; 
  \node[aussen,right= 3.75cm of test2] (test1) {\mfile{test1}};
  \draw(test2)--(test1);
\end{tikzpicture}

\begin{tikzpicture}%
  \node[aussen](test2) {\mfile{test2}}; 
  \node[aussen,right= 3.75cm of test2] (test1) {\mfile{Ein deutlich laengerer Text}};
  \draw(test2)--(test1);
\end{tikzpicture}

\begin{tikzpicture}%
  \node[aussen](test2) {\mf{test2}}; 
  \node[aussen,right= 3.75cm of test2] (test1) {\mf{Ein deutlich laengerer Text}};
  \draw(test2)--(test1);
\end{tikzpicture} 

\end{document}
Gruß
Elke

Antworten