忍者ブログ
Home > Linuxアプリ

rago1975の部屋

このブログは管理人が個人的に興味がある事項を書き留めておくメモみたいなものです。当面は、Manjaro Linux関係の記事が中心になります。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


【メモ】vimtexでLuaTeXの環境構築

私自身のTeXの知識が20世紀末くらいの時点で止まってしまっていて、もう少しきちんと勉強したいなと考えていたところです。
できるだけ、楽にTeXでの文書作成ができないかと思いながら、Lyxとか、Tex Studioとか試してみたのですが、最近エディタ関係はVim(Neovim)に移行しつつあるので、Vimのプラグインを使ってみることにしました。

私が昔(1990年代)使っていたのはpTeXだったと思いますが、最近の動向を見てみると、文字コードのユニコード化などの流れもあって、upTeXとかXeTeXとか、新しい処理系が出ているみたいです。今回は、LuaTexを試すことにしました。LuaTexはtexファイルのコンパイルの際、直接pdfファイルを出力します。(Tex wikiLuaTeX-ja プロジェクト

Neovimの環境(Manjaro Linux LXQt)

  • Neovim
  • qterminal-git (AUR)
  • qtermwidget-cjk-git (AUR)

Texlive パッケージ等(全て公式リポジトリから導入可能)

  • texlive-core
  • texlive-langjapanese
  • texlive-latexextra
  • 上記の依存パッケージ(texlive-bin 等)
  • qpdfview(PDFビューワー)
  • poppler-data

vimtexの導入

vimtexはvimプラグインです。導入にあたり、今回はdeinを使用しました。deinについての説明はこのあたりを参照してください。既にdeinが導入されている場合は、~/.config/nvim/init.vim 内に記載されるプラグインのリストに以下の行を追加します。
call dein#add('lervag/vimtex')
さらに、vimtex用の設定として、init.vimに以下の行を追加します。ここでは、PDFファイルビューワーとして、qpdfviewを指定しています。
let g:vimtex_latexmk_continuous = 1
let g:vimtex_latexmk_background = 1
let g:vimtex_view_general_viewer = 'qpdfview'
init.vimの設定が終了したら、neovimを実行して、コマンドモードから call dein#update() を実行します。

.latexmkrcの編集

vimtexはtexファイルのコンパイルに際して、latexmkというツールを使用します。latexmkはTexliveパッケージに同梱されています。vimtexの使用に際しては設定ファイル.latexmkrcを編集する必要があります。(今回は .latexmkrcはホームディレクトリの下に置いています。)
こちらを参考に .latexmkrcを以下のように設定しました。
#!/usr/bin/env perl
$latex = 'uplatex %O -synctex=1 -interaction=nonstopmode %S';
$pdflatex = 'lualatex %O -synctex=1 -interaction=nonstopmode %S';
$biber = 'biber %O --bblencoding=utf8 -u -U --output_safechars %B';
$bibtex = 'upbibtex %O %B';
$makeindex = 'upmendex %O -o %D %S';
$dvipdf = 'dvipdfmx %O -o %D %S';
$dvips = 'dvips %O -z -f %S | convbkmk -u > %D';
$ps2pdf = 'ps2pdf %O %S %D';
$pdf_mode = 1;
$pdf_previewer = 'qpdfview'
ここまで準備すると、vimtexが動くようになります。Neovimでtexファイルを開いている時に、コマンドモードで :VimtexCompile と入力すると、コンパイルが始まり、pdfファイルの作成、プレビューまでしてくれます。

参考リンク

PR

【メモ】mikutter 3.3.3を(作者の環境を推量しながら)Manjaro Linux できちんと動くようにする。

mikutter については、以前、Ruby-mini_portile をアップデートしたら、mikutter の画像表示ができなくなった件という記事で書いたのですが、mikutter のバージョンが3.3.3にアップされて状況が変わりました。
mikutter をAURパッケージとしてインストールすることを考えます。AURパッケージとして、依存パッケージは、ここに示されているとおりです。しかし、そのままyaourt -Sコマンドでインストールしても起動しないか、あるいは起動しても、以前書いたように画像のリンクをクリックしてもウィンドウがポップアップしたまま止まってしまう現象が発生します。

色々試した結果、うまく動かない要因とその対策について、このようにまとめました。

Ruby-mini_portile2 をインストール。

AUR上ではruby-nokogiriのバージョンは 1.6.6.2-2ですが、最新のバージョンは1.6.7.1です。ruby-nokogiriのバージョンが上がった際に、依存関係が変わってしまい、ruby-mini_portileではなくて、ruby-mini_portile2に依存するかたちになっています。ruby-mini_portile2はAUR上にあるので、yaourt コマンドでインストールできます。
yaourt -S ruby-mini_portile2

Ruby-nokogiri のバージョンを上げる。

AUR上ではruby-nokogiriの最新のバージョンはありません。これは手動でgem install コマンドを実行します(管理者権限でインストールする場合)。
sudo gem install nokogiri --no-user-install

Ruby-totoridipjp のインストール

ruby-nokogiriのバージョンアップした後で、mikutterを起動させようとすると、「totoridipjpが無い」という趣旨のエラーメッセージが出て止まってしまいました。途方に暮れ、調べてみるとなぜがAUR上にあったのでyaourtでインストールします。
yaourt -S ruby-totoridipjp

ここまですると、mikutterがうまく動くようになるのではないかと思います。各パッケージのメンテナにつきましては、適切なバージョンアップをお願いしたく思います。

備考

  • AUR上でorumin氏によるmikutter-git というパッケージを見つけたのですが、うまくビルドできませんでした。。(ruby-unfのファイル整合性のチェックに失敗。)
  • 私の手持ちのプラグインのうち、画像投稿プラグインの mikutter-uwm-hommageが動かないです。(/opt/mikutter/core/plugin/gtk/mikutter_window.rb の34行目でエラーが出るっぽい。)

追記(2016/1/18 6:30)

mogunoさんからコメントを頂きまして、それにしたがい、mikutter-uwm-hommageを更新したら動作しました。ありがとうございました。

【メモ】Manjaro Linux LXQtでNeovimを使ってみる

私は普段、テキストエディタとしてはKateを使っています。Kateはとても高機能で重宝しているのですが、KDEユーザーでもないのに使用している(KDE関係のアプリケーションが依存パッケージとしてインストールされる)ことの違和感があり、また、エディタとしては少し重いことも気になるところです。
私はVimはコンソール上での作業には使用するのですが、もう少しエディタとして積極的に使ってみたいなと思い、新しもの好きとしてNeovimに挑戦してみようかなという気分になりました。

以下、Manjaroでデスクトップ環境LXQt上でNeovimをインストールした際のメモです。
(実はVim初心者なので、誤った理解があるかもしれません。)

インストールと設定

NeovimはManjaroの公式リポジトリからpacman コマンド等でインストールできます。クリップボードの使用時で必要になる xclip(またはxsel)、python-neovimなどもついでにインストールします。
Neovimでは、設定ファイル(Vimでいうところの.vimrc)について、~/.config/nvim/init.vim を読みこむようになっている(参照)ので、.vimrcの内容をそこにコピーしました。
また、Neobundle等のプラグインのインストールディレクトリも、~/.config/nvim/bundle/ になるので、init.vimの中身もそのように書き換えます。

qterminalとの相性

Manjaro LXQtで公式リポジトリに入っていて、それなりの多機能のターミナルはqterminalになると思いますが、現在公式リポジトリに入っているバージョンではNeovimが動かないことが報告されています(参照)。qtermwidget のgitバージョンをAURからインストールすると「Neovimが動かない」という不具合は解決していますが、今度は「全角文字の文字間隔が少しおかしい」という状況になります。
とりあえず、当面ターミナルとしてrxvt-unicode-patched(AURパッケージ)を使用することにします。rxvtは軽量で、~/.Xresources ファイルで容易に設定することができます。

クリップボードの使用

Neovimでは、クリップボードにコピペする際に、外部パッケージであるxclip(またはxsel)が必要みたいです(参照)。したがって、公式リポジトリからxclipをインストールして、init.vim内に以下の行を追加します(参照)。
set clipboard=unnamed,unnamedplus

Neovim-qt

NeovimのQt5クライアントとして、Neovim-qtが開発されており、gitバージョンがAURから入手できます。Neovimでは(Vimでは存在した)guifontなどの変数が除かれているのですが、Neovim-qtではフォントの設定は別の方法で行われます(参照)。このあたりは、私の理解が足りないので、今後勉強したいと思います。



Ruby-mini_portile をアップデートしたら、mikutter の画像表示ができなくなった件

Manjaro Linuxでは、基本的にソフトウェアパッケージは常に最新版を使用します。パッケージの更新が公式リポジトリやAURにあがると、パッケージマネージャー(pamac、octopi)は「アップデートがあります」と通知をするので、ユーザーとしては脊髄反射的にアップデート作業を行います。

ここ数日、mikutterで画像表示がうまく行かないトラブルがありました。タイムライン上の画像のURLをクリックして、新しいウインドウで画像を開く際、「Loading」の表示で止まってしまう不具合です。

原因を調べたところ、8/25にRuby-mini_portileがアップデートされた(0.6.2→0.7.0rc2)ので、それをインストールしていたことがわかりました。
Ruby-mini_portileは、mikutterの依存パッケージである Ruby-nokogiriの依存パッケージです。このアップデートによって、Ruby-nokogiriがうまく動作しなくなったものと考えられます。
/var/cache/pacman/pkg のディレクトリに残っていた、0.6.2のパッケージファイルを使用して、sudo pacman -U コマンドで再インストール(ダウングレード)したら、不具合が治りました。

問題は、yaourtを使って、新規でmikutterをインストールしようとすると、依存パッケージとしてRuby-mini_portileの最新バージョン(0.7.0rc2)がインストールされてしまう、ということです。
パッケージのバージョン管理を考慮した解決策としては、まず、Ruby-mini_portileをインストールしますが、その際、PKGBUILDを編集して、バージョン番号等を書き換えて、0.6.2をインストールするようにします。その後、mikutterをインストールする、という手順になると思います。

Xfceの画面が変になる場合の対処法

私は主にManjaro Linux のXfce 版を使用していますが、1月17日のアップデートの後、私の環境では色々トラブルがありました。
一番悩まされたのが、Dock系のアプリケーション(Plank、Cairo-Dockなど)を起動させた時に、画面に影みたいな線が入るものでした。
その解決方法がManjaro Forum に投稿されました。また、Manjaro Wikiにも記事が作成されました。具体的にはcomptonというパッケージをインストールして、Xfceの設定をいじるものみたいです。
私は、この方法で解決できました。

        
  • 1
  • 2
  • 3

プロフィール

HN:
rago1975 (Takefumi Nagata)
HP:
性別:
男性
自己紹介:
熊本在住の一般人です。Manjaro Linux関係の翻訳などを少々やっています。
twitter: https://twitter.com/rago1975

カレンダー

03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

P R