我的一些引文出现在正文中,但不出现在最后的参考文献列表中。也就是说,文本中会显示“blabla (Oksanen, 2016)”,但 Oksanen 的条目不会显示。
我尝试过的事情:
- 它是 .bib 条目吗?我尝试使用有问题的 bibentries 构建 MWE,但引用按预期工作。
- 是我引用的方式吗?我使用了
\citeyearpar
在 tex.stackexchange 上找到的自定义代码片段。然而,在我构建的 MWE 中,相同的命令也会创建我正在寻找的引用,即使我使用普通命令也不会创建引用\parencite
。 - 是我编译的方式吗?我不这么认为,因为它在 MWE 中有效。我使用 pdfLaTeX -> BibTeX -> pdfLaTeX -> pdfLaTeX 进行编译
我真的很困惑,尤其是因为引用是在文本中创建的。我甚至使用了 hyperref,但当我单击文本中的引用时,它会跳转到参考列表的空白部分!
这是来自我原始文档的包含完整前言的 MWEB。如果我用style=mla
它替换style=authoryear-comp
,它就会起作用!
\documentclass[12pt,twoside]{report}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage[a4paper, width=150mm,top=25mm,bottom=25mm,bindingoffset=6mm]{geometry}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{pgffor}
\usepackage{hyperref}
\usepackage{pdflscape}
\usepackage[toc,page]{appendix}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{rotating}
\setlength{\parindent}{0pt}
\usepackage{setspace}
\onehalfspacing
\usepackage[backend=biber,natbib=true, style=mla]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@Report{Oksanen2016,
author = {Oksanen, Heikki},
title = {Smoothing Asymmetric Shocks vs. Redistribution in the Euro Area: A Simple Proposal for Dealing with Mistrust in the Euro Area},
abstract = {The euro area will not have a centralised budget and smoothing of country-specific asymmetric shocks via private financial markets will develop only slowly. Mis},
date = {2016-03-23},
}
@Article{Dolls2016,
author = {Dolls, Mathias and Fuest, Clemens and Heinemann, Friedrich and Peichl, Andreas},
title = {Reconciling Insurance with Market Discipline: a Blueprint for a European Fiscal Union},
volume = {62},
number = {2},
pages = {210--231},
issn = {1610-241X},
date = {2016-06-01},
doi = {10.1093/cesifo/ifw004},
file = {Full Text PDF:C\:\\Users\\felix\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\zd4w2j8k.default\\zotero\\storage\\E26WEBI4\\Dolls et al. - 2016 - Reconciling Insurance with Market Discipline a Bl.pdf:application/pdf},
journaltitle = {{CESifo} Economic Studies},
shortjournal = {{CESifo} Econ Stud},
shorttitle = {Reconciling Insurance with Market Discipline},
url = {https://academic.oup.com/cesifo/article/62/2/210/1744891/Reconciling-Insurance-with-Market-Discipline-a},
urldate = {2017-05-22},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\DeclareCiteCommand{\citeyearpar}
{}
{\mkbibparens{\bibhyperref{\printfield{year}}}}
{, }
{}
%\addbibresource{\jobname.bib}
\begin{document}
this:\citeyearpar{Dolls2016} and that \citeyearpar{Oksanen2016}
\printbibliography
\end{document}
答案1
这与您使用的样式有关。biblatex-mla
目前不支持所有标准条目类型。在BibLaTex 仅显示书籍参考。就您而言,问题在于@report
没有得到适当的支持。
如果您想使用所有标准条目类型,则必须使用不同的样式。
您可以尝试类似
\DeclareBibliographyAlias{report}{book}
或者
\DeclareBibliographyAlias{report}{unpublished}
但这只是为了挽救局面,很可能不会取得预期的效果。