From aafdfd77994347e1396e12ef19e2cb245c6eeff6 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 16 May 2020 21:26:50 +0000 Subject: beamerappendixnote (16may20) git-svn-id: svn://tug.org/texlive/trunk@55163 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/beamerappendixnote/README.md | 28 ++++ .../beamerappendixnote/beamerappendixnote.pdf | Bin 0 -> 53574 bytes .../doc/latex/beamerappendixnote/example-basic.pdf | Bin 0 -> 10737 bytes .../doc/latex/beamerappendixnote/example-basic.tex | 9 ++ .../beamerappendixnote/beamerappendixnote.dtx | 180 +++++++++++++++++++++ .../beamerappendixnote/beamerappendixnote.ins | 39 +++++ .../beamerappendixnote/beamerappendixnote.sty | 52 ++++++ 7 files changed, 308 insertions(+) create mode 100644 Master/texmf-dist/doc/latex/beamerappendixnote/README.md create mode 100644 Master/texmf-dist/doc/latex/beamerappendixnote/beamerappendixnote.pdf create mode 100644 Master/texmf-dist/doc/latex/beamerappendixnote/example-basic.pdf create mode 100644 Master/texmf-dist/doc/latex/beamerappendixnote/example-basic.tex create mode 100644 Master/texmf-dist/source/latex/beamerappendixnote/beamerappendixnote.dtx create mode 100644 Master/texmf-dist/source/latex/beamerappendixnote/beamerappendixnote.ins create mode 100644 Master/texmf-dist/tex/latex/beamerappendixnote/beamerappendixnote.sty (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/beamerappendixnote/README.md b/Master/texmf-dist/doc/latex/beamerappendixnote/README.md new file mode 100644 index 00000000000..48321f6dc43 --- /dev/null +++ b/Master/texmf-dist/doc/latex/beamerappendixnote/README.md @@ -0,0 +1,28 @@ +Beamer appendix note introduces the `\beamerappxnote` command, which puts the note's content on a separate beamer frame, shown by the command `\printappxnotes`. It also creates interactive buttons to move back and forth between the two frames. + +# Licence + +The `beamerappendixnote` package is made available under the [LaTeX Project Public License (LPPL)](http://www.latex-project.org/lppl.txt), either version 1.3c of this license or (at your option) any later version. + +# Installation + +To install the package, copy beamersubframe.sty into your `texmf` folder. If you wish to build this file from the source code, follow the following instructions. + +# Build + +1. Generate beamersubframe.sty +``` +tex beamersubframe.ins +``` + +2. Compile examples +``` +xelatex example* +``` + +3. Compile documentation +``` +xelatex beamersubframe.dtx +xelatex beamersubframe.dtx +``` + diff --git a/Master/texmf-dist/doc/latex/beamerappendixnote/beamerappendixnote.pdf b/Master/texmf-dist/doc/latex/beamerappendixnote/beamerappendixnote.pdf new file mode 100644 index 00000000000..cc3d4de9e8b Binary files /dev/null and b/Master/texmf-dist/doc/latex/beamerappendixnote/beamerappendixnote.pdf differ diff --git a/Master/texmf-dist/doc/latex/beamerappendixnote/example-basic.pdf b/Master/texmf-dist/doc/latex/beamerappendixnote/example-basic.pdf new file mode 100644 index 00000000000..1e560098a0d Binary files /dev/null and b/Master/texmf-dist/doc/latex/beamerappendixnote/example-basic.pdf differ diff --git a/Master/texmf-dist/doc/latex/beamerappendixnote/example-basic.tex b/Master/texmf-dist/doc/latex/beamerappendixnote/example-basic.tex new file mode 100644 index 00000000000..e0eb2b68b81 --- /dev/null +++ b/Master/texmf-dist/doc/latex/beamerappendixnote/example-basic.tex @@ -0,0 +1,9 @@ +\documentclass[20pt]{beamer} +\usepackage{beamerappendixnote} +\begin{document} +\begin{frame}{Main frame} + Main content \vfill + \appxnote{Appendix note}{Note content} +\end{frame} +\printappxnotes +\end{document} \ No newline at end of file diff --git a/Master/texmf-dist/source/latex/beamerappendixnote/beamerappendixnote.dtx b/Master/texmf-dist/source/latex/beamerappendixnote/beamerappendixnote.dtx new file mode 100644 index 00000000000..05445b6b65e --- /dev/null +++ b/Master/texmf-dist/source/latex/beamerappendixnote/beamerappendixnote.dtx @@ -0,0 +1,180 @@ +% \iffalse meta-comment +% +% Copyright (C) 2020 Christoph Semken +% ------------------------------------------------------- +% +% This file may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in: +% +% http://www.latex-project.org/lppl.txt +% +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% \fi +% +% \iffalse +% +% +%<*driver> +\ProvidesFile{beamerappendixnote.dtx} +% +% \ProvidesPackage{beamerappendixnote} +%<*package> + [2020/05/13 v1.0 initial version] +% +%<*driver> +\documentclass{l3doc} +\usepackage{beamerappendixnote} + +\usepackage{listings} +\lstset{ + basicstyle=\ttfamily, + columns=fullflexible, + keepspaces=true, +} +\usepackage{graphicx} + +\begin{document} + +\changes{v1.0}{2020/05/13}{Initial version} + +\GetFileInfo{beamerappendixnote.dtx} + +\title{The \pkg{beamerappendixnote} package} + +\author{Christoph Semken% + \thanks{E-mail: + \href{mailto:christoph.ban@semken.info} + {christoph.ban@semken.info}% + }% +} + +\date{\fileversion\ --- \filedate} + +\maketitle + +\begin{documentation} + +\noindent Beamer appendix note introduces the \cs{beamerappxnote} command, which puts the note's content on a separate beamer frame, shown by the command \cs{printappxnotes}. It also creates interactive buttons to move back and forth between the two frames: + +\lstinputlisting{example-basic.tex} +\includegraphics[page=1,width=.49\linewidth]{example-basic.pdf} +\includegraphics[page=2,width=.49\linewidth]{example-basic.pdf} + +\clearpage +\section{Usage} + +\begin{function}{\appxnote} + \begin{syntax} + \cs{appxnote}\marg{title}\marg{content} + \end{syntax} + + Create a new appendix note. Inserts a \cs{beamergotobutton} to a frame that contains \marg{content}. The appendix frame is created using \cs{printappxnotes}. The button’s text and the title of the appendix frame are both set to \marg{title}. +\end{function} + +\begin{function}{\printappxnotes} + \begin{syntax} + \cs{printappxnotes} + \end{syntax} + + Prints appendix notes in the order they are created using \cs{appxnote}. Has to be used after the last appendix note. Uses one frame per note. Inserts a \cs{beamerreturnbutton} button to the frame where \cs{appxnote} was called, followed by the content, separated by a \cs{vfill}. +\end{function} + +\end{documentation} + + +\begin{implementation} + \section{Implementation} + \DocInput{beamerappendixnote.dtx} +\end{implementation} + + +\end{document} +% +% \fi +% \iffalse +%<*package> +%<@@=ban> +% \fi +% +% \subsection{Dependencies} +% +% Load the essential support (\pkg{expl3}). +% \begin{macrocode} +\RequirePackage{expl3} +% \end{macrocode} +% +% Make sure that the version of \pkg{l3kernel} in use is sufficiently new. +% \begin{macrocode} +\@ifpackagelater {expl3}{2018/04/22} {} {% + \PackageError {beamerappendixnote} {Support package expl3 too old} + {% + You need to update your installation of the bundles 'l3kernel' and + 'l3packages'.\MessageBreak + Loading~beamerappendixnote~will~abort!% + }% + \endinput +}% +% \end{macrocode} +% +% Identify the package and give the over all version information. +% \begin{macrocode} +\ProvidesExplPackage {beamerappendixnote} {2020/05/07} {1.0} + {Create notes in appendix frames} +% \end{macrocode} +% +% User level interfaces are all created by \pkg{xparse} +% \begin{macrocode} +\RequirePackage {xparse} +% \end{macrocode} +% +% \subsection{Data structures} +% +% Initialise sequences used to store notes. +% \begin{macrocode} +\seq_new:N \g_ban_titles +\seq_new:N \g_ban_content +% \end{macrocode} +% +% \subsection{Macros} +% +% \begin{macro}{\appxnote} +% Create a new appendix note and insert a link +% \begin{macrocode} +\NewDocumentCommand{\appxnote}{m m}{ + \seq_gput_right:Nn \g_ban_titles {#1} + \seq_gput_right:Nn \g_ban_content {#2} + \hyperlink{ban-\seq_count:N \g_ban_titles}{\beamergotobutton{#1}}% + \label{ban-back-\seq_count:N \g_ban_titles} +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@@_print_func:n} +% Print an appendix note +% \begin{macrocode} +\cs_set:Npn \print_func:n #1 { + \begin{frame}[label=ban-#1]{\seq_item:Nn \g_ban_titles {#1}} + \hyperlink{ ban-back-#1 }{\beamerreturnbutton{Back}} + \vfill + \seq_item:Nn \g_ban_content {#1} + \end{frame} +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\printappxnotes} +% Print all appendix notes +% \begin{macrocode} +\NewDocumentCommand{\printappxnotes}{}{ + \int_step_function:nN {\seq_count:N \g_ban_titles} \print_func:n +} +% \end{macrocode} +% \end{macro} +% +% \iffalse +% +% \fi diff --git a/Master/texmf-dist/source/latex/beamerappendixnote/beamerappendixnote.ins b/Master/texmf-dist/source/latex/beamerappendixnote/beamerappendixnote.ins new file mode 100644 index 00000000000..9ed4a61322c --- /dev/null +++ b/Master/texmf-dist/source/latex/beamerappendixnote/beamerappendixnote.ins @@ -0,0 +1,39 @@ +%% Copyright (C) 2020 by Christoph Semken +%% +%% This file may be distributed and/or modified under the conditions of +%% the LaTeX Project Public License, either version 1.3 of this license +%% or (at your option) any later version. The latest version of this +%% license is in: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.3 or later is part of all distributions of LaTeX version +%% 2005/12/01 or later. +%% + +\input docstrip.tex + +\keepsilent +\askforoverwritefalse + +\usedir{tex/latex/beamerappendixnote} + +\preamble + +---------------------------------------------------------------- +beamerappendixnote --- insert notes on appendix slides +Author: Christoph Semken +E-mail: christoph.ban@semken.info +License: Released under the LaTeX Project Public License v1.3c or later +See: http://www.latex-project.org/lppl.txt +---------------------------------------------------------------- + +\endpreamble + +\generate{ + \file{beamerappendixnote.sty}{ + \from{beamerappendixnote.dtx}{package} + } +} + +\endbatchfile diff --git a/Master/texmf-dist/tex/latex/beamerappendixnote/beamerappendixnote.sty b/Master/texmf-dist/tex/latex/beamerappendixnote/beamerappendixnote.sty new file mode 100644 index 00000000000..e19edf4e67e --- /dev/null +++ b/Master/texmf-dist/tex/latex/beamerappendixnote/beamerappendixnote.sty @@ -0,0 +1,52 @@ +%% +%% This is file `beamerappendixnote.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% beamerappendixnote.dtx (with options: `package') +%% +%% ---------------------------------------------------------------- +%% beamerappendixnote --- insert notes on appendix slides +%% Author: Christoph Semken +%% E-mail: christoph.ban@semken.info +%% License: Released under the LaTeX Project Public License v1.3c or later +%% See: http://www.latex-project.org/lppl.txt +%% ---------------------------------------------------------------- +%% + \ProvidesPackage{beamerappendixnote} + [2020/05/13 v1.0 initial version] +\RequirePackage{expl3} +\@ifpackagelater {expl3}{2018/04/22} {} {% + \PackageError {beamerappendixnote} {Support package expl3 too old} + {% + You need to update your installation of the bundles 'l3kernel' and + 'l3packages'.\MessageBreak + Loading~beamerappendixnote~will~abort!% + }% + \endinput +}% +\ProvidesExplPackage {beamerappendixnote} {2020/05/07} {1.0} + {Create notes in appendix frames} +\RequirePackage {xparse} +\seq_new:N \g_ban_titles +\seq_new:N \g_ban_content +\NewDocumentCommand{\appxnote}{m m}{ + \seq_gput_right:Nn \g_ban_titles {#1} + \seq_gput_right:Nn \g_ban_content {#2} + \hyperlink{ban-\seq_count:N \g_ban_titles}{\beamergotobutton{#1}}% + \label{ban-back-\seq_count:N \g_ban_titles} +} +\cs_set:Npn \print_func:n #1 { + \begin{frame}[label=ban-#1]{\seq_item:Nn \g_ban_titles {#1}} + \hyperlink{ ban-back-#1 }{\beamerreturnbutton{Back}} + \vfill + \seq_item:Nn \g_ban_content {#1} + \end{frame} +} +\NewDocumentCommand{\printappxnotes}{}{ + \int_step_function:nN {\seq_count:N \g_ban_titles} \print_func:n +} +\endinput +%% +%% End of file `beamerappendixnote.sty'. -- cgit v1.2.3