Я недавно установил Ubuntu 18.04 (Не обновление, а чистая установка). В Ubuntu 18.04 функция рендеринга LaTeX в Inkscape не работает. Ниже выводится сообщение об ошибке:
*** 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
Из поиска в Google я обнаружил, что проблема возникает из-за ghostscript. Расширение Render>LaTeX
фактически вызывает pstoedit
, которое в крачках вызывает ghostscript
с использованием флага DELAYBIND
для преобразования из LaTeX
в SVG
. Но в более новой версии ghostscript
флаг DELAYBIND
был устарел . Решение состоит в том, чтобы понизить версию ghostscript
до версии 9.20 или ниже. Ниже приведены методы, которые я пытался понизить ghostscript
без какого-либо успеха.
Я попытался понизить ghostrict
с помощью следующей команды.
sudo aptitude install ghostscript=9.18~dfsg~0-0ubuntu2
Или с помощью
sudo apt install ghostscript=9.18~dfsg~0-0ubuntu2
я получаю следующий вывод
Unable to find a version "9.18~dfsg~0-0ubuntu2" for the package "ghostscript"
или
E: Version '9.18~dfsg~0-0ubuntu2' for 'ghostscript' was not found
Я пробовал некоторые другая версия, например 9.20 скрипта-призрака. Ничего не получалось.
Я скачал ghostscript
из ghostscript website
и установил с помощью следующей команды
sudo ./configure
sudo make
sudo make install
Кажется, установка завершена, но если я запускаю команду
ghostscript --version
Она показывает версию как 9.22.
Все онлайн-решения, которые я могу найти, указывают на понижение ghostscript
. Но я не знаю, как это сделать в Ubuntu 18.04.
Любое решение?
Принятие Вас использует Латекс плагин Inkscape, texText, это поддерживает pdf2svg около ghostscript+pstoedit. Так, в случае Ubuntu 18.04, устанавливая pdf2svg решает проблему
sudo apt install pdf2svg
Это работает на меня на Ubuntu 18.04, InkScape 0.92.
Просто столкнулся с той же проблемой с помощью pstoedit для преобразования EPS в файлы DXF. Никакая потребность понизить ghostscript!
Самое легкое решение
-rdb
флаг.Пошаговый
sudo apt-get remove pstoedit
Установите новый pstoedit:
Выполненный:
./configure
make
sudo make install
Выполненный с флагом-rdb:
-rdb
флаг. pstoedit -dt -f dxf:-polyaslines "input-file.eps" -rdb "output-file.dxf"
Эти 9,18 выпусков находятся в гостеприимном (16.04) архив. Если Вы хотите установить его, необходимо будет добавить гостеприимный репозиторий к Вашему sources.list
файл:
sudo apt-add-repository "deb http://archive.ubuntu.com/ubuntu/ xenial main restricted universe"
и затем необходимо смочь видеть доступные версии с apt-cache madison ghostscript
ghostscript | 9.18~dfsg~0-0ubuntu2 | http:// archive.ubuntu.com/ubuntu гостеприимные/основные amd64 Пакеты
и установка с sudo apt-get install ghostscript=9.18~dfsg~0-0ubuntu2
В этом конкретном случае, создающем pstoedit из источника, не решает проблему, потому что svg бэкенд не включен по умолчанию (как уже испытано выше). Следовательно, я предлагаю обновить ghostscript к версии 9.23.
После загрузки и извлечения ghostscript источника tarball из https://www.ghostscript.com/download/gsdnld.html вводят исходный каталог и выполняют следующие три команды:
./configure --prefix=/usr
make
sudo make install
Это просто перезаписывает существующую ghostscript версию, и затем не нужно возиться с зависимостями.
При обнаружении с проблемами в другом месте из-за новой gs версии, можно легко переключиться назад
sudo apt-get install ghostscript --reinstall
Недостаток этого решения состоит в том, что обновления системы защиты ghostscript, установленного системой, перезапишут Вашу установку, и необходимо переустановить. Однако пока нет никаких предварительно созданных двоичных файлов, доступных, это могло бы быть первым обходным решением
Для людей, не желающих скомпилировать более новое pstoedit
или снижение ghostscript
, существует третья опция: Отклонить диспетчер пакетов. Это работает в Mac, Linux и Windows 10, таким образом, это - межплатформенное решение. После того как Вы устанавливаете, Отклоняют, и это находится в Вашем PATH
, просто сделайте
nix-env -i pstoedit
.
Счастливая пропитка латексом в Inkscape!
Для меня это работает после того, как я установил pstoedit
:
sudo apt install pstoedit