うつ病、双極性感情障害を抱えたけんけんのFedora、FreeBSD勉強日記。
Linux、Unixのデスクトップ用途として使う秘訣お教えします。
 since 2006年2月16日(木)

LaTeX

LaTeXでsvg画像ファイルを取り込む方法 on Fedora 33

前回【追記あり】Fedora 32パッケージTeX Live2019でのsvg画像ファイルの挿入についての記事で書いた通り、Fedora 32でのLaTeX TeX Live2019でのsvg画像ファイルの挿入についての続きとして、まだBeta版ですがFedora 33 パッケージTeX Live 2020でのsvg画像ファイルの挿入についてのHowtoを書いておきます(実際は内部でsvgをepsに変換している)。

まず、Linux ディストリはFedora 33 Betaです。恐らくFedora 33 公式リリースでもこの記事は有効でしょう。

TeX Live 2020インストール

Fedora 33公式のパッケージのTeX Live 2020をインストールします。数GBとサイズがかなりでかいので注意して下さい。
sudo dnf install texlive-scheme-full

Inkscapeインストール

svg画像ファイルをepsに変換するInkscapeをインストールしておきます。
sudo dnf install inkscape

dvipdfmx.cfg

/usr/share//texlive/texmf-dist/dvipdfmx/dvipdfmx.cfgをsudoしてエディタで以下を最後の行に追加編集します。
D "inkscape %i -o %o"

ファイルの準備

任意のディレクトリで最低限のファイルのfile.texとsvgファイルを以下の通りに準備編集して、svgパッケージの動作を確認します。

svg画像

svgファイルを準備します。

cp  /usr/share/icons/hicolor/scalable/apps/org.gnome.Terminal.svg term.svg

TeXファイル

file.texの中身は以下のようにエディタで編集します。(個人ディレクトリで)

\documentclass{ltjsarticle}
\usepackage[]{graphicx}
\usepackage{svg}
\begin{document}

gnome terminal svg
\begin{figure}[h]
  \centering
  \includesvg{term.svg}
  \caption{terminal svg image}
\end{figure}

\end{document}

コンパイル

コンパイルしてみます。svgパッケージのコンパイルは、platexやuplatexではコンパイル出来ず、lualatex、pdflatex、xelatexに-shell-escapeオプションを付けます。日本語を考慮するとpdflatexでは扱えないので、lualatexが良いかと思います。

lualatex -shell-escape file.svg

結果

以下のようにGNOME端末のアイコン画像が表示されれば、成功です。 Screenshot from 2020-10-12 11-10-35

【追記あり】Fedora 32パッケージTeX Live2019でのsvg画像ファイルの挿入について

※ Inkscape 0.9xをインストールすることを追加(2020年7月11日(土))

Fedora32

 Fedora32では、Inkscapeが0.9xから1.0に上がったせいで、pdflatex、LuaLaTeXでの画像ファイルを入れ込むのは無理だと思う。Inkscapeがオプション変わりすぎて受け付けてくれない。

 pdflatexやLuaLaTeXで使えるsvgパッケージ2.02f以降ならInkscape1.0に対応してるみたいなので、TeX Live公式の2020を試してみても良いかも。(未検証)

 pLaTeXやupLaTeXなら、dvipdfmx.cfgを編集しgraphicxパッケージでincludegraphicsすればOK。bbオプションを指定する必要があり、しなければ! LaTeX Error: Cannot determine size of graphic in gazou.svg (no BoundingBox).と言われるので注意。

編集するdvipdfmxは/usr/share/texlive/texmf-dist/dvipdfmx/dvipdfmx.cfgにあり、最後の行に

D "convert '%i' 'epdf:%o'"

追加すればOK。sudoで書き込み必須です。必要によってはオプションなども追加して下さい。

Fedora 31

 Fedora31ならdowngradeすれば、Inkscape 0.9xなので、pdflatex、LuaLaTeX経由でもsvgパッケージを使ってのsvg画像ファイル挿入は問題なく可能です。

Inkscape 0.9xをインストールします。一度Inkscapeをインストールし、downgradeすればOK。

sudo dnf install inkscape
sudo dnf downgrade inkscape

それと、sudoしてエディタで/etc/dnf/dnf.confファイルに、

exclude=inkscape\*
しておきます。

 pLaTeXやupLaTeXでならinkscapeを使うdvipdfmx.cfgの編集とdvipdfmxオプション付きのgraphicsパッケージとその命令のincludegraphicsで可能。

 dvipdfmx.cfgの編集は、convertではなく以下のように追記する。

D "inkscape -z -A %o %i"

