TikZ 中的节点:在一个节点中更改文本对齐方式?

TikZ 中的节点:在一个节点中更改文本对齐方式?

我正在使用 tikz,我想知道是否有一种简单的方法可以在一个节点中实现不同的文本对齐?

例如,在下面的 MWE 中,我希望blabla1居中,但blabla2blabla3左对齐。目前,我尝试默认设置左对齐,并使用 \centeringblabla1;但它也集中blabla2(但不是第三个……)

如何解决这个问题?有没有更好的方法?

\documentclass[a4paper]{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{tikz-cd}
\usepackage{lscape}
\usetikzlibrary{shapes,arrows}
\usetikzlibrary{calc,trees,positioning,arrows,chains,shapes.geometric,shapes}

\begin{document
\tikzstyle{block4} = [rectangle, draw, fill=blue!20, text width=6cm, rounded corners, minimum height=4em]

\begin{tikzpicture}[node distance = 2cm, auto]
\centering
% Place nodes
\node [block4] (Foyer) 
                        {\centering{\emph{blabla1} }
                        \\ blabla2
                        \\ blabla3};

\end{tikzpicture}
\end{document}

答案1

一般来说,对节点使用样式。

如果有一行具有不同的对齐方式或不同的字体大小,请在对齐方式或样式更改之前结束该行或段落,即\\应该在此处的右括号之前的内部。

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[node distance = 2cm, auto,
  block4/.style = {rectangle, draw, fill=blue!20, text width=6cm,
                   rounded corners, minimum height=4em}]
  \node [block4] (Foyer) { {\centering \emph{line1} \\ }
                           line2 \\
                           line3};
\end{tikzpicture}
\end{document}

相关内容