From fac69187f92c9b6169d640cda90a07297ef33a25 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 8 Jun 2006 22:02:37 +0000 Subject: pst-lens 1.02 git-svn-id: svn://tug.org/texlive/trunk@1671 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/generic/pst-lens/Changes | 1 + Master/texmf-dist/doc/generic/pst-lens/README | 2 - .../texmf-dist/doc/generic/pst-lens/pst-lens.pdf | Bin 557653 -> 490504 bytes .../source/generic/pst-lens/pst-lens.dtx | 1172 ++++++++++++++++++++ .../texmf-dist/source/latex/pst-lens/pst-lens.dtx | 1171 ------------------- .../texmf-dist/source/latex/pst-lens/pst-lens.ins | 38 - .../texmf-dist/tex/generic/pst-lens/pst-lens.tex | 10 +- Master/texmf-dist/tex/latex/pst-lens/pst-lens.sty | 2 +- 8 files changed, 1179 insertions(+), 1217 deletions(-) create mode 100644 Master/texmf-dist/source/generic/pst-lens/pst-lens.dtx delete mode 100644 Master/texmf-dist/source/latex/pst-lens/pst-lens.dtx delete mode 100644 Master/texmf-dist/source/latex/pst-lens/pst-lens.ins diff --git a/Master/texmf-dist/doc/generic/pst-lens/Changes b/Master/texmf-dist/doc/generic/pst-lens/Changes index 660e3d9dcfe..49319c3d1e6 100644 --- a/Master/texmf-dist/doc/generic/pst-lens/Changes +++ b/Master/texmf-dist/doc/generic/pst-lens/Changes @@ -1,2 +1,3 @@ +1.02 2006-01-20 use of \psscalebox to prevent clash with graphicx (hv) 1.01 2005-09-03 use of the extended pst-xkey instead of pst-key (hv) 1.00 2001-02-19 first CTAN version diff --git a/Master/texmf-dist/doc/generic/pst-lens/README b/Master/texmf-dist/doc/generic/pst-lens/README index 0366e9e0e03..cebf66eed71 100644 --- a/Master/texmf-dist/doc/generic/pst-lens/README +++ b/Master/texmf-dist/doc/generic/pst-lens/README @@ -1,4 +1,3 @@ -
                  ---------------------------------------
                  | pst-lens: PSTricks package for lens |
                  |                                     |
@@ -18,4 +17,3 @@ To generate the documentaion run:
 
 --
 Denis Girou and Manuel Luque and hv
