2015年11月9日

ConTeXtで遊ぶ (2)

引き続きConTeXt.

命令定義

\defineを使うと新しい命令が定義できます.*1

\define[2]{\keyword}{\bf #1 (#2)} % 二つの引数をとる命令
\keyword{索引}{index}

スタイル調整

全体のスタイルの調整をしてみます.ConTeXtはいろいろな調整もできるようにすることをコンセプトの一つにしているようです.

\setuppapersize[A5] % 紙サイズはA5
\setuplayout[ % レイアウト調整
  backspace=1cm % 左余白1cm
  topspace=1cm, % 上からヘッダまで1cm
  width=middle, height=middle, % 全体はど真ん中に
  header=1cm, % ヘッダ1cm
  footer=1cm, % フッタ1cm
  location=left,
]
\setupindenting[yes,small] % インデントを少し(small)する(yes)
\setuppagenumbering[ % ページ数出力設定
    location={footer,middle}, % 下の真ん中に出す
    left={Page }, % 前にPage と入れる(Page 1みたいに出力される).
]

\starttextp
page 1

\page[yes] % 新しいページ
page 2

\page[even] % 次の偶数ページへ
page 4

\stoptext

設定は\setup***という名前がついています.その後の括弧は{}ではなく[]です.ConTeXtでは,[]は各種設定項目に,{}は引数とかに使われます.必然的に\setup***は[]ばかりです.まぁ見ればわかりますね.もっともっとオプションとかはあるので,Wikiにあります.こんなんもできる.

\setuppapersize[A5][A4,landscape] % 横向きA4にA5を入れる
\setuparranging[2SIDE] % その中のA5を横に並べる

ちなみにオプション名間違えてもエラーどころか警告も出ないようです.何度かはまった…….

ヘッダ・フッタ

\setupheadertexts[Sample of \ConTeXt] % ヘッダのテキストを指定
% 複数書くと,偶数ページ,奇数ページで文字を変え,さらに両側に出るようにできる
%\setupheadertexts[odd left][odd side][even left][even right]
\setupheader[
    style=bold, % 太文字出力
%    leftstyle=bold, rightstyle=normal, % 左右でスタイルを変更することもできる
]

\setupheadertexts[\hfill odd \hfill][][\hfill even\hfill][]とすると,真ん中に出しつつページの偶奇で出力を変更できました.

見出し

たとえば\sectionの見た目を変えるにはこうします.

\definetext[section][header][Section Page] % sectionという名前でヘッダ用テキストを定義
\define[2]{\SectionHead}{#1. #2} % \section見出し用の命令,#1 = 節番号,#2 = \sectionの引数
\setuphead[section][% \sectionの見た目を変更する.
    style=bold,% 太字
    page=yes, % \sectionは必ずページトップになる.leftにすると偶数ページ,rightにすると奇数ページ
    header=section, % \sectionのあるところにはヘッダを変更
    footer=none, % \sectionのあるところにはフッタを表示しない
    after={\blank[2*big]}, % 後ろに大きめの余白
    align=middle, % 真ん中におく
    command=\SectionHead, % 見出しの命令を\SectionHeadにする
]

脚注

脚注を出すには\footnote{}を使います.*2

\footnote{脚注}

設定は\setupfootnotesでします.

\define[1]\footnotetext{(#1)} % 本文中ラベルの設定
\setupfootnotes[ % 脚注スタイル設定
    rule=off, % 脚注部分の罫線をなくす
    textcommand=\footnotetext, % 本文中ラベルを(1)みたいにする
    textstyle=bold, % 本文中ラベルを太字にする
    n=3, % 脚注を三段組にする
]

\setupnotationでラベルを変更できるようです.

\setupnotation[footnote][ % 脚注スタイル設定
    numberconversion=characters, % ラベルがa,b,c...となる.
]
*1
\unexpanded\defになるらしい.単純な\defと同じ効果がほしければ\defineexpandableを使う.ちなみに同じ命令を二度定義してもエラーにはなりません.(ログにすでに定義されているというメッセージは出る.)
*2
某LaTeXと同じ.

0 件のコメント:

コメントを投稿

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