¿Cómo pongo "L" exactamente en el medio de la línea?

¿Cómo pongo "L" exactamente en el medio de la línea?

Si yo, por ejemplo, tengo 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}

¿Cómo pongo la "L" exactamente en el medio de la línea? Realmente no entiendo cómo funcionan xshift e yshift. ¿Con qué se compara el cambio?

Respuesta1

En lugar de usarlo \fillpara el círculo, puede especificarlo Circlecomo punta de flecha (requiere la arrows.metabiblioteca). Luego puedes dibujar la línea, ambas puntas y ambas etiquetas en una sola línea.

Colocar el nodedespués --(o después to) se colocará de forma predeterminada en el medio del segmento.

ingrese la descripción de la imagen aquí

\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}

Respuesta2

Las respuestas anteriores se han centrado en cómo poner la L en el medio de la línea, lo que aborda la primera de sus preguntas, pero dice menos sobre lo que shiftestá haciendo. Una de las respuestas existentes toca su segunda pregunta, pero en realidad no la explica.

Para entender qué xshifty yshifthacer, es necesario empezar por considerar dóndeNaciones UnidasAparecería un nodo desplazado. El siguiente diagrama muestra esta posición en rojo. Si simplemente colocas el nodo ahí, aquí es donde aparecerá.

diagrama que muestra la posición predeterminada del nodo

El ancla predeterminada es la centerdel nodo, que está alineada con la centerdel nodo circular.

xshift=-0.5cmsolo dice que desplace el nodo 0,5 cm hacia la izquierda. Mostremos esto en azul.

efecto de desplazarse 0,5 cm hacia la izquierda

Esto significa que habrá 5 mm entre el centro de la versión roja y el centro de la azul.

yshift=-0.7cmsolo dice que mueva el nodo 0,7 cm hacia abajo. Mostremos esto en verde.

efecto de desplazarse 0,7 cm hacia abajo

xshift=-0.5cm,yshift=-0.7cmcombina estas dos instrucciones para que el nodo se mueva 0,5 cm hacia la izquierda y 0,7 cm hacia abajo.

efecto de combinar turnos

Eso es,

diagrama para acompañar la explicación 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}

Respuesta3

Aquí tienes dos formas de hacerlo, en rojo y en verde.

  • xshift, yshifthaz lo que dicen: cambia una cantidad determinada
  • SI conoces las longitudes involucradas, está bien.
  • CUANDO no usas midwayo poses mejor
  • donde midwaysimplemente estapos=.5

Por cierto, el texto verde, así como la palabra clave izquierda/derecha, parecen aparecer en el lado equivocado, cuando pones <-, es decir, la flecha al principio, luego una línea y luego ninguna flecha al 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}

Respuesta4

Como esto:

ingrese la descripción de la imagen aquí

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}

información relacionada