我基本上有完全相同的問題這問題,僅適用於多部分節點:我有一個由 3 部分組成的節點,每個部分都包含文字。我想讓文字按基線對齊。我嘗試使用text height
and來實現此目的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}