![将 TikZ 节点的文本定位在东南角附近](https://linux22.com/image/467307/%E5%B0%86%20TikZ%20%E8%8A%82%E7%82%B9%E7%9A%84%E6%96%87%E6%9C%AC%E5%AE%9A%E4%BD%8D%E5%9C%A8%E4%B8%9C%E5%8D%97%E8%A7%92%E9%99%84%E8%BF%91.png)
我想制作一个自定义的 TikZ 节点类型(自定义 Latex 宏也可以),它是一个矩形,文本位于其东南角附近。
考虑下面的脚本和相应的输出
\documentclass[margin=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\coordinate (PT) at ($(0,0)$) ;
\node[draw, black, thick, minimum width =3.0cm,
minimum height=4.2cm] at (PT) {Some fancy text};
\end{tikzpicture}
\end{document}
这给出
我想要一个类似下图的矩形节点(抱歉,我在 Inkscape 中构建了这个节点,所以它只近似于上面的矩形)。请注意,我希望文本是多行的并且居中对齐。
答案1
这是实现此目的的一种方法。基本步骤:
- 反转任务,即从节点开始
align=center
提供格式,同时\\
控制换行符- 最后,绘制一些线,从 开始
(T.south east)
,使用 的增量++
,以结果作为下一个起点
您可以将其转换为,它以文本、高度和宽度(3 个参数)作为参数;在手册中\pic
搜索。args
\documentclass[10pt,border=3mm,tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\node[align=center] (T) at (0,0) {Some\\fancy text};
\draw (T.south east) -- ++(0,3.5) -- ++(-2.9,0) -- ++(0,-3.5) -- cycle;
\end{tikzpicture}
\end{document}