在下面的简单示例中,varwidth
由于hyperref
使用选项加载的包,环境中的引用失败。使用相同选项的ocgcolorlinks
Ading使情况更加糟糕。ocgx2
\documentclass{article}
\usepackage{varwidth}
\usepackage[ocgcolorlinks]{hyperref}
%\usepackage[ocgcolorlinks]{ocgx2}
\begin{document}
\section{A section} \label{sec}
A reference outside \texttt{varwidth}: sec.~\ref{sec}.
\noindent
\begin{varwidth}{\textwidth}
A reference \hphantom{outside }\llap{inside} \texttt{varwidth}: sec.~\ref{sec}.
\end{varwidth}
\end{document}
有人可以提供一个修复程序,允许在环境中使用ref
// href
/ cref
...而不禁用或选项吗?varwidth
ocgcolorlinks
hyperref
ocgx2
答案1
您可以尝试在本地将 \pdfliteral 恢复到原始定义(varwidth 重新定义它):
\documentclass{article}
\usepackage{varwidth}
\usepackage{hyperref}
\usepackage[ocgcolorlinks]{ocgx2}
\begin{document}
\section{A section} \label{sec}
A reference outside \texttt{varwidth}: sec.~\ref{sec}.
\makeatletter
\noindent
\begin{varwidth}{\textwidth}
A reference \hphantom{outside }\llap{inside}\texttt{varwidth}: sec.~\mbox{\let\pdfliteral\@@vwid@pdfliteral\ref{sec}}.
\end{varwidth}
\makeatother
\end{document}