TikZ のノード: 1 つのノードでテキストの配置を変更しますか?

TikZ のノード: 1 つのノードでテキストの配置を変更しますか?

私は tikz を使用していますが、1 つのノードで異なるテキスト配置を設定する簡単な方法があるかどうか知りたいです。

例えば、以下の私のMWEでは、ブラブラ1中心に据えたがブラブラ2そしてブラブラ3左揃え。今のところ、デフォルトで左揃えに設定し、\centeringを使用するようにしています。ブラブラ1;しかし、それはまた中心となるブラブラ2(3番目は違いますが…)

これを修正するにはどうすればいいですか?また、もっと良い方法はありますか?

\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}

関連情報