con el
\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{quotes}
\begin{document}
\begin{tikzpicture}[auto]
\draw (0,0) to ["AA" '] + (2,0);
\draw (0,0) to ["BB"] + (0,2);
%
\draw (3,0) to ["AA" '] +(2,0);
\draw (3,0) to ["BB",sloped] +(0,2);
\end{tikzpicture}
\end{document}
yo obtengo
si predefino comillas de borde, por ejemplo, como
every edge quotes/.append style = {auto=left, font=\footnotesize\sffamily,
anchor=south, sloped}
que swap
o '
la opción no tiene ninguna influencia en el posicionamiento de la etiqueta (de alguna manera se esperaba, ya que el ancla es fija).
¿Hay alguna manera de que la etiqueta de la segunda imagen se coloque arriba/izquierda o debajo/derecha de una línea y al mismo tiempo sea sensible a la opción swap
(o '
)?
Respuesta1
No estoy seguro si esto es lo que esperas.
\documentclass[tikz]{standalone}
\begin{document}
\makeatletter
\def\tikz@install@auto@anchor@sloped{\let\tikz@do@auto@anchor=\tikz@auto@anchor@on\def\tikz@auto@anchor@direction{sloped}}
\def\tikz@install@auto@anchor@sroped{\let\tikz@do@auto@anchor=\tikz@auto@anchor@on\def\tikz@auto@anchor@direction{sroped}}
\def\tikz@auto@anchor@sloped{\pgfslopedattimetrue\tikz@auto@pre\tikz@auto@anchor@sloped@\tikz@auto@post}
\def\tikz@auto@anchor@sroped{\pgfslopedattimetrue\tikz@auto@pre\tikz@auto@anchor@sroped@\tikz@auto@post}
\def\tikz@auto@anchor@sloped@{%
\ifdim\pgf@x<0pt%
\def\tikz@anchor{north}%
\else%
\def\tikz@anchor{south}%
\fi%
}
\def\tikz@auto@anchor@sroped@{%
\ifdim\pgf@x<0pt%
\def\tikz@anchor{south}%
\else%
\def\tikz@anchor{north}%
\fi%
}
\tikzoption{swap}[]{%
\def\tikz@swap@left@to{right}%
\def\tikz@swap@right@to{left}%
\def\tikz@swap@sloped@to{sroped}%
\def\tikz@swap@sroped@to{sloped}%
\edef\tikz@auto@anchor@direction{\csname tikz@swap@\tikz@auto@anchor@direction @to\endcsname}
}
\tikz\draw foreach\i in{3,6,...,36}{(0,0)--node[auto=sloped]{ABC}+(\i0:3)};
\tikz\draw foreach\i in{3,6,...,36}{(0,0)--node[auto=sloped,']{ABC}+(\i0:3)};
\tikz\draw foreach\i in{3,6,...,36}{(0,0)--node[auto=sroped]{ABC}+(\i0:3)}; % sroped = sloped'
\end{document}