# Strange error of compilation with beamer, extract and \hyperref package

I noticed a strange error of compilation.

After multiple tests, I noticed url and \href{}{} from hyperref package systematically generated the following error

 main.tex, line 31
Runaway argument?

{https://www.geogebra.org/m/ydz69yUz}{\beamerbutton {Méthode de
Newt\ETC.
! Paragraph ended before \next was complete.
<to be read again>
\par
l.31 \end{frame}


I am not as expert as most of you. But I lost my French on this question.

Here is MWE

\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage{hyperref}
\usepackage[active,generate=file.tex]{extract}

\begin{document}

\begin{frame}
{Geogebra}

\begin{extract}
\href{https://www.geogebra.org/m/ydz69yUz}{Description}
\url{https://www.geogebra.org/m/ntbtfxGJ}
\url{https://www.geogebra.org/m/Ehnz3hGb}
\end{extract}

\end{frame}

\end{document}


## 1 Answer

I'm not sure if combining the extract package with beamer is a good idea -- depending on what you like to accomplish, there might be better ways.

Anyway, you can make your document compile by using a fragile frame. Note that the resulting file.tex is not really usable, it should wrap the contents in a frame environment.

Also note that you don't need to load hyperref with beamer.

\documentclass{beamer}
\usepackage[utf8]{inputenc}
%\usepackage{hyperref}
\usepackage[active,generate=file.tex]{extract}

\begin{document}

\begin{frame}[fragile]
\frametitle{Geogebra}

\begin{extract}
\href{https://www.geogebra.org/m/ydz69yUz}{Description}
\url{https://www.geogebra.org/m/ntbtfxGJ}
\url{https://www.geogebra.org/m/Ehnz3hGb}
\end{extract}

\end{frame}

\end{document}


Another solution is to use the extract environment outside of a frame:

\documentclass{beamer}
\usepackage[utf8]{inputenc}
%\usepackage{hyperref}
\usepackage[active,generate=file.tex]{extract}

\begin{document}

\begin{extract}
\href{https://www.geogebra.org/m/ydz69yUz}{Description}
\url{https://www.geogebra.org/m/ntbtfxGJ}
\url{https://www.geogebra.org/m/Ehnz3hGb}
\end{extract}

\begin{frame}
\frametitle{Geogebra}
\end{frame}

\end{document}

• Thank you @samcarter ! I basically tried to extract all the urls to send them to my students. I don't like sending the whole pdf of my slides. – Julien-Elie Taieb Dec 11 '18 at 23:53
• @Julien-ElieTaieb I see. Using different modes would probably be the beamer way to do this, e.g. beamer mode for the normal presentation and handout to create a slide with the urls. – samcarter Dec 12 '18 at 0:22
• Thx Sam carter ! I write the extract outside the frames and it works perfectly ! – Julien-Elie Taieb Dec 13 '18 at 17:55