我正在尝试在 TikZ 中创建一个垂直的数学符号框向量。我的目标是让所有项都居中(垂直和水平),并让框自动调整大小以适应所需的所有内容sep
。我能够使用minipage
与gather*
环境结合来实现这一点,但这似乎有点不方便,因为我必须手动删除顶部的一些额外空间并设置宽度minipage
。我想知道是否有一种“适当”或更优雅的方法来实现这个结果。
\documentclass[tikz,dvipsnames]{standalone}
\standaloneconfig{border=1mm}
\usepackage{amsmath}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[draw=black,fill=white,rounded corners,ultra thick,inner sep=2.5mm] (u) {
\begin{minipage}{8mm}
\centering
\vspace{-5mm}
\begin{gather*}
u^0 \\
u^1 \\
\vdots \\
u^{N-1}
\end{gather*}
\end{minipage}
\vspace{-5mm}};
\end{tikzpicture}
\end{document}
答案1
所有 AMS 对齐都具有...ed
设置为自然宽度而不是全宽显示的表单,因此您可以避免minipage
使用gathered
\documentclass[tikz,dvipsnames]{standalone}
\standaloneconfig{border=1mm}
\usepackage{amsmath}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[draw=black,fill=white,rounded corners,ultra thick,inner sep=2.5mm] (u) {%
$\begin{gathered}
u^0 \\
u^1 \\[-.7em]
\vdots \\
u^{N-1}
\end{gathered}$%
};
\end{tikzpicture}
\end{document}
答案2
无需minipage
或gather
或centering
。只需将其添加align=center
到节点选项中,即可使用 来使用多行内容\\
。可以添加可选的垂直间距。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[draw=black, fill=white, rounded corners, ultra thick, inner sep=2.5mm, align=center] (u) {
$u^0$ \\
$u^1$ \\
$\vdots$ \\[.8ex]
$u^{N-1}$
};
\end{tikzpicture}
\end{document}