有没有办法改变节点在为节点本身绘制的矩形内的位置?例如,我得到了这个:
\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
答案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}