From 82c5dfce91cec1a5d83b9f5608368de73f9f7e92 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 3 Oct 2016 22:20:33 +0000 Subject: overlays (2oct16) git-svn-id: svn://tug.org/texlive/trunk@42195 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/overlays/ChangeLog | 9 ++ Master/texmf-dist/doc/latex/overlays/README | 15 ++- Master/texmf-dist/doc/latex/overlays/TODO | 1 - Master/texmf-dist/doc/latex/overlays/overlays.pdf | Bin 33781 -> 34995 bytes Master/texmf-dist/doc/latex/overlays/overlays.tex | 24 +++- Master/texmf-dist/doc/latex/overlays/sample.pdf | Bin 54504 -> 54808 bytes Master/texmf-dist/doc/latex/overlays/sample.tex | 38 +++---- Master/texmf-dist/tex/latex/overlays/overlays.sty | 128 +++++++++++++--------- 8 files changed, 130 insertions(+), 85 deletions(-) delete mode 100644 Master/texmf-dist/doc/latex/overlays/TODO (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/overlays/ChangeLog b/Master/texmf-dist/doc/latex/overlays/ChangeLog index 068e2cab257..aa5452e56c3 100644 --- a/Master/texmf-dist/doc/latex/overlays/ChangeLog +++ b/Master/texmf-dist/doc/latex/overlays/ChangeLog @@ -1,3 +1,12 @@ +2016-10-02: + * "\savebetweenoverlays" command for counters not to be incremented between + overlays + * bump version to 2.2 + +2016-10-01: + * don't increment the "equation" counter between overlays + * bump version to 2.1 + 2016-09-30: * "fragileoverlays" environment, providing partial support for verbatim content * bump version to 2.0 diff --git a/Master/texmf-dist/doc/latex/overlays/README b/Master/texmf-dist/doc/latex/overlays/README index bb3690c1863..6680dc5bccb 100644 --- a/Master/texmf-dist/doc/latex/overlays/README +++ b/Master/texmf-dist/doc/latex/overlays/README @@ -1,12 +1,15 @@ -The "overlays" LaTeX package (version 2.0) +The "overlays" LaTeX package (version 2.2) ------------------------------------------ -The "overlay" allows to write presentations with dynamic slides. It does not -presuppose any specific document class. Rather, it is a lightweight alternative -to full-fledged presentation classes like "beamer". +The "overlay" package allows to write presentations with dynamic slides. It does +not presuppose any specific document class. Rather, it is a lightweight +alternative to full-fledged presentation classes like "beamer". -The package is released 'as is' with no warranty under the LaTeX Project Public -License, version 1.3 [1]. +The package requires the following packages: "color", "environ", and "pgffor" +(part of "pgf"). + +It is released 'as is' with no warranty under the LaTeX Project Public License, +version 1.3 [1]. Andreas Nolda (andreas@nolda.org) ---- diff --git a/Master/texmf-dist/doc/latex/overlays/TODO b/Master/texmf-dist/doc/latex/overlays/TODO deleted file mode 100644 index 77966dceae0..00000000000 --- a/Master/texmf-dist/doc/latex/overlays/TODO +++ /dev/null @@ -1 +0,0 @@ - * preserve linebreaks in the "alltt" environment diff --git a/Master/texmf-dist/doc/latex/overlays/overlays.pdf b/Master/texmf-dist/doc/latex/overlays/overlays.pdf index 2010547d888..12694973009 100644 Binary files a/Master/texmf-dist/doc/latex/overlays/overlays.pdf and b/Master/texmf-dist/doc/latex/overlays/overlays.pdf differ diff --git a/Master/texmf-dist/doc/latex/overlays/overlays.tex b/Master/texmf-dist/doc/latex/overlays/overlays.tex index 1698f2f8b9e..43afcd8953f 100644 --- a/Master/texmf-dist/doc/latex/overlays/overlays.tex +++ b/Master/texmf-dist/doc/latex/overlays/overlays.tex @@ -9,7 +9,7 @@ \begin{document} \title{\textsf{overlays} -- incremental slides} \author{Andreas Nolda} -\date{2016/09/30 (v.\,2.0)} +\date{2016/10/02 (v.\,2.2)} \maketitle \noindent The \textsf{overlay} package allows to write presentations with @@ -67,21 +67,35 @@ The content of the |\only| command is also uncovered on the overlays specified in the overlay specification, but is absent from unspecified overlays and does not take up space there. +\pagebreak +\DescribeMacro{\savebetweenoverlays} +The |page| and |equation| counters are not incremented between overlays. Other +counters can be saved between overlays, too, by means of the following command: +\begin{quote} +|\savebetweenoverlays{|\meta{counter name}|}| +\end{quote} +Typically, this command would be used in the preamble. + \section{Known limitations} The |\alert|, |\visible|, and |\only| commands must not contain verbatim commands or environments. They may be used in the content of the |alltt| environment, though. +\section{Dependencies} + +The \textsf{overlays} package requires the following packages: \textsf{color}, +\textsf{environ}, and \textsf{pgffor} (part of \textsf{pgf}). + \section{Credits} The code of the \textsf{overlays} package is inspired by Matthias Meister's \textsf{present} package. In addition, it uses an algorithm by Martin Scharrer for testing numbers in -numerical ranges (cf. \url{http://tex.stackexchange.com/q/19000/}). +numerical ranges (cf. \url{http://tex.stackexchange.com/q/19000}). -The code for processing overlays with verbatim content is taken from the -\textsf{texpower} package, which in turn took it from Till Tantau's -\textsf{beamer} package. +The code for saving counters between overlays as well as for overlays with +verbatim content is taken from the \textsf{texpower} package, which in turn is +based on Till Tantau's \textsf{beamer} package. \end{document} diff --git a/Master/texmf-dist/doc/latex/overlays/sample.pdf b/Master/texmf-dist/doc/latex/overlays/sample.pdf index 81a6dd27849..0a1e1eb67b7 100644 Binary files a/Master/texmf-dist/doc/latex/overlays/sample.pdf and b/Master/texmf-dist/doc/latex/overlays/sample.pdf differ diff --git a/Master/texmf-dist/doc/latex/overlays/sample.tex b/Master/texmf-dist/doc/latex/overlays/sample.tex index d48c28a161f..69de4a44a3f 100644 --- a/Master/texmf-dist/doc/latex/overlays/sample.tex +++ b/Master/texmf-dist/doc/latex/overlays/sample.tex @@ -6,8 +6,6 @@ footskip=6mm]{geometry} \usepackage{overlays} \usepackage[breaklinks,hidelinks]{hyperref} -\usepackage{url} -\usepackage[normalem]{ulem} \usepackage{doc} \usepackage{alltt} \lofoot{\hspace{-4mm}% @@ -21,8 +19,6 @@ \definecolor{structure}{rgb}{0.1,0.25,0.5} \setkomafont{pagefoot}{\color{structure}\normalfont\bfseries\scriptsize} \addtokomafont{sectioning}{\color{structure}} -\let\hrefsave\href -\renewcommand{\href}[2]{\hrefsave{#1}{\uline{#2}}} \frenchspacing \sloppy @@ -37,8 +33,8 @@ \textit{A sample presentation}} \\[\baselineskip] Andreas Nolda \\ \url{http://andreas.nolda.org}}\vfill -{\small Version 2.0 \\ -30 September 2016} +{\small Version 2.2 \\ +2 October 2016} \clearpage \begin{fragileoverlays}{6} @@ -136,7 +132,7 @@ there.} \begin{fragileoverlays}{3} \subsubsection*{Verbatim content} For incremental slides with verbatim content, the following environment should -be used instead of the \texttt{overlay} environment: +be used instead of the \texttt{overlays} environment: \begin{quote} \begin{alltt} \alert{1}{\textbackslash{}begin\{fragileoverlays\}\{\meta{total overlay number}\} @@ -156,12 +152,14 @@ of the \texttt{alltt} environment of the \begin{overlays}{6} \subsubsection*{Caveats} -The package expects that the slide content in the \texttt{overlays} environment -fits on a single page. This can be ensured by means of +The package expects that the slide content in the \alert{1}{\texttt{overlays}} +environment fits on a single page. This can be ensured by means of \texttt{\textbackslash{}clearpage} commands before or after the environment. -\visible{2-}{The \texttt{page} counter is not incremented between overlays. -Other counters may give rise to unexpected results.} +\visible{2-}{The \texttt{page} and \texttt{equation} counters are not +incremented between overlays. Other counters can be saved between overlays, too, +by means of the command +\alert{2}{\texttt{\textbackslash{savebetweenoverlays\{\meta{counter name}\}}}}.} \visible{3-}{In the \texttt{tabular} environment, the \alert{3}{\texttt{\textbackslash{}alert}}, @@ -186,17 +184,17 @@ the content of these commands.} \begin{overlays}{3} \subsubsection*{Credits} -The code of the \textrm{overlays} package is inspired by -\href{http://www.ctan.org/pkg/present}{Matthias Meister's \textrm{present} -package}. +The code of the \textrm{overlays} package is inspired by Matthias Meister's +\href{http://www.ctan.org/pkg/present}{\textrm{present} package}. -\visible{2-}{In addition, it uses -\href{http://tex.stackexchange.com/q/19000/}{an algorithm by Martin Scharrer} -for testing numbers in numerical ranges.} +\visible{2-}{In addition, it uses an algorithm by Martin Scharrer for testing +numbers in numerical ranges (cf. \url{http://tex.stackexchange.com/q/19000}).} -\visible{3}{The code for processing overlays with verbatim content is taken from -the \textrm{texpower} package, which in turn took it from Till Tantau's -\textrm{beamer} package.} +\visible{3}{The code for saving counters between overlays as well as for +overlays with verbatim content is taken from the +\href{http://www.ctan.org/pkg/texpower}{\textrm{texpower} package}, which in +turn is based on Till Tantau's +\href{http://www.ctan.org/pkg/beamer}{\textrm{beamer} package}.} \end{overlays} \label{lastpage} \end{document} diff --git a/Master/texmf-dist/tex/latex/overlays/overlays.sty b/Master/texmf-dist/tex/latex/overlays/overlays.sty index 8cf8df8a893..6e0866ff6c2 100644 --- a/Master/texmf-dist/tex/latex/overlays/overlays.sty +++ b/Master/texmf-dist/tex/latex/overlays/overlays.sty @@ -1,9 +1,9 @@ -\ProvidesPackage{overlays}[2016/09/30 v2.0 Incremental slides] +\ProvidesPackage{overlays}[2016/10/02 v2.2 Incremental slides] % Copyright (C) 2016 Andreas Nolda % Author: Andreas Nolda -% Version: 2.0 +% Version: 2.2 % This work 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) @@ -13,63 +13,45 @@ % The following code is inspired by Matthias Meister's "present" package. It % uses an algorithm by Martin Scharrer for testing numbers in numerical ranges -% (http://tex.stackexchange.com/q/19000/). The code for processing overlays with -% verbatim content is taken from the "texpower" package, which in turn took it -% from Till Tantau's "beamer" package. +% (http://tex.stackexchange.com/q/19000). The code for saving counters between +% overlays as well as for overlays with verbatim content is taken from the +% "texpower" package, which in turn is based on Till Tantau's "beamer" package. \RequirePackage{color} \RequirePackage{environ} \RequirePackage{pgffor} -\definecolor{background}{rgb}{1,1,1} -\definecolor{alert}{rgb}{1,0,0} +\def\s@vedcounters{} -\newcount\curoverl@y -\newcount\maxoverl@y -\newcount\overl@yspeca -\newcount\overl@yspecb -\newcount\saveequ@tion +\def\s@vecounters% + {\begingroup + \def\@elt##1{\global\csname c@##1\endcsname\the\csname c@##1\endcsname}% + \xdef\restores@vedcounters{\s@vedcounters}% + \endgroup} -\def\@getoverl@yspecb-#1\relax% - {\ifx\relax#1\relax - \overl@yspecb=\maxoverl@y - \else - \overl@yspecb=#1\relax - \fi} - -\def\getoverl@yspecb% - {\@ifnextchar\relax - {\overl@yspecb=\overl@yspeca}% - {\@getoverl@yspecb}} +\newcommand{\savebetweenoverlays}[1]% + {\expandafter\def + \expandafter\s@vedcounters + \expandafter{\s@vedcounters\@elt{#1}}} -\def\ifinoverl@yspec#1#2% - {\global\let\inoverl@yspec\@secondoftwo - \foreach \i in {#2} - {\afterassignment\getoverl@yspecb - \overl@yspeca=0\i\relax - \pgfmathtruncatemacro\result{(#1>=\overl@yspeca) && (#1<=\overl@yspecb)}% - \ifnum\result=1\relax - \breakforeach - \global\let\inoverl@yspec\@firstoftwo - \fi}% - \inoverl@yspec} +\savebetweenoverlays{page} +\savebetweenoverlays{equation} -\long\def\overl@y#1#2#3{\ifinoverl@yspec{\curoverl@y}{#1}{#2}{#3}} +\newcount\curoverl@y +\newcount\maxoverl@y \NewEnviron{overlays}[1]% - {\maxoverl@y=#1% + {\s@vecounters + \maxoverl@y=#1% \curoverl@y=0% - \saveequ@tion=\value{equation}% \loop \advance\curoverl@y by 1% \begingroup \BODY \endgroup \ifnum\curoverl@y<\maxoverl@y% - \vfill \clearpage - \addtocounter{page}{-1}% - \setcounter{equation}{\saveequ@tion}% + \restores@vedcounters \repeat} \newwrite\verb@timfileout @@ -84,6 +66,19 @@ \@makeother\^^L \endlinechar`\^^M \catcode`\^^M=12 \processslidefirstline} +\newenvironment{fragileoverlays}[1] + {\maxoverl@y=#1% + \def\verb@timfilen@me{\jobname.vrb}% + \immediate\openout\verb@timfileout=\verb@timfilen@me% + \verb@timreadslide} + {\immediate\closeout\verb@timfileout% + \begin{overlays}{\maxoverl@y} + \def\verbatim@nolig@list{\do\`\do\<\do\>\do\'} % don't make "," and "-" active + \input{\verb@timfilen@me}% + \end{overlays}} + +\def\endfr@gileoverl@ys{\endgroup\end{fragileoverlays}} + {\catcode`\^^M=12\endlinechar=-1% \long\gdef\processslidefirstline#1^^M% {\def\overl@ystest{#1}% @@ -111,21 +106,48 @@ \xdef\stopslide{\string\\end\string\{fragileoverlays\string\}} \xdef\stopslidefirst{\noexpand\end\string\{fragileoverlays\string\}}} -\newenvironment{fragileoverlays}[1] - {\maxoverl@y=#1% - \def\verb@timfilen@me{\jobname.vrb}% - \immediate\openout\verb@timfileout=\verb@timfilen@me% - \verb@timreadslide} - {\immediate\closeout\verb@timfileout% - \begin{overlays}{\maxoverl@y} - \def\verbatim@nolig@list{\do\`\do\<\do\>\do\'} % do not make "," and "-" active - \input{\verb@timfilen@me}% - \end{overlays}} +\newcount\overl@yspeca +\newcount\overl@yspecb -\def\endfr@gileoverl@ys{\endgroup\end{fragileoverlays}} +\def\@getoverl@yspecb-#1\relax% + {\ifx\relax#1\relax + \overl@yspecb=\maxoverl@y + \else + \overl@yspecb=#1\relax + \fi} + +\def\getoverl@yspecb% + {\@ifnextchar\relax + {\overl@yspecb=\overl@yspeca}% + {\@getoverl@yspecb}} + +\def\ifinoverl@yspec#1#2% + {\global\let\inoverl@yspec\@secondoftwo + \foreach \i in {#2} + {\afterassignment\getoverl@yspecb + \overl@yspeca=0\i\relax + \pgfmathtruncatemacro\result{(#1>=\overl@yspeca) && (#1<=\overl@yspecb)}% + \ifnum\result=1\relax + \breakforeach + \global\let\inoverl@yspec\@firstoftwo + \fi}% + \inoverl@yspec} + +\long\def\overl@y#1#2#3{\ifinoverl@yspec{\curoverl@y}{#1}{#2}{#3}} \newcommand{\only}[2]{\overl@y{#1}{#2}{\relax}} -\newcommand{\visible}[2]{\overl@y{#1}{#2}{{\color{background}#2\ifvmode\unskip\fi}}} +\definecolor{background}{rgb}{1,1,1} +\newcommand{\visible}[2]{\overl@y{#1}{#2}{{\color{background}% + \let\default@color\current@color + #2% + \ifvmode + \unskip + \fi}}} -\newcommand{\alert}[2]{\overl@y{#1}{{\color{alert}#2\ifvmode\unskip\fi}}{#2}} +\definecolor{alert}{rgb}{1,0,0} +\newcommand{\alert}[2]{\overl@y{#1}{{\color{alert}% + #2% + \ifvmode + \unskip + \fi}}{#2}} -- cgit v1.2.3