Today アクセスカウンター Yesterday アクセスカウンター

ホワット・ア・ワンダフル・ワールド

私は知識に何ものかを付け加え,また他の人々がより多くのものを付け加える手助けをした --- G.H.ハーディ

全記事一覧 << 2008/07 12345678910111213141516171819202122232425262728293031 2008/09 >>

プロフィール

あろは (alohakun)

  • Author:あろは (alohakun)
  • 若槻俊宏 (WAKATSUKI toshihiro)

    連絡先 : alohakun ___at___ gmail.com
    mixi : http://mixi.jp/show_friend.pl?id=182927
    twitter : http://twitter.com/alohakun

    abstract

    プログラミングという人間の知的行為を体系化し,単なる職人芸ではなく,サイエンスにするための研究をしています.

    具体的には,等価変換計算モデルに基づいた,仕様記述からのプログラム合成の研究をしています.

    もっと噛み砕くと,プログラムの正しさをどのように定式化し,どのような枠組みで,どのように変換を進めていけば,正しさを保証したまま,効率的なプログラムを手に入れることができるのか,ということについて研究しています.

    キーワード : equivalent transformation, computation model, programming paradigm, formal specification, program synthesis













    あわせて読みたい


    この日記のはてなブックマーク数


    スカウター : ホワット・ア・ワンダフル・ワールド


    Map









    FC2 BLOG RANKING

FC2カウンター

ブロとも申請フォーム

この人とブロともになる

tabular 環境で縦の破線を引く

2006/08/19(土) 23:54:10

日本の未来を担う,北大の優秀な同僚たちがちゃくちゃくとレポートを進めているなか,特に意味も無く GCC の rtx や enum machine_mode の定義を追いかけていたらこんな時間になってしまった今日この頃,みなさまいかがお過ごしでしょうか ?

死んでしまえ,俺っ… !

就職組の立派な人たちは,インターンシップが入るので,その前にレポートを終わらせないといけないのです.デッドラインが早い上に,資格試験の勉強して試験受けに行ったりもしないといけないし,もちろん研究も進めないといけない.そしてそれら学業の合間に面接等のための諸費用を捻出するためにバイトしまくったりと,みんなキャリアを積み,能力を磨き上げ,立派な社会の歯車になるべく日々がんばっているようです.本当にお疲れ様です.僕のような人間のクズにはとてもマネできません.

(僕は NEET 組なので,けっこう余裕です.人生とか将来とか,もうどうでもよいです.北大の寄生虫と呼んでください)

挙句の果てに,LaTeX でこういう表を書くにはどうすればいいんだろう ? とか思って,スタイルファイルとか無駄なところに凝り始めるしまつ… 一見賢明で冷静な判断のように見えるが,これは典型的ダメ人間のダメ回路.救えない… っ !

つまり,こういう表を tabular 環境で書きたかったわけだ (Yuta 氏のサイト : レポートの山より).


assignment.gif

サブネットの割り当て表




TeX なんていうバッドノウハウの塊,さっさと捨ててしまえ… ッ ! Word とか Excel とか oodraw とか,いくらでも文明の利器は存在するのに.もっとやるべきことはいくらでもあるだろうに.どうせ誰もちゃんと見ないのに.

… 前置きが長くなりすぎなので,いきなり結論から言うと,arydshln.sty というスタイルファイルを使えばできるそうだ (同じディレクトリに入れとけば OK だヨ).

# 私はここから arydshln.dtxarydshln.ins を取ってきて,tex arydshln.ins して sty ファイルとかを作りました.

| の代わりに,: を使えば,縦の破線が引けます.

一部だけ実線にしたいときは,\multicolumn{1}{c|}{} などしてごまかせば OK.

2 つの行を一つにまとめてセンタリングしてちょうど真ん中に文を表示したい ! とか考え始めると泥沼にはまるので忘れましょう.

# どうしてもやりたかったら,\usepackage{multirow} して,multicolumn の中に \multirow{2}{*}{総務部 192.168.10.192/27} とかを突っ込むという,けっこう無理やりなこと (LaTeX では日常茶飯事です) をすれば実現できますが…

まぁそんなこんなで,\hspace{3ZW} とか,テキトーな小細工を使ったりしてアレコレすると,こんな感じに… (本当は,表の各列を適切に分割した長さで揃える,ちゃんとしたやり方がある (はず…) tabularx とか ?)


tabularexample



ソースはこんな感じ (汚すぎです).

