tUse hyperlinks for external animations, improve code style - scibeamer - quick… | |
git clone git://src.adamsgaard.dk/scibeamer | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 3b6f3b57e44edfe31389e23d7e1dbdadbaf053aa | |
parent f6501aaea57e75760fbf82f6c62df081e33bcbb5 | |
Author: Anders Damsgaard <[email protected]> | |
Date: Thu, 19 Sep 2019 11:43:51 +0200 | |
Use hyperlinks for external animations, improve code style | |
Diffstat: | |
M scibeamer.sty | 178 +++++++++++++++++++++++------… | |
1 file changed, 134 insertions(+), 44 deletions(-) | |
--- | |
diff --git a/scibeamer.sty b/scibeamer.sty | |
t@@ -3,9 +3,8 @@ | |
%\RequirePackage{lmodern} | |
-% for \movie command | |
-\RequirePackage{multimedia} | |
- | |
+% for \movie* commands | |
+\RequirePackage{hyperref} | |
% Do not show horizontal line above footnotes | |
\renewcommand\footnoterule{} | |
t@@ -16,101 +15,192 @@ | |
% \fcite{arg1}{arg2} | |
% Add a citation as a small footnote in the current slide. `arg1` will be | |
% stylized as regular text, followed by `arg2` in emphasized style. | |
-% Example: \fcite{Author year}{Journal} | |
-\newcommand{\fcite}[2]{\let\thefootnote\relax\footnotetext{\footnotesize{#1 \e… | |
+% Example: \fcite{Author et al.\ 1999}{Journal} | |
+\newcommand{\fcite}[2]{% | |
+\let\thefootnote\relax\footnotetext{\footnotesize{#1 \emph{#2}}}% | |
+} | |
%% Frame templates | |
% \titleframe{arg1} | |
-% Add a plain frame with large centered text. | |
+% Add a frame with large centered text. | |
% Example: \titleframe{Conclusions} | |
-\newcommand{\titleframe}[1]{\begin{frame}\begin{center}\huge{#1}\end{center}\e… | |
+\newcommand{\titleframe}[1]{% | |
+\begin{frame} | |
+ \begin{center} | |
+ \huge{#1} | |
+ \end{center} | |
+\end{frame} | |
+} | |
% \plainimageframe{arg1}{arg2} | |
% Add a plain frame with a single full-frame image `arg1`, scaled relative to | |
% frame width multiplied by `arg2`. | |
% Example: \plainimageframe{image.png}{1.0} | |
-\newcommand{\plainimageframe}[2]{\begin{frame}\begin{center}\centering\include… | |
+\newcommand{\plainimageframe}[2]{% | |
+\begin{frame}[plain] | |
+ \begin{center} | |
+ \centering | |
+ \includegraphics[width=#2\textwidth]{#1} | |
+ \end{center} | |
+\end{frame} | |
+} | |
% \plainimageframeheight{arg1}{arg2} | |
% Add a plain frame with a single full-frame image `arg1`, scaled relative to | |
% frame height multiplied by `arg2`. | |
% Example: \plainimageframeheight{image.png}{1.0} | |
-\newcommand{\plainimageframeheight}[2]{\begin{frame}\begin{center}\centering\i… | |
+\newcommand{\plainimageframeheight}[2]{% | |
+\begin{frame}[plain] | |
+ \begin{center} | |
+ \centering | |
+ \includegraphics[height=#2\textheight]{#1} | |
+ \end{center} | |
+\end{frame} | |
+} | |
% \imageframe{arg1}{arg2}{arg3} | |
% Add a frame with title `arg1`, containing a single full-frame image `arg2`, | |
% scaled relative to frame width multiplied by `arg3`. | |
% Example: \imageframe{An example frame}{image.png}{1.0} | |
-\newcommand{\imageframe}[3]{\begin{frame}{#1}\begin{center}\centering\includeg… | |
- | |
-% \plainimageframeheight{arg1}{arg2}{arg3} | |
+\newcommand{\imageframe}[3]{% | |
+\begin{frame}{#1} | |
+ \begin{center} | |
+ \centering | |
+ \includegraphics[width=#3\textwidth]{#2} | |
+ \end{center} | |
+\end{frame} | |
+} | |
+ | |
+% \imageframeheight{arg1}{arg2}{arg3} | |
% Add a frame with title `arg1`, containing a single full-frame image `arg2`, | |
% scaled relative to frame height multiplied by `arg3`. | |
-% Example: \plainimageframeheight{An example frame}{image.png}{1.0} | |
-\newcommand{\imageframeheight}[3]{\begin{frame}{#1}\begin{center}\centering\in… | |
+% Example: \imageframeheight{An example frame}{image.png}{1.0} | |
+\newcommand{\imageframeheight}[3]{% | |
+\begin{frame}{#1} | |
+ \begin{center} | |
+ \centering | |
+ \includegraphics[height=#3\textheight]{#2} | |
+ \end{center} | |
+\end{frame} | |
+} | |
% \plainimageframe{arg1}{arg2} | |
% Add a frame with title `arg1`, containing a single full-frame image `arg2` | |
% that is not scaled relative to the frame size. | |
% Example: \plainimageframe{An example frame}{image.png} | |
-\newcommand{\imageframenoscale}[2]{\begin{frame}{#1}\begin{center}\centering\i… | |
+\newcommand{\imageframenoscale}[2]{% | |
+\begin{frame}{#1} | |
+ \begin{center} | |
+ \centering | |
+ \includegraphics{#2} | |
+ \end{center} | |
+\end{frame} | |
+} | |
% \imageframecite{arg1}{arg2}{arg3}{arg4}{arg5} | |
% Add a frame with title `arg1`, containing a single image `arg2`, scaled | |
% relative to frame width multiplied by `arg3`, including a citation to | |
% publication authored by `arg4`, published in `arg5`. | |
% Example: \imageframecite{An example title}{image.pdf}{1.0}{Author year}{Jour… | |
-\newcommand{\imageframecite}[5]{\begin{frame}{#1}\begin{center}\centering\incl… | |
+\newcommand{\imageframecite}[5]{% | |
+\begin{frame}{#1} | |
+ \begin{center} | |
+ \centering | |
+ \includegraphics[width=#3\textwidth]{#2} | |
+ \end{center} | |
+ \fcite{#4}{#5} | |
+\end{frame} | |
+} | |
% \imageframeciteheight{arg1}{arg2}{arg3}{arg4}{arg5} | |
% Add a frame with title `arg1`, containing a single image `arg2`, scaled | |
% relative to frame height multiplied by `arg3`, including a citation to | |
% publication authored by `arg4`, published in `arg5`. | |
% Example: \imageframecite{An example title}{image.pdf}{1.0}{Author year}{Jour… | |
-\newcommand{\imageframeciteheight}[5]{\begin{frame}{#1}\begin{center}\centerin… | |
- | |
- | |
-% \plainmovieframe{arg1}{arg2}{arg3} | |
+\newcommand{\imageframeciteheight}[5]{% | |
+\begin{frame}{#1} | |
+ \begin{center} | |
+ \centering | |
+ \includegraphics[height=#3\textheight]{#2} | |
+ \end{center} | |
+ \fcite{#4}{#5} | |
+\end{frame} | |
+} | |
+ | |
+% \plainmovieframe{arg1}{arg2} | |
% Add a plain frame with a single full-frame movie `arg1`, with a placeholder | |
-% text `arg2`, with multimedia options `arg3` (externalviewer always set) | |
-% NOTE: The movie file *must* reside in the same folder as the PDF, and file | |
-% names with underscore characters cannot be used. | |
-% Example: \plainmovieframe{movie.mp4}{Example movie clip}{} | |
-\newcommand{\plainmovieframe}[3]{\begin{frame}\begin{center}\centering\movie[e… | |
- | |
-% \movieframe{arg1}{arg2}{arg3}{arg4} | |
+% text `arg2`. | |
+% Example: \plainmovieframe{movie.mp4}{Example movie clip} | |
+\newcommand{\plainmovieframe}[3]{% | |
+\begin{frame}[plain] | |
+ \begin{center} | |
+ \centering | |
+ \href{#1}{#2}\\ | |
+ \footnotesize{\texttt{#1}} | |
+ \end{center} | |
+\end{frame} | |
+} | |
+ | |
+% \movieframe{arg1}{arg2}{arg3} | |
% Add a frame titled `arg1`, a single full-frame movie `arg2`, with a | |
-% placeholder text `arg3`, with multimedia options `arg4` (externalviewer | |
-% always set) | |
+% placeholder text `arg3` | |
% NOTE: The movie file *must* reside in the same folder as the PDF, and file | |
% names with underscore characters cannot be used. | |
-% Example: \movieframe{Example movie}{movie.mp4}{Example movie clip}{} | |
-\newcommand{\movieframe}[4]{\begin{frame}{#1}\begin{center}\centering\movie[ex… | |
+% Example: \movieframe{Example movie}{movie.mp4}{movie.png} | |
+\newcommand{\movieframe}[3]{% | |
+\begin{frame}{#1} | |
+ \begin{center} | |
+ \centering | |
+ \href{#2}{#3} | |
+ \end{center} | |
+\end{frame} | |
+} | |
% \plainmovieframepreview{arg1}{arg2}{arg3} | |
% Add a plain frame with a single full-frame movie `arg1`, with a preview imag… | |
+\newcommand{\movieframepreview}[3]{% | |
+\begin{frame}{#1}[plain] | |
+ \begin{center} | |
+ \centering | |
+ \href{#2}{% | |
+ \includegraphics[width=0.8\textwidth]{#3}\\ | |
+ \footnotesize{\texttt{#2}}% | |
+ } | |
+ \end{center} | |
+\end{frame} | |
+} | |
+ | |
% `arg2`, with multimedia options `arg3` (externalviewer always set) | |
% NOTE: The movie file *must* reside in the same folder as the PDF, and file | |
% names with underscore characters cannot be used. | |
% Example: \plainmovieframepreview{movie.mp4}{movie.png}{} | |
-\newcommand{\plainmovieframepreview}[3]{\begin{frame}\begin{center}\centering\… | |
+\newcommand{\plainmovieframepreview}[3]{% | |
+\begin{frame}[plain] | |
+ \begin{center} | |
+ \centering | |
+ \movie[externalviewer,#3]{\includegraphics[height=0.75\texthei… | |
+ \footnotesize{\texttt{#1}} | |
+ \end{center} | |
+\end{frame} | |
+} | |
% \movieframepreview{arg1}{arg2}{arg3}{arg4} | |
% Add a frame titled `arg1` with a single full-frame movie `arg2`, a preview | |
-% image `arg2`, and with multimedia options `arg3` (externalviewer always set) | |
-% NOTE: The movie file *must* reside in the same folder as the PDF, and file | |
-% names with underscore characters cannot be used. | |
-% Example: \movieframepreview{An example movie}{movie.mp4}{movie.png}{} | |
-\newcommand{\movieframepreview}[4]{\begin{frame}{#1}\begin{center}\centering\m… | |
- | |
-% \movieframepreviewnotitle{arg1}{arg2}{arg3}{arg4} | |
-% Add a frame titled `arg1` with a single full-frame movie `arg2`, a preview | |
-% image `arg2`, and with multimedia options `arg3` (externalviewer always set) | |
-% NOTE: The movie file *must* reside in the same folder as the PDF, and file | |
-% names with underscore characters cannot be used. | |
+% image `arg3` | |
+% NOTE: The movie file *must* reside in the same folder as the PDF. | |
% Example: \movieframepreview{An example movie}{movie.mp4}{movie.png}{} | |
-\newcommand{\movieframepreviewnotitle}[4]{\begin{frame}{#1}\begin{center}\cent… | |
+\newcommand{\movieframepreview}[3]{% | |
+\begin{frame}{#1} | |
+ \begin{center} | |
+ \centering | |
+ \href{#2}{% | |
+ \includegraphics[width=0.8\textwidth]{#3}\\ | |
+ \footnotesize{\texttt{#2}}% | |
+ } | |
+ \end{center} | |
+\end{frame} | |
+} | |
\endinput |