Como coloco “L” exatamente no meio da linha?

Como coloco “L” exatamente no meio da linha?

Se eu, por exemplo, tiver este código:

\documentclass{article}
\usepackage{graphicx} % Required for inserting images
\usepackage{tikz}
\usetikzlibrary{positioning}
\usepackage[margin=2.625cm]{geometry}
\usepackage{subcaption}



 \begin{document}


 \begin{tikzpicture}

 \fill (1.5,1.5) circle [radius=0.05] node[above, yshift=-0.03cm, 
  font=\small]{1};
 \draw[<-, line width=0.3pt, >=stealth] (0.7,0.0) -- (1.5,1.5) 
  node[xshift=-0.5cm, yshift=-0.7cm, font=\tiny]{L};

 \end{tikzpicture}
 \end{document}

Como coloco o “L” exatamente no meio da linha? Eu realmente não entendo como o xshift e o yshift funcionam. A que se compara a mudança?

Responder1

Em vez de usar \fillpara o círculo, você pode especificar Circlecomo ponta de seta (requer a arrows.metabiblioteca). Então você pode desenhar a linha, ambas as pontas e os dois rótulos em uma linha.

Colocar o nodeafter --(ou after to) será padronizado no meio do segmento.

insira a descrição da imagem aqui

\documentclass{article}
\usepackage{tikz}
\usepackage[margin=2.625cm]{geometry}
\usetikzlibrary{arrows.meta}

 \begin{document}

 \begin{tikzpicture}
 \draw[stealth-Circle, line width=0.3pt] (0.7,0.0) --node[above left=-2pt, font=\tiny]{L} (1.5,1.5) node[above, font=\small]{1};
 \end{tikzpicture}
 
 \end{document}

Responder2

As respostas anteriores se concentraram em como colocar o L no meio da linha, que trata da primeira de suas perguntas, mas dizem menos sobre o que shiftestá acontecendo. Uma das respostas existentes aborda sua segunda pergunta, mas não a explica realmente.

Para entender o que xshifte yshiftfazer, você precisa começar considerando onde ounnó deslocado apareceria. O diagrama a seguir mostra esta posição em vermelho. Se você simplesmente colocar o nó lá, é aqui que ele aparecerá.

diagrama mostrando a posição padrão do nó

A âncora padrão é a centerdo nó, que está alinhada com a centerdo nó circular.

xshift=-0.5cmapenas diz para deslocar o nó 0,5 cm para a esquerda. Vamos mostrar isso em azul.

efeito do deslocamento de 0,5 cm para a esquerda

Isso significa que haverá 5 mm entre o centro da versão vermelha e o centro da versão azul.

yshift=-0.7cmapenas diz para deslocar o nó 0,7 cm para baixo. Vamos mostrar isso em verde.

efeito do deslocamento de 0,7 cm para baixo

xshift=-0.5cm,yshift=-0.7cmcombina essas duas instruções para que o nó seja movido 0,5 cm para a esquerda e 0,7 cm para baixo.

efeito da combinação de turnos

Aquilo é,

diagrama para acompanhar a explicação de xshift e yshift

\documentclass[tikz,border=5pt]{standalone}
\usetikzlibrary{positioning,arrows.meta,backgrounds}
\begin{document}
  \begin{tikzpicture}[every pin/.append style={font=\tiny,help lines,inner sep=1pt},every pin edge/.append style={help lines,densely dashed,{Circle[length=1pt]}-,shorten <=-.5pt},explan/.style={font=\tiny,densely dashed,draw}]
  \fill (1.5,1.5) coordinate (c1) circle [radius=0.05] node[above, yshift=-0.03cm, font=\small]{1};
  \draw[<-, line width=0.3pt, >=stealth,red] (0.7,0) coordinate (c2) -- (c1) node[explan,pin=45:default]{L};
  \begin{scope}[on background layer]
    \draw [help lines,densely dashed] (c1) edge +(1,0) edge +(-1,0) edge +(0,1) -- +(0,-1);
    \draw [help lines,densely dashed] (c1) ++(-0.5,-0.7) edge +(1.5,0) edge +(-0.5,0) edge +(0,1.7) -- +(0,-0.3);
    \draw[<-, line width=0.3pt, >=stealth,blue] (c2) -- (c1) node[xshift=-0.5cm, explan,pin=135:5mm left]{L};
    \draw[<-, line width=0.3pt, >=stealth,green] (c2) -- (c1) node[yshift=-0.7cm, explan,pin=-45:7mm down]{L};
    \draw [densely dashed,blue] (c1) -- ++(-0.5cm,0) coordinate [midway,pin=above:5mm] (c3) ;
    \draw [densely dashed,green] (c1) -- ++(0,-0.7cm) coordinate [midway,pin=right:7mm] (c4) ;
  \end{scope}
  \draw[<-, line width=0.3pt, >=stealth] (c2) -- (c1) node[xshift=-0.5cm, yshift=-0.7cm, font=\tiny,pin=-135:5mm left 7mm down]{L};
\end{tikzpicture}
\end{document}

Responder3

Aqui estão duas maneiras de fazer isso, em vermelho e verde.

  • xshift, yshiftfaça o que eles dizem: mude em uma determinada quantia
  • SE você conhece os comprimentos envolvidos, tudo bem
  • QUANDO você não usa midwayou posé melhor
  • onde midwaysimplesmente estápos=.5

Aliás, o texto verde, assim como a palavra-chave esquerda/direita, parecem aparecer no lado errado, como você colocou <-, ou seja, a seta no início, depois uma linha e nenhuma seta no final.

resultado

\documentclass{article}
%\usepackage{graphicx} % Required for inserting images
\usepackage{tikz}
\usetikzlibrary{positioning}
\usepackage[margin=2.625cm]{geometry}
\usepackage{subcaption}

\begin{document}
 \begin{tikzpicture}

 \fill (1.5,1.5) circle [radius=0.05] 
                 node[above, yshift=-0.03cm, font=\small] {1};
 \draw[<-, line width=0.3pt, >=stealth] (0.7,0.0) -- (1.5,1.5) 
                node[xshift=-0.5cm, yshift=-0.7cm, font=\tiny]{L}
                node[red,midway,right]{+}
                node[green,pos=0.2,right]{+};
 \end{tikzpicture}
\end{document}

Responder4

Assim:

insira a descrição da imagem aqui

Código:

\documentclass{article}
%\usepackage{graphicx} % Required for inserting images
\usepackage{tikz}
\usetikzlibrary{positioning}
\usepackage[margin=2.625cm]{geometry}

\begin{document}
    \begin{tikzpicture}
        \fill (1.5,1.5) circle [radius=0.05] node[above, yshift=-0.03cm, 
        font=\small]{1};
        \draw[<-, line width=0.3pt, >=stealth] (0.7,0.0) -- (1.5,1.5) 
        node[pos=.5, font=\tiny,fill=white]{L};
    \end{tikzpicture}
\end{document}

informação relacionada