如何在节点内创建新行

如何在节点内创建新行

这是我的代码:

\tikzset{Dot/.style={
    circle,
    fill,
    inner sep=2pt, % adjust the size of the dot as needed
  }
}

   \begin{figure}[h!]
        \centering 
        \begin{subfigure}[t]{0.49\textwidth}
            \centering
            \begin{tikzpicture}
            \draw
            (0,0) node (v0) {} 
            (v0)--++(3,-1) coordinate(v1)
            (v0) ++(3,-1) node[pos=0.2][above=0.25cm] {Linha 1}
            (v1) node [Dot] {} node[below = 0.2] {Subestação
            virtual}
            (v1)--++(3,-1) coordinate(v2)
            ;
            \draw[blue] (v1)--++(3,1) node[pos=0.8][above=0.25cm] {Linha 2};
            \end{tikzpicture}
        \end{subfigure}
        \begin{subfigure}[t]{0.49\textwidth}
            \centering
            \begin{tikzpicture}
            \draw
            (0,0) node (v0) {} % placing the left most source
            (v0)--++(3,-1) coordinate(v1)
            (v0) ++(3,-1) node[pos=0.2][above=0.25cm] {Linha 1}
            (v1) node [Dot] {} node[below = 0.2] {Subestação virtual}
            ;
            \draw[blue] (v1) --++(3,1) node[pos=0.8][above=0.25cm] {Linha 2};
            \draw[red] (v1) --++(3,-1) node[pos=0.8][above=0.25cm] {Linha 3};
            \end{tikzpicture}
        \end{subfigure}
        \caption{222.}    
        \label{Conexão Central termoelétrica - Substação1}
    \end{figure}

输出如下: 在此处输入图片描述

我尝试使用双 \ 在 Subestação 和 virtual 之间创建新的线条,但出现错误。另外,你们知道如何让线条不与 Dot 的中心相交,只与其边缘相交(方向相同)吗?

答案1

您没有提供文档类。我用作standalone示例。您需要为节点设置文本宽度键。我调整了代码tikz,这样看起来更时髦。如果(v1)与点而不是坐标相关联node,则以下绘图将不会与其相交。

\documentclass{standalone}
\usepackage{tikz}
\tikzset{Dot/.style={
    circle,
    fill,
    inner sep=2pt, % adjust the size of the dot as needed
}
}
\begin{document}
\begin{tikzpicture}
\draw (0,0) coordinate (v0) 
-- ++(3,-1) 
node  [pos=0.2,above=0.25cm]  {Linha 1} 
node (v1) [Dot] {} 
node [text width=1.7cm,below = 0.2cm] {Subestação virtual}
-- ++(3,-1) coordinate (v2) ;
\draw [blue] (v1) -- ++ (3,1) node[blue,pos=0.8,above=0.25cm]{Linha 2};
\end{tikzpicture}
\begin{tikzpicture}[xshift=6.1cm]
\draw (0,0) coordinate (v0) 
-- ++(3,-1) 
node  [pos=0.2,above=0.25cm]  {Linha 1} 
node (v1) [Dot] {} 
node [text width=1.7cm,below = 0.2cm] {Subestação virtual}
++(3,-1) coordinate (v2) ;
\draw [blue] (v1) -- ++ (3,1) node[blue,pos=0.8,above=0.25cm]{Linha 2};
\draw [red] (v1) --  (v2) node[red,pos=0.8,above=0.25cm]{Linha 2};
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

要使用换行符,必须\\使用选项指定对齐方式,align该选项可以取值为leftrightcenterflush leftflush right和。以下是两个示例及其代码结果。flush centerjustifynone

\documentclass[tikz]{standalone}


\begin{document}

\tikzset{Dot/.style={
    circle,
    fill,
    inner sep=2pt, % adjust the size of the dot as needed
  }
}


            \begin{tikzpicture}
            \draw
            (0,0) node (v0) {} % placing the left most source
            (v0)--++(3,-1) coordinate(v1)
            (v0) ++(3,-1) node[pos=0.2][above=0.25cm] {Linha 1}
            (v1) node [Dot] {} node[below = 0.2,align=left] {Subestação\\ virtual}
            ;
            \draw[blue] (v1) --++(3,1) node[pos=0.8][above=0.25cm] {Linha 2};
            \draw[red] (v1) --++(3,-1) node[pos=0.8][above=0.25cm] {Linha 3};
            \end{tikzpicture}
            
        

            \begin{tikzpicture}
            \draw
            (0,0) node (v0) {} % placing the left most source
            (v0)--++(3,-1) coordinate(v1)
            (v0) ++(3,-1) node[pos=0.2][above=0.25cm] {Linha 1}
            (v1) node [Dot] {} node[below = 0.2,align=center] {Subestação\\ virtual}
            ;
            \draw[blue] (v1) --++(3,1) node[pos=0.8][above=0.25cm] {Linha 2};
            \draw[red] (v1) --++(3,-1) node[pos=0.8][above=0.25cm] {Linha 3};
            \end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容