在下面的簡單範例中,varwidth
由於hyperref
載入了選項的包,環境內部的引用失敗ocgcolorlinks
。廣告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
...而不禁用or選項嗎?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}