Die Interaktion mit der Beamer-Pause und der URL-Bordercolor von Hyperref führt zu einem Grafikfehler

Die Interaktion mit der Beamer-Pause und der URL-Bordercolor von Hyperref führt zu einem Grafikfehler

Mir ist eine merkwürdige Interaktion zwischen pdfborderstyle und dem Pausenbefehl von Beamer aufgefallen. Wie kann ich sie beseitigen?

Dieser Code erzeugt einen Grafikfehler:

\documentclass{beamer}

% suppresses all navigation symbols
\setbeamertemplate{navigation symbols}{}

\usepackage{hyperref}

% border style will be underline of width 2pt
\hypersetup{pdfborderstyle={/S/U/W 2}}

\begin{document}

\begin{frame}

    example text

    \pause
    \url{https://tex.stackexchange.com/}

\end{frame}

\end{document}

Dies ist, was ich im integrierten PDF-Viewer von LaTeX Workshop sehe.

Bildbeschreibung hier eingeben

Antwort1

Sie können onlyenvanstelle einer Pause ein verwenden, um sicherzustellen, dass die URL nicht im ersten Overlay vorhanden ist.

Um zu vermeiden, dass der Inhalt der Folie zwischen Überlagerungen springt, kombinieren Sie dies entweder mit einem oben ausgerichteten Rahmen oder einem overlayarea.

Überprüfen Sie sorgfältig, ob Ihre Unterstreichung unerwünschte Auswirkungen auf Ihr Design hat. Beamer verwendet normalerweise Links an allen möglichen Stellen, in Überschriften, in Fußzeilen usw. Das Hinzufügen einer Unterstreichung kann das vom Design beabsichtigte Erscheinungsbild zerstören.

\documentclass{beamer}

% suppresses all navigation symbols
\setbeamertemplate{navigation symbols}{}

% border style will be underline of width 2pt
\hypersetup{pdfborderstyle={/S/U/W 2}}


\begin{document}

\begin{frame}

    example text
    
    \begin{overlayarea}{\textwidth}{\baselineskip}
    \begin{onlyenv}<2->
    \url{https://tex.stackexchange.com/}
    \end{onlyenv}
    \end{overlayarea}    

\end{frame}

\end{document}

Anstatt die Unterstreichung global zu aktivieren, könnten Sie dies auch nur für ausgewählte Overlays tun. Das Risiko unbeabsichtigter Nebeneffekte wäre dann deutlich geringer.

\documentclass{beamer}

% suppresses all navigation symbols
\setbeamertemplate{navigation symbols}{}

\begin{document}

\begin{frame}
  
    \only<2->{\hypersetup{pdfborderstyle={/S/U/W 2}}}

    example text
    \pause
    
    \url{https://tex.stackexchange.com/}

\end{frame}

\end{document}

verwandte Informationen