
Ich begann meine Arbeit damitBeispiel
Nachdem ich den Code bereinigt hatte, um die Befehle besser zu verstehen, habe ich diese Situation
\begin{tikzpicture}[
scale=0.75,
start chain=1 going below,
start chain=2 going right,
node distance=3mm,
blocksgeneric/.style={
scale=0.75,
on chain=2,
rectangle,
rounded corners,
draw=black,
very thick,
text centered,
text width=8cm,
minimum height=12mm,
fill=black!10
},
blocksblue/.style={
fill=blue!30
},
labels/.style={
scale=0.75,
on chain=1,
minimum height=12mm,
text width=2cm,
text centered
},
every node/.style={font=\sffamily}
]
% Left column
\node [labels] (L5) {L5};
\node [labels] (L4) {L4};
\node [labels] (L3) {L3};
\node [labels] (L2) {L2\\L2\\L2\\L2\\L2\\L2};
\node [labels] (L1) {L1};
\node [labels] (L0) {L0};
% Right column
\chainin (L5); % Start right of L5
\node [blocksgeneric] (B5) {B5};
\node [blocksgeneric, blocksblue, continue chain=going below] (B4) {B4};
\node [blocksgeneric] (B3) {B3};
\node [blocksgeneric] (B2) {B2};
\node [blocksgeneric] (B1) {B1};
\node [blocksgeneric] (B0) {B0};
\end{tikzpicture}
Das Ergebnis ist folgendes.
Ich möchte, dass die L2-Beschriftungen neben dem B2-Block und den anderen auf die gleiche Weise bleiben.
Bearbeitung 1: Was würde ich tun, wenn ich die Höhe eines der Blöcke auf der rechten Seite anpassen möchte, um ein größeres Konzept darzustellen? Die Beschriftung auf der linken Seite sollte in der Mitte des Blocks stehen. Wenn ein Block gleichzeitig kleiner ist (weil ich möchte, dass er klein ist) als die Beschriftung, die viel Text enthält, wie könnte ich den Block dann klein halten und ihn gleichzeitig in die Mitte des Textes auf der linken Seite setzen?
Bearbeitung 2: Letzte Frage: Wenn ich die Dimension des Blocks B2 auf die Dimension des Etiketts L2 erweitern möchte (je nachdem, was tatsächlich hoch ist), wie kann ich das tun?
Antwort1
Anstatt einer Kette können Sie Knoten auch mit einem positionieren \matrix
, das sich ähnlich wie eine tabular
Umgebung mit dynamischen Spalten verhält. Wenn Sie mehr wissen möchten, werfen Sie einen Blick in das PGFmanual.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}[
scale=0.75,
blocksgeneric/.style={
scale=0.75,
rectangle,
rounded corners,
draw=black,
very thick,
text centered,
text width=8cm,
minimum height=12mm,
fill=black!10
},
blocksblue/.style={
fill=blue!30
},
labels/.style={
scale=0.75,
minimum height=12mm,
text width=2cm,
text centered
},
every node/.style={font=\sffamily}
]
% Left column
\matrix[row sep=3mm]{
\node [labels] (L5) {L5}; &
\node [blocksgeneric] (B5) {B5}; \\
\node [labels] (L4) {L4}; &
\node [blocksgeneric, blocksblue] (B4) {B4\\B4\\B4\\B4\\B4}; \\
\node [labels] (L3) {L3}; &
\node [blocksgeneric] (B3) {B3}; \\
\node [labels] (L2) {L2\\L2\\L2\\L2\\L2\\L2}; &
\node [blocksgeneric] (B2) {B2}; \\
\node [labels] (L1) {L1}; &
\node [blocksgeneric] (B1) {B1}; \\
\node [labels] (L0) {L0}; &
\node [blocksgeneric] (B0) {B0}; \\
};
\end{tikzpicture}
\end{document}