From f2cad1d5d0963bb818be07155fc4066ac00cb63f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 6 Aug 2011 23:28:43 +0000 Subject: new latex package beamersubframe (1jul11) git-svn-id: svn://tug.org/texlive/trunk@23433 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/beamersubframe/README | 30 + .../latex/beamersubframe/beamersubframe-append.pdf | Bin 0 -> 17540 bytes .../latex/beamersubframe/beamersubframe-append.svg | 610 +++++++++++++++++++++ .../latex/beamersubframe/beamersubframe-embed.pdf | Bin 0 -> 17446 bytes .../latex/beamersubframe/beamersubframe-embed.svg | 592 ++++++++++++++++++++ .../doc/latex/beamersubframe/beamersubframe.pdf | Bin 0 -> 520899 bytes .../doc/latex/beamersubframe/beamersubframe.tex | 454 +++++++++++++++ .../tex/latex/beamersubframe/beamersubframe.sty | 158 ++++++ Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/tlpsrc/beamersubframe.tlpsrc | 0 Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 + 11 files changed, 1846 insertions(+), 1 deletion(-) create mode 100644 Master/texmf-dist/doc/latex/beamersubframe/README create mode 100644 Master/texmf-dist/doc/latex/beamersubframe/beamersubframe-append.pdf create mode 100644 Master/texmf-dist/doc/latex/beamersubframe/beamersubframe-append.svg create mode 100644 Master/texmf-dist/doc/latex/beamersubframe/beamersubframe-embed.pdf create mode 100644 Master/texmf-dist/doc/latex/beamersubframe/beamersubframe-embed.svg create mode 100644 Master/texmf-dist/doc/latex/beamersubframe/beamersubframe.pdf create mode 100644 Master/texmf-dist/doc/latex/beamersubframe/beamersubframe.tex create mode 100644 Master/texmf-dist/tex/latex/beamersubframe/beamersubframe.sty create mode 100644 Master/tlpkg/tlpsrc/beamersubframe.tlpsrc (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/beamersubframe/README b/Master/texmf-dist/doc/latex/beamersubframe/README new file mode 100644 index 00000000000..e661088543b --- /dev/null +++ b/Master/texmf-dist/doc/latex/beamersubframe/README @@ -0,0 +1,30 @@ +Copyright (c) 2004 Mike Kaufmann +m.km@gmx.de +Licence: LPPL + + +1. What is it +The Beamer SubFrame package provides a method to reorder frames in the +PDF file without reordering the source. Mainly, it is meant to embed or +append frames with details on some subject. + +This is the very first version! It's still considered experimental! +Everything, including the name and the user interface, may change in +the future. + +Although it can only be used with the beamer class, it is not a part +of the beamer class! + +2. Example +The presentation explainig the package also serves as an example. +Feel free to play around with it. + +3. Files +00readme this file +beamersubframe.sty the package +beamersubframe.tex source of presentation +beamersubframe.pdf presentation +beamersubframe-append.pdf +beamersubframe-embed.pdf pictures used in presentation +beamersubframe-append.svg +beamersubframe-embed.svg source of pictures (inkscape) diff --git a/Master/texmf-dist/doc/latex/beamersubframe/beamersubframe-append.pdf b/Master/texmf-dist/doc/latex/beamersubframe/beamersubframe-append.pdf new file mode 100644 index 00000000000..37e617abf66 Binary files /dev/null and b/Master/texmf-dist/doc/latex/beamersubframe/beamersubframe-append.pdf differ diff --git a/Master/texmf-dist/doc/latex/beamersubframe/beamersubframe-append.svg b/Master/texmf-dist/doc/latex/beamersubframe/beamersubframe-append.svg new file mode 100644 index 00000000000..0048cceb5c2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/beamersubframe/beamersubframe-append.svg @@ -0,0 +1,610 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + some frame + frame on foo + frame on bar + details onfooitem x + more detailson fooitem x + more detailson baritem y + details onbaritem y + GotoDetails + Return from Details + Return from Details + GotoDetails + + + transition with cursor keys + transition with link (button) + + + + diff --git a/Master/texmf-dist/doc/latex/beamersubframe/beamersubframe-embed.pdf b/Master/texmf-dist/doc/latex/beamersubframe/beamersubframe-embed.pdf new file mode 100644 index 00000000000..707930fdacf Binary files /dev/null and b/Master/texmf-dist/doc/latex/beamersubframe/beamersubframe-embed.pdf differ diff --git a/Master/texmf-dist/doc/latex/beamersubframe/beamersubframe-embed.svg b/Master/texmf-dist/doc/latex/beamersubframe/beamersubframe-embed.svg new file mode 100644 index 00000000000..b534a4ecb86 --- /dev/null +++ b/Master/texmf-dist/doc/latex/beamersubframe/beamersubframe-embed.svg @@ -0,0 +1,592 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + some frame + frame on foo + frame on bar + details onfooitem x + + more detailson baritem y + details onbaritem y + + + + Skip Details + Skip Details + + + more detailson fooitem x + transition with link (button) + transition with cursor keys + + + + diff --git a/Master/texmf-dist/doc/latex/beamersubframe/beamersubframe.pdf b/Master/texmf-dist/doc/latex/beamersubframe/beamersubframe.pdf new file mode 100644 index 00000000000..acceb33a574 Binary files /dev/null and b/Master/texmf-dist/doc/latex/beamersubframe/beamersubframe.pdf differ diff --git a/Master/texmf-dist/doc/latex/beamersubframe/beamersubframe.tex b/Master/texmf-dist/doc/latex/beamersubframe/beamersubframe.tex new file mode 100644 index 00000000000..826d5601f3a --- /dev/null +++ b/Master/texmf-dist/doc/latex/beamersubframe/beamersubframe.tex @@ -0,0 +1,454 @@ +\documentclass{beamer} +\usepackage{lmodern} +\usepackage[T1]{fontenc} + +\usepackage[append]{beamersubframe} + +\setbeamercovered{transparent=50} +\usetheme{Dresden} +%\usetheme{Berkeley} +%\usetheme{Montpellier} +%\usetheme{Malmoe} +%\usetheme{AnnArbor} +\usecolortheme{crane} + + +%------------------------------------------------------------------------------- +% conditional buttons +% #1: label for ``skip details'' +% #2: text for ``skip details'' +% #3: label for ``goto details'' +% #4: text for ``goto details'' +\newcommand<>{\beamerlinkdetailbutton}[4]{% + \ifappend{\uncover#5{\alt#5{\hyperlink{#3}{\beamergotobutton{#4}}}{\beamergotobutton{#4}}}}% + {\uncover#5{\alt#5{\hyperlink{#1}{\beamerskipbutton{#2}}}{\beamerskipbutton{#2}}}} +} + +% #1: label for ``return from details'' +% #2: text for ``return from details'' +\newcommand<>{\beamerlinkbackbutton}[2]{% + \ifappend{\uncover#3{\alt#3{\hyperlink{#1}{\beamerreturnbutton{#2}}}{\beamerreturnbutton{#2}}}}{} +} + +\title[Beamer SubFrame]{The Beamer SubFrame Package} +\subtitle{Reordering frames in the PDF file without reordering the source} +\author{Mike Kaufmann} +\institute{\href{mailto:m.km@gmx.de}{\texttt{m.km@gmx.de}}\\~\\ + Version 0.1} +\date{29.06.2011} + +%------------------------------------------------------------------------------- +\begin{document} +\begin{frame} +\maketitle +\end{frame} + +%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- +\part{Documentation} +\section{Introduction} +\begin{frame}{Introduction} +\begin{itemize} +\item can reorder frames in PDF without reordering the source +\item to embed or append frames with details +\vspace{2ex} +\item only one level +\vspace{2ex} +\item very first version +\item not well tested +\item propably many flaws +\item therefore \alert{experimental} +\end{itemize} +\end{frame} + +%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- +\section{Frame Order} +\subsection{Embedded Details} +\begin{frame}{Frame Order with Details embedded} +Order in PDF with details embedded (same as source): +\begin{itemize} +\item frame on foo +\item frame with details on item foo x +\item frame with more details on item foo x +\item frame on bar +\item frame with details on item bar y +\item frame with more details on item bar y +\end{itemize} +\vspace{2ex} +\beamerlinkdetailbutton{append}{Skip Picture}{embed-pic}{Show Picture} +\end{frame} + +\begin{subframe}[label=embed-pic,plain]{Frame Order with Details embedded} +\includegraphics[scale=0.3]{beamersubframe-embed.pdf} + +\beamerlinkbackbutton{append}{Return from Picture} +\end{subframe} + +%------------------------------------------------------------------------------- +\subsection{Appended Details} +\begin{frame}[label=append]{Frame Order with Details appended} +Order in PDF with details appended (different from source): +\begin{itemize} +\item frame on foo +\item frame on bar +\item frame with details on item foo x +\item frame with more details on item foo x +\item frame with details on item bar y +\item frame with more details on item bar y +\end{itemize} +\vspace{2ex} +\beamerlinkdetailbutton{depend}{Skip Picture}{append-pic}{Show Picture} +\end{frame} + +\begin{subframe}[label=append-pic,plain]{Frame Order with Details appended} +\includegraphics[scale=0.3]{beamersubframe-append.pdf} + +\beamerlinkbackbutton{depend}{Return from Picture} +\end{subframe} + +%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- +\section{Dependencies} +\begin{frame}[label=depend]{Dependencies} +\begin{itemize} +\item only works with Beamer class + \begin{itemize} + \item not loaded otherwhise + \item error message + \item disregarding $\to$ \alert{additional errors} + \end{itemize} +\vspace{2ex} +\item needs verbatim +\end{itemize} +\end{frame} + +%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- +\section{Usage} +\subsection{Package and Options} +\begin{frame}[fragile]{Usage -- Package and Options} +\begin{verbatim} +\usepackage[...]{beamersubframe} +\end{verbatim} +Options: +\begin{description} +\item[\texttt{embed }] subframes shown in order of source, + \texttt{\textbackslash appendsubframes} ignored, default +\item[\texttt{append}] subframes removed and appended in place of + \texttt{\textbackslash appendsubframes} +\end{description} +\begin{itemize} +\item options mutually exclusive +\item if both given $\to$ last one wins +\end{itemize} +\end{frame} + +%------------------------------------------------------------------------------- +\subsection{Appending Subframes} +\begin{frame}{Usage -- Appending Subframes} +Add \texttt{\textbackslash appendsubframes} before \texttt{\textbackslash end\{document\}} + +\vspace{2ex} +\begin{itemize} +\item no more subframes allowed after \texttt{\textbackslash appendsubframes} +\item \texttt{\textbackslash appendsubframes} only allowed once +\item restrictions not tested by package +\end{itemize} +\end{frame} + +%------------------------------------------------------------------------------- +\subsection{Changes of Source} +\begin{frame}<1>[label=sourcechange]{Usage -- Changes of Source} +\begin{itemize} +\item<1-> For frames with details to be embbeded or appended conditionally, + change to subframe environment (same options as frame environment) + \beamerlinkdetailbutton<1>{sourcechange<2>}{Skip Source Example}{sourceenv}{Show Source Example} +\item<2-> Add labels to + \begin{itemize} + \item frame to skip or return to + \item first subframe with details + \end{itemize} + \beamerlinkdetailbutton<2>{sourcechange<3>}{Skip Source Example}{sourcelabel}{Show Source Example} +\item<3-> Add conditional links/buttons to + \begin{itemize} + \item frame with details + \item last subframe with details + \end{itemize} + \beamerlinkdetailbutton<3>{conditional}{Skip Source Example}{sourcelink}{Show Source Example} +\end{itemize} +\end{frame} + +\begin{subframe}[label=sourceenv,fragile]{Source Example}{Changing Environment} +Change from +\begin{scriptsize} +\begin{verbatim} + \begin{frame} ... options ... + ... framecontents ... + \end{frame} +\end{verbatim} +\end{scriptsize} +to +\begin{scriptsize} +\begin{verbatim} + \begin{subframe} ... options ... + ... framecontents ... +\end{verbatim} +\texttt{\hspace{2em}\textbackslash end\{subframe\}} +\end{scriptsize} + +\vspace{1ex} +\beamerlinkbackbutton{sourcechange<2>}{Return from Source Example} +\end{subframe} + +\againframe<2>{sourcechange} + +\begin{subframe}[label=sourcelabel,fragile]{Source Example}{Adding Labels} +\begin{scriptsize} +\begin{verbatim} + \begin{frame} + ... + + \begin{subframe}[label=detailsstart] + ... + + \begin{subframe} + ... + + \begin{frame}[label=skiptohere] + ... +\end{verbatim} +\end{scriptsize} +\beamerlinkbackbutton{sourcechange<3>}{Return from Source Example} +\end{subframe} + +\againframe<3->{sourcechange} + +\begin{subframe}[label=sourcelink,fragile]{Source Example}{Adding Buttons} +\begin{scriptsize} +\begin{verbatim} + \begin{frame} + ... + \ifappend{... link to detailsstart ...}% + {... link to skiptohere ...} + ... + \begin{subframe}[label=detailsstart] + ... + \begin{subframe} + ... + \ifappend{... link to skiptohere ...}{} + ... + \begin{frame}[label=skiptohere] + ... +\end{verbatim} +\end{scriptsize} +\beamerlinkbackbutton{conditional}{Return from Source Example} +\end{subframe} + +%------------------------------------------------------------------------------- +\subsection{Conditional Execution} +\begin{frame}<1>[label=conditional,fragile]{Usage -- Conditional Execution} +Command: +\begin{scriptsize} +\begin{verbatim} +\ifappend{... executed if appended ...}% + {... executed if embedded ...} +\end{verbatim} +\end{scriptsize} +\begin{itemize} +\item useful for conditional links or buttons +\item can be used in own commands +\end{itemize} +\end{frame} + + +%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- +\section{Additional Information} +\subsection{Restrictions} +\begin{frame}{Restrictions of Beamer SubFrame} +Additional restrictions to those already mentioned: +\begin{itemize} +\item no \texttt{\textbackslash subframe} command +\item no \texttt{\textbackslash againsubframe} command +\item appendix not tested +\item only tested with mode \texttt{beamer} +\item after errors \texttt{.nav} file has to be erased (sometimes) +\end{itemize} +\end{frame} + +\begin{frame}{Themes used for Testing} +\begin{itemize} +\item Dresden +\item Berkeley +\item Montpellier +\item Malmoe +\item AnnArbor +\vspace{2ex} +\item no options used +\end{itemize} +\end{frame} + +%------------------------------------------------------------------------------- +\subsection{Files} +\begin{frame}{Files generated by Beamer SubFrame} +\begin{description} +\item[\texttt{\textbackslash jobname.sfr}] + contains subframes for appending +\item[\texttt{\textbackslash jobname.sfp}] + contains information about subframes used for sidebar and miniframe navigation +\end{description} +\end{frame} + +%------------------------------------------------------------------------------- +\subsection{Navigation} +\begin{frame}{Navigationbar} +\begin{itemize} +\item frames and slides in order of PDF file +\item section and subsection confusing on appended subframes +\item presentation leads to last frame in PDF +\item appendix not tested +\end{itemize} + +\vspace{2ex} +Discussion necessary +\end{frame} + +\begin{frame}{Sidebar and Miniframes} +\begin{itemize} +\item number and order of miniframes always as if subframes embedded +\item highlighting always as if subframes embedded +\end{itemize} +\end{frame} + +%------------------------------------------------------------------------------- +\subsection{ToDo} +\begin{frame}{ToDo} +\begin{itemize} +\item proper manual +\item proper package +\item package documentation +\item more testing +\item fix navigationbar +\item enabling beamer modes +\item multiple levels of subframes (?) +\item \dots +\end{itemize} + +\vspace{2ex} +But first lets talk about this package. +\end{frame} + +%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- +\part{Implementation} +\section{How it works} +\subsection{In Embed Mode} +\begin{frame} +\frametitle{\texttt{subframe} Environment -- embedded} + +\begin{itemize} +\item parses and stores frist three arguments (if there) +\item adds \texttt{environmet=subframe} to \texttt{\textit{options}} +\item calls \texttt{frame} environment with stored arguments +\end{itemize} + +\beamerlinkdetailbutton{appended}{Skip Source}{envsource1}{Goto Source} +\end{frame} + +\begin{subframe}[label=envsource1] +\frametitle{\texttt{subframe} Environment -- Source (1)} +(no source here, just for testing) +\end{subframe} + +\begin{subframe} +\frametitle{\texttt{subframe} Environment -- Source (2)} +(no source here, just for testing) + +\vspace{2ex} +\beamerlinkbackbutton{appended}{Return from Source} +\end{subframe} + + +%------------------------------------------------------------------------------- +\subsection{In Append Mode} +\begin{frame}[label=appended] +\frametitle{\texttt{subframe} Environment -- appended} + +\begin{itemize} +\item \texttt{verbatim} environment +\item writes to \texttt{.sfr} file + \begin{itemize} + \item \texttt{\textbackslash beamerrestore}\dots + \item \texttt{\textbackslash begin\{frame\}} with arguments + \item contents + \item \texttt{\textbackslash end\{frame\}} + \end{itemize} +\item one file for all subframes +\end{itemize} + +\beamerlinkdetailbutton{appending}{Skip Source}{envsource2}{Goto Source} +\end{frame} + +\begin{subframe}[label=envsource2] +\frametitle{\texttt{subframe} Environment -- Source (3)} +(no source here, just for testing) +\end{subframe} + +\begin{subframe} +\frametitle{\texttt{subframe} Environment -- Source (4)} +(no source here, just for testing) + +\vspace{2ex} +\beamerlinkbackbutton{appending}{Return from Source} +\end{subframe} + +%------------------------------------------------------------------------------- +\subsection{Appending Subframes} +\begin{frame}[label=appending] +\frametitle{Appending Subframes} +\begin{itemize} +\item does nothing in embed mode +\item in append mode + \begin{itemize} + \item closes \texttt{.sfr} file + \item inputs \texttt{.sfr} file + \end{itemize} +\end{itemize} + +\beamerlinkdetailbutton{testframe}{Skip Source}{appendsource}{Goto Source} +\end{frame} + +\begin{subframe}[label=appendsource] +\frametitle{Appending -- Source} +(no source here, just for testing) + +\vspace{2ex} +\beamerlinkbackbutton{testframe}{Return from Source} +\end{subframe} + +%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- +\section{Just a test section} +\begin{frame}[label=testframe] +\frametitle{Just a Test Frame} +(nothing here, just for testing) +\end{frame} + +%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- +%------------------------------------------------------------------------------- +\beamerrestore{0}{0}{0}{0}{}{} +\begin{frame} +\begin{center} +Thanks for reading! + +\vspace{4ex} +Thanks in advance for testing and feedback! +\end{center} +\end{frame} + +\appendsubframes +\end{document} \ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/beamersubframe/beamersubframe.sty b/Master/texmf-dist/tex/latex/beamersubframe/beamersubframe.sty new file mode 100644 index 00000000000..948fc981719 --- /dev/null +++ b/Master/texmf-dist/tex/latex/beamersubframe/beamersubframe.sty @@ -0,0 +1,158 @@ +%% +%% This program is provided under the terms of the +%% LaTeX Project Public License distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt. +%% +%% Author: Mike Kaufmann +%% m.km@gmx.de +%% +\def\fileversion{0.1} +\def\filedate{2011/06/29} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{beamersubframe}[\filedate\space + v\fileversion\space reordering beamer frames] + +% check for beamer class +\@ifclassloaded{beamer}{}{% + \PackageError{beamersubframe}{% + The package works only with the beamer class,\MessageBreak + therefore it is not loaded. + }{% + The package is not loaded, because it needs the\MessageBreak + beamer class. Continuing may lead to additional\MessageBreak + errors because of undefined commands. + } + \endinput +} + +\newif\if@bsf@append +\newif\if@bsf@firstline +\newtoks\sub@frame@param +\newwrite\sfr@out +\newwrite\sfr@sub + +\DeclareOption{embed}{\@bsf@appendfalse} +\DeclareOption{append}{\@bsf@appendtrue} + +\ExecuteOptions{embed} +\ProcessOptions*\relax + +\RequirePackage{verbatim} + +\def\beamer@subnum{% + \the\c@part.\the\c@section.\the\c@subsection.\the\c@subsectionslide +} + +\def\beamersubframepages#1#2#3#4#5#6{% + \expandafter\def\csname beamer@substartpage#1.#2.#3.#4\endcsname{#5}% + \expandafter\def\csname beamer@subendpage#1.#2.#3.#4\endcsname{#6}% +} + +\def\beamer@writeslidentry@miniframes{% + \addtocontents{nav}% + {\protect\headcommand{% + \protect\slideentry{\the\c@section}{\the\c@subsection}{\the\c@subsectionslide}% + {\protect\@nameuse{beamer@substartpage\beamer@subnum}/% + \protect\@nameuse{beamer@subendpage\beamer@subnum}}{\lastsubsection}{\the\c@part}}}% +} + +\def\beamer@writeslidentry@navbar{% + \expandafter\beamer@ifempty\expandafter{\beamer@framestartpage}{}% does not happen normally + {%else + \addtocontents{nav}% + {\protect\headcommand{% + \protect\beamer@framepages{\beamer@framestartpage}{\beamer@frameendpage}}}% + \immediate\write\sfr@sub{\string\beamersubframepages% + {\the\c@part}{\the\c@section}{\the\c@subsection}% + {\the\c@subsectionslide}{\beamer@framestartpage}{\beamer@frameendpage}}% + \clearpage\beamer@notesactions% + } +} +\let\beamer@writeslidentry@orig\beamer@writeslidentry + +\newcommand{\beamerrestore}[6]{% + \setcounter{part}{#1}% + \setcounter{section}{#2}% + \setcounter{subsection}{#3}% + \setcounter{subsectionslide}{#4}% + \def\insertsectionhead{#5}% + \def\insertsubsectionhead{#6}% +} + +\if@bsf@append + \newenvironment{subframe}{% + \immediate\write\sfr@out{\string\beamerrestore{\the\c@part}{\the\c@section}% + {\the\c@subsection}{\the\c@subsectionslide}{\insertsectionhead}{\lastsubsection}} + \addtocounter{subsectionslide}{1}% + \@bsf@firstlinetrue + \let\do\@makeother\dospecials\catcode`\^^M\active + \def\verbatim@processline{% + \if@bsf@firstline + \immediate\write\sfr@out{\string\begin{frame}\the\verbatim@line}% + \@bsf@firstlinefalse + \else + \immediate\write\sfr@out{\the\verbatim@line}% + \fi + }% + \verbatim@}{\immediate\write\sfr@out{\string\end{frame}^^J}% + \beamer@writeslidentry@miniframes + } +\else + % problem here: adding ``environment=subframe'' to the options + \def\sub@frame@#1\@@end{\begin{frame}#1} + \def\sub@@@frame#1#2#3\@@end{% processing for one optional argument + \def\@tempa{#2}\def\@tempb{<}% + \ifx\@tempa\@tempb\relax% test for default overlay spec + \sub@frame@param={#1[#2#3][environment=subframe]}% + \else + \sub@frame@param={#1[environment=subframe,#2#3]}% + \fi + } + \def\sub@@frame#1#2[#3]{% + \def\@tempa{#2} + \ifx\@tempa\@empty% this means: no default overlay spec and no options + \sub@frame@param={#1[environment=subframe]}% + \else + \def\@tempb{#3} + \ifx\@tempb\@empty% this means: one optional argument + \sub@@@frame{#1}#2\@@end + \else% both, default overlay spec and options present + \sub@frame@param={#1[#2][environment=subframe,#3]}% + \fi + \fi + \expandafter\sub@frame@\the\sub@frame@param\@@end + } + \def\sub@frame#1#2{% + \@ifnextchar[{\sub@@frame{#1}{#2}}{\sub@@frame{#1}{#2}[]}% + } + \newenvironment<>{subframe}[1][]{% + \sub@frame@param={}% + \sub@frame{#2}{#1}}{\end{frame}} +\fi + +\newcommand{\appendsubframes}{% + \if@bsf@append + \let\beamer@writeslidentry\beamer@writeslidentry@navbar + \immediate\closeout\sfr@out + \input{\jobname.sfr} +% \immediate\openout\sfr@out\jobname.sfr + \let\beamer@writeslidentry\beamer@writeslidentry@orig + \fi +} + +\AtBeginDocument{% + \InputIfFileExists{\jobname.sfp}{}{}% + \if@bsf@append + \immediate\openout\sfr@out\jobname.sfr\relax + \immediate\openout\sfr@sub\jobname.sfp\relax + \fi +} +\AtEndDocument{% + \if@bsf@append +% \immediate\closeout\sfr@out + \immediate\closeout\sfr@sub + \fi +} + +% simple command for user macros +\newcommand{\ifappend}[2]{\if@bsf@append #1\else #2\fi} diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index c054e59197c..b943b1babde 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -49,7 +49,7 @@ my @TLP_working = qw( bbcard bbding bbm bbm-macros bbold bbold-type1 bclogo beamer beamer2thesis beamer-FUBerlin beamer-tut-pt beameraudience beamerposter - beamerthemejltree beamerthemenirma + beamerthemejltree beamersubframe beamerthemenirma beebe begriff bengali bera berenisadf betababel beton bez123 bezos bgreek bhcexam bib-fr bibarts biber bibhtml diff --git a/Master/tlpkg/tlpsrc/beamersubframe.tlpsrc b/Master/tlpkg/tlpsrc/beamersubframe.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc index 634321cd46d..1b748bcf6a3 100644 --- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc @@ -40,6 +40,7 @@ depend bashful depend beamer2thesis depend beameraudience depend beamerposter +depend beamersubframe depend beamerthemejltree depend beamerthemenirma depend begriff -- cgit v1.2.3