diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/seminar/seminar.con')
-rw-r--r-- | Master/texmf-dist/doc/latex/seminar/seminar.con | 946 |
1 files changed, 946 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/seminar/seminar.con b/Master/texmf-dist/doc/latex/seminar/seminar.con new file mode 100644 index 00000000000..6d0357d24be --- /dev/null +++ b/Master/texmf-dist/doc/latex/seminar/seminar.con @@ -0,0 +1,946 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%% -*- Mode: Latex -*- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% seminar.con --- Customization of the Seminar document class. +%% We take care to do this for easy adaptations in other +%% institutions and contexts. +%% +%% Author : Denis GIROU (CNRS/IDRIS - France) <Denis.Girou@idris.fr> +%% Created the : 1993 +%% Last mod. by : hv +%% Last mod. the : 2005-12-25 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\FileVersion{3.2} +\def\FileDate{2005/12/25} +\typeout{seminar.con file: example of customization of the Seminar + document class^^J% + (Version \FileVersion\space of <\FileDate> (D.G.))} + +% Packages used +% ------------- + +% General packages (all are on CTAN) +\PassOptionsToPackage{pdffitwindow=true,colorlinks=true,pdfpagemode=UseNone,bookmarks,setpagesize=false}{hyperref} +\usepackage{calc} % Simple computations with LaTeX variables +\usepackage[hang]{caption} % Improved captions +\usepackage{fancybox} % To have several backgrounds + % (must be loaded before `fancyvrb') +\usepackage{fancyhdr} % Headers and footers definitions +\usepackage{fancyvrb} % Fancy verbatim environments +\usepackage{pstricks} % PSTricks with the standard color package + % (before `graphicx' for the \scalebox macro) +\usepackage{graphicx} % Standard graphics package +\usepackage{multido} % General loop macro +\usepackage{pifont} % Ding symbols (mainly for lists) +\usepackage{pst-node} % PSTricks nodes +\usepackage{semcolor} % Seminar colored slides +\usepackage{semhelv} % Seminar helvetica fonts +\usepackage{semlayer} % Seminar overlays +\usepackage{slidesec} % Seminar sections and list of slides +\usepackage{pst-grad} % PSTricks gradient mode +\usepackage{pst-fr3d} % PSTricks 3D framed boxes +\usepackage{pst-slpe} % Improved PSTricks gradients +\usepackage{thumbpdf} % Thumbnails for PDF versions +\usepackage[breakwords]{truncate}% To truncate a string at a specified length +\usepackage{url} % Convenient URL typesetting + + +\edef\SeminarAtCode{\the\catcode`\@} +\catcode`\@=11\relax + +\ifx\VTeXversion\@undefined + \input{seminar.bug} % Official bugs corrections + \input{seminar.bg2} % Unofficial bugs corrections + % (warning: you must load `longtable' before + % if you use it) +\else + \input{/usr/local/vtex/texmf/vtex/config/seminar.con}% Adjust this path%%%%%%%%%%%%%%%%%%% + % As VTeX does not support the HSB color model, we make it identical + % to the RGB one. This will obviously produce strange color results, + % but this will allow to compile the sources using here our + % \PstFrameBoxThreeD macro. + \def\color@hsb#1#2{\c@lor@@hsb#2\@@#1} + \def\c@lor@@hsb#1,#2,#3\@@#4{% + % From the VTeX \c@lor@@rgb definition + \vtexdef@checkarg{#1}{1}{rgb}% + \vtexdef@fixedhex{#1}\vtexdef@hex@a + \vtexdef@checkarg{#2}{1}{rgb}% + \vtexdef@fixedhex{#2}\vtexdef@hex@b + \vtexdef@checkarg{#3}{1}{rgb}% + \vtexdef@fixedhex{#3}\vtexdef@hex@c + \edef#4{c"\vtexdef@hex@a\vtexdef@hex@b\vtexdef@hex@c}}% +\fi + +% Compatibility patch between `pst-key' and the \RequirePackage macro +% to avoid later a LaTeX warning about the version of `keyval' +% From pst-key.tex +\def\next[#1]{\catcode`\@=11 +% D.G. modification begin - Apr. 25, 2002 +% \expandafter\let\csname ver@keyval.sty\endcsname\empty + \expandafter\xdef\csname ver@keyval.sty\endcsname{#1}% +% D.G. modification end + \wlog{keyval: #1}}\next + [1998/07/23 v1.11 key=value parser (DPC)] + +%\usepackage{hyperref} % Hyperlinks for PDF versions + % (to load after `slidesec', seminar.bg2, etc.) + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Definition of new colors +% ------------------------ + +\definecolor{Apricot} {cmyk}{0,0.32,0.52,0} +\definecolor{Aquamarine} {cmyk}{0.82,0,0.30,0} +\definecolor{CadetBlue} {cmyk}{0.62,0.57,0.23,0} +\definecolor{DarkGray} {gray}{0.2} +\definecolor{DarkGreen} {rgb}{0,0.5,0} +\definecolor{ForestGreen} {cmyk}{0.91,0,0.88,0.12} +\definecolor{Gold} {rgb}{1.,0.84,0.} +\definecolor{Goldenrod} {cmyk}{0,0.10,0.84,0} +\definecolor{IndianRed} {rgb}{0.8,0.36,0.36} +\definecolor{Lavender} {cmyk}{0,0.48,0,0} +\definecolor{LemonChiffon}{rgb}{1.,0.98,0.8} +\definecolor{LightBlue} {rgb}{0.68,0.85,0.9} +\definecolor{LightCyan} {rgb}{0.88,1.,1.} +\definecolor{LightGray} {gray}{0.92} +\definecolor{LightYellow} {rgb}{1.,1.,0.88} +\definecolor{Melon} {cmyk}{0,0.46,0.50,0} +\definecolor{NavyBlue} {cmyk}{0.94,0.54,0,0} +\definecolor{Orange} {rgb}{1.,0.65,0.} +\definecolor{PaleGreen} {rgb}{0.6,0.98,0.6} +\definecolor{PaleGreenB} {rgb}{0.9,1,0.9} +\definecolor{Peach} {cmyk}{0,0.50,0.70,0} +\definecolor{PeachPuff} {rgb}{1.0,0.85,0.73} +\definecolor{PineGreen} {cmyk}{0.92,0,0.59,0.25} +\definecolor{Pink} {rgb}{1.,0.75,0.8} +\definecolor{RoyalBlue} {cmyk}{1,0.50,0,0} +\definecolor{SeaGreen} {cmyk}{0.69,0,0.50,0} +\definecolor{Salmon} {cmyk}{0,0.53,0.38,0} +\definecolor{Sepia} {cmyk}{0,0.83,1,0.70} +\definecolor{SlateBlue} {rgb}{0.42,0.35,0.8} +\definecolor{Thistle} {rgb}{0.85,0.75,0.85} +\definecolor{Turquoise} {cmyk}{0.85,0,0.20,0} +\definecolor{Violet} {cmyk}{0.79,0.88,0,0} +\definecolor{YellowOrange}{cmyk}{0,0.42,1,0} + +% Definition of the (La)TeX string +\newcommand{\AllTeX}{% +{\textrm{(L\kern-.36em\raise.3ex\hbox{\textsc{% +a}}\kern-.05em)T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}} + +% "dinglist" environment +% Redefinition of it to be able to use colored symbols +\renewenvironment{dinglist}[2][black] +{\begin{list}{\ding{#2}}{}}{\end{list}} +% Symbol definitions for these lists +\newcommand{\DingListSymbolA}{43} +\newcommand{\DingListSymbolB}{243} +\newcommand{\DingListSymbolC}{224} +\newcommand{\DingListSymbolD}{219} + +% Captions customizations +\setlength{\abovecaptionskip}{1.5mm} + +% Centered paragraph title +\newcommand{\CenteredParagraphTitle}[2][LemonChiffon]{% +\centerline{\psshadowbox[fillstyle=solid,fillcolor=#1]{\large\HLe{#2}}}} + +% Paragraph title +\newcommand{\ParagraphTitle}[2][LemonChiffon]{% +\noindent\psshadowbox[fillstyle=solid,fillcolor=#1]{\large\HLe{#2}}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% `fancyvrb' customizations +% ------------------------- + +% Customized "Verbatim" environment +\RecustomVerbatimEnvironment{Verbatim}{Verbatim} +{commandchars=§µ¶,fontfamily=tt,frame=single,numbersep=2pt,framerule=0.15mm} + +% "OutputResults" environment to emphasize program outputs +\DefineVerbatimEnvironment{OutputResults}{Verbatim} +{commandchars=§µ¶,fontfamily=tt,frame=single,numbers=none, +rulecolor=\color{blue},framerule=1mm} + +% Not inside the preceding environments themselves, to allow +% local redefinitions +\fvset{baselinestretch=0.9,fontsize=\small,numbers=left} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Seminar macros redefinitions +% ---------------------------- + +% We redefine the format of entries of the list of slides +\def\listofslides{% + \hfuzz=7pt % To avoid the "Overfull \hbox" messages + \def\l@slide##1##2##3##4{% + \slide@dottedcline{##1 -- \hyperlink{##4}{##2}}% + {\slidenumberline{##3}}}% + \def\l@subslide##1##2##3##4{% + \slide@dottedcline{\hspace{2mm}##1 -- \hyperlink{##4}{##2}}% + {\slidenumberline{##3}}}% + \@startlos} + +\def\slide@dottedcline{\@dottedtocline{1}{1.5em}{2.3em}} + +\def\slide@subheading[#1]#2{% + \H@refstepcounter{slidesubsection}% + \addtocontents{los}{% +% D.G. modification begin - Jan. 2, 2002 +% \protect\l@subslide{\the\c@slidesubsection}{\ignorespaces#1}% + \protect\l@subslide{\the\c@slidesection.\the\c@slidesubsection}% + {\ignorespaces#1}% +% D.G. modification end + {\@SCTR}{slideheading.\theslidesubsection}% + }% + \def\Hy@tempa{#2}% + \ifx\Hy@tempa\@empty + \else + {% + \edef\@currentlabel{% + \csname p@slidesubsection\endcsname\theslidesubsection + }% + \makeslidesubheading{#2}% + }% + \fi + \gdef\theslidesubheading{#1}% + \ifHy@hypertexnames + \ifHy@naturalnames + \hyper@@anchor{slideheading.\theslidesubsection}{\relax}% + \Hy@writebookmark + {\theslidesubsection}% + {#1}% + {slideheading.\theslidesubsection}% + {2}% + {toc}% + \else + \hyper@@anchor{slideheading.\theHslidesubsection}{\relax}% + \Hy@writebookmark + {\theslidesubsection}% + {#1}% + {slideheading.\theHslidesubsection}% + {2}% + {toc}% + \fi + \else + \Hy@GlobalStepCount\Hy@linkcounter + \hyper@@anchor{slideheading.\the\Hy@linkcounter}{\relax}% + \Hy@writebookmark + {\theslidesubsection}% + {#1}% + {slideheading.\the\Hy@linkcounter}% + {1}% + {toc}% + \fi +}% + +% We will need, for demonstration purposes, to define sections and subsections +% without putting them in the list of slides +\def\SlideHeadingsNoListOfSlides{% +\def\slide@heading[##1]##2{% + \refstepcounter{slidesection}% + \@addtoreset{slidesubsection}{slidesection} +% D.G. modification begin - Feb. 22, 2002 +% \addtocontents{los}{\protect\l@slide +% {\the\c@slidesection}{\ignorespaces##1}{\@SCTR}}% +% D.G. modification end + \def\@tempa{##2}% + \ifx\@tempa\@empty\else + {\edef\@currentlabel{\csname p@slidesection\endcsname\theslidesection}% + \makeslideheading{##2}}% + \fi + \gdef\theslideheading{##1}% + \gdef\theslidesubheading{}} +% +\def\slide@subheading[##1]##2{% + \refstepcounter{slidesubsection}% +% D.G. modification begin - Feb. 22, 2002 +% \addtocontents{los}{\protect\l@subslide +% {\the\c@slidesubsection}{\ignorespaces##1}{\@SCTR}}% +% D.G. modification end + \def\@tempa{##2}% + \ifx\@tempa\@empty\else + {\edef\@currentlabel{\csname p@slidesubsection\endcsname + \theslidesubsection}\makeslidesubheading{##2}}% + \fi + \gdef\theslidesubheading{##1}}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Seminar customizations +% ---------------------- + +% No default frame (really useful for old plastic slides only) +\slideframe{none} + +% To center horizontally the headers and footers (see seminar.bug) +\renewcommand{\headwidth}{\textwidth} + +% To adjust the frame length to the header and footer ones +% \autoslidemarginstrue + +% Headers and footers, using the `fancyhdr' package + +\slidepagestyle{fancy} + +\newcommand{\SeminarHeader}[1]{\fancyhead[C]{\Large\textbf{\HLe{#1}}}} + +\newcommand{\SeminarStandardHeaderFooter}[4]{% +\fancyhf{}% +\fancyhead[R]{\theslide} +\SeminarHeader{#1} +\fancyfoot[L]{\raisebox{2.5mm}{\textbf{#2}}} +\fancyfoot[R]{\raisebox{3mm}{\scriptsize#3 \@date}\\[-4.5mm] + {\tiny\textbf{#4}}}% +% Change of the width of header and footer rules +\def\headrulewidth{0.15mm}% +\def\footrulewidth{0.15mm}% +% Redefinition of the head line separator to have a double one +\def\headrule{% +\if@fancyplain\headrulewidth\plainheadrulewidth\fi +\hrule\@height\headrulewidth\@width\headwidth \vskip 0.5mm +\hrule\@height\headrulewidth\@width\headwidth \vskip -1mm}} + +% Customization of the headings and subheadings +\renewcommand{\makeslideheading}[1]{% +\CenteredParagraphTitle[red]{% +\textcolor{white}{\textbf{\theslidesection{} -- #1}}}} +\renewcommand{\makeslidesubheading}[1]{% +\CenteredParagraphTitle{\theslidesubsection{} -- #1}} + +% For automatic definition of headers +% ("Number - chapter : sub-chapter" or "Number - chapter" if no sub-chapter) +% (we also suppress the first uppercase letter of the sub-chapter name, +% if the optional "AsIs" keyword is not specified) +\def\AsIs{AsIs} +\def\SeminarStandardHeader@Separator{: } +\newcommand{\SeminarStandardHeader}[1][]{% +\SeminarHeader{% +\ifx\theslidesubheading\empty + \theslidesection{} -- \theslideheading% +\else + \edef\@tempa{#1}% + \ifx\@tempa\AsIs + \theslidesection{} -- \theslideheading{}\SeminarStandardHeader@Separator + \theslidesubheading% + \else + \theslidesection{} -- \theslideheading{}\SeminarStandardHeader@Separator % + \SeminarStandardHeader@i{\theslidesubheading}% + \fi +\fi}} + +\def\SeminarStandardHeader@i#1{\expandafter\SeminarStandardHeader@ii#1\@nil} +\def\SeminarStandardHeader@ii#1#2\@nil{\MakeLowercase{#1}#2} + +% Outline of the presentation +\newcommand{\SeminarOutlinePresentation}[4]{% +\ifx\SeminarColorVersion\AnswerYes + \begingroup + \SeminarHeader{#1}% + \def\SeminarOutlinePresentationBoolean{true}% + \renewcommand{\SeminarBackgroundCompositeColorFirst}{#2}% + \renewcommand{\SeminarBackgroundCompositeColorSecond}{#3}% + \SeminarSlideFrameBackground{SeminarBackgroundCompositeE}% + \pst@dimh=\slideleftmargin + \advance\pst@dimh by 35mm + \renewcommand{\slideleftmargin}{\the\pst@dimh}% + \setlength{\slidewidth}{289mm}% + \addtolength{\slidewidth}{-\slideleftmargin}% + \addtolength{\slidewidth}{-\sliderightmargin}% + \renewcommand{\slidestretch}{0}% To compact the list + \begin{slide} + \begingroup + \hypersetup{linkcolor=#4}% + \Slidecontents + \endgroup + \end{slide} + \endgroup +\fi} + +% Backgrounds +% ----------- + +% Solid backgrounds +% °°°°°°°°°°°°°°°°° + +% Default color +\newcommand{\SeminarBackgroundSolidColor}{PeachPuff} + +\SeminarNewSlideFrameBackground{SeminarBackgroundSolid}{% +\psframe[linestyle=none,fillstyle=solid,fillcolor=\SeminarBackgroundSolidColor] + (\SeminarPaperHeight,\SeminarPaperWidth)} + +% Gradient backgrounds +% °°°°°°°°°°°°°°°°°°°° + +% Default begin color, end color, angle and middle point +\newcommand{\SeminarBackgroundGradientColorBegin}{LightYellow} +\newcommand{\SeminarBackgroundGradientColorEnd}{Gold} +\newcommand{\SeminarBackgroundGradientAngle}{0} +\newcommand{\SeminarBackgroundGradientMidPoint}{0} + +\SeminarNewSlideFrameBackground{SeminarBackgroundGradient}{% +\psframe[linestyle=none,fillstyle=gradient, + gradangle=\SeminarBackgroundGradientAngle, + gradmidpoint=\SeminarBackgroundGradientMidPoint, + gradbegin=\SeminarBackgroundGradientColorBegin, + gradend=\SeminarBackgroundGradientColorEnd] + (\SeminarPaperHeight,\SeminarPaperWidth)} + +% Default slope style, steps and center +\newcommand{\SeminarBackgroundGradientSlopeStyle}{radslope} +\newcommand{\SeminarBackgroundGradientSlopeSteps}{300} +\newcommand{\SeminarBackgroundGradientSlopeCenter}{0.5 0.5} +\newcommand{\SeminarBackgroundGradientSlopeAngle}{0} +\newcommand{\SeminarBackgroundGradientSlopeRadius}{0} + +\SeminarNewSlideFrameBackground{SeminarBackgroundGradientSlope}{% +\psframe[linestyle=none,fillstyle=\SeminarBackgroundGradientSlopeStyle, + slopebegin=\SeminarBackgroundGradientColorBegin, + slopeend=\SeminarBackgroundGradientColorEnd, + slopesteps=\SeminarBackgroundGradientSlopeSteps, + slopecenter=\SeminarBackgroundGradientSlopeCenter, + slopeangle=\SeminarBackgroundGradientSlopeAngle, + sloperadius=\SeminarBackgroundGradientSlopeRadius] + (\SeminarPaperHeight,\SeminarPaperWidth)} + +% Composite backgrounds +% °°°°°°°°°°°°°°°°°°°°° + +% Default colors +\newcommand{\SeminarBackgroundCompositeColorFirst}{LightBlue} +\newcommand{\SeminarBackgroundCompositeColorSecond}{NavyBlue} +\newcommand{\SeminarBackgroundCompositeColorThird}{RoyalBlue} + +% Utility macros for the composite backgrounds + +\newcount\PstFractal@DeepRecursion + +% The recursion macro used (from David Carlisle) +\def\Recursion #1{% +#1\relax + \expandafter\@firstoftwo +\else + \expandafter\@secondoftwo +\fi} + +% General definition of a fractal +\def\PstFractal#1{% +\ifx\PstFractalBegin\undefined +\else + \PstFractalBegin +\fi +\Recursion + {\ifnum#1>\@ne\relax} + {\PstFractal@DeepRecursion=#1% + \advance\PstFractal@DeepRecursion\m@ne + \PstFractalRepeat{\PstFractal@DeepRecursion}} + {\PstFractalDefinition}} + +\def\PstSpiralSquare#1{% +\def\PstFractalDefinition{\psframe(1,1)}% +\def\PstFractalBegin{\PstFractalDefinition}% +\def\PstFractalRepeat##1{% + % sqrt(0.2^2 + (1-0.2)^2)=0.824621 + % arcsin(0.2/0.824621)=14.036246 + \rput{-14.036246}(0,0.2){\psset{unit=0.824621}\PstFractal{##1}}}% +\pspicture(1,1) + \PstFractal{#1} +\endpspicture} + +% Composite background A +\SeminarNewSlideFrameBackground{SeminarBackgroundCompositeA}{{% +\psframe[linestyle=none, + fillstyle=solid,fillcolor=\SeminarBackgroundCompositeColorFirst] + (\SeminarPaperHeight,\SeminarPaperWidth)% +\rput(4truemm,190truemm){% + \psframe[linestyle=none,fillstyle=gradient,gradmidpoint=1,gradangle=90, + gradbegin=\SeminarBackgroundCompositeColorSecond, + gradend=\SeminarBackgroundCompositeColorFirst](8,0.2)}} +\rput(293truemm,14truemm){% + \psframe[linestyle=none,fillstyle=gradient,gradmidpoint=1,gradangle=90, + gradbegin=\SeminarBackgroundCompositeColorFirst, + gradend=\SeminarBackgroundCompositeColorSecond](-8,0.2)}} + +% Composite background B +\SeminarNewSlideFrameBackground{SeminarBackgroundCompositeB}{{% +\psframe[linestyle=none, + fillstyle=solid,fillcolor=\SeminarBackgroundCompositeColorFirst] + (\SeminarPaperHeight,\SeminarPaperWidth)% +\rput(4truemm,190truemm){% + \psframe[linestyle=none,fillstyle=gradient,gradmidpoint=1,gradangle=90, + gradbegin=\SeminarBackgroundCompositeColorSecond, + gradend=\SeminarBackgroundCompositeColorFirst](-0.1,0)(5,0.2) + \psframe[linestyle=none,fillstyle=gradient,gradmidpoint=1, + gradbegin=\SeminarBackgroundCompositeColorSecond, + gradend=\SeminarBackgroundCompositeColorFirst](-0.1,0.03)(0.1,-5)}} +\rput(293truemm,14truemm){% + \psframe[linestyle=none,fillstyle=gradient,gradmidpoint=1,gradangle=90, + gradbegin=\SeminarBackgroundCompositeColorFirst, + gradend=\SeminarBackgroundCompositeColorSecond](-5,0.2)(0.1,0) + \psframe[linestyle=none,fillstyle=gradient,gradmidpoint=1, + gradbegin=\SeminarBackgroundCompositeColorFirst, + gradend=\SeminarBackgroundCompositeColorSecond](-0.1,5)(0.1,0)}} + +% Composite background C +\SeminarNewSlideFrameBackground{SeminarBackgroundCompositeC}{{% +\psframe[linestyle=none, + fillstyle=solid,fillcolor=\SeminarBackgroundCompositeColorFirst] + (\SeminarPaperHeight,\SeminarPaperWidth)} +\psset{xunit=1.3333,linecolor=\SeminarBackgroundCompositeColorSecond}% +\@tempdima=\SeminarPaperHeight +\divide\@tempdima\tw@ +\@tempdimb=\SeminarPaperWidth +\divide\@tempdimb\tw@ +\multido{\nLength=5.5+-0.2,\iAngle=0+1}{30}{% + \rput{\iAngle}(\@tempdima,\@tempdimb){% + \psframe(-\nLength,-\nLength)(\nLength,\nLength)}}} + +% Composite background D +\SeminarNewSlideFrameBackground{SeminarBackgroundCompositeD}{{% +\psset{linestyle=none,fillstyle=gradient,gradmidpoint=0}% +\psframe[gradbegin=\SeminarBackgroundCompositeColorFirst, + gradend=\SeminarBackgroundCompositeColorSecond] + (\SeminarPaperHeight,\SeminarPaperWidth) +\multips(4truemm,50truemm)(10truemm,30truemm){3}{% + \psframe[gradbegin=\SeminarBackgroundCompositeColorSecond, + gradend=\SeminarBackgroundCompositeColorFirst] + (5truemm,180truemm)} +\@tempdima=\SeminarPaperHeight +\advance\@tempdima -29truemm +\multips(\@tempdima,0)(10truemm,-30truemm){3}{% + \psframe[gradbegin=\SeminarBackgroundCompositeColorSecond, + gradend=\SeminarBackgroundCompositeColorFirst] + (5truemm,160truemm)}}} + +% Composite background E +\SeminarNewSlideFrameBackground{SeminarBackgroundCompositeE}{{% +\psset{linestyle=none,fillstyle=gradient,gradmidpoint=0.5}% +\psframe[gradbegin=\SeminarBackgroundCompositeColorFirst, + gradend=\SeminarBackgroundCompositeColorSecond] + (\SeminarPaperHeight,\SeminarPaperWidth) +\psframe[gradbegin=\SeminarBackgroundCompositeColorSecond, + gradend=\SeminarBackgroundCompositeColorFirst] + (5truemm,0)(35truemm,\SeminarPaperWidth) +\multips(10truemm,10truemm)(0,20truemm){11}{% + \psframe[gradangle=90, + gradbegin=\SeminarBackgroundCompositeColorFirst, + gradend=\SeminarBackgroundCompositeColorSecond] + (20truemm,10truemm)}}} + +% Composite background F +\SeminarNewSlideFrameBackground{SeminarBackgroundCompositeF}{{% +\psset{linestyle=none,fillstyle=gradient,gradmidpoint=1,gradangle=90}% +\psframe[gradbegin=\SeminarBackgroundCompositeColorFirst, + gradend=\SeminarBackgroundCompositeColorSecond] + (\SeminarPaperHeight,\SeminarPaperWidth) +\@tempdima=\SeminarPaperWidth +\advance\@tempdima -15truemm +\psframe[gradbegin=\SeminarBackgroundCompositeColorSecond, + gradend=\SeminarBackgroundCompositeColorFirst] + (0,\@tempdima)(\SeminarPaperHeight,\SeminarPaperWidth) +\psframe[gradbegin=\SeminarBackgroundCompositeColorSecond, + gradend=\SeminarBackgroundCompositeColorFirst] + (0,0)(\SeminarPaperHeight,15truemm)}} + +% Composite background G +\SeminarNewSlideFrameBackground{SeminarBackgroundCompositeG}{{% +\psset{linestyle=none,fillstyle=gradient,gradmidpoint=0,gradangle=30}% +\psframe[gradbegin=\SeminarBackgroundCompositeColorFirst, + gradend=\SeminarBackgroundCompositeColorSecond] + (\SeminarPaperHeight,\SeminarPaperWidth) +\@tempdima=\SeminarPaperWidth +\advance\@tempdima -15truemm +\psframe[gradbegin=\SeminarBackgroundCompositeColorSecond, + gradend=\SeminarBackgroundCompositeColorFirst] + (15truemm,-15truemm)(\SeminarPaperHeight,\@tempdima) +\psframe[gradbegin=\SeminarBackgroundCompositeColorFirst, + gradend=\SeminarBackgroundCompositeColorSecond] + (15truemm,0)(\SeminarPaperHeight,15truemm)}} + +% Composite background H +\SeminarNewSlideFrameBackground{SeminarBackgroundCompositeH}{{% +\psset{linestyle=none,fillstyle=gradient,gradmidpoint=1}% +\psframe[gradangle=0,gradbegin=\SeminarBackgroundCompositeColorFirst, + gradend=\SeminarBackgroundCompositeColorSecond] + (17mm,\SeminarPaperWidth) +\@tempdima=\SeminarPaperWidth +\advance\@tempdima -15mm +\psframe[gradangle=90,gradbegin=\SeminarBackgroundCompositeColorFirst, + gradend=\SeminarBackgroundCompositeColorSecond] + (0,\@tempdima)(\SeminarPaperHeight,\SeminarPaperWidth) +\advance\@tempdima 5mm +\psframe*[linecolor=white,framearc=0.3](12mm,-20mm)(300mm,\@tempdima) +\advance\@tempdima -5mm +\psline[linestyle=solid,linewidth=0.3]{c-c}(4mm,\@tempdima)(90mm,\@tempdima)}} + +% Composite background I +\SeminarNewSlideFrameBackground{SeminarBackgroundCompositeI}{{% +\psset{linestyle=none,unit=15,fillstyle=gradient,gradmidpoint=0, + gradbegin=\SeminarBackgroundCompositeColorSecond, + gradend=\SeminarBackgroundCompositeColorFirst}% +\@tempdima=\SeminarPaperHeight +\divide\@tempdima\tw@ +\@tempdimb=\SeminarPaperWidth +\divide\@tempdimb\tw@ +\rput(\@tempdima,\@tempdimb){\PstSpiralSquare{15}}}} + +% Composite background J + +% Sierpinski carpet +\newcommand{\PstSierpinskiCarpet}[1]{{% +\def\PstFractalDefinition{% + \psframe(1,1) + \psframe[fillstyle=solid,fillcolor=white](0.3333,0.3333)(0.6667,0.6667)}% +\def\PstFractalBegin{\PstFractalDefinition}% +\def\PstFractalRepeat##1{% + \rput(0,0){\psset{xunit=0.3333,yunit=0.3333}\PstFractal{##1}} + \rput(0.3333,0){\psset{xunit=0.3333,yunit=0.3333}\PstFractal{##1}} + \rput(0.6667,0){\psset{xunit=0.3333,yunit=0.3333}\PstFractal{##1}} + \rput(0,0.3333){\psset{xunit=0.3333,yunit=0.3333}\PstFractal{##1}} + \rput(0.6667,0.3333){\psset{xunit=0.3333,yunit=0.3333}\PstFractal{##1}} + \rput(0,0.6667){\psset{xunit=0.3333,yunit=0.3333}\PstFractal{##1}} + \rput(0.3333,0.6667){\psset{xunit=0.3333,yunit=0.3333}\PstFractal{##1}} + \rput(0.6667,0.6667){\psset{xunit=0.3333,yunit=0.3333}\PstFractal{##1}}}% +\psset{dimen=middle}% +\pspicture(1,1) + \PstFractal{#1} +\endpspicture}} + +\SeminarNewSlideFrameBackground{SeminarBackgroundCompositeJ}{{% +\psset{linestyle=none,xunit=\SeminarPaperHeight,yunit=\SeminarPaperWidth, + fillstyle=solid,fillcolor=\SeminarBackgroundCompositeColorFirst}% +\@tempdima=\SeminarPaperHeight +\divide\@tempdima\tw@ +\@tempdimb=\SeminarPaperWidth +\divide\@tempdimb\tw@ +\rput(\@tempdima,\@tempdimb){\PstSierpinskiCarpet{3}}}} + +% Composite background K + +% Sierpinski triangle +\newcommand{\PstSierpinskiTriangle}[1]{{% +\def\PstFractalDefinition{% + \pspolygon(1;0)(1;1)(1;2) + \rput{-2}(0,0){\pspolygon(0.5;0.5)(0.5;1.5)(0.5;2.5)}}% +\def\PstFractalBegin{\PstFractalDefinition}% +\def\PstFractalRepeat##1{% + \rput(0.5;0){\psset{unit=0.5}\PstFractal{##1}} + \rput(0.5;1){\psset{unit=0.5}\PstFractal{##1}} + \rput(0.5;2){\psset{unit=0.5}\PstFractal{##1}}}% +\rput{90}(0,0){% + \SpecialCoor + \degrees[3] + \psset{dimen=middle}% + \PstFractal{#1}}}} + +\SeminarNewSlideFrameBackground{SeminarBackgroundCompositeK}{{% +\NormalCoor % Needed when \SpecialCoor is currently active +\psset{linestyle=none,unit=6.8,fillstyle=gradient,gradmidpoint=0, + gradbegin=\SeminarBackgroundCompositeColorSecond, + gradend=\SeminarBackgroundCompositeColorFirst}% +\@tempdima=\SeminarPaperHeight +\divide\@tempdima\tw@ +\@tempdimb=\SeminarPaperWidth +\divide\@tempdimb\tw@ +\advance\@tempdimb -35truemm +\rput(\@tempdima,\@tempdimb){\PstSierpinskiTriangle{4}}}} + +% Backgrounds with external images +% °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° + +% With image file name +\newcommand{\SeminarBackgroundImageAngle}{0} +\newcommand{\SeminarBackgroundImageFile}{Undefined} + +\SeminarNewSlideFrameBackground{SeminarBackgroundImage}{{% +\@tempdima=\SeminarPaperHeight +\divide\@tempdima\tw@ +\@tempdimb=\SeminarPaperWidth +\divide\@tempdimb\tw@ +\rput(\@tempdima,\@tempdimb){% + \includegraphics[angle=\SeminarBackgroundImageAngle, + width=\SeminarPaperHeight,height=\SeminarPaperWidth] + {\SeminarBackgroundImageFile}}}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% To choice color or black and white version +% ------------------------------------------ + +% Note: we do not use booleans because we want to manage three states: +% true, false and undefined. We must be able to force the value in front +% of the file, before the \documentclass macro. If this is not done, +% a question will be asked interactively (this can be falsely interactivity, +% using for instance a command like "echo y | latex ..." on Unix systems) + +\def\AnswerYes{y} +\def\SeminarColorQuestion{y} +\def\SeminarPaperQuestion{n} + +% Definition of the styles to enrich text (color or black and white version) +\def\SeminarColorVersion{\SeminarColorQuestion} + \usepackage{hcolor} + +% Screen or paper version? +\def\SeminarPaperVersion]{\SeminarPaperQuestion} + \def\special@paper{297mm,210mm}% A4 format + +% A4 format +\usepackage{sem-a4} +\setlength{\slidewidth}{281mm} +\setlength{\slideheight}{170mm} +\def\SeminarPaperWidth{210truemm} +\def\SeminarPaperHeight{297truemm} + +% Letter format +%\setlength{\slidewidth}{261mm} +%\setlength{\slideheight}{176mm} +%\def\SeminarPaperWidth{215.9truemm} +%\def\SeminarPaperHeight{279.4truemm} + +% General size parameters for all formats +\renewcommand{\slidetopmargin}{15.5mm} +\renewcommand{\slidebottommargin}{13mm} +\renewcommand{\slideleftmargin}{4mm} +\renewcommand{\sliderightmargin}{4mm} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Some general PSTricks useful add-ons +% ------------------------------------ + +% Initialization of PSTricks parameters +% °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° + +% As \psset, but, opposite to it, this version allow the following syntax: +% \def\MyPstFrame#1{{% +% \def\Temp{#1}% +% \ifx\Temp\empty +% \else +% \PstSet{#1} +% \fi +% \begin{pspicture}(2,2) +% \psframe(2,2) +% \end{pspicture}}} +% +% \def\PstParams{linecolor=red,fillstyle=solid,fillcolor=yellow} +% \MyPstFrame{\PstParams} +% +% The syntax \MyPstFrame{linecolor=cyan,fillstyle=vlines} still work, +% as with \psset + +\def\PstSet#1{\PstSet@i#1,\@nil\ignorespaces} + +\def\PstSet@i#1,{% +\expandafter\PstSet@ii#1,\@nil +\@ifnextchar\@nil{\@gobble}{\PstSet@i}} + +\def\PstSet@ii#1,{% +\PstSet@iii#1=\@nil +\@ifnextchar\@nil{\@gobble}{\PstSet@ii}} + +\def\PstSet@iii#1=#2\@nil{\psset{#1=#2}} + +% \DoPerChar macro from Juergen Schlegelmilch +% °°°°°°°°°°°°°°°° +% (<schlegel@Informatik.Uni-Rostock.de> - posted on c.t.t. Jan. 27, 1998) +\def\DoPerChar#1#2#3\@nil{% +#1#2% +\edef\@tempa{#3}% +\ifx\@tempa\@empty +\else + \DoPerChar#1#3\@nil +\fi} + +% To write a text vertically (but with letters horizontal) +% °°°°°°°°°°°°°°°°°°°°°°°°°° +\def\TextTurn#1{\DoPerChar\TextTurn@CharacterTurn#1\@nil} +\def\TextTurn@CharacterTurn#1{\rotateleft{\,\hbox to 0mm{\hss#1\hss}}\,} + +% To print a string in a framebox of a specified length +% °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° +\def\PstTab{\@ifnextchar[{\PstTab@i}{\PstTab@i[]}} +\def\PstTab@i[#1]#2#3{{% +\psset{#1}% +\psframebox[framesep=0.06,,framearc=0.8, + shadow=true,shadowangle=45,shadowsize=0.1]{% + \rule[-0.5mm]{0mm}{2.5mm}% + \truncate[.]{#3}{\hfil#2\hfil}}}} + +% To print tabs for the sections +% °°°°°°°°°°°°°°°°°°°°°°°°°°°°°° +\def\SeminarTabs#1#2#3#4{% +% #1 = length for each tab, #2 = font specifications (if changed), +% #3 = color of the current section, +% #4 = color for all sections except the current one +% +% Temporary redefinition of the OvalFrame PostScript macro +% for better look for a tab +\pst@Verb{% +/OvalFrame { + x1 x2 eq y1 y2 eq or + { pop pop x1 y1 moveto x2 y2 L } + { y1 y2 sub abs + x1 x2 sub abs + 2 copy gt { exch pop } { pop } ifelse + 2 div exch + { dup 3 1 roll mul exch } if + 2 copy lt { pop } { exch pop } ifelse + /b ED + x1 y1 y2 add 2 div moveto + x1 y2 x2 y2 b arcto + x2 y2 x2 y1 b arcto +% D.G. modification begin - Mar. 20, 2002 +% x2 y1 x1 y1 b arcto +% x1 y1 x1 y2 b arcto + x2 y1 x1 y1 0 arcto + x1 y1 x1 y2 0 arcto +% D.G. modification end + 16 { pop } repeat + closepath } + ifelse } def}% +% +\def\l@slide##1##2##3##4{\l@slide@i##1##2\@nil##4\@@nil}% +\def\l@slide@i##1\ignorespaces ##2\@nil##3\@@nil{% +\pst@@killglue% To eat the end of line after the \l@slide macro +\ifnum##1=\c@slidesection + \def\SeminarTabsCurrentSectionColor{#3}% +\else + \def\SeminarTabsCurrentSectionColor{#4}% +\fi +#2% To be able to change the font size, serie, etc. +\hyperlink{##3}{% + \PstTab[fillstyle=solid,fillcolor=\SeminarTabsCurrentSectionColor] + {##2}{#1}}}% +\let\l@subslide\@gobblefour +\@startlos} + +% General annotation macro +% °°°°°°°°°°°°°°°°°°°°°°°° + +% To add annotations on a page (slide), specially when using overlays +% This is specially useful to add comments on a set of equations +% or on program lines on a listing + +\newdimen\PstAnnotation@BoxBaselineskipDim +\define@key[psset]{}{AnnotationBoxBaselineskip}{% +\pssetlength{\PstAnnotation@BoxBaselineskipDim}{#1}} + +\define@key[psset]{}{AnnotationBoxCommand}{% +\def\PstAnnotation@BoxCommand{#1}} + +\define@key[psset]{}{AnnotationBoxJustification}{% +\def\PstAnnotation@BoxJustification{#1}} + +\newdimen\PstAnnotation@BoxLengthDim +\define@key[psset]{}{AnnotationBoxLength}{% +\pssetlength{\PstAnnotation@BoxLengthDim}{#1}} + +\define@key[psset]{}{AnnotationBoxStyle}{% +\def\PstAnnotation@BoxStyle{#1}} + +\define@key[psset]{}{AnnotationConnectionCommand}{% +\def\PstAnnotation@ConnectionCommand{#1}} + +\define@key[psset]{}{AnnotationConnectionBasicStyle}{% +\def\PstAnnotation@ConnectionBasicStyle{#1}} + +\define@key[psset]{}{AnnotationConnectionSpecialStyle}{% +\def\PstAnnotation@ConnectionSpecialStyle{#1}} + +\define@key[psset]{}{AnnotationReferencePoint}{% +\def\PstAnnotation@ReferencePoint{#1}} + +\define@key[psset]{}{AnnotationTextStyle}{% +\def\PstAnnotation@TextStyle{#1}} + +\define@key[psset]{}{AnnotationPositionX}{% +\def\PstAnnotation@PositionX{#1}} + +\define@key[psset]{}{AnnotationPositionY}{% +\def\PstAnnotation@PositionY{#1}} + +% Default values +\psset{% + AnnotationBoxBaselineskip=0.5mm, + AnnotationBoxCommand=\psframebox, + AnnotationBoxLength=4cm, + AnnotationBoxJustification=r, + AnnotationBoxStyle={linewidth=0.015,framesep=0.05}, + AnnotationConnectionCommand=\ncline, + AnnotationConnectionBasicStyle={arrows=->,nodesep=0.1}, + AnnotationConnectionSpecialStyle=, + AnnotationReferencePoint=l, + AnnotationTextStyle=\scriptsize, + AnnotationPositionX=13.45, + AnnotationPositionY=0} + +\SpecialCoor + +\def\PstAnnotation{\@ifnextchar[{\PstAnnotation@i}{\PstAnnotation@i[]}} +\def\PstAnnotation@i[#1]#2#3{{% +\psset{#1}% +\PstAnnotation@TextStyle +\rput(\PstAnnotation@PositionX,0 | #2){% + \rput[\PstAnnotation@BoxJustification](0,\PstAnnotation@PositionY){% + \rnode[\PstAnnotation@ReferencePoint]{AnnotationNodeTemp}{% + \ifx\PstAnnotation@BoxStyle\@empty + \else + \PstSet{\PstAnnotation@BoxStyle} + \fi + \PstAnnotation@BoxCommand{% + \normalbaselineskip=\PstAnnotation@BoxBaselineskipDim + \begin{minipage}{\PstAnnotation@BoxLengthDim} + #3 + \end{minipage}}}}} +\ifx\PstAnnotation@ConnectionBasicStyle\@empty +\else + \PstSet{\PstAnnotation@ConnectionBasicStyle} +\fi +\ifx\PstAnnotation@ConnectionSpecialStyle\@empty +\else + \PstSet{\PstAnnotation@ConnectionSpecialStyle} +\fi +\PstAnnotation@ConnectionCommand{AnnotationNodeTemp}{#2}}} + +% To put a right brace to point an annotation +\newcommand{\RightBrace}[1]{{% #1 = number of lines to put the brace around +\@tempdima=#1 pt +\advance\@tempdima\m@ne pt +\divide\@tempdima\tw@ +\ifx\BaseLineStretchBrace\@undefined + \@tempdimb=\normalbaselineskip +\else + \@tempdimb=\BaseLineStretchBrace\normalbaselineskip +\fi +\@tempdimc=\strip@pt\@tempdima\@tempdimb +\advance\@tempdimc-0.1\@tempdimb +% +\setbox\z@\hbox{A}% +\ifdim\@tempdimc<0.5\ht\z@ + \advance\@tempdimc0.75\ht\z@ +\fi +% +$\left \}\rule[-\@tempdimc]{0mm}{\@tempdimc}\right.$}} + +% Macros useful when using overlays with the `listings' package +% ------------------------------------------------------------- + +\def\pnodeLstDown#1{% +\@tempdima=0.5\normalbaselineskip +\setbox\z@\hbox{A}% +\ifdim\@tempdima<0.5\ht\z@ + \advance\@tempdima0.25\ht\z@ +\else + \advance\@tempdima-0.5\ht\z@ +\fi +\pnode(0,-\@tempdima){#1}} +\def\pnodeLstUp#1{\setbox\z@\hbox{A}\pnode(0,0.5\ht\z@){#1}} +\def\rnodeLst#1#2#3{\rnode[#1]{#2}{#3}} + +\catcode`\@=\SeminarAtCode\relax +\endinput +% End seminar.con |