类似这个问题:如何使 pgfplots 垂直标签具有适当的超引用框?除此之外,我试图让 hyperref 与有角度旋转的 x 轴标签一起工作:
已经成功了,感谢@Jake。
更新:已通过 href 对其进行了排序。谢谢。
\newcommand{\nenameref}[1]{\noexpand\nameref{{#1}}}
\newcommand{\nehref}[1]{\noexpand\href{{#1}}}
\begin{tikzpicture}
\def\labellist{{"\nehref{www.google.com}{google}","\nenameref{testtwo}","reallylonglabel"}},
答案1
rotatebox
您可以使用\ticklabel
键(而不是)将所有刻度标签包装在 中,\ticklabels
并在列表中定义引用,\noexpand
以便它们在所有处理过程中都存在。您应该使用anchor
相当于标签旋转的 ,以避免产生偏移:
\documentclass{article}
\usepackage{hyperref}
\usepackage{rotating}
\usepackage{pgfplots}
\usepackage{nameref}
\usepackage{graphicx}
\begin{document}
\section{the beginning}
This is a test.\label{test} \\
This is \nameref{test}.
\section{second section}
Test two \label{testtwo}
\newcommand{\nenameref}[1]{\noexpand\nameref{{#1}}}
\begin{tikzpicture}
\def\labellist{{"\nenameref{test}","\nenameref{testtwo}","reallylonglabel"}},
\begin{axis}[xtick={1,...,3},
xticklabel={\pgfmathparse{\labellist[\tick-1]}\rotatebox{65}{\pgfmathresult}},
x tick label style={anchor=65}]
\addplot+[only marks,
error bars/.cd,
y dir=both,
y explicit,
error bar style={line width=2pt},
error mark options={
rotate=90,
red,
mark size=8pt,
line width=2pt}
]
coordinates {
(3,1) +- (0,0.35665)
(2,1) +- (0,-0.35048)
(1,1) +- (0,0.150255)
};
\end{axis}
\end{tikzpicture}
\end{document}