
Estou trabalhando na criação de um diagrama de caminho usando Tikzedt.
O problema que estou enfrentando é que os rótulos de caminho nessas linhas que estão muito próximas umas das outras estão sobrepostos às outras linhas, tornando-as ilegíveis. (veja imagem abaixo).
Sinto que deveria haver uma maneira de expandir o fundo branco em torno de cada um dos rótulos que meu código atual está produzindo.
As soluções que vi até agora neste fórum colocam código no cabeçalho que altera os estilos de todos os nós que são rótulos de caminho ou de todos os nós. Eu façonãoquero isso, porque este é um subconjunto de um diagrama muito mais complexo com muitos outros caminhos que quero que permaneçam iguais.
Talvez eu precise criar um novo estilo no cabeçalho e usar esse estilo apenas para os rótulos do caminho? Não tenho muita certeza e agradeceria qualquer contribuição.
Sinto que há uma solução simples, mas ainda não encontrei nada que resolva esse tipo de problema.
Não estou muito familiarizado com as complexidades do código tikz (se isso já não fosse óbvio) e atualmente estou construindo a partir de um modelo que um colega meu me enviou.
Por favor, perdoe qualquer código redundante ou sem sentido, porque não tenho certeza do que estou fazendo.
Aqui está o código que usei para produzir esta imagem:
\usetikzlibrary{positioning,shapes,arrows,backgrounds,decorations.markings}
\usetikzlibrary{decorations.pathreplacing}
% Define block styles
\tikzstyle{block} = [rectangle, draw, minimum width=12mm, minimum height=10mm,fill=white,inner xsep=5pt,inner ysep=8pt]
\tikzstyle{line} = [-latex']
\begin{tikzpicture}[node distance = 3cm,font=\bfseries\boldmath\large,line width=1.25pt]
%Place time point 1 Observed variables
\node [block] (Y010A) {$Y_{01r}$};
%Time point 2 observed variables
\node [block, below=10 cm of Y010A] (Y020A) {$Y_{02r}$};
\node [block, below=0.5cm of Y020A] (Y120A) {$Y_{12r}$};
\node [block, below=0.5cm of Y120A] (Y220A) {$Y_{22r}$};
\node [block, below=0.5cm of Y220A] (Y320A) {$Y_{32r}$};
\node [block, below=0.5cm of Y320A] (Y420A) {$Y_{42r}$};
\node [block, below=0.5cm of Y420A] (Y520A) {$Y_{52r}$};
%Place reference trait factors and paths
\node[draw, circle, right=4 cm of Y010A, minimum size=1.25cm](TrA) {$T_{r}$};
\path [line] (TrA.140) edge (Y010A.30);
\path [line] (TrA.210) edge node {} (Y020A.30);
\path [line] (TrA.220) edge node[fill=white,inner sep=2pt,pos=0.1]{$\lambda_{8}$} (Y120A.30);
\path [line] (TrA.230) edge node[fill=white,inner sep=2pt,pos=0.12]{$\lambda_{9}$} (Y220A.30);
\path [line] (TrA.240) edge node[fill=white,inner sep=2pt,pos=0.14]{$\lambda_{10}$} (Y320A.30);
\path [line] (TrA.250) edge node[fill=white,inner sep=2pt,pos=0.16]{$\lambda_{11}$} (Y420A.30);
\path [line] (TrA.260) edge node[fill=white,inner sep=2pt,pos=0.18]{$\lambda_{12}$} (Y520A.30);
\end{tikzpicture}
Responder1
Não sei se isso é exatamente o que você esperava, mas aqui está um trecho de código que pode ser conveniente:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,shapes,arrows,backgrounds,decorations.markings}
\usetikzlibrary{decorations.pathreplacing}
\begin{document}
% Define block styles
\tikzstyle{block} = [rectangle, draw, minimum width=12mm, minimum height=10mm,fill=white,inner xsep=5pt,inner ysep=8pt]
\tikzstyle{line} = [-latex']
\tikzstyle{path_node_wide} = [fill=white, text width=11mm]
\begin{tikzpicture}[node distance = 3cm,font=\bfseries\boldmath\large,line width=1.25pt]
%Place time point 1 Observed variables
\node [block] (Y010A) {$Y_{01r}$};
%Time point 2 observed variables
\node [block, below=10 cm of Y010A] (Y020A) {$Y_{02r}$};
\node [block, below=0.5cm of Y020A] (Y120A) {$Y_{12r}$};
\node [block, below=0.5cm of Y120A] (Y220A) {$Y_{22r}$};
\node [block, below=0.5cm of Y220A] (Y320A) {$Y_{32r}$};
\node [block, below=0.5cm of Y320A] (Y420A) {$Y_{42r}$};
\node [block, below=0.5cm of Y420A] (Y520A) {$Y_{52r}$};
%Place reference trait factors and paths
\node[draw, circle, right=4 cm of Y010A, minimum size=1.25cm](TrA) {$T_{r}$};
\path [line] (TrA.140) edge (Y010A.30);
\path [line, path_node_wide] (TrA.210) edge node {} (Y020A.30);
\path [line] (TrA.210) edge node {} (Y020A.30);
\path [line] (TrA.220) edge node[path_node_wide, pos=0.2]{$\lambda_{8}$} (Y120A.30);
\path [line] (TrA.230) edge node[path_node_wide,pos=0.22]{$\lambda_{9}$} (Y220A.30);
\path [line] (TrA.240) edge node[path_node_wide,pos=0.24]{$\lambda_{10}$} (Y320A.30);
\path [line] (TrA.250) edge node[path_node_wide,pos=0.26]{$\lambda_{11}$} (Y420A.30);
\path [line] (TrA.260) edge node[path_node_wide,pos=0.28]{$\lambda_{12}$} (Y520A.30);
\end{tikzpicture}
\end{document}
Defini um novo estilo ( path_node_wide
) que aplico apenas nos nós desejados. Em relação ao fundo branco das suas etiquetas, dou explicitamente text width
para que a etiqueta tenha o tamanho esperado (embora eu ache que possa existir uma maneira melhor...). Também movi um pouco as suas etiquetas, pois achei-as mais legíveis naquele local).
Você pode encontrar aqui o resultado:
Espero que possa ajudar um pouco.