ggplot2の色をTeXで使うための設定を書いてみた

Keynoteパワポも持っていないので、 スライド作りには現在 TeX のBeamerを使っているわけです。

ggplot2で書いたグラフを張り付ける際には、その他の図形の色もなるべくggplot2の色の範囲におさめたくなります

[R] ggplot2の色をプレゼンでも使いたい

なるほど! ということでこちらの記事に書かれているRGB情報を使って、 TeXでも使えるように自前の色設定を書いてみました。

Defining default colors in ggplot2 for TeX

これを使うと、以下のようにしてggplot2のカラーがBeamerの文字などに使えます。 上がBeamerで書いた色付き文字で、下がRのggplot2で描いたグラフです。 『ggred3』などの部分は僕が勝手に付けた名前なので、お好きに変更してください。 ネーミング難しいです。

実際に使ってみると、文字に使うにはちょっと明るすぎる気がしますね…...

  \textcolor{ggred3}{A}
  \textcolor{gggrn3}{B}
  \textcolor{ggblu3}{C}

f:id:ksmzn:20141227210937p:plain

  \textcolor{ggred5}{A}
  \textcolor{ggygr5}{B}
  \textcolor{gggrn5}{C}
  \textcolor{ggblu5}{D}
  \textcolor{ggpur5}{E}

f:id:ksmzn:20141227210952p:plain

  \textcolor{ggred10}{A}
  \textcolor{ggbrn10}{B}
  \textcolor{ggygr10}{C}
  \textcolor{gggrn10}{D}
  \textcolor{gglgr10}{E}
  \textcolor{gglbl10}{F}
  \textcolor{ggblu10}{G}
  \textcolor{gglpe10}{H}
  \textcolor{ggpur10}{I}
  \textcolor{ggpnk10}{J}

f:id:ksmzn:20141227211001p:plain

[改訂第6版] LaTeX2ε美文書作成入門

[改訂第6版] LaTeX2ε美文書作成入門

BMWER(ビマー)Vol.23 (NEKO MOOK)

BMWER(ビマー)Vol.23 (NEKO MOOK)

ジャスティン・ビーバー ネヴァー・セイ・ネヴァー ディレクターズ・カット [DVD]

ジャスティン・ビーバー ネヴァー・セイ・ネヴァー ディレクターズ・カット [DVD]

Shinyで確率分布を動かして遊べるページ作った

確率分布ってたくさんあるので、統計を学びたてのうちはよくわからないですよね。 パラメータによって確率分布のカタチも変わってしまうし、 似たような種類が多くて混乱してしまいます。

そこで、R言語のWebフレームワークであるShinyを使って、 確率分布のパラメータをいじってカタチを見ることができる ページを作りました。

いろいろな確率分布のパラメータをいじくるアプリ

ネーミングセンスがありません。助けてください。。。

ご指摘や、追加すべき確率分布などがありましたらTwitterで教えてくださると助かります。 また、全てのコードはGitHubにもおいてありますので、拙いコードでよろしければ参考にしてください。

使い方

カンタンです。上部メニューから確率分布を選びクリック。 パラメータをいろいろ変えるとそれに応じてグラフも変化します。 分布関数と密度関数を切り替えることも可能です。

改善点

グラフ描画にはggplot2を使いました。 が、ここはやはりインタラクティブなグラフが欲しいので、 時間があれば、D3.jsやライブラリなどを使って直したいと思います。

また、掲載している確率分布も増やしていきたいですね。

Shinyを使ってみた感想

決められたレイアウトでやるならば、とてもカンタンな印象を受けました。 データ分析に関するシンプルな単機能のページを作るなら、うってつけです。 一方、ちょっとレイアウトを変えたかったり、ソーシャルボタンをつけようと思うと、 少し手間取ってしまいました。Githubで他の人のコードを読んだり試行錯誤をすると、意外に単純に書けることに気が付きましたが、このあたりは文献が充実してくるまでは仕方ないかもしれません。 例えば、上部メニューにGitHubやブログなどのリンクを貼ろうとしたのですが、メニュー部に外部へのリンクを貼ることはできないようで、結局JavaScriptで強引に解決しました。 やはりWebアプリですから、Rだけでなく多少はJavaScriptを使ったほうが良いかと思います。

Shinyアプリを作る上で参考になったページ

