改变矩形内节点的位置

改变矩形内节点的位置

有没有办法改变节点在为节点本身绘制的矩形内的位置?例如,我得到了这个:

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node at (0,0) [draw,minimum height=1cm,minimum width=4cm] {Lorem Ipsum};

\draw (-2,-2) rectangle (2,-1);
\node at (0,-1.8) {Lorem Ipsum};
\end{tikzpicture}
\end{document}

因此我需要使用第一种语法(因为很多东西都是基于此语法),但想要更改矩形内文本的位置,如第二个示例所示。有没有办法更改节点本身创建的矩形中的位置?

谢谢你

在此处输入图片描述

答案1

最接近您希望通过一个节点获得的内容:

\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node at (0,0) [draw,
                text height=1cm, text depth=1ex, 
                minimum width=4cm, inner sep=-0.2ex] (a) {Lorem Ipsum};

\draw (-2,-2) rectangle (2,-1);
\node at (0,-1.8) {Lorem Ipsum};
\end{tikzpicture}
\end{document}

在此处输入图片描述

上面的节点稍微高一些。

答案2

语法不完全相同,但您可以使用label而不是节点本身。但这是否是一种可行的方法取决于您的实际用途。

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
%\usepackage[german]{babel}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node at (0,0) [draw,minimum height=1cm,minimum width=4cm,
       label={[above,inner sep=0pt]below:Lorem ipsum}] {};

\draw (-2,-2) rectangle (2,-1);
\node at (0,-1.8) {Lorem Ipsum};
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案3

您可以分两个步骤绘制它,首先绘制框,然后将文本定位在框的下边缘上方。

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
  % \node at (0,0) [draw,minimum height=1cm,minimum width=4cm] {Lorem Ipsum};
  \node (Square) at (0,0) [draw,minimum height=1cm,minimum width=4cm] {};
  \node[above=-2pt] at (Square.south) {Lorem Ipsum};

  \draw (-2,-2) rectangle (2,-1);
  \node at (0,-1.8) {Lorem Ipsum};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容