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 \fill
für den Kreis zu verwenden, können Sie Circle
auch eine Pfeilspitze angeben (erfordert die arrows.meta
Bibliothek). 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.
\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 shift
tut. Eine der vorhandenen Antworten berührt Ihre zweite Frage, erklärt sie aber nicht wirklich.
Um zu verstehen, was xshift
und yshift
tun, 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.
Der Standardanker ist der center
des Knotens, der mit dem center
des kreisförmigen Knotens ausgerichtet ist.
xshift=-0.5cm
sagt nur, dass der Knoten 0,5 cm nach links verschoben werden soll. Lassen Sie uns das in Blau darstellen.
Dies bedeutet, dass zwischen der Mitte der roten Version und der Mitte der blauen Version 5 mm liegen.
yshift=-0.7cm
sagt nur, dass der Knoten 0,7 cm nach unten verschoben werden soll. Lassen Sie uns das in Grün anzeigen.
xshift=-0.5cm,yshift=-0.7cm
kombiniert diese beiden Anweisungen, sodass der Knoten 0,5 cm nach links und 0,7 cm nach unten verschoben wird.
Das ist,
\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
,yshift
tun Sie, was sie sagen: verschieben Sie um einen bestimmten Betrag- Wenn Sie die Längen kennen, ist das in Ordnung
- Wenn Sie nicht verwenden
midway
oderpos
ist besser - wo
midway
einfach 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.
\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:
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}