-
\ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/pst-lens/pst-lens.pdf b/Master/texmf-dist/doc/generic/pst-lens/pst-lens.pdf index a37059ed61a..1f34dddcfb4 100644 Binary files a/Master/texmf-dist/doc/generic/pst-lens/pst-lens.pdf and b/Master/texmf-dist/doc/generic/pst-lens/pst-lens.pdf differ diff --git a/Master/texmf-dist/source/generic/pst-lens/pst-lens.dtx b/Master/texmf-dist/source/generic/pst-lens/pst-lens.dtx new file mode 100644 index 00000000000..5d6b0251c7a --- /dev/null +++ b/Master/texmf-dist/source/generic/pst-lens/pst-lens.dtx @@ -0,0 +1,1172 @@ +% \iffalse meta-comment, etc. +%% +%% Package `pst-lens.dtx' +%% +%% Denis Girou (CNRS/IDRIS - France) +%% Manuel Luque (ml) +%% Herbert Voss (hv) +%% +%% June 06, 2006 +%% +%% This file is under the LaTeX Project Public License +%% See CTAN archives in directory macros/latex/base/lppl.txt. +%% +%% DESCRIPTION: +%% `pst-lens' is a PSTricks package to define a generic lens, which can be +%% used on texts and graphics. +%% +% \fi +% +% \changes{v1.02}{2006/06/06}{using psscalebox instead of scalebox. (hv)} +% \changes{v1.01}{2005/09/03}{using the extended pst-xkey instead of pst-key. (hv)} +% \changes{v1.00}{2001/02/16}{First public release. (dg)} +% +% \DoNotIndex{\!,\",\#,\$,\%,\&,\',\(,\+,\*,\,,\-,\.,\/,\:,\;,\<,\=,\>,\?} +% \DoNotIndex{\@,\@B,\@K,\@cTq,\@f,\@fPl,\@ifnextchar,\@nameuse,\@oVk} +% \DoNotIndex{\[,\\,\],\^,\_,\ } +% \DoNotIndex{\^,\\^,\\\^,$\^$,$\\^$,$\\^$} +% \DoNotIndex{\0,\2,\4,\5,\6,\7,\8,} +% \DoNotIndex{\A,\a} +% \DoNotIndex{\B,\b,\Bc,\begin,\Bq,\Bqc} +% \DoNotIndex{\C,\c,\catcode,\cJA,\CodelineIndex,\csname} +% \DoNotIndex{\D,\def,\define@key,\Df,\divide,\DocInput,\documentclass,\pst@addfams} +% \DoNotIndex{\eCN,\edef,\else,\eHd,\eMcj,\EnableCrossrefs,\end,\endcsname} +% \DoNotIndex{\endCenterExample,\endExample,\endinput,\endpsclip} +% \DoNotIndex{\PrintIndex,\PrintChanges,\ProvidesFile} +% \DoNotIndex{\endpspicture,\endSideBySideExample,\Example} +% \DoNotIndex{\F,\f,\FdUrr,\fi,\filedate,\fileversion,\FV@Environment} +% \DoNotIndex{\FV@UseKeyValues,\FV@XRightMargin,\FVB@Example,\fvset} +% \DoNotIndex{\G,\g,\GetFileInfo,\gr,\GradientLoaded,\gsFKrbK@o,\gsj,\gsOX} +% \DoNotIndex{\hbadness,\hfuzz,\HLEmphasize,\HLMacro,\HLMacro@i} +% \DoNotIndex{\HLReverse,\HLReverse@i,\hqcu,\HqY} +% \DoNotIndex{\I,\i,\ifx,\input,\Ir,\IU} +% \DoNotIndex{\j,\jl,\JT,\JVodH} +% \DoNotIndex{\K,\k,\kfSlL} +% \DoNotIndex{\L,\let} +% \DoNotIndex{\message,\mHNa,\mIU} +% \DoNotIndex{\N,\nB,\newcmykcolor,\newdimen,\newif,\nW} +% \DoNotIndex{\O,\oCDJDo,\ocQhVI,\OnlyDescription,\oRKJ} +% \DoNotIndex{\P,\p,\ProvidesPackage,\psframe,\pslinewidth,\psset} +% \DoNotIndex{\PstAtCode,\PSTricksLoaded} +% \DoNotIndex{\q,\Qr,\qssRXq,\qu,\qXjFQp,\qYL} +% \DoNotIndex{\R,\r,\RecordChanges,\relax,\RlaYI,\rN,\Rp,\rp,\RPDXNn,\rput} +% \DoNotIndex{\S,\psscalebox,\SgY,\SideBySide@Example,\SideBySideExample} +% \DoNotIndex{\SgY,\sk,\Sp,\space,\sZb} +% \DoNotIndex{\T,\the,\tw@} +% \DoNotIndex{\u,\UiSWGEf@,\uJi,\usepackage,\uVQdMM,\UYj} +% \DoNotIndex{\VerbatimEnvironment,\VerbatimInput,\VrC@} +% \DoNotIndex{\WhZ,\WjKCYb,\WNs} +% \DoNotIndex{\XkN,\XW} +% \DoNotIndex{\Z,\ZCM,\Ze} +% \DoNotIndex{\addtocounter,\advance,\alph,\arabic,\AtBeginDocument,\AtEndDocument} +% \DoNotIndex{\AtEndOfPackage,\begingroup,\bfseries,\bgroup,\box,\csname} +% \DoNotIndex{\else,\endcsname,\endgroup,\endinput,\expandafter,\fi} +% +% \setcounter{IndexColumns}{2} +% +% \newcommand{\PstLensPackage}{`\textsf{pst-lens}'} +% \newcommand{\PstBlurPackage}{`\textsf{pst-blur}'} +% \newcommand{\PstLensMacro}{\cs{PstLens}} +% +% ^^A From ltugboat.cls +% +% ^^A Typeset the name of an environment +% \providecommand\env[1]{\textsf{#1}} +% \providecommand\clsname[1]{\textsf{#1}} +% \providecommand\pkgname[1]{\textsf{#1}} +% \providecommand\optname[1]{\textsf{#1}} +% \providecommand\progname[1]{\textsf{#1}} +% +% ^^A A list of options for a package/class +% \newenvironment{optlist}{\begin{description}% +% \renewcommand\makelabel[1]{% +% \descriptionlabel{\mdseries\optname{##1}}}% +% \itemsep0.25\itemsep}% +% {\end{description}} +% +% \makeatletter +% +% ^^A Utility macros +% +% ^^A Example macros - adapted from the `fvrb-ex' package +% ^^A --------------------------------------------------- +% +% ^^A Take care that we use here the four /?_Z characters as escape +% ^^A characters, so we can't use these characters in the examples! +% +% ^^A To highlight some verbatim sequences (comments, macro names, etc.) +% \def\HLEmphasize#1{\textit{#1}} +% \newcommand{\BS}{\texttt{\symbol{`\\}}} +% \def\HLMacro#1{\BS{}def\HLMacro@i#1\@nil} +% \def\HLMacro@i#1def#2\@nil{\HLReverse{#2}} +% \def\HLReverse#1{{\setlength{\fboxsep}{1pt}\HLReverse@i{#1}}} +% \def\HLReverse@i#1{\colorbox{black}{\textcolor{white}{\textbf{#1}}}} +% +% \def\Example{\FV@Environment{}{Example}} +% \def\endExample{% +% \end{VerbatimOut} +% \Below@Example{\input{\jobname.tmp}} +% \endgroup} +% +% \def\CenterExample{\FV@Environment{}{Example}} +% \def\endCenterExample{% +% \end{VerbatimOut} +% \begin{center} +% \Below@Example{\input{\jobname.tmp}} +% \end{center} +% \endgroup} +% +% \def\SideBySideExample{\FV@Environment{}{Example}} +% \def\endSideBySideExample{% +% \end{VerbatimOut} +% \SideBySide@Example{\input{\jobname.tmp}} +% \endgroup} +% +% \def\FVB@Example{% +% \begingroup +% \FV@UseKeyValues +% \parindent=0pt +% \multiply\topsep by 2 +% \VerbatimEnvironment +% \begin{VerbatimOut}[gobble=4,codes={\catcode`\Z=12}]{\jobname.tmp}} +% +% \def\Below@Example#1{% +% \VerbatimInput[gobble=0,commentchar=Z,commandchars=/?_,frame=single, +% numbers=left,numbersep=3pt]{\jobname.tmp} +% \catcode`\%=14\relax +% \catcode`\Z=9\relax +% ^^A We suppress the effect of the highlighting macros +% \catcode`/=0\relax +% \catcode`?=1\relax +% \catcode`_=2\relax +% \def\HLEmphasize##1{##1}% +% \def\HLMacro##1{##1}% +% \def\HLReverse##1{##1}% +% #1 +% \par} +% +% \def\SideBySide@Example#1{% +% \vskip 1mm +% \@tempdimb=\FV@XRightMargin +% \advance\@tempdimb -5mm +% \begin{minipage}[c]{\@tempdimb} +% \fvset{xrightmargin=0pt} +% \catcode`\%=14\relax +% \catcode`\Z=9\relax +% ^^A We suppress the effect of the highlighting macros +% \catcode`/=0\relax +% \catcode`?=1\relax +% \catcode`_=2\relax +% \def\HLEmphasize##1{##1}% +% \def\HLMacro##1{##1}% +% \def\HLReverse##1{##1}% +% #1 +% \end{minipage}% +% \@tempdimb=\textwidth +% \advance\@tempdimb -\FV@XRightMargin +% \advance\@tempdimb 5mm +% \begin{minipage}[c]{\@tempdimb} +% \VerbatimInput[gobble=0,commentchar=Z,commandchars=/?_, +% frame=single,numbers=left,numbersep=3pt, +% xleftmargin=5mm,xrightmargin=0pt]{\jobname.tmp} +% \end{minipage} +% \vskip 1mm} +% +% ^^A End of example macros from `fvrb-ex' +% +% ^^A Customizations of the "Verbatim" environment +% \RecustomVerbatimEnvironment{Verbatim}{Verbatim}% +% {gobble=4,frame=single,numbers=left,numbersep=3pt,commandchars=/?_} +% +% ^^A For the possible index and changes log +% \setlength{\columnseprule}{0.6pt} +% +% ^^A The basic text used for demonstration purposes. +% +% \def\Wishes{{% +% \rput[lb](0,0){% +% \Large +% \begin{minipage}{3cm} +% \centering +% \textbf{Best wishes}\\ +% Caroline,\\ +% for this new year\\ +% \Huge 2001 ! +% \end{minipage}}}} +% +% ^^A The second text used for demonstration purposes (poem from the French +% ^^A poet Arthur Rimbaud.) +% +% \def\TheEternity{{% +% \rput[lb](0,0){% +% \scriptsize +% \begin{minipage}{3.5cm} +% \centerline{\normalsize\textbf{L'\'Eternit\'e}} +% \vspace{5mm} +% \begin{raggedright} +% Elle est retrouv\'ee.\\ +% Quoi ? --- L'\'Eternit\'e.\\ +% C'est la mer all\'ee\\ +% Avec le soleil.\\[3mm] +% +% \^Ame sentinelle\\ +% Murmurons l'aveu\\ +% De la nuit si nulle\\ +% Et du jour en feu.\\[3mm] +% +% Des humains suffrages\\ +% Des communs \'elans\\ +% L\`a tu te d\'egages\\ +% Et voles selon.\\[3mm] +% +% Puisque de vous seules,\\ +% Braises de satin,\\ +% Le devoir s'exhale\\ +% Sans qu'on dise : enfin.\\[3mm] +% +% L\`a pas d'esp\'erance,\\ +% Nul orietur.\\ +% Science avec patience,\\ +% Le supplice est s\^ur.\\[3mm] +% +% Elle est retrouv\'ee.\\ +% Quoi ? --- L'\'Eternit\'e.\\ +% C'est la mer all\'ee\\ +% Avec le soleil.\\[3mm] +% \end{raggedright} +% \flushright{\normalsize\textbf{Arthur Rimbaud}} +% \end{minipage}}}} +% +% ^^A One of the Truchet's tilings, for demonstration purposes +% +% ^^A The four elementary tiles for it +% +% \def\TruchetTileA{\pspolygon*(0,0)(0,1)(1,0)} +% \def\TruchetTileB{\pspolygon*(0,0)(0,1)(1,1)} +% \def\TruchetTileC{\pspolygon*(0,1)(1,1)(1,0)} +% \def\TruchetTileD{\pspolygon*(0,0)(1,0)(1,1)} +% +% \def\TruchetTilingA#1#2{{% +% \psset{dimen=middle} +% \pst@cntb=#2 +% \psframe(#1,#2) +% \whiledo{\pst@cntb>\z@}{% +% \advance\pst@cntb\m@ne +% \pst@cnta=\z@ +% \whiledo{\pst@cnta<#1}{% +% \rput(\pst@cnta,\pst@cntb){\TruchetTileB}\advance\pst@cnta\@ne +% \rput(\pst@cnta,\pst@cntb){\TruchetTileA}\advance\pst@cnta\@ne +% \rput(\pst@cnta,\pst@cntb){\TruchetTileD}\advance\pst@cnta\@ne +% \rput(\pst@cnta,\pst@cntb){\TruchetTileC}\advance\pst@cnta\@ne} +% \advance\pst@cntb\m@ne +% \pst@cnta=\z@ +% \whiledo{\pst@cnta<#1}{% +% \rput(\pst@cnta,\pst@cntb){\TruchetTileC}\advance\pst@cnta\@ne +% \rput(\pst@cnta,\pst@cntb){\TruchetTileD}\advance\pst@cnta\@ne +% \rput(\pst@cnta,\pst@cntb){\TruchetTileA}\advance\pst@cnta\@ne +% \rput(\pst@cnta,\pst@cntb){\TruchetTileB}\advance\pst@cnta\@ne} +% \advance\pst@cntb\m@ne +% \pst@cnta=\z@ +% \whiledo{\pst@cnta<#1}{% +% \rput(\pst@cnta,\pst@cntb){\TruchetTileD}\advance\pst@cnta\@ne +% \rput(\pst@cnta,\pst@cntb){\TruchetTileC}\advance\pst@cnta\@ne +% \rput(\pst@cnta,\pst@cntb){\TruchetTileB}\advance\pst@cnta\@ne +% \rput(\pst@cnta,\pst@cntb){\TruchetTileA}\advance\pst@cnta\@ne} +% \advance\pst@cntb\m@ne +% \pst@cnta=\z@ +% \whiledo{\pst@cnta<#1}{% +% \rput(\pst@cnta,\pst@cntb){\TruchetTileA}\advance\pst@cnta\@ne +% \rput(\pst@cnta,\pst@cntb){\TruchetTileB}\advance\pst@cnta\@ne +% \rput(\pst@cnta,\pst@cntb){\TruchetTileC}\advance\pst@cnta\@ne +% \rput(\pst@cnta,\pst@cntb){\TruchetTileD}\advance\pst@cnta\@ne}}}} +% +% \def\TruchetTiling{{% +% \rput[lb](0,0){\psset{unit=0.5}\TruchetTilingA{12}{12}}}} +% +% ^^A Van Koch curve and Siepinski triangle fractals, for demonstration +% ^^A purposes +% +% ^^A The recursion macro used (from David Carlisle) +% +% \newcount\DeepRecursion +% +% \def\Recursion #1{% +% #1\relax +% \expandafter\@firstoftwo +% \else +% \expandafter\@secondoftwo +% \fi} +% +% ^^A General definition of a fractal +% +% \def\PstFractal#1{% +% \ifx\PstFractalBegin\@undefined +% \else +% \PstFractalBegin +% \fi +% \Recursion +% {\ifnum#1>1\relax} +% {\DeepRecursion=#1% +% \advance\DeepRecursion by -1% +% \PstFractalRepeat{\DeepRecursion}} +% {\PstFractalDefinition}} +% +% ^^A Sierpinski triangle +% +% \def\PstSierpinskiTriangle#1{{% +% \rput[lb](0,0){% +% \psset{unit=3} +% \def\PstFractalDefinition{% +% \pspolygon*[linecolor=\PstSierpinskiExternalColor](1;0)(1;1)(1;2) +% \rput{-2}(0,0){\pspolygon*[linecolor=\PstSierpinskiInternalColor]% +% (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] +% \PstFractal{#1}}}}} +% +% ^^A Von Koch curve +% +% \def\PstVonKochCurve#1{{% +% \rput[lb](0,0){% +% \psset{unit=3} +% \def\PstFractalDefinition{\psline(0,0)(1,0)(1.5,0.8660254)(2,0)(3,0)}% +% \def\PstFractalRepeat##1{% +% \rput(0,0){\psset{unit=0.3333}\PstFractal{##1}} +% \rput{60}(1,0){\psset{unit=0.3333}\PstFractal{##1}} +% \rput{-60}(1.5,0.866){\psset{unit=0.3333}\PstFractal{##1}} +% \rput(2,0){\psset{unit=0.3333}\PstFractal{##1}}}% +% \PstFractal{#1}}}} +% +% \makeatother +% +% +% ^^A Beginning of the documentation itself +% +% \title{The \PstLensPackage{} package\\A PSTricks package for lens} +% \author{Denis \textsc{Girou}\thanks{CNRS/IDRIS --- +% Centre National de la Recherche Scientifique / +% Institut du D\'eveloppement et des Ressources en Informatique +% Scientifique --- Orsay --- France --- +% \mbox{\texttt{}}.}\\ +% and\\ +% Manuel \textsc{Luque}\thanks{\mbox{\texttt{}}. +% The original idea and the first version of the lens were from +% Manuel \textsc{Luque}.}} +% \date{Version \pstLensFileVersion\ \pstLensFileDate\ \\ +% {\small Documentation revised \today\ (hv)}} +% +% \maketitle +% +% \begin{abstract} +% This package defines a lens which can be used in various contexts +% to simulate the effect of a lens, using the unique macro \PstLensMacro, +% with some customization parameters. +% +% It is also a good example of the great power and flexibility of +% PSTricks, as in fact it is a very short program (it body, without +% considering the various customizations, is only 7~lines long!) +% but nevertheless powerful. +% +% And last, it is also a good pedagogical example of how to design and +% program \emph{high level graphic objects} above PSTricks own ones. +% +% \verb+pst-lens+ uses the extended version of the keyval interface. Be sure, that +% you have installed the \verb+xkeyval+ package. Otherwise get it from \verb+CTAN+. +% \end{abstract} +% +% \clearpage +% \tableofcontents +% +% \section{Introduction} +% +% \PstLensPackage{} offer a unique macro with some parameters to interact +% on it. +% +% \vspace{1mm} +% \def\ParamObject{\textbraceleft Object\textbraceright} +% The syntax is simply: +% \fbox{\PstLensMacro\texttt{[optional\_parameters]\textit{(x,y)}\ParamObject}} +% +% \vspace{1mm} +% \texttt{\textit{(x,y)}} is a PSTricks coordinate, which as usual is taken +% as \texttt{(0,0)} if it is not defined. +% +% To use the lens, we must define a \texttt{pspicture} environment, +% optionally draw the object and then call the \PstLensMacro{} macro on it. +% +% \section{Usage} +% +% We will use the following textual object to illustrate our examples +% (note that we must define the reference point at the left bottom corner, +% as it is the normal behavior of PSTricks): +% +% \begin{SideBySideExample}[xrightmargin=3.8cm] +% Z\begin{pspicture}(3,4) +% Z \psgrid[subgriddiv=0,griddots=5] +% /HLMacro?\def\Wishes_{{% +% \rput[lb](0,0){% +% \Large +% \begin{minipage}{3cm} +% \centering +% \textbf{Best wishes}\\ +% Caroline,\\ +% for this new year\\ +% \Huge 2001 ! +% \end{minipage}}}} +% +% \Wishes +% Z\end{pspicture} +% \end{SideBySideExample} +% +% \subsection{Parameters} +% +% There are \textbf{9} specific parameters defined to change the way the +% lens works: +% +% \begin{optlist} +% \item [LensMagnification (real)]: magnification to apply for the lens +% (\emph{Default:~1} --- no~magnification). +% \end{optlist} +% +% \begin{CenterExample} +% \begin{pspicture}(0,-1.5)(3,4) +% \Wishes +% \PstLens[LensMagnification=2](2,2){\Wishes} +% \end{pspicture} +% \hfill +% \begin{pspicture}(0,-1.5)(3,4) +% \Wishes +% \PstLens[LensMagnification=4](1,2.4){\Wishes} +% \end{pspicture} +% \hfill +% \begin{pspicture}(0,-1.5)(3.5,4) +% \Wishes +% \PstLens[LensMagnification=0.5](1,1){\Wishes} +% \PstLens[LensMagnification=-0.5](2.5,3){\Wishes} +% \end{pspicture} +% \end{CenterExample} +% +% \begin{optlist} +% \item [LensSize (real or length)]: value of the radius of the glass of the +% lens (\emph{Default:~1}). +% \end{optlist} +% +% \noindent Note that the size of the handle will change accordingly. +% +% \begin{SideBySideExample}[xrightmargin=3.8cm] +% \begin{pspicture}(0,-4)(3,3.5) +% \Wishes +% \PstLens[LensSize=2](1,1){\Wishes} +% \PstLens[LensSize=0.5](3,3){\Wishes} +% \end{pspicture} +% \end{SideBySideExample} +% +% \begin{optlist} +% \item [LensRotation (real)]: rotation angle applied to the lens +% (\emph{Default:~0} --- no rotation). +% \end{optlist} +% +% \begin{SideBySideExample}[xrightmargin=3.8cm] +% \begin{pspicture}(0,-1)(3,3.8) +% \Wishes +% \PstLens[LensRotation=80]{\Wishes} +% \PstLens[LensRotation=-108.5](2,2){\Wishes} +% \end{pspicture} +% \end{SideBySideExample} +% +% \begin{optlist} +% \item [LensHandle (boolean)]: boolean value to choose between to draw +% a handle for the lens or not. +% (\emph{Default:~true} --- handle). +% \end{optlist} +% +% \begin{SideBySideExample}[xrightmargin=3.8cm] +% \begin{pspicture}(3,3.5) +% \Wishes +% \PstLens[LensHandle=false](2,2){\Wishes} +% \end{pspicture} +% \end{SideBySideExample} +% +% \begin{optlist} +% \item [LensHandleWidth (real or length)]: width of the handle +% (\emph{Default:~0.2 for \texttt{LensSize=1}}). +% \end{optlist} +% +% \begin{SideBySideExample}[xrightmargin=3.8cm] +% \begin{pspicture}(0,-2.5)(3,3.5) +% \Wishes +% \PstLens[LensHandleWidth=0.1]{\Wishes} +% \PstLens[LensHandleWidth=4mm](2,2){\Wishes} +% \end{pspicture} +% \end{SideBySideExample} +% +% \begin{optlist} +% \item [LensHandleHeight (real or length)]: height of the handle +% (\emph{Default:~2.5 for \texttt{LensSize=1}}). +% \end{optlist} +% +% Take care that this length is between the \emph{center} of the glass and +% the bottom of the handle. +% +% \begin{SideBySideExample}[xrightmargin=3.8cm] +% \begin{pspicture}(0,-2)(3,3.5) +% \Wishes +% \PstLens[LensHandleHeight=15mm]{\Wishes} +% \PstLens[LensHandleHeight=4](2,2){\Wishes} +% \end{pspicture} +% \end{SideBySideExample} +% +% \begin{optlist} +% \item [LensStyleHandle (style)]: name of the PSTricks style for the +% handle. +% (\emph{Default: LensStyleHandle}). +% \end{optlist} +% +% \noindent Its default value is: +% +% \begin{Verbatim} +% \newpsstyle{/HLReverse?LensStyleHandle_}{% +% fillstyle=gradient,framearc=0.6,linewidth=0.5\pslinewidth, +% gradmidpoint=0.5,gradangle=\PstLens@Rotation, +% gradbegin=Brown,gradend=Salmon} +% \end{Verbatim} +% +% \begin{SideBySideExample}[xrightmargin=3.8cm] +% \begin{pspicture}(0,-2.5)(3,3.5) +% \Wishes +% \newpsstyle{/HLReverse?HandleYellow_}{% +% linecolor=red,framearc=1, +% fillstyle=solid,fillcolor=yellow} +% \PstLens[LensHandleWidth=0.5, +% LensStyleHandle=HandleYellow] +% {\Wishes} +% \newpsstyle{/HLReverse?HandleCrosshatch_}{% +% fillstyle=crosshatch*,fillcolor=white} +% \PstLens[LensStyleHandle=HandleCrosshatch] +% (2,2){\Wishes} +% \end{pspicture} +% \end{SideBySideExample} +% +% \begin{optlist} +% \item [LensShadow (boolean)]: boolean value to choose between to draw +% a shadow for the glass of the lens or not. +% (\emph{Default:~true} --- shadow). +% \end{optlist} +% +% Note that if we redefine the \texttt{LensStyleGlass} parameter without +% explicitely require a shadow, there will be none even if \texttt{LensShadow} +% will have the \texttt{true} value. +% +% \begin{SideBySideExample}[xrightmargin=3.8cm] +% \begin{pspicture}(0,-0.5)(3,3.5) +% \Wishes +% \PstLens[LensShadow=false](2,2){\Wishes} +% \end{pspicture} +% \end{SideBySideExample} +% +% \begin{optlist} +% \item [LensStyleGlass (style)]: name of the PSTricks style for the glass. +% (\emph{Default: LensStyleGlass}). +% \end{optlist} +% +% It allow to change the appearance of the glass, but its main utility is +% probably to be able to define the style of the shadow of the glass. +% Default definition is: +% +% \begin{Verbatim} +% \newpsstyle{/HLReverse?LensStyleGlass_}{% +% fillstyle=solid,fillcolor=white, +% shadow=true,shadowcolor=lightgray,shadowsize=0.15, +% shadowangle=\PstLens@Rotation} +% \end{Verbatim} +% +% Take care that if we will use later the \texttt{LensRotation} parameter +% with \texttt{LensShadow} positioned, we must set the value of the +% \texttt{shadowangle} parameter to \cs{PstLens@Rotation} to have the shadow +% rotate accordingly. +% +% And for better shadow effects, you must look at the \PstBlurPackage{} +% package from Martin \textsc{Giese}. +% +% \begin{SideBySideExample}[xrightmargin=3.8cm] +% \begin{pspicture}(3,4) +% \Wishes +% \makeatletter +% \newpsstyle{/HLReverse?DarkShadow_}{% +% fillstyle=solid,fillcolor=white, +% shadow=true,shadowcolor=darkgray, +% shadowsize=0.2, +% shadowangle=\PstLens@Rotation} +% \makeatother +% \PstLens[LensRotation=230, +% LensStyleGlass=DarkShadow](2,2) +% {\Wishes} +% \end{pspicture} +% \end{SideBySideExample} +% +% \begin{SideBySideExample}[xrightmargin=3.8cm] +% \begin{pspicture}(0,-0.5)(3,3.5) +% \Wishes +% \newpsstyle{/HLReverse?YellowGlass_}{% +% linecolor=red,linewidth=0.1, +% fillstyle=solid,fillcolor=yellow} +% \PstLens[LensStyleGlass=YellowGlass](2,2) +% {\Wishes} +% \end{pspicture} +% \end{SideBySideExample} +% +% \subsection{Shape of the glass} +% +% The \cs{PstLensShape} macro define the shape of the glass. It default +% value is a circle, as in real life, but we can redefine it for various +% effects... +% +% \begin{CenterExample} +% \psset{LensMagnification=1.5} +% \begin{pspicture}(0,-1.8)(4,3.8) +% \Wishes +% \renewcommand{\PstLensShape}{\psellipse(2,1)} +% \PstLens(2,2){\Wishes} +% \end{pspicture} +% \hfill +% \begin{pspicture}(-0.5,-1.8)(4,3.8) +% \Wishes +% \renewcommand{\PstLensShape}{\pstriangle(3,1)} +% \PstLens[LensSize=1.5](2,2){\Wishes} +% \end{pspicture} +% \hfill +% \begin{pspicture}(0,-1.8)(3.5,3.8) +% \Wishes +% \renewcommand{\PstLensShape}{% +% \rput{18}{\pspolygon(1;0)(1;144)(1;288)(1;72)(1;216)}} +% \PstLens[LensSize=1.5](2,2){\Wishes} +% \end{pspicture} +% +% \begin{pspicture}(0,-0.5)(4,3.5) +% \renewcommand{\PstLensShape}{% +% \parabola[fillstyle=solid,fillcolor=white](-1,-1.5)(1,2)} +% \Wishes +% \PstLens[LensShadow=false,LensHandle=false](1,1){\Wishes} +% \end{pspicture} +% \hfill +% \begin{pspicture}(-1.5,-1)(3.5,3.5) +% \renewcommand{\PstLensShape}{% +% \psccurve(-1,-1)(0,1.2)(0.5,-1)(1,0.8)} +% \Wishes +% \PstLens[LensSize=2,LensHandle=false](1,1){\Wishes} +% \end{pspicture} +% \end{CenterExample} +% +% \subsection{Examples} +% +% We can use the lens for all textual objects and for all PSTricks graphic +% objects (we use here some versions of tilings and fractals, but only basic +% ones to avoid requiring too much memory from old \TeX{} systems, to compile +% the file). +% +% And specially take care to explicitely position the reference point +% at the left bottom corner and to compute the correct dimensions for the +% \texttt{pspicture} environment (in our examples, we choose most of the time +% to include the lens inside the bounding boxes, but we can choose to define +% them just for the objects). +% +% \begin{Verbatim} +% /HLMacro?\def\TheEternity_{{% +% \rput[lb](0,0){% +% \scriptsize +% \begin{minipage}{3.5cm} +% \centerline{\normalsize\textbf{L'\'Eternit\'e}} +% ... +% /HLMacro?\def\TruchetTiling_#1#2{{% +% \rput[lb](0,0){% +% ... +% /HLMacro?\def\PstSierpinskiTriangle_#1{{% +% \rput[lb](0,0){% +% ... +% /HLMacro?\def\PstVonKochCurve_#1{{% +% \rput[lb](0,0){% +% ... +% \end{Verbatim} +% +% \begin{CenterExample} +% \newpsstyle{/HLReverse?SimpleGlass_}{fillstyle=solid,fillcolor=white} +% \newpsstyle{/HLReverse?SimpleHandle_}{fillstyle=solid,fillcolor=white, +% framearc=0.5} +% \psset{LensStyleGlass=SimpleGlass,LensStyleHandle=SimpleHandle} +% +% \begin{pspicture}(-1,-2.5)(5,10.5) +% \TheEternity +% \PstLens[LensSize=2,LensMagnification=4,LensRotation=40] +% (1.5,6){\TheEternity} +% \PstLens[LensSize=1.5,LensMagnification=2,LensRotation=-20] +% (0.5,2){\TheEternity} +% \end{pspicture} +% \hfill +% \begin{pspicture}(-2,-2.5)(4,10.5) +% \TheEternity +% \PstLens[LensMagnification=0.5,LensRotation=140] +% (1,8.5){\TheEternity} +% \PstLens[LensSize=2.5,LensMagnification=3,LensRotation=-100] +% (2.4,0){\TheEternity} +% \end{pspicture} +% \end{CenterExample} +% +% \begin{CenterExample} +% \begin{pspicture}(0,-6)(6,6) +% \TruchetTiling +% \PstLens[LensSize=2.5,LensMagnification=2.5](3.5,1) +% {\TruchetTiling} +% \end{pspicture} +% \end{CenterExample} +% +% \begin{CenterExample} +% \newcommand{\PstSierpinskiInternalColor}{red} +% \newcommand{\PstSierpinskiExternalColor}{yellow} +% +% % /HLEmphasize?The Sierpinski triangle is in a unit circle of radius 1,_ +% % /HLEmphasize?so we must define the "pspicture" accordingly: (-3,-2)(3,3)_ +% \begin{pspicture}(-3,-2)(3,3) +% \PstSierpinskiTriangle{3} +% \end{pspicture} +% \hfill +% \begin{pspicture}(-3,-2)(3,3) +% \PstSierpinskiTriangle{3} +% \psset{LensShadow=false} +% \PstLens[LensMagnification=2,LensRotation=-80](-1,0) +% {\PstSierpinskiTriangle{3}} +% \PstLens[LensSize=2,LensMagnification=5,LensRotation=100, +% LensHandle=false](1,1){\PstSierpinskiTriangle{3}} +% \end{pspicture} +% +% \begin{pspicture}(-1,-2)(11,5) +% \PstVonKochCurve{3} +% \PstLens[LensSize=1.2,LensMagnification=2,LensRotation=-50] +% (1.5,0.6){\PstVonKochCurve{3}} +% \PstLens[LensSize=2.5,LensMagnification=5,LensRotation=160, +% LensHandleHeight=2](6.2,0.2){\PstVonKochCurve{3}} +% \end{pspicture} +% \end{CenterExample} +% +% Of course, as for all PSTricks objects, we can apply to them some +% transformations. For instance, we can project them in the 3~dimensional +% space, with the general \cs{ThreeDput} macro or the simple \cs{pstilt} one. +% +% \begin{CenterExample} +% \psset{LensMagnification=1.5} +% \begin{pspicture}(0.8,-1.5)(5.3,3) +% \renewcommand{\PstLensShape}{\psdiamond(1.5,1)} +% \pstilt{60}{% +% \Wishes +% \PstLens[LensSize=1.5](2,2){\Wishes}} +% \end{pspicture} +% \hfill +% \begin{pspicture}(-3,-0.5)(3.5,8) +% \psset{viewpoint=0.5 -2 5,LensHandleHeight=3.5} +% \multido{\nPosX=0+-0.8,\nPosY=8+-1.5,\nMag=3+-0.5}{5}{% +% \ThreeDput(\nPosX,\nPosY,0){% +% \PstLens[LensMagnification=\nMag](0.6,0.2) +% {\rput[lb](0,0){Danger!}}}} +% \end{pspicture} +% \end{CenterExample} +% +% \noindent And we can also use the lens on non PSTricks graphics, +% as external images. +% +% \begin{CenterExample} +% \newcommand{\tigerHead}{% +% \rput[lb](0,0){% +% \includegraphics[width=4cm,height=5cm]{tiger}}} +% \newpsstyle{/HLReverse?SimpleGlass_}{linestyle=none} +% \psset{LensStyleGlass=SimpleGlass} +% +% \begin{pspicture}(0,-1)(4,5) +% \tigerHead +% \end{pspicture} +% \hfill +% \begin{pspicture}(-0.5,-1)(3,5) +% \PstLens[LensHandle=false,LensSize=1.8,LensMagnification=2] +% (1.2,2.3){\tigerHead} +% \end{pspicture} +% \hfill +% \newpsstyle{/HLReverse?SimpleHandle_}{fillstyle=solid,fillcolor=white, +% framearc=0.5} +% \psset{LensStyleHandle=SimpleHandle} +% \begin{pspicture}(0,-1)(4,5) +% \tigerHead +% \PstLens[LensSize=1.5,LensMagnification=4] +% (1.5,2.5){\tigerHead} +% \end{pspicture} +% \end{CenterExample} +% +% +% \begin{CenterExample} +% \def\Persistance{{% +% \rput(0,0){% +% \begin{minipage}{6cm} +% \centerline{\normalsize\textbf{La persistance rétinienne}} +% \vspace{5mm} +% La persistance des impressions lumineuses, ou maintien de la +% sensation lumineuse après que l'excitation ait disparue, est +% connue depuis la plus haute antiquité. \textsc{Aristote} +% (Sur le Songes) et \textsc{Lucrèce} (De Natura Rerum), +% entre autres, constatent son existence et proposent le +% premières explications, à la mesure de leurs moyens. +% Au fil des siècles, Guillaume de Saint Cloud (1285), +% Léonard de Vinci, Newton et bien d'autres s'intéressent aussi +% à la question de l'observation des éclipses de Soleil. +% +% Toutefois, la mesure de la durée de persistance n'aura lieu qu'au +% \textsc{xiii}\textsuperscript{eme} siècle. Reprenant une +% observation déjà formulée par Léonard de Vinci : +% +% <<\ldots si tu agites un tison enflammé, le cercle que tu lui feras +% tracer semblera un anneau de feu.>>, Patrice d'\textsc{Arcy} +% imagine en 1765 toute une machinerie pour effectuer des mesures à +% peu près fiables. Un charbon ardent est fixé à la périphérie d'une +% roue qu'un mécanisme de poids et de volants met en rotation +% uniforme. En raison de la persistance des impressions lumineuses, +% la braise semble décrire un arc de cercle, d'autant plus grand que +% la vitesse de rotation est plus importante. Quand la durée d'un +% tour est égale à celle de la persistance de la sensation lumineuse, +% la trace décrit un tour complet. À la suite de nombreuses +% expériences, d'\textsc{Arcy} aboutit à la valeur de 8 tierces, à +% peu près 130 millisecondes. +% \flushright{\normalsize\textbf{Miche HENRY}} +% \end{minipage}}}} +% +% \begin{pspicture}*(-3,-5)(3,5) +% \Persistance +% \PstLens[LensSize=2.5,LensMagnification=2,LensRotation=20]% +% (0,1.5){\Persistance} +% \end{pspicture}\hfill +% \begin{pspicture}*(-3,-5)(3,5) +% \Persistance +% \PstLens[LensSize=2,LensMagnification=0.6,LensRotation=-20]% +% (0,1.5){\Persistance} +% \end{pspicture} +% \end{CenterExample} +% +% +% \StopEventually{} +% +% ^^A .................... End of the documentation part .................... +% +% \section{Driver file} +% +% The next bit of code contains the documentation driver file for \TeX{}, +% i.e., the file that will produce the documentation you are currently +% reading. It will be extracted from this file by the \texttt{docstrip} +% program. +% +% \begin{macrocode} +%<*driver> +\documentclass{ltxdoc} +\GetFileInfo{pst-lens.dtx} +\usepackage[T1]{fontenc} +\usepackage{fancyvrb} +\usepackage{graphicx} +\usepackage{ifthen} +\usepackage{multido} +\usepackage{pstricks} +\usepackage{pst-lens} +\let\pstLensFileVersion\fileversion +\let\pstLensFileDate\filedate +\usepackage{pst-3d} +\AtBeginDocument{ +% \OnlyDescription % comment out for implementation details + \EnableCrossrefs + \RecordChanges + \CodelineIndex +} +\AtEndDocument{ + \PrintChanges + \PrintIndex +} +\hbadness=7000 % Over and under full box warnings +\hfuzz=3pt +\begin{document} + \DocInput{pst-lens.dtx} +\end{document} +% +% \end{macrocode} +% +% \section{\PstLensPackage{} \LaTeX{} wrapper} +% +% \begin{macrocode} +%<*latex-wrapper> +\RequirePackage{pstricks} +\ProvidesPackage{pst-lens}[2005/09/02 package wrapper for + pst-lens.tex (hv)] +\input{pst-lens.tex} +\ProvidesFile{pst-lens.tex} + [\filedate\space v\fileversion\space `PST-lens' (hv)] +% +% \end{macrocode} +% +% \section{\PstLensPackage{} code} +% +% \begin{macrocode} +%<*pst-lens> +% \end{macrocode} +% +% \subsection{Preambule} +% +% Who we are. +% +% \begin{macrocode} +\csname PSTLensLoaded\endcsname +\let\PSTLensLoaded\endinput +% \end{macrocode} +% +% Require the PSTricks and `\textsf{pst-grad}' packages. +% +% \begin{macrocode} +\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi +\ifx\GradientLoaded\endinput\else\input pst-grad.tex\fi +\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey \fi % (hv 2005-09-03) +% \end{macrocode} +% +% Catcodes changes. +% +% \begin{macrocode} +\edef\PstAtCode{\the\catcode`\@} +\catcode`\@=11\relax +\pst@addfams{pst-lens} +\def\fileversion{1.02} +\def\filedate{2006/06/06} +\message{`PST-Lens' v\fileversion, \filedate\space + (Denis Girou and Manuel Luque)} +% \end{macrocode} +% +% \subsection{Definition of the parameters} +% +% \texttt{LensHandle} will define if we will draw an handle to the lens +% or not. It is a \emph{boolean} value. +% +% \begin{macrocode} +\newif\ifPstLens@Handle +\define@key[psset]{pst-lens}{LensHandle}[true]{% + \@nameuse{PstLens@Handle#1}} +% \end{macrocode} +% +% \texttt{LensStyleHandle} is the name of the PSTricks style to draw +% the handle of the lens. +% +% \begin{macrocode} +\define@key[psset]{pst-lens}{LensStyleHandle}{% + \def\PstLens@StyleHandle{#1}} +% \end{macrocode} +% +% \texttt{LensHandleWidth} will be the size of the lens. +% This is a \emph{real} or \emph{length} value, as all PSTrisks dimensions, +% but as we will have to make computations with it, we store it in a dimension +% register. +% +% \begin{macrocode} +\newdimen\PstLens@HandleWidth +\define@key[psset]{pst-lens}{LensHandleWidth}{% + \pssetlength{\PstLens@HandleWidth}{#1}} +% \end{macrocode} +% +% \texttt{LensHandleHeight} will be the size of the lens. +% This is a \emph{real} or \emph{length} value, as all PSTrisks dimensions, +% but as we will have not to make computations with it, we store it in a +% simple macro. +% +% \begin{macrocode} +\define@key[psset]{pst-lens}{LensHandleHeight}{% + \def\PstLens@HandleHeight{#1}} +% \end{macrocode} +% +% \texttt{LensShadow} will define if we will draw a shadow to the glass +% of the lens or not. It is a \emph{boolean} value. +% +% \begin{macrocode} +\newif\ifPstLens@Shadow +\define@key[psset]{pst-lens}{LensShadow}[true]{% + \@nameuse{PstLens@Shadow#1}} +% \end{macrocode} +% +% \texttt{LensStyleGlass} is the name of the PSTricks style to draw +% the glass. +% +% \begin{macrocode} +\define@key[psset]{pst-lens}{LensStyleGlass}{% + \def\PstLens@StyleGlass{#1}} +% \end{macrocode} +% +% \texttt{LensSize} will be the size of the lens. +% This is a \emph{real} or \emph{length} value, as all PSTrisks dimensions, +% but as we will have not to make computations with it, we store it in a +% simple macro. +% +% \begin{macrocode} +\define@key[psset]{pst-lens}{LensSize}{% + \def\PstLens@Size{#1}} +% \end{macrocode} +% +% \texttt{LensMagnification} will be the magnification to apply to the lens. +% This is a \emph{real} or \emph{length} value, but as we will have not +% to make computations with it, we strore it in a simple macro. +% +% \begin{macrocode} +\define@key[psset]{pst-lens}{LensMagnification}{% + \def\PstLens@Magnification{#1}} +% \end{macrocode} +% +% \texttt{LensRotation} will be the rotation angle to apply to the lens. +% It is a \emph{real} value used as an \emph{angle}. +% +% \begin{macrocode} +\define@key[psset]{pst-lens}{LensRotation}{% + \def\PstLens@Rotation{#1}} +% \end{macrocode} +% +% Next, we set the default values for all these new parameters. +% We choose to have an handle of width 0.2 unit and height of 2.5 unit, +% LensStyleHandle as style for the handle, a shadow to the glass, +% LensStyleGlass as style for it, no rotation, a size equal to 1 unit +% and no magnification (so of value 1). +% +% \begin{macrocode} +\psset[pst-lens]{% + LensHandle=true,LensHandleWidth=0.2,LensHandleHeight=2.5, + LensStyleHandle=LensStyleHandle, + LensShadow=true,LensStyleGlass=LensStyleGlass, + LensRotation=0,LensSize=1,LensMagnification=1} +% \end{macrocode} +% +% We define also the default style for the handle. +% +% \begin{macrocode} +\newcmykcolor{Brown}{0 0.81 1 0.6} +\newcmykcolor{Salmon}{0 0.53 0.38 0} +\newpsstyle{LensStyleHandle}{% + fillstyle=gradient,framearc=0.6,linewidth=0.5\pslinewidth, + gradmidpoint=0.5,gradangle=\PstLens@Rotation,gradbegin=Brown,gradend=Salmon} +% \end{macrocode} +% +% And the default style for the glass (we only define a shaow for it). +% +% \begin{macrocode} +\newpsstyle{LensStyleGlass}{% + fillstyle=solid,fillcolor=white, + shadow=true,shadowcolor=lightgray,shadowsize=0.15, + shadowangle=\PstLens@Rotation} +% \end{macrocode} +% +% Then we define the default shape for the lens (a circle of radius 1 and +% center (0,0)). +% +% \begin{macrocode} +\def\PstLensShape{\pscircle{1}} +% \end{macrocode} +% +% \subsection{Main macro} +% +% The general \cs{PstLens} macro to draw lens. +% +% \begin{macro}{\PstLens} +% \begin{macrocode} +\def\PstLens{\@ifnextchar[{\PstLens@i}{\PstLens@i[]}} +% \end{macrocode} +% \end{macro} +% +% We first check if the coordinate is given, and if not we choose as usual +% (0,0) as default one. +% +% \begin{macro}{\PstLens@i} +% \begin{macrocode} +\def\PstLens@i[#1]{\@ifnextchar({\PstLens@ii[#1]}{\PstLens@ii[#1](0,0)}} +% \end{macrocode} +% \end{macro} +% +% Then we define the auxiliary macro which will handle the parameters if +% some are used. Note also the usage of the double \verb+{{+ to have only +% changes of parameter values for this specific object, as redefinitions +% of them must be local. +% +% \begin{macro}{\PstLens@ii} +% \begin{macrocode} +\def\PstLens@ii[#1](#2,#3)#4{{% +% \end{macrocode} +% +% After that, we can set the values of local parameters if defined. +% +% \begin{macrocode} +\psset{#1}% +% \end{macrocode} +% +% Now, we can start the \emph{real} code. First, we must be able to use +% PostScript expressions as coordinates. +% +% \begin{macrocode} +\SpecialCoor +% \end{macrocode} +% +% Then, if the handle is not suppressed, we position it at the required +% coordinate, with it specified rotation. +% +% \begin{macrocode} +\rput{\PstLens@Rotation}(#2,#3){% + \ifPstLens@Handle + \psscalebox{\PstLens@Size}{% + \divide\PstLens@HandleWidth\tw@ + \psframe[style=\PstLens@StyleHandle] + (-\PstLens@HandleWidth,0) + (\PstLens@HandleWidth,-\PstLens@HandleHeight)}% + \fi} +% \end{macrocode} +% +% Now, we can draw the object at the specified position, but surimposing on +% it a shape which will represent the glass of the lens, and we use the +% powerful clipping mechanism to eliminate the parts of the object not inside +% this shape. +% +% \begin{macrocode} +\psclip{{\psset{style=\PstLens@StyleGlass} + \ifPstLens@Shadow + \else + \psset{shadow=false} + \fi + \rput(#2,#3){\psset{unit=\PstLens@Size}\PstLensShape}}} +% \end{macrocode} +% +% Then we draw again the object, but with the specified magnification. +% It require also to recompute the coordinates where to put the object, +% according to the magnification. +% +% \begin{macrocode} + \rput(! 1 \PstLens@Magnification\space sub #2\space mul + 1 \PstLens@Magnification\space sub #3\space mul){% + \psscalebox{\PstLens@Magnification}{#4}} +% \end{macrocode} +% +% To finish we close the clipping mechanism and the \cs{PstLens@ii} macro. +% +% \begin{macrocode} +\endpsclip}} +% \end{macrocode} +% \end{macro} +% +% \subsection{Closing} +% +% Catcodes restoration. +% +% \begin{macrocode} +\catcode`\@=\PstAtCode\relax +% \end{macrocode} +% +% \begin{macrocode} +% +% \end{macrocode} +% +\endinput +%% +%% End of file `pst-lens.dtx' diff --git a/Master/texmf-dist/source/latex/pst-lens/pst-lens.dtx b/Master/texmf-dist/source/latex/pst-lens/pst-lens.dtx deleted file mode 100644 index 2fcead70942..00000000000 --- a/Master/texmf-dist/source/latex/pst-lens/pst-lens.dtx +++ /dev/null @@ -1,1171 +0,0 @@ -% \iffalse meta-comment, etc. -%% -%% Package `pst-lens.dtx' -%% -%% Denis Girou (CNRS/IDRIS - France) -%% Manuel Luque (ml) -%% Herbert Voss (hv) -%% -%% September 03, 2005 -%% -%% This file is under the LaTeX Project Public License -%% See CTAN archives in directory macros/latex/base/lppl.txt. -%% -%% DESCRIPTION: -%% `pst-lens' is a PSTricks package to define a generic lens, which can be -%% used on texts and graphics. -%% -% \fi -% -% \changes{v1.01}{2005/09/03}{using the extended pst-xkey instead of pst-key. (hv)} -% \changes{v1.00}{2001/02/16}{First public release. (dg)} -% -% \DoNotIndex{\!,\",\#,\$,\%,\&,\',\(,\+,\*,\,,\-,\.,\/,\:,\;,\<,\=,\>,\?} -% \DoNotIndex{\@,\@B,\@K,\@cTq,\@f,\@fPl,\@ifnextchar,\@nameuse,\@oVk} -% \DoNotIndex{\[,\\,\],\^,\_,\ } -% \DoNotIndex{\^,\\^,\\\^,$\^$,$\\^$,$\\^$} -% \DoNotIndex{\0,\2,\4,\5,\6,\7,\8,} -% \DoNotIndex{\A,\a} -% \DoNotIndex{\B,\b,\Bc,\begin,\Bq,\Bqc} -% \DoNotIndex{\C,\c,\catcode,\cJA,\CodelineIndex,\csname} -% \DoNotIndex{\D,\def,\define@key,\Df,\divide,\DocInput,\documentclass,\pst@addfams} -% \DoNotIndex{\eCN,\edef,\else,\eHd,\eMcj,\EnableCrossrefs,\end,\endcsname} -% \DoNotIndex{\endCenterExample,\endExample,\endinput,\endpsclip} -% \DoNotIndex{\PrintIndex,\PrintChanges,\ProvidesFile} -% \DoNotIndex{\endpspicture,\endSideBySideExample,\Example} -% \DoNotIndex{\F,\f,\FdUrr,\fi,\filedate,\fileversion,\FV@Environment} -% \DoNotIndex{\FV@UseKeyValues,\FV@XRightMargin,\FVB@Example,\fvset} -% \DoNotIndex{\G,\g,\GetFileInfo,\gr,\GradientLoaded,\gsFKrbK@o,\gsj,\gsOX} -% \DoNotIndex{\hbadness,\hfuzz,\HLEmphasize,\HLMacro,\HLMacro@i} -% \DoNotIndex{\HLReverse,\HLReverse@i,\hqcu,\HqY} -% \DoNotIndex{\I,\i,\ifx,\input,\Ir,\IU} -% \DoNotIndex{\j,\jl,\JT,\JVodH} -% \DoNotIndex{\K,\k,\kfSlL} -% \DoNotIndex{\L,\let} -% \DoNotIndex{\message,\mHNa,\mIU} -% \DoNotIndex{\N,\nB,\newcmykcolor,\newdimen,\newif,\nW} -% \DoNotIndex{\O,\oCDJDo,\ocQhVI,\OnlyDescription,\oRKJ} -% \DoNotIndex{\P,\p,\ProvidesPackage,\psframe,\pslinewidth,\psset} -% \DoNotIndex{\PstAtCode,\PSTricksLoaded} -% \DoNotIndex{\q,\Qr,\qssRXq,\qu,\qXjFQp,\qYL} -% \DoNotIndex{\R,\r,\RecordChanges,\relax,\RlaYI,\rN,\Rp,\rp,\RPDXNn,\rput} -% \DoNotIndex{\S,\scalebox,\SgY,\SideBySide@Example,\SideBySideExample} -% \DoNotIndex{\SgY,\sk,\Sp,\space,\sZb} -% \DoNotIndex{\T,\the,\tw@} -% \DoNotIndex{\u,\UiSWGEf@,\uJi,\usepackage,\uVQdMM,\UYj} -% \DoNotIndex{\VerbatimEnvironment,\VerbatimInput,\VrC@} -% \DoNotIndex{\WhZ,\WjKCYb,\WNs} -% \DoNotIndex{\XkN,\XW} -% \DoNotIndex{\Z,\ZCM,\Ze} -% \DoNotIndex{\addtocounter,\advance,\alph,\arabic,\AtBeginDocument,\AtEndDocument} -% \DoNotIndex{\AtEndOfPackage,\begingroup,\bfseries,\bgroup,\box,\csname} -% \DoNotIndex{\else,\endcsname,\endgroup,\endinput,\expandafter,\fi} -% -% \setcounter{IndexColumns}{2} -% -% \newcommand{\PstLensPackage}{`\textsf{pst-lens}'} -% \newcommand{\PstBlurPackage}{`\textsf{pst-blur}'} -% \newcommand{\PstLensMacro}{\cs{PstLens}} -% -% ^^A From ltugboat.cls -% -% ^^A Typeset the name of an environment -% \providecommand\env[1]{\textsf{#1}} -% \providecommand\clsname[1]{\textsf{#1}} -% \providecommand\pkgname[1]{\textsf{#1}} -% \providecommand\optname[1]{\textsf{#1}} -% \providecommand\progname[1]{\textsf{#1}} -% -% ^^A A list of options for a package/class -% \newenvironment{optlist}{\begin{description}% -% \renewcommand\makelabel[1]{% -% \descriptionlabel{\mdseries\optname{##1}}}% -% \itemsep0.25\itemsep}% -% {\end{description}} -% -% \makeatletter -% -% ^^A Utility macros -% -% ^^A Example macros - adapted from the `fvrb-ex' package -% ^^A --------------------------------------------------- -% -% ^^A Take care that we use here the four /?_Z characters as escape -% ^^A characters, so we can't use these characters in the examples! -% -% ^^A To highlight some verbatim sequences (comments, macro names, etc.) -% \def\HLEmphasize#1{\textit{#1}} -% \newcommand{\BS}{\texttt{\symbol{`\\}}} -% \def\HLMacro#1{\BS{}def\HLMacro@i#1\@nil} -% \def\HLMacro@i#1def#2\@nil{\HLReverse{#2}} -% \def\HLReverse#1{{\setlength{\fboxsep}{1pt}\HLReverse@i{#1}}} -% \def\HLReverse@i#1{\colorbox{black}{\textcolor{white}{\textbf{#1}}}} -% -% \def\Example{\FV@Environment{}{Example}} -% \def\endExample{% -% \end{VerbatimOut} -% \Below@Example{\input{\jobname.tmp}} -% \endgroup} -% -% \def\CenterExample{\FV@Environment{}{Example}} -% \def\endCenterExample{% -% \end{VerbatimOut} -% \begin{center} -% \Below@Example{\input{\jobname.tmp}} -% \end{center} -% \endgroup} -% -% \def\SideBySideExample{\FV@Environment{}{Example}} -% \def\endSideBySideExample{% -% \end{VerbatimOut} -% \SideBySide@Example{\input{\jobname.tmp}} -% \endgroup} -% -% \def\FVB@Example{% -% \begingroup -% \FV@UseKeyValues -% \parindent=0pt -% \multiply\topsep by 2 -% \VerbatimEnvironment -% \begin{VerbatimOut}[gobble=4,codes={\catcode`\Z=12}]{\jobname.tmp}} -% -% \def\Below@Example#1{% -% \VerbatimInput[gobble=0,commentchar=Z,commandchars=/?_,frame=single, -% numbers=left,numbersep=3pt]{\jobname.tmp} -% \catcode`\%=14\relax -% \catcode`\Z=9\relax -% ^^A We suppress the effect of the highlighting macros -% \catcode`/=0\relax -% \catcode`?=1\relax -% \catcode`_=2\relax -% \def\HLEmphasize##1{##1}% -% \def\HLMacro##1{##1}% -% \def\HLReverse##1{##1}% -% #1 -% \par} -% -% \def\SideBySide@Example#1{% -% \vskip 1mm -% \@tempdimb=\FV@XRightMargin -% \advance\@tempdimb -5mm -% \begin{minipage}[c]{\@tempdimb} -% \fvset{xrightmargin=0pt} -% \catcode`\%=14\relax -% \catcode`\Z=9\relax -% ^^A We suppress the effect of the highlighting macros -% \catcode`/=0\relax -% \catcode`?=1\relax -% \catcode`_=2\relax -% \def\HLEmphasize##1{##1}% -% \def\HLMacro##1{##1}% -% \def\HLReverse##1{##1}% -% #1 -% \end{minipage}% -% \@tempdimb=\textwidth -% \advance\@tempdimb -\FV@XRightMargin -% \advance\@tempdimb 5mm -% \begin{minipage}[c]{\@tempdimb} -% \VerbatimInput[gobble=0,commentchar=Z,commandchars=/?_, -% frame=single,numbers=left,numbersep=3pt, -% xleftmargin=5mm,xrightmargin=0pt]{\jobname.tmp} -% \end{minipage} -% \vskip 1mm} -% -% ^^A End of example macros from `fvrb-ex' -% -% ^^A Customizations of the "Verbatim" environment -% \RecustomVerbatimEnvironment{Verbatim}{Verbatim}% -% {gobble=4,frame=single,numbers=left,numbersep=3pt,commandchars=/?_} -% -% ^^A For the possible index and changes log -% \setlength{\columnseprule}{0.6pt} -% -% ^^A The basic text used for demonstration purposes. -% -% \def\Wishes{{% -% \rput[lb](0,0){% -% \Large -% \begin{minipage}{3cm} -% \centering -% \textbf{Best wishes}\\ -% Caroline,\\ -% for this new year\\ -% \Huge 2001 ! -% \end{minipage}}}} -% -% ^^A The second text used for demonstration purposes (poem from the French -% ^^A poet Arthur Rimbaud.) -% -% \def\TheEternity{{% -% \rput[lb](0,0){% -% \scriptsize -% \begin{minipage}{3.5cm} -% \centerline{\normalsize\textbf{L'\'Eternit\'e}} -% \vspace{5mm} -% \begin{raggedright} -% Elle est retrouv\'ee.\\ -% Quoi ? --- L'\'Eternit\'e.\\ -% C'est la mer all\'ee\\ -% Avec le soleil.\\[3mm] -% -% \^Ame sentinelle\\ -% Murmurons l'aveu\\ -% De la nuit si nulle\\ -% Et du jour en feu.\\[3mm] -% -% Des humains suffrages\\ -% Des communs \'elans\\ -% L\`a tu te d\'egages\\ -% Et voles selon.\\[3mm] -% -% Puisque de vous seules,\\ -% Braises de satin,\\ -% Le devoir s'exhale\\ -% Sans qu'on dise : enfin.\\[3mm] -% -% L\`a pas d'esp\'erance,\\ -% Nul orietur.\\ -% Science avec patience,\\ -% Le supplice est s\^ur.\\[3mm] -% -% Elle est retrouv\'ee.\\ -% Quoi ? --- L'\'Eternit\'e.\\ -% C'est la mer all\'ee\\ -% Avec le soleil.\\[3mm] -% \end{raggedright} -% \flushright{\normalsize\textbf{Arthur Rimbaud}} -% \end{minipage}}}} -% -% ^^A One of the Truchet's tilings, for demonstration purposes -% -% ^^A The four elementary tiles for it -% -% \def\TruchetTileA{\pspolygon*(0,0)(0,1)(1,0)} -% \def\TruchetTileB{\pspolygon*(0,0)(0,1)(1,1)} -% \def\TruchetTileC{\pspolygon*(0,1)(1,1)(1,0)} -% \def\TruchetTileD{\pspolygon*(0,0)(1,0)(1,1)} -% -% \def\TruchetTilingA#1#2{{% -% \psset{dimen=middle} -% \pst@cntb=#2 -% \psframe(#1,#2) -% \whiledo{\pst@cntb>\z@}{% -% \advance\pst@cntb\m@ne -% \pst@cnta=\z@ -% \whiledo{\pst@cnta<#1}{% -% \rput(\pst@cnta,\pst@cntb){\TruchetTileB}\advance\pst@cnta\@ne -% \rput(\pst@cnta,\pst@cntb){\TruchetTileA}\advance\pst@cnta\@ne -% \rput(\pst@cnta,\pst@cntb){\TruchetTileD}\advance\pst@cnta\@ne -% \rput(\pst@cnta,\pst@cntb){\TruchetTileC}\advance\pst@cnta\@ne} -% \advance\pst@cntb\m@ne -% \pst@cnta=\z@ -% \whiledo{\pst@cnta<#1}{% -% \rput(\pst@cnta,\pst@cntb){\TruchetTileC}\advance\pst@cnta\@ne -% \rput(\pst@cnta,\pst@cntb){\TruchetTileD}\advance\pst@cnta\@ne -% \rput(\pst@cnta,\pst@cntb){\TruchetTileA}\advance\pst@cnta\@ne -% \rput(\pst@cnta,\pst@cntb){\TruchetTileB}\advance\pst@cnta\@ne} -% \advance\pst@cntb\m@ne -% \pst@cnta=\z@ -% \whiledo{\pst@cnta<#1}{% -% \rput(\pst@cnta,\pst@cntb){\TruchetTileD}\advance\pst@cnta\@ne -% \rput(\pst@cnta,\pst@cntb){\TruchetTileC}\advance\pst@cnta\@ne -% \rput(\pst@cnta,\pst@cntb){\TruchetTileB}\advance\pst@cnta\@ne -% \rput(\pst@cnta,\pst@cntb){\TruchetTileA}\advance\pst@cnta\@ne} -% \advance\pst@cntb\m@ne -% \pst@cnta=\z@ -% \whiledo{\pst@cnta<#1}{% -% \rput(\pst@cnta,\pst@cntb){\TruchetTileA}\advance\pst@cnta\@ne -% \rput(\pst@cnta,\pst@cntb){\TruchetTileB}\advance\pst@cnta\@ne -% \rput(\pst@cnta,\pst@cntb){\TruchetTileC}\advance\pst@cnta\@ne -% \rput(\pst@cnta,\pst@cntb){\TruchetTileD}\advance\pst@cnta\@ne}}}} -% -% \def\TruchetTiling{{% -% \rput[lb](0,0){\psset{unit=0.5}\TruchetTilingA{12}{12}}}} -% -% ^^A Van Koch curve and Siepinski triangle fractals, for demonstration -% ^^A purposes -% -% ^^A The recursion macro used (from David Carlisle) -% -% \newcount\DeepRecursion -% -% \def\Recursion #1{% -% #1\relax -% \expandafter\@firstoftwo -% \else -% \expandafter\@secondoftwo -% \fi} -% -% ^^A General definition of a fractal -% -% \def\PstFractal#1{% -% \ifx\PstFractalBegin\@undefined -% \else -% \PstFractalBegin -% \fi -% \Recursion -% {\ifnum#1>1\relax} -% {\DeepRecursion=#1% -% \advance\DeepRecursion by -1% -% \PstFractalRepeat{\DeepRecursion}} -% {\PstFractalDefinition}} -% -% ^^A Sierpinski triangle -% -% \def\PstSierpinskiTriangle#1{{% -% \rput[lb](0,0){% -% \psset{unit=3} -% \def\PstFractalDefinition{% -% \pspolygon*[linecolor=\PstSierpinskiExternalColor](1;0)(1;1)(1;2) -% \rput{-2}(0,0){\pspolygon*[linecolor=\PstSierpinskiInternalColor]% -% (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] -% \PstFractal{#1}}}}} -% -% ^^A Von Koch curve -% -% \def\PstVonKochCurve#1{{% -% \rput[lb](0,0){% -% \psset{unit=3} -% \def\PstFractalDefinition{\psline(0,0)(1,0)(1.5,0.8660254)(2,0)(3,0)}% -% \def\PstFractalRepeat##1{% -% \rput(0,0){\psset{unit=0.3333}\PstFractal{##1}} -% \rput{60}(1,0){\psset{unit=0.3333}\PstFractal{##1}} -% \rput{-60}(1.5,0.866){\psset{unit=0.3333}\PstFractal{##1}} -% \rput(2,0){\psset{unit=0.3333}\PstFractal{##1}}}% -% \PstFractal{#1}}}} -% -% \makeatother -% -% -% ^^A Beginning of the documentation itself -% -% \title{The \PstLensPackage{} package\\A PSTricks package for lens} -% \author{Denis \textsc{Girou}\thanks{CNRS/IDRIS --- -% Centre National de la Recherche Scientifique / -% Institut du D\'eveloppement et des Ressources en Informatique -% Scientifique --- Orsay --- France --- -% \mbox{\texttt{}}.}\\ -% and\\ -% Manuel \textsc{Luque}\thanks{\mbox{\texttt{}}. -% The original idea and the first version of the lens were from -% Manuel \textsc{Luque}.}} -% \date{Version \pstLensFileVersion\ \pstLensFileDate\ \\ -% {\small Documentation revised \today\ (hv)}} -% -% \maketitle -% -% \begin{abstract} -% This package define a lens which can be used in various contexts -% to simulate the effect of a lens, using the unique macro \PstLensMacro, -% with some customization parameters. -% -% It is also a good example of the great power and flexibility of -% PSTricks, as in fact it is a very short program (it body, without -% considering the various customizations, is only 7~lines long!) -% but nevertheless powerful. -% -% And last, it is also a good pedagogical example of how to design and -% program \emph{high level graphic objects} above PSTricks own ones. -% -% \verb+pst-lens+ uses the extended version of the keyval interface. Be sure, that -% you have installed the \verb+xkeyval+ package. Otherwise get it from \verb+CTAN+. -% \end{abstract} -% -% \clearpage -% \tableofcontents -% -% \section{Introduction} -% -% \PstLensPackage{} offer a unique macro with some parameters to interact -% on it. -% -% \vspace{1mm} -% \def\ParamObject{\textbraceleft Object\textbraceright} -% The syntax is simply: -% \fbox{\PstLensMacro\texttt{[optional\_parameters]\textit{(x,y)}\ParamObject}} -% -% \vspace{1mm} -% \texttt{\textit{(x,y)}} is a PSTricks coordinate, which as usual is taken -% as \texttt{(0,0)} if it is not defined. -% -% To use the lens, we must define a \texttt{pspicture} environment, -% optionally draw the object and then call the \PstLensMacro{} macro on it. -% -% \section{Usage} -% -% We will use the following textual object to illustrate our examples -% (note that we must define the reference point at the left bottom corner, -% as it is the normal behavior of PSTricks): -% -% \begin{SideBySideExample}[xrightmargin=3.8cm] -% Z\begin{pspicture}(3,4) -% Z \psgrid[subgriddiv=0,griddots=5] -% /HLMacro?\def\Wishes_{{% -% \rput[lb](0,0){% -% \Large -% \begin{minipage}{3cm} -% \centering -% \textbf{Best wishes}\\ -% Caroline,\\ -% for this new year\\ -% \Huge 2001 ! -% \end{minipage}}}} -% -% \Wishes -% Z\end{pspicture} -% \end{SideBySideExample} -% -% \subsection{Parameters} -% -% There are \textbf{9} specific parameters defined to change the way the -% lens works: -% -% \begin{optlist} -% \item [LensMagnification (real)]: magnification to apply for the lens -% (\emph{Default:~1} --- no~magnification). -% \end{optlist} -% -% \begin{CenterExample} -% \begin{pspicture}(0,-1.5)(3,4) -% \Wishes -% \PstLens[LensMagnification=2](2,2){\Wishes} -% \end{pspicture} -% \hfill -% \begin{pspicture}(0,-1.5)(3,4) -% \Wishes -% \PstLens[LensMagnification=4](1,2.4){\Wishes} -% \end{pspicture} -% \hfill -% \begin{pspicture}(0,-1.5)(3.5,4) -% \Wishes -% \PstLens[LensMagnification=0.5](1,1){\Wishes} -% \PstLens[LensMagnification=-0.5](2.5,3){\Wishes} -% \end{pspicture} -% \end{CenterExample} -% -% \begin{optlist} -% \item [LensSize (real or length)]: value of the radius of the glass of the -% lens (\emph{Default:~1}). -% \end{optlist} -% -% \noindent Note that the size of the handle will change accordingly. -% -% \begin{SideBySideExample}[xrightmargin=3.8cm] -% \begin{pspicture}(0,-4)(3,3.5) -% \Wishes -% \PstLens[LensSize=2](1,1){\Wishes} -% \PstLens[LensSize=0.5](3,3){\Wishes} -% \end{pspicture} -% \end{SideBySideExample} -% -% \begin{optlist} -% \item [LensRotation (real)]: rotation angle applied to the lens -% (\emph{Default:~0} --- no rotation). -% \end{optlist} -% -% \begin{SideBySideExample}[xrightmargin=3.8cm] -% \begin{pspicture}(0,-1)(3,3.8) -% \Wishes -% \PstLens[LensRotation=80]{\Wishes} -% \PstLens[LensRotation=-108.5](2,2){\Wishes} -% \end{pspicture} -% \end{SideBySideExample} -% -% \begin{optlist} -% \item [LensHandle (boolean)]: boolean value to choose between to draw -% a handle for the lens or not. -% (\emph{Default:~true} --- handle). -% \end{optlist} -% -% \begin{SideBySideExample}[xrightmargin=3.8cm] -% \begin{pspicture}(3,3.5) -% \Wishes -% \PstLens[LensHandle=false](2,2){\Wishes} -% \end{pspicture} -% \end{SideBySideExample} -% -% \begin{optlist} -% \item [LensHandleWidth (real or length)]: width of the handle -% (\emph{Default:~0.2 for \texttt{LensSize=1}}). -% \end{optlist} -% -% \begin{SideBySideExample}[xrightmargin=3.8cm] -% \begin{pspicture}(0,-2.5)(3,3.5) -% \Wishes -% \PstLens[LensHandleWidth=0.1]{\Wishes} -% \PstLens[LensHandleWidth=4mm](2,2){\Wishes} -% \end{pspicture} -% \end{SideBySideExample} -% -% \begin{optlist} -% \item [LensHandleHeight (real or length)]: height of the handle -% (\emph{Default:~2.5 for \texttt{LensSize=1}}). -% \end{optlist} -% -% Take care that this length is between the \emph{center} of the glass and -% the bottom of the handle. -% -% \begin{SideBySideExample}[xrightmargin=3.8cm] -% \begin{pspicture}(0,-2)(3,3.5) -% \Wishes -% \PstLens[LensHandleHeight=15mm]{\Wishes} -% \PstLens[LensHandleHeight=4](2,2){\Wishes} -% \end{pspicture} -% \end{SideBySideExample} -% -% \begin{optlist} -% \item [LensStyleHandle (style)]: name of the PSTricks style for the -% handle. -% (\emph{Default: LensStyleHandle}). -% \end{optlist} -% -% \noindent Its default value is: -% -% \begin{Verbatim} -% \newpsstyle{/HLReverse?LensStyleHandle_}{% -% fillstyle=gradient,framearc=0.6,linewidth=0.5\pslinewidth, -% gradmidpoint=0.5,gradangle=\PstLens@Rotation, -% gradbegin=Brown,gradend=Salmon} -% \end{Verbatim} -% -% \begin{SideBySideExample}[xrightmargin=3.8cm] -% \begin{pspicture}(0,-2.5)(3,3.5) -% \Wishes -% \newpsstyle{/HLReverse?HandleYellow_}{% -% linecolor=red,framearc=1, -% fillstyle=solid,fillcolor=yellow} -% \PstLens[LensHandleWidth=0.5, -% LensStyleHandle=HandleYellow] -% {\Wishes} -% \newpsstyle{/HLReverse?HandleCrosshatch_}{% -% fillstyle=crosshatch*,fillcolor=white} -% \PstLens[LensStyleHandle=HandleCrosshatch] -% (2,2){\Wishes} -% \end{pspicture} -% \end{SideBySideExample} -% -% \begin{optlist} -% \item [LensShadow (boolean)]: boolean value to choose between to draw -% a shadow for the glass of the lens or not. -% (\emph{Default:~true} --- shadow). -% \end{optlist} -% -% Note that if we redefine the \texttt{LensStyleGlass} parameter without -% explicitely require a shadow, there will be none even if \texttt{LensShadow} -% will have the \texttt{true} value. -% -% \begin{SideBySideExample}[xrightmargin=3.8cm] -% \begin{pspicture}(0,-0.5)(3,3.5) -% \Wishes -% \PstLens[LensShadow=false](2,2){\Wishes} -% \end{pspicture} -% \end{SideBySideExample} -% -% \begin{optlist} -% \item [LensStyleGlass (style)]: name of the PSTricks style for the glass. -% (\emph{Default: LensStyleGlass}). -% \end{optlist} -% -% It allow to change the appearance of the glass, but its main utility is -% probably to be able to define the style of the shadow of the glass. -% Default definition is: -% -% \begin{Verbatim} -% \newpsstyle{/HLReverse?LensStyleGlass_}{% -% fillstyle=solid,fillcolor=white, -% shadow=true,shadowcolor=lightgray,shadowsize=0.15, -% shadowangle=\PstLens@Rotation} -% \end{Verbatim} -% -% Take care that if we will use later the \texttt{LensRotation} parameter -% with \texttt{LensShadow} positioned, we must set the value of the -% \texttt{shadowangle} parameter to \cs{PstLens@Rotation} to have the shadow -% rotate accordingly. -% -% And for better shadow effects, you must look at the \PstBlurPackage{} -% package from Martin \textsc{Giese}. -% -% \begin{SideBySideExample}[xrightmargin=3.8cm] -% \begin{pspicture}(3,4) -% \Wishes -% \makeatletter -% \newpsstyle{/HLReverse?DarkShadow_}{% -% fillstyle=solid,fillcolor=white, -% shadow=true,shadowcolor=darkgray, -% shadowsize=0.2, -% shadowangle=\PstLens@Rotation} -% \makeatother -% \PstLens[LensRotation=230, -% LensStyleGlass=DarkShadow](2,2) -% {\Wishes} -% \end{pspicture} -% \end{SideBySideExample} -% -% \begin{SideBySideExample}[xrightmargin=3.8cm] -% \begin{pspicture}(0,-0.5)(3,3.5) -% \Wishes -% \newpsstyle{/HLReverse?YellowGlass_}{% -% linecolor=red,linewidth=0.1, -% fillstyle=solid,fillcolor=yellow} -% \PstLens[LensStyleGlass=YellowGlass](2,2) -% {\Wishes} -% \end{pspicture} -% \end{SideBySideExample} -% -% \subsection{Shape of the glass} -% -% The \cs{PstLensShape} macro define the shape of the glass. It default -% value is a circle, as in real life, but we can redefine it for various -% effects... -% -% \begin{CenterExample} -% \psset{LensMagnification=1.5} -% \begin{pspicture}(0,-1.8)(4,3.8) -% \Wishes -% \renewcommand{\PstLensShape}{\psellipse(2,1)} -% \PstLens(2,2){\Wishes} -% \end{pspicture} -% \hfill -% \begin{pspicture}(-0.5,-1.8)(4,3.8) -% \Wishes -% \renewcommand{\PstLensShape}{\pstriangle(3,1)} -% \PstLens[LensSize=1.5](2,2){\Wishes} -% \end{pspicture} -% \hfill -% \begin{pspicture}(0,-1.8)(3.5,3.8) -% \Wishes -% \renewcommand{\PstLensShape}{% -% \rput{18}{\pspolygon(1;0)(1;144)(1;288)(1;72)(1;216)}} -% \PstLens[LensSize=1.5](2,2){\Wishes} -% \end{pspicture} -% -% \begin{pspicture}(0,-0.5)(4,3.5) -% \renewcommand{\PstLensShape}{% -% \parabola[fillstyle=solid,fillcolor=white](-1,-1.5)(1,2)} -% \Wishes -% \PstLens[LensShadow=false,LensHandle=false](1,1){\Wishes} -% \end{pspicture} -% \hfill -% \begin{pspicture}(-1.5,-1)(3.5,3.5) -% \renewcommand{\PstLensShape}{% -% \psccurve(-1,-1)(0,1.2)(0.5,-1)(1,0.8)} -% \Wishes -% \PstLens[LensSize=2,LensHandle=false](1,1){\Wishes} -% \end{pspicture} -% \end{CenterExample} -% -% \subsection{Examples} -% -% We can use the lens for all textual objects and for all PSTricks graphic -% objects (we use here some versions of tilings and fractals, but only basic -% ones to avoid requiring too much memory from old \TeX{} systems, to compile -% the file). -% -% And specially take care to explicitely position the reference point -% at the left bottom corner and to compute the correct dimensions for the -% \texttt{pspicture} environment (in our examples, we choose most of the time -% to include the lens inside the bounding boxes, but we can choose to define -% them just for the objects). -% -% \begin{Verbatim} -% /HLMacro?\def\TheEternity_{{% -% \rput[lb](0,0){% -% \scriptsize -% \begin{minipage}{3.5cm} -% \centerline{\normalsize\textbf{L'\'Eternit\'e}} -% ... -% /HLMacro?\def\TruchetTiling_#1#2{{% -% \rput[lb](0,0){% -% ... -% /HLMacro?\def\PstSierpinskiTriangle_#1{{% -% \rput[lb](0,0){% -% ... -% /HLMacro?\def\PstVonKochCurve_#1{{% -% \rput[lb](0,0){% -% ... -% \end{Verbatim} -% -% \begin{CenterExample} -% \newpsstyle{/HLReverse?SimpleGlass_}{fillstyle=solid,fillcolor=white} -% \newpsstyle{/HLReverse?SimpleHandle_}{fillstyle=solid,fillcolor=white, -% framearc=0.5} -% \psset{LensStyleGlass=SimpleGlass,LensStyleHandle=SimpleHandle} -% -% \begin{pspicture}(-1,-2.5)(5,10.5) -% \TheEternity -% \PstLens[LensSize=2,LensMagnification=4,LensRotation=40] -% (1.5,6){\TheEternity} -% \PstLens[LensSize=1.5,LensMagnification=2,LensRotation=-20] -% (0.5,2){\TheEternity} -% \end{pspicture} -% \hfill -% \begin{pspicture}(-2,-2.5)(4,10.5) -% \TheEternity -% \PstLens[LensMagnification=0.5,LensRotation=140] -% (1,8.5){\TheEternity} -% \PstLens[LensSize=2.5,LensMagnification=3,LensRotation=-100] -% (2.4,0){\TheEternity} -% \end{pspicture} -% \end{CenterExample} -% -% \begin{CenterExample} -% \begin{pspicture}(0,-6)(6,6) -% \TruchetTiling -% \PstLens[LensSize=2.5,LensMagnification=2.5](3.5,1) -% {\TruchetTiling} -% \end{pspicture} -% \end{CenterExample} -% -% \begin{CenterExample} -% \newcommand{\PstSierpinskiInternalColor}{red} -% \newcommand{\PstSierpinskiExternalColor}{yellow} -% -% % /HLEmphasize?The Sierpinski triangle is in a unit circle of radius 1,_ -% % /HLEmphasize?so we must define the "pspicture" accordingly: (-3,-2)(3,3)_ -% \begin{pspicture}(-3,-2)(3,3) -% \PstSierpinskiTriangle{3} -% \end{pspicture} -% \hfill -% \begin{pspicture}(-3,-2)(3,3) -% \PstSierpinskiTriangle{3} -% \psset{LensShadow=false} -% \PstLens[LensMagnification=2,LensRotation=-80](-1,0) -% {\PstSierpinskiTriangle{3}} -% \PstLens[LensSize=2,LensMagnification=5,LensRotation=100, -% LensHandle=false](1,1){\PstSierpinskiTriangle{3}} -% \end{pspicture} -% -% \begin{pspicture}(-1,-2)(11,5) -% \PstVonKochCurve{3} -% \PstLens[LensSize=1.2,LensMagnification=2,LensRotation=-50] -% (1.5,0.6){\PstVonKochCurve{3}} -% \PstLens[LensSize=2.5,LensMagnification=5,LensRotation=160, -% LensHandleHeight=2](6.2,0.2){\PstVonKochCurve{3}} -% \end{pspicture} -% \end{CenterExample} -% -% Of course, as for all PSTricks objects, we can apply to them some -% transformations. For instance, we can project them in the 3~dimensional -% space, with the general \cs{ThreeDput} macro or the simple \cs{pstilt} one. -% -% \begin{CenterExample} -% \psset{LensMagnification=1.5} -% \begin{pspicture}(0.8,-1.5)(5.3,3) -% \renewcommand{\PstLensShape}{\psdiamond(1.5,1)} -% \pstilt{60}{% -% \Wishes -% \PstLens[LensSize=1.5](2,2){\Wishes}} -% \end{pspicture} -% \hfill -% \begin{pspicture}(-3,-0.5)(3.5,8) -% \psset{viewpoint=0.5 -2 5,LensHandleHeight=3.5} -% \multido{\nPosX=0+-0.8,\nPosY=8+-1.5,\nMag=3+-0.5}{5}{% -% \ThreeDput(\nPosX,\nPosY,0){% -% \PstLens[LensMagnification=\nMag](0.6,0.2) -% {\rput[lb](0,0){Danger!}}}} -% \end{pspicture} -% \end{CenterExample} -% -% \noindent And we can also use the lens on non PSTricks graphics, -% as external images. -% -% \begin{CenterExample} -% \newcommand{\tigerHead}{% -% \rput[lb](0,0){% -% \includegraphics[width=4cm,height=5cm]{tiger}}} -% \newpsstyle{/HLReverse?SimpleGlass_}{linestyle=none} -% \psset{LensStyleGlass=SimpleGlass} -% -% \begin{pspicture}(0,-1)(4,5) -% \tigerHead -% \end{pspicture} -% \hfill -% \begin{pspicture}(-0.5,-1)(3,5) -% \PstLens[LensHandle=false,LensSize=1.8,LensMagnification=2] -% (1.2,2.3){\tigerHead} -% \end{pspicture} -% \hfill -% \newpsstyle{/HLReverse?SimpleHandle_}{fillstyle=solid,fillcolor=white, -% framearc=0.5} -% \psset{LensStyleHandle=SimpleHandle} -% \begin{pspicture}(0,-1)(4,5) -% \tigerHead -% \PstLens[LensSize=1.5,LensMagnification=4] -% (1.5,2.5){\tigerHead} -% \end{pspicture} -% \end{CenterExample} -% -% -% \begin{CenterExample} -% \def\Persistance{{% -% \rput(0,0){% -% \begin{minipage}{6cm} -% \centerline{\normalsize\textbf{La persistance rétinienne}} -% \vspace{5mm} -% La persistance des impressions lumineuses, ou maintien de la -% sensation lumineuse après que l'excitation ait disparue, est -% connue depuis la plus haute antiquité. \textsc{Aristote} -% (Sur le Songes) et \textsc{Lucrèce} (De Natura Rerum), -% entre autres, constatent son existence et proposent le -% premières explications, à la mesure de leurs moyens. -% Au fil des siècles, Guillaume de Saint Cloud (1285), -% Léonard de Vinci, Newton et bien d'autres s'intéressent aussi -% à la question de l'observation des éclipses de Soleil. -% -% Toutefois, la mesure de la durée de persistance n'aura lieu qu'au -% \textsc{xiii}\textsuperscript{eme} siècle. Reprenant une -% observation déjà formulée par Léonard de Vinci : -% -% <<\ldots si tu agites un tison enflammé, le cercle que tu lui feras -% tracer semblera un anneau de feu.>>, Patrice d'\textsc{Arcy} -% imagine en 1765 toute une machinerie pour effectuer des mesures à -% peu près fiables. Un charbon ardent est fixé à la périphérie d'une -% roue qu'un mécanisme de poids et de volants met en rotation -% uniforme. En raison de la persistance des impressions lumineuses, -% la braise semble décrire un arc de cercle, d'autant plus grand que -% la vitesse de rotation est plus importante. Quand la durée d'un -% tour est égale à celle de la persistance de la sensation lumineuse, -% la trace décrit un tour complet. À la suite de nombreuses -% expériences, d'\textsc{Arcy} aboutit à la valeur de 8 tierces, à -% peu près 130 millisecondes. -% \flushright{\normalsize\textbf{Miche HENRY}} -% \end{minipage}}}} -% -% \begin{pspicture}*(-3,-5)(3,5) -% \Persistance -% \PstLens[LensSize=2.5,LensMagnification=2,LensRotation=20]% -% (0,1.5){\Persistance} -% \end{pspicture}\hfill -% \begin{pspicture}*(-3,-5)(3,5) -% \Persistance -% \PstLens[LensSize=2,LensMagnification=0.6,LensRotation=-20]% -% (0,1.5){\Persistance} -% \end{pspicture} -% \end{CenterExample} -% -% -% \StopEventually{} -% -% ^^A .................... End of the documentation part .................... -% -% \section{Driver file} -% -% The next bit of code contains the documentation driver file for \TeX{}, -% i.e., the file that will produce the documentation you are currently -% reading. It will be extracted from this file by the \texttt{docstrip} -% program. -% -% \begin{macrocode} -%<*driver> -\documentclass{ltxdoc} -\GetFileInfo{pst-lens.dtx} -\usepackage[T1]{fontenc} -\usepackage{fancyvrb} -\usepackage{graphicx} -\usepackage{ifthen} -\usepackage{multido} -\usepackage{pstricks} -\usepackage{pst-lens} -\let\pstLensFileVersion\fileversion -\let\pstLensFileDate\filedate -\usepackage{pst-3d} -\AtBeginDocument{ -% \OnlyDescription % comment out for implementation details - \EnableCrossrefs - \RecordChanges - \CodelineIndex -} -\AtEndDocument{ - \PrintChanges - \PrintIndex -} -\hbadness=7000 % Over and under full box warnings -\hfuzz=3pt -\begin{document} - \DocInput{pst-lens.dtx} -\end{document} -% -% \end{macrocode} -% -% \section{\PstLensPackage{} \LaTeX{} wrapper} -% -% \begin{macrocode} -%<*latex-wrapper> -\RequirePackage{pstricks} -\ProvidesPackage{pst-lens}[2005/09/02 package wrapper for - pst-lens.tex (hv)] -\input{pst-lens.tex} -\ProvidesFile{pst-lens.tex} - [\filedate\space v\fileversion\space `PST-lens' (hv)] -% -% \end{macrocode} -% -% \section{\PstLensPackage{} code} -% -% \begin{macrocode} -%<*pst-lens> -% \end{macrocode} -% -% \subsection{Preambule} -% -% Who we are. -% -% \begin{macrocode} -\csname PSTLensLoaded\endcsname -\let\PSTLensLoaded\endinput -% \end{macrocode} -% -% Require the PSTricks and `\textsf{pst-grad}' packages. -% -% \begin{macrocode} -\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi -\ifx\GradientLoaded\endinput\else\input pst-grad.tex\fi -\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey \fi % (hv 2005-09-03) -% \end{macrocode} -% -% Catcodes changes. -% -% \begin{macrocode} -\edef\PstAtCode{\the\catcode`\@} -\catcode`\@=11\relax -\pst@addfams{pst-lens} -\def\fileversion{1.01} -\def\filedate{2005/09/03} -\message{`PST-Lens' v\fileversion, \filedate\space - (Denis Girou and Manuel Luque)} -% \end{macrocode} -% -% \subsection{Definition of the parameters} -% -% \texttt{LensHandle} will define if we will draw an handle to the lens -% or not. It is a \emph{boolean} value. -% -% \begin{macrocode} -\newif\ifPstLens@Handle -\define@key[psset]{pst-lens}{LensHandle}[true]{% - \@nameuse{PstLens@Handle#1}} -% \end{macrocode} -% -% \texttt{LensStyleHandle} is the name of the PSTricks style to draw -% the handle of the lens. -% -% \begin{macrocode} -\define@key[psset]{pst-lens}{LensStyleHandle}{% - \def\PstLens@StyleHandle{#1}} -% \end{macrocode} -% -% \texttt{LensHandleWidth} will be the size of the lens. -% This is a \emph{real} or \emph{length} value, as all PSTrisks dimensions, -% but as we will have to make computations with it, we store it in a dimension -% register. -% -% \begin{macrocode} -\newdimen\PstLens@HandleWidth -\define@key[psset]{pst-lens}{LensHandleWidth}{% - \pssetlength{\PstLens@HandleWidth}{#1}} -% \end{macrocode} -% -% \texttt{LensHandleHeight} will be the size of the lens. -% This is a \emph{real} or \emph{length} value, as all PSTrisks dimensions, -% but as we will have not to make computations with it, we store it in a -% simple macro. -% -% \begin{macrocode} -\define@key[psset]{pst-lens}{LensHandleHeight}{% - \def\PstLens@HandleHeight{#1}} -% \end{macrocode} -% -% \texttt{LensShadow} will define if we will draw a shadow to the glass -% of the lens or not. It is a \emph{boolean} value. -% -% \begin{macrocode} -\newif\ifPstLens@Shadow -\define@key[psset]{pst-lens}{LensShadow}[true]{% - \@nameuse{PstLens@Shadow#1}} -% \end{macrocode} -% -% \texttt{LensStyleGlass} is the name of the PSTricks style to draw -% the glass. -% -% \begin{macrocode} -\define@key[psset]{pst-lens}{LensStyleGlass}{% - \def\PstLens@StyleGlass{#1}} -% \end{macrocode} -% -% \texttt{LensSize} will be the size of the lens. -% This is a \emph{real} or \emph{length} value, as all PSTrisks dimensions, -% but as we will have not to make computations with it, we store it in a -% simple macro. -% -% \begin{macrocode} -\define@key[psset]{pst-lens}{LensSize}{% - \def\PstLens@Size{#1}} -% \end{macrocode} -% -% \texttt{LensMagnification} will be the magnification to apply to the lens. -% This is a \emph{real} or \emph{length} value, but as we will have not -% to make computations with it, we strore it in a simple macro. -% -% \begin{macrocode} -\define@key[psset]{pst-lens}{LensMagnification}{% - \def\PstLens@Magnification{#1}} -% \end{macrocode} -% -% \texttt{LensRotation} will be the rotation angle to apply to the lens. -% It is a \emph{real} value used as an \emph{angle}. -% -% \begin{macrocode} -\define@key[psset]{pst-lens}{LensRotation}{% - \def\PstLens@Rotation{#1}} -% \end{macrocode} -% -% Next, we set the default values for all these new parameters. -% We choose to have an handle of width 0.2 unit and height of 2.5 unit, -% LensStyleHandle as style for the handle, a shadow to the glass, -% LensStyleGlass as style for it, no rotation, a size equal to 1 unit -% and no magnification (so of value 1). -% -% \begin{macrocode} -\psset[pst-lens]{% - LensHandle=true,LensHandleWidth=0.2,LensHandleHeight=2.5, - LensStyleHandle=LensStyleHandle, - LensShadow=true,LensStyleGlass=LensStyleGlass, - LensRotation=0,LensSize=1,LensMagnification=1} -% \end{macrocode} -% -% We define also the default style for the handle. -% -% \begin{macrocode} -\newcmykcolor{Brown}{0 0.81 1 0.6} -\newcmykcolor{Salmon}{0 0.53 0.38 0} -\newpsstyle{LensStyleHandle}{% - fillstyle=gradient,framearc=0.6,linewidth=0.5\pslinewidth, - gradmidpoint=0.5,gradangle=\PstLens@Rotation,gradbegin=Brown,gradend=Salmon} -% \end{macrocode} -% -% And the default style for the glass (we only define a shaow for it). -% -% \begin{macrocode} -\newpsstyle{LensStyleGlass}{% - fillstyle=solid,fillcolor=white, - shadow=true,shadowcolor=lightgray,shadowsize=0.15, - shadowangle=\PstLens@Rotation} -% \end{macrocode} -% -% Then we define the default shape for the lens (a circle of radius 1 and -% center (0,0)). -% -% \begin{macrocode} -\def\PstLensShape{\pscircle{1}} -% \end{macrocode} -% -% \subsection{Main macro} -% -% The general \cs{PstLens} macro to draw lens. -% -% \begin{macro}{\PstLens} -% \begin{macrocode} -\def\PstLens{\@ifnextchar[{\PstLens@i}{\PstLens@i[]}} -% \end{macrocode} -% \end{macro} -% -% We first check if the coordinate is given, and if not we choose as usual -% (0,0) as default one. -% -% \begin{macro}{\PstLens@i} -% \begin{macrocode} -\def\PstLens@i[#1]{\@ifnextchar({\PstLens@ii[#1]}{\PstLens@ii[#1](0,0)}} -% \end{macrocode} -% \end{macro} -% -% Then we define the auxiliary macro which will handle the parameters if -% some are used. Note also the usage of the double \verb+{{+ to have only -% changes of parameter values for this specific object, as redefinitions -% of them must be local. -% -% \begin{macro}{\PstLens@ii} -% \begin{macrocode} -\def\PstLens@ii[#1](#2,#3)#4{{% -% \end{macrocode} -% -% After that, we can set the values of local parameters if defined. -% -% \begin{macrocode} -\psset{#1}% -% \end{macrocode} -% -% Now, we can start the \emph{real} code. First, we must be able to use -% PostScript expressions as coordinates. -% -% \begin{macrocode} -\SpecialCoor -% \end{macrocode} -% -% Then, if the handle is not suppressed, we position it at the required -% coordinate, with it specified rotation. -% -% \begin{macrocode} -\rput{\PstLens@Rotation}(#2,#3){% - \ifPstLens@Handle - \scalebox{\PstLens@Size}{% - \divide\PstLens@HandleWidth\tw@ - \psframe[style=\PstLens@StyleHandle] - (-\PstLens@HandleWidth,0) - (\PstLens@HandleWidth,-\PstLens@HandleHeight)}% - \fi} -% \end{macrocode} -% -% Now, we can draw the object at the specified position, but surimposing on -% it a shape which will represent the glass of the lens, and we use the -% powerful clipping mechanism to eliminate the parts of the object not inside -% this shape. -% -% \begin{macrocode} -\psclip{{\psset{style=\PstLens@StyleGlass} - \ifPstLens@Shadow - \else - \psset{shadow=false} - \fi - \rput(#2,#3){\psset{unit=\PstLens@Size}\PstLensShape}}} -% \end{macrocode} -% -% Then we draw again the object, but with the specified magnification. -% It require also to recompute the coordinates where to put the object, -% according to the magnification. -% -% \begin{macrocode} - \rput(! 1 \PstLens@Magnification\space sub #2\space mul - 1 \PstLens@Magnification\space sub #3\space mul){% - \scalebox{\PstLens@Magnification}{#4}} -% \end{macrocode} -% -% To finish we close the clipping mechanism and the \cs{PstLens@ii} macro. -% -% \begin{macrocode} -\endpsclip}} -% \end{macrocode} -% \end{macro} -% -% \subsection{Closing} -% -% Catcodes restoration. -% -% \begin{macrocode} -\catcode`\@=\PstAtCode\relax -% \end{macrocode} -% -% \begin{macrocode} -% -% \end{macrocode} -% -\endinput -%% -%% End of file `pst-lens.dtx' diff --git a/Master/texmf-dist/source/latex/pst-lens/pst-lens.ins b/Master/texmf-dist/source/latex/pst-lens/pst-lens.ins deleted file mode 100644 index e19934296cb..00000000000 --- a/Master/texmf-dist/source/latex/pst-lens/pst-lens.ins +++ /dev/null @@ -1,38 +0,0 @@ -%% `pst-lens.ins' -%% -%% Docstrip installation instruction file for docstyle `pst-lens' -%% -%% Denis Girou (CNRS/IDRIS - France) and -%% Manuel Luque (France) -%% -%% February 19, 2001 - -\def\batchfile{pst-lens.ins} -\input docstrip.tex -\keepsilent -\Msg{*** Generating the `pst-lens' package ***} -\askforoverwritefalse -\generate{\file{pst-lens.tex}{\from{pst-lens.dtx}{pst-lens}}} -\generate{\file{pst-lens.sty}{\from{pst-lens.dtx}{latex-wrapper}}} -% -\ifToplevel{% -\Msg{***********************************************************} -\Msg{*} -\Msg{* To finish the installation you have to move the files} -\Msg{* pst-lens.sty and pst-lens.tex in a directory/folder searched by TeX.} -\Msg{*} -\Msg{* To produce the documentation, run the file `pst-lens.dtx'} -\Msg{* through LaTeX.} -\Msg{*} -\Msg{* If you require the commented code, desactivating the} -\Msg{* OnlyDescription macro, you must recompile, execute:} -\Msg{* `makeindex -s gind.ist pst-lens'} -\Msg{* `makeindex -s gglo.ist -o pst-lens.gls pst-lens.glo'} -\Msg{* and recompile.} -\Msg{*} -\Msg{***********************************************************} -} - -\endinput -%% -%% End of file `pst-lens.ins' diff --git a/Master/texmf-dist/tex/generic/pst-lens/pst-lens.tex b/Master/texmf-dist/tex/generic/pst-lens/pst-lens.tex index 528665a07c0..41c731799ae 100644 --- a/Master/texmf-dist/tex/generic/pst-lens/pst-lens.tex +++ b/Master/texmf-dist/tex/generic/pst-lens/pst-lens.tex @@ -27,7 +27,7 @@ %% Manuel Luque (ml) %% Herbert Voss (hv) %% -%% September 03, 2005 +%% June 06, 2006 %% %% This file is under the LaTeX Project Public License %% See CTAN archives in directory macros/latex/base/lppl.txt. @@ -44,8 +44,8 @@ \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax \pst@addfams{pst-lens} -\def\fileversion{1.01} -\def\filedate{2005/09/03} +\def\fileversion{1.02} +\def\filedate{2006/06/06} \message{`PST-Lens' v\fileversion, \filedate\space (Denis Girou and Manuel Luque)} \newif\ifPstLens@Handle @@ -91,7 +91,7 @@ \SpecialCoor \rput{\PstLens@Rotation}(#2,#3){% \ifPstLens@Handle - \scalebox{\PstLens@Size}{% + \psscalebox{\PstLens@Size}{% \divide\PstLens@HandleWidth\tw@ \psframe[style=\PstLens@StyleHandle] (-\PstLens@HandleWidth,0) @@ -105,7 +105,7 @@ \rput(#2,#3){\psset{unit=\PstLens@Size}\PstLensShape}}} \rput(! 1 \PstLens@Magnification\space sub #2\space mul 1 \PstLens@Magnification\space sub #3\space mul){% - \scalebox{\PstLens@Magnification}{#4}} + \psscalebox{\PstLens@Magnification}{#4}} \endpsclip}} \catcode`\@=\PstAtCode\relax \endinput diff --git a/Master/texmf-dist/tex/latex/pst-lens/pst-lens.sty b/Master/texmf-dist/tex/latex/pst-lens/pst-lens.sty index d2f6ebcd4fc..de22dbd07a7 100644 --- a/Master/texmf-dist/tex/latex/pst-lens/pst-lens.sty +++ b/Master/texmf-dist/tex/latex/pst-lens/pst-lens.sty @@ -27,7 +27,7 @@ %% Manuel Luque (ml) %% Herbert Voss (hv) %% -%% September 03, 2005 +%% June 06, 2006 %% %% This file is under the LaTeX Project Public License %% See CTAN archives in directory macros/latex/base/lppl.txt. -- cgit v1.2.3