ノード内の tikz テキストの位置を再検討する

ノード内の tikz テキストの位置を再検討する

私は得た答えに従っていますここの大きなノード内でテキストの位置を制御する方法に関する以前の質問についてtikz。 4 つの小さなボックスを斜めのボックスで囲み、斜めのボックスのラベルを右上に自動的に配置したいと思います。 右に寄る位置が足りません。 手動で強制的に移動することもできますが、これを何度も行うと、斜めのボックスのサイズが毎回変わります。 そのため、繰り返し実行する必要があります。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,fit,backgrounds}

\tikzset{box/.style={draw, minimum width = 1.cm, minimum height = 1.cm, text width=1cm, text centered},
slantedbox/.style={draw,trapezium,trapezium left angle=70,trapezium right angle=-70, label={[shift={(9ex,-3ex)}]north east:#1}}
}

\begin{document}
\begin{tikzpicture}
\node [box] (phiQQ) at (0,0) {$\phi_{QQ}$};
\node [box] (phiQA) at (3,0) {$\phi_{QA}$};
\node [box] (phiQ*A) at (6,0) {$\phi_{Q^*A}$};
\node [box] (phiAA) at (4.5,-2) {$\phi_{AA}$};
\node [slantedbox = $\xi$, fit = (phiQQ)(phiQA)(phiQ*A)(phiAA), minimum height = 2cm] at (3,-1) (xi) {};
\end{tikzpicture}

\end{document}

これが私の現在の出力です: ここに画像の説明を入力してください

自動的に右へ移動します$\xi$

答え1

top right cornerで使用

slantedbox/.style={draw,trapezium,trapezium left angle=70,
          trapezium right angle=-70, label={[shift={(0,-3ex)}]top right corner:#1}}

可能なアンカーは次のとおりです(pgfmanual705ページから)

ここに画像の説明を入力してください

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,fit,backgrounds}

\tikzset{box/.style={draw, minimum width = 1.cm, minimum height = 1.cm, text width=1cm, text centered},
slantedbox/.style={draw,trapezium,trapezium left angle=70,
          trapezium right angle=-70, label={[shift={(0,-3ex)}]top right corner:#1}}
}

\begin{document}
\begin{tikzpicture}
\node [box] (phiQQ) at (0,0) {$\phi_{QQ}$};
\node [box] (phiQA) at (3,0) {$\phi_{QA}$};
\node [box] (phiQ*A) at (6,0) {$\phi_{Q^*A}$};
\node [box] (phiAA) at (4.5,-2) {$\phi_{AA}$};
\node [slantedbox = $\xi$, fit = (phiQQ)(phiQA)(phiQ*A)(phiAA), minimum height = 2cm] at (3,-1) (xi) {};
\end{tikzpicture}

\end{document}

ここに画像の説明を入力してください

関連情報