以下脚本的输出
\documentclass{article}
\usepackage{tikz}
\usepackage{graphicx}
\begin{document}
\begin{tikzpicture}
\node(title)[text width = 0.25\textwidth, text height = 3 cm, draw]{title};
\end{tikzpicture}
\end{document}
是
如何垂直对齐节点中的文本?
指定text depth
为
\node(title)[text width = 0.25\textwidth, text height = 1cm, text depth = 1 cm, draw]{
title line 1\\
title line 2\\
title line 3};
不会导致文本垂直居中。
答案1
text height
并text depth
明确指定您给出的文本的垂直尺寸。因此 Ti钾Z 认为节点的文本具有恰好该高度并按照该高度绘制其框。
您可以使用minimum height
来设置节点的最小垂直尺寸,并minimum width
使用 来设置宽度(而text width
在指定宽度处插入换行minimum width
则不会)。结果将是一个文本居中的框,但该框必须至少具有这些尺寸。请注意,minimum height
高度和深度都围绕文本(均匀分布)。如果您想要水平居中的换行文本,则可以使用text width
和text centered
。
比较以下内容:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[node distance=2cm]
\node(1)[text centered,text width = 0.25\textwidth, minimum height = 3 cm, draw]
{title is very long and long};
\node(2)[minimum width = 0.25\textwidth, minimum height = 3 cm,
draw,below of=1,anchor=north]{title is very long and long};
\node(3)[text centered,text width = 0.25\textwidth, text height = 3 cm,
draw,below of=2,anchor=north]{title is very long and long};
\node(4)[text centered,text width = 0.25\textwidth, text depth = 3 cm,
draw,below of=3,anchor=north]{title is very long and long};
\node(5)[text centered,text width = 0.25\textwidth, text depth = 1.5 cm, text
height = 1.5cm, draw,below of=4,anchor=north]{title is very long and long};
\end{tikzpicture}
\end{document}