位置和日期周围的括号 biblatex

位置和日期周围的括号 biblatex

我需要某种格式来引用。以下是我需要的:

引文是脚注,位置和日期用括号括起来。参考书目不应在位置和日期周围加括号;出版商应位于位置之前,用逗号分隔。

第一次出现:

约翰·多伊,一本好书(伦敦,2022 年),第 12 页。

第二次出现:

多伊,一本好书,第 13-15 页。

参考书目:

约翰·多伊,一本好书,兰登书屋,伦敦,2022 年。

脚注可以通过autocite=footnote和轻松完成\let\cite\autocite,逗号可以通过完成\renewcommand*{\newunitpunct}{\addcomma\space}

可以通过从引文中删除出版商\AtEveryCitekey{\clearlist{publisher}}

但是我不知道如何使用括号。虽然它与使用 产生的样式相似biblatex-chicago,但也有许多不同之处,例如参考书目条目。

有什么帮助吗?

梅威瑟:

\documentclass{article}

\begin{filecontents}{hi.bib}
@book{eg,
  author = {John Doe},
  title = {A Nice Book},
  location = {London},
  date = {2022},
  publisher = {Random House}
}
\end{filecontents}

\usepackage[style = verbose, autocite = footnote]{biblatex}
\usepackage{csquotes}
\addbibresource{hi.bib}

\let\cite\autocite
\let\cites\autocite
\renewcommand*{\newunitpunct}{\addcomma\space}
\AtEveryCitekey{\clearlist{publisher}}

\begin{document}
First occurence \cite[12]{eg}, second occurence \cite[13-15]{eg}.
\printbibliography
\end{document}

答案1

verbose引文和参考书目之间的风格若有细微差别,则很难实现。

“最佳方法”将取决于引用和参考书目中期望输出之间的差异的数量和“大小”。

如果只有一些小差异,我可能会尝试在.<precode>的参数中重新定义相关的 bibmacros (是排版第一个引文中完整参考书目条目的命令。)如果差异很多或非常大,这种方法会变得更加棘手。在这种情况下,为引文和参考书目定义不同的参考书目驱动程序可能更合适(我认为这是应该做的,另请参阅\usedriver\usedriverbiblatex-chicagobiblatex-sbl自定义详细引用样式第一次被开罚单后更换司机

\documentclass[english]{article}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=verbose, autocite=footnote]{biblatex}

\renewcommand*{\newunitpunct}{\addcomma\space}

\newcommand*{\locdatedelim}{\newunitpunct}
\newcommand*{\publocdelim}{\newunitpunct}

\newbibmacro*{pubinstorg+location+date}[1]{%
  \printlist{#1}%
  \setunit{\publocdelim}%
  \printlist{location}%
  \setunit*{\locdatedelim}%
  \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}

\newbibmacro*{cite:location+date}{%
  \ifboolexpr{
        test {\iflistundef{location}}
    and test {\iffieldundef{year}}}
    {}
    {\setunit{\addspace}%
     \printtext[parens]{%
       \printlist{location}%
       \setunit*{\locdatedelim}%
       \usebibmacro{date}%
       \newunit}}}

\renewbibmacro*{cite:full}{%
  \usebibmacro{cite:full:citepages}%
  \printtext[bibhypertarget]{%
    \usedriver
      {\DeclareNameAlias{sortname}{default}%
       \letbibmacro{location+date}{cite:location+date}%
       \letbibmacro{publisher+location+date}{cite:location+date}}
      {\thefield{entrytype}}}%
  \usebibmacro{shorthandintro}}


\begin{filecontents}{\jobname.bib}
@book{eg,
  author    = {John Doe},
  title     = {A Nice Book},
  location  = {London},
  date      = {2022},
  publisher = {Random House}
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
First occurence \autocite[12]{eg},
second occurence \autocite[13-15]{eg}.
\printbibliography
\end{document}

引用

John Doe,《一本好书》(伦敦,2022 年),第 12 页。

参考书目

Doe,John,《一本好书》,兰登书屋,伦敦,2022 年。

相关内容