No Such Blog or Diary

«Prev || 1 | 2 | 3 |...| 1240 | 1241 | 1242 |...| 1275 | 1276 | 1277 || Next»

TeX で書いた式を画像に落とす

TexPoint でやっていることをスクリプトにまとめてみた.tex2img.tex で画像に落としたい式とかを書いて下のスクリプトを実行するれば,tex -> dvi -> ps -> bmp(png) と画像が出来上がるという仕組み.pLaTeX, Ghostscript が必要になる.

#!/bin/bash
 
BASE="tex2img"
TEXFILE="$BASE.tex"
DVIFILE="$BASE.dvi"
PSFILE="$BASE.ps"
BBFILE="$BASE.bb"
RES="1200"
 
#DEVICE="pngmono"
#OUTFILE="$BASE.png"
 
DEVICE="bmpmono"
OUTFILE="$BASE.bmp"
 
TEXCOM="platex $TEXFILE"
PSCOM="dvipsk -D $RES -E -o $PSFILE $DVIFILE"
BBCOM="gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=bbox $PSFILE"
 
echo "Running $TEXCOM"
$TEXCOM
 
echo "Running $PSCOM"
$PSCOM
 
echo "Running $BBCOM"
$BBCOM > $BBFILE 2>&1
BB=`cat $BBFILE | grep '%%BoundingBox:'`
echo "Found bounding box $BB"
 
BX=`echo $BB | awk '//{print $2}'`
BY=`echo $BB | awk '//{print $3}'`
BX2=`echo $BB | awk '//{print $4}'`
BY2=`echo $BB | awk '//{print $5}'`
 
X=`expr $BX2 '-' $BX`
X=`expr $X '*' 300`
X=`expr $X '/' 18`
Y=`expr $BY2 '-' $BY`
Y=`expr $Y '*' 300`
Y=`expr $Y '/' 18`
 
IMGCOM="gswin32c  -q -dNOPAUSE -dBATCH -sDEVICE=$DEVICE -r$RES -sOutputFile=$OUTFILE -g${X}x${Y} -c -$BX -$BY translate  -q $PSFILE"
 
echo "Running $IMGCOM"
$IMGCOM

ファイルにして置いておこう.

screen をもう一度

すぐ忘れるので screen の使いそうなコマンドまとめ.コマンドは ^A のあとに

?         ヘルプ表示
 
^C or c   新しいスクリーン作成
^N or n   次のスクリーンへ移動
^P or p   前のスクリーンへ移動
^A or sp  前回作業したスクリーンへ移動
0 ~ 9    スクリーン番号 0 ~ 9 へ移動
"         スクリーンを選択して移動
^W or w   スクリーン一覧
 
S         フレーム分割
^I or tab 次のフレームへ移動
X         今のフレーム削除
Q         今のフレーム以外を削除
 
[         コピー
]         ペースト
 
d         デタッチ(screen -r で復帰)

いいかげん覚えたいなぁ.

発表時間考えろよな

講義が輪講形式で一回に複数人が担当して論文を読む.今日の担当者は私を含めて5人で,私は最後を担当する予定だった.しかし,担当の論文は少々数学的にとっつきにくい内容だったため,前半の人間の発表が持ち時間の倍以上(30分超え)になったり.んで,一人前がもう時間が無いにもかかわらずたらたらたらたら...... 時間がねーんだからさっさとしゃべれ! 本質的でない部分は飛ばして説明しろ! だいたいにしてPCがプロジェクタに正常につながるかどうかを先にチェックしとけ! (ここで正常につながっていたらその5分間に私の発表を終えられた) 結局時間切れとなり,彼らのおかげで私の発表は来週に持ち越されることに.来週の頭に私が発表しても誰も先週のことは覚えているわけが無い.最後の結論部分だけを来週に回してもまったく持って無意味な発表にしかならない.

これまでの他人の発表を見ていれば時間が厳しくなることは分かっていたのだから,発表時間を考えてスライド作って発表時間もある程度フレキシブルにするべきだ.もうちょっと頭使おうよ.まったく.

Webカメラ

なんとなく Web カメラを購入してパソコンにつけてみた.MSN Messenger とか文字で説明できないことが説明できるのはありがたい.とりあえず,これに玄箱とかくっつけて監視カメラにして遊んでみようかなぁ.

テンプレート版の if

テンプレートでプログラムするための部品として if に相当する Select なるものがある.これを使うと then 節と else 節の一方のみの評価ができるので安全.ためしに Collatz 予想のやつで遊んでみた.

template<bool, typename T, typename F>
struct Select{
    typedef T val;
};
template<typename T, typename F>
struct Select<false, T, F>{
    typedef F val;
};
template <int n>
struct Collatz {
    const static int val = Select<(n&1)==0, Collatz<n/2>, Collatz<3*n+1> >::val::val + 1;
};
template <>
struct Collatz<1> {
    const static int val = 0;
};
int main(int argc, char *argv[])
{
    cout << Collatz<3>::val << endl;
    return 0;
}

ICPC本番

本日は ICPC 国内予選本番だった.今年は6問全てが解くことのできる問題だったので,6問解けば確実の5問を早く解いたものの勝ちと予想された.結果としてはほぼ予想通りで,6問解いたのが1位で5問を解いたのが残りの二枠を埋めた.うちらのチームは最大で4問しかといてなかったので,打ち上げは残念会に.しかし,B3チームがかなり優秀だと分かったので来年こそは通過してもらいたいなぁ.

«Prev || 1 | 2 | 3 |...| 1240 | 1241 | 1242 |...| 1275 | 1276 | 1277 || Next»
Search
Feeds

Page Top