定义自定义交叉引用样式

定义自定义交叉引用样式

我希望我的交叉引用链接看起来像:

Chapter X: Chapter Title

为了实现这一点,我创建了以下命令:

\newcommand{\fancyref}[1]{\autoref{#1}: \nameref{#1}}

问题在于该:字符不是生成的超链接的一部分。

有人可以帮忙吗?

提前致谢。

编译 Leo Liu 的示例时我收到警告:

LaTeX Warning: Reference `*' on page 1 undefined on input line 10.

[1{/usr/local/texlive/2009/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
(./example.aux)

LaTeX Warning: There were undefined references.

答案1

我认为你可以使用:

\hyperref[label]{\autoref*{label}: \nameref*{label}}

完整示例:

\documentclass{article}
\usepackage{hyperref,nameref}
\newcommand\myref[1]{%
  \hyperref[#1]{\autoref*{#1}: \nameref*{#1}}}

\begin{document}
\section{Foo}
\label{sec:foo}

\myref{sec:foo}
\end{document}

相关内容