\begin{tabular}{ccl:r:r:r:r:r}
&& マスク長 / 25 & \hspace{3ZW}/26 & \hspace{3ZW}/27 & \hspace{3ZW}/28 & \hspace{3ZW}/29&\\
割当て IP && ホスト数 126 & 62 & 30 & 14 & 6&\\
\hline
192.168.10.0 & \multicolumn{2}{c|}{}&&&&\\
\vdots & \multicolumn{2}{c|}{情報管理部 (100 台)} &&&&&\\
\vdots & \multicolumn{2}{c|}{192.168.10.0/25}&&&&&\\
192.168.10.127 & \multicolumn{2}{c|}{}&&&&\\
\hline
192.168.10.128 & \multicolumn{3}{c|}{} &&&&\\
\vdots & \multicolumn{3}{c|}{研究開発部 (50 台)} &&&&\\
\vdots & \multicolumn{3}{c|}{192.168.10.128/26}&&&&\\
192.168.10.191 & \multicolumn{3}{c|}{} &&&&\\
\hline
192.168.10.192 & \multicolumn{4} {c|}{\multirow{2}{*}{総務部 192.168.10.192/27}} &&&\\
192.168.10.223 & \multicolumn{4} {c|}{} &&&\\
\hline
192.168.10.224 & \ldots & \multicolumn{2}{l}{192.168.10.231} & \multicolumn{3}{c|}{ネット管理部 192.168.10.224/29}&\\
\hline
192.168.10.232 & \ldots & \multicolumn{2}{l}{192.168.10.239} &\multicolumn{3}{c|}{サーバセグメント 192.168.10.232/29}&\\
\hline
192.168.10.240 & \multicolumn{5} {c|}{\multirow{2}{*}{バックボーン 192.168.10.240/28} } &&\\
192.168.10.255 & \multicolumn{5} {c|}{} &&
\end{tabular}

(ちなみに,講義中の演習問題の解答です)

挙句の果てに… PS ファイルの特定のページだけを取り出す方法 (psselect -pページ番号 src.ps dest.ps) を調べたり,png に変換してブログに貼り付けるために gimp をインストールするしまつ… どこまでクズをこじらせれば気が済むのやら.

あれ,何でだろう… おかしいよね,一日ずっと PC の前で作業してたのに,レポート本体は一ページも進んでないや.へへへ,バーロー.なんだか涙が止まらないや.

もう,本当に生まれてきてすいません ! 僕は社会の害悪です !!

参考サイト :

Home >[TeX] >[Packages] >[arydshln.sty]
tabular や array 環境で破線
〜こうすればできる(tex編・表関係)〜
13. 表組み、その 3

LaTeX は,間違えられるところは全て間違っているソフトウェアです.しかし,その最終出力の無駄な美しさ (だけ) を追求した 『男の世界』が,僕たちアウトローの心を捉えて離さないのである.乗り越えるべき壁がそこにある… ! 乗り越えるべきは 『男の世界』 それ以外では生きられぬ『道』


はたらいたらまけかとおもっているにーとにじゅうよんさいだんせい


今まで浪費した時間を考えたら負けだと思っている -- 穀潰し(22・アルカリ性)

良い子は Word と Excel という天下のマイクロソフトが作った素晴らしいオフィススィートソフトウェアを使って幸せになりましょう.間違ってもこの世界に入門してはいけません.取り返しがつかない貴重な青春が際限なく吸い取られていきます.後には潰しの利かなさ以外何も残りません.LaTeX 検定なんていう資格はこの世に存在しないのです.LaTeX ができても事務職には就けません.


にーとのせいかつ


(存在自体が無駄な管理人)
pLaTeX2εTB:0CM:0 このエントリーを含むはてなブックマーク | livedoorクリップ livedoorクリップ BuzzurlにブックマークBuzzurlにブックマーク newsing it!

表示的意味論の二重四角括弧の出し方,および latex のバッドノウハウについて

2006/05/23(火) 15:26:30

プログラム理論特論で,ちょこっと表示的意味論とかやりました.

表示 (denote) というテクニカルタームには,「記号が何かを指してるよ〜」というニュアンスがこめられているそうです.

たとえば π は,3.14 … というアレを表している,∞ は「無限」という数ではなく概念を表しているとか,そういう感じです (ちゃんと説明しようとすると異常に難しいので,テキトーにお茶を濁す w).

