com o
\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}
eu obtenho
se eu predefinisse aspas de borda, por exemplo, como
every edge quotes/.append style = {auto=left, font=\footnotesize\sffamily,
anchor=south, sloped}
than swap
ou '
option não tem nenhuma influência no posicionamento do rótulo (de alguma forma esperado, já que a âncora é fixa).
existe uma maneira de o rótulo da segunda imagem ser posicionado acima/esquerdo ou abaixo/direito de uma linha e ao mesmo tempo ser sensível à opção swap
(ou '
)?
Responder1
Não tenho certeza se é isso que você espera.
\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}