我需要帮助重新排列我的参考书目中的一对参考文献。:)
目前,我的参考书目是按字母顺序排列的,这是正确的格式。某位作者在同一年发表了一篇已发表论文的更正,我的导师要求我重新排列这两篇引文。因此,第一篇发表的论文应该有索引 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}
title
biblatex-chicago
author
year
title
\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}