数学的にカチっと意味が定まる感じが,なかなか気分が良かったです.形式的体系って,パッと見よくわかんなくても,手を動かしていくと,本当にちゃんとプリミティブにまで落ちていくのが痛快です.Denotational semantics かわいいよ denotational semantics (via ヒビルテ (リンクを張ろうとしたら,今落ちてるみたいです)).

# まぁ,ドメイン (意味領域) が整数で,意味関数も逐次代入繰り返しという,極めて簡単なものしかやってないからそう感じたのでしょうが (たとえばλ計算みたいに,ドメインが複雑 (はいあーおーだー) になったら,エライコトになりそう).

ところで,レポートを書いていて,いきなりつまづきました (毎度毎度,前置き長すぎ w).

表示的意味論では,構文領域の要素 s (ようするに,文字列) と意味領域 D を,意味関数 M で写像することによって意味を定めるのですが,その際には,M [[s]] みたいな感じで,二重四角括弧で引数を囲みます.

# 通常の関数は,M(s) みたいなノリですが,「s は数学的対象ではなく,文字列 (形式文) だよー」というニュアンスを出したいそうです.

これって,latex でどうやって出すんだ ? と.

簡単に調べられると思ったら,けっこう難儀しました (検索できねー w).ようやく,以下のサイトで発見.

LaTex Tips


二重四角カッコ

表示的意味論やコンパイラの解説などで、ある式または項を解釈(コンパ イル)
する手続きを定義する際に、つぎのように二重の四角カッコが使われる。

C [[ f a ]] = apply [[ f ]] [[ a ]]

