使用 tikz 对框架中的文本进行垂直对齐

使用 tikz 对框架中的文本进行垂直对齐

我想要垂直对齐文本“持续时间”。这是我的代码:

\begin{tikzpicture}
\node[font=\footnotesize,draw,align=left] at (0.1,2) {Frame\\ Control};
\node[font=\footnotesize,draw,align=left] at (1.5,2) {Duration\\ \phantom{}};
\end{tikzpicture}

它看起来是这样的,而且应该是这样的:

在此处输入图片描述

\phantom由于帧“持续时间”太长,我不得不使用。如果没有此命令,帧的高度将只有一行。

答案1

minimum height第一个解决方案,为两个节点声明一个

\documentclass[tikz, border=2mm]{standalone}

\usepackage{lmodern}
\usetikzlibrary{positioning}

\begin{document}

\begin{tikzpicture}[
    mynode/.style={draw, font=\footnotesize, align=left, minimum height=1cm}]
\node[mynode] (FC) {Frame\\ Control};
\node[mynode, right=-\pgflinewidth of FC] {Duration};
\end{tikzpicture}

\end{document}

在此处输入图片描述

第二种解决方案:使用多部分矩形。高度由最高节点固定,无需猜测minimum height

\documentclass[tikz, border=2mm]{standalone}

\usepackage{lmodern}
\usetikzlibrary{shapes.multipart}

\begin{document}

\begin{tikzpicture}[
    mynode/.style={draw, font=\footnotesize, align=left, 
            rectangle split, rectangle split parts=2, 
            rectangle split horizontal}]
\node[mynode] (FC) {Frame\\control\nodepart{two}Duration};

\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容