Flowchart (tikz) zu groß für Seite

Tabellen und Grafiken erstellen und anordnen


Thesis-Struktur
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Di 24. Dez 2019, 09:53

Flowchart (tikz) zu groß für Seite

Beitrag von Thesis-Struktur »

Frohe Weihnachten zusammen,

ich habe für meine Thesis ein Flowchart der Thesis erstellt. Leider sieht es hier und da noch seltsam aus. Folgende Probleme habe ich:

1. für die Seite ist es zu groß
2. der Inhalt/Text der Boxen ist zu weit von den Rändern weg, der kann ruhig etwas weniger sein

Vielen Dank für Eure Hilfe!

Code: Alles auswählen

\documentclass[a4paper,12pt]{scrbook}
\usepackage{enumitem, tikz}
\usetikzlibrary{calc,positioning,shapes.geometric,fit}
\begin{document}

\begin{figure}
\begin{center}

\begin{tikzpicture}[block/.style={regular polygon,regular polygon sides=4,
    inner xsep=1em,align=center,text width=7em,draw},font=\small,thick,
    box/.style={draw,align=center,inner sep=1em},>=stealth
  ]
 \begin{scope}[local bounding box=blocks]
  \node[block] (B1) {TextTextTextTextText TextText Text Text
  \begin{enumerate}[label={\alph*)}]
   \item Kapitel 1
   \item Kapitel 2 TextTextText Text Text Text Text Text
   \item Kapitel 3 Text TextText Text
   \item Kapitel 4 TextTextText Text
   \item Kapitel 5
  \end{enumerate}};
  \path let \p1=($(B1.east)-(B1.west)$) in 
  node[right=3em of B1,block] (B2) {TextTextTextTextText TextText Text Text Text Text};
 \end{scope} 
 \path let \p1=($(blocks.east)-(blocks.west)$) in
  [nodes={minimum width=\x1},node distance=2em]
  node[box,above=of blocks] (A) {\textbf{Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text}}
  node[box,below=of blocks] (C) {Text Text Text Text Text Text Text Text}
  node[box,below=of C] (D) {Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text}
  node[box,below=1em of D.south west,minimum width=12em,inner ysep=1ex] (E) {Experteninterviews}
  let \p2=($(D.south)-(E.south)$) in
  node[box,below={\y2+1em} of D] (F) {Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text};
 \path[->] foreach \X in {1,2} 
    {(B\X.north) edge[<-] (B\X.north|-A.south)
     (B\X.south) edge (B\X.south|-C.north)}
    (C) edge (D) ([xshift=4em]D.south) edge ([xshift=4em]D.south|-F.north)
    (E.east) edge[edge label=Text Text Text] ([xshift=3.9em]D.south|-E.east);
 \node[draw=gray,thin,fit=(A)(C),dashed,rounded corners=0.8em,inner sep=0.8em,
    label=right:\rotatebox{90}{Theoretischer Teil}]{};
 \node[draw=gray,thin,fit=(D)(E)(F),dashed,rounded corners=0.8em,inner sep=0.8em,
    label=right:\rotatebox{90}{Empirischer Teil}]{};
\end{tikzpicture}

\caption{\label{fig:flowchart} Thesis FLOWCHART.}
\end{center}
\end{figure}
\end{document}

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2117
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Mein Vorschlag, sofern ich Deinen Wunsch richtig verstanden habe:

Code: Alles auswählen

\documentclass[fontsize=12pt]{scrbook}
\usepackage{tikz}
\usepackage{enumitem}
\usepackage{showframe}

\usetikzlibrary{calc,positioning,fit,arrows.meta}

\begin{document}
\begin{figure}
\centering% https://texwelt.de/fragen/1033
\begin{tikzpicture}[
	scale=.7,% <- eingefügt für Größenänderung
	transform shape,% <- s. o.
	font=\small,
	thick,
	box/.style={
		draw,
		inner sep=1em, 
		rounded corners
	},
	block/.style={
		box,
		align=center,
		text width=18em
	},
	>=Stealth
]
\begin{scope}[local bounding box=blocks]
\node[block] (B1) {TextTextTextTextText TextText Text Text
\begin{enumerate}[label={\alph*)}]
    \item Kapitel 1
    \item Kapitel 2 TextTextText Text Text Text Text Text
    \item Kapitel 3 Text TextText Text
    \item Kapitel 4 TextTextText Text
    \item Kapitel 5
\end{enumerate}};

\node[right=3em of B1,block] (B2)
    {TextTextTextTextText TextText Text Text Text Text}
;
\end{scope}

\path let \p1=($(blocks.east)-(blocks.west)$) in
    [nodes={minimum width=\x1, box}, node distance=2em]
    node[above=of blocks, font=\bfseries\small] (A)
	    {Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text}
    node[below=of blocks] (C)
	    {Text Text Text Text Text Text Text Text}
    node[below=3em of C] (D)% Abstand angepasst
	    {Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text}
    node[below=1em of D.south west,minimum width=12em,inner ysep=1ex] (E)
	    {Experteninterviews}
    let \p2=($(D.south)-(E.center)$) in
    node[below={\y2*2} of D] (F)% Berechnung des Abstandes optimiert
	    {Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text}
;
\path[->]
    foreach \X in {1,2}{
        (B\X.north) edge[<-] (B\X.north|-A.south)
        (B\X.south) edge (B\X.south|-C.north)
    }
    (C) edge (D)
    ([xshift=4em]D.south) edge ([xshift=4em]D.south|-F.north) 
    	coordinate (d south right)
    (E) edge[edge label=Text Text Text] (E-|d south right)
;
% \rotatebox ersetzt
\path[
    nodes={draw=gray,thin,dashed,rounded corners=0.8em,inner sep=0.8em},
    every label/.append style={rotate=90,anchor=north}
]
    node[fit=(A)(C),label=right:Theoretischer Teil] {}
    node[fit=(D)(E)(F),label=right:Empirischer Teil] {}
;
\end{tikzpicture}
\caption{\label{fig:flowchart} Thesis FLOWCHART.}
\end{figure}
\end{document}
Zuletzt geändert von Bartman am Di 24. Dez 2019, 21:01, insgesamt 3-mal geändert.

Thesis-Struktur
Forum-Anfänger
Forum-Anfänger
Beiträge: 11
Registriert: Di 24. Dez 2019, 09:53

Beitrag von Thesis-Struktur »

Perfekt, danke für die schnelle Lösung, Bartman!

Antworten