2015年12月8日

ConTeXtで遊ぶ (4)

というわけで続き.

enumeration

「番号付き見出し」的なものですです.もちろん\sectionとかの本物見出しも番号がつくのですが,そういうのでは括れないやつに使います.といわれて思いついたのが定理環境だったので,それをしてみます.

\define[1]{\enumerationhead}{#1.} % 見出し用コマンド.最後にピリオドをつける.
\setupenumeration[ % enumerationの設定
  alternative=serried, % 見出し  本文……って形にする
  % alternativeは他に left right top inmargin inleft inright hanging がある.
  before=\blank,after=\blank, % 前後に空きを入れる
  headstyle=bold, % 見出し文字は太字
  title=yes, % タイトル表示
  distance=1em, % 見出しと本文との間の空き.
  width=fit, % 一行目の位置.fitは見出しのすぐ左端(ただしdistanceで指定された空きが入る).
  % width=10ptで全体の左端から10ptの位置+distanceの空き.
]
\defineenumeration[thm][ % \startthm/\stopthmを定義する
  text={Theorem}, % 見出し文字列
  style=italic, % 本文はイタリック
]
\defineenumeration[prop][
  text={Proposition},
  style=italic,
  counter=thm, % カウンターをthmと共有する
]
\starttext
\startthm
This is a main theorem.
\stopthm

\startthm{Key Lemma}
This is very important.
\stopthm

\prop
This is a proposition.

\stoptext

最後みたいに,一段落だけの時は簡単に書くことができます.また,この段階で\subthm / \subsubthm / \subsubsubthmが定義されて,\subthm はTheorem 1.1みたいになります.最初の1は\thmの番号付けで,二つ目が\subthmの番号付け.\thmをすると\subthmの番号付けはリセットされます.

上のようにすると今後定義するenumerationが全て上の\setupenumerationの影響を受けてしまいます.thmとpropだけにしたいときはこうかけます.

\defineenumeration[thm][...]
\defineenumeration[prop][...]
\setupenumeration[thm,prop][ % thmとpropだけ設定する
...
]
\setupenumeration[subthm][ % subthmの設定を変更する
...
]

description

番号のないenumerationです.……Proof環境が思いつきました.設定はenumerationとほぼ同様なので,上で使っていないのを使ってみます.

\setupindenting[yes,small] % インデントの設定
\definedescription[proof][ % \startproof/\stopproofの定義
  text={Proof},
  closesymbol={\mathematics{\square}}, % 「終了終わり」のマーク,最後に出る.
  width=fit,
  alternative=right, % 見出しを右側に出す.
  indentnext=yes, % \stopproof直後の本文のインデントをする
  indenting=yes, % 本文のインデントをする
  % indentingには他に never not no yes always first next が指定可能.
  headcommand=\enumerationhead,
]
\starttext
\startproof
This is a proof. This is a proof. This is a proof. This is a proof. This is a proof. This is a proof. This is a proof. This is a proof. This is a proof. This is a proof. This is a proof. This is a proof. This is a proof. 

This is a proof. This is a proof. This is a proof. This is a proof. This is a proof. This is a proof. This is a proof. This is a proof. This is a proof. This is a proof. This is a proof. This is a proof. This is a proof. 
\stopproof
Next, we define ...

インデント,yesとalwaysとか,neverとnotとnoとか違いがわかりません.nextも何かわからない…….

できていないこと

  • \startthm{TEXT}とするとTEXTが()で囲まれるのだけど,これをカスタマイズできない.
  • \thmの番号付けを\sectionに追随させられていません.
  • \startproof{TEXT}とすると悲惨なことに……

0 件のコメント:

コメントを投稿

コメントの追加にはサードパーティーCookieの許可が必要です