问题如标题。
使用 \href,我们将能够提供带有文本的“可点击”链接。我们可以使用 \ref 做同样的事情吗?假设我想引用带有标签 \label{equation:123} 的方程式,我通常会写方程式 \ref{equation:123}。有没有办法写出类似于 \href{00}{00} 的 \ref[Equation]{equation:123} 或 \ref{Equation}{equation:123}?
\documentclass[12pt,reqno,a4paper]{amsart}
\usepackage{extsizes}
\usepackage{blindtext}
\textheight 9.3in \textwidth 6.5in
\calclayout
\usepackage{amsmath,amsthm,amsfonts,amssymb}
\theoremstyle{definition}
\newtheorem{theorem}{Theorem}
\newtheorem{lemma}{Lemma}
\newtheorem{example}{Example}[section]
\newtheorem{corollary}{Corollary}[section]
\usepackage{hyperref}
\usepackage{mathrsfs}
\usepackage[all]{xy}
\newtheorem*{question}{Question}
\newcommand{\mc}{\mathcal}
\newcommand{\mf}{\mathfrak}
\newtheorem*{solution}{Solution}
\newtheorem{definition}{Definition}
\newtheorem{remark}{Remark}
\newtheorem{proposition}{Proposition}[section]
\newtheorem{exercise}{Exercise}
\newcommand{\og}{\omega}
\newcommand{\tb}{\textbf}
\newcommand{\m}{\mathcal}
\newcommand{\mb}{\mathbb}
\newcommand{\Spec}{\rm Spec}
\usepackage{tikz-cd}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{color}
\pagestyle{myheadings}
\newcommand{\ra}{\rightarrow}
\newcommand{\xra}{\xrightarrow}
\author{someone}
\title{something}
\begin{document}
\section{qwerty}\label{qwerty}
\end{document}
答案1
解决你的问题的方法是使用cleveref
包(注意它只是一r )。 您将需要nameinlink
结合以下选项加载它hyperref
:
\usepackage{hyperref}
\usepackage[nameinlink]{cleveref}
然后,您可以用\cref{equation:123}
代替equation~\ref{equation:123}
。使用\Cref
表示大写。如果cleveref
在不希望的地方插入缩写,您可以添加选项noabbrev
以防止缩写。
texdoc cleveref
通过在命令行中输入可以获取更多信息。
答案2
如果您不想将 cleveref 添加到已经臃肿的序言中......
\documentclass[12pt,reqno,a4paper]{amsart}
\usepackage{hyperref}
\newcommand{\myref}[2]% #1=added text, #2=label name
{\hyperlink{\getrefbykeydefault{#2}{anchor}{Doc-Start}}{#1~\ref*{#2}}}
\begin{document}
\begin{equation}\label{eq:1}
x=a
\end{equation}
\myref{Equation}{eq:1}
\end{document}