Écrire sur une surface

Tout ce qui concerne le langage Asymptote. Ce langage est supporté par le forum via les balises asy.

Modérateur : gdm_asy

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
claude

Écrire sur une surface

Message par claude »

Bonjour,

je souhaiterais apprendre comment écrire un texte sur une surface un peu "compliquée". J'ai donc regardé la galerie d'exemple "officielle". Malheureusement quand je veux compiler l'exemple de la bouteille de Klein par exemple (http://asymptote.sourceforge.net/gallery/Klein.pdf) je reçois une erreur qui m'indique que le "textpath ne contient pas de points". Le message d'erreur complet:

Code : Tout sélectionner

> asy -v klein_bottle.asy                                     [
Processing klein_bottle
/media/software/texlive/2015/texmf-dist/asymptote/three_surface.asy: 1882.3: nullpath has no points
Si je compile avec l'option -vv le message d'erreur est encore plus bizarre. Je mets juste la fin:

Code : Tout sélectionner

.....
This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015) (preloaded format=latex)
 restricted \write18 enabled.
entering extended mode
LaTeX2e <2015/01/01>
Babel <3.9l> and hyphenation patterns for 36 languages loaded.

(./klein_bottle_.tex
(/media/azubi/Archives/software/texlive/2015/texmf-dist/tex/latex/base/article.
cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class

(/media/azubi/Archives/software/texlive/2015/texmf-dist/tex/latex/base/size12.c
lo))
No file klein_bottle_.aux.
[1] (./klein_bottle_.aux) )
Output written on klein_bottle_.dvi (1 page, 964 bytes).
Transcript written on klein_bottle_.log.
dvips -R -Pdownload35 -D600 -q -oklein_bottle_.ps klein_bottle_.dvi
gs -q -dBATCH -P -dSAFER -sDEVICE=eps2write -sOutputFile=/dev/null klein_bottle_.ps
/media/azubi/Archives/software/texlive/2015/texmf-dist/asymptote/three_surface.asy: 1882.3: nullpath has no points
Je ne sais pas si ça a un intérêt, mais j'utilise la version de asymptote qui est livrée avec TexLive 2015.

Code : Tout sélectionner

> asy -version                                       
Asymptote version 2.35 [(C) 2004 Andy Hammerlindl, John C. Bowman, Tom Prince]
Est-ce que vous pouvez compiler cet exemple ? Si oui quelle version utilisez-vous ?

D'avance merci de votre aide et bonne journée
OG
Modérateur
Modérateur
Messages : 2293
Inscription : lundi 12 mars 2007, 11:20
Localisation : Rouen

Re: Écrire sur une surface

Message par OG »

Bonjour

Pourrais-tu préciser le système, la version de Ghostscript ?
En effet il y a une modification dans Ghostscript qui a "cassé" les étiquettes
en 3D (une histoire de driver de sortie qui disparaît).
Les premiers touchés ont été les utilisateurs de Windows (plusieurs posts sur Asymptote,
StackExchange, etc).
Par contre sous Linux, mais cela dépend de la distribution, il se peut que
la dernière version Ghostscript ne soit pas installée. Ce qui fait que le nouveau
Asymptote (>=2.35) ne fonctionne pas !

O.G.
claude

Re: Écrire sur une surface

Message par claude »

Merci de ta réponse.

Je suis sous Ubuntu 14.04 (à jour). La version de gs que j'utilise est la 9.10.

Code : Tout sélectionner

(~)% gs -v                                                         
GPL Ghostscript 9.10 (2013-08-30)
Copyright (C) 2013 Artifex Software, Inc.  All rights reserved.
Quelle version "minimale" faut-il utiliser ?

D'avance merci de ton aide!
OG
Modérateur
Modérateur
Messages : 2293
Inscription : lundi 12 mars 2007, 11:20
Localisation : Rouen

Re: Écrire sur une surface

Message par OG »

Bonsoir

Il me semble (j'ai parcouru rapidement l'historique de ghostscript) que c'est à partir de la version 9.15
que le device epswrite disparaît.
Il faut donc rester avec une version d'asymptote =<2.32 ou bien mettre à jour ghostscript (mais cela peut
présenter un risque pour le système et encore faut il trouver le paquet ghostscript).
L'autre solution est de laisser ton ghostscript en 9.10, de compiler asymptote mais en ayant pris soin
de prendre une "vieille" version du fichier qui commande les étiquettes. Là c'est un peu plus technique...

Me concernant je suis encore avec une version 2.32 (ou 2.33svn) compatible avec ghostscript =<9.10.
Mais je vais bientôt tenter ghostscript 9.15 en expérimental.

O.G.
Fabrice Couvreur
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 604
Inscription : samedi 18 août 2007, 01:55

Re: Écrire sur une surface

Message par Fabrice Couvreur »

Bonjour,
OG a écrit :bien mettre à jour ghostscript (mais cela peut
présenter un risque pour le système et encore faut il trouver le paquet ghostscript).
J'ai installé l'exécutable ici http://www.ghostscript.com/

Code : Tout sélectionner

fab@debian:~$ gs-916-linux_x86_64 -v
GPL Ghostscript 9.16 (2015-03-30)
Copyright (C) 2015 Artifex Software, Inc.  All rights reserved.
fab@debian:~$ asy -version
Asymptote version 2.36svn-r5722 [(C) 2004 Andy Hammerlindl, John C. Bowman, Tom Prince]
fab@debian:~$ 
car le paquet de ma distribution n'est pas à jour (Debian Sid), et cela semble fonctionner sans soucis et notamment avec le fichier klein.asy.
Fabrice
OG
Modérateur
Modérateur
Messages : 2293
Inscription : lundi 12 mars 2007, 11:20
Localisation : Rouen

Re: Écrire sur une surface

Message par OG »

Bonjour

Installer un binaire plutôt qu'un paquet debian (sur une distribution debian ou dérivée) n'est
tout de même pas trop conseillé. Surtout que Ghostscript est utilisé par d'autres programmes.
Il vaudrait mieux installer la version expérimentale
https://packages.debian.org/fr/experimental/ghostscript

O.G.
Fabrice Couvreur
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 604
Inscription : samedi 18 août 2007, 01:55

Re: Écrire sur une surface

Message par Fabrice Couvreur »

Bonjour,
OG a écrit :Il vaudrait mieux installer la version expérimentale
Oui tu as raison, mais c'était provisoire, et le but était de constater si le problème venait bien de la version.
J'en profite pour signaler un autre problème : en ligne de commande avec

Code : Tout sélectionner

 as -V  klein.asy
pas de soucis (ouverture de la fenêtre OpenGL) par contre avec

Code : Tout sélectionner

asy -V -f pdf klein.asy
la compilation ne semble pas fonctionner ou du moins, cela rame (rien après 5 minutes !).
Fabrice
claude

Re: Écrire sur une surface

Message par claude »

Bonjour

Tout d'abord merci pour vos diverses réponses. A titre expérimental, j'ai installé quand même un binaire de la version 9.16 dans mon répertoire perso "pour voir". En ajoutant le chemin kivabien dans le PATH j'arrive à avoir du texte en 3D (j'ai pas encore fait tout les tests). De plus comme la nouvelle valeur de PATH n'est déclaré que dans un seul shell, je ne dois pas trop perturber les autres paquets.... En attendant une solution plus propre ;

Merci encore de votre aide et bonne journée!