Fedora 31 なVMやdocker

 上記なように、Fedora31ならあっさり使えたので、Fedora32をホストでのTeX Live 2019パッケージでsvgパッケージを使いたいなら、VMなりdocker(Fedora32ではpodman)で使いましょう。Fedora32なら素直にpdfとかに変換するのが簡単ではある…Linuxならスクリプトで一気に処理出来るし。

 以上、私の結論ではFedora32パッケージのTeX Live自体では、pdflatexやLuaLaTeXなどではsvgパッケージでは使えず、pLaTeXやupLaTeXではImageMagickのconvertを使えばsvg画像挿入可能と可能だと結論付けます。

 アプデによってpdflatexやLuaLaTeXで使えるようになるといいなあ😭pLaTeXやupLaTeXでならsvgファイルは使えます。2020年7月10日(金)現在ではFedora32でのpdflatexやLuaLaTeXで使うのは諦めてFedora31のVMやdocker(Fedora32ではpodman)などのコンテナをお試しあれ。

LaTeXインストール on Fedora

前置き

何故か論文書くわけではないのにLaTeXしたくなったので、FedoraのLaTeX環境を揃える方法を少しずつ書いていきたいと思います。学生の方はLaTeXの環境を整えるのは中々大変なので拙著のブログを読んで今のうちに卒論準備をしていくと良いかなと思います。今回はインストールのみ。

インストール

パッケージを使ったインストールをします。 ## フルインストール

sudo dnf install texlive-scheme-full

これで終わりです。ただし、とてもデータサイズが大きく数GBありますので回線の問題などを考えると寝る前に仕掛けるとかが良いでしょう。

日本語環境のみのインストール

出来るだけ小さくインストールしたい、そして日本語環境が揃えば良い場合は、

sudo dnf install texlive-collection-langjapanese texlive-xetex

ただし、不足するものがあったりして足らないものが出てくるので上記のまるごとインストールする方法が良いと思います。

Ghostscript

texliveと一緒にインストールされると思いますが、GUIがインストールされないので直接ghostscriptコマンドを叩く場合は、

sudo dnf install ghostscript\*

日本語文字化け対策

デフォルトでは日本語文字化けしますので、eps,psポストスクリプトghostscript日本語文字化け 解決方法 にまとめています。

eps,psポストスクリプトghostscript日本語文字化け 解決方法2019,2020年版

はじめに

現在のghostscript事情を検証してみました。LaTeXでpsファイルに変換すると日本語の文字化けします。GNOMEだとpsファイルを閲覧するアプリはevinceで裏ではghostscriptで動いてるのかghostscriptの設定を直せば解決出来ました。以下解決方法を記します。 eps文字化け
図 psファイル文字化け 

cidfmap編集

/usr/share/ghostscript/Resource/Init/cidfmapをエディタで編集
/etc以下ではないし、バージョンがghostscript以下に挟まない事に注意すること。

/ipaexm << /FileType /TrueType /Path (/usr/share/fonts/ipa-ex-mincho/ipaexm.ttf) /SubfontID 0 /CSI [(Japan1) 6] >> ;
/ipaexg << /FileType /TrueType /Path (/usr/share/fonts/ipa-ex-gothic/ipaexg.ttf) /SubfontID 0 /CSI [(Japan1) 6] >> ;
/Ryumin-Light /ipaexm ;
/GothicBBB-Medium /ipaexg ;
/GothicBBB-Medium-UniJIS-UTF8-H /ipaexg ;
/IPAexGothic /ipaexg ;
/IPAexMincho /ipaexm ;

cidfmapを編集し文字化けを直したところ。

ps文字化け修正後

Fedoraのパッケージのghostscript9.x(ps,eps)の文字化け解決方法!!

Fedora 31,32などの2020年近辺では、以下の記事は古くなっているのでeps,psポストスクリプトghostscript日本語文字化け 解決方法を参照のこと。またgnuplotの仕様がすっかり変わっているので、この記事を適用してもgnuplotのコードの日本語表示は文字化けのままです。

お久しぶりです。 一年ぶりぐらいの更新ですかね。 今年の2月頃体調くずしてたのと少しLinuxとの距離をおいてみたいなと思ってたら かなりの年月が過ぎてしまったようで… 近況はこのぐらいにして、 いつもはghostscript8.xのパッケージを強引にインストールして 文字化けを解決していたのですが、 このたびFedoraのghostscript 9.x系列(9.04,9.07,9.10,9.14)のパッケージでの ps,epsファイルの文字化けがやっと解決出来たのでご報告したいと思います。 Fedora 31,32,30近辺のリリースはこちらへ。また、gnuplotはghostscriptのcidfmapを編集しなくても日本語表示出来ます。そして、以下の書式でのgnuplotは仕様が変わっているので現在のものでは使わないで下さい。以下は古い情報になってしまっているため参考にならないと思われるがやむを得ない理由で古いFedoraを使っている可能性もあると思われるので残しておきます。

続きを読む
ブログ内の検索
Google

WWW を検索
このblog内を検索
最新コメント
コンピューター オススメ
アクセスカウンター

    はてブリスト - 現在
    • ライブドアブログ