Tikz 带有参考的倾斜文本具有非倾斜的链接框

Tikz 带有参考的倾斜文本具有非倾斜的链接框

我使用倾斜选项在 tikz 中沿箭头放置倾斜节点。现在,如果该文本包含 hyperref 包的可点击引用,则它们不会倾斜。文本和链接未对齐。有没有办法旋转它们?这是 tikz 中的错误吗?

这些答案在这里没有帮助,因为我不知道旋转角度。它是由 tikz 计算的。

对于我来说,这是最小的非工作示例:

\section{abc}\label{s:a}
One section
\section{def}\label{s:b}
Another section

\begin{tikzpicture}
  \node[rectangle, fill] (one) {} ;
  \node[rectangle, fill, right=5cm of one,yshift=3cm] (two) {};
  \path (one) edge[-,bend right=-31, near start] node[sloped,above] {\ref{s:a}~~~\ref{s:b}} (two);
\end{tikzpicture}

结果:由于链接框没有倾斜,因此两者的链接位于两者之下。

答案1

不要使用slopedabove而要使用旋转和移位,因为这样会带来问题。

编辑:使用一个独特的命令:

在此处输入图片描述

\documentclass{article}
\usepackage{tikz}
\usepackage{hyperref}
%\usepackage[colorlinks]{hyperref}
\usetikzlibrary{calc}


\makeatletter
\newcommand{\Hyp}[4][.5]{%
    \draw #2 -- #3
    let \p1 = ($ #3 - #2 $)
        in 
    \pgfextra{%
        \pgfmathparse{90-atan2(\x1,\y1)}
        \xdef\@ngle{\pgfmathresult}
    }
    node[pos=#1,shift={(\@ngle+90:8pt)}]
              {\rotatebox{\@ngle}{#4}}
    }
\makeatother

\begin{document}


\section{abc}\label{s:a}
One section
\section{def}\label{s:b}
Another section

\begin{tikzpicture}
\node[fill] (A) at (0,0)  {} ;
\node[fill] (B) at (50:4) {}  ;
\node[fill] (C) at (150:6) {}  ;

\Hyp{(A)}{(B)}{\ref{s:a}~~~\ref{s:b}} ;
\Hyp{(C)}{(A)}{\ref{s:a}~~~\ref{s:b}} ;

\end{tikzpicture}
\end{document}

相关内容