![文脈と参考文献](https://rvso.com/image/328464/%E6%96%87%E8%84%88%E3%81%A8%E5%8F%82%E8%80%83%E6%96%87%E7%8C%AE.png)
ConText で参考文献を使用する簡単な例をコンパイルしようとしています (contextgarden wiki から)。私のファイルは次のとおりです:
\mainlanguage[russian]
\usemodule[simplefonts][size=12pt]
\setmainfont[XITS]
\setsansfont[Arial]
\setupbibtex[database={mybib},sort=author]
\setuppublications[alternative=apa]
\cite[Tolh]
\completepublications[criterium=all]
\stoptext
対応する bib ファイルは次のとおりです。
@Article{Tolh,
Title = {{Поляризация электронов. Теория и эксперимент}},
Author = {Тольхук, Х. А.},
Journal = {УФН},
Language = {russian},
Year = {1957},
Number = {12},
Pages = {761--800},
Volume = {63}
}
そうです、それはロシア語で、utf8 として保存されており、メイン ファイルも uft8 です。そのため、コンテキストを使用したコンパイルはエラーで停止します。
tex error > error on line 1 in file 2.bbl: ! String contains an invalid utf-8 sequence
l.1 \setuppublicationlist[samplesize={Т
�57},totalnumber=1]
1 >> \setuppublicationlist[samplesize={Т�57},totalnumber=1]
2
3 \startpublication[k=Tolh,t=article,
4 a={{Тольхук}},y=1957,
5 n=1,s=Т�57]
6 \lang{russian}
7 \artauthor[]{Х.~А.}[�.~�.]{}{Тольхук}
8 \pubyear{1957}
9 \arttitle{{Поляризация электронов. Теория и
10 эксперимент}}
11 \journal{УФН}
私の理解では、これらの「黒い?」はエンコードの問題を意味します。どうすれば解決できますか?
最後に、出版物を本文中の引用順に番号付きリストで印刷し、引用は括弧内の番号(つまり [1]、[20] など)にします。LaTeX の参考文献と同じです。Context で可能ですか?
答え1
昔の書誌システムではbibtexが使われていましたが、それでも多かれ少なかれASCIIに依存していました。そのため、あなたの例は失敗しています。文脈には新しい書誌システムこれは bibtex を完全にバイパスします。必要なことはすべて実行できます。まだ少し実験的です (ドキュメントは期待どおりに充実していません)。書き直した例は次のとおりです。
\mainlanguage[ru]
\setupbodyfont [xits, 30pt]
\usebtxdataset [mybib]
\usebtxdefinitions [aps]
\setupbtxrendering [default]
[numbering=yes]
\starttext
\cite[Tolh]
\placelistofpublications[criterium=all]
\stoptext
おそらくそれがあなたの言いたいことだと思います。LaTeX で参考文献をどのように扱うのかはわかりません。これがあなたにとって必須であるなら、LaTeX を使い続ける方が良いかもしれません。
結果:
出版物の完全なリストをダンプするには、次のコマンドを使用します。
\usebtxdataset[customname][database.bib]
\definebtxrendering[customname][apa][
dataset=customname,
numbering=yes,
]
\starttext
\startbackmatter
\startchapter[title=Bibliography]
\placelistofpublications[customname][method=dataset]
\stopchapter
\stopbackmatter
\stoptext