我正在使用 chicago 包,具体来说,我使用了代码
\documentclass[12pt,a4paper,captions=tableabove, english]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{extarrows}
\usepackage{afterpage}
\usepackage{geometry}
\usepackage[autostyle=true,german=quotes]{csquotes}
\usepackage[authordate15,maxcitenames=2,backend=biber]{biblatex-chicago}
它在文本中正确地将引文显示为作者(年份)。但是,在参考文献页面中,我没有在括号中看到年份。如何在不放弃 biblatex-chicago 的情况下解决这个问题?
我的完整 tex 文件:pastebin.com/KZd5Vu5K
答案1
弄乱biblatex-chicago
并不总是那么容易,因为风格需要做大量的工作才能实现《芝加哥风格手册》的确切要求。
以下将用圆括号将参考书目中的年份括起来。该宏cmsbibyear
是 中原始定义的副本,并chicago-authordate.bbx
添加了 。首选方法不能使用,因为它会引入一个使某些操作保持本地状态的组。我已更改代码,以便您获得“Author (Year).”而不是“Author. (Year).”如果您想要“Author”和“(Year)”之间的句点,只需注释掉。\printtext{\bibopenparen}
\printtext{\bibcloseparen}%
\printtext[parens]
\clearfield
\setunit{\addspace}%
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[authordate,maxcitenames=2,backend=biber]{biblatex-chicago}
\addbibresource{biblatex-examples.bib}
\makeatletter
\renewbibmacro*{cmsbibyear}{%
\setunit{\addspace}%
\printtext{\bibopenparen}%
\printunit{}%
\iftoggle{cms@origlabel}%
{\usebibmacro{origyear+labelyear}}%
{\iftoggle{cms@bothlabelnew}%
{\usebibmacro{bothyear+oldstyle}}%
{\iftoggle{cms@bothlabelold}%
{\usebibmacro{bothyear+oldstyle}}%
{\usebibmacro{labelyear+extrayear}}}}%
\printtext{\bibcloseparen}%
\ifcsdef{@cms@tempdate}%
{\toggletrue{\@cms@tempdate}}%
{}}%
\makeatother
\begin{document}
\cite{sigfridsson,geer,worman}
\printbibliography
\end{document}