Eu basicamente tenho exatamente o mesmo problema queessepergunta, apenas para nós com várias partes: tenho um nó que consiste em 3 partes, cada uma contendo texto. Quero que o texto seja alinhado pela linha de base. Tentei conseguir isso usando text height
and text depth
, que funciona bem para nós comuns, mas não para nós de várias partes. Como você pode ver na imagem abaixo, apenas a primeira parte do nó recebe o alinhamento correto que desejo alcançar, as outras duas são “empurradas” por caracteres que se estendem abaixo da linha de base.
Este é o meu código de látex:
\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}
eu encontreioutra postagemsobre alguém ter o mesmo problema de transparência aplicada apenas na primeira parte, mas a solução não funcionou para mim. Eu não me importo com texto multilinha e na verdade só me importo com o alinhamento na segunda parte do nó, apenas incluí os outros dois textos para demonstração. Parece que tudo o que eu tento só é aplicado à primeira parte.
Editar:
Usando minha captura de tela como exemplo: quero que a 2ª e a 3ª caixa estejam alinhadas à altura da 1ª. NÃO quero alinhar a 1ª caixa com a altura da 2ª e da 3ª, pois é bastante alta e fica estranha se eu tiver um texto sem caracteres abaixo da linha de base. O espaçamento parecerá muito irregular.
Responder1
Muito obrigado à gentileza da @CarlaTex e às suas explicações que me fazem entender (espero que desta vez não esteja errado!) o que é realmente necessário nesta questão
A solução alternativa é usar um invisível \rule
que tenha as dimensões verticais corretas (altura e profundidade):
\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}