TikZ 中的節點:更改一個節點中的文字對齊方式?

TikZ 中的節點:更改一個節點中的文字對齊方式?

我正在使用 tikz,我想知道是否有一種簡單的方法可以在一個節點中進行不同的文字對齊?

例如,在下面的 MWE 中,我希望布拉布拉1居中,但是布拉布拉2布拉布拉3左對齊。現在我嘗試預設設定左對齊,並使用 \centering on布拉布拉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}

相關內容