Ich möchte gerne einem node ein Kommentar auf der linken oder rechten Seite hinzufügen. Dabei soll der Abstand zum node immer identisch sein auch wenn ich die Breite des nodes anpasse.

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{
   papProcess/.style = {
         rectangle,
         draw,
         align = center, 
         text width = 3cm, 
         text badly centered,
         minimum width = 30mm,
         minimum height = 7mm,
      }
}

\begin{document}
\begin{tikzpicture}
% Place nodes
\node [papProcess,label={[shift={(2.7,-0.6)}]\footnotesize\textit{label 1}}] (predproc1){Prozess};

\end{tikzpicture}

\end{document}

gefragt 19 Okt '16, 12:36

Giovario's gravatar image

Giovario
413142126
Akzeptiert-Rate: 0%

bearbeitet 19 Okt '16, 14:10

cgnieder's gravatar image

cgnieder
22.1k253463


Obwohl ich es wohl auch eher machen würde, wie von @sudo gezeigt:

Statt ein Label zu verwenden, kann man auch mit der positioning-Library einen weiteren Node setzen:

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

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

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

% Define block styles
\tikzset{
   papProcess/.style = {
         rectangle,
         draw,
         align = center, 
         text width = 3cm, 
         text badly centered,
         minimum width = 30mm,
         minimum height = 7mm,
      },
   nlabel/.style = {font=\footnotesize\itshape,node distance=2cm}
}

\begin{document}
\begin{tikzpicture}
% Place nodes
\node [papProcess] (predproc1) {Prozess};
\node [nlabel,right=of predproc1] (label1) {Label 1};

\end{tikzpicture}

\end{document}
Permanenter link

beantwortet 19 Okt '16, 13:11

saputello's gravatar image

saputello
11.1k174365
Akzeptiert-Rate: 51%

Wieso würdest du das so machen wie @sudo es gezeigt hat? Ich finde bei deiner Lösung kann man die nLabels besser gruppieren und findest so entsprechend schneller den entsprechenden Kommentar den man sucht.

(19 Okt '16, 14:11) Giovario

@Giovario: Weil Label und Node dabei stärker gebunden sind. Und schließlich ist die Label-Möglichkeit für so etwas vorgesehen. Wie das bei Deinem tatsächlichen Dokument ist, kann ich natürlich nicht beurteilen. Letztlich ist es eine Frage der Sichtweise. Deshalb habe ich die Möglichkeit überhaupt gezeigt. Es kann immer Fälle geben, in denen Alternativen nützlich sind.

(19 Okt '16, 14:35) saputello

@saputello: Das ist dann genau das was ich in meinem eigentlichen Dokument benötige.

(19 Okt '16, 14:43) Giovario

Statt das Label manuell zu verschieben, lege die Richtung fest, in dem das Label angebracht werden soll. Das geht mit label={<Richtung>:<Text>}. Man kann für Richtung sowohl Winkel in Grad, als auch die Begriffe right, above, left, below verwenden.

Um dann noch den Abstand anzupassen dient die Option [label distance=<Abstand>].

Man kann auch den Stil eines jeden Labels anpassen. Für Labels eines einzelnen Stil geht das mit prefix after command= {\pgfextra{\tikzset{every label/.append style={blue}}}} für alle Labels geht da mit every label/.style = {font=\footnotesize\itshape,label distance=1cm}.

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{
   papProcess/.style = {
         rectangle,
         draw,
         align = center, 
         text width = 3cm, 
         text badly centered,
         minimum width = 30mm,
         minimum height = 7mm,
         prefix after command= {\pgfextra{\tikzset{every label/.append style={blue}}}}% Alle Labels an nodes mit papProcess
   },
   every label/.style = {font=\footnotesize\itshape,label distance=1cm}% wirklich alle Labels
}

\begin{document}
\begin{tikzpicture}
% Place nodes
\node [papProcess,label={right:label 1}] (predproc1){Prozess};

\end{tikzpicture}

\end{document}

Hinweis: Die Antwort ist inspiriert von jener von Jake auf diese Frage auf TeX.sx

Permanenter link

beantwortet 19 Okt '16, 13:03

sudo's gravatar image

sudo
2.0k51521
Akzeptiert-Rate: 39%

bearbeitet 19 Okt '16, 13:26

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×731
×76
×13
×12

gestellte Frage: 19 Okt '16, 12:36

Frage wurde gesehen: 10,149 Mal

zuletzt geändert: 19 Okt '16, 14:43