Verweisen Sie auf eine Gleichung innerhalb eines Knotens in einem Diagramm

Verweisen Sie auf eine Gleichung innerhalb eines Knotens in einem Diagramm

Ich bin mit dem Tikz-Paket nicht sehr vertraut. Ich habe hier und da im Internet gelesen, dass ich es geschafft habe, dies zu tun

\begin{tikzpicture}
  [node distance=.8cm,
  start chain=going below,]
     \node[punktchain, join] (Telegrapher){Telegrapher's equations $\begin{aligned}
          \frac{d}{d z} {\vec V} \left(z,s\right) &=-\vec Z'(s){\vec I}\left(z,s\right) \\
       \frac{d}{d z} {\vec I} \left(z,s\right) &=-\vec Y'(s){\vec V} \left(z,s\right)\label{test}
       \end{aligned}$};
     \node[punktchain, join] (test) {test};
  \end{tikzpicture}

mit diesen Definitionen für die Knoten:

\usepackage{tikz}
\usetikzlibrary{calc,trees,positioning,arrows,chains,shapes.geometric,%
    decorations.pathreplacing,decorations.pathmorphing,shapes,%
    matrix,shapes.symbols}
\tikzset{
>=stealth',
  punktchain/.style={
    rectangle, 
    rounded corners, 
    % fill=black!10,
    draw=black, very thick,
    text width=25em, 
    minimum height=3em, 
    text centered, 
    on chain},
  line/.style={draw, thick, <-},
  element/.style={
    tape,
    top color=white,
    bottom color=blue!50!black!60!,
    minimum width=8em,
    draw=blue!40!black!90, very thick,
    text width=10em, 
    minimum height=3.5em, 
    text centered, 
    on chain},
  every join/.style={->, thick,shorten >=1pt},
  decoration={brace},
  tuborg/.style={decorate},
  tubnode/.style={midway, right=2pt},
}

Meine Frage ist nun: In meinem Knoten habe ich eine Gleichung. Ich möchte, dass sie wie alle anderen Gleichungen in meinem Latex nummeriert wird, oder ich möchte zumindest darauf verweisen können. Ich habe verwendet \label{test}, aber wenn ich mit verweise, \ref{label}scheint es den Abschnitt als Referenz zu nehmen.

Wissen Sie, wie Sie in einem Diagramm richtig auf eine Gleichung verweisen, die in einem Knoten erstellt wurde?

Antwort1

Da in den Kommentaren eine Lösung entwickelt, aber nie als Antwort gepostet wurde, ist hier die Lösung für alle, die dieses Problem in Zukunft haben. Dank geht an die Benutzer in den Kommentaren zu dieser Frage.

Wenn Sie auf eine Gleichungsnummer verweisen möchten, verwenden Sie die Umgebungen equationoder align, aber standardmäßig funktioniert dies nicht innerhalb eines TikZ-Knotens. Sie können es daher in eine Miniseite einbinden: \begin{minipage}{0.9\textwidth}... \end{minipage}, die die Verwendung von ermöglicht align. Jetzt funktionieren Querverweise wie gewohnt und sogar mit hyperref.

Und noch eine kleine Kleinigkeit: Wenn Sie nur Klammern in normaler Größe verwenden, ist es besser, (und )statt \left(und zu verwenden \right), da der Abstand etwas angenehmer ist. Siehedieser Beitragfür mehr Details.

Hier ist der Code, der dies ermöglicht.

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{calc,trees,positioning,arrows,chains,shapes.geometric,%
    decorations.pathreplacing,decorations.pathmorphing,shapes,%
    matrix,shapes.symbols}
\tikzset{
% ... same settings as in the question post ... 
}
\usepackage[colorlinks=true]{hyperref}
\begin{document}
\begin{tikzpicture}
  [node distance=.8cm,
  start chain=going below,]
     \node[punktchain, join] (Telegrapher){Telegrapher's equations
     % Here's the difference: a minipage and align environment
     \begin{minipage}{0.9\textwidth}
     \begin{align}
       % now, we can use \label, \ref, and \eqref as usual
       \frac{d}{d z} \vec V(z,s) &= -\vec Z'(s)\vec I(z,s) \label{test1}\\
       \frac{d}{d z} \vec I(z,s) &= -\vec Y'(s)\vec V(z,s) \label{test2}
       \end{align}
       \end{minipage}};
     % Reference from another node
     \node[punktchain, join] (test) {Test: reference to equation~\eqref{test1}.};
  \end{tikzpicture}

% References from outside the tikzpicture also work
Reference to equation~\eqref{test2}.
\end{document}

Und hier ist ein Bild der PDF-Ausgabe.

Bildbeschreibung hier eingeben

verwandte Informationen