プログラム理論特論で,ちょこっと表示的意味論とかやりました.
表示 (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 文字打つのが面倒なので,~ で代用する場合が多いです (おい !) < 一行以上になった場合,おかしくなる (ツッコミ).
|