
私は得た答えに従っていますここの大きなノード内でテキストの位置を制御する方法に関する以前の質問について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}}
可能なアンカーは次のとおりです(pgfmanual
705ページから)
\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}