技術

LaTeXでのNomenclatureの入れ方

最近は修論を書いたり寝たりしてる。修論は卒論と同じくTeXで書いているんだけど、いろいろ新しくしてるところもある。使ってるstyは主なところだと、

  • mediabb*1
    • jpg, png, pdfなどをそのまま貼ってくれるやつ。epsにしなくていいので便利。
  • amsmath,amssymb,amsfonts
    • 数式でeqnarrayを使わなくてよくなる。主にalignを使う。
  • comment
    • TeXで%を使わない複数行コメントを可能にする。
  • listings*2
    • ソースとかをそのまま載せられる
  • nomencl
    • Nomenclatureを自動生成してくれる。
  • hyperref
    • pdfにしたときにリンクつきのしおりを自動生成してくれる。

とかである。今回、nomenclを使ったのでそれの導入の仕方を書いてみる。サイト*3 *4を参考にしつつ使った。

まず、CTAN*5のサイトからファイルを落としてきて解凍する。そうするとファイルが見つかるので、コマンドラインからコンパイルする。

すると、nomencl.styがそのフォルダに作られる。これをstyファイルが置いてあってパスが通ってるディレクトリにいれるか、.texファイルがあるところに置いておく。その状態で、.texファイルのプリアンブルに、

と書いて、さらに\begin{document}以降のNomenclatureを反映させたいところに

と書き、実際にその記号を定義したいところには

というように書く。そして、TeXをコンパイルするときは、1回目と2回目の間におまじないを次2行目のように書く。ここで、index.texがコンパイルしたいtexファイル。

(-kanji=eucは文字コードがEUCのときにWindowsでコンパイルするオプション、-shell-escapeはmediabbのために必要なオプション)

すると、できたpdfにはNomenclatureができている。デフォルトでの見た目が以下のよう。

f:id:salamann:20110127184411p:image

Nomenclatureって日本語でなんていうんだろ。記号一覧?記号表?引き続き修論を書こう。

a Testing of Pyinstaller1.4 Installation on Ubuntu10.04

pythonで書いたスクリプトは、普通はスクリプトのまま実行する。ただそれだと他の人が使う場合に、そのスクリプトでimportされているモジュールやパッケージをインストールしなければならないので、障壁が高くなる。あと、自分がroot権限を持ってない場所ではそれらのライブラリのインストールができない。気がする。

なので、それを実行ファイルの形式で固めればいいじゃん!という発想なのが、

  • Pyinstaller
  • cx_Freeze
  • Py2exe

など。主にlinuxで使うので、Pyinstallerを選んだ。インストールの仕方を書いてみる。OSはUbuntu10.04。

  1. ダウンロード

http://www.pyinstaller.org/

から落としてくる

  1. 展開

解凍する。

  1. 必要なライブラリを入れる

ここで詰まった。最初エラーが出てたのでググったら解決方法が載っていてよかった。英語でググろう。apt-getでいろいろ入れる。

  1. makeする

エラーが出なければOK。出たらエラーでググる。

  1. configureをする

2つ上の最初のディレクトリに戻って、

これでsetupは終了。パスを通していれば、あとは固めたいpythonスクリプトのところで、(この-Fは一つの実行ファイルにまとめる、という意味)

ってやるとhoge.specってのができるので、それを

ってやることでdistディレクトリとbuildディレクトリができてできあがり。

卒論英語発表+Python

今日は昼から英語で卒論の内容を発表した。英語のクラスのレベルが高く、そのクラス底辺レベルを常に争っている俺は正直ドキドキだった。ということであらかじめ用意したパワポを使ってとなりのM村さんの前で発表し、見てもらった。多少アドバイスをもらった。

昼にプレゼン。2番目という好打順。プレゼンするときって、パワポに書いた原稿(ノート?)を読む人が多い気がするけど、俺は何も見ずにガンガン喋った。日本語でプレゼンするときも原稿は見ないのだけれど、英語だと自分で喋ってる内容の文法ミスがリアルタイムでどんどん分かる。しかし訂正してても時間がなくなるので大声でどんどん喋った。

すばやく喋ったけど案の定パワポ枚数が多くて時間がはみ出した。質問が2つきた。1つめは「マッハ数1.7、2.0、2.2という3つだけをパラメタにしてるけど、それで十分なの?」を英語をペラペラ喋る女の子から受けた。2つめは「新しいことは?」的なのをひろきから受けた。どっちもたどたどしい英語で答えた。

感想。事前に見てもらったときより本番の方が堂々と喋れた。大声で喋ると自分自身にとってもフィードバック的に自信につながっていいのかもしれない。また、英語でプレゼンするときは常套句を10パターンくらい持っておくとよさげ。you can see…とかhere is…とかlet me…とか何回も言った気がする。あとでひろきと自分の発表のときに撮ってもらったビデオ見に行こう。変なやつが映ってるだろうと思う。

そういや髪切った。

ここ2日、卒論を書く手を止めて、実験の解析をさらに進めていた。卒論書くのはギリギリでもなんとかなるんじゃないか、それより書く内容を深めること、それから説明するための図面とかグラフとか、写真とかそう言うもののほうが重要なんじゃなかろうかと思って。(←安直)

というわけで解析するにはスクリプトだ、と思った。なんでかというと、まずgnuplotでグラフを書こうと思ったけれど、手動だとあまりにも面倒。スクリプトを書けばいいのだけれど、gnuplotにはfor文はない。ということでid:tkf41が執拗に進めるpythonでgnuplotジェネレータを書いた。このジェネレータで出したスクリプトをwgnuplotに渡して、グラフを数千枚書いた。どうやってそんなに見ればいいのだろう。

それをid:tkf41に添削してもらった、と思ったらさらされた。けれども問題が分かって良かった良かった。と思って調子に乗って、バズの支配周波数を取ってくるスクリプトを書いた。ただし、このスクリプトはid:tkf41が書いたもとのスクリプトが出してくれるFFTデータ専用だ。というかバズやってる学部生って日本では俺くらいだと思う。需要がなさそうだ。id:tkf41なら3分で書けそうだ。

ということで最初と最後をカットして、ある時間内での支配周波数とそのパワースペクトルをcsv出力してくれるスクリプト。最初は標準出力に出してたけれど。あと、pylabきれいなのでpylabでグラフを書きたい。あとid:tkf41は添削よろしく。

これからは研究室にいつまでも居座るのではなく、家に帰って時間の区切りを分けた方が絶対効率よくなると思って、はやく帰ることにした。今までだと夜になってから本領発揮みたいな感じだったから。やっぱ集中力大事だと思う。

ということでメリハリのある生活を気をつけつつ、卒論を書いていこうと思う。それにはまず写真・図を貼りまくることが重要だな。それに基づいて考えたことをどんどん書いていこう。そうすればいずれなんとかなるはずだ。