Hallo, ich habe folgendes Anliegen. Ich möchte mein entworfenes Symbol nicht an jeder Stelle in einer tikZ-Umgebung neu zeichnen müssen. Daher hatte ich mir vorgestellt, dieses vorher mit irgendeiner Variable zu definieren, die ich dann bei Bedarf einfügen kann. Das Symbol sollte zusätzlich individuell mit Text gefüllt werden. z.B. Checkliste oder Formular XY Ich freue mich über jeden Tipp :-) Open in writeLaTeX
\documentclass[11pt]{scrreprt} \usepackage[top=2cm,left=3cm,right=3cm,bottom=4cm]{geometry} \usepackage{graphicx} \usepackage{tabularx} \usepackage{microtype} \usepackage{booktabs} \usepackage{paralist} \usepackage{tikz} \usetikzlibrary{mindmap,trees} \usetikzlibrary{matrix} \usetikzlibrary{decorations.pathreplacing} \usetikzlibrary{positioning,shadings} \usetikzlibrary{shapes.geometric} \usetikzlibrary{shapes.arrows} \begin{document} \begin{tikzpicture} \draw (0,0) -- (0,2); \draw (0,2) -- (2,2); \draw (2,2) -- (2,0); \draw [out=90, in=-60] (2,0) to (0,0); \end{tikzpicture} \end{document} |
Am besten macht man dies mit einem optionalen Argument zum neuen Makro. Open in writeLaTeX
\documentclass{article} \pagestyle{empty}% zum freistellen \usepackage{tikz} \newcommand\einheit[1][]{\tikz{ \draw (0,0) -- (0,2) -- (2,2) -- (2,0) to[out=90, in=-60] (0,0); \node[text width=2cm,align=center] at (1,1) {#1}; }} \begin{document} \einheit\ \einheit[Checkliste] \einheit[Formular] \einheit[Ein zu langer Text f\"ur eine Zeile] \end{document} Mit der Open in writeLaTeX
\documentclass{article} \pagestyle{empty}% zum freistellen \usepackage{tikz} \newcommand\einheit[1][]{\tikz[baseline=(X.base)]{ \draw (0,0) -- (0,2) -- (2,2) -- (2,0) to[out=90, in=-60] (0,0); \node[text width=2cm,align=center] (X) at (1,1) {#1}; }} \begin{document} Text au\ss en \einheit\ \einheit[Checkliste] \einheit[Formular] \einheit[Ein zu langer Text f\"ur eine Zeile] herum \end{document} beantwortet 13 Mai '14, 13:50 Henri Vielen Dank schon mal aber beim einfügen in meine tikZ-Grafik erhalte ich stets eine Fehlermeldung!
(13 Mai '14, 14:40)
sascha
|
Wenn man das Symbol nicht nur einzeln, sondern auch innerhalb größerer Abbildungen nutzen möchte, dann kann man sich ab der pgf/TikZ Version 3.0.0 ein Open in writeLaTeX
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage{tikz} \tikzset{ symbol/.pic={% \node[ minimum width=2cm, minimum height=2cm, inner xsep=0pt,text width=2cm,align=center ](-symb)at(1,1){\tikzpictext};% node bekommt Namen <picname>-symb \draw(-symb.south west) -- (-symb.north west) -- (-symb.north east) -- (-symb.south east) to[out=90, in=-60] (-symb.south west); } } \newcommand\mysymbol[1][]{% \tikz[baseline=(X-symb.base)]\pic[pic text=\strut#1](X){symbol};% } \begin{document} Zwei einzelne im Text \mysymbol[Text] und \mysymbol Eine Zeichnung mit mehreren: \begin{tikzpicture} \path pic(s1){symbol} ++(3,0)pic[pic text=Formular](s2){symbol} +(5,2)pic[pic text=längerer Text](s3){symbol} +(5,-2)pic[pic text=Checkliste](s4){symbol}; % Verbindungen zeichnen \path (s1-symb)edge(s2-symb) (s2-symb)edge(s3-symb) edge(s4-symb) (s3-symb)edge(s4-symb); \end{tikzpicture} \end{document} beantwortet 14 Mai '14, 01:50 esdd |