重新排列参考书目中的参考文献

重新排列参考书目中的参考文献

我需要帮助重新排列我的参考书目中的一对参考文献。:)

目前,我的参考书目是按字母顺序排列的,这是正确的格式。某位作者在同一年发表了一篇已发表论文的更正,我的导师要求我重新排列这两篇引文。因此,第一篇发表的论文应该有索引 a。

请参阅以下 MWE:

\documentclass{article}
\usepackage[utf8]{inputenc}

\RequirePackage{filecontents}
\begin{filecontents}{bib.bib}
@article{Williamson.1968,
 author = {Williamson, Oliver E.},
 year = {1968},
 title = {Economies as an Antitrust Defense: The Welfare Tradeoffs},
}
@article{Williamson.1968b,
 author = {Williamson, Oliver E.},
 year = {1968},
 title = {Economies as an Antitrust Defense: Correction and Reply},
}
\end{filecontents}

\usepackage[authordate,strict,backend=biber,bibencoding=inputenc]{biblatex-chicago} 
\addbibresource{bib.bib}

\begin{document}
This is the first citation \parencite{Williamson.1968}.\\
In the same year, a correction was published \parencite{Williamson.1968b}.

\vspace{5 cm}
\printbibliography

\end{document}

非常感谢。致以最诚挚的问候!

答案1

我会sorttitle = {Economies as an Antitrust Defense}在第一次出版时使用它。

\documentclass{article}
\usepackage[utf8]{inputenc}

\begin{filecontents}[overwrite]{\jobname.bib}
 @article{Williamson.1968,
  author = {Williamson, Oliver E.},
  year = {1968},
  title = {Economies as an Antitrust Defense: The Welfare Tradeoffs},
  sorttitle = {Economies as an Antitrust Defense},
 }
 @article{Williamson.1968b,
  author = {Williamson, Oliver E.},
  year = {1968},
  title = {Economies as an Antitrust Defense: Correction and Reply},
 }
\end{filecontents}

\usepackage[authordate,strict,backend=biber,bibencoding=inputenc]{biblatex-chicago} 
\addbibresource{\jobname.bib}

\begin{document}
 This is the first citation \parencite{Williamson.1968}.\\
 In the same year, a correction was published \parencite{Williamson.1968b}.
 
 \vspace{5 cm}
 \printbibliography
 
\end{document}

在此处输入图片描述

答案2

我建议你使用\noopsort适用于 bibtex 和 biber 的技巧。宏定义为

\providecommand\noopsort[1]{}

这看起来像是一个微不足道的命令,它接受一个参数并且不会通过 LaTeX 输出任何内容。但它并非毫无用处,因为它可以用于影响 bibtex 和 biber种类条目。在下面的代码中,请观察条目各自字段开头的\noopsort{a}和指令。由于样式按、和字段对条目进行排序,因此这些指令可让您实现格式化目标。\noopsort{b}titlebiblatex-chicagoauthoryeartitle\noopsort

这个\noopsort技巧用途广泛,有很多种用途。例如,在参考书目中将中文条目放在英文条目之前有关如何使用的示例\noopsort,您猜对了,将所有中文条目放在参考书目中其他条目之前。

在此处输入图片描述

\documentclass{article}
%%\usepackage[utf8]{inputenc} % that's the default nowadays
\providecommand\noopsort[1]{}

\begin{filecontents}[overwrite]{bib.bib}
@article{Williamson.1968a,
 author = {Williamson, Oliver E.},
 year = {1968},
 title = {\noopsort{a}Economies as an Antitrust Defense: The Welfare Tradeoffs},
}
@article{Williamson.1968b,
 author = {Williamson, Oliver E.},
 year = {1968},
 title = {\noopsort{b}Economies as an Antitrust Defense: Correction and Reply},
}
\end{filecontents}

\usepackage[authordate,strict,backend=biber,bibencoding=inputenc]{biblatex-chicago} 
\addbibresource{bib.bib}

\begin{document}
This is the first citation \parencite{Williamson.1968a}.
In the same year, a correction was published \parencite{Williamson.1968b}.

\printbibliography
\end{document}

相关内容