В простом примере ниже ссылка внутри 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
/… внутри 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}