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.