Précisions dans la doc des scripts
[pst-anamorphosis.git] / opt / pst-anamorphosis-doc-scripts.tex
1 \listfiles
2 \documentclass[a4paper,fleqn]{article}
3 \usepackage[utf8]{inputenc}
4 \usepackage[T1]{fontenc}
5 \usepackage{amsmath}
6 \usepackage[frenchb]{babel}
7 %\usepackage{mathptmx}
8 \usepackage[charter]{mathdesign}
9 \usepackage[margin=2.5cm]{geometry}
10 \usepackage{multicol}
11 \usepackage{listings}
12 \usepackage[svgnames]{xcolor}
13 \usepackage{showexpl}
14 \usepackage[nomessages]{fp}
15 \usepackage{xspace}
16 \usepackage{pstricks}
17 %\usepackage{pst-plot,pst-solides3d,pst-anamorphosis-add,pst-3d}
18 %\usepackage{pst-grad}
19 \usepackage[absolute,notitlepage]{pst-abspos}
20 \usepackage{url}
21
22 %\psset{path=C:/Dokumente und Einstellungen/Besitzer/Desktop/bergen/bergen/}
23 %\def\epsRoot{C:/Dokumente und Einstellungen/Besitzer/Desktop/bergen/bergen/}
24
25 % \renewcommand{\ttdefault}{lmtt}
26
27 %% === moreverb avec adaptation de boxedverbatim ===============================
28 \usepackage{moreverb}
29 \def\endboxedverbatim{%
30 \endverbatim
31 \unskip\setbox0=\lastbox %%%DPC%%%
32 \egroup
33 \mbox{\box0}% <<<=== change here for centering,...
34 }
35
36 %% === framed - environnement adapté: gbar ====================================
37 \usepackage{framed}
38 \newenvironment{gbar}[1][red]{%
39 \def\FrameCommand{{\color{#1}\vrule width 3pt}\colorbox{gris}}%
40 \MakeFramed {\advance\hsize-\width \FrameRestore}}%
41 {\endMakeFramed}
42
43
44
45 \definecolor{syracuseGRIS}{HTML}{C1C1C1}
46 \definecolor{syracuseVERT}{HTML}{029235}
47
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}
53
54 \lstset{%
55 language=[LaTeX]TeX,%
56 float=hbp,%
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},%
65 columns=flexible, %
66 tabsize=4, %
67 frame=single, %
68 %frame=shadowbox, %
69 %rulesepcolor=\color{syracuseGRIS!30},%
70 extendedchars=true, %
71 showspaces=false, %
72 showstringspaces=false, %
73 numbers=left,
74 numbersep=0.8em,
75 numberstyle=\tiny, %
76 breaklines=true, %
77 breakautoindent=true,%
78 captionpos=b,%
79 xleftmargin=1em,%
80 sensitive=true,%
81 morekeywords=[6]{pspicture,center},%
82 keywordstyle=[6]\color{FireBrick},%
83 %morekeywords=[7]{(,)},%
84 %keywordstyle=[7]\color{syracuseVERT}
85 }
86
87 \renewcommand{\lstlistingname}{Source}
88 \renewcommand{\labelitemi}{$\bullet$}
89
90
91 \newcommand\cs[1]{\texttt{\char`\\#1}}
92 \newcommand\file[1]{\texttt{#1}}
93
94 \parindent0pt
95 \parskip5pt
96
97 \def\syracuseTitle{Les anamorphoses : scripts d'appui}
98 %\def\syracuseGraphic{eiffel2}
99
100
101 \begin{document}
102
103 %% === BEGIN == Page de garde =================================================
104
105 \thispagestyle{empty}
106
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)
112 \end{pspicture}
113 }
114 \pstPutAbs(2.5,-3.75){%
115 \includegraphics[scale=1]{../doc/pst-anamorphosis}
116 }
117 \pstPutAbs(2.5,-5.25){%
118 \LARGE \textbf{\syracuseTitle}
119 }
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}}
124 %\psframe(0,0)(8,8)
125 \end{pspicture}
126 }
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}
133 }}
134 \vfill
135 \begin{center}
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}
139 \end{center}
140
141 %% == END == Page de garde ====================================================
142
143 \newpage
144
145
146 %$
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.
151
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.
155
156 \begin{center}\url{http://www.pstoedit.net}\end{center}
157
158 Les scripts sont écrits en \textsf{PERL}, il est donc nécessaire de
159 disposer de l'interpréteur sur sa machine.
160
161
162 \section{psftopst}
163
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.
169
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}.
176
177 \subsection{Usage}
178 \begin{gbar}[OrangePale]
179 \begin{boxedverbatim}
180 $> psftopst.pl [-ps] [-dimmax n] monfichier.{eps|ps}
181 \end{boxedverbatim}
182 \end{gbar}%$
183
184 Si tout se passe bien, \texttt{monfichier.pst} sera créé dans le
185 répertoire de travail...
186
187 \subsection{Options}
188
189 \begin{description}
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
193 \texttt{-original}.
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.
198 \end{description}
199
200 \begin{center}
201 \begin{pspicture}(-2,-2)(2,2)
202 \input{../exemplespst/tiger.pst}
203 \end{pspicture}\\
204 \verb|\input{tiger.pst}|
205 \end{center}
206
207
208 \subsection{Notes}
209
210 \begin{itemize}
211
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}.
218
219 \item Le fichier à traiter ne doit comporter qu'une seule page, le
220 résultat peut être surprenant dans le cas contraire...
221
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...
230
231 \end{itemize}
232
233 \end{document}

Licence Creative Commons Les fichiers de Syracuse sont mis à disposition (sauf mention contraire) selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.