줄 간격에 영향을 주지 않고 노드에서 여러 줄 텍스트를 "단단하게" 채웁니다.

줄 간격에 영향을 주지 않고 노드에서 여러 줄 텍스트를 "단단하게" 채웁니다.

이는 후속 조치입니다.노드의 여러 줄 텍스트를 "단단하게" 채움, 줄 간격이 영향을 받지 않기를 바라는 것에 대해 충분히 명확하지 않았습니다.

간단히 말해서 곡선에 여러 줄의 텍스트를 오버레이해야 합니다. 텍스트가 곡선 위에 있는지 확인하기 위해 텍스트가 포함된 노드에 색상을 지정합니다. 길이가 다른 선이 여러 개 있으므로 전체 노드를 색칠하면 레이블이 이상하게 보입니다.해결책이 문제는 해결되었지만 줄 간격이 영향을 받지 않도록 해야 하는(명확하게 명시되지 않은) 요구 사항은 해결되지 않았습니다(내 그림의 다른 여러 줄 레이블과의 일관성을 위해).

다음 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}

이는

여기에 이미지 설명을 입력하세요

빨간색 텍스트는 일반적인 줄 간격을 갖습니다. 원하는 "단단한" 채우기가 포함된 검정색 텍스트는 줄 간격이 약간 더 큽니다.

줄 간격을 변경하지 않고 노드에서 여러 줄 텍스트를 "단단하게" 채울 수 있는 방법은 무엇입니까?

답변1

여기에 이미지 설명을 입력하세요

fboxep을 0(여기서는 2)으로 설정할 수 있다고 말하고 싶었지만 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}

관련 정보