2 \documentclass[a4paper,fleqn
]{article
}
3 \usepackage[utf8
]{inputenc}
4 \usepackage[T1]{fontenc}
6 \usepackage[frenchb
]{babel
}
8 \usepackage[charter
]{mathdesign
}
9 \usepackage[margin=
2.5cm
]{geometry
}
12 \usepackage[svgnames
]{xcolor
}
14 \usepackage[nomessages
]{fp
}
17 %\usepackage{pst-plot,pst-solides3d,pst-anamorphosis-add,pst-3d}
18 %\usepackage{pst-grad}
19 \usepackage[absolute,notitlepage
]{pst-abspos
}
22 %\psset{path=C:/Dokumente und Einstellungen/Besitzer/Desktop/bergen/bergen/}
23 %\def\epsRoot{C:/Dokumente und Einstellungen/Besitzer/Desktop/bergen/bergen/}
25 % \renewcommand{\ttdefault}{lmtt}
27 %% === moreverb avec adaptation de boxedverbatim ===============================
29 \def\endboxedverbatim{%
31 \unskip\setbox0=
\lastbox %%%DPC%%%
33 \mbox{\box0}% <<<=== change here for centering,...
36 %% === framed - environnement adapté: gbar ====================================
38 \newenvironment{gbar
}[1][red
]{%
39 \def\FrameCommand{{\color{#1}\vrule width
3pt
}\colorbox{gris
}}%
40 \MakeFramed {\advance\hsize-
\width \FrameRestore}}%
45 \definecolor{syracuseGRIS
}{HTML
}{C1C1C1
}
46 \definecolor{syracuseVERT
}{HTML
}{029235}
48 \definecolor{gris
}{rgb
}{0.92,
0.92,
0.92}
49 \definecolor{sepia
}{rgb
}{1,
0.8,
0.8}
50 \definecolor{grisclair
}{rgb
}{0.8,
0.8,
0.8}
51 \definecolor{BleuCiel
}{cmyk
}{0.2,
0,
0,
0}
52 \definecolor{OrangePale
}{cmyk
}{0,
0.2,
0.4,
0}
57 basicstyle=
\ttfamily\small,
%
58 texcsstyle=*
\color{blue
},
%
59 identifierstyle=
\color{black
},
%
60 keywordstyle=
\color{syracuseVERT
},
%
61 otherkeywords=
{$, \
{, \
}, \
[, \
]},
62 stringstyle=
\color{syracuseVERT
},
%
63 commentstyle=
\color{syracuseVERT
},
%
64 backgroundcolor=
\color{syracuseGRIS!
30},
%
69 %rulesepcolor=\color{syracuseGRIS!30},%
72 showstringspaces=false,
%
77 breakautoindent=true,
%
81 morekeywords=
[6]{pspicture,center
},
%
82 keywordstyle=
[6]\color{FireBrick
},
%
83 %morekeywords=[7]{(,)},%
84 %keywordstyle=[7]\color{syracuseVERT}
87 \renewcommand{\lstlistingname}{Source
}
88 \renewcommand{\labelitemi}{$
\bullet$
}
91 \newcommand\cs[1]{\texttt{\char`\\
#1}}
92 \newcommand\file[1]{\texttt{#1}}
97 \def\syracuseTitle{Les anamorphoses : scripts d'appui
}
98 %\def\syracuseGraphic{eiffel2}
103 %% === BEGIN == Page de garde =================================================
105 \thispagestyle{empty
}
107 \pstPutAbs(
0,-
29.7)
{%
108 \begin{pspicture
}(
0,
0)(
21,
29.7)
109 \pspolygon[fillstyle=solid,linecolor=syracuseVERT,fillcolor=syracuseVERT
](
0,
0)(
10.5,
14.85)(
21,
0)
110 \pspolygon[fillstyle=solid,linecolor=syracuseGRIS,fillcolor=syracuseGRIS
](
0,
0)(
21,
29.7)(
0,
29.7)
111 \pspolygon[fillstyle=solid,linecolor=syracuseGRIS!
50,fillcolor=syracuseGRIS!
50](
21,
0)(
10.5,
14.85)(
21,
29.7)
114 \pstPutAbs(
2.5,-
3.75)
{%
115 \includegraphics[scale=
1]{../doc/pst-anamorphosis
}
117 \pstPutAbs(
2.5,-
5.25)
{%
118 \LARGE \textbf{\syracuseTitle}
120 \pstPutAbs(
2.5,-
13.5)
{%
121 \begin{pspicture
}(
0,
0)(
8,
8)
122 \rput(
4,
4)
{\includegraphics[height=
8cm
]{../doc/eiffel
}}
123 %\rput(4,4){\includegraphics[height=8cm]{\syracuseGraphic}}
127 \pstPutAbs(
12.5,-
15)
{%
128 \parbox{0.4\textwidth}{\Large\raggedleft
129 {\LARGE\textbf{Contributeurs
}}\\
[0.2cm
]
130 J\"
{u
}rgen
\textsc{Gilg
}\\
131 Manuel
\textsc{Luque
}\\
132 Jean-Michel
\textsc{Sarlat
}
136 \textcolor{white
}{\textbf{\today}}\\
[0.3cm
]
137 \textcolor{white
}{\url{http://melusine.eu.org/syracuse/G/pst-anamorphosis/
}}\\
138 \includegraphics[scale=
0.4]{../doc/logo_syracuse
}
141 %% == END == Page de garde ====================================================
147 \section{Introduction
}
148 Pour multiplier les exemples d'anamorphoses et tester les macros de
149 \textsf{pst-anamorphosis
}, différents scripts ont été mis au point
150 pour produire des fichiers directement exploitables.
152 Les transformations s'appliquent à des fichiers
\textsf{EPS
} et une
153 partie de la tâche est effectuée par
\textsf{pstoedit
} qui est donc
154 requis pour l'exécution des scripts.
156 \begin{center
}\url{http://www.pstoedit.net
}\end{center
}
158 Les scripts sont écrits en
\textsf{PERL
}, il est donc nécessaire de
159 disposer de l'interpréteur sur sa machine.
164 Ce script transforme un fichier au format
\textit{Flattened
165 PostScript
}\footnote{Les commandes de tracé
\textsc{PostScript
} sont
166 réduites à des
\textsf{lineto
},
\textsf{curveto
}.
} en un fichier
167 embarquant les commandes équivalentes pour
\textsf{PSTricks
}, que nous
168 appellerons fichier
\textsf{PST
} dans la suite.
170 Dans le cadre des anamorphoses, les fichiers
\textsf{PST
} présentent
171 l'intérêt d'être directement incorporé dans le fichier qui sera, au
172 final, transformé en PDF. Contrairement aux fichiers EPS qui le seront
173 au moment de la transformation PS \(
\to\) PDF, ce qui demande le
174 positionnement de l'option
\texttt{-dNOSAFER
} de
\textsf{Ghostscript
} ou
175 alors la précision du chemin complet pour
\textsf{Distiller
}.
178 \begin{gbar
}[OrangePale
]
179 \begin{boxedverbatim
}
180 $> psftopst
[-ps
] [-dimmax n
] monfichier.
{eps|ps
}
184 Si tout se passe bien,
\texttt{monfichier.pst
} sera créé...
189 \item[\texttt{-ps
}] Si le fichier de départ n'a pas déjà été
190 transformé par
\textsf{pstoedit
}, cela sera fait avec cette
191 option. Le fichier original sera alors sauvegardé avec le suffixe
193 \item[\texttt{-dimmax n
}] La transformation effectuée par le script
194 centre l'image sur \((
0,
0)\) et la met à l'échelle telle que la plus
195 grande des deux dimensions soit
4 unités (
\textit{i.e.
} 4 cm par
196 défaut). Vous pouvez substituer la valeur
\texttt{n
} de votre choix à
201 \begin{pspicture
}(-
2,-
2)(
2,
2)
202 \input{../exemplespst/tiger.pst
}
204 \verb|
\input{tiger.pst
}|
212 \item Pour les utilisateurs de
\textsf{windows
}: il faut, au préalable,
213 éditer le script et remplacer la chaîne
\texttt{<chemin vers
214 pstoedit.exe>
} (vers la ligne
12) par le chemin complet d'accès à
215 \textsf{pstoedit
} sur votre sytème. Pour
\textsf{Linux
} ou
216 \textsf{MacOS
}, l'hypothèse est faite que le programme est accessible
217 via la variable
\texttt{PATH
}.
220 \item Le fichier à traiter ne doit comporter qu'une seule page, le
221 résultat peut être surprenant dans le cas contraire...