2010/04/25

hyperrefを使うとページサイズがおかしくなる

TeXのはなし。

\documentclass[a4paper,12pt]{jsarticle}
と、A4で指定したはずのページサイズがなぜかおかしくなってしまう。
12ptを10ptに戻すとページサイズが正常になるとか、妙な挙動をする。
いろいろいじってみた結果、
\usepackage[ ... ]{hyperref} をコメントアウトするとページサイズが正常になり、
hyperrefがなにか余計なことをやっているらしいことが判明。

・・・前はこんなこと起こらなかったような気がするんだけど
最近、なにかhyperrefに変更があったんだろうか。

で、hyperrefを使わないわけにもいかないので
なにか対処法がないものかとググってみたところ
hyperrefのオプションに "setpagesize" というのがあって、
いつのまにかデフォルトの値がtrueに変更されたらしい。
http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?hyperref#notetext_1
(Ctrl+Fでsetpagesizeを検索しないとなかなか見つからないかも...)
つまり、オプションに "setpagesize=false" を追加すればいいようだ。

しかしなぜ、ハイパーリンクを扱うパッケージで
ページサイズなんぞをいじってるのだろうか・・・?

結論 :
hyperrefを使うとページサイズがおかしくなる場合、
hyperref のオプションに "setpagesize=false" を追加する。
\usepackage[setpagesize=false,...]{hyperref}

_______________________
2010.05.24 追記 :
すいません。訂正しました。
誤) "setpapersize"
正) "setpagesize"

2010/03/28

メタセコの文字を作るツール

誰も使ってないと思いきや、
最近、急にアクセスが増えた模様。
(まあ、それでもたいした数ではないですが。)
意外と、需要がないこともないようで。
String MQObject Builder

なんでアクセスが急に増えたのか不思議に思って
ちょっとググってみたら、
「ぴ」が、すごい回ってたww

だいぶ前に作りっぱなしのままなので、
ここらでちと、作り直してみるのもいいかも。

2010/03/17

GLSharp更新しました。

文字列描画周りのバグを修正しました。
今まで気づかなかったのだが、GDIフォントオブジェクトがリークしていた・・・orz

Font.ToHfont()
で取得したフォントオブジェクトのハンドルは、
自分でDeleteObject(...)で削除しないといけなかったのね・・・。

OpenTKのほうはBeta3がリリースされているけど、
試してみたら
レンダリングコンテキストの初期化でエラーになってしまったので
とりあえず、
GLSharpのほうはBeta2のままです。

あと、ジョイスティック周りのも、
すいませんがもうしばらくお待ちください。

2010/03/01

GLSharpを更新

GLSharpを更新しました。GLSharpを更新しました。

今回は、
ふと思いついたので、
文字列の描画周りの構造をリファクタリングして、
色の変更などができるようにしてみた。

こんな感じ

あと、FPSTimer。
前から、なんかカクカクしてて不安定っぽいな、
とは思っていたので、
YaneSDKから拝借したのをほぼそのままだったのを
いろいろ手を加えてみた。

カクカクしてた原因は、
Thread.Sleep()だったらしい。
指定した時間とこれが実際に待機してる時間が結構違ったりするので、
あんまり当てにしすぎてはいけないらしい。
自分なりにそのあたりを何とかしてみたのだけれど、
前よりもだいぶましになったのではないかと。

2010/02/09

Joel on Software





今回はこれ。
「Joel on Software」
と、その続編
「More Joel on Software」

ソフトウェアに関する
開発やらビジネスの話やら、
いろんなテーマについてのことが
ユーモアに富んだ文章で書いてあって、
ソフトウェアの価格とちょっとした経済学の話なんかも
ときおりまじる冗談に笑いながら読めてしまう。
いろいろと現実的で実用性のある話も多く、
とても面白かった。

ソフトウェアに関わっている人であれば
読んでおいて損はないエピソードが
たくさん詰めこまれている。

ソフトウェアの「コンストラクション」以外の部分について
広く浅く知ることができるという意味では、
以前に紹介した「Code Complete」
と併せて読んでおくのも、
いいかもしれない。

2009/12/10

6月と10月?

うちのホームページのほうの
GLSharpのページのアクセスログ。



 まぁ、だいたい月に500~600ぐらいのアクセスがある様子。

が、
よくよく見ると、明らかに周期性がある。
なぜか毎年6月と10月にピークが。

・・・雨の日と秋の夜長はプログラミング?

GLSharp更新しました。

久々にGLSharpを更新しました。
OpenTK 1.0 Beta 2 が公開されたので、
それに対応してみました。
このバージョンから、
OpenTK.dllには修正を加えずに
本家サイトで公開されているものをそのまま使用してます。
でも、GLUのラッパーの部分だけは
「OpenTK.Compatibility.dll」のソースコードから
該当部分をひっこぬいてきて若干の修正を加えて、
「OpenTK.GLU.dll」として作ってみました。
(理由は後述。)

OpenTK 1.0 の Beta がとれて
正式バージョンになったら、また更新する予定。

OpenTK はバージョン1.0になって
ずいぶんと変わったようだ。
OpenGL ESにも本格的に対応しているようだし、
OpenCLとかいうのにも対応したようだ。
(まぁ、ESとかOpenCLはとくに使わないけど・・・。)

肝心のOpenGLについては、
バージョン3.2までしっかり対応している様子。
だけと、
GLUが「OpenTK.dll」から分離されて
「OpenTK.Compatibility.dll」に移動され(OpenTK.Graphics.Glu)、
さらにObsolete属性がつけられていて、
Gluクラスを参照するたびにコンパイラの警告が
"Use OpenTK math function instead."
(かわりにOpenTKの数学関数(たぶんOpenTK.Math.Functionクラスのこと)をつかってけろ)
というメッセージとともに出る。
でも、
OpenTK.Math.Functionクラス(これもObsolete属性付き)や
OpenTK.dllのほうのOpenTK.Functionクラスには
Gluの関数の代わりになるような機能は全くない・・・。