Узел в TikZ: изменить выравнивание текста в одном узле?

Узел в TikZ: изменить выравнивание текста в одном узле?

Я работаю с tikz и мне интересно, есть ли простой способ выравнивать текст по-разному в одном узле?

Например, в моем MWE ниже я хотел бы иметьблабла1центрированный, ноблабла2иблабла3Выровнен по левому краю. Сейчас я попробовал установить выравнивание по левому краю по умолчанию и использовать \centering наблабла1; но он также центрируетблабла2(но не третий...)

Как это исправить и есть ли лучший способ?

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

Связанный контент