Wie setze ich „L“ genau in die Mitte der Zeile?

Wie setze ich „L“ genau in die Mitte der Zeile?

Wenn ich beispielsweise diesen Code habe:

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

Wie setze ich das „L“ genau in die Mitte der Zeile? Ich verstehe nicht ganz, wie die X- und Y-Verschiebung funktioniert. Womit ist die Verschiebung vergleichbar?

Antwort1

Anstatt \fillfür den Kreis zu verwenden, können Sie Circleauch eine Pfeilspitze angeben (erfordert die arrows.metaBibliothek). Dann können Sie die Linie, beide Spitzen und beide Beschriftungen in einer Linie zeichnen.

Die Platzierung von node„nach“ --(oder „nach“ to) erfolgt standardmäßig in der Mitte des Segments.

Bildbeschreibung hier eingeben

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

Antwort2

Frühere Antworten haben sich darauf konzentriert, wie man das L in die Mitte der Zeile setzt, was sich auf die erste Ihrer Fragen bezieht, aber weniger darüber aussagt, was es shifttut. Eine der vorhandenen Antworten berührt Ihre zweite Frage, erklärt sie aber nicht wirklich.

Um zu verstehen, was xshiftund yshifttun, müssen Sie zunächst überlegen, wo dieunverschobener Knoten würde erscheinen. Das folgende Diagramm zeigt diese Position in Rot. Wenn Sie den Knoten einfach dort platzieren würden, würde er hier erscheinen.

Diagramm, das die Standardposition des Knotens zeigt

Der Standardanker ist der centerdes Knotens, der mit dem centerdes kreisförmigen Knotens ausgerichtet ist.

xshift=-0.5cmsagt nur, dass der Knoten 0,5 cm nach links verschoben werden soll. Lassen Sie uns das in Blau darstellen.

Effekt einer Verschiebung um 0,5 cm nach links

Dies bedeutet, dass zwischen der Mitte der roten Version und der Mitte der blauen Version 5 mm liegen.

yshift=-0.7cmsagt nur, dass der Knoten 0,7 cm nach unten verschoben werden soll. Lassen Sie uns das in Grün anzeigen.

Effekt einer Verschiebung um 0,7 cm nach unten

xshift=-0.5cm,yshift=-0.7cmkombiniert diese beiden Anweisungen, sodass der Knoten 0,5 cm nach links und 0,7 cm nach unten verschoben wird.

Auswirkungen der Schichtzusammenlegung

Das ist,

Diagramm zur Erläuterung von X-Shift und Y-Shift

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

Antwort3

Hier sind zwei Möglichkeiten, dies zu tun, in Rot und Grün.

  • xshift, yshifttun Sie, was sie sagen: verschieben Sie um einen bestimmten Betrag
  • Wenn Sie die Längen kennen, ist das in Ordnung
  • Wenn Sie nicht verwenden midwayoder posist besser
  • wo midwayeinfach istpos=.5

Übrigens scheinen der grüne Text und das Schlüsselwort „links/rechts“ auf der falschen Seite zu erscheinen, wie Sie es eingegeben haben <-, d. h. der Pfeil am Anfang, dann eine Linie und dann kein Pfeil am Ende.

Ergebnis

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

Antwort4

So was:

Bildbeschreibung hier eingeben

Code:

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

verwandte Informationen