
Ich habe ein Makro erstellt \measurement
, mit dem ich meinen Zeichnungen Maße hinzufügen kann. Es funktioniert gut, aber die Beschriftungen sind manchmal unbeständig. Im folgenden Beispiel werden die Maßbeschriftungen unterschiedlich gedreht, obwohl die Befehle praktisch identisch sind. Ich nehme an, es muss eine bessere Möglichkeit geben, die Beschriftung zu steuern. Hat jemand eine Idee?
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\tikzset{myscale/.code={\edef\myscale{#1}\tikzset{scale=#1}}}
\def\myscale{1}
\newcommand{\measure}[4]{%
\pgfmathsetlengthmacro\mylength{8pt/\myscale}
\draw[very thin] #1 -- ($#1!\mylength!-90:#2$) coordinate (a) -- ($#1!\mylength+0.4*\mylength!-90:#2$);
\draw[very thin] #2 -- ($#2!\mylength!90:#1$) coordinate (b) -- ($#2!\mylength+0.4*\mylength!90:#1$);
\draw[very thin,<->,>=stealth] (a) -- (b) node[auto,sloped,#3] {#4};
}
\begin{document}
\begin{tikzpicture}[myscale=0.12]
\begin{scope}[rotate=20]
\draw[red] (0,0) -- (0,12);
\measure{(0,0)}{(0,12)}{midway,above,rotate=20,font=\small}{red}
\draw[blue] (0,12) -- (0,24);
\measure{(0,12)}{(0,24)}{midway,above,rotate=20,font=\small}{blue}
\end{scope}
\end{tikzpicture}
\end{document}
Antwort1
Sie haben eine vertikale (bis auf die Rundung) Linie, die Sie dann um 20 Grad drehen. Abhängig von der Rundung neigt sich die Linie ein wenig nach links oder ein wenig nach rechts und der Knoten wird natürlich umgedreht.
Ich habe nicht versucht herauszufinden, was Sie zu tun versuchen oder wie man es am besten tut – vielleicht ist das eine andere Frage.
Die Antwort lautet also:Vertikal macht es instabil.
Um den Effekt zu sehen, versuchen Sie diesen Code:
\documentclass[tikz, border=1cm]{standalone}
\tikzset{
nodetest/.pic={
\coordinate (c) at (1,10); %intermediate coordinate to create rounding
\draw (1,0) -- (c) node[auto, sloped, midway] {test};
}}
\begin{document}
\begin{tikzpicture}
\foreach \pos in {0.01,0.02,...,2}
\pic[scale=\pos] at (10*\pos,0) {nodetest};
\end{tikzpicture}
\end{document}
Skalierte Linien von (0,0) bis (1,10):
Skalierte Linien von (2,0) bis (1,10):
Skalierte Linien von (1,0) bis (1,10):
Es ist ersichtlich, dass das dunkle Knotenband in der Mitte für vertikale Linien instabil ist.
Bearbeiten:
Ich kann nur raten, was Sie wollen. Im Folgenden sind Knoten parallel und unterhalb der Linie zu sehen, die von der ersten zur zweiten Koordinate gelesen wird. Es ist auf allen Skalen stabil.
\documentclass[tikz, border=1cm]{standalone}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}
\foreach \ang in {0,20,...,340}{
\coordinate (a) at (\ang:1);
\coordinate (b) at (\ang:4);
\draw[Stealth-Stealth] (a) --node[sloped, auto, swap, allow upside down=true]{red} (b);
}
\end{tikzpicture}
\end{document}
Antwort2
Vielleicht hilft das - mittkz-euclide
MWE
\documentclass{article}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}[scale=1.2]
\tkzDefPoints{0/0/A,-4/4/B}
\tkzDefPointWith[linear,K=0.5](A,B)
\tkzGetPoint{C}
\tkzDrawSegment[red, very thick](A,C)
\tkzDrawSegment[blue,very thick](B,C)
\tkzDrawPoints[color=black](A,B,C)
\tkzLabelPoints[above right=3pt](A,B,C)
\tkzDrawSegment[style=red, dashed, dim={$10$,15pt,midway,font=\scriptsize, rotate=45}](A,C)
\tkzDrawSegment[style=blue, dashed, dim={$10$,15pt,midway,font=\scriptsize, rotate=45}](C,B)
\end{tikzpicture}
\end{document}