ようこそゲストさん

Wiki 小さなそして広がっていく世界

vimでdiffを使う

未分類
編集ファイルを開いた上で,コマンドモードで次のコマンドを入力する."filename"が比較したいファイルの名前だ.
:vertical diffsplit filename
そうすると,色付けされた差分が縦(左右)分割で表示される.
"vertical"オプションをつけないと横(上下)で分割されて表示される.
おそらくverticalをつけた方が見やすいだろう(特に16:9のディスプレイを使っている場合は).

TeXで図をコード記述位置に強制的に出力する

未分類
platexでは普通,図の位置はコンパイラ任せである.
複数の図を続けて記述してしまったときなどは,
		\begin{figure}[htbp] %位置指定のオプション.here, top, bottom, page(フロートで章の最後へまとめて表示)
		\begin{center}
		\includegraphics[width=30zw,bb=0 0 1280 1024]{figure/}
		\captionsetup{margin=90pt}	
		\caption{説明文}
		\label{fig}
		\end{center}
		\end{figure}	
というような書式で書いた場合,章や節の最後にまとめて図が吐き出されるということが仕様である.
位置指定のオプションでとだけ指定しても失敗することが多いのである.
論文ならこれでも許容できるが,もう少しくだけた技術文書では読みづらくなり不便である.
今までは\clearpageで対応してきたのだが,もっとうまい手があるようだ.
プリアンブルで
\usepackage{here}
というパッケージを読み込み,
		\begin{figure}[H] %Hで強制的に記述した場所に図を出力できる.
		\begin{center}
		\includegraphics[width=30zw,bb=0 0 1280 1024]{figure/}
		\captionsetup{margin=90pt}	
		\caption{説明文}
		\label{fig}
		\end{center}
		\end{figure}	
というように「H」と位置指定のオプションを記述することで強制的にhereで図を出力できる.
このhereパッケージは最近のplatexのインストールパッケージ(少なくともWindows版には)に標準で入っているようだ.
ならば,使わない手はない.

bcで指数表示

未分類
bcで10のx乗を計算したい場合,次のように入力する.
e(l(10)*x)
これ以外の記法はない!
けど,計算結果をさかのぼれて,コピペができるのでbcは便利です.

以下に実行例を示す.
e(l(10)*11)
99999999999.99999999120939984719
e(l(10)*1)
9.99999999999999999992
e(l(10)*0)
1.00000000000000000000
e(l(10)*10)
9999999999.99999999920085453156
e(l(10)*-10)
.00000000010000000000

vimで折畳みを使う

未分類
以前から誤操作をしたときに「折畳みがありません」というエラーが出たことがあったので,
存在は知っていたが使ったことがなかった.試しに使ってみたら,非常に便利だった.
:set foldmethod=marker
という入力をすることで,マーカーを使用した折畳みが利用できるようになる.
初期設定ではマーカーは三重の中括弧である.
{{{
折畳みたい部分
}}}
というように記述すると,折畳みを利用できる.
TeXでは三重の中括弧は特にコメントアウトする必要はないが念のため,
%{{{
折畳みたい部分
%}}}
としておくとわかりやすい.上の「畳み込みたい部分」にカーソルを合わせコマンドモードで,
za
と入力することで,折畳みを閉じたり開いたりできる.
すべて折畳みたいときは,
zm
すべて開きたいときは
zr
と入力する.
TeXで注意しなければならないのは,数式環境を折畳みときだ.
数式中に意図せず三重の中括弧が含まれていることが結構あるので,その場合はそこで折畳みが終わってしまう.
適当に半角スペースをいれて折畳みに影響がないようにしておくと良い.

もっと手軽に折畳みをするには,
ビジュアルモードで「折畳みたい部分」を選択し,その状態で
zf
と入力する.こうすると勝手にコメントアウトつきの三重括弧が挿入され,折畳みが行われる.
折畳みたい部分の始まり%{{{
折畳みたい部分
折畳みたい部分の終わり%}}}
のように挿入してくれる.

table環境やarray環境で行間を変更する

未分類
table環境やarray環境で行間を変更したいことは間々ある.
そのときは変更したい環境の直前で\arraystretchコマンドを再定義する.
\renewcommand{\arraystretch}{1}
初期値は上の例のように1である.
間隔を1.5倍にしたければ1.5へ,0.5倍にしたければ0.5とすればよい.
変更したい環境が終わったら,この値を1に戻すようにしておくと良い.