我基本上有同样的问题这问题,仅适用于多部分节点:我有一个由 3 个部分组成的节点,每个部分都包含文本。我想让文本按其基线对齐。我尝试使用 和 来实现这一点text height
,text depth
这对普通节点来说很好,但对多部分节点则不行。如下图所示,只有节点的第一部分获得了我想要实现的正确对齐,其他两个部分被延伸到基线以下的字符“推高”。
这是我的乳胶代码:
\documentclass[tikz, 11pt,landscape]{article}
\usepackage[default,osfigures,scale=0.95]{opensans}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{tgbonum}
\usepackage{tikz}
\usetikzlibrary{shapes}
\usetikzlibrary{calc}
\usetikzlibrary{arrows.meta}
\usepackage[a3paper]{geometry}
\begin{document}
\thispagestyle{empty}
\tikzset{normal/.style = {rectangle split, rectangle split horizontal, rectangle split parts=3, very thick, draw=black, minimum height=0.6cm,text height=1.5ex, text depth=0.25ex}}
\begin{tikzpicture}[remember picture, overlay]
\node[normal] at (current page.center) {\nodepart{one} ag \nodepart{two} ag \nodepart{three} ag};
\end{tikzpicture}
\end{document}
我发现另一篇帖子关于有人遇到同样的问题,透明度仅应用于第一部分,但其解决方案对我不起作用。我不关心多行文本,实际上只关心节点第二部分的对齐,我只是包含了其他两个文本以供演示。似乎无论我尝试什么,它都只应用于第一部分。
编辑:
以我的屏幕截图为例:我希望第二个和第三个框与第一个框的高度对齐。我不想将第一个框与第二个和第三个框的高度对齐,因为这个高度太高了,如果我的文本没有低于基线的字符,看起来会很奇怪。间距看起来会非常不均匀。
答案1
非常感谢@CarlaTex 的善意和她的解释,让我明白(我希望这次我没有错!)这个问题真正需要什么
解决方法是使用\rule
具有正确垂直尺寸(高度和深度)的隐形物体:
\documentclass[tikz, 11pt,landscape]{article}
\usepackage[default,osfigures,scale=0.95]{opensans}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{tgbonum}
\usepackage{tikz}
\usetikzlibrary{shapes}
\usetikzlibrary{calc}
\usetikzlibrary{arrows.meta}
\usepackage[a3paper]{geometry}
\begin{document}
\thispagestyle{empty}
\tikzset{
normal/.style = {
rectangle split,
rectangle split horizontal,
rectangle split parts=3,
very thick, draw=black,
minimum height=2cm,
text height=1.5cm,
text depth=0.25cm
}
}
\begin{tikzpicture}[remember picture, overlay]
\node[normal] at (current page.center) {\nodepart{one} ag
\nodepart{two} \rule[-0.25cm]{0pt}{1.75cm}ag
\nodepart{three} \rule[-0.25cm]{0pt}{1.75cm}ag};
\end{tikzpicture}
\end{document}