vimtex
VimでLaTeXを書く時に使うプラグイン、 vimtex についてです。
VimのLaTeX用プラグインには、Vim-LaTeX (LaTeX-Suite)やLaTeX-Boxといったものもありますが、違いを見ていきましょう。
まずVim-LaTeXは一番歴史が古いようで、入力支援などの機能は一番多そうです。しかし機能が多すぎて、分かりにくいのは否めません。
次に、LaTeX-Boxとvimtexについて。この二つは似ています。Forkというわけではないようですが、vimtexはLaTeX-Boxを基にしています。なので、LaTeX-Boxでできることは、だいたいvimtexでもできます。機能も必要なものは揃っているので、現在ではvimtexを使っておけば問題ないでしょう。
なおvimtexは以前はvim-latexという名前だったようですが、LaTeX-Suiteと紛らわしいということで改名したようです。
さて、使い方を軽く。まずvimtexではlatexmkを使用するので、使っていなければ設定しておきましょう。 インストールは例によってNeoBundleなどで。私は以下のような設定をしています。
" vimtex let g:tex_flavor='latex' let g:vimtex_latexmk_options = '-pdfdvi' let g:tex_conceal = '' let g:vimtex_imaps_enabled = 0 " viewer let g:vimtex_view_general_viewer \ = '/Applications/Skim.app/Contents/SharedSupport/displayline' let g:vimtex_view_general_options = '@line @pdf @tex' autocmd FileType tex syntax spell toplevel
2, 3行目は必須です(pTeX+dvipdfmxを使っているなら)。viewerの1-3行目のやつは、MacでSkimを使っている場合の設定です。あとはお好みで。
ちなみに'let g:vimtex_imaps_enabled = 0'というのは、vimtexが勝手に設定してくれるinsertモードのmapをオフにするオプションです。
ギリシャ文字の入力などが入ってます。
これについてはauctex.vimあたりの設定を適当にコピーしてきて、
'after/ftplugin/vim.tex'にコピーして使ったほうが、自分でカスタマイズもしやすいと思います。
これで、例えばleaderが'\'なら、\llでタイプセット、\lvでSkimが開いてプレビューできます。
この設定なら、synctexを用いて\lvでVim側と同じ場所に移動できますし、
Skimも設定しておけば、Skim上でCmd-Shift-EnterでVimの同じ箇所に移動できます。
これを有効にするには、Skimの環境設定の「同期する」でMacVimを選びます。
さらに\llでタイプセットを開始すると、以後ファイルを変更するたびに自動でタイプセットが行われます。
とても快適です。
ただ、この自動タイプセットが正常に終了してくれないときがあり、その対処法について次の記事で説明します。 それでは。
LaTeXのhyperrefパッケージのbookmarksopenオプション
LaTeXでハイパーリンクを使うための、hyperrefパッケージについてです。
hyperrefでは、PDFの"しおり"を用いて目次をつけることができます。これが文字化けしないようにする方法などは、hyperref - TeX Wikiを参照のこと。
問題は、このしおりについてのオプション"bookmarksopen"です。これはPDFを開いたときに、デフォルトでしおりのツリーを開いておくかどうかを制御するオプションです。しかしこのオプションは、upLaTeX + dvipdfmxという環境では動作しないようです。
対処法としては、LuaLaTeXを使えばきちんと動作します。結局pTeX系では動作していないので、あまり解決にはなっていないのですが。
こういったことがあると、LuaLaTeXに移行したくなりますが、まだ問題も多いです。まず、LuaLaTeXで日本語を扱うにはLuaTeX-jaを用いるのですが、このタイプセットが遅い。しかもMacにおいては、El Capitanに更新するとヒラギノフォントのファイル形式が変更されてしまい、現在のTeX Live 2015のLuaLaTeXでは、ヒラギノを扱うことができません(参考:TeX界の El Capitan 迎撃戦記 - TeX Alchemist Online)。
しかしLuaLaTeXのメリットは多いですし、早いところ移行したいものですね。
スマホ版Fate/snの容量
調べても、誰も書いてる人がいなかったので。Android版Fate/stay nightの容量です。
セイバールートのみのときは、私は調べてませんが、1.2GBぐらいみたいですね。UBWダウンロード後の容量は、2.66GBでした。そして、HFダウンロード後は、3.12GBです。
どれもアプリ全体の容量です。UBWが大きくて、HFは意外に小さいですね。
何かの参考になれば。
Learn You a Haskell for Great Good!
思い立ってHaskellの勉強を始めてみました。Learn You a Haskell for Great Good!は英語版ならばここで無料で読むことが出来ます。公式サイトなのでもちろん合法。(ちなみに日本語版は、すごいHaskellたのしく学ぼう!)
さて、進めていたら、早速2章で詰まってしまいました。
boomBangs xs = [ if x < 10 then "BOOM!" else "BANG!" | x <- xs, odd x]
とあるのですが、parse errorが出てしまいます。関数型プログラミング言語Haskell Part17 | ログ速の392辺りによれば、letを付ければ良いらしい。
勉強不足なので分かりませんが、なぜletが必要なのだろうか。そしてこれは誤植なのだろうか…
追記
どうやら、baby.hsに書いてloadすれば良かったらしい…
MacとCyanogenMod
手持ちのNexus 7 (2013)にCyanogenModを入れてみました。それは簡単だったのですが、CyanogenModだと、Macの"Android File Transfer"が使えないようですね。仕方が無いのでadbコマンドを使っていますが、MacでCyanogenmodにファイル転送、他にいい方法はないものでしょうか…
2014/10/21 追記
Android File Transferが使えることが分かりました。
設定からストレージを開き、右上のメニューを開きます。"USBでパソコンに接続"という項目があるので、それをタップして、"メディアデバイス(MTP)"にチェックを入れるだけです。
よかったよかった。