Ich habe das Problem sobald ich die Breite eines rectangle splits anpasse sich nur der erste Bereich ändert. Ich möchte jedoch, dass sich das komplette rechteck verbreitert ohne das sich die Bereiche 1 und 3 ändern.

alt text

Open in Online-Editor
\documentclass[tikz,border=5pt]{standalone}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{tikz}
\usetikzlibrary{shapes,shapes.multipart}

% Define block styles
\tikzset{
   papPredProc/.style = {
         draw,
         rectangle split,
         rectangle split horizontal,
         rectangle split parts = 3,
         align = center, 
         text width = 30mm,
         text badly centered,
         minimum width = 30mm,
         minimum height = 7mm,
      }
}

\begin{document}
\begin{tikzpicture}
% Place nodes
\node [papPredProc] (predproc1){\nodepart{two}\shortstack{vordefinierter\\Prozess}};

\end{tikzpicture}

\end{document}

gefragt 19 Okt, 06:23

Giovario's gravatar image

Giovario
3301819
Akzeptiert: 88%

bearbeitet 19 Okt, 08:53

2

@Giovario Warum ist die Frage Community-Wiki?

(19 Okt, 06:52) sudo

Wenn Du gar keinen mehrteiligen Node brauchst, sondern Dir ein Node mit zwei zusätzlichen senkrechten Strichen reicht, wäre das folgende auch eine Alternative:

Open in Online-Editor
\documentclass[tikz,border=5pt]{standalone}
\usetikzlibrary{positioning}
\tikzset{
    pap/.style={
        draw,
        text width=3cm,
        align=flush center,
        minimum height=7mm
    },
    papPredProc/.style = {
        pap,
        path picture={\draw
            ([xshift=2pt] current path bounding box.south west)--([xshift=2pt] current path bounding box.north west)
            ([xshift=-2pt] current path bounding box.south east)--([xshift=-2pt] current path bounding box.north east)
        ;}
      },
}

\begin{document}
\begin{tikzpicture}
    \draw[very thin, lightgray](-2,-2) grid [step=.5cm] +(4,3);

    \node [papPredProc] (predproc1){\shortstack{vordefinierter\\Prozess}};
    \node [pap,red,below=2mm of predproc1] {Test};
\end{tikzpicture}
\end{document}

alt text

Ändert man die Einstellung für textwidth zu

Open in Online-Editor
text width=3cm-2*\pgfkeysvalueof{/pgf/inner xsep}

erhält man

alt text

minimum width habe ich weggelassen, da dessen Angabe mit einem Wert, der kleiner oder gleich text width ist, irgendwie keinen Sinn macht.

In Deinem Beispiel wurde align=center von der veralteten Option text badly centred überschrieben. Ich habe beides durch align=flush center ersetzt.

Permanenter link

beantwortet 19 Okt, 08:46

esdd's gravatar image

esdd
14.2k53251

Du kannst mit every two node part/.style={text width=30mm} direkt die Textbreite des mittleren node part beeinflussen. Für die Gesamtbreite musst du beachten, dass noch inner sep und Linendicken dazukommen.

Open in Online-Editor
\documentclass[tikz,border=5pt]{standalone}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{tikz}
\usetikzlibrary{shapes,shapes.multipart}

% Define block styles
\tikzset{
   papPredProc/.style = {
         draw,
         rectangle split,
         rectangle split horizontal,
         rectangle split parts = 3,
         align = center, 
         every two node part/.style={text width=30mm},
         text badly centered,
         minimum width = 30mm,
         minimum height = 7mm,
      }
}

\begin{document}
\begin{tikzpicture}
% Place nodes
\node [papPredProc] (predproc1){\nodepart{two}\shortstack{vordefinierter\\Prozess}};

\end{tikzpicture}

\end{document}
Permanenter link

beantwortet 19 Okt, 06:43

sudo's gravatar image

sudo
1.9k1817

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×492
×10
×8

Frage gestellt: 19 Okt, 06:23

Frage wurde angeschaut: 213 Mal

Zuletzt aktualisiert: 19 Okt, 08:53