
Я использую biblatex-chicago для форматирования своей библиографии, и мой профессор хочет, чтобы мы цитировали его лекции с указанием точного дня, когда они были записаны, например так:
Last, First. 2020. 8. 5. ``Course Name: Course Description.'' University of State, City.
Предполагается, что встроенные ссылки будут выглядеть следующим образом:
"...quote quote quote" (Last 2020.8.5).
Как мне отформатировать это в моем файле .bib? Как мне убедиться, что это будет отображаться в моей статье именно так?
решение1
Может бытьочень сильноболезненно изменять biblatex-chicago
, чтобы производить вывод, не соответствующий требованиям CMS. Стиль делаетмногоработы, чтобы соответствовать требованиям CMS, и использует очень сложный код, чтобы все сделать правильно.
В целом я рекомендую не пытаться изменять сильно настроенные стили, такие как biblatex-chicago
, biblatex-apa
, ..., выходя за рамки предлагаемых ими интерфейсов.
Вотдля этого случаярешение, которое сработало нормально в моих тестах. Чтобы не испортить то, что мы не хотим испортить, я добавил новую опцию записи, fulldate
которую нужно явно задать, если вы хотите полную дату в цитатах и библиографии.
\documentclass[american]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[authordate, backend=biber]{biblatex-chicago}
\newtoggle{cbxcms@fulldate}
\makeatletter
\DefineBibliographyExtras{american}{%
\protected\def\mkdaterangecompextra{%
\iftoggle{cbxcms@fulldate}
{\def\bibdatesep{.}%
\mkdaterangeymdextra}
{\cms@mkyearrangeextra[]{long}}}}
\renewbibmacro*{date}{% Adding the test solved some issues in 0.9 with
\iftoggle{cms@switchdates}%
{\ifthenelse{\iffieldundef{origyear}\AND\iffieldundef{origmonth}%
\AND\iffieldundef{origday}\AND\iffieldundef{origseason}}%
{}%
{\printorigdate}}%
{\ifthenelse{\iffieldundef{year}\AND\iffieldundef{month}%
\AND\iffieldundef{day}\AND\iffieldundef{season}}% Punctuation in some
{}% entry types (Misc). The whole \printdate thing may need further work.
{\iftoggle{cbxcms@fulldate}
{}
{\printdate}}}}
\makeatother
\DeclareEntryOption[boolean]{fulldate}[true]{\settoggle{cbxcms@fulldate}{#1}}
\begin{filecontents}{\jobname.bib}
@performance{elk,
author = {Anne Elk},
title = {A Theory on Brontosauruses},
date = {1980-04-05},
institution = {Univ. of Place},
location = {Place},
options = {fulldate},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{elk}
\printbibliography
\end{document}