Biblatex 引用顺序:文本中一种顺序,参考表中另一种顺序

Biblatex 引用顺序:文本中一种顺序,参考表中另一种顺序

我想按照添加的顺序在文本中显示引用,并按字母顺序在参考表中显示引用。我试过了,\newrefcontext但出现错误。还有其他解决方案吗?

以下是代码:

\documentclass{article}
\usepackage[backend=bibtex,maxbibnames=5,maxcitenames=2,style=authoryear,citestyle=authoryear-comp,sorting=nyt,natbib=true,firstinits=true]{biblatex}

\begin{filecontents}{name.bib}
@book{denhartog_mechanical_1956,
    title = {Mechanical {{Vibrations}}, {{Fourth Edition}}},
    author = {Den Hartog, J. P},
    year = {1956},
    publisher = {{McGraw-Hill}}
}
@book{clough_dynamics_1975,
    title = {Dynamics of {{Structures}}},
    author = {Clough, Ray W. and Penzien, Joseph},
    year = {1975},
    publisher = {{McGraw-Hill}}
}
\end{filecontents}

\addbibresource{name.bib}
\begin{document}
    \section*{Body}
        Citations \autocite[e.g.,][]{denhartog_mechanical_1956,clough_dynamics_1975}.

    \printbibliography[heading=bibintoc,title={References}]
\end{document}

结果如下:

在此处输入图片描述

参考文献表没问题,但文中的引用顺序错误。如果我使用,sorting=none则会得到相反的结果。

答案1

您希望该选项sortcites=false,停止biblatex对引文进行排序。将选项sortcites设置为trueby 是(cite)style=authoryear-comp,因为-comp样式的功能只有在引文按有用的顺序排序时才能正常工作。

这里不需要refcontexts,这很好,因为 BibTeX 并不真正支持它们。

\documentclass{article}
\usepackage[backend=bibtex,
  style=authoryear-comp,
  sortcites=false,
  maxbibnames=5,maxcitenames=2,
  giveninits=true,
  natbib=true,
]{biblatex}

\begin{filecontents}{\jobname.bib}
@book{denhartog_mechanical_1956,
  title     = {Mechanical Vibrations},
  author    = {Den Hartog, J. P},
  year      = {1956},
  publisher = {McGraw-Hill},
  edition   = {4},
}
@book{clough_dynamics_1975,
  title     = {Dynamics of Structures},
  author    = {Clough, Ray W. and Penzien, Joseph},
  year      = {1975},
  publisher = {McGraw-Hill},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
  Citations \autocite[e.g.,][]{denhartog_mechanical_1956,clough_dynamics_1975}.

  \printbibliography[heading=bibintoc]
\end{document}

引用(例如,Den Hartog,1956;Clough 和 Penzien,1975)。

请注意,我style=authoryear,citestyle=authoryear-comp,用更短但等效的替换了

style=authoryear-comp,

我还删除了,sorting=nyt,因为这已经是风格所暗示的。

该选项firstinits现在称为giveninits

该课程的默认英文书目标题是“参考文献”,因此在调用选项中article不需要。,title={References}\printbibliography

您可能需要考虑从 切换backend=bibtex,backend=biber,。使用 BibTeX 您只能使用有限的biblatex功能子集,只有 Biber 才能提供全套功能。理论上,切换应该很容易,只需替换backend=bibtex,backend=biber,,然后在编译周期中运行 Biber 而不是 BibTeX(或告诉您的编辑器运行 Biber 而不是 BibTeX,请参阅Biblatex 与 Biber:配置我的编辑器以避免未定义的引用)。

相关内容