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.pl
[-ps
] [-dimmax n
] monfichier.
{eps|ps
}
184 Si tout se passe bien,
\texttt{monfichier.pst
} sera créé dans le
185 répertoire de travail...
190 \item[\texttt{-ps
}] Si le fichier de départ n'a pas déjà été
191 transformé par
\textsf{pstoedit
}, cela sera fait avec cette
192 option. Le fichier original sera alors sauvegardé avec le suffixe
194 \item[\texttt{-dimmax n
}] La transformation effectuée par le script
195 centre l'image sur \((
0,
0)\) et la met à l'échelle telle que la plus
196 grande des deux dimensions soit
4 cm par défaut. Vous pouvez substituer
197 la valeur
\texttt{n
} de votre choix à
4 avec cette option.
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
}.
219 \item Le fichier à traiter ne doit comporter qu'une seule page, le
220 résultat peut être surprenant dans le cas contraire...
222 \item L'unité graphique n'est pas fixée, elle est supposée égale au
223 centimètre qui est l'unité par défaut avec
\textsf{PSTricks
}. Sachez
224 que si vous modifiez celle-ci
\footnote{Dans le fichier qui appelle le
225 fichier
\textsf{PST
}.
} et/ou que vous différentiez les unités en
226 abscisse et ordonnée, les dimensions de l'image produite seront bien
227 modifiées en conséquence mais pas les
\emph{traits
} qu'elle comporte,
228 l'épaisseur de ceux-ci est figée en points (
\textsf{pt
}). Cela risque
229 de ne pas être harmonieux...