如何使 tikz 节点内的文本居中对齐

如何使 tikz 节点内的文本居中对齐

我的节点如下所示:

在此处输入图片描述

我希望所有文本都对齐到每个节点的顶​​部。代码如下:

\node[rec5, below=4.6cm of E] (G) {Umwandlung der Zustände in normierte Lastwerte durch Sampling der GMM für den jeweiligen Zustand in der jeweiligen Stunde};
\node[rec5, below=4.6cm of E1] (G1) {Umwandlung der Zustände in normierte Lastwerte durch Sampling der GMM für den jeweiligen Zustand in der jeweiligen
Stunde, entsprechend typischer Woche im Monat};
\node[rec5, below=4.6cm of E2] (G2) {Umwandlung der Zustände in normierte Lastwerte durch Sampling der GMM für den jeweiligen Zustand in der jeweiligen
Stunde, entsprechend dem Tagtyp im Monat};
\node[rec5, below=4.6cm of E3] (G3) {Umwandlung der Zustände in normierte Lastwerte durch Sampling der GMM für den jeweiligen Zustand in der jeweiligen
Stunde, entsprechend dem Tagtyp im Quartal};

rec5 为:

\tikzstyle{rec5}=[minimum width=4.05cm,minimum height=6cm, draw, outer sep=0pt, align=center, anchor=north, text width=3.7cm, inner xsep=0pt, inner ysep=0pt] 

我不知怎么的在这里找不到这样的东西,但我确信以前一定有人遇到过同样的问题......无论如何我很高兴收到任何提示!

编辑:

这是具有各种路径的更大流程图的一部分,所以我认为我绝对需要在节点中完成它。

这是另一个片段: 在此处输入图片描述

答案1

您的问题不完全清楚。遗漏了节点的上下文,是否tikz必须使用节点中的图像等。正如我在评论中提到的,这四个节点可以简单地用表替换。例如,通过使用“tabularray 包:

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{newtxtext}
\usepackage{microtype}
\usepackage{tabularray}

\begin{document}
    \begin{table}[ht]
\begin{tblr}{vlines,
             colspec = {X[j] c X[j] c X[j] c X[j] c X[j] c },
             column{even} = {colsep=2pt},
             colsep=3pt,
             }
    \cline{1-1} \cline{3-3} \cline{5-5} \cline{7-7}
Umwandlung der Zustände in normierte Lastwerte durch Sampling der GMM für den jeweiligen Zustand in der jeweiligen Stunde
    &   \SetCell[r=1]{j}
        & Umwandlung der Zustände in normierte Lastwerte durch Sampling der GMM für den jeweiligen Zustand in der jeweiligen Stunde, entsprechend typischer Woche im Monat
        &   \SetCell[r=1]{j}
            & Umwandlung der Zustände in normierte Lastwerte durch Sampling der GMM für den jeweiligen Zustand in der jeweiligen Stunde, entsprechend dem Tagtyp im Monat
            &   \SetCell[r=1]{j}
                &  Umwandlung der Zustände in normierte Lastwerte durch Sampling der GMM für den jeweiligen Zustand in der jeweiligen Stunde, entsprechend dem Tagtyp im Quartal      \\
    \cline{1-1} \cline{3-3} \cline{5-5} \cline{7-7}
\end{tblr}
    \end{table}
\end{document}

在此处输入图片描述

编辑: 编辑后,问题的背景就清晰了。可能的解决方案(鼓励使用得体的tikz语法)可以是:

\documentclass{article}
\usepackage{geometry}

\usepackage[ngerman]{babel}
\usepackage{newtxtext}
\usepackage{microtype}

\usepackage{tikz}
\usetikzlibrary{positioning}
\tikzset{
    rec5/.style = {draw,
                   text depth = #1\baselineskip, text width=34mm, align=center, inner sep=1mm}
        }

%---------------- Show page layout. Don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}
\begin{center}
    \begin{tikzpicture}[
node distance = 2em and 2mm
                        ]
% simulate part of diagram above nodes of concer
\coordinate (E);
\coordinate[right=38mm of E]    (E1);
\coordinate[right=38mm of E1]   (E2);
\coordinate[right=38mm of E2]   (E3);
    \begin{scope}[rec5/.default = 9]
\node[rec5, below=of E] (G) 
    {Umwandlung der Zustände in normierte Lastwerte durch Sampling der GMM für den jeweiligen Zustand in der jeweiligen Stunde};
\node[rec5, below=of E1] (G1) 
    {Umwandlung der Zustände in normierte Lastwerte durch Sampling der GMM für den jeweiligen Zustand in der jeweiligen
Stunde, entsprechend typischer Woche im Monat};
\node[rec5, below=of E2] (G2) 
    {Umwandlung der Zustände in normierte Lastwerte durch Sampling der GMM für den jeweiligen Zustand in der jeweiligen
Stunde, entsprechend dem Tagtyp im Monat};
\node[rec5, below=of E3] (G3) 
    {Umwandlung der Zustände in normierte Lastwerte durch Sampling der GMM für den jeweiligen Zustand in der jeweiligen Stunde, entsprechend dem Tagtyp im Quartal};
\draw[->]   (E)  edge (G)
            (E1) edge (G1)
            (E2) edge (G2)
            (E3)  to  (G3);
    \end{scope}
    \end{tikzpicture}
\end{center}
\end{document}

在此处输入图片描述

(红线表示页面布局)

答案2

我认为添加text depth参数可以解决问题,例如

\tikzstyle{rec5}=[minimum width=4.05cm,minimum height=6cm, draw, outer sep=0pt, align=center, text width=3.7cm, inner xsep=0pt,text depth = 5.75 cm]

相关内容