From 9050dab9c1fe96ee740f4b240c9f1cbdeb764d08 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 14 Jul 2006 22:42:30 +0000 Subject: powerdot update git-svn-id: svn://tug.org/texlive/trunk@1842 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/powerdot/powerdot.cls | 720 ++++++++++++++++------ 1 file changed, 520 insertions(+), 200 deletions(-) (limited to 'Master/texmf-dist/tex/latex/powerdot/powerdot.cls') diff --git a/Master/texmf-dist/tex/latex/powerdot/powerdot.cls b/Master/texmf-dist/tex/latex/powerdot/powerdot.cls index 52051a71875..207ac6d074f 100644 --- a/Master/texmf-dist/tex/latex/powerdot/powerdot.cls +++ b/Master/texmf-dist/tex/latex/powerdot/powerdot.cls @@ -6,9 +6,9 @@ %% %% powerdot.dtx (with options: `powerdot') %% -%% ---------------------------------------------------------- -%% Copyright (C) 2005 Hendri Adriaens and Christopher Ellison -%% ---------------------------------------------------------- +%% --------------------------------------------------------------- +%% Copyright (C) 2005-2006 Hendri Adriaens and Christopher Ellison +%% --------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -20,16 +20,17 @@ %% %% This work has the LPPL maintenance status "maintained". %% -%% This Current Maintainer of this work is Christopher Ellison. +%% This Current Maintainer of this work is Hendri Adriaens. %% %% This work consists of all files listed in manifest.txt. %% \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{powerdot} - [2005/10/09 v1.2 powerdot presentation class (HA,CE)] + [2005/12/06 v1.3 powerdot presentation class (HA,CE)] \newif\ifpd@overlay \newif\ifpd@section \newif\ifpd@ifsetup +\newif\ifpd@display \newcounter{note} \newcounter{slide} \newcounter{pd@pause} @@ -49,33 +50,48 @@ \let\pd@cursetup\@empty \RequirePackage{xkeyval}[2005/07/10] \define@choicekey*[pd]{class}{orient}[\pd@tempa\pd@orient]{% - landscape,portrait}[landscape]{% - \XKV@addtolist@x\pd@cursetup\pd@tempa -} + landscape,portrait}{\XKV@addtolist@x\pd@cursetup\pd@tempa} \define@choicekey*[pd]{class}{paper}[\pd@tempa\pd@paper]{% - screen,a4paper,letterpaper}[screen]{% - \XKV@addtolist@x\pd@cursetup\pd@tempa -} + screen,a4paper,letterpaper}{\XKV@addtolist@x\pd@cursetup\pd@tempa} \define@choicekey*[pd]{class}{display}[\pd@tempa\pd@display]{% - slides,notes,slidesnotes}[slides]{% - \XKV@addtolist@x\pd@cursetup\pd@tempa -} + slides,notes,slidesnotes}{\XKV@addtolist@x\pd@cursetup\pd@tempa} \define@choicekey*[pd]{class}{mode}[\pd@tempa\pd@mode]{% - present,print,handout}[present]{% - \XKV@addtolist@x\pd@cursetup\pd@tempa -} + present,print,handout}{\XKV@addtolist@x\pd@cursetup\pd@tempa} \define@boolkeys[pd]{class}[pd@@]{% nopsheader,hlentries,hlsections,blackslide,nopagebreaks% }[true] -\define@cmdkey[pd]{class}[pd@@]{size}[11pt]{% +\define@boolkey[pd]{class}[pd@@]{clock}[true]{% + \ifpd@@clock + \AtBeginDocument{% + \@Form[]% + \ifnum\pd@orient=\z@ + \def\pd@clockrot{] /R 90\@gobble}% + \else + \let\pd@clockrot\@empty + \fi + }% + \def\pd@startclock{% + function pdshowtime(){ + var pdtime=new Date(); + this.getField("pdclock.time").value= + util.printd("H:MM:ss",pdtime); + } + var tempa=app.setInterval("pdshowtime()",1000); + this.getField("pdstartclock").readonly=true; + this.getField("pdclock").readonly=true; + }% + \fi +} +\define@cmdkey[pd]{class}[pd@@]{size}{% \def\pd@tempa##1pt{##1}% \edef\pd@@size{\expandafter\pd@tempa\pd@@size}% } -\define@cmdkey[pd]{class}[pd@@]{style}[default]{} +\define@cmdkey[pd]{class}[pd@@]{style}{} \define@key[pd]{class}{fleqn}[]{\input{fleqn.clo}} \define@key[pd]{class}{leqno}[]{\input{leqno.clo}} \presetkeys[pd]{class}{% - size,style,orient,paper,display,hlentries,mode}{} + size=11pt,style=default,orient=landscape,paper=screen,% + display=slides,hlentries=true,mode=present}{} \ProcessOptionsX[pd]\relax \def\pd@warn{\ClassWarning{powerdot}} \def\pd@error#1{\ClassError{powerdot}{#1}\@ehd} @@ -84,7 +100,6 @@ `\pd@@style' style does not support portrait orientation }\fi\fi } -\def\@nameedef#1{\expandafter\edef\csname#1\endcsname} \ifnum\pd@mode>0 \ifnum\pd@paper=\z@ \@expandtwoargs\@removeelement{screen}\pd@cursetup\pd@cursetup @@ -96,6 +111,7 @@ \fi \fi \ifnum\pd@mode=2 + \newbox\pd@textbox \ifnum\pd@orient=\z@ \@expandtwoargs\@removeelement{landscape}\pd@cursetup\pd@cursetup \XKV@addtolist@x\pd@cursetup{portrait} @@ -137,9 +153,7 @@ \RequirePackage{pstricks}[2004/05/12] \RequirePackage{xcolor}[2004/05/09] \RequirePackage{enumitem}[2004/07/19] -\RequirePackage{float} -\newfloat{table}{H}{lot} -\newfloat{figure}{H}{lof} +\RequirePackage{verbatim} \ifnum\pd@mode<2 \pagestyle{empty} \fi @@ -175,7 +189,6 @@ \def\@pdfcreator{LaTeX with powerdot class} \ifpd@@blackslide\def\@pdfstartpage{2}\fi \AtBeginDocument{% - \let\pd@color\XC@current@color \ifpd@@blackslide \begin{blackslide}[toc=,bm=,trans=Replace]{}% \end{blackslide}% @@ -185,9 +198,9 @@ \immediate\write\@auxout{\string\newlabel{lastslide}% {{}{\the\c@slide}{\relax}{}{}}}% } -\define@cmdkeys[pd]{global}[pd@@]{lf,rf}[] -\define@key[pd]{global}{theslide}[]{\def\theslide{#1}} -\define@key[pd]{global}{thenote}[]{\def\thenote{#1}} +\define@cmdkeys[pd]{global}[pd@@]{lf,rf} +\define@key[pd]{global}{theslide}{\def\theslide{#1}} +\define@key[pd]{global}{thenote}{\def\thenote{#1}} \define@key[pd]{global}{enumerate}{% \ifx\enit@enum\@undefined \def\enit@enum{#1}% @@ -214,15 +227,56 @@ } \def\pd@@counters{table,figure,equation,footnote,mpfootnote} \define@cmdkey[pd]{glslide}[pd@@]{trans}{} -\setkeys[pd]{global,glslide}{% - lf,rf,theslide=\arabic{slide}~/~\pageref*{lastslide},% +\define@cmdkey[pd]{glslide}[pd@@]{palette}{% + \ifnum\pd@mode<2 + \XKV@ifundefined{pd@pe@\pd@@palette @colors}{% + \pd@error{palette `\pd@@palette' not defined}% + }{% + \@nameuse{pd@pe@\pd@@palette @colors}% + \color{pdcolor1}% + \let\default@color\current@color + \let\pd@color\XC@current@color + }% + \pd@countcolors + \fi +} +\define@choicekey*[pd]{glslide}{method}[\pd@tempa\pd@method]{% + normal,file,direct}{% + \ifnum\pd@method=2 + \ifx\pd@textbox\@undefined\newbox\pd@textbox\fi + \fi +} +\define@boolkey[pd]{glslide}[pd@@]{randomdots}[true]{% + \ifx\randomi\@undefined + \InputIfFileExists{random}{\newcount\pd@tempcnta}{% + \global\pd@@randomdotsfalse + \pd@warn{random.tex not found, random dots canceled}% + }% + \fi + \ifnum\pd@mode=\tw@\global\pd@@randomdotsfalse\fi +} +\define@cmdkeys[pd]{glslide}[pd@@]{% + dminsize,dmaxsize,dbright,dmindots,dmaxdots,dminwidth,dmaxwidth,% + dminheight,dmaxheight,dprop,logohook,logopos% +} +\define@key[pd]{glslide}{logocmd}{% + \ifx\pd@logobox\@undefined\newbox\pd@logobox\fi + \sbox\pd@logobox{#1}% +} +\setkeys[pd]{glslide,global}{% + lf=,rf=,theslide=\arabic{slide}~/~\pageref*{lastslide},% thenote=note~\arabic{note}~of~slide~\arabic{slide},% - trans=Replace% + trans=Replace,dminsize=5pt,dmaxsize=40pt,dminwidth=0pt,% + dmaxwidth=\slidewidth,dminheight=0pt,dbright=60,% + dmaxheight=\slideheight,dmindots=5,dmaxdots=40,dprop=,% + logohook=tl,logopos=,logocmd=,method=normal% } +\def\pdsetup{\setkeys[pd]{global,glslide}} \AtBeginDocument{% - \disable@keys[pd]{global}{lf,rf,list,counters,theslide,thenote}% + \disable@keys[pd]{global}{% + lf,rf,theslide,thenote,enumerate,itemize,list,counters% + }% } -\def\pdsetup{\setkeys[pd]{global,glslide}} \define@cmdkeys[pd]{slide}[pd@@]{toc,bm} \def\pdifsetup#1{% \edef\pd@tempb{#1}% @@ -264,7 +318,9 @@ tocsecindent,tocslideindent,% lfhook,lfpos,lffont,lftemp,% rfhook,rfpos,rffont,rftemp,% - iacolor% + iacolor,% + clockhook,clockpos,clockwidth,clockheight,% + clockcharsize,clockalign,clockcolor% }\pd@tempb{\expandafter\pd@tempa\expandafter{\pd@tempb}} \define@cmdkey[pd]{template}[pd@@]{ifsetup}[]{% \pd@pdifsetup\pd@@ifsetup{landscape,portrait}% @@ -273,104 +329,263 @@ \pd@pdifsetup\pd@@ifsetup{present,print,handout}% \pd@pdifs@tup\pd@@ifsetup\pd@ifsetuptrue\pd@ifsetupfalse } +\define@choicekey*[pd]{template}{tocorient}[\pd@tempa\pd@tocorient]{% + v,h}{} +\define@choicekey*[pd]{template}{stocorient}[\pd@tempa\pd@stocorient]{% + v,h}{} +\define@choicekey*[pd]{template}{ntocorient}[\pd@tempa\pd@ntocorient]{% + v,h}{} \setkeys[pd]{template}{% ifsetup,% - titlehook=Bl,titlepos,titlewidth=\slidewidth,% - titlefont=\raggedright,texthook=lt,textpos,% + titlehook=Bl,titlepos=,titlewidth=\slidewidth,% + titlefont=\raggedright,texthook=tl,textpos=,% textwidth=\slidewidth,textfont=\raggedright,% textheight=\slideheight,% - tochook=lt,tocpos,tocwidth=.2\slidewidth,% + tochook=tl,tocpos=,tocwidth=.2\slidewidth,% tocfont=\tiny\raggedright,% - stochook=lt,stocpos,stocwidth=.2\slidewidth,% + stochook=tl,stocpos=,stocwidth=.2\slidewidth,% stocfont=\tiny\raggedright,% - ntochook=lt,ntocpos,ntocwidth=.2\slidewidth,% + ntochook=tl,ntocpos=,ntocwidth=.2\slidewidth,% ntocfont=\tiny\raggedright,% + tocorient=v,stocorient=v,ntocorient=v,% tocfrsep=.5mm,tocsecsep=2ex,tocslidesep=0ex,% - tocsecm,toctcolor=black,tochlcolor=black,tochltcolor=white,% + tocsecm=,toctcolor=black,tochlcolor=black,tochltcolor=white,% tocsecindent=0pt,tocslideindent=0pt,% - lfhook=lB,lfpos,lffont=\scriptsize,lftemp=\pd@@lf,% - rfhook=rB,rfpos,rffont=\scriptsize,rftemp=\pd@@rf\ifx\pd@@rf\@empty + lfhook=Bl,lfpos=,lffont=\scriptsize,lftemp=\pd@@lf,% + rfhook=Br,rfpos=,rffont=\scriptsize,rftemp=\pd@@rf\ifx\pd@@rf\@empty \else\ifx\theslide\@empty\else~--~\fi\fi\theslide,% - iacolor=lightgray% + iacolor=lightgray,% + clockhook=tr,clockpos=,clockwidth=3cm,clockheight=\baselineskip,% + clockcharsize=14pt,clockalign=2,clockcolor=black% +} +\def\pddefinepalettes#1#2{% + \ifx\pd@nopalettes\@undefined\@tempcnta\z@\else + \@tempcnta\pd@nopalettes + \fi + \pd@pddefinepalettes{#1}{#2}% +} +\def\pd@pddefinepalettes#1#2{% + \advance\@tempcnta\@ne + \@namedef{pd@pe@\the\@tempcnta @name}{#1}% + \@namedef{pd@pe@#1@colors}{#2}% + \@ifnextchar\bgroup\pd@pddefinepalettes{% + \edef\pd@nopalettes{\the\@tempcnta}% + }% +} +\def\pd@countcolors{% + \@tempcnta\@ne + \@whilesw\ifx\pd@nocolors\@undefined\fi{% + \XKV@ifundefined{\string\color@pdcolor\the\@tempcnta}{% + \advance\@tempcnta\m@ne + \edef\pd@nocolors{\the\@tempcnta}% + }{\advance\@tempcnta\@ne}% + }% +} +\AtBeginDocument{% + \ifx\pd@nopalettes\@undefined\else\ifx\pd@@palette\@undefined + \@nameuse{pd@pe@\@nameuse{pd@pe@1@name}@colors}% + \color{pdcolor1}% + \let\default@color\current@color + \let\pd@color\XC@current@color + \fi\fi + \ifnum\pd@mode=2 + \color{black}% + \def\pd@@iacolor{black}% + \let\default@color\current@color + \let\pd@color\XC@current@color + \else\pd@countcolors\fi } \def\pddefinetemplate{\@testopt\pd@pddefinetemplate{}} \def\pd@pddefinetemplate[#1]#2#3#4{% \@namedef{#2}{\pd@getargsandbody{#2}}% - \@namedef{end#2}{\pd@slide}% + \@namedef{end#2}{\ifpd@display\pd@slide\fi}% \ifx\@empty#1\@empty \@namedef{pd@template@#2@options}{\setkeys[pd]{template}{#3}}% \@namedef{pd@template@#2@bg}{#4}% \else \XKV@ifundefined{pd@template@#1@options}{% \pd@error{template `#1' undefined}}{% - \pd@namelet{pd@template@#2@options}{pd@template@#1@options}% - \expandafter - \XKV@addtomacro@n\csname pd@template@#2@options\endcsname - {\setkeys[pd]{template}{ifsetup,#3}}% - \pd@namelet{pd@template@#2@bg}{pd@template@#1@bg}\expandafter - \XKV@addtomacro@n\csname pd@template@#2@bg\endcsname{#4}% + \def\pd@tempa{#1}\def\pd@tempb{#2}% + \ifx\pd@tempa\pd@tempb + \pd@namelet{pd@template@#2@options}{pd@template@#1@options}% + \expandafter + \XKV@addtomacro@n\csname pd@template@#2@options\endcsname + {\setkeys[pd]{template}{ifsetup,#3}}% + \pd@namelet{pd@template@#2@bg}{pd@template@#1@bg}\expandafter + \XKV@addtomacro@n\csname pd@template@#2@bg\endcsname{#4}% + \else + \@namedef{pd@template@#2@bg}{\@nameuse{pd@template@#1@bg}#4}% + \@namedef{pd@template@#2@options}{% + \@nameuse{pd@template@#1@options}% + \setkeys[pd]{template}{ifsetup,#3}% + }% + \fi }% \fi } -\def\pd@namelet#1#2{% - \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname -} \def\pd@getargsandbody#1{\@testopt{\pd@get@rgsandbody{#1}}{}} \def\pd@get@rgsandbody#1[#2]#3{% - \setkeys[pd]{glslide,slide}{#2}% - \def\pd@t@tle{#3}% - \pd@body{}% - \pd@get@rgs@ndbody{#1}% -} -\long\def\pd@get@rgs@ndbody#1#2\end#3{% - \def\pd@tempa{#1}% - \def\pd@tempb{#3}% - \ifx\pd@tempa\pd@tempb - \pd@body\expandafter{\the\pd@body#2}% - \def\pd@tempa{\end{#1}}% + \pd@get@rgs@ndbody{#2}{#3}% + \ifcase\ifnum\pd@method>\z@\ifpd@display\@ne\fi\fi\z@ + \pd@body{}% + \def\pd@tempa{\pd@get@rgs@ndb@dy{#1}}% \else - \pd@body\expandafter{\the\pd@body#2\end{#3}}% - \def\pd@tempa{\pd@get@rgs@ndbody{#1}}% + \ifnum\pd@method=\@ne + \def\pd@tempa{% + \immediate\openout\@inputcheck\jobname.vrb\relax + \def\verbatim@processline{% + \immediate\write\@inputcheck{\the\verbatim@line}% + }% + \begingroup\let\do\@makeother\dospecials\catcode`\^^M\active + \verbatim@start + }% + \@namedef{end#1}{% + \endgroup\immediate\closeout\@inputcheck + \let\verbatim@processline\pd@orig@verbatim@processline + \pd@slide + }% + \else + \pd@deloverlays + \let\pd@tempa\pd@sl@de + \@namedef{end#1}{% + \end{pd@minipage}\end{lrbox}% + \ifx\pd@@textpos\@empty\else + \rput[\pd@@texthook](\pd@@textpos){\usebox\pd@textbox}% + \fi + }% + \fi \fi \pd@tempa } -\def\pd@slide{% +\def\pd@get@rgs@ndbody#1#2{% + \setkeys[pd]{glslide,slide}{#1}% + \def\pd@t@tle{#2}% + \pd@displaytrue \def\pd@tempa{note}% - \let\pd@tempb\pd@sl@de \ifcase\pd@display - \ifx\@currenvir\pd@tempa\let\pd@tempb\relax\fi + \ifx\@currenvir\pd@tempa\relax\pd@displayfalse\fi \or \ifx\@currenvir\pd@tempa\else \def\pd@tempa{titleslide}% \ifx\@currenvir\pd@tempa\else - \let\pd@tempb\relax + \pd@displayfalse \stepcounter{slide}% \fi \fi \fi - \pd@tempb } -\def\pd@sl@de{% +\long\def\pd@get@rgs@ndb@dy#1#2\end#3{% + \def\pd@tempa{#1}% + \def\pd@tempb{#3}% + \ifx\pd@tempa\pd@tempb + \pd@body\expandafter{\the\pd@body#2}% + \def\pd@tempa{\end{#1}}% + \else + \pd@body\expandafter{\the\pd@body#2\end{#3}}% + \def\pd@tempa{\pd@get@rgs@ndb@dy{#1}}% + \fi + \pd@tempa +} +\def\pd@slide{% \pd@overlayfalse \def\pd@nooverlays{1}% \setcounter{pd@overlay}\@ne \let\pd@labels\@empty - \pd@savecounters - \pd@sl@d@ + \XKV@for@o\pd@@counters\pd@tempa{% + \expandafter\xdef\csname pd@counter@\pd@tempa\endcsname{% + \expandafter\the\csname c@\pd@tempa\endcsname + }% + }% + \pd@sl@de \@whilenum\c@pd@overlay<\pd@nooverlays\do{% \pd@overlaytrue - \pd@restorecounters + \XKV@for@o\pd@@counters\pd@tempa{% + \setcounter{\pd@tempa}{\csname pd@counter@\pd@tempa\endcsname}% + }% \stepcounter{pd@overlay}% - \pd@sl@d@ + \ifpd@@randomdots + \let\pd@trandim\pd@randim + \let\pd@tranpos\pd@ranpos + \let\pd@trancol\pd@rancol + \fi + \pd@sl@de }% } -\def\pd@sl@d@{% +\def\pd@sl@de{% \stepcounter{slide}\newpage \edef\@currentlabel{\the\c@slide}% \pst@Verb{InitOL /TheOL (0) def}% \pst@Verb{(0) BOL}% \@nameuse{pd@template@\@currenvir @options}% - {\@nameuse{pd@template@\@currenvir @bg}}% + \@nameuse{pd@template@\@currenvir @bg}% + \ifpd@@randomdots + \ifpd@overlay\else\ifnum\pd@nocolors>\z@ + \let\pd@randim\@empty + \let\pd@ranpos\@empty + \let\pd@rancol\@empty + \setrannum\pd@tempcnta\pd@@dmindots\pd@@dmaxdots + \edef\pd@nodots{\the\pd@tempcnta}% + \pd@tempcnta\z@ + \@whilesw\ifnum\pd@tempcnta<\pd@nodots\fi{% + \advance\pd@tempcnta\@ne + \setrandim\@tempdima\pd@@dminsize\pd@@dmaxsize + \XKV@addtolist@x\pd@randim{\the\@tempdima}% + \setrandim\@tempdima\pd@@dminwidth\pd@@dmaxwidth + \setrandim\@tempdimb\pd@@dminheight\pd@@dmaxheight + \XKV@addtolist@x\pd@ranpos{\the\@tempdima,\the\@tempdimb}% + \setrannum\@tempcntb1\pd@nocolors + \XKV@addtolist@x\pd@rancol{\the\@tempcntb}% + }% + \let\pd@trandim\pd@randim + \let\pd@tranpos\pd@ranpos + \let\pd@trancol\pd@rancol + \else\let\pd@nodots\z@\fi\fi + \@tempcnta\z@ + \@whilesw\ifnum\@tempcnta<\pd@nodots\fi{% + \advance\@tempcnta\@ne + \pd@pop\pd@trandim\pd@tempa\pd@pop\pd@tranpos\pd@tempb + \pd@pop\pd@tranpos\pd@tempc\pd@pop\pd@trancol\pd@tempd + \ifnum\pd@@dbright<\z@ + \@tempcntb\pd@@dbright + \advance\@tempcntb100 + \edef\pd@tempd{\pd@tempd!\the\@tempcntb!black}% + \else + \@tempcntb-\pd@@dbright + \advance\@tempcntb100 + \edef\pd@tempd{\pd@tempd!\the\@tempcntb}% + \fi + {\ifx\pd@@dprop\@empty\else + \expandafter\psset\expandafter{\pd@@dprop}% + \fi + \psdot[dotsize=\pd@tempa,linecolor=pdcolor\pd@tempd]% + (\pd@tempb,\pd@tempc)}% + }% + \fi + \ifx\pd@@logopos\@empty\else + \ifx\pd@logobox\@undefined\else + \rput[\pd@@logohook](\pd@@logopos){\usebox\pd@logobox}% + \fi + \fi + \ifpd@@clock + \ifnum\c@slide=\@ne + \rput(0,-1){% + \TextField[format=\pd@startclock,name=pdstartclock,% + bordercolor={},backgroundcolor={},height=0bp,width=0bp]{}% + }% + \fi + \def\pd@tempa##1,##2,##3\@nil{##1 ##2 ##3}% + \extractcolorspec\pd@@clockcolor\pd@tempb + \expandafter\convertcolorspec\pd@tempb{rgb}\pd@tempb + \edef\pd@tempa{\expandafter\pd@tempa\pd@tempb\@nil}% + \ifx\pd@@clockpos\@empty\else + \rput[\pd@@clockhook](\pd@@clockpos){% + \TextField[name=pdclock.time,bordercolor=\pd@clockrot,% + backgroundcolor={},align=\pd@@clockalign,color=\pd@tempa,% + charsize=\pd@@clockcharsize,width=\pd@@clockwidth,% + height=\pd@@clockheight]{}% + }% + \fi + \fi \pd@pdftrans \ifpd@overlay \addtocounter{slide}\m@ne @@ -409,23 +624,29 @@ \fi \ifx\pd@@tocpos\@empty\else \rput[\pd@@tochook](\pd@@tocpos){% - \begin{minipage}\pd@@tocwidth - \let\pd@usedtocfont\pd@@tocfont\pd@puttoc0% - \end{minipage}% + \ifnum\pd@tocorient=\z@\begin{minipage}\pd@@tocwidth\fi + \let\pd@usedtocfont\pd@@tocfont + \let\pd@usedtocorient\pd@tocorient + \pd@puttoc0% + \ifnum\pd@usedtocorient=\z@\end{minipage}\fi }% \fi \ifx\pd@@stocpos\@empty\else \rput[\pd@@stochook](\pd@@stocpos){% - \begin{minipage}\pd@@stocwidth - \let\pd@usedtocfont\pd@@stocfont\pd@puttoc1% - \end{minipage}% + \ifnum\pd@stocorient=\z@\begin{minipage}\pd@@tocwidth\fi + \let\pd@usedtocfont\pd@@stocfont + \let\pd@usedtocorient\pd@stocorient + \pd@puttoc1% + \ifnum\pd@usedtocorient=\z@\end{minipage}\fi }% \fi \ifx\pd@@ntocpos\@empty\else \rput[\pd@@ntochook](\pd@@ntocpos){% - \begin{minipage}\pd@@ntocwidth - \let\pd@usedtocfont\pd@@ntocfont\pd@puttoc2% - \end{minipage}% + \ifnum\pd@ntocorient=\z@\begin{minipage}\pd@@tocwidth\fi + \let\pd@usedtocfont\pd@@ntocfont + \let\pd@usedtocorient\pd@ntocorient + \pd@puttoc2% + \ifnum\pd@usedtocorient=\z@\end{minipage}\fi }% \fi \ifx\pd@@lfpos\@empty\else @@ -434,56 +655,28 @@ \ifx\pd@@rfpos\@empty\else \rput[\pd@@rfhook](\pd@@rfpos){\pd@@rffont\pd@@rftemp}% \fi - \ifx\pd@@textpos\@empty\else - \rput[\pd@@texthook](\pd@@textpos){% - \begin{pd@minipage}% - \pd@@textfont\the\pd@body - \end{pd@minipage}% - }% - \fi -} -\def\pd@minipage{% - \leavevmode - \@pboxswfalse - \setlength\@tempdima\pd@@textwidth - \def\@mpargs{{t}{\pd@@textheight}[t]{\pd@@textwidth}}% - \setbox\@tempboxa\vbox\bgroup - \color@begingroup - \hsize\@tempdima - \textwidth\hsize - \columnwidth\hsize - \@parboxrestore - \let\@footnotetext\@mpfootnotetext - \let\@listdepth\@mplistdepth - \@mplistdepth\z@ - \@minipagerestore - \@setminipage -} -\def\endpd@minipage{% - \par - \unskip - \ifvoid\@mpfootins\else - \vfill - \normalcolor - \footnoterule - \unvbox\@mpfootins + \ifnum\pd@method<2 + \ifx\pd@@textpos\@empty\else + \rput[\pd@@texthook](\pd@@textpos){% + \pd@sl@d@ + \ifnum\pd@method=\z@\the\pd@body\else + \input \jobname.vrb + \fi + \end{pd@minipage}% + }% \fi - \@minipagefalse - \color@endgroup - \egroup - \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}% -} -\def\pd@savecounters{% - \XKV@for@o\pd@@counters\pd@tempa{% - \expandafter\xdef\csname pd@counter@\pd@tempa\endcsname{% - \expandafter\the\csname c@\pd@tempa\endcsname - }% - }% + \let\pd@tempa\relax + \else + \def\pd@tempa{\begin{lrbox}\pd@textbox\pd@sl@d@}% + \fi + \pd@tempa } -\def\pd@restorecounters{% - \XKV@for@o\pd@@counters\pd@tempa{% - \setcounter{\pd@tempa}{\csname pd@counter@\pd@tempa\endcsname}% - }% +\def\pd@sl@d@{% + \begin{pd@minipage}% + \let\pd@tempa\color + \def\color##1{\pd@tempa{##1}\let\default@color\current@color}% + \pd@@textfont + \let\color\pd@tempa } \def\pd@notet{0} \pddefinetemplate{note}{% @@ -520,8 +713,9 @@ } \pddefinetemplate{emptyslide}{textpos={0,\slideheight}}{} \let\pd@orig@maketitle\maketitle -\def\maketitle{% - \begin{titleslide}[toc=,bm=,trans=Replace]{}% +\def\maketitle{\@testopt\pd@maketitle{}} +\def\pd@maketitle[#1]{% + \begin{titleslide}[#1,toc=,bm=,trans=Replace]{}% \let\footnote\thanks \def\thefootnote{\@fnsymbol\c@footnote}% {\pd@title{\pd@@titlefont\@title}\par}{% @@ -681,7 +875,11 @@ \ifx\pd@tempa\relax\else \if@tempswa\@tempswafalse\else \pd@usedtocfont - \ifnum#1=\z@\vskip\pd@@tocslidesep\else\vskip\pd@@tocsecsep\fi + \ifnum\pd@usedtocorient=\z@ + \ifnum#1=\z@\vskip\pd@@tocslidesep\else\vskip\pd@@tocsecsep\fi + \else + \ifnum#1=\z@\hskip\pd@@tocslidesep\else\hskip\pd@@tocsecsep\fi + \fi \fi \ifnum#1=\z@\else\pd@@tocsecm\fi \ifcase\pd@toctype @@ -702,13 +900,13 @@ \advance\@tempdimb-\pd@@tocsecindent \hyperlink{slide.#2}{\pd@tempa{\pd@tocsection{#3}}}% \fi - \par + \ifnum\pd@usedtocorient=\z@\par\fi \fi } \define@choicekey[pd]{toc}{content}[\pd@tempa\pd@content]{% - all,sections,currentsection,future,futuresections}[all]{} -\define@choicekey[pd]{toc}{type}[\pd@tempa\pd@type]{0,1}[0]{} -\presetkeys[pd]{toc}{content,type}{} + all,sections,currentsection,future,futuresections}{} +\define@choicekey[pd]{toc}{type}[\pd@tempa\pd@type]{0,1}{} +\presetkeys[pd]{toc}{content=all,type=0}{} \def\tableofcontents{\@testopt\pd@tableofcontents{}} \def\pd@tableofcontents[#1]{% \begingroup @@ -760,9 +958,9 @@ \endgroup } \define@choicekey*[pd]{section}{tocsection}[\pd@tempa\pd@tempb]{% - false,true,hidden}[true]{} + false,true,hidden}{} \define@boolkey[pd]{section}[pd@@]{slide}[true]{} -\define@cmdkey[pd]{section}[pd@@]{template}[slide]{% +\define@cmdkey[pd]{section}[pd@@]{template}{% \def\pd@tempa{slide}% \ifx\pd@@template\pd@tempa \let\pd@@template\pd@@sectemp @@ -773,9 +971,9 @@ \fi \fi } -\presetkeys[pd]{section}{tocsection,slide,template}{} -\define@cmdkeys[pd]{section}[pd@@]{sectemp,widesectemp}[slide] -\setkeys[pd]{section}{sectemp,widesectemp} +\presetkeys[pd]{section}{tocsection=true,slide=true,template=slide}{} +\define@cmdkeys[pd]{section}[pd@@]{sectemp,widesectemp} +\setkeys[pd]{section}{sectemp=slide,widesectemp=slide} \AtBeginDocument{\disable@keys[pd]{section}{sectemp,widesectemp}} \let\pd@orig@section\section \def\section{\@testopt\pd@section{}} @@ -815,8 +1013,9 @@ \fi \endgroup } -\def\onslide{\XKV@ifstar{\pd@onslide1}{% - \XKV@ifplus{\pd@onslide2}{\pd@onslide0}}% +\def\onslide{% + \@ifnextchar-\pd@@nslide{\XKV@ifstar{\pd@onslide1}{% + \XKV@ifplus{\pd@onslide2}{\pd@onslide0}}}% } \def\pd@onslide#1#2{% \pd@testdisp0{#2}% @@ -955,8 +1154,15 @@ \global\let\pd@revert\@gobble \ignorespaces } -\define@cmdkey{enumitem}[pd@@]{type}[0]{} -\def\pd@@type{0} +\def\pd@deloverlays{% + \def\pd@hide##1{}% + \def\pd@onslide##1##2{\@firstofone}% + \let\@trivlist\pd@orig@@trivlist + \let\endtrivlist\pd@orig@endtrivlist + \def\pd@item[##1]<##2>{\pd@orig@item[##1]\leavevmode\ignorespaces}% +} +\define@cmdkey{enumitem}[pd@@]{type}{} +\setkeys{enumitem}{type=0} \def\pd@pdftrans{% \@expandtwoargs\in@{,\pd@@trans,}{% ,Split,Blinds,Box,Wipe,Dissolve,Glitter,% @@ -975,15 +1181,16 @@ \define@cmdkeys[pd]{twocolumn}[pd@@]{% lineheight,lfrheight,rfrheight,lcolwidth,rcolwidth,% topsep,bottomsep,indent,lineprop,lfrprop,rfrprop% -}[] +} \define@key[pd]{twocolumn}{colsep}{\setlength\pd@colsep{#1}} \define@key[pd]{twocolumn}{frsep}{\setlength\pd@frsep{#1}} \presetkeys[pd]{twocolumn}{frsep=1.5mm,colsep=.06\linewidth,% lcolwidth=.47\linewidth,rcolwidth=.47\linewidth,topsep=0cm,% - bottomsep=0cm,indent=0cm,lineprop,lfrprop,rfrprop% + bottomsep=0cm,indent=0cm,lineprop=,lfrprop=,rfrprop=,% + lineheight=,lfrheight=,rfrheight=% }{} -\def\pd@maxdim#1#2{\ifdim#1>#2#1\else#2\fi} -\long\def\twocolumn#1#2#3{% +\def\twocolumn{\@testopt\pd@twocolumn{}} +\long\def\pd@twocolumn[#1]#2#3{% \setkeys[pd]{twocolumn}{#1}% \sbox\pd@tba{\begin{minipage}\pd@@lcolwidth#2\end{minipage}}% \setlength\@tempdima{\the\ht\pd@tba}% @@ -992,27 +1199,27 @@ \setlength\@tempdimb{\the\ht\pd@tbb}% \addtolength\@tempdimb{\the\dp\pd@tbb}% \setlength\@tempdimc{\pd@maxdim\@tempdima\@tempdimb}% - \ifx\pd@@lfrheight\@undefined\else + \ifx\pd@@lfrheight\@empty\else \setlength\@tempdimc{\pd@maxdim\pd@@lfrheight\@tempdimc}% \fi - \ifx\pd@@lineheight\@undefined\else + \ifx\pd@@lineheight\@empty\else \setlength\@tempdimc{\pd@maxdim\pd@@lineheight\@tempdimc}% \fi - \ifx\pd@@rfrheight\@undefined\else + \ifx\pd@@rfrheight\@empty\else \setlength\@tempdimc{\pd@maxdim\pd@@rfrheight\@tempdimc}% \fi \begin{pspicture}(-\pd@@indent,\pd@@topsep)(\linewidth,-\@tempdimc)% \psset{linewidth=.25pt,linecolor=\pd@color}% \setlength\@tempdima\pd@@lcolwidth \addtolength\@tempdima\pd@frsep - \ifx\pd@@lfrheight\@undefined\else + \ifx\pd@@lfrheight\@empty\else \expandafter\psframe\expandafter[\pd@@lfrprop]% (-\pd@frsep,\pd@frsep)(\@tempdima,-\pd@@lfrheight)% \fi \rput[tl](0,0){\usebox\pd@tba}% \setlength\@tempdima\pd@@lcolwidth \addtolength\@tempdima{.5\pd@colsep}% - \ifx\pd@@lineheight\@undefined\else + \ifx\pd@@lineheight\@empty\else \expandafter\psline\expandafter[\pd@@lineprop]% (\@tempdima,\pd@frsep)(\@tempdima,-\pd@@lineheight)% \fi @@ -1022,13 +1229,21 @@ \setlength\@tempdimb\@tempdima \addtolength\@tempdimb\pd@@rcolwidth \addtolength\@tempdimb{2\pd@frsep}% - \ifx\pd@@rfrheight\@undefined\else + \ifx\pd@@rfrheight\@empty\else \expandafter\psframe\expandafter[\pd@@rfrprop]% (\@tempdima,\pd@frsep)(\@tempdimb,-\pd@@rfrheight)% \fi \rput[tl](\@tempdimc,0){\usebox\pd@tbb}% \end{pspicture}\par } +\renewenvironment{figure}[1][]{% + \def\@captype{figure}% + \par\begin{center}% +}{\par\end{center}} +\renewenvironment{table}[1][]{% + \def\@captype{table}% + \par\begin{center}% +}{\par\end{center}} \renewenvironment{thebibliography}[1]{% \list{\@biblabel{\@arabic\c@enumiv}}{% \settowidth\labelwidth{\@biblabel{#1}}% @@ -1051,15 +1266,67 @@ } \def\pddefinelyxtemplate#1#2{\def#1{\pd@lyxgetargsandbody{#2}}} \def\pd@lyxgetargsandbody#1{\@testopt{\pd@lyxget@rgsandbody{#1}}{}} -\long\def\pd@lyxget@rgsandbody#1[#2]#3#4\lyxend{% +\def\pd@lyxget@rgsandbody#1[#2]#3{% \begingroup - \def\@currenvir{#1}% - \setkeys[pd]{glslide,slide}{#2}% - \def\pd@t@tle{#3}% - \pd@body{#4}% - \pd@slide + \def\@currenvir{#1}% + \pd@get@rgs@ndbody{#2}{#3}% + \ifcase\ifnum\pd@method>\z@\ifpd@display\@ne\fi\fi\z@ + \let\pd@tempa\pd@lyxget@rgs@ndbody + \else + \ifnum\pd@method=\@ne + \def\pd@tempa{% + \immediate\openout\@inputcheck\jobname.vrb\relax + \def\verbatim@processline{% + \pd@lyxget@rgs@ndb@dy + \ifin@ + \def\pd@tempa########1########2########3########4{}% + \def\next{% + \endgroup\immediate\closeout\@inputcheck + \let\verbatim@processline\pd@orig@verbatim@processline + \pd@slide\endgroup + \immediate\openout\@inputcheck\jobname.vrb\relax + \immediate\write\@inputcheck{\pd@lyxrem}% + \immediate\closeout\@inputcheck + \immediate\openin\@inputcheck\jobname.vrb\relax + \immediate\read\@inputcheck to\pd@tempa + \immediate\closein\@inputcheck\pd@tempa + }% + \else + \immediate\write\@inputcheck{\the\verbatim@line}% + \let\pd@tempa\relax + \fi + \pd@tempa + }% + \begingroup\let\do\@makeother\dospecials\catcode`\^^M\active + \verbatim@start + }% + \else + \pd@deloverlays + \let\pd@tempa\pd@sl@de + \def\lyxend{% + \end{pd@minipage}\end{lrbox}% + \ifx\pd@@textpos\@empty\else + \rput[\pd@@texthook](\pd@@textpos){\usebox\pd@textbox}% + \fi + \endgroup + }% + \fi + \fi + \pd@tempa +} +\long\def\pd@lyxget@rgs@ndbody#1\lyxend{% + \pd@body{#1}% + \ifpd@display\pd@slide\fi \endgroup } +\begingroup\lccode`\!`\\\lowercase{\endgroup +\def\pd@lyxget@rgs@ndb@dy{% + \@expandtwoargs\in@{!lyxend}{\the\verbatim@line}% + \ifin@\expandafter\pd@lyxget@rgs@ndb@d@\the\verbatim@line\@nil\fi +} +\def\pd@lyxget@rgs@ndb@d@#1!lyxend#2\@nil{% + \ifx\@empty#1\@empty\gdef\pd@lyxrem{#2}\else\in@false\fi +}} \def\lyxend{} \pddefinelyxtemplate\lyxnote{note} \pddefinelyxtemplate\lyxslide{slide} @@ -1087,14 +1354,7 @@ #1{#2}% \fi } -\else - \def\pd@hide#1{} - \let\pd@pdftrans\relax - \def\pd@onslide#1#2{\@firstofone} - \let\@trivlist\pd@orig@@trivlist - \let\endtrivlist\pd@orig@endtrivlist - \def\pd@item[#1]<#2>{\pd@orig@item[#1]\leavevmode\ignorespaces} -\fi +\else\pd@deloverlays\let\pd@pdftrans\relax\fi \ifnum\pd@mode=2 \def\pd@n@wpage{% \gdef\pd@newpage{% @@ -1103,40 +1363,52 @@ }% } \let\pd@newpage\pd@n@wpage -\def\pd@sl@de{% +\def\pd@get@rgsandbody#1[#2]#3{% + \setkeys[pd]{glslide,slide}{#2}% + \def\pd@t@tle{#3}% \def\pd@tempa{note}% - \ifx\@currenvir\pd@tempa\let\pd@tempb\relax\else + \let\pd@resa\@currenvir + \pd@displaytrue + \ifcase\pd@display + \ifx\pd@resa\pd@tempa\relax\pd@displayfalse\fi + \or + \ifx\pd@resa\pd@tempa\else\pd@displayfalse\fi + \fi + \ifx\pd@resa\pd@tempa\else \stepcounter{slide}% \edef\@currentlabel{\the\c@slide}% \let\pd@tempb\@empty \pd@maketocbm0% \hyper@anchorstart{slide.\the\c@slide}\hyper@anchorend \fi - \begin{minipage}\linewidth - \psframebox[framesep=7pt,linewidth=1pt]{% + \begin{lrbox}\pd@textbox \@tempdima\linewidth \advance\@tempdima-16pt \begin{minipage}\@tempdima - \subsection*{\pd@t@tle}% - \the\pd@body - \end{minipage}% - }% - \par\smallskip - \pd@@lf\hfill\ifx\pd@@rf\@empty\else\pd@@rf~--~\fi - \ifx\pd@tempb\relax - \ifnum\c@slide=\pd@notet - \stepcounter{note}% - \else - \setcounter{note}{1}% - \fi - \xdef\pd@notet{\the\c@slide}% - \thenote - \else\theslide\fi - \end{minipage}% - \par\bigskip - \ifpd@@nopagebreaks\else\vfill\pd@newpage\fi -} -\def\maketitle{% + \subsection*\pd@t@tle + \pd@displaytrue\raggedright +} +\def\pd@slide{% + \par\smallskip + \pd@@lf\hfill\ifx\pd@@rf\@empty\else\pd@@rf~--~\fi + \def\pd@tempa{note}% + \ifx\pd@resa\pd@tempa + \ifnum\c@slide=\pd@notet + \stepcounter{note}% + \else + \setcounter{note}{1}% + \fi + \xdef\pd@notet{\the\c@slide}% + \thenote + \else\theslide\fi + \end{minipage}\end{lrbox}% + \ifpd@display + \psframebox[framesep=7pt,linewidth=1pt]{\usebox\pd@textbox}% + \par\bigskip + \ifpd@@nopagebreaks\else\vfill\pd@newpage\fi + \fi +} +\def\pd@maketitle[#1]{% \pd@orig@maketitle \vskip50pt \pd@puttoc0% @@ -1179,6 +1451,55 @@ \endgroup } \fi +\def\@nameedef#1{\expandafter\edef\csname#1\endcsname} +\def\pd@namelet#1#2{% + \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname +} +\def\pd@pop#1#2{% + \@expandtwoargs\in@{,}{#1}% + \ifin@\expandafter\pd@p@p#1\@nil#2#1\else\let#2#1\let#1\@empty\fi +} +\def\pd@p@p#1,#2\@nil#3#4{\def#3{#1}\def#4{#2}} +\def\pd@maxdim#1#2{\ifdim#1>#2#1\else#2\fi} +\def\pd@minipage{% + \leavevmode + \@pboxswfalse + \setlength\@tempdima\pd@@textwidth + \def\@mpargs{{t}{\pd@@textheight}[t]{\pd@@textwidth}}% + \setbox\@tempboxa\vbox\bgroup + \color@begingroup + \hsize\@tempdima + \textwidth\hsize + \columnwidth\hsize + \@parboxrestore + \let\@footnotetext\@mpfootnotetext + \let\@listdepth\@mplistdepth + \@mplistdepth\z@ + \@minipagerestore + \@setminipage +} +\def\endpd@minipage{% + \par + \unskip + \ifvoid\@mpfootins\else + \vfill + \normalcolor + \footnoterule + \unvbox\@mpfootins + \fi + \@minipagefalse + \color@endgroup + \egroup + \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}% +} +\let\pd@orig@verbatim@processline\verbatim@processline +\def\psds@ocircle{\pst@gdot{ 0 0 DS 0 360 arc stroke }} +\def\psds@osquare{% + \pst@gdot{ + DS .886 mul /r ED + r r moveto r r neg L r neg r neg L r neg r L + closepath stroke }% +} \IfFileExists{powerdot-\pd@@style.sty}{ \RequirePackage{powerdot-\pd@@style} }{ @@ -1216,7 +1537,6 @@ \fi \ifx\pd@tocslide\@undefined\let\pd@tocslide\@firstofone\fi \ifx\pd@tocsection\@undefined\let\pd@tocsection\@firstofone\fi -\ifnum\pd@mode=2\color{black}\def\pd@@iacolor{black}\fi \endinput %% %% End of file `powerdot.cls'. -- cgit v1.2.3