我为这个问题奋斗了好几天,也在论坛上寻找答案,但无济于事。
我在序言中说过:
\usepackage[utf]{inputenc}
\usepackage[english]{babel}
\usepackage[babel]{csquote}
\usepackage[notes,backend=bibtex]{biblatex-chicago}
\addbibresource{Bibliography.bib}
对于参考书目输出我有:
\printbibliography
但是,我一直收到这个错误:
Package hypperref Warning: Return to get /pagelabels entry. (./main.bbl ./main.bbl:20: undefined control sequence. \blx@slist@name ->\cms @choose/global/ l.20 \entry{*****}{article}{} ?
当我点击“转到错误”时,它会带我到我的 main.bbl 文件,
\sortlist[entry]{\cms@choose/global/}
\entry{*****}{文章}{}
\field{labeltitlesource}{title}
\field{sortinit}{2}
\field{sortinithash}{2}
\field{title}{XTITLEOFARTICLEX}
\field{journaltitle}{{XJOURNALNAMEX}}
\field{month}{08}
\field{year}{2010}
\endentry
我将非常感激您的帮助。如果我的问题没有以正确的格式发布,我深感抱歉,这是我的第一个问题。
答案1
biblatex-chicago
设置排序方式
\ExecuteBibliographyOptions{...,sorting=\cms@choose,...}
使用后端时bibtex
,命令\cms@choose
最终在控制文件(biblatex 创建的特殊 bib)中未展开,然后也在 bbl 中未展开。
当bbl
在文档开头读取时,LaTeX 会因命令名称中的 @ 而卡住并给出错误。可以通过激活来避免该错误\makeatletter
,但这无法解决bibtex
未获得正确排序名称的问题。
使用 biber 后端就不会出现问题。
作为结论,我会避免bibtex
使用后端biblatex-chicago
并切换到biber
。如何做到这一点的链接是Biblatex 与 Biber:配置我的编辑器以避免未定义的引用。