文脈と参考文献

文脈と参考文献

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

関連情報