From 2dfcba056f6e83b4c2851c7d7ecf950507379c03 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 23 Sep 2012 22:58:55 +0000 Subject: dynblocks (23sep12) git-svn-id: svn://tug.org/texlive/trunk@27788 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/dynblocks/README | 2 +- .../doc/latex/dynblocks/doc/dynblocks.pdf | Bin 277196 -> 277870 bytes .../doc/latex/dynblocks/doc/dynblocks.tex | 121 +++++++++++---------- .../doc/latex/dynblocks/latex/dynblocks.sty | 81 ++++++++++---- 4 files changed, 121 insertions(+), 83 deletions(-) diff --git a/Master/texmf-dist/doc/latex/dynblocks/README b/Master/texmf-dist/doc/latex/dynblocks/README index 500792436e9..1ce27d49e70 100644 --- a/Master/texmf-dist/doc/latex/dynblocks/README +++ b/Master/texmf-dist/doc/latex/dynblocks/README @@ -3,7 +3,7 @@ % % Copyright (C) 2012 Claudio Fiandrino % -% v0.1 - 2012/13/05 +% v0.2 - 2012/20/09 % % * A simple way to create dynamic blocks * % diff --git a/Master/texmf-dist/doc/latex/dynblocks/doc/dynblocks.pdf b/Master/texmf-dist/doc/latex/dynblocks/doc/dynblocks.pdf index 6168a43d7a5..9f4fd83d051 100644 Binary files a/Master/texmf-dist/doc/latex/dynblocks/doc/dynblocks.pdf and b/Master/texmf-dist/doc/latex/dynblocks/doc/dynblocks.pdf differ diff --git a/Master/texmf-dist/doc/latex/dynblocks/doc/dynblocks.tex b/Master/texmf-dist/doc/latex/dynblocks/doc/dynblocks.tex index 4f7b33931f2..8b877e963ae 100644 --- a/Master/texmf-dist/doc/latex/dynblocks/doc/dynblocks.tex +++ b/Master/texmf-dist/doc/latex/dynblocks/doc/dynblocks.tex @@ -35,6 +35,7 @@ \newcommand*{\mbcmd}[1]{\texttt{[}\normalfont\texttt{#1}\texttt{]}} \newcommand*{\meta}[1]{{\normalfont\ensuremath{\langle}\textit{#1}\ensuremath{\rangle}}} \newcommand*{\marg}[1]{\texttt{\{\meta{#1}\}}} +\newcommand*{\sarg}[1]{\texttt{<\meta{#1}>}} \newcommand*{\mbarg}[1]{\texttt{[\meta{#1}]}} \newcommand*{\cs}[1]{\texttt{\char92#1}} @@ -42,8 +43,8 @@ \renewcommand\labelitemii{\color{DodgerBlue1!60}$\circ$} \newcommand{\name}{\textsf{dynblocks}} -\newcommand{\version}{0.1} -\newcommand{\versiondate}{13/05/2012} +\newcommand{\version}{0.2} +\newcommand{\versiondate}{20/09/2012} \author{Claudio Fiandrino \\ \footnotesize{\href{mailto:claudio.fiandrino@gmail.com}{claudio.fiandrino@gmail.com}}} \title{The \name{} package \footnote{This package has version number \textit{v}\version{} of \versiondate{}}} @@ -94,8 +95,8 @@ Using the package in basic mode allows to define a block with: \item width equal to \cs{textwidth}; \item border color \cs{blue} and fill color \cs{blue!10}. \end{itemize} -thanks to the command \cs{opaqueblock}\marg{overlay spec}\mbarg{width}\marg{text}. -Moreover, it is also possible to make it \emph{invisible} forcing colors to become \texttt{gray} by means of \cs{invblock}\marg{overlay spec}. For example, the following code, generates the two frames shown in figures \ref{fig:basic1} and \ref{fig:basic2}. +thanks to the command \cs{opaqueblock}\sarg{overlay spec}\mbarg{width}\marg{text}. +Moreover, it is also possible to make it \emph{invisible} forcing colors to become \texttt{gray} by means of \cs{invblock}\sarg{overlay spec}. For example, the following code, generates the two frames shown in figures \ref{fig:basic1} and \ref{fig:basic2}. \medskip \begin{lstlisting}[frame=lines] \documentclass{beamer} @@ -108,19 +109,19 @@ Moreover, it is also possible to make it \emph{invisible} forcing colors to beco \begin{columns}[T] \begin{column}{0.4\textwidth} \begin{dynblock} - \opaqueblock{1}[0.8\textwidth]{hello this is a dynamic block + \opaqueblock<1>[0.8\textwidth]{hello this is a dynamic block with an itemize environment: \begin{itemize} \item hello \item hello again \end{itemize} } - \invblock{2-} + \invblock<2-> \end{dynblock} \end{column} \begin{column}{0.4\textwidth} \begin{dynblock} - \opaqueblock{2}{hello this is another dynamic block} + \opaqueblock<2>{hello this is another dynamic block} \end{dynblock} \end{column} \end{columns} @@ -132,18 +133,18 @@ Moreover, it is also possible to make it \emph{invisible} forcing colors to beco \begin{figure}[ht] \centering \subfloat[First frame]{ -\includegraphics[scale=0.47]{./images/basic_1} +\includegraphics[scale=0.45]{./images/basic_1} \label{fig:basic1}% } \hspace*{0.25cm} \subfloat[Second frame]{ -\includegraphics[scale=0.47]{./images/basic_2} +\includegraphics[scale=0.45]{./images/basic_2} \label{fig:basic2}% } \caption{The basic example} \end{figure} -In this example, it is possible to notice that the second \cs{opaqueblock} has not \texttt{width} specified; the default value is \cs{textwidth} but if the block is placed inside a \emph{column} environment it inherits the \texttt{width} given there. To set different values of \texttt{width}, it is necessary to specify the optional argument as did for the first \cs{opaqueblock} of the example. +In this example, it is possible to notice that the second \cs{opaqueblock} has not \texttt{width} specified; the default value is \cs{textwidth}, but if the block is placed inside a \emph{column} environment it inherits the \texttt{width} given there. To set different values of \texttt{width}, it is necessary to specify the optional argument as did for the first \cs{opaqueblock} of the example. The presence of an \cs{invblock} makes the first \cs{opaqueblock} invisible; this command needs to be placed immediately after an \cs{opaqueblock} because of two facts: \begin{itemize} @@ -161,7 +162,7 @@ Suppose, for instance, to modify the previous example in order to display the se \begin{lstlisting}[frame=lines] \begin{dynblock} \setalignment{center} -\opaqueblock{2}{hello this is another dynamic block} +\opaqueblock<2>{hello this is another dynamic block} \end{dynblock} \end{lstlisting} @@ -189,7 +190,7 @@ To change these values two commands have been introduced: \end{itemize} where \meta{opacity spec} is a value in the interval $[0 \, , \, 1]$. Also these commands can be set locally or in a global fashion in the preamble. -Due to the opacity the usual \cs{alert} command is not more useful with \cs{invblock}s. The package provides a method to alert a word even in this case; the command to be used is \cs{dynalert}\marg{overlay spec}\marg{text}; notice that through the proper usage of \meta{overlay spec}, \cs{dynalert} must not fall inside a \cs{opaqueblock}. This is a limitation, but the purpose for which it has been developed is different. +Due to the opacity the usual \cs{alert} command is not more useful with \cs{invblock}s. The package provides a method to alert a word even in this case; the command to be used is \cs{dynalert}\sarg{overlay spec}\marg{text}; notice that through the proper usage of \meta{overlay spec}, \cs{dynalert} must not fall inside a \cs{opaqueblock}. This is a limitation, but the purpose for which it has been developed is different. Assume, for example, to modify the reference example such that the opacity of \cs{invblock} will be set to $0.1$; furthermore, for the first block, the word ``\emph{itemize}'' will be alerted with \cs{alert}, while ``\emph{dynamic block}'' with \cs{dynalert} and for the second block (that does not have the correspondent \cs{invblock}) it is shown what happens with a wrong usage of \cs{dynalert}. The code is: \medskip @@ -205,21 +206,21 @@ Assume, for example, to modify the reference example such that the opacity of \c \begin{columns}[T] \begin{column}{0.4\textwidth} \begin{dynblock} -\opaqueblock{1}[0.8\textwidth]{hello this is a - \dynalert{2}{dynamic block} with an \alert<1,2>{itemize} +\opaqueblock<1>[0.8\textwidth]{hello this is a + \dynalert<2>{dynamic block} with an \alert<1,2>{itemize} environment: \begin{itemize} \item hello \item hello again \end{itemize} } -\invblock{2-} +\invblock<2-> \end{dynblock} \end{column} \begin{column}{0.4\textwidth} \begin{dynblock} -\opaqueblock{2}{hello this is another - \dynalert{2}{dynamic} block} +\opaqueblock<2>{hello this is another + \dynalert<2>{dynamic} block} \end{dynblock} \end{column} \end{columns} @@ -231,12 +232,12 @@ Assume, for example, to modify the reference example such that the opacity of \c \begin{figure}[ht] \centering \subfloat[First frame]{ -\includegraphics[scale=0.48]{./images/alert_1} +\includegraphics[scale=0.45]{./images/alert_1} \label{fig:alert1}% } \hspace*{0.1cm} \subfloat[Second frame]{ -\includegraphics[scale=0.48]{./images/alert_2} +\includegraphics[scale=0.45]{./images/alert_2} \label{fig:alert2}% } \caption{Example with different opacity and alerts} @@ -246,9 +247,9 @@ As it is possible to see from figures \ref{fig:alert1} and \ref{fig:alert2}, the The suggested use, in conclusion, is: \begin{itemize} -\item \cs{alert} with \meta{overlay spec} equal to the one of the related \cs{opaqueblock}; +\item \cs{alert} with \meta{overlay spec} equal specified in the related \cs{opaqueblock}; \item \cs{dynalert} to highlight words inside an \cs{invblock}; -\item never do something like: \cs{dynalert}\mcmd{1,2}\mcmd{word} if the \cs{opaqueblock} is shown in \meta{overlay spec}$=1$ and the \cs{invblock} in \meta{overlay spec}$=2$. +\item never do something like: \cs{dynalert}\texttt{<1,2>}\mcmd{word} if the \cs{opaqueblock} is shown in \meta{overlay spec}$=1$ and the \cs{invblock} in \meta{overlay spec}$=2$. \end{itemize} To change colors: @@ -268,14 +269,14 @@ In this section the package's options are introduced with examples. They allow t \subsection{The shadow and the rounded corners}\label{subse:shrc} To load: \begin{itemize} -\item the shadow option use: \cs{usepackage}\mbcmd{shadow}\mcmd{dynblocks}; +\item the shadow option use: \cs{usepackage}\mbcmd{shadow}\mcmd{dynblocks}; it is possible to set the \emph{shadow opacity} by means of the following command: \cs{setshadowopacity}\marg{opacity spec} (default value $0.4$); \item the option to have rounded corners for \emph{dynblocks} use: \\ \cs{usepackage}\mbcmd{roundedcorners}\mcmd{dynblocks}. \end{itemize} For example: \begin{lstlisting}[frame=lines] \documentclass{beamer} -\usepackage[shadow, roundedcorners]{dynblocks} +\usepackage[shadow,roundedcorners]{dynblocks} \usetheme{Luebeck} @@ -284,21 +285,21 @@ For example: \begin{columns}[T] \begin{column}{0.4\textwidth} \begin{dynblock} -\opaqueblock{1}[0.8\textwidth]{hello this is a - \dynalert{2}{dynamic block} with an +\opaqueblock<1>[0.8\textwidth]{hello this is a + \dynalert<2>{dynamic block} with an \alert<1,2>{itemize} environment: \begin{itemize} \item hello \item hello again \end{itemize} } -\invblock{2-} +\invblock<2-> \end{dynblock} \end{column} \begin{column}{0.4\textwidth} \begin{dynblock} \setalignment{center} -\opaqueblock{2}{hello this is another dynamic block} +\opaqueblock<2>{hello this is another dynamic block} \end{dynblock} \end{column} \end{columns} @@ -311,12 +312,12 @@ allows to get the frames shown in figures \ref{fig:shdrndc1} and \ref{fig:shdrnd \begin{figure}[ht] \centering \subfloat[First frame]{ -\includegraphics[scale=0.48]{./images/shdrndc_1} +\includegraphics[scale=0.45]{./images/shdrndc_1} \label{fig:shdrndc1}% } \hspace*{0.1cm} \subfloat[Second frame]{ -\includegraphics[scale=0.48]{./images/shdrndc_2} +\includegraphics[scale=0.45]{./images/shdrndc_2} \label{fig:shdrndc2}% } \caption{Example with \texttt{shadow} and \texttt{roundedcorners} options} @@ -330,7 +331,7 @@ By activating this option it is possible to fully customize the \emph{dynblocks} \item \cs{settopcolor}\marg{color spec} and \cs{setbottomcolor}\marg{color spec} for the \cs{vshadeblock}s (default values are \textit{white} and \textit{blue!10} respectively); \item \cs{setleftcolor}\marg{color spec} and \cs{setrightcolor}\marg{color spec} for the \cs{oshadeblock}s (default values are \textit{white} and \textit{blue!10} respectively). \end{itemize} -As for the \texttt{shadow} and the \texttt{roundedcorners} options, to load the \texttt{customcolors} option use \cs{usepackage}\mbcmd{customcolors}\mcmd{dynblocks}. +Similarly to the \texttt{shadow} and the \texttt{roundedcorners} options, to load the \texttt{customcolors} option use \cs{usepackage}\mbcmd{customcolors}\mcmd{dynblocks}. In the following example, all \emph{dynblocks} types are used and it is possible to see how local and global setting work. @@ -350,15 +351,15 @@ In the following example, all \emph{dynblocks} types are used and it is possible \begin{columns}[T] \begin{column}{0.4\textwidth} \begin{dynblock} -\opaqueblock{1}[0.8\textwidth]{hello this is a - \dynalert{2}{dynamic block} with an +\opaqueblock<1>[0.8\textwidth]{hello this is a + \dynalert<2>{dynamic block} with an \alert<1,2>{itemize} environment: \begin{itemize} \item hello \item hello again \end{itemize} } -\invblock{2-} +\invblock<2-> \end{dynblock} \end{column} \begin{column}{0.4\textwidth} @@ -367,19 +368,19 @@ In the following example, all \emph{dynblocks} types are used and it is possible % default settings since no % \setinnercolor or \setoutercolor % are there -\fancyblock{2}{hello this is another dynamic block} -\invblock{3-} +\fancyblock<2>{hello this is another dynamic block} +\invblock<3-> \end{dynblock} \\[2ex] \setbordercolor{orange} % local definition % that overwrites the global one \begin{dynblock} -\vshadeblock{3}{replica: hello this a another dynamic block} -\invblock{4-} +\vshadeblock<3>{replica: hello this a another dynamic block} +\invblock<4-> \end{dynblock} \\[2ex] \begin{dynblock} -\oshadeblock{4}{replica 2: hello this a another dynamic block} +\oshadeblock<4>{replica 2: hello this a another dynamic block} \end{dynblock} \end{column} \end{columns} @@ -399,22 +400,22 @@ The four frames obtained by this example are shown in figures \ref{fig:custcol1} \begin{figure}[ht] \centering \subfloat[First frame]{ -\includegraphics[scale=0.47]{./images/custcol_1} +\includegraphics[scale=0.45]{./images/custcol_1} \label{fig:custcol1}% } \hspace*{0.25cm} \subfloat[Second frame]{ -\includegraphics[scale=0.47]{./images/custcol_2} +\includegraphics[scale=0.45]{./images/custcol_2} \label{fig:custcol2}% } \\ \subfloat[Third frame]{ -\includegraphics[scale=0.47]{./images/custcol_3} +\includegraphics[scale=0.45]{./images/custcol_3} \label{fig:custcol3}% } \hspace*{0.25cm} \subfloat[Fourth frame]{ -\includegraphics[scale=0.47]{./images/custcol_4} +\includegraphics[scale=0.45]{./images/custcol_4} \label{fig:custcol4}% } \caption{Example with \texttt{customcolor} option and all \emph{dynblocks} types} @@ -455,21 +456,21 @@ For example: \begin{columns}[T] \begin{column}{0.4\textwidth} \begin{dynblock} -\opaqueblock{1}[0.8\textwidth]{hello this is a -\dynalert{2}{dynamic block} with an +\opaqueblock<1>[0.8\textwidth]{hello this is a +\dynalert<2>{dynamic block} with an \alert<1,2>{itemize} environment: \begin{itemize} \item hello \item hello again \end{itemize} } -\invblock{2-} +\invblock<2-> \end{dynblock} \end{column} \begin{column}{0.4\textwidth} \setalignment{center} \begin{dynblock} -\opaqueblock{2}{hello this is another dynamic block} +\opaqueblock<2>{hello this is another dynamic block} \end{dynblock} \end{column} \end{columns} @@ -481,12 +482,12 @@ will lead to figures \ref{fig:cmbx1} and \ref{fig:cmbx2}. \begin{figure}[ht] \centering \subfloat[First frame]{ -\includegraphics[scale=0.48]{./images/cmbx_1} +\includegraphics[scale=0.45]{./images/cmbx_1} \label{fig:cmbx1}% } \hspace*{0.1cm} \subfloat[Second frame]{ -\includegraphics[scale=0.48]{./images/cmbx_2} +\includegraphics[scale=0.45]{./images/cmbx_2} \label{fig:cmbx2}% } \caption{Example with a theme that does not define structure color} @@ -507,21 +508,21 @@ The result can be improved in the following way: \begin{columns}[T] \begin{column}{0.4\textwidth} \begin{dynblock} -\opaqueblock{1}[0.8\textwidth]{hello this is a -\dynalert{2}{dynamic block} with an +\opaqueblock<1>[0.8\textwidth]{hello this is a +\dynalert<2>{dynamic block} with an \alert<1,2>{itemize} environment: \begin{itemize} \item hello \item hello again \end{itemize} } -\invblock{2-} +\invblock<2-> \end{dynblock} \end{column} \begin{column}{0.4\textwidth} \setalignment{center} \begin{dynblock} -\opaqueblock{2}{hello this is another dynamic block} +\opaqueblock<2>{hello this is another dynamic block} \end{dynblock} \end{column} \end{columns} @@ -534,12 +535,12 @@ obtaining as result the frames shown in figures \ref{fig:cmby1} and \ref{fig:cmb \begin{figure}[ht] \centering \subfloat[First frame]{ -\includegraphics[scale=0.48]{./images/cmby_1} +\includegraphics[scale=0.45]{./images/cmby_1} \label{fig:cmby1}% } \hspace*{0.1cm} \subfloat[Second frame]{ -\includegraphics[scale=0.48]{./images/cmby_2} +\includegraphics[scale=0.45]{./images/cmby_2} \label{fig:cmby2}% } \caption{Example of a theme with a posteriori structure color definition} @@ -557,7 +558,7 @@ Here is another example: \begin{document} \begin{frame}{The frame title} \begin{dynblock} -\opaqueblock{1}{hello this is a +\opaqueblock<1>{hello this is a dynamic block with an itemize environment: \begin{itemize} @@ -593,16 +594,16 @@ The decision of adopting the \emph{structure} as reference is due to the fact th \begin{frame}{A title} \begin{center} \begin{dynblock} -\opaqueblock{1}[0.6\textwidth]{hello this is a dynamic block +\opaqueblock<1>[0.6\textwidth]{hello this is a dynamic block with an itemize environment: \begin{itemize} \item hello \item hello again \end{itemize} } -\invblock{2-} +\invblock<2-> \setalignment{center} -\opaqueblock{2}{hello this is another dynamic block} +\opaqueblock<2>{hello this is another dynamic block} \end{dynblock} \end{center} \end{frame} @@ -613,12 +614,12 @@ The two frames obtained as outcome are shown in figures \ref{fig:szeg1} and \ref \begin{figure} \centering \subfloat[First frame]{ -\includegraphics[scale=0.48]{./images/szeg_1} +\includegraphics[scale=0.45]{./images/szeg_1} \label{fig:szeg1}% } \hspace*{0.1cm} \subfloat[Second frame]{ -\includegraphics[scale=0.48]{./images/szeg_2} +\includegraphics[scale=0.45]{./images/szeg_2} \label{fig:szeg2}% } \caption{Example of a customized theme} diff --git a/Master/texmf-dist/doc/latex/dynblocks/latex/dynblocks.sty b/Master/texmf-dist/doc/latex/dynblocks/latex/dynblocks.sty index b483c7a3f11..8c52e8bed98 100644 --- a/Master/texmf-dist/doc/latex/dynblocks/latex/dynblocks.sty +++ b/Master/texmf-dist/doc/latex/dynblocks/latex/dynblocks.sty @@ -94,6 +94,9 @@ \def\setinvopacity#1{\def\@invopacity{#1}} \def\@invopacity{0.4} +\def\setshadowopacity#1{\def\@shadowopacity{#1}} +\def\@shadowopacity{0.4} + %% Alignment \def\setalignment#1{\def\@alignment{#1}} @@ -123,8 +126,32 @@ \tikzset{oshadevisib/.style={rectangle,color=\thebordercol,left color=\@setleftcolor, right color=\@setrightcolor,text=black,draw,text opacity=\@visopacity, text width=#1,align=\@alignment}} \tikzset{invisib/.style={rectangle,color=gray,fill=gray!10,text=black,draw,text opacity=\@invopacity, text width=#1,align=\@alignment}} -%% Rounded corners +%% Overlays +\tikzset{ + invisible/.style={opacity=0,text opacity=0}, + visible on/.style={alt=#1{}{invisible}}, + alt/.code args={<#1>#2#3}{% + \alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} + }, + } + +%% Shadow layer +\pgfdeclarelayer{shadowback} +\pgfsetlayers{shadowback,main} + +\pgfkeys{% + /tikz/on layer/.code={ + \pgfonlayer{#1}\begingroup + \aftergroup\endpgfonlayer + \aftergroup\endgroup + }, + /tikz/node on layer/.code={ + \pgfonlayer{#1}\begingroup + \expandafter\def\expandafter\tikz@node@finish\expandafter{\expandafter\endgroup\expandafter\endpgfonlayer\tikz@node@finish}% + }, +} +%% Rounded corners \ifbool{rndcorners}{%true \tikzset{visib/.append style={rounded corners}} \tikzset{fancyvisib/.append style={rounded corners}} @@ -134,54 +161,64 @@ }{%false } -%% Shadow -\ifbool{shadowed}{%true -\tikzset{visib/.append style={drop shadow,draw}} -\tikzset{fancyvisib/.append style={drop shadow,draw}} -\tikzset{vshadevisib/.append style={drop shadow,draw}} -\tikzset{oshadevisib/.append style={drop shadow,draw}} -\tikzset{invisib/.append style={drop shadow,draw}} -}{%false -} - %% Definition of user commands and environment \newenvironment{dynblock}{\begin{tikzpicture}}{\end{tikzpicture}} \newlength\intdimension -\NewDocumentCommand{\opaqueblock}{m O{\textwidth} m}{% +\NewDocumentCommand{\opaqueblock}{r<> O{\textwidth} m}{% \setlength{\intdimension}{\z@} \addtolength{\intdimension}{#2} -\node<#1>[visib=#2] (X) {\begingroup #3 \endgroup}; +\ifbool{shadowed}{% true +\node[visib=#2,visible on=<#1>,drop shadow={opacity=\@shadowopacity,on layer=shadowback,visible on=<#1->}] (X) {\begingroup #3 \endgroup}; +}{% false +\node[visib=#2,visible on=<#1>] (X) {\begingroup #3 \endgroup}; +} \savetext{mytext}{#3} } -\NewDocumentCommand{\fancyblock}{m O{\textwidth} m}{% +\NewDocumentCommand{\fancyblock}{r<> O{\textwidth} m}{% \setlength{\intdimension}{\z@} \addtolength{\intdimension}{#2} -\node<#1>[fancyvisib=#2] (X) {\begingroup #3 \endgroup}; +\ifbool{shadowed}{% true +\node[fancyvisib=#2,visible on=<#1>,drop shadow={opacity=\@shadowopacity,on layer=shadowback,visible on=<#1->}] (X) {\begingroup #3 \endgroup}; +}{% false +\node[fancyvisib=#2,visible on=<#1>] (X) {\begingroup #3 \endgroup}; +} \savetext{mytext}{#3} } -\NewDocumentCommand{\vshadeblock}{m O{\textwidth} m}{% +\NewDocumentCommand{\vshadeblock}{r<> O{\textwidth} m}{% \setlength{\intdimension}{\z@} \addtolength{\intdimension}{#2} -\node<#1>[vshadevisib=#2] (X) {\begingroup #3 \endgroup}; +\ifbool{shadowed}{% true +\node[vshadevisib=#2,visible on=<#1>,drop shadow={opacity=\@shadowopacity,on layer=shadowback,visible on=<#1->}] (X) {\begingroup #3 \endgroup}; +}{% false +\node[vshadevisib=#2,visible on=<#1>] (X) {\begingroup #3 \endgroup}; +} \savetext{mytext}{#3} } -\NewDocumentCommand{\oshadeblock}{m O{\textwidth} m}{% +\NewDocumentCommand{\oshadeblock}{r<> O{\textwidth} m}{% \setlength{\intdimension}{\z@} \addtolength{\intdimension}{#2} -\node<#1>[oshadevisib=#2] (X) {\begingroup #3 \endgroup}; +\ifbool{shadowed}{% true +\node[oshadevisib=#2,visible on=<#1>,drop shadow={opacity=\@shadowopacity,on layer=shadowback,visible on=<#1->}] (X) {\begingroup #3 \endgroup}; +}{% false +\node[oshadevisib=#2,visible on=<#1>] (X) {\begingroup #3 \endgroup}; +} \savetext{mytext}{#3} } -\newcommand{\invblock}[1]{ -\node<#1>[invisib=\intdimension] (X) {\printthistext{\thethistext}}; +\NewDocumentCommand{\invblock}{r<>}{% +\ifbool{shadowed}{% true +\node[invisib=\intdimension,visible on=<#1>,drop shadow={opacity=\@shadowopacity,on layer=shadowback,visible on=<#1>}] (X) {\printthistext{\thethistext}}; +}{% false +\node[invisib=\intdimension,visible on=<#1>] (X) {\printthistext{\thethistext}}; +} } -\newcommand{\dynalert}[2]{\alt<#1>{\pgfsetfillopacity{1}\myalert{#2}\pgfsetfillopacity{\@invopacity}}{#2}} +\NewDocumentCommand{\dynalert}{r<> m}{\alt<#1>{\pgfsetfillopacity{1}\myalert{#2}\pgfsetfillopacity{\@invopacity}}{#2}} \endinput -- cgit v1.2.3