その他のTips。
- Inkscapeで描いたSVGをWebページに埋め込んで操作する
- Windows: PuTTY + Cygwin環境を作る
- LaTeX: subfigureコマンド
- LaTeX: 表などのセル内を上揃えにする
- Java: 初期化済み無名配列を生成する
- ffmpeg: Windows Media Playerで再生できる形式へ変換
- Mozilla Thunderbird: タグ付けの仕組み
- WinXP:起動時に自動的に実行されるプログラムをコントロールする
- LaTeX:LaTeX Error:Too Many unprocessed float
- Win2000/XP:TCP/IP設定切り替えバッチ
Inkscapeで描いたSVGをWebページに埋め込んで操作する †
- SVGをWebページに埋め込むには、例えばjQuery SVG pluginを使う。
- ただし、Inkscapeはfillやopacityなどのパラメータをstyle属性にCSS形式で保存するため、 そのままではjQuery SVGでパラメータを操作することができない。
- Inkscape 0.48では保存する際に「最適化SVG (optimized SVG)」を選択可能であり、
これを使うとstyle属性の内容を個別の属性に展開できる。
- "styleをXMLにする"オプションを有効にすればいい
- 参考: Is there a way to avoid CSS style attributes? - Inkscape Forum
Windows: PuTTY + Cygwin環境を作る †
概要 †
- 普通のCygwinはコマンドプロンプトの上に乗っかる形で動作するが、どう考えてもコマンドプロンプトは使いにくい。
- 高機能で使い慣れたターミナルクライアントからCygwinを操作できたら非常にいい。
- Poderosaというターミナルクライアントもあるが、ここではPuTTYからCygwinを操る。
CygTermのセットアップ †
- CygTermはcygwinのフロントエンドで、Telnetサーバとして振る舞ってターミナルクライアントとの中継を行うみたい。
- http://www.dd.iij4u.or.jp/~nsym/cygwin/cygterm/ にアクセスし、 tar ball (cygterm107.tgz)をダウンロードする。
- 以下のコマンドでインストール。(makeとgcc4が必要なので別途cygwinでインストールしておく)
$ tar xzf cygterm107.tgz $ cd cygterm107 $ make $ mkdir ~/bin $ make install
- cygterm.exeとcygterm.cfgが~/binにインストールされるが、 これはどこにおいても多分差し支えない。
- cygterm.cfgをいじる。
TERM = "[Path to putty.exe]" -load "cygterm" -telnet %s -P %d TERM_TYPE = xterm PORT_START = 20000 PORT_RANGE = 40 SHELL = /bin/bash -i -l ENV_1 = MAKE_MODE=unix ENV_2 = HOME=/home/[Your username] ENV_3 = SHELL=/bin/bash
- "C:\cygwin\bin"をWindowsの環境変数PATHに追加する。 こうしないと"cygwin1.dll"を見つけられず、cygterm.exeを起動できない。
PuTTYのセットアップ †
- PuTTYの設定を以下のように行い、"cygterm"の名前でセーブしておく。
- [Terminal] - [Line discipline options], Local echo : Force off
- [Terminal] - [Line discipline options], Local line editing : Force off
- [Terminal] - [Keyboard] - [Change the sequences sent by:], The Backspace key : Control-H
- [Window] - [Translation], Character set translation on received data : UTF-8
- あとはcygterm.exeを起動すればOK。
参考 †
LaTeX: subfigureコマンド †
- 参考: subfigureパッケージ同梱のヘルプ
subfigureパッケージを使うと、figure環境内でsubfigureコマンドを使える。 これはfigure環境内に複数の図を出力するもので、"図1(a)"とか"図1(b)"とかを出せる。 以下のようにして使う。
\begin{figure}[t] \centering \subfigure[]{ \includegraphics[clip, width=5cm]{fig1.eps} \label{fig:1} } \hfil \subfigure[]{ \includegraphics[clip, width=6cm]{fig2.eps} \label{fig:2} } \caption{Sample figures. \subref{fig:1} sample figure 1, \subref{fig:2} sample figure 2.} \label{fig:sample} \end{figure}
普通の\refでsubfigureのlabelを参照すると2(a)のようになる。 (a)とか(b)とかのみを取り出したい場合、\subrefを使う。
LaTeX: 表などのセル内を上揃えにする †
tabular環境なんかでセルの内部を上揃えにするには
\begin{tabular}[t]{...}
として、tオプションを加える。
minipage環境でも有効。
Java: 初期化済み無名配列を生成する †
例えば、
public void hoge_func(double [] args)
のように、引数に配列をとる関数を呼び出す場合を考える。
一つのやり方としては、こんな感じ。
double [] array = {1.0, 2.0}; hoge_func(array);
このように{}を使った初期化を使って配列を生成し、
hoge_func
に渡す。
しかし、中間変数array
が今後の処理で使われないこともままあることかと思う。
そういう時は下のようにして初期化済みの無名配列を生成して渡すとよい。
hoge_func(new double[]{1.0, 2.0});
ffmpeg: Windows Media Playerで再生できる形式へ変換 †
表題のとおり。 いろいろ試したが、ビデオコーデックにはmsmpeg4系を、 オーディオコーデックにはwma系を使えばいいようだ。
例えば
$ ffmpeg -i in.avi -sameq -vcodec msmpeg4v2 -acodec wmav2 out.wmv
Mozilla Thunderbird: タグ付けの仕組み †
Mozilla Thunderbird 2.0 にはGmailのようにメッセージにタグをつける機能が搭載されている。
メッセージとタグの関連付けはX-Mozilla-Keys
というメールヘッダで行っているようだ。
X-Mozilla-Keys: (タグ識別子1) (タグ識別子2) ...
タグ識別子は基本的にタグの名前そのものが使われるようだ。 日本語のタグはなんだかよく分からない方法でエンコードされている。
単なるテキスト情報なので、Perlなどを使ってタグの一括置換なんかは簡単にできる。 が、X-Mozilla-Keysヘッダが基本的に全長80バイトに設定されているなど、 ちょっと怪しげな仕様があるみたい。
詳しくは以下を参照。
WinXP:起動時に自動的に実行されるプログラムをコントロールする †
Windowsでソフトウェアをインストールすると、たまに起動時に特定のプログラムが自動的に実行されるようになる。 これらの中には必要不可欠なものもあれば、まったく必要のない(かつセンスのない)プログラムも多く、そういうのは自動起動されないようにしたいところ。
「プログラム」 - 「スタートアップ」フォルダ内にプログラムへのショートカットが入っているだけならまだ簡単だが、レジストリに設定されている場合がほとんどである。
この場合、「ファイル名を指定して実行」からmsconfig
を実行すると設定できる。
LaTeX:LaTeX Error:Too Many unprocessed float †
細かい図をいっぱい作りすぎたりしてLaTeX Error:Too Many unprocessed float
ていうエラーが出たら、適当なタイミングで
\clearpage
としてやればよい。フロートオブジェクトが全て出力される。
Win2000/XP:TCP/IP設定切り替えバッチ †
ノートPCで複数のLAN環境を利用する場合、それぞれの環境に合わせてTCP/IPの設定を手動で変えるのはかなり面倒。いや、手間はそれほどかからないけど、1日に何回もしなきゃいけなくなったりすると本当にめんどくさくなる。 Windows2000、XPにはnetsh
というコマンドがあり、それを使うとTCP/IP設定を割りと簡単に切り替えられる。
netsh
を用いて現在のTCP/IP設定をファイルに保存するには、次のコマンドを実行する。
netsh -c interface dump > 保存先ファイル名
保存したネットワーク設定ファイルを読み込んで現在の設定とするには、次のコマンドを使う。
netsh -f 読み込み元ファイル名
この二つのコマンドを使えば、TCP/IP設定をスムーズに切り替えられる。まず、切り替え候補となる設定を第1のコマンドにて全てファイル化しておく。あとは、それぞれのLAN環境にあわせて設定をファイルを選択し、第2のコマンドを実行すればよい。第2のコマンドをバッチファイル化しておいてデスクトップにでも置いておけば、ダブルクリック一発で設定を変更することが可能である。