\listfiles
\documentclass[a4paper,fleqn]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage[frenchb]{babel}
%\usepackage{mathptmx}
\usepackage[charter]{mathdesign}
\usepackage[margin=2.5cm]{geometry}
\usepackage{multicol}
\usepackage{listings}
\usepackage[svgnames]{xcolor}
\usepackage{showexpl}
\usepackage[nomessages]{fp}
\usepackage{xspace}
\usepackage{pstricks}
%\usepackage{pst-plot,pst-solides3d,pst-anamorphosis-add,pst-3d}
%\usepackage{pst-grad}
\usepackage[absolute,notitlepage]{pst-abspos}
\usepackage{url}

%\psset{path=C:/Dokumente und Einstellungen/Besitzer/Desktop/bergen/bergen/}
%\def\epsRoot{C:/Dokumente und Einstellungen/Besitzer/Desktop/bergen/bergen/}

% \renewcommand{\ttdefault}{lmtt}

%% === moreverb avec adaptation de boxedverbatim ===============================
\usepackage{moreverb}
\def\endboxedverbatim{%
  \endverbatim
  \unskip\setbox0=\lastbox %%%DPC%%%
  \egroup
  \mbox{\box0}% <<<=== change here for centering,...
}

%% === framed - environnement adapté: gbar ====================================
\usepackage{framed}
\newenvironment{gbar}[1][red]{%
  \def\FrameCommand{{\color{#1}\vrule width 3pt}\colorbox{gris}}%
  \MakeFramed {\advance\hsize-\width \FrameRestore}}%
{\endMakeFramed}



\definecolor{syracuseGRIS}{HTML}{C1C1C1}
\definecolor{syracuseVERT}{HTML}{029235}

\definecolor{gris}{rgb}{0.92,0.92,0.92}
\definecolor{sepia}{rgb}{1,0.8,0.8}
\definecolor{grisclair}{rgb}{0.8,0.8,0.8}
\definecolor{BleuCiel}{cmyk}{0.2,0,0,0}
\definecolor{OrangePale}{cmyk}{0,0.2,0.4,0}

\lstset{%
  language=[LaTeX]TeX,%
  float=hbp,%
  basicstyle=\ttfamily\small, %
  texcsstyle=*\color{blue},%
  identifierstyle=\color{black}, %
  keywordstyle=\color{syracuseVERT}, %
  otherkeywords={$, \{, \}, \[, \]},
  stringstyle=\color{syracuseVERT}, %
  commentstyle=\color{syracuseVERT}, %
  backgroundcolor=\color{syracuseGRIS!30},%
  columns=flexible, %
  tabsize=4, %
  frame=single, %
  %frame=shadowbox, %
  %rulesepcolor=\color{syracuseGRIS!30},%
  extendedchars=true, %
  showspaces=false, %
  showstringspaces=false, %
  numbers=left,
  numbersep=0.8em,
  numberstyle=\tiny, %
  breaklines=true, %
  breakautoindent=true,%
  captionpos=b,%
  xleftmargin=1em,%
  sensitive=true,%
  morekeywords=[6]{pspicture,center},%
  keywordstyle=[6]\color{FireBrick},%
  %morekeywords=[7]{(,)},%
  %keywordstyle=[7]\color{syracuseVERT}
}

\renewcommand{\lstlistingname}{Source}
\renewcommand{\labelitemi}{$\bullet$}


\newcommand\cs[1]{\texttt{\char`\\#1}}
\newcommand\file[1]{\texttt{#1}}

\parindent0pt
\parskip5pt

\def\syracuseTitle{Les anamorphoses : scripts d'appui}
%\def\syracuseGraphic{eiffel2}


\begin{document}

%% === BEGIN == Page de garde =================================================

\thispagestyle{empty}

\pstPutAbs(0,-29.7){%
\begin{pspicture}(0,0)(21,29.7)
\pspolygon[fillstyle=solid,linecolor=syracuseVERT,fillcolor=syracuseVERT](0,0)(10.5,14.85)(21,0)
\pspolygon[fillstyle=solid,linecolor=syracuseGRIS,fillcolor=syracuseGRIS](0,0)(21,29.7)(0,29.7)
\pspolygon[fillstyle=solid,linecolor=syracuseGRIS!50,fillcolor=syracuseGRIS!50](21,0)(10.5,14.85)(21,29.7)
\end{pspicture}
}
\pstPutAbs(2.5,-3.75){%
\includegraphics[scale=1]{../doc/pst-anamorphosis}
}
\pstPutAbs(2.5,-5.25){%
\LARGE \textbf{\syracuseTitle}
}
\pstPutAbs(2.5,-13.5){%
\begin{pspicture}(0,0)(8,8)
\rput(4,4){\includegraphics[height=8cm]{../doc/eiffel}}
%\rput(4,4){\includegraphics[height=8cm]{\syracuseGraphic}}
%\psframe(0,0)(8,8)
\end{pspicture}
}
\pstPutAbs(12.5,-15){%
\parbox{0.4\textwidth}{\Large\raggedleft
   {\LARGE\textbf{Contributeurs}}\\[0.2cm]
   J\"{u}rgen \textsc{Gilg}\\
   Manuel \textsc{Luque}\\
   Jean-Michel \textsc{Sarlat}
}}
\vfill
\begin{center}
\textcolor{white}{\textbf{\today}}\\[0.3cm]
\textcolor{white}{\url{http://melusine.eu.org/syracuse/G/pst-anamorphosis/}}\\
\includegraphics[scale=0.4]{../doc/logo_syracuse}
\end{center}

%% == END == Page de garde ====================================================

\newpage


%$
\section{Introduction}
Pour multiplier les exemples d'anamorphoses et tester les macros de
\textsf{pst-anamorphosis}, différents scripts ont été mis au point
pour produire des fichiers directement exploitables.

Les transformations s'appliquent à des fichiers \textsf{EPS} et une
partie de la tâche est effectuée par \textsf{pstoedit} qui est donc
requis pour l'exécution des scripts.

\begin{center}\url{http://www.pstoedit.net}\end{center}

Les scripts sont écrits en \textsf{PERL}, il est donc nécessaire de
disposer de l'interpréteur sur sa machine.


\section{psftopst}

Ce script transforme un fichier au format \textit{Flattened
PostScript}\footnote{Les commandes de tracé \textsc{PostScript} sont
réduites à des \textsf{lineto}, \textsf{curveto}.} en un fichier
embarquant les commandes équivalentes pour \textsf{PSTricks}, que nous
appellerons fichier \textsf{PST} dans la suite.

Dans le cadre des anamorphoses, les fichiers \textsf{PST} présentent
l'intérêt d'être directement incorporé dans le fichier qui sera, au
final, transformé en PDF. Contrairement aux fichiers EPS qui le seront
au moment de la transformation PS \(\to\) PDF, ce qui demande le
positionnement de l'option \texttt{-dNOSAFER} de \textsf{Ghostscript} ou
alors la précision du chemin complet pour \textsf{Distiller}.

\subsection{Usage}
\begin{gbar}[OrangePale]
\begin{boxedverbatim}
$> psftopst.pl [-ps] [-dimmax n] monfichier.{eps|ps}
\end{boxedverbatim}
\end{gbar}%$

Si tout se passe bien, \texttt{monfichier.pst} sera créé dans le
répertoire de travail...

\subsection{Options}

\begin{description}
\item[\texttt{-ps}] Si le fichier de départ n'a pas déjà été
transformé par \textsf{pstoedit}, cela sera fait avec cette
option. Le fichier original sera alors sauvegardé avec le suffixe
\texttt{-original}.
\item[\texttt{-dimmax n}] La transformation effectuée par le script
centre l'image sur \((0,0)\) et la met à l'échelle telle que la plus
grande des deux dimensions soit 4 cm par défaut. Vous pouvez substituer
la valeur \texttt{n} de votre choix à 4 avec cette option.
\end{description}

\begin{center}
\begin{pspicture}(-2,-2)(2,2)
\input{../exemplespst/tiger.pst}
\end{pspicture}\\
\verb|\input{tiger.pst}|
\end{center}


\subsection{Notes}

\begin{itemize}

\item Pour les utilisateurs de \textsf{windows}: il faut, au préalable,
éditer le script et remplacer la chaîne \texttt{<chemin vers
pstoedit.exe>} (vers la ligne 12) par le chemin complet d'accès à
\textsf{pstoedit} sur votre sytème. Pour \textsf{Linux} ou
\textsf{MacOS}, l'hypothèse est faite que le programme est accessible
via la variable \texttt{PATH}.

\item Le fichier à traiter ne doit comporter qu'une seule page, le
résultat peut être surprenant dans le cas contraire...

\item L'unité graphique n'est pas fixée, elle est supposée égale au
centimètre qui est l'unité par défaut avec \textsf{PSTricks}. Sachez
que si vous modifiez celle-ci\footnote{Dans le fichier qui appelle le
fichier \textsf{PST}.} et/ou que vous différentiez les unités en
abscisse et ordonnée, les dimensions de l'image produite seront bien
modifiées en conséquence mais pas les \emph{traits} qu'elle comporte,
l'épaisseur de ceux-ci est figée en points (\textsf{pt}). Cela risque
de ne pas être harmonieux...

\end{itemize}

\end{document}