\documentclass[10pt]{beamer}
\usetheme{Warsaw}
\usecolortheme{orchid}
\setbeamertemplate{footline}[frame number]
\usepackage{hyperref}
\newcommand{\tbs}{\textbackslash}
\definecolor{cRed}{rgb}{1,0,0}
\title{Hyperref for PDF Links}
\author{Alexander H. Pfeiffenberger}
\institute{Electrical and Computer Engineering \\Auburn University}
\date{\scriptsize{\today}}

\AtBeginSection[]
{\begin{frame}{Outline}
	\tableofcontents[currentsection]
 \end{frame}
}
 
\begin{document}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 1
\maketitle


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 2
\section{Introduction}
\subsection{What is Hyperref?}
\begin{frame}[fragile]
\frametitle{Introduction}
\textit{HyperTeX is a defacto standard for inclusion of hyperlink information in TeX and LaTeX documents, which can then be used to generated PDF or DVI files with embedded links. These links enable easy navigation inside documents as well as between documents, just as in HTML, using standard PDF, Postscript and DVI viewers. Various TeX, LaTeX and BibTeX style sheets and macro packages exist which facilitate the construction of hyperlinked documents.}
\\ -- \url{http://arxiv.org/hypertex/}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 3
\subsection{Using Hyperref}
\begin{frame}[fragile]
\frametitle{The Basics}
\begin{verbatim}\usepackage{hyperref}
\end{verbatim}
Adding hyperlinks to a \LaTeX\ document is accomplished with the hyperref package.
\\[10pt]
Hyperlinks can be generated by hand or automatically generated for all cite and ref commands as well as for the table of contents, any lists of figures/tables and the index.
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 4
\subsection{Citation Example}
\begin{frame}[fragile]
\frametitle{Example}
Just by importing the hyperref package my citations \cite{hyperrefReadme} become links to my bibliography \cite{HyperTextMarks} and my references link to their corresponding content. \ref{fig:TeX}.
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 5
\subsection{Figure Example}
\begin{frame}[fragile]
\frametitle{Example Cont.}
\begin{figure}[htbp]
  \centering
  \includegraphics[width=0.3\textwidth]{lion.png}
  \caption[The TeX mascott]{\large This figure becomes the target of the previous link.}
  \label{fig:TeX}
\end{figure}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 6
\subsection{Restrictions}
\begin{frame}[fragile]
\frametitle{Hyperref's Domain}
Most DVI previewers (xdvi, dviout, and idvi) and PDF viewers (Adobe Reader and Xpdf amoung others) will display hypertex links.
Some postscript previewers (GSview and HyperHacked Ghostview) can handle the hypertex links. 
\\[10pt]
The most popular approach seems to be generating the PDF file directly from \LaTeX\ source using pdftex.
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 7
\subsection{Considerations}
\begin{frame}[fragile]
\frametitle{Considerations}
The \textbackslash special command has previously been used to extend TeX by allowing inclusion of line drawings, PostScript figures, and colored text. \textbf{For this reason the hyperref library should be listed last in the import queue.}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 8
\subsection{Subpackages}
\begin{frame}[fragile]
\frametitle{Subpackages}
\textbf{backref} adds back-link text to the end of each item in the bibliography, as a list of section numbers.
\\[7pt]
\textit{\small{This can only work properly if there is a blank line after each \textbackslash bibitem.}}
\\[10pt]
\textbf{nameref} defines a \textbackslash nameref command that makes reference to an object by its name (e.g., the title of a section or chapter).
\\[10pt]
\textbf{xr-hyper} can create hyperlinks to the external documents that are cross-referenced.
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 9
\section{External Links}
\begin{frame}[fragile]
\frametitle{Generating External Links}
\textit{The URL that you supply must be a full URL (relative to the base URL, if defined). Special characters \# and \~{} do not need to be escaped in any way.}
\begin{verbatim}\hyperbaseurl{use_base}
\end{verbatim}
A base URL is established, which is prepended to other specified URLs, to make it easier to write portable documents.
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 10
\subsection{Generating External Links with url}
\begin{frame}[fragile]
\frametitle{External Link Example}
\begin{verbatim}\url{url_path}
\end{verbatim}
Show the clickable URL using a mono-spaced font.
\\[15pt]
\url{http://www.google.com}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 11
\subsection{Showing External Links with nolinkurl}
\begin{frame}[fragile]
\frametitle{External Link Example}
\begin{verbatim}\nolinkurl{url_path}
\end{verbatim}
Same function as \textbackslash url without creating a clickable hyperlink.
\\[15pt]
\nolinkurl{http://www.google.com}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 12
\subsection{Generating External Links with href}
\begin{frame}[fragile]
\frametitle{External Link Example}
\begin{verbatim}\href{url_pathl}{description}
\end{verbatim}
\textbackslash href allows for a descriptive link rather than the raw URL.
\\[15pt]
\href{http://www.google.com}{The Google Search Engine}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 13
\subsection{More href Examples}
\begin{frame}[fragile]
\frametitle{External Link Example}
\begin{verbatim}\href{mailto:user@domain.com}{user@domain}
\end{verbatim}
\href{mailto:user@domain.com}{user@domain.com}
\begin{verbatim}\href{mailto:user@domain.com}{\nolinkurl{user@domain}}
\end{verbatim}
\href{mailto:user@domain.com}{\nolinkurl{user@domain}}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 14
\section{Internal Links}
\begin{frame}[fragile]
\frametitle{Generating Internal Links}
In this section we will generate some labels and references.
\begin{verbatim}\label{marker_1}
\end{verbatim}
\label{marker_1}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 15
\begin{frame}[fragile]
\frametitle{Generating Internal Links Cont.}
This is the labed refered above. From here we can reference \begin{verbatim}\ref{marker_1}
\end{verbatim}
... and we can see the result is \ref{marker_1}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 16
\subsection{Internal Link Example}
\begin{frame}[fragile]
\frametitle{Generating Internal Links}
\begin{verbatim}\hyperlink{foo_1}{This becomes a link}.
\end{verbatim}
\hyperlink{foo_1}{Link to something on the next page}.
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 17
\begin{frame}[fragile]
\frametitle{Generating Internal Links}
\begin{verbatim}\hypertarget{foo_1}{This is the target}.
\end{verbatim}
\hypertarget{foo_1}{This is the target}.
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 18
\subsection{Avoiding Auto-Generated Links}
\begin{frame}[fragile]
\frametitle{Generating Internal Links}
For instances where you want a reference to use the correct counter, but not to create a link,
there are starred forms, i.e. \begin{verbatim}\ref*{label}, \pageref*{label}, etc. 
\end{verbatim}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 19
\section{Additional Features}
\begin{frame}[fragile]
\frametitle{Bookmarks}
Hyperref automatically adds bookmarks for \textbackslash section and similar macros. But they can also be set manually. The following command creates a bookmark at the current level.
\begin{verbatim}\currentpdfbookmark{This is a bookmark}{bookmark_1}
\end{verbatim}
\currentpdfbookmark{This is a bookmark}{bookmark_1}
A set of bookmarks are written, in a manner similar to the table of contents, requiring two passes of the compiler. 
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 20
\begin{frame}[fragile]
\frametitle{Bookmarks}
\begin{verbatim}\pdfbookmark[level]{text}{name}
\end{verbatim}
Creates a bookmark with the specified text and at the given level. As name for the internal anchor name is used -- requiring the name to be unique. 
\\[10pt]
\begin{verbatim}\subpdfbookmark{text}{name}
\end{verbatim}
Creates a bookmark one step down in the bookmark hierarchy.
\\[10pt]
\begin{verbatim}\belowpdfbookmark{text}{name}
\end{verbatim} 
Creates a bookmark below the current bookmark level. 
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Frame 20
\begin{frame}[fragile]
\frametitle{PDF and HTML forms}
Hyperref can be used to generate PDF and HTML forms. One one form can be used in one document. Forms can use either the GET or POST method, and a URL is supplied as well. Input options include the following:
\begin{verbatim}
\TextField[parameters]{label}
\CheckBox[parameters]{label}
\ChoiceMenu[parameters]{label}{choices}
\PushButton[parameters]{label}
\end{verbatim}
If you absolutely must use this feature you can find out more \href{http://tug.ctan.org/tex-archive/macros/latex/contrib/hyperref/doc/manual.html#x1-190006}{here}.
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Frame 21
\begin{frame}[fragile]
\frametitle{Questions}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Frame oo
\begin{frame}[fragile]
\frametitle{Bibiography}
\bibliographystyle{ieeetr}
\bibliography{sources}
\end{frame}

\end{document}