Rev 13586 | Rev 15738 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 13586 | Rev 15737 | ||
---|---|---|---|
Line 39... | Line 39... | ||
39 | slib_u=!declosing $slib_u |
39 | slib_u=!declosing $slib_u |
40 | slib_cntu=!itemcnt $slib_u |
40 | slib_cntu=!itemcnt $slib_u |
41 | slib_w=!declosing $slib_w |
41 | slib_w=!declosing $slib_w |
42 | 42 | ||
43 | !if $slib_w=$empty |
43 | !if $slib_w=$empty |
44 | slib_w=!values x for x=1 to $slib_cntu |
44 | slib_w=!values x for x=1 to $slib_cntu |
45 | !endif |
45 | !endif |
46 | 46 | ||
47 | slib_cnt=!itemcnt $slib_w |
47 | slib_cnt=!itemcnt $slib_w |
48 | !if $slib_cnt = 2 |
48 | !if $slib_cnt = 2 |
49 | slib_begin=!item 1 of $slib_w |
49 | slib_begin=!item 1 of $slib_w |
Line 125... | Line 125... | ||
125 | !if $slib_baton iswordof baton stem |
125 | !if $slib_baton iswordof baton stem |
126 | slib_ww= |
126 | slib_ww= |
127 | !if $slib_baton iswordof stem |
127 | !if $slib_baton iswordof stem |
128 | slib_r=0 |
128 | slib_r=0 |
129 | !else |
129 | !else |
130 | slib_r=$[($slib_x2-$slib_x1)/(($slib_cntu)*4)] |
130 | slib_r=$[($slib_x2-$slib_x1)/(($slib_cntu)*4)] |
131 | !endif |
131 | !endif |
132 | !for slib_i = 1 to $slib_cntu |
132 | !for slib_i = 1 to $slib_cntu |
133 | slib_j=!item $slib_i of $slib_w |
133 | slib_j=!item $slib_i of $slib_w |
134 | slib_ww=!append item $[$slib_j+1-$slib_r],$[$slib_j+1+$slib_r] to $slib_ww |
134 | slib_ww=!append item $[$slib_j+1-$slib_r],$[$slib_j+1+$slib_r] to $slib_ww |
135 | slib_j=!item $slib_i of $slib_u |
135 | slib_j=!item $slib_i of $slib_u |
Line 145... | Line 145... | ||
145 | slib_y2=!item -1 of $slib_y2 |
145 | slib_y2=!item -1 of $slib_y2 |
146 | slib_cnt=!itemcnt $slib_w |
146 | slib_cnt=!itemcnt $slib_w |
147 | slib_cnt=$[$slib_cnt+1] |
147 | slib_cnt=$[$slib_cnt+1] |
148 | !else |
148 | !else |
149 | !if $slib_baton iswordof step stair |
149 | !if $slib_baton iswordof step stair |
150 | slib_uu=$slib_u |
150 | slib_uu=$slib_u |
151 | slib_x1=!item 1 of $slib_w |
151 | slib_x1=!item 1 of $slib_w |
152 | slib_x2=!item -1 of $slib_w |
152 | slib_x2=!item -1 of $slib_w |
153 | slib_y2=!sort numeric item $slib_u |
153 | slib_y2=!sort numeric item $slib_u |
154 | slib_y2=!item -1 of $slib_y2 |
154 | slib_y2=!item -1 of $slib_y2 |
155 | slib_cnt=!itemcnt $slib_w |
155 | slib_cnt=!itemcnt $slib_w |
156 | slib_cnt=$[$slib_cnt] |
156 | slib_cnt=$[$slib_cnt] |
157 |
|
157 | !else |
158 | slib_uu= |
158 | slib_uu= |
159 | !for slib_i=1 to $[$slib_cntu] |
159 | !for slib_i=1 to $[$slib_cntu] |
160 | slib_it=!item $slib_i of $slib_u |
160 | slib_it=!item $slib_i of $slib_u |
161 | slib_inf=!item $slib_i of $slib_w |
161 | slib_inf=!item $slib_i of $slib_w |
162 | slib_sup=!item $[$slib_i+1] of $slib_w |
162 | slib_sup=!item $[$slib_i+1] of $slib_w |
163 | slib_it=$[$slib_it/($slib_sup-$slib_inf)] |
163 | slib_it=$[$slib_it/($slib_sup-$slib_inf)] |
164 | slib_y2=$[max($slib_y2,$slib_it)] |
164 | slib_y2=$[max($slib_y2,$slib_it)] |
165 | slib_uu=!append item $slib_it to $slib_uu |
165 | slib_uu=!append item $slib_it to $slib_uu |
166 | !next slib_i |
166 | !next slib_i |
167 |
|
167 | !endif |
168 | slib_ww=$slib_w |
168 | slib_ww=$slib_w |
169 | 169 | ||
170 | !endif |
170 | !endif |
171 | slib_pas=!exec pari (f(r,n)= l=if(r != 0, floor(log(abs(r))/log(10)),1) ; s =ceil(10^(-l+n-1)*r) ; s*10^(l-n+1) ); \ |
171 | slib_pas=!exec pari (f(r,n)= l=if(r != 0, floor(log(abs(r))/log(10)),1) ; s =ceil(10^(-l+n-1)*r) ; s*10^(l-n+1) ); \ |
172 | f($slib_y2/$slib_ra,1) |
172 | f($slib_y2/$slib_ra,1) |
Line 187... | Line 187... | ||
187 | slib_ord=$[$slib_pas+$slib_ord] |
187 | slib_ord=$[$slib_pas+$slib_ord] |
188 | !if $slib_ord <$[$slib_y2+$slib_pas] |
188 | !if $slib_ord <$[$slib_y2+$slib_pas] |
189 | slib_grad=!append line text black,$[$slib_minx-0.8*$slib_d],$[$slib_ord+$slib_pix],small,$slib_ord to $slib_grad |
189 | slib_grad=!append line text black,$[$slib_minx-0.8*$slib_d],$[$slib_ord+$slib_pix],small,$slib_ord to $slib_grad |
190 | slib_grad=!append line segment $[$slib_minx-$slib_d/10],$slib_ord,$[$slib_minx+$slib_d/10],$slib_ord,grey\ |
190 | slib_grad=!append line segment $[$slib_minx-$slib_d/10],$slib_ord,$[$slib_minx+$slib_d/10],$slib_ord,grey\ |
191 | vline $slib_minx,0,grey to $slib_grad |
191 | vline $slib_minx,0,grey to $slib_grad |
192 | !endif |
192 | !endif |
193 | !next slib_i |
193 | !next slib_i |
194 | !endif |
194 | !endif |
195 | !if $slib_optx!=0 |
195 | !if $slib_optx!=0 |
196 | !if $slib_listxx=$empty |
196 | !if $slib_listxx=$empty |
197 | slib_listxx=$slib_ww |
197 | slib_listxx=$slib_ww |
198 | !endif |
198 | !endif |
199 | slib_cnt_ticx = !itemcnt $slib_listxx |
199 | slib_cnt_ticx = !itemcnt $slib_listxx |
200 | !for slib_i=1 to $[$slib_cnt_ticx] |
200 | !for slib_i=1 to $[$slib_cnt_ticx] |
201 | slib_wi=!item $slib_i of $slib_listx |
201 | slib_wi=!item $slib_i of $slib_listx |
202 | slib_wj=!item $slib_i of $slib_listxx |
202 | slib_wj=!item $slib_i of $slib_listxx |
203 | 203 | ||
204 | !if $slib_baton iswordof baton stem |
204 | !if $slib_baton iswordof baton stem |
205 | slib_wj=$[$slib_wj+1] |
205 | slib_wj=$[$slib_wj+1] |
206 | !endif |
206 | !endif |
207 | slib_grad=!append line text black,$slib_wj,$[$slib_y1-2*$slib_pix],small,$slib_wi to $slib_grad |
207 | slib_grad=!append line text black,$slib_wj,$[$slib_y1-2*$slib_pix],small,$slib_wi to $slib_grad |
208 | slib_grad=!append line segment $slib_wj,$[$slib_y1-$slib_pix],$slib_wj,$[$slib_y1+$slib_pix], grey to $slib_grad |
208 | slib_grad=!append line segment $slib_wj,$[$slib_y1-$slib_pix],$slib_wj,$[$slib_y1+$slib_pix], grey to $slib_grad |
Line 219... | Line 219... | ||
219 | !else |
219 | !else |
220 | slib_points= linewidth 4\ |
220 | slib_points= linewidth 4\ |
221 | points $couleur |
221 | points $couleur |
222 | !endif |
222 | !endif |
223 | 223 | ||
224 | !if stair notwordof $slib_baton and step notwordof $slib_baton |
224 | !if stair notwordof $slib_baton and step notwordof $slib_baton |
225 | !for slib_i=1 to $[$slib_cnt] |
225 | !for slib_i=1 to $[$slib_cnt] |
226 | slib_inf=!item $slib_i of $slib_w |
226 | slib_inf=!item $slib_i of $slib_w |
227 | slib_sup=!item $[$slib_i+1] of $slib_w |
227 | slib_sup=!item $[$slib_i+1] of $slib_w |
228 | slib_f=!item $slib_i of $slib_uu |
228 | slib_f=!item $slib_i of $slib_uu |
229 | !if $slib_f!=$empty and $slib_sup!=$empty and $slib_inf!=$empty |
229 | !if $slib_f!=$empty and $slib_sup!=$empty and $slib_inf!=$empty |
230 | slib_pdata=!append item $slib_inf,0,$slib_inf,$slib_f,$slib_sup,$slib_f,$slib_sup,0 to $slib_pdata |
230 | slib_pdata=!append item $slib_inf,0,$slib_inf,$slib_f,$slib_sup,$slib_f,$slib_sup,0 to $slib_pdata |
231 | !endif |
231 | !endif |
232 | !next slib_i |
232 | !next slib_i |
233 | - | ||
234 | !endif |
233 | !endif |
235 | !if step iswordof $slib_baton |
234 | !if step iswordof $slib_baton |
236 | !for slib_i=1 to $[$slib_cnt] |
235 | !for slib_i=1 to $[$slib_cnt] |
237 | slib_inf=!item $[$slib_i] of $slib_w |
236 | slib_inf=!item $[$slib_i] of $slib_w |
238 | slib_sup=!item $[$slib_i+1] of $slib_w |
237 | slib_sup=!item $[$slib_i+1] of $slib_w |
239 | slib_f=!item $slib_i of $slib_uu |
238 | slib_f=!item $slib_i of $slib_uu |
240 | !if $slib_f!=$empty and $slib_sup!=$empty and $slib_inf!=$empty |
239 | !if $slib_f!=$empty and $slib_sup!=$empty and $slib_inf!=$empty |
241 | slib_pdata=!append item $slib_inf,$slib_f,$slib_sup,$slib_f to $slib_pdata |
240 | slib_pdata=!append item $slib_inf,$slib_f,$slib_sup,$slib_f to $slib_pdata |
242 | !endif |
241 | !endif |
243 | !next slib_i |
242 | !next slib_i |
244 | !endif |
243 | !endif |
245 | !if stair iswordof $slib_baton |
244 | !if stair iswordof $slib_baton |
246 | !for slib_i=1 to $[$slib_cnt] |
245 | !for slib_i=1 to $[$slib_cnt] |
247 | slib_inf=!item $[$slib_i] of $slib_w |
246 | slib_inf=!item $[$slib_i] of $slib_w |
248 | slib_sup=!item $[$slib_i+1] of $slib_w |
247 | slib_sup=!item $[$slib_i+1] of $slib_w |
249 | slib_f=!item $slib_i of $slib_uu |
248 | slib_f=!item $slib_i of $slib_uu |
250 | !if $slib_f!=$empty and $slib_sup!=$empty and $slib_inf!=$empty |
249 | !if $slib_f!=$empty and $slib_sup!=$empty and $slib_inf!=$empty |
251 | slib_pdata=!append line line $slib_inf,$slib_f,$slib_sup,$slib_f,$couleur to $slib_pdata |
250 | slib_pdata=!append line line $slib_inf,$slib_f,$slib_sup,$slib_f,$couleur to $slib_pdata |
252 | !endif |
251 | !endif |
253 | !if $slib_i < $[$slib_cnt] |
252 | !if $slib_i < $[$slib_cnt] |
254 | slib_points=!append item $slib_inf,$slib_f to $slib_points |
253 | slib_points=!append item $slib_inf,$slib_f to $slib_points |
255 | !endif |
254 | !endif |
256 | !next slib_i |
255 | !next slib_i |
257 | !endif |
256 | !endif |
258 | 257 | ||
259 | slib_out=$slib_pdata\ |
258 | slib_out=$slib_pdata\ |
260 | $slib_points\ |
259 | $slib_points\ |
261 | linewidth 1\ |
260 | linewidth 1\ |
262 | hline 0,0,grey |
261 | hline 0,0,grey |
263 | 262 | ||
264 | !if url iswordof $slib_option or html iswordof $slib_option |
263 | !if url iswordof $slib_option or html iswordof $slib_option |
265 | !insdraw $slib_out |
264 | !insdraw $slib_out |
266 | slib_out=$ins_url |
265 | slib_out=$ins_url |
267 | !if html iswordof $slib_option |
266 | !if html iswordof $slib_option |
268 | slib_out=<img src="$ins_url" alt="" /> |
267 | slib_out=<img src="$ins_url" alt="" /> |
269 | !else |
268 | !else |
270 | slib_out=$slib_out,$insdraw_size |
269 | slib_out=$slib_out,$insdraw_size |
271 | !endif |
270 | !endif |
272 | !endif |
271 | !endif |
273 | 272 | ||
274 | !reset insdraw_size |
273 | !reset insdraw_size |