summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/talk/README10
-rw-r--r--Master/texmf-dist/doc/latex/talk/example.tex63
-rw-r--r--Master/texmf-dist/doc/latex/talk/talkdoc.pdfbin117210 -> 141703 bytes
-rw-r--r--Master/texmf-dist/doc/latex/talk/talkdoc.tex65
-rw-r--r--Master/texmf-dist/source/latex/talk/Makefile11
-rw-r--r--Master/texmf-dist/tex/latex/talk/sidebars.sty99
-rw-r--r--Master/texmf-dist/tex/latex/talk/talk.cls71
7 files changed, 204 insertions, 115 deletions
diff --git a/Master/texmf-dist/doc/latex/talk/README b/Master/texmf-dist/doc/latex/talk/README
index 6c2b4923625..63cdd61c365 100644
--- a/Master/texmf-dist/doc/latex/talk/README
+++ b/Master/texmf-dist/doc/latex/talk/README
@@ -30,7 +30,6 @@ Requirements
The talk class requires the packages
amsmath,
- graphicx,
pgf,
multido,
hyperref.
@@ -66,3 +65,12 @@ v. 1.0.2:
- Problem with the papersize in screen mode under pdflatex fixed.
+v. 1.1:
+
+- talk is now compatible with and requires pgf version 1.18.
+
+- talk no longer requires the graphicx package.
+
+- \@makeslide is now executed inside a pgfpicture environment. Existing style
+ packages may have to be adapted.
+
diff --git a/Master/texmf-dist/doc/latex/talk/example.tex b/Master/texmf-dist/doc/latex/talk/example.tex
new file mode 100644
index 00000000000..3cadee32c3c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/talk/example.tex
@@ -0,0 +1,63 @@
+\documentclass[12pt,screen]{talk}
+%\documentclass[12pt,slides]{talk}
+%\documentclass[12pt,notes]{talk}
+
+\usepackage{sidebars}
+
+\slidesmag{1.5}
+
+\title{My Test Talk}
+\author[John Smith]{John Smith\thanks{Some bloke.}}
+
+
+\begin{document}
+
+\begin{slide}[plain]{}
+ \maketitle
+\end{slide}
+\begin{slide}[outline]{My Table of Contents}
+ \tableofcontents
+\end{slide}
+
+\section{First Section}
+
+\begin{slide}{My Title}
+ Stuff.\footnote{My footnote}
+\end{slide}
+\begin{notes}
+ Some notes about this slide.
+\end{notes}
+
+\subsection{First Subsection}
+\begin{slide}{Another Title}
+ More stuff.
+\end{slide}
+\begin{slide}{Yet Another Title}
+ Even more stuff.
+\end{slide}
+
+\subsection{Second Subsection}
+\begin{slide}{First Slide in Second Subsection}
+ Blah blah bla...
+\end{slide}
+
+\section{Second Section}
+
+\begin{slide}{A Slide in Section Two}
+ ...you get the idea.
+\end{slide}
+
+\subsection{Subsection 2.1}
+\begin{multislide}{3}{Multislide Example}
+ A few bullet points:
+ \begin{itemize}
+ \item Bullet 1
+ \fromslide{2}{\item Bullet 2}
+ {\onlyslide*{3}{\color{red}}\item Bullet 3}
+ \end{itemize}
+ \onlyslide*{1}{You can only see bullets 1 and 3.}%
+ \onlyslide*{2}{You can see all bullets.}
+ \onlyslide*{3}{Now bullet 3 is red.}
+\end{multislide}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/talk/talkdoc.pdf b/Master/texmf-dist/doc/latex/talk/talkdoc.pdf
index fda4be1bf2a..e6151637094 100644
--- a/Master/texmf-dist/doc/latex/talk/talkdoc.pdf
+++ b/Master/texmf-dist/doc/latex/talk/talkdoc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/talk/talkdoc.tex b/Master/texmf-dist/doc/latex/talk/talkdoc.tex
index 4fd0b1aa7b6..cc633b52ef4 100644
--- a/Master/texmf-dist/doc/latex/talk/talkdoc.tex
+++ b/Master/texmf-dist/doc/latex/talk/talkdoc.tex
@@ -65,8 +65,8 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
-The \pkg{talk} class requires the packages \pkg{amsmath}, \pkg{graphicx},
-\pkg{pgf}, \pkg{multido} and \pkg{hyperref}. They can all be obtained from
+The \pkg{talk} class requires the packages \pkg{amsmath}, \pkg{pgf} version 1.18
+or above, \pkg{multido} and \pkg{hyperref}. They can all be obtained from
\begin{quote}
|http://www.ctan.org|.
\end{quote}
@@ -524,22 +524,26 @@ The |slide| and |multislide| environments store the slide title in the macro
the various |\@make|\ldots\ commands you can therefore use |\@slidetitle| and
|\@slidebody| to insert the title and body of the current slide.
-\DescribeMacro{\@makeslide}
-In the |screen| or |slides| mode the |slide| and |multislide| environments call
-the |\@makeslide| command, which should produce an LR box of width |\slidewidth|
-and height |\slideheight| that contains the actual slide. In the |slides| mode
-the output of |\@makeslide| is centered on the page and scaled by the factor
-specified in the last call of the |\slidesmag| command. If the |rotate| option
-is enabled it is also rotated by 90 degrees in the counterclockwise direction.
+\DescribeMacro{\@makeslide} All the graphical wizardry in \pkg{talk} is done by
+the \pkg{pgf} package. To generate a slide the |slide| environment executes the
+macro |\@makeslide| inside a |pgfpicture| environment. Before the call to
+|\@makeslide| it executes several commands that set the bounding box of the
+picture to a box of width |\slidewidth| and height |\slideheight| and scales and
+rotates the picture in accordance with the on the compilation mode and class
+options. The |\@makeslide| macro should therefore expand to a sequence of valid
+\pkg{pgf} commands which draw the slide inside a box of width |\slidewidth| and
+height |\slideheight|, with the origin located at the lower-left corner.
+\DescribeMacro{\@slidebox} To obtain an LR box containing the properly
+scaled and rotated slide you can use the |\@slidebox| macro.
\DescribeMacro{\@makenotesslide}
If you compile in the |notes| mode the |slide| and |multislide| environments
call |\@makenotesslide| to insert the current slide. By default the
-|\@makenotesslide| command simply centers the output of |\@makeslide|
+|\@makenotesslide| command simply centers the |\@slidebox|
horizontally:
\begin{quote}
|\newcommand{\@makenotesslide}{|\\
- | \par\hspace*{\fill}\@makeslide\hspace*{\fill}\par|\\
+ | \par\hspace*{\fill}\@slidebox\hspace*{\fill}\par|\\
|}|
\end{quote}
You can change this behaviour by redefining the |\@makenotesslide| command. For
@@ -554,29 +558,20 @@ in your style definition.
To change the way the slides appear in the |screen| and |slides| mode you could
redefine the |\@makeslide| command. However, usually you'll want to draw the
-slide background with some graphics package like \pkg{pgf} and then typeset the
-contents of the slide in a parbox of width |\slidewidth| and height
-|\slideheight| placed on top of that picture.
-\DescribeMacro{\@makeslidebackground}\DescribeMacro{\@makeslidecontent} The
-\pkg{talk} class faciliates this task by allowing you to customise the commands
-|\@makeslidebackground| and |\@makeslidecontent|. The default definition for
-|\@makeslide| is
-\begin{quote}
- |\newcommand{\@makeslide}{|\\
- | \begin{pgfpicture}{0pt}{0pt}{0pt}{0pt}|\\
- | \@makeslidebackground|\\
- | \end{pgfpicture}|\\
- | \parbox[b][\slideheight][t]{\slidewidth}{|\\
- | \@makeslidecontent|\\
- | }|\\
- |}|
-\end{quote}
-Thus the |\@makeslidebackground| macro should expand to a series of \pkg{pgf}
-commands that draw the background of the slide. Note that the origin of the
-\pkg{pgf} coordinate system is at the lower left-hand corner of the slide. The
-|\@makeslidecontent| macro should expand to whatever you want to put in the
-parbox. Here, you start with the current point in the upper left corner of the
-slide.
+slide background with \pkg{pgf} and then typeset the contents of the slide in a
+minipage of width |\slidewidth| and height |\slideheight| placed on top of that
+picture.
+\DescribeMacro{\@makeslidebackground}\DescribeMacro{\@makeslidecontent}
+Therefore the \pkg{talk} class provides two macros |\@makeslidebackground| and
+|\@makeslidecontent| and a default definition for |\@makeslide| which does
+exactly the above: It executes |\@makeslidebackground| inside a |pgfpicture|
+environment, then covers the slide with a minipage of width |\slidewidth| and
+height |\slideheight| and then executes the |\@makeslidecontent| inside the
+minipage environment. Thus the |\@makeslidebackground| macro should expand to a
+series of \pkg{pgf} commands that draw the background of the slide, with the
+origin at the lower-left corner. The |\@makeslidecontent| macro should expand to
+whatever you want to put in the minipage. Here, you start with the current point
+in the upper left corner of the slide.
In this way \pkg{talk} gives you complete artistic freedom in the design of your
slides: It lets you define the macros that generate the slides while contents
@@ -718,7 +713,7 @@ email to
\bigskip
\begin{flushright}
- Martin Wiebusch, 31.07.2005
+ Martin Wiebusch, \today
\end{flushright}
\end{document}
diff --git a/Master/texmf-dist/source/latex/talk/Makefile b/Master/texmf-dist/source/latex/talk/Makefile
index 170cc77d11a..8bc7aa86e58 100644
--- a/Master/texmf-dist/source/latex/talk/Makefile
+++ b/Master/texmf-dist/source/latex/talk/Makefile
@@ -1,11 +1,12 @@
MF=Makefile
-INSTALLDIR=${HOME}/tex
+INSTALLDIR=${HOME}/share/texmf/tex/latex
SRC=\
talk.cls \
sidebars.sty \
-talkdoc.tex
+talkdoc.tex \
+example.tex
OTHER=\
README
@@ -18,12 +19,12 @@ TAR=talk.tar.gz
all: $(DOC)
$(DOC): talkdoc.tex
- latex talkdoc.tex && latex talkdoc.tex && dvipdf talkdoc.dvi
+ pdflatex talkdoc.tex && pdflatex talkdoc.tex
backup: $(MF) $(SRC) $(DOC) $(OTHER)
rm -f $(TAR)
tar zcvf $(TAR) $(MF) $(SRC) $(DOC) $(OTHER)
install: talk.cls sidebars.sty
- cp talk.cls $(INSTALLDIR)/talk.cls
- cp sidebars.sty $(INSTALLDIR)/sidebars.sty
+ install talk.cls $(INSTALLDIR)/talk.cls
+ install sidebars.sty $(INSTALLDIR)/sidebars.sty
diff --git a/Master/texmf-dist/tex/latex/talk/sidebars.sty b/Master/texmf-dist/tex/latex/talk/sidebars.sty
index 6bdd35ecb97..ecff124bda7 100644
--- a/Master/texmf-dist/tex/latex/talk/sidebars.sty
+++ b/Master/texmf-dist/tex/latex/talk/sidebars.sty
@@ -33,41 +33,40 @@
\sidebartitlecolor{0,0,0.7}
\@newslidestyle{normal}{%
- \renewcommand{\@makeslidebackground}{%
- \color{sb@bg}
- \pgfrect[fill]{\pgfpoint\z@\z@}{\pgfpoint\slidewidth\slideheight}%
- \color{sb@sb}%
- \pgfrect[fill]{\pgfpoint{5in}\z@}{\pgfpoint{1in}\slideheight}%
- \@ifscreen{}{%
- \color{black}%
- \pgfrect[stroke]{\pgfpoint\z@\z@}{\pgfpoint\slidewidth\slideheight}%
- }%
- }%
- \renewcommand{\@makeslidecontent}{%
- \begin{pgfpicture}\z@\z@\z@\z@
- \pgfputat{\pgfpoint{5.1in}{-0.2in}}{%
- \pgfbox[left,top]{%
- \begin{minipage}[t][4.2in]{0.8in}%
- \sffamily\tiny%
- {\centering\tiny\sffamily\textcolor{sb@sbt}{\@shorttitle}\par%
- \vspace{1em}\@shortauthor\par\vspace{2em}}%
- {\parskip=0.8em\@tableofcontents}%
- {\vfill\hspace*{\fill}p. \theslidelabel\hspace*{\fill}}%
- \end{minipage}%
- }%
+ \renewcommand{\@makeslide}{%
+ \begin{pgfscope}
+ \color{sb@bg}
+ \pgfrect[fill]{\pgfpoint\z@\z@}{\pgfpoint\slidewidth\slideheight}%
+ \color{sb@sb}%
+ \pgfrect[fill]{\pgfpoint{5in}\z@}{\pgfpoint{1in}\slideheight}%
+ \@ifscreen{}{%
+ \color{black}%
+ \pgfrect[stroke]{\pgfpoint\z@\z@}{\pgfpoint\slidewidth\slideheight}%
}%
- \pgfputat{\pgfpoint{0.2in}{-0.2in}}{%
- \pgfbox[left,top]{%
- \begin{minipage}[t][4.1in]{4.6in}%
- \sffamily{\color{sb@title}\LARGE\@slidetitle\par}%
- \vspace*{1.5em plus 1fill}%
- \parskip=1.5ex plus0.5ex minus0.5ex\@slidebody\par%
- \vspace*{0pt plus 1fill}%
- \end{minipage}%
- }%
+ \end{pgfscope}
+ %
+ \pgfputat{\pgfpoint{5.1in}{4.3in}}{%
+ \pgfbox[left,top]{%
+ \begin{minipage}[t][4.2in]{0.8in}%
+ \sffamily\tiny%
+ {\centering\tiny\sffamily\textcolor{sb@sbt}{\@shorttitle}\par%
+ \vspace{1em}\@shortauthor\par\vspace{2em}}%
+ {\parskip=0.8em\@tableofcontents}%
+ {\vfill\hspace*{\fill}p. \theslidelabel\hspace*{\fill}}%
+ \end{minipage}%
}%
- \end{pgfpicture}
- }
+ }%
+ \pgfputat{\pgfpoint{0.2in}{4.3in}}{%
+ \pgfbox[left,top]{%
+ \begin{minipage}[t][4.1in]{4.6in}%
+ \sffamily{\color{sb@title}\LARGE\@slidetitle\par}%
+ \vspace*{1.5em plus 1fill}%
+ \parskip=1.5ex plus0.5ex minus0.5ex\@slidebody\par%
+ \vspace*{0pt plus 1fill}%
+ \end{minipage}%
+ }%
+ }%
+ }%
\renewcommand{\@maketocsection}[3]{%
\raggedright\noindent%
\@ifcurrentsection{##1}{%
@@ -91,27 +90,31 @@
\@newslidestyle{plain}{%
\renewcommand{\@makeslidebackground}{%
- \color{sb@bg}
- \pgfrect[fill]{\pgfpoint\z@\z@}{\pgfpoint\slidewidth\slideheight}%
- \@ifscreen{}{%
- \color{black}%
- \pgfrect[stroke]{\pgfpoint\z@\z@}{\pgfpoint\slidewidth\slideheight}%
- }%
+ \begin{pgfscope}
+ \color{sb@bg}
+ \pgfrect[fill]{\pgfpoint\z@\z@}{\pgfpoint\slidewidth\slideheight}%
+ \@ifscreen{}{%
+ \color{black}%
+ \pgfrect[stroke]{\pgfpoint\z@\z@}{\pgfpoint\slidewidth\slideheight}%
+ }%
+ \end{pgfscope}
}%
\renewcommand{\@makeslidecontent}{\vspace*{\fill}\@slidebody\vspace*{\fill}}%
}
\@newslidestyle{outline}{%
\renewcommand{\@makeslidebackground}{%
- \color{sb@bg}
- \pgfrect[fill]{\pgfpoint\z@\z@}{\pgfpoint\slidewidth\slideheight}%
- \color{sb@sb}
- \pgfrect[fill]{\pgfpoint\z@\z@}{\pgfpoint{0.5in}\slideheight}%
- \pgfrect[fill]{\pgfpoint{5.5in}\z@}{\pgfpoint{0.5in}\slideheight}%
- \@ifscreen{}{%
- \color{black}%
- \pgfrect[stroke]{\pgfpoint\z@\z@}{\pgfpoint\slidewidth\slideheight}%
- }%
+ \begin{pgfscope}
+ \color{sb@bg}
+ \pgfrect[fill]{\pgfpoint\z@\z@}{\pgfpoint\slidewidth\slideheight}%
+ \color{sb@sb}
+ \pgfrect[fill]{\pgfpoint\z@\z@}{\pgfpoint{0.5in}\slideheight}%
+ \pgfrect[fill]{\pgfpoint{5.5in}\z@}{\pgfpoint{0.5in}\slideheight}%
+ \@ifscreen{}{%
+ \color{black}%
+ \pgfrect[stroke]{\pgfpoint\z@\z@}{\pgfpoint\slidewidth\slideheight}%
+ }%
+ \end{pgfscope}%
}%
\renewcommand{\@makeslidecontent}{%
\vspace{0.2in}%
diff --git a/Master/texmf-dist/tex/latex/talk/talk.cls b/Master/texmf-dist/tex/latex/talk/talk.cls
index 1e9831b33e0..aed90baf644 100644
--- a/Master/texmf-dist/tex/latex/talk/talk.cls
+++ b/Master/texmf-dist/tex/latex/talk/talk.cls
@@ -12,7 +12,7 @@
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesClass{talk}[2006/07/11 v1.0.2]
+\ProvidesClass{talk}[2006/07/11 v1.1]
\def\pres@dt@notes{notes}
\def\pres@dt@slides{slides}
@@ -83,6 +83,8 @@
%
\newlength{\slidewidth}
\newlength{\slideheight}
+\newlength{\pres@hadjust}
+\newlength{\pres@vadjust}
\def\pres@currentslidestyle{}
\def\pres@oldslidestyle{}
\def\@slidetitle{}
@@ -162,20 +164,20 @@
\def\pres@defaultslidebackground{%
\pgfsetlinewidth{0.8pt}
\color{black}
- \pgfrect[stroke]{\pgfpoint\z@\z@}{\pgfpoint\slidewidth\slideheight}
+ \pgfrect[stroke]{\pgfpointorigin}{\pgfpoint\slidewidth\slideheight}
}
\def\pres@restoredefaults{%
\gdef\@makeslidecontent{\pres@defaultslide}
\gdef\@makeslidebackground{\pres@defaultslidebackground}
\gdef\@makeslide{%
- \begin{pgfpicture}\z@\z@\z@\z@%
- \@makeslidebackground%
- \end{pgfpicture}%
- \begin{minipage}[b][\slideheight][t]{\slidewidth}%
- \@makeslidecontent%
- \end{minipage}%
+ \@makeslidebackground%
+ \pgfputat{\pgfpointorigin}{\pgfbox[left,bottom]{%
+ \begin{minipage}[b][\slideheight][t]{\slidewidth}%
+ \@makeslidecontent%
+ \end{minipage}%
+ }}%
}
- \gdef\@makenotesslide{\par\hspace*{\fill}\@makeslide\hspace*{\fill}\par}
+ \gdef\@makenotesslide{\par\hspace*{\fill}\@slidebox\hspace*{\fill}\par}
\gdef\@maketocsection##1##2##3{}
\gdef\@maketocsubsection##1##2##3##4{}
}
@@ -184,25 +186,39 @@
% the slide environment
%
+\def\@slidebox{%
+ \begin{pgfpicture}
+ \@ifslides{%
+ \pgftransformscale{\pres@slidesmag}%
+ \if@pres@rotate
+ \pgftransformrotate{90}%
+ \fi
+ }{}%
+ \pgfpathrectangle{\pgfpointorigin}{\pgfpoint\slidewidth\slideheight}%
+ \pgfusepath{use as bounding box}%
+ \pgflowlevelsynccm%
+ \@makeslide
+ \end{pgfpicture}%
+}
+
\@ifnotes{\def\pres@makeslide{\noindent\@makenotesslide}}{}
\@ifslides{%
\def\pres@makeslide{%
\vspace*{\fill}%
+ \vspace{2\pres@vadjust}
\noindent%
\hspace*{\fill}%
- \scalebox{\pres@slidesmag}{%
- \if@pres@rotate%
- \rotatebox[origin=c]{90}{\@makeslide}%
- \else%
- \@makeslide%
- \fi%
- }%
+ \hspace{2\pres@hadjust}
+ \@slidebox%
\hspace*{\fill}%
\vspace*{\fill}%
\newpage%
}%
}{}
-\@ifscreen{\def\pres@makeslide{\noindent\@makeslide\newpage}}{}
+\@ifscreen{\def\pres@makeslide{%
+ \noindent\@slidebox%
+ \newpage%
+}}{}
\def\slide{\@ifnextchar[{\@@slide}{\@slide}}
\long\def\@@slide[#1]#2{%
@@ -308,13 +324,7 @@
\vspace*{\fill}%
\noindent%
\hspace*{\fill}%
- \scalebox{\pres@slidesmag}{%
- \if@pres@rotate%
- \rotatebox[origin=c]{90}{\@makeslide}%
- \else%
- \@makeslide%
- \fi%
- }%
+ \@slidebox%
\hspace*{\fill}%
\vspace*{\fill}%
\newpage%
@@ -327,8 +337,7 @@
\def\theslidelabel{\thesubslide}
\multido{}{\pres@msmax}{%
\refstepcounter{subslide}
- \noindent%
- \@makeslide%
+ \noindent\@slidebox%
\newpage%
}%
}%
@@ -387,6 +396,16 @@
\@ifslides{\pres@removemargins}{}%
}
\def\slidesmag#1{\gdef\pres@slidesmag{#1}}
+\def\slidesadjust#1#2{%
+ \if@pres@rotate
+ \setlength{\pres@hadjust}{#2}%
+ \setlength{\pres@vadjust}{#1}%
+ \setlength{\pres@vadjust}{-\pres@vadjust}%
+ \else
+ \setlength{\pres@hadjust}{#1}%
+ \setlength{\pres@vadjust}{#2}%
+ \fi
+}
\@slidesize{4in}{3in}
\@ifnotes{}{\pagestyle{empty}}