地点和日期之间只有空格

地点和日期之间只有空格

在我的参考书目中,一本书应按如下方式显示:

达尔文,查尔斯。《查尔斯·达尔文的通信集,1821-1836》。剑桥 1985 年。

第一部分工作正常。我可以在代码中添加什么,以便标题后面跟着地址和年份(中间没有逗号或句号)?

\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{darwin,
    Author = {Charles Darwin},
    address= {Cambridge},
    Title = {The Correspondence of Charles Darwin, 1821-1836},
    Year = {1985}}

\end{filecontents*}


\documentclass{article}

\usepackage[style=verbose]{biblatex}
\addbibresource{\jobname.bib}

\begin{document}
Bla Bla Bla Bla Bla Bla \autocite{darwin} \autocite{wade}

\printbibliography
\end{document}

答案1

如果您使用( )biblatex-ext的直接替换,那么您只需重新定义宏即可。verboseext-verbose\locdatedelim

\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{darwin,
  author  = {Charles Darwin},
  address = {Cambridge},
  title   = {The Correspondence of {Charles} {Darwin}, 1821--1836},
  year    = {1985},
}
\end{filecontents*}
\documentclass{article}

\usepackage[style=ext-verbose]{biblatex}
\addbibresource{\jobname.bib}

\renewcommand*{\locdatedelim}{\addspace}

\begin{document}
Lorem \autocite{darwin}

\printbibliography
\end{document}

Darwin, Charles. The Correspondence of Charles Darwin, 1821–1836. Cambridge 1985.

如果你不能或者不想使用biblatex-ext,你可以直接重新定义宏。

\newcommand*{\locdatedelim}{\addspace}
\newcommand*{\locpubdelim}{\addcolon\space}
\newcommand*{\publocdelim}{\addcomma\space}
\newcommand*{\pubdatedelim}{\addcomma\space}

\newbibmacro*{pubinstorg+location+date}[1]{%
  \printlist{location}%
  \iflistundef{#1}
    {\setunit*{\locdatedelim}}
    {\setunit*{\locpubdelim}}%
  \printlist{#1}%
  \setunit*{\pubdatedelim}%
  \usebibmacro{date}%
  \newunit}

\renewbibmacro*{publisher+location+date}{%
  \usebibmacro{pubinstorg+location+date}{publisher}}

\renewbibmacro*{institution+location+date}{%
  \usebibmacro{pubinstorg+location+date}{institution}}

\renewbibmacro*{organization+location+date}{%
  \usebibmacro{pubinstorg+location+date}{organization}}

\renewbibmacro*{location+date}{%
  \printlist{location}%
  \setunit*{\locdatedelim}%
  \usebibmacro{date}%
  \newunit}

获得相同的功能biblatex-ext,或者更具体的功能,例如

\newbibmacro*{pubinstorg+location+date}[1]{%
  \printlist{location}%
  \setunit*{\addspace}%
  \usebibmacro{date}%
  \newunit}

\renewbibmacro*{publisher+location+date}{%
  \usebibmacro{pubinstorg+location+date}{publisher}}

\renewbibmacro*{institution+location+date}{%
  \usebibmacro{pubinstorg+location+date}{institution}}

\renewbibmacro*{organization+location+date}{%
  \usebibmacro{pubinstorg+location+date}{organization}}

这将抑制publisherif 的给出。

相关内容