相关带有可选参数的 Autoref,我想为 \autoref 定义一个(可选)参数,该参数出现在常规 autoref 打印输出之后,但在 \autoref 生成的实际链接内。
即命令
\autoref[(left inset)]{fig:somefigure}
应生成一个超链接,其中完整文本处于活动状态
... 图 1(左插图)...
以通用的方式这可能吗?
答案1
诀窍是始终使用非链接引用,然后单独添加超链接:(示例复制自 Christian Hupfers 对原始问题的回答)
\documentclass{article}
\usepackage{hyperref}
\usepackage{letltxmacro}
\usepackage{xparse}
\AtBeginDocument{%
\LetLtxMacro\autoreforig\autoref
\RenewDocumentCommand{\autoref}{som}{%
\IfBooleanF{#1}{%
\hyperref[#3]%
}%
{%
\autoreforig*{#3}\IfValueT{#2}{#2}%
}%
}
}
\begin{document}
See \autoref[ is very nice]{section:foo} or \autoref*[ is nice too]{section:foobar}
\section{Foo section}\label{section:foo}
\section{Foo bar section}\label{section:foobar}
\end{document}