web-dev-qa-db-ja.com

18.04へのインストール後、LaTeXのレンダリングがInkscapeで機能しない

Ubuntu 18.04を最近インストールしました(アップグレードではなく、クリーンインストールです)。 Ubuntu 18.04では、InkscapeのLaTeXレンダリング機能が機能していません。エラー出力は次のとおりです。

*** 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検索から、ゴーストスクリプトが原因で問題が発生していることがわかりました。 Render>LaTeX拡張機能は、実際にpstoeditを呼び出します。これは、ghostscriptDELAYBINDからLaTeXに変換するためにSVGフラグを使用して呼び出します。しかし、ghostscriptの新しいバージョンでは、フラグDELAYBINDは廃止されました。解決策は、ghostscriptを9.20バージョン以下にダウングレードすることです。以下は、ghostscriptをダウングレードしようとして成功しなかった方法です。

Aptまたはaptituteからのゴーストスクリプトのダウングレード

次のコマンドを使用して、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 Webサイトからのインストール:

ghostscript website からghostscriptをダウンロードし、次のコマンドを使用してインストールしました

Sudo ./configure
Sudo make
Sudo make install

インストールは完了したようですが、コマンドを実行している場合

ghostscript  --version

バージョンは9.22と表示されています。

私が見つけることができるすべてのオンラインソリューションは、ghostscriptのダウングレードを指し示しています。しかし、Ubuntu 18.04でそれを行う方法はわかりません。

解決策はありますか?

6
Apurba

Latex Inkscapeプラグイン texText を使用すると仮定すると、ghostscript + pstoeditの横でpdf2svgがサポートされます。したがって、Ubuntu 18.04の場合、pdf2svgをインストールすると問題が解決します

Sudo apt install pdf2svg

Ubuntu 18.04、InkScape 0.92で動作します。

4
bagustris

この特定の場合、ソースからpstoeditをビルドしても、svgバックエンドがデフォルトで含まれていないため(上記で既に経験したように)、問題は解決しません。したがって、ghostscriptをバージョン9.23に更新することを提案します。

https://www.ghostscript.com/download/gsdnld.html からghostscriptソースtarballをダウンロードして抽出した後、ソースディレクトリを入力し、次の3つのコマンドを実行します。

./configure --prefix=/usr
make
Sudo make install

これは単に既存のghostscriptバージョンを上書きするだけなので、依存関係をいじる必要はありません。

新しいgsバージョンが原因で他の場所で問題が発生した場合、簡単に元に戻すことができます。

Sudo apt-get install ghostscript --reinstall

このソリューションの欠点は、システムによってインストールされたghostscriptのセキュリティ更新がインストールを上書きし、再インストールが必要になることです。ただし、使用可能なビルド済みのバイナリがない限り、これは最初の回避策になる可能性があります

2
jcwinkler

EPSをDXFファイルに変換するためにpstoeditを使用して同じ問題に遭遇しました。 ghostscriptをダウングレードする必要はありません!

最も簡単な解決策

  1. Pstoeditをアップグレードする
  2. -rdbフラグを指定してpstoeditを実行します。

ステップバイステップ

  1. Ubuntu-current pstoeditを削除:
    • Sudo apt-get remove pstoedit
  2. 最新のpstoeditをダウンロード:
  3. 新しいpstoeditをインストールします:

    • 抽出されたフォルダーをターミナルで開きます(フォルダーを右クリック→ターミナルで開きます)
    • 実行:

      ./configure
      make
      Sudo make install
      
  4. -rdbフラグを指定して実行:

    • ここで、pstoeditを実行するときに、-rdbフラグを追加します。
    • 例:pstoedit -dt -f dxf:-polyaslines "input-file.eps" -rdb "output-file.dxf"
    • このフラグは、新しい 'force'オプションを使用してghostscriptがdelaybindコマンドを受け入れるようにpstoeditに指示します。 リリースノートは、セキュリティの脆弱性を開く可能性があるため、これは信頼できるファイルに対してのみ行うべきであると警告しています。
1
SRDC

新しいpstoeditまたはダウングレードghostscriptをコンパイルしたくない人のために、3番目のオプションがあります: Nixパッケージマネージャー 。 Mac、Linux、およびWindows 10で動作するため、これはクロスプラットフォームソリューションです。 NixをインストールしてPATHに入れたら、

nix-env -i pstoedit

InkscapeでLaTeXingをお楽しみください!

1
Marduk

9.18リリースは、xenial(16.04)アーカイブにあります。インストールしたい場合は、x [enial]リポジトリをsources.listfileに追加する必要があります。

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 xenial/main AMD64パッケージ

Sudo apt-get install ghostscript=9.18~dfsg~0-0ubuntu2でインストールします

0
jackw11111

私にとっては、pstoeditをインストールした後に動作します:

Sudo apt install pstoedit
0
Yan King Yin