上下文和参考书目

上下文和参考书目

尝试编译在 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

相关内容