このアプリを作る際に参考にしたページは以下です。 特に、まだまだShinyの日本語情報が少ないなか、 @hoxo_mさんの記事やコードはとても参考になりました。 @hoxo_mさん、ありがとうございました。

latexmkとquickrun.vimを使ってVimでLaTeXを書く。

先日TeXShopの記事(TeXShopのSolarize_darkカラースキーマ - Dimension Planet Adventure 最終章 最終話『栄光なる未来』)を書きましたが、 やはりVimを使いたいということで、 やはりVimしかないということで、 VimTeXを書く環境を整えましょう。 Vim+Texといえば、vim-latexというプラグインもあります。 が、何故か僕の環境では動かず、そして大きいプラグインでよくわかんなかったので 使い慣れたquickrun.vimと、latexmkを使いました。

latexmk

latexmkというのは、おおざっぱにいえば.texから.pdfまでのコンパイルを一回で行ってくれるPerlスクリプトです。 僕はMacTeXをHomebrewからインストールしたので、既に入っているものとして進めます。 latexmkの設定ファイルである.latexmkrcを、以下のように書きました。 これを、.texと同じディレクトリか、ホームディレクトリに置きましょう。

gist001fd055c466b6606290

quickrun.vim

quickrun.vimは、vimからプログラムをコンパイルして実行してくれるvimプラグインです。 詳しい解説は各Vimmerの方々のブログを参照してください。

NeoBundleなどを使ってインストールしましょう。 ここでは、僕のvimrcにおける設定を記載しておきます。

NeoBundleLazy "thinca/vim-quickrun", {
      \ 'depends': 'osyo-manga/shabadou.vim',
      \ 'autoload': {
      \   'mappings': [['nxo', '<Plug>(quickrun)']]
      \ }}
nmap <Leader>r <Plug>(quickrun)
let s:hooks = neobundle#get_hooks("vim-quickrun")
function! s:hooks.on_source(bundle)
  let g:quickrun_config = {
        \   "_": {
        \     "hook/close_quickfix/enable_success" : 1,
        \     "hook/close_buffer/enable_failure" : 1,
        \     "outputter" : "multi:buffer:quickfix",
        \     "hook/neco/enable" : 1,
        \     "hook/neco/wait" : 20,
        \     "runner": "vimproc",
        \     'hook/time/enable' : 1
        \   },
        \   'tex':{
        \     'command' : 'latexmk',
        \     'cmdopt': '-pv',
        \     'exec': ['%c %o %s']
        \   },
        \ }
endfunction

" texのconcealを無効化
let g:tex_conceal=''

軽く解説をします。 <Leader>r とタイプすると、quickrun.vimとshabadou.vimが読み込まれるようにしています。 単に NeoBundle 'thinca/vim-quickrun’ とするより起動が早くなるのでオススメです。 shabadou.vimとは、「汎用的な quickrun-hook をまとめた」プラグインです。 詳しい解説は、作者であるosyo-mangaさんの記事をご覧ください。

今回はtexコンパイルしたいので、 ファイルタイプがtexのときのみ適用される設定を、 g:quickrun_configの中に記入しました。 latexmkは、 '-pv’ オプションをつけることで、コンパイル後にpdfを閲覧することができます。

また、vimtexを開いた時に、\thetaなど一部のtex記法文字を勝手に置き換えてくれる(この場合は、\theta→θ)のですが、 ぶっちゃけ鬱陶しいので無効化しました。

以上で設定は終了です。

実践

vimtexファイルを開いて、ノーマルモードで<Leader>rと押すと、 quickrun.vimが起動しlatexmkを実行し、成功ならPreview.appでpdfを閲覧することができます。

さぁ、楽しい環境設定は終了です。 論文やスライドを書きましょう。 教授にシメられましょう。

参考

TeXShop からの脱却 - 役に立つかもしれない備忘録

latexmkを使ってみた - ぽっかめろん

Latexmkとquickrun.vimで快適な執筆環境 | ある理系男子の妄言録

latexmkとvim-quickrunとneosnippetでVim-LaTeXを卒業しよう - メモ帳

shabadou.vim を使って quickrun.vim をカスタマイズしよう - C++でゲームプログラミング

【Vim】Conceal機能ってぶっちゃけ見にくいと思う - Qiita

Vim script テクニックバイブル ~Vim使いの魔法の杖

Vim script テクニックバイブル ~Vim使いの魔法の杖