texlive[55676] Master/texmf-dist: beamerappendixnote (27jun20)

commits+karl at tug.org commits+karl at tug.org
Sat Jun 27 23:03:48 CEST 2020


Revision: 55676
          http://tug.org/svn/texlive?view=revision&revision=55676
Author:   karl
Date:     2020-06-27 23:03:48 +0200 (Sat, 27 Jun 2020)
Log Message:
-----------
beamerappendixnote (27jun20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/beamerappendixnote/README.md
    trunk/Master/texmf-dist/doc/latex/beamerappendixnote/beamerappendixnote.pdf
    trunk/Master/texmf-dist/doc/latex/beamerappendixnote/example-basic.pdf
    trunk/Master/texmf-dist/source/latex/beamerappendixnote/beamerappendixnote.dtx
    trunk/Master/texmf-dist/tex/latex/beamerappendixnote/beamerappendixnote.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/beamerappendixnote/build.sh
    trunk/Master/texmf-dist/doc/latex/beamerappendixnote/example-longnote.pdf
    trunk/Master/texmf-dist/doc/latex/beamerappendixnote/example-longnote.tex

Modified: trunk/Master/texmf-dist/doc/latex/beamerappendixnote/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/beamerappendixnote/README.md	2020-06-27 21:03:30 UTC (rev 55675)
+++ trunk/Master/texmf-dist/doc/latex/beamerappendixnote/README.md	2020-06-27 21:03:48 UTC (rev 55676)
@@ -1,5 +1,9 @@
-Beamer appendix note introduces the `\appxnote` 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.
+Beamer appendix note introduces the `appxnote` 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.
 
+# Documentation 
+
+The package documentation can be found at http://mirrors.ctan.org/macros/latex/contrib/beamer-contrib/beamerappendixnote/beamerappendixnote.pdf.
+
 # 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.
@@ -6,13 +10,15 @@
 
 # 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.
+To install the package through a package manager (recommended), follow the instructions in the [documentation](http://mirrors.ctan.org/macros/latex/contrib/beamer-contrib/beamerappendixnote/beamerappendixnote.pdf).
 
+To install the package manually, copy beamerappendixnote.sty into your `texmf` folder.  If you wish to build this file from the source code, follow the following instructions or - if you are running a UNIX machine - run `build.sh`.
+
 # Build
 
-1. Generate beamersubframe.sty
+1. Generate beamerappendixnote.sty
 ```
-tex beamersubframe.ins
+tex beamerappendixnote.ins
 ```
 
 2. Compile examples
@@ -22,7 +28,7 @@
 
 3. Compile documentation
 ```
-xelatex beamersubframe.dtx 
-xelatex beamersubframe.dtx 
+xelatex beamerappendixnote.dtx 
+xelatex beamerappendixnote.dtx 
 ```
 

Modified: trunk/Master/texmf-dist/doc/latex/beamerappendixnote/beamerappendixnote.pdf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/doc/latex/beamerappendixnote/build.sh
===================================================================
--- trunk/Master/texmf-dist/doc/latex/beamerappendixnote/build.sh	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/beamerappendixnote/build.sh	2020-06-27 21:03:48 UTC (rev 55676)
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+NAME=beamerappendixnote
+TEXMF_DIR=~/texmf/tex/latex/$NAME
+BUILD_DIR=.tex-build
+
+# compile sty
+mkdir -p $BUILD_DIR
+tex -output-directory=$BUILD_DIR $NAME.ins
+
+# install sty
+mkdir -p $TEXMF_DIR
+ln -sf "`pwd`/$BUILD_DIR/$NAME.sty" $TEXMF_DIR
+
+# compile examples
+for f in example*.tex
+	do xelatex -output-directory=$BUILD_DIR $f
+done
+xelatex -output-directory=$BUILD_DIR example*.tex
+ln -sf $BUILD_DIR/example*.pdf ./
+
+# compile documentation
+xelatex -output-directory=$BUILD_DIR $NAME.dtx
+xelatex -output-directory=$BUILD_DIR $NAME.dtx
+ln -sf $BUILD_DIR/$NAME.pdf
+
+# zip for upload
+cd ..
+rm -f zip $NAME.zip
+zip $NAME.zip $NAME/*


Property changes on: trunk/Master/texmf-dist/doc/latex/beamerappendixnote/build.sh
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+LF
\ No newline at end of property
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/beamerappendixnote/example-basic.pdf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/doc/latex/beamerappendixnote/example-longnote.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/beamerappendixnote/example-longnote.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/beamerappendixnote/example-longnote.pdf	2020-06-27 21:03:30 UTC (rev 55675)
+++ trunk/Master/texmf-dist/doc/latex/beamerappendixnote/example-longnote.pdf	2020-06-27 21:03:48 UTC (rev 55676)

Property changes on: trunk/Master/texmf-dist/doc/latex/beamerappendixnote/example-longnote.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/beamerappendixnote/example-longnote.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/beamerappendixnote/example-longnote.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/beamerappendixnote/example-longnote.tex	2020-06-27 21:03:48 UTC (rev 55676)
@@ -0,0 +1,12 @@
+\documentclass[20pt]{beamer}
+\usepackage{beamerappendixnote}
+\usepackage{lipsum}
+\begin{document}
+\begin{frame}{Main title}
+  Main content \vfill
+  \appxnote[allowframebreaks]{Long note}{
+    \lipsum[2]
+  }
+\end{frame}
+\printappxnotes
+\end{document}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/latex/beamerappendixnote/example-longnote.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/source/latex/beamerappendixnote/beamerappendixnote.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/beamerappendixnote/beamerappendixnote.dtx	2020-06-27 21:03:30 UTC (rev 55675)
+++ trunk/Master/texmf-dist/source/latex/beamerappendixnote/beamerappendixnote.dtx	2020-06-27 21:03:48 UTC (rev 55676)
@@ -23,7 +23,7 @@
 %</driver>
 %<package> \ProvidesPackage{beamerappendixnote}
 %<*package>
-  [2020/06/07 v1.0.1 updated documentation]
+  [2020/06/26 v1.1.1 environment and frame options]
 %</package>
 %<*driver>
 \documentclass{l3doc}
@@ -70,7 +70,7 @@
 
 \begin{documentation}
 
-\noindent Beamer appendix note introduces the \cs{appxnote} 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:
+\noindent Beamer appendix note introduces the \cs{appxnote} 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}
@@ -85,10 +85,10 @@
 
 \begin{function}{\appxnote}
   \begin{syntax}
-   \cs{appxnote}\marg{title}\marg{content}
+   \cs{appxnote}\oarg{frameoptions}\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}.
+  Create a new appendix note.  Inserts a \cs{beamergotobutton} to a frame that contains \meta{content}.  The appendix frame is created using \cs{printappxnotes}.  The button’s text and the title of the appendix frame are both set to \meta{title}.  If you specify \meta{frameoptions}, these will be used when creating the beamer frame.
 \end{function}
 
 \begin{function}{\printappxnotes}
@@ -136,7 +136,7 @@
 }%
 %    \end{macrocode}
 %
-% Identify the package and give the over all version information.
+% Identify the package and give the over all version information
 %    \begin{macrocode}
 \ProvidesExplPackage {beamerappendixnote} {2020/05/07} {1.0}
   {Create notes in appendix frames}
@@ -149,21 +149,24 @@
 %
 % \subsection{Data structures}
 %
-% Initialise sequences used to store notes.
+% Initialise sequences used to store notes
 %    \begin{macrocode}
 \seq_new:N \g_ban_titles
 \seq_new:N \g_ban_content
+\seq_new:N \g_ban_options
 %    \end{macrocode}
 %
 % \subsection{Macros}
-%
 % \begin{macro}{\appxnote}
-% Create a new appendix note and insert a link
+% Create a new appendix note (store values) and insert a button
+% Note: using \cs{newcommand} because \cs{NewDocumentCommand} does not support 
+% multiple paragraphs 
 %    \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}}%
+\newcommand{\appxnote}[3][t]{
+  \seq_gput_right:Nn \g_ban_titles {#2}
+  \seq_gput_right:Nn \g_ban_options {#1}
+  \seq_gput_right:Nn \g_ban_content {#3}
+  \hyperlink{ban-\seq_count:N \g_ban_titles}{\beamergotobutton{#2}}%
   \label{ban-back-\seq_count:N \g_ban_titles}
 }
 %    \end{macrocode}
@@ -171,14 +174,26 @@
 % 
 % \begin{macro}{\@@_print_func:n}
 % Print an appendix note
+% Args: title, content, label, back label, options
 %    \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}}
+\cs_set:Npn \print_func:nnnnn #1 #2 #3 #4 #5 { 
+  \def\options{#5}
+  \begin{frame}[\expandafter\options]{#1}\label{#3}
+    \hyperlink{#4}{\beamerreturnbutton{Back}}
     \vfill
-    \seq_item:Nn \g_ban_content {#1}
+    #2
   \end{frame}
 }
+% Get title, content, label, back label and options
+% Arg: id
+%    \begin{macrocode}
+\cs_set:Npn \expand_func:n #1 { 
+  \print_func:nnnnn {\seq_item:Nn \g_ban_titles {#1}}
+                    {\seq_item:Nn \g_ban_content {#1}}
+                    {ban-#1}
+                    {ban-back-#1}
+                    {\seq_item:Nn \g_ban_options {#1}}
+}
 %    \end{macrocode}
 % \end{macro}
 %
@@ -186,7 +201,7 @@
 % Print all appendix notes
 %    \begin{macrocode}
 \NewDocumentCommand{\printappxnotes}{}{
-  \int_step_function:nN {\seq_count:N \g_ban_titles} \print_func:n
+  \int_step_function:nN {\seq_count:N \g_ban_titles} \expand_func:n
 }
 %    \end{macrocode}
 % \end{macro}

Modified: trunk/Master/texmf-dist/tex/latex/beamerappendixnote/beamerappendixnote.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/beamerappendixnote/beamerappendixnote.sty	2020-06-27 21:03:30 UTC (rev 55675)
+++ trunk/Master/texmf-dist/tex/latex/beamerappendixnote/beamerappendixnote.sty	2020-06-27 21:03:48 UTC (rev 55676)
@@ -15,7 +15,7 @@
 %% ----------------------------------------------------------------
 %% 
  \ProvidesPackage{beamerappendixnote}
-  [2020/06/07 v1.0.1 updated documentation]
+  [2020/06/26 v1.1.1 environment and frame options]
 \RequirePackage{expl3}
 \@ifpackagelater {expl3}{2018/04/22} {} {%
   \PackageError {beamerappendixnote} {Support package expl3 too old}
@@ -31,21 +31,31 @@
 \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}}%
+\seq_new:N \g_ban_options
+\newcommand{\appxnote}[3][t]{
+  \seq_gput_right:Nn \g_ban_titles {#2}
+  \seq_gput_right:Nn \g_ban_options {#1}
+  \seq_gput_right:Nn \g_ban_content {#3}
+  \hyperlink{ban-\seq_count:N \g_ban_titles}{\beamergotobutton{#2}}%
   \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}}
+\cs_set:Npn \print_func:nnnnn #1 #2 #3 #4 #5 {
+  \def\options{#5}
+  \begin{frame}[\expandafter\options]{#1}\label{#3}
+    \hyperlink{#4}{\beamerreturnbutton{Back}}
     \vfill
-    \seq_item:Nn \g_ban_content {#1}
+    #2
   \end{frame}
 }
+\cs_set:Npn \expand_func:n #1 {
+  \print_func:nnnnn {\seq_item:Nn \g_ban_titles {#1}}
+                    {\seq_item:Nn \g_ban_content {#1}}
+                    {ban-#1}
+                    {ban-back-#1}
+                    {\seq_item:Nn \g_ban_options {#1}}
+}
 \NewDocumentCommand{\printappxnotes}{}{
-  \int_step_function:nN {\seq_count:N \g_ban_titles} \print_func:n
+  \int_step_function:nN {\seq_count:N \g_ban_titles} \expand_func:n
 }
 \endinput
 %%



More information about the tex-live-commits mailing list.