Home > Archives > 2006年11月

2006年11月

今日の One Liner - 名前変更,ピリオドをハイフンに.

Metapost で生成したファイルを完全な eps に変換しするのに huga.102.eps とかの名前にしてしまう.それを platex を使う場合はこれで問題ないのだが,pdflatex を使った場合には拡張子が分からんと文句をいわれる.ので,huga.102.eps とかを huga-102.eps に直す bash-only の One Liner:

for i in *.*.eps; do j=${i%.eps};k=${i%.*.eps}-${j#*.}.eps; echo mv $i $k; mv $i $k; done

ps2pdf で eps の BoundingBox に pdf のサイズを合わせる

普通にやると eps 内の papersize という記述に基づいて pdf の MediaBox を決めてしまうらしいので,BoundingBox に合わせて MedaiBox を指定させるには -dEPSCrop のオプションをつけるとのこと.

ps2pdf -dEPSCrop huga.eps

ほかに EPSFitPage というのもあるらしいが良く分からず.

TeX で繰り返し

\@whilenum, \@whiledim, \@whilesw ないし \@for とか使えば出来るけど… 使い勝手が悪いので手前で \for を定義して使ってみる.

\newcounter{forcnt}
\newcounter{stopcnt}
\makeatletter
\newcommand{\for}[3]{%
\setcounter{forcnt}{#1}%
\setcounter{stopcnt}{#2}%
\stepcounter{stopcnt}%
\@whilenum\value{forcnt}<\value{stopcnt}\do{%
{#3}%
\stepcounter{forcnt}}%
}
\makeatother

これで

\for{4}{7}{huga[\theforcnt]}

とかすると

huga[4]huga[5]huga[6]huga[7]

とかになる.

連番の画像を \includegraphics で読み込んでやるときに有効かも.Beamer とかで.

MoinMoinWiki を入れてみる

http://moinmoin.wikiwikiweb.de/ からダウンロード. いまのところリリースバージョンのアーカイブは moin-1.5.6.tar.gz らしい.アーカイブを解凍後 setup.py を実行してファイル群をインストール.(python-dev が必要とのこと)

 python -v setup.py --quiet install --record=install.log

install.log を見るかぎり主に /usr/share/moin/ と /usr/lib/pythonXX/site-packages/MoinMoin/ にファイルをコピーするらしい.次にインストールされているかのテスト.python 起動して MoinMoin を読ませる.

> python
Python 2.3.5 (#2, Sep 11 2005, 02:13:21)
[GCC 3.3.5 (Debian 1:3.3.5-13)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MoinMoin
>>>

問題なければ良し.あったら python のライブラリのサーチパスがおかしいとか.

そしたらインスタンスの生成をする.

export PREFIX=/usr/                        # prefix
export SHARE=$PREFIX/share/moin            # installed directory
export WIKILOCATION=$SHARE                 # diretcory to which a new instance is created
export INSTANCE=mywiki                     # name of new wiki instance
export USER=www-data                       # username of http-serevr
export GROUP=www-data                      # grop of http-serevr
cd $WIKILOCATION
mkdir $INSTANCE                            # make a directory for this instance
cp -R $SHARE/data $INSTANCE                # copy template data directory
cp -R $SHARE/underlay $INSTANCE            # copy underlay data directory
cp $SHARE/config/wikiconfig.py $INSTANCE   # copy wiki configuration sample file
chown -R $USER.$GROUP $INSTANCE            # change owner
chmod -R ug+rwX $INSTANCE                  # USER.GROUP may read and write
chmod -R o-rwx $INSTANCE                   # everybody else is rejected
cd $WIKILOCATION/$INSTANCE
mkdir cgi-bin
cp $SHARE/server/moin.fcg cgi-bin
chown -R $USER.$GROUP cgi-bin
chmod -R ug+rx cgi-bin
chmod -R o-rwx cgi-bin

んで,インスタンスの cgi-bin の中の main.fcg を修正.wikiconfig.py へのパスを追加.

sys.path.insert(0, '..')

さらに,wikiconfig.py を修正.data_dir, data_underlay_dir を moin.fcg からの正しいパスにする.ついでに画像ファイルとかのURLのprefixを正しく設定(httpd の alias どおりに).言語は日本語に.Wiki の名前とかロゴとかの設定も wikiconfig.py でするらしいが後回し.

    data_dir = '../data/'
    data_underlay_dir = '../underlay/'
    url_prefix = '/moinmoin'
    language_default = 'ja'

あとは,http サーバのほうで alias の設定などをしておく.lighttpd 使うので /etc/lighttpd/lighttpd.conf の alias.url にエントリを追加して,fastcgi.server に FastCGI の設定を書いておく(プロセスは自動起動で).

alias.url= (
    "/moinmoin/" => "/usr/share/moin/htdocs/",
)
fastcgi.server = (  "/mywiki" =>
  (( "docroot"   => "/",
     "min-procs" => 2,
     "max-procs" => 2,
     # allocate successive port numbers for each process, starting with "port"
     "bin-path"  => "/usr/share/moin/mywiki/cgi-bin/moin.fcg",
     "host"      => "127.0.0.1",
     "port"      => 2200,
     "check-local" => "disable",
     "broken-scriptfilename" => "enable",
  ))
)

これで /mywiki でページがみれるようになっているはず.画像とか css がおかしかったら alias が正しくないのかも.

学んだこと

「Mac でウィンドウを閉じてもアプリケーションは終了しない.」

いや,動いてますよと何処か分かりやすい所に表示しててくださいよ.というか,巨大な MDI な気分なのは肌に合わない.

ところで,MAC MDI でググると MAC MIDI に訂正される.はぁ

Home > Archives > 2006年11月

Search
Feeds

Page Top