Im einfachen Beispiel unten schlägt eine Referenz innerhalb varwidth
der Umgebung fehl, weil hyperref
das Paket mit der Option geladen wurde ocgcolorlinks
. Das Hinzufügen ocgx2
(mit der gleichen Option) macht das Ganze noch schlimmer.
\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
Kann jemand einen Fix bereitstellen, der die Verwendung von / href
/ cref
/… innerhalb der Umgebung ermöglicht, varwidth
ohne ocgcolorlinks
die Option hyperref
oder zu deaktivieren ocgx2
?
Antwort1
Sie könnten versuchen, \pdfliteral lokal auf die ursprüngliche Definition zurückzusetzen (varwidth definiert es neu):
\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}