bcで指数表示

2012/03/13未分類import
bcで10のx乗を計算したい場合*1,次のように入力する.
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

*1 : 『注意』で追記したとおり,xは実数です.

注意(2024/05/25追記)

コメントをいただきましたが,情報が足りませんでした.
上のxは整数とは限りません.実数です.整数であれば,ご指摘の通り“10^11”でも動作します.

また,“e(l(10)*x)”を実行するにはbcの実行時に“bc -l”として数学ライブラリを読み出さなければなりません.
$ bc -l
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
10^11
100000000000
e(l(10)*11.5)
316227766016.83793316924633719948
e(l(10)*11)
99999999999.99999999120939984719
quit
もし参照される方がいたら,ご注意ください.
それにしても,10年以上前の記事……全く覚えていない……….
しかも,エゴサやったら『bc 指数』でGoogle検索トップに出てくる!
こんなメモ書きが上位に出てくるって,bcは相当なマイナーなのでしょう多分(普及してほしいけど).

vimで折畳みを使う

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

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

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

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

vimでsyntaxを追加する

2012/03/02未分類import
私が使っているvimでは,Visual BasicまたはVisual Basic .NET(拡張子vb)のsyntaxが有効になっていなかった.
これを有効にするにはgvimrcに次の行を追加する.
au BufNewFile,BufRead *.vb			setf vb
この行のうち,"*.vb"が対応する拡張子の指定箇所,"setf vb"が読み込むsyntaxファイルの指定(ファイル名はvb.vim)である.
ただし,これはVisual Basic用のsyntaxである.
今回編集したいのはvb.net以降のソースコードなので,syntaxファイルをvbnet.vim: Syntax highlighting for VB.NET から取得し,
vbnet.vimを"vimのインストール先/runtime/syntax"以下に置いてから,次のようにgvimrcの先程の行を編集する.
au BufNewFile,BufRead *.vb			setf vbnet
これで,Visual Basic .NET系のソースコードのsyntaxを一応表示できるようになった.