参照をしてみる.
参照
こんな感じでできます.
\starttext
\section[Introduction]{Introduction of this text}
……
In \in{Section}[Introduction]...
\stoptext
コンパイルは一回で十分です.割とそれっぽいものに[reference]とつけると後からreferenceで参照できます.参照は\inを使います.\in[label]で節番号とかのそれっぽい番号が出る.上では\in{Section}[Introduction]としてSection 1と出しています.\in{A}{B}[label]はA番号Bとだいたい出るみたいです.
他にも参照するための命令があります.
- \at:ページを参照します.\inと同様\at{A}{B}[label]とできます.
- \about:上の例では,\about[Introduction]とすると``Introduction of this text''と出ます.\about{A}{B}[label]とは書けません.
\aboutで出る文字列の前後は\setupreferencingで変更できます.
\setupreferencing[left=(,right=)] % (Introduction of this text) となる
参照先を作る命令もあります.
- \pagereference[reference]: 後からreferenceでページ番号を参照できるようになります(後から\atで引用できる).
- \textreference[reference]{text}: 後からrerenceでページ番号とtextを参照できるようになります.\atはページ番号になり,\inはtext,\aboutは``text''になる.
たとえばこんな感じ.
\starttext
\pagereference[reference] I have a pen.
...
As I said on \at{page}[reference], I have a pen.
\stoptext
これらの参照先はカンマ区切りのリストとして扱われます.たとえば,
\starttext
\section[ref1,ref2]{Section}
\in{Section}[ref1] ....
\in{Section}[ref2] .... % これでも参照できる
\stoptext
みたいな感じです.
\somewhere
\somewhere{A}{B}[reference]は現時点よりもreferenceが前にあればAに,後ろにあればBになります.ちょっとおもしろい.
\starttext
\starttext
\section[sec:1]{Section 1}
\somewhere{before}{after}[sec:1] % beforeになる
\somewhere{before}{after}[sec:2] % afterになる
\section[sec:2]{Section 2}
\stoptext
他のファイルを参照
次のようにfile.texを用意し,コンパイルを済ませておく.
% file.tex
\starttext
\section[sample]{Sample}
In this section, ...
\stoptext
この中のsampleを次のようにして参照できる.
\starttext
In \in{Section}[file::sample] % (ファイル名)::(ラベル)でアクセスできる
\stoptext
新しい参照命令
\inとかみたいなのを新しく作ることもできます.たとえば数式用の\ineqは次のように作れます.
\starttext
\definereferenceformat[ineq][ % \ineqを定義する
left=(,right=), % 参照するときに()で囲む
text=equation
] %
\placeformula[eq:1]
\startformula
A = B
\stopformula
By \ineq[eq:1] ... % By equation (1) ... となる
By \ineq{A}{B}[eq:1] ... % By A(1)B ... となる
\stoptext
\inみたいに使えますね.
その他
- contextref.pdfにはlocal/globalなラベル名の記述があるけど,なくなったんだろうか.
- \setupreferencingの他のキーの意味するところがわからない…….
0 件のコメント:
コメントを投稿
コメントの追加にはサードパーティーCookieの許可が必要です