このような[[をくっつけたようなカッコは、'[',バックスペース(\!),'['で表す。

[\![ ... ]\!]


よく使う記号 (?) だと思うのですが.こんぐらい標準で用意していて欲しいなぁ… 思わぬところで苦戦してしまいました (;´Д`)




うぎゃー,なんで,数式中の斜体のキャンセル{¥rm 文字列} が使えない… orz

# スタイルファイルは jarticle

なんで,こんなにハマりまくりまクリスティなんだろう.俺なんか悪いことしたか… (*´-ェ-)

ふ〜む,こことかここによると,どうやら FAQ らしい.


Re: \mathrmが使えない

名前: トノ
日時: 2006-05-15 00:02:57
IPアドレス: 61.124.59.*

>>42844
とりあえず、ドキュメント・クラス・オプションに disablejfam を
加えると解消するでしょうか?

以下、W32TeX の ChangeLog の項目 [2006/05/01] から引用
》 (09) platex.tar.gz
》 pLaTeX2e on LaTeX2e <2005/12/01> とした。
》 (注意: アスキー(株)が正式に対応したのではなくて、最新ではあるが元のまま
》 の pLaTeX2eを使用している。 \documentclass[disablejfam,...]{jsarticle}
》 のように disablejfam オプションを付加しないと、エラーになることが多いので
》 注意すること。disablejfam オプションを付加すると、数式中で直接日本語を
》 使うことができなくなるが、必要な場合には \textmc{日本語}, \textgt{日本語}
》 のようにすればよい。最も良いのは \usepackage{amsmath} としてから、一般
》 にテキストの場合 \text{日本語} などのようにすることであろう。)




Re: ¥rm が使えなくなりました

名前: 角藤
日時: 2006-05-08 12:33:15
IPアドレス: 157.13.51.*

>>42770

\documentclass[disablejfam]{jsarticle}
\begin{document}
$¥rm{PA^2-PB^2=QA^2-QB^2}$
\end{document}

のようにしてください。 暇なときに ChangeLog を
お読みください。

(¥rm は最近よく使われる方法ではないと思います )


んな殺生な… 何が最近よく使われるのだろう ?

# ていうか,HTML でも,¥rm のバックスラッシュをちゃんと小文字で書くと,¥r (改行) + m 扱いされて表示されないのが困る (pre してるのに…).

latex は面倒臭過ぎる.ただ,ちょいと小粋に数式を出力したいだけなのに… (;´Д`)

# そもそも,斜体とノーマルをちゃんと使い分けるのが面倒.でも,ちゃんとしないと,どれが構文でどれが変数や関数なのかがゴチャゴチャになるからなぁ.

ちなみに,数式内で空白を使う際には,
\,
で狭いスペース
\!
で負方向のスペース(左に戻る)
\:
で中位のスペース
\;
で大き目のスペース,などが使えます (バッドノウハウ).

私は 2 文字打つのが面倒なので,~ で代用する場合が多いです (おい !) < 一行以上になった場合,おかしくなる (ツッコミ).
pLaTeX2εTB:0CM:5 このエントリーを含むはてなブックマーク | livedoorクリップ livedoorクリップ BuzzurlにブックマークBuzzurlにブックマーク newsing it!

tgif2tex

2006/01/17(火) 21:23:44

tgif2tex は素晴らしいですね.

Vine Linux 3.* ならば,apt-get で入ります.

tgif で図を書いて,ps 形式で出力します.(PS 形式にして Ctrl-s,Strl-p)

注意 : このとき,図の範囲を明確にするために,四角で囲っておく必要があります.

$tgif2tex foo.ps

で,foo.tps というファイルが出力されます.このファイルの中身を,図を張りたい場所にコピペすれば OK.

これ LaTeX の picture 環境形式で保存されているので,バイナリではなく,テキストファイルです.つまり,自由自在に編集ができます.

foo.tps には,ps ファイル中の文字列の部分がくくりだされているので,どこを書き換えれば良いかは開けばすぐわかります.

foo.dps というファイルの中に,ごちゃごちゃとした ps ファイルの本体は書き込まれています.

foo.tps は,foo.dps ファイルを呼び出しているので,foo.dps ファイルが同じディレクトリにないといけません.

通常,tgif のフォントは汚いのですが,こうすると全て PS font になるのがうれしい.もちろん tgif では書けないような複雑な数式も図中に書き込み放題です.

素晴らしい.
pLaTeX2εTB:0CM:0 このエントリーを含むはてなブックマーク | livedoorクリップ livedoorクリップ BuzzurlにブックマークBuzzurlにブックマーク newsing it!

quasi order の記号

2006/01/12(木) 16:26:35

ずっと quasi-order (preorder) と partial-order を同じものだと思っていたら,どうやら違うものらしいと,いまさら気がつきました (汗)

なるほど,だからこんな変わった記号 (\precsim) を使用するんですね.

しかし,なんで AMS には,\precsim の否定 \nprecsim がないのでしょうね… \sim の部分だけを否定する \precnsim はあるのに.

というわけで作ってみました.

\newcommand{\nprecsim}{\precsim \hspace{-.90em}/}

集合 A 上で擬順序 (quasi order) を満たす二項関係 \precsim という場合は,

反射律 (どの x \in A についても x \precsim x)



推移律 (どの x, y, z \in A についても x \precsim y ∧ y \precsim z ⇒ x \precsim z)

だけを満たせば良い.半順序 (partial order) は,さらに

反対称律 (どの x,y,z \in A についても x \precsim y ∧ y \precsim x ⇒ x \sim y)

を満たす.

そしてどの x, y \in A についても x \precsim y または y \precsim xが成り立つならば,全順序 (total order) となる.

なるほど.ET のルールは,擬順序の優先度がついているそうです.

用語がいろいろあって混乱します.直積集合ひとつとっても,direct product とか cartesian product とか.

たぶん由来に違いがあるのでしょうが,外延的には同じものなのでしょうね.

内包 (由来,メタファ,定義) と外延 (実装,成果物) の混乱が,誤解につながる場合って多いと思います.

オブジェクト指向ってのは,「要は this (self) ポインタを引数にした関数呼び出しだろ ?」 とか.

いやいや,実装は同じでも,メタファが違いますから.
pLaTeX2εTB:0CM:2 このエントリーを含むはてなブックマーク | livedoorクリップ livedoorクリップ BuzzurlにブックマークBuzzurlにブックマーク newsing it!

新しいコマンドの定義

2006/01/09(月) 17:28:18

どうやら,

\def\コマンド名{展開内容}

で,新しいコマンドを定義できるみたいです.意外と簡単.

AMS-SYMB の中に, \shortmid という記号を見つけたので,これと \rightarrow を組み合わせて,partial mapping を意味する記号を作りました.

\def\partialmap{\rightarrow \hspace{-.64em \shortmid}}

# なるべく,標準の LaTeX にない文字は使わないで論文を書いて欲しいなぁというのが,本音 (^-^ ;

それにしても,LaTeX で新しいテクニックを覚えるたびに,今までのを全部書き直したくなるので困ります (笑)
pLaTeX2εTB:0CM:4 このエントリーを含むはてなブックマーク | livedoorクリップ livedoorクリップ BuzzurlにブックマークBuzzurlにブックマーク newsing it!

最近のコメント

リンク

このブログをリンクに追加する

最近のトラックバック

人生の残り日数

日本人男性の平均寿命は 28700日.

RSSフィード

カテゴリー