J'ai récemment installé Ubuntu 18.04 (pas de mise à niveau, une installation propre). Dans Ubuntu 18.04, la fonction de rendu LaTeX dans Inkscape ne fonctionne pas. Voici la sortie d'erreur:
*** WARNING - the DELAYBIND command has been deprecated, and will be
removed in the next version. For now you can restore
the behaviour by using -dREALLYDEALYBIND but if you
require continued use of this command you should contact
the Ghostscript developers. Commercial customers of
Artifex should email their support contact, free users
are encouraged to talk to us on the #ghostscript IRC
channel on irc.freenode.net.
Unrecoverable error: undefined in DELAYBIND
PostScript/PDF Interpreter finished. Return status 65280 executed command : /usr/bin/gs -q -dDELAYBIND -dWRITESYSTEMDICT -dNODISPLAY -dNOEPS "/tmp/psin5eNNQ0"
The interpreter seems to have failed, cannot proceed !
Traceback (most recent call last):
File "eqtexsvg.py", line 160, in <module>
e.affect()
File "/usr/share/inkscape/extensions/inkex.py", line 283, in affect
self.effect()
File "eqtexsvg.py", line 154, in effect
svg_open(self, svg_file)
File "eqtexsvg.py", line 81, in svg_open
doc = inkex.etree.parse(filename)
File "src/lxml/etree.pyx", line 3426, in lxml.etree.parse
File "src/lxml/parser.pxi", line 1839, in lxml.etree._parseDocument
File "src/lxml/parser.pxi", line 1865, in lxml.etree._parseDocumentFromURL
File "src/lxml/parser.pxi", line 1769, in lxml.etree._parseDocFromFile
File "src/lxml/parser.pxi", line 1162, in lxml.etree._BaseParser._parseDocFromFile
File "src/lxml/parser.pxi", line 600, in lxml.etree._ParserContext._handleParseResultDoc
File "src/lxml/parser.pxi", line 710, in lxml.etree._handleParseResult
File "src/lxml/parser.pxi", line 639, in lxml.etree._raiseParseError
File "/tmp/inkscape-Y11679/eq.svg", line 1
lxml.etree.XMLSyntaxError: Document is empty, line 1, column 1
De la recherche google, ce que j'ai trouvé que le problème se pose en raison de la ghostscript. L’extension Render>LaTeX
appelle en fait pstoedit
qui, dans les sternes, appelle ghostscript
en utilisant DELAYBIND
pour convertir le LaTeX
en SVG
name__. Mais dans la version plus récente de ghostscript
name__, l'indicateur DELAYBIND
a été obsolète . La solution consiste à rétrograder ghostscript
à ou au-dessous de la version 9.20. Voici les méthodes que j'ai essayé de rétrograder ghostscript
sans aucun succès.
J'ai essayé de rétrograder ghostrict
à l'aide de la commande suivante.
Sudo aptitude install ghostscript=9.18~dfsg~0-0ubuntu2
Ou en utilisant
Sudo apt install ghostscript=9.18~dfsg~0-0ubuntu2
Je reçois la sortie suivante
Unable to find a version "9.18~dfsg~0-0ubuntu2" for the package "ghostscript"
ou
E: Version '9.18~dfsg~0-0ubuntu2' for 'ghostscript' was not found
J'ai essayé une autre version, comme la version 9.20 du script fantôme. Rien n'a fonctionné.
J'ai téléchargé le ghostscript
de ghostscript website
et l’a installé à l’aide de la commande suivante
Sudo ./configure
Sudo make
Sudo make install
Il semble que l'installation soit terminée, mais si j'exécute la commande
ghostscript --version
Il montre la version 9.22.
Toute la solution en ligne que je suis capable de trouver pointe vers le déclassement de ghostscript
name__. Mais je ne sais pas comment le faire dans Ubuntu 18.04.
Toute solution?
En supposant que vous utilisiez le plug-in Latex Inkscape, texText , il prend en charge pdf2svg à côté de ghostscript + pstoedit. Donc, dans le cas d’Ubuntu 18.04, installer pdf2svg résout le problème
Sudo apt install pdf2svg
Cela fonctionne pour moi sur Ubuntu 18.04, InkScape 0.92.
Dans ce cas spécifique, la construction de pstoedit à partir de la source ne résout pas le problème car le backend de svg n'est pas inclus par défaut (comme cela a déjà été fait ci-dessus). Par conséquent, je propose de mettre à jour ghostscript vers la version 9.23.
Après le téléchargement et l'extraction de l'archive source ghostscript de https://www.ghostscript.com/download/gsdnld.html , entrez le répertoire source et exécutez les trois commandes suivantes:
./configure --prefix=/usr
make
Sudo make install
Cela remplace simplement la version existante de ghostscript et il n’est alors pas nécessaire de manipuler les dépendances.
Si vous rencontrez des problèmes ailleurs en raison de la nouvelle version de gs, vous pouvez facilement revenir en arrière.
Sudo apt-get install ghostscript --reinstall
L'inconvénient de cette solution est que les mises à jour de sécurité de ghostscript installées par le système écrasent votre installation et vous devez effectuer une nouvelle installation. Cependant, tant qu’il n’existe pas de fichiers binaires pré-construits, il s’agit peut-être d’une première solution de contournement.
Je viens de rencontrer le même problème d’utilisation de pstoedit pour convertir des fichiers EPS en fichiers DXF. Pas besoin de déclasser ghostscript!
Solution la plus simple
-rdb
.Pas à pas
Sudo apt-get remove pstoedit
Installez le nouveau pstoedit:
Courir:
./configure
make
Sudo make install
Exécuté avec l'option -rdb:
-rdb
.pstoedit -dt -f dxf:-polyaslines "input-file.eps" -rdb "output-file.dxf"
Pour les personnes qui ne souhaitent pas compiler un pstoedit
plus récent ou un déclassement ghostscript
name__, il existe une troisième option: le gestionnaire de packages Nix . Cela fonctionne sous Mac, Linux et Windows 10, il s’agit donc d’une solution multiplate-forme. Une fois que vous avez installé Nix et qu’il figure dans votre PATH
name__, faites simplement
nix-env -i pstoedit
.
Bonne LaTeXing dans Inkscape!
La version 9.18 se trouve dans les archives xenial (16.04). Si vous souhaitez l'installer, vous devrez ajouter le référentiel xenial à votre fichier sources.list
:
Sudo apt-add-repository "deb http://archive.ubuntu.com/ubuntu/ xenial main restricted universe"
et alors vous devriez pouvoir voir les versions disponibles avec apt-cache madison ghostscript
ghostscript | 9.18 ~ dfsg ~ 0-0ubuntu2 | http: // archive.ubuntu.com/ubuntu xenial/main Packages AMD64
et installer avec Sudo apt-get install ghostscript=9.18~dfsg~0-0ubuntu2
Pour moi, cela fonctionne après avoir installé pstoedit
:
Sudo apt install pstoedit