Preenchimento "apertado" de texto multilinha no nó sem afetar o espaçamento entre linhas

Preenchimento "apertado" de texto multilinha no nó sem afetar o espaçamento entre linhas

Este é um acompanhamentoPreenchimento "apertado" de texto multilinha no nó, no qual não fui claro o suficiente sobre o desejo de que o espaçamento entre linhas não fosse afetado.

Resumindo, preciso sobrepor texto de várias linhas em uma curva. Para garantir que o texto fique no topo da curva, pinto o nó que contém o texto. Como existem várias linhas com comprimentos diferentes, o rótulo parece estranho quando todo o nó é colorido.soluçãoresolvi esse problema, mas não atende à minha necessidade (não claramente declarada) de que o espaçamento entre linhas não seja afetado (para consistência com outros rótulos de várias linhas na minha figura).

Considere este MWE:

\documentclass[class=minimal]{standalone}

\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{positioning}

\begin{document}
\begin{tikzpicture}
  \draw[-] (-1,-0.5) .. controls (-1,1) and (1,0) .. 
    node[above left=-20pt and -11pt,align=center] 
    {\colorbox{yellow}{short line}\\\colorbox{yellow}{much longer line}} (1,1);
  \draw[-] (-0.105,0.576)  
    node[red,above left=-20pt and -11pt,align=center] 
    {short line\\much longer line};
\end{tikzpicture}
\end{document}

que dá

insira a descrição da imagem aqui

O texto em vermelho tem o espaçamento normal entre linhas. O texto preto com o preenchimento "apertado" desejado tem um espaçamento entre linhas um pouco maior.

Como posso ter um preenchimento "apertado" de texto multilinha em um nó sem alterar o espaçamento entre linhas?

Responder1

insira a descrição da imagem aqui

Eu quis dizer que você poderia definir fboxep como 0 (que é 2 aqui), mas acho que você prefere 3

\documentclass[class=minimal,border=0pt]{standalone}

\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{positioning}
\newcommand\ya[1]{\colorbox{yellow}{#1}}
\newcommand\yb[1]{{\fboxsep=0pt\colorbox{yellow}{#1}}}
\newcommand\yc[1]{\vphantom{#1}\smash{\colorbox{yellow}{#1}}}
\begin{document}
\begin{tikzpicture}
  \draw[-] (-1,-0.5) .. controls (-1,1) and (1,0) .. 
    node[above left=-20pt and -11pt,align=center] 
    {\ya{short line1}\\\ya{much longer line}} (1,1);
\end{tikzpicture}
\begin{tikzpicture}
  \draw[-] (-1,-0.5) .. controls (-1,1) and (1,0) .. 
    node[above left=-20pt and -11pt,align=center] 
    {\yb{short line2}\\\yb{much longer line}} (1,1);
\end{tikzpicture}
\begin{tikzpicture}
  \draw[-] (-1,-0.5) .. controls (-1,1) and (1,0) .. 
    node[above left=-20pt and -11pt,align=center] 
    {\yc{short line3}\\\yc{much longer line}} (1,1);
\end{tikzpicture}
\begin{tikzpicture}
  \draw[-] (-1,-0.5) .. controls (-1,1) and (1,0) .. 
    node[above left=-20pt and -11pt,align=center] 
    {short line4\llap{\rule[-.5pt]{25cm}{.5pt}}\\%
     much longer line\llap{\rule[-.5pt]{25cm}{.5pt}}} (1,1);
\end{tikzpicture}
\end{document}

informação relacionada