293びぼーろく; 引っ越し
どうしたもんか悩む。
冷蔵庫の中に5年ほど前からある冷凍食品がある。
後10日で食べきれるだろうか。
引っ越しついでに背景も夏仕様に変更。今年の夏はどこか旅行にいけるかな。
292びぼーろく; quickrunのインストール[vim]
いつもvimさんでtexファイルを編集するけど、コンパイルが面倒。
ま、vim初心者なので割りきっていたけど、素晴らしいプラグインを見つけた。 というか前からあったと思うけど、探していなかった。
ついでにlatexmkも使うことに。統合開発環境っぽくなって相当便利になった。 プラグインの管理はNeobundleを使用。環境はdebian8 (jessie) 。
あまり良くわかっていないので、あちこちを参考にしながら下記のように設定。 (参考にしすぎてどこを見たのかわからなくなった) やり方としては、latexmkのオプションをシェルスクリプトで与えてlatexmを実行という流れ。
・latexmkの設定
latexmkの詳しいオプションは~/.latexmkrc に記入。 lualatexの設定はpdflatexのところに書く。
#!/usr/bin/env perl
$latex = 'platex'; $latex_silent = 'platex -interaction=batchmode'; $pdflatex = 'lualatex'; $pdflatex_silent = 'lualatex -interaction=batchmode'; $bibtex = 'pbibtex -kanji=utf8'; $dvipdf = 'dvipdfmx %O -o %D %S'; $makeindex = 'mendex %O -o %D %S'; $max_repeat = 5; $pdf_mode = 3; # generates pdf via dvipdfmx
# Prevent latexmk from removing PDF after typeset.
# This enables Skim to chase the update in PDF automatically.
$pvc_view_file_via_temporary = 0;
# Use Skim as a previewer
$pdf_previewer = "open -ga zathura";
・適当なシェルスクリプトを作成
僕の場合は、以下の様に処理。
コンパイルするtexファイルの先頭にコメントでコンパイルする方法を書いておく
→ファイルの先頭から読み取ってlatexmkにオプションとして渡す
lualatexが指定されている:lualatex
xelatexが指定されている:xelatex
dvipsが指定されている:platex+dvips+ps2pdf
それ以外: platex+dvipdfmx
というわけで以下の様にtex2pdf.shを作成。もっとうまいやり方があると思うけど、とりあえず動くので良しとする。
#!/bin/bash
unset TEXFILE
unset LATEXTYPE
unset DVITYPE
unset COMPILE
export TEXFILE=$1
## tex ファイルの指定
export LATEXTYPE=$(head -1 $1 |grep tex )
## コンパイルの指定(platex,lualatex,xelatex)を読み込む
export DVITYPE=$(head -1 $1 |grep dvi )
## dvipsかdvipdfmxかを指定。この時はplatexを使う。
if test "$(echo $LATEXTYPE|sed s/.xelatex./xelatex/)" = "xelatex" ; then
echo "use xelatex" COMPILE=-xelatex
elif test "$(echo $LATEXTYPE|sed s/.lua./luatex/)" = "luatex" ; then
echo "use lualatex" #lualatex -interaction=batchmode --shell-escape $TEXFILE COMPILE=-lualatex
elif test "$(echo $DVITYPE|sed s/.dvips./dvips/)" = "dvips" ; then
echo "use platex + dvips" COMPILE=-pdfps
else
echo "use platex + dvipdfmx" COMPILE=-pdfdvi
fi
latexmk --shell-escape $COMPILE $TEXFILE
latexmk -c $TEXFILE
実行権限を与えてパスの通っているところへ保存。これでおそらく(?)うまくいくと思う。 -cは中間ファイルの削除をしてくれるオプション。
試しに tex2pdf.sh ./hoge.tex とでもしてうまく動いていればOKだと思う。
・Neobundleのインストール(gitは予めインストールしておく)
mkdir -p ~/.vim/bundle
git clone https://github.com/Shougo/neobundle.vim \
~/.vim/bundle/neobundle.vim
以前にvim-latexをインストールした場合はvim-addon-managerで削除しておく。
・~/.vimrcに下記を追加 (Start Neobundle Settings.から End Neobundle Settings.まで)
"---------------------------
" Start Neobundle Settings.
"---------------------------
" bundleで管理するディレクトリを指定
set runtimepath+=~/.vim/bundle/neobundle.vim/
" Required:
call neobundle#begin(expand('~/.vim/bundle/'))
NeoBundleFetch 'Shougo/neobundle.vim'
"追加のプラグインは以下へ"
" neobundle.vim を使用しているなら
NeoBundle "thinca/vim-quickrun"
NeoBundle "Shougo/vimproc"
NeoBundle "lervag/vimtex"
NeoBundle "Shougo/vimshell.vim"
NeoBundle "itchyny/lightline.vim"
call neobundle#end()
" Required:
filetype plugin indent on
" 未インストールのプラグインを確認
NeoBundleCheck
"-------------------------
" End Neobundle Settings.
"-------------------------
これで、vimを立ち上げるとプラグインのインストールが始まる。
・quickrunの設定
以下をvimrcに追加する。
" ここから
let g:quickrun_config = {}
let g:quickrun_config={'_': {'split': ''}}
set laststatus=2
set t_Co=256
" runner を vimproc に設定
" 更新時間も設定しておく
let g:quickrun_config = {
\ "_" : {
\ "outputter" : "multi:buffer:quickfix", \ "outputter/buffer/split" : ":top 8sp", \ "runner" : "vimproc", \ "runner/vimproc/updatetime" : 40,
\ }
\}
let g:quickrun_config["tex"] = {
\ "command" : "tex2pdf.sh", \ "cmdopt": " ", \ "exec": "%c %o %s" \ }" ここまで
これで、\r を打ち込むとtex2pdf.shが実行される。実際にはlatexmkが動いて、自動で必要回数コンパイルしてくれるので便利。
さて、ついでによく使うので以下もvimrcに追加。
カッコの一文字目を入れると閉じカッコ補完と<++>を追加。
<++>はCTL+nで移動できるようにした。
その他\beginで補完、\fracで補完。
"挿入モードでのキーマップ
inoremap <C-h> <Left>
inoremap <C-j> <Down>
inoremap <C-k> <Up>
inoremap <C-l> <Right>
inoremap <Esc> <Esc>:w<CR>
inoremap [ []<Space><++><Esc>5hi
inoremap ( ()<Space><++><Esc>5hi
inoremap { {}<Space><++><Esc>5hi
inoremap " ""<Space><++><Esc>5hi
inoremap ' ''<Space><++><Esc>5hi
inoremap < <><Space><++><Esc>5hi
inoremap $ $$<Space><++><Esc>5hi
inoremap <C-n> <Esc>/<++><CR>4xi
inoremap \begin \begin{}<CR><++><CR>\end{<++>}<CR><++><Esc>3k$i
inoremap \frac \frac{}{<++>}<Space><++><Esc>11hi
"コマンドモード でのキーマップ
nmap <C-n> <Esc>/<++><CR>4xi
さて、ついでに現在のvimrcをさらす。あるサイトによれば「男は黙ってvimをフルスクリーン」だそうだ。渋い。
"vimrc設定
set tabstop=2
set shiftwidth=5
set number
set autoindent
set fileencodings=iso-2022-jp,utf-8,euc-jp,shift-jis,jis,ucs2le,ucs-2,cp932
set history=1000
autocmd BufEnter * silent! lcd %:p:h
let $TODAY = strftime('%Y%m%d')
"行頭から前行末へ移動
set whichwrap=b,s,h,l,<,>,[,]
"挿入モードでのキーマップ
inoremap <C-h> <Left>
inoremap <C-j> <Down>
inoremap <C-k> <Up>
inoremap <C-l> <Right>
inoremap <Esc> <Esc>:w<CR>
inoremap [ []<Space><++><Esc>5hi
inoremap ( ()<Space><++><Esc>5hi
inoremap { {}<Space><++><Esc>5hi
inoremap " ""<Space><++><Esc>5hi
inoremap ' ''<Space><++><Esc>5hi
inoremap < <><Space><++><Esc>5hi
inoremap $ $$<Space><++><Esc>5hi
inoremap <C-n> <Esc>/<++><CR>4xi
inoremap \begin \begin{}<CR><++><CR>\end{<++>}<CR><++><Esc>3k$i
inoremap \frac \frac{}{<++>}<Space><++><Esc>11hi
"コマンドモード でのキーマップ
nmap <C-n> <Esc>/<++><CR>4xi
"---------------------------
" Start Neobundle Settings.
"---------------------------
" bundleで管理するディレクトリを指定
set runtimepath+=~/.vim/bundle/neobundle.vim/
" Required:
call neobundle#begin(expand('~/.vim/bundle/'))
NeoBundleFetch 'Shougo/neobundle.vim'
"追加のプラグインは以下へ"
" neobundle.vim を使用しているなら
NeoBundle "thinca/vim-quickrun"
NeoBundle "Shougo/vimproc"
NeoBundle "lervag/vimtex"
NeoBundle "Shougo/vimshell.vim"
NeoBundle "itchyny/lightline.vim"
call neobundle#end()
" Required:
filetype plugin indent on
" 未インストールのプラグインを確認
NeoBundleCheck
"-------------------------
" End Neobundle Settings.
"-------------------------
let g:quickrun_config = {}
let g:quickrun_config={'_': {'split': ''}}
set laststatus=2
set t_Co=256
" runner を vimproc に設定
" 更新時間も設定しておく
let g:quickrun_config = {
\ "_" : {
\ "outputter" : "multi:buffer:quickfix", \ "outputter/buffer/split" : ":top 8sp", \ "runner" : "vimproc", \ "runner/vimproc/updatetime" : 40,
\ }
\}
let g:quickrun_config["tex"] = {
\ "command" : "tex2pdf.sh", \ "cmdopt": " ", \ "exec": "%c %o %s" \ }
"vimrc設定終わり
291びぼーろく; 答えはすぐ目の前に
一気に進むと良いな。
引っ越しはなんとか進行中。
後三週間ほどで新居に引っ越す。楽しみ。
さて、ハーフマラソンに思い切って登録した。
ここまで1年ほど。長かった...。まずは完走できることを目標に頑張る。
せっかくなのでランニングシューズも購入。
おかげで、20kmぐらいだとあまり痛くなくなったような気がする。
気のせいかもしれんけど...。
290びぼーろく; 肩当て
一大転機といえよう。
でもなれるまで時間がかかりそう。
さて、debian 8でdvdを再生していると
libdvdread: Can't seek to block xxxxxxxx
と言われて途中で再生が停止する。色々試したけど、手動でdvdをマウントするとなぜか最後まで再生できた。
設定を見てみると、自動マウントされないようにしていた。
dfで情報を見てみると、マウントされているにも関わらずファイルが見えない。
謎だけど、とりあえずは自動マウントするように変えて対処。
...でうまくいくと思ったらやっぱり不安定。
結局はrootでマウントしてから再生すると最後まで見れた。
よくわからないのでどうしたものだろうかと悩む。
744びぼーろく; どうやら昨日が
バッハの誕生日だったらしい。おめでとうございます。
-
ちょっと迷ったのでメモ。 基本的な方法としては音ズレしている動画から音声ファイルと無音の動画ファイルを作成し、再結合する時に音もしくは映像を遅らせて結合する。(もっとうまいやり方があるかもしれないけど...) ffmpeg -ss 5.4 -i source.m...
-
latexで今までヤング図 (young tableaux) 書くことになったのでその導入メモ。 youngtab.styが必要なのでまずはそのインストールから。 debian8 (jessie)では texlive-science に含まれているらしいのでいつもどおり...
-
maximaから移行するにあたって色々と読み替え。pythonでは楕円関数はscipyに入っているらしい。あまり情報がないのでメモ。まず楕円関数は$y={\rm sn}(u,k)$は次の楕円積分の逆関数として定める: \[u=\int_0^{\arcsin(y)} {\rm d...