biblatex:从主要参考书目中排除简写条目

biblatex:从主要参考书目中排除简写条目

我使用以下带有 verbose-ibid 的 biblatex 编码,抱歉,我仍然不知道如何包含文件:


\usepackage[style=verbose-ibid,firstinits=true,sorting=nty,sortcites=true,useprefix=false,maxnames=6,backend=biber]{biblatex} % originally the style was verbose-ibid

\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}
\renewcommand*{\newunitpunct}{\addcomma\space}%put commas instead of periods after some elements of the title
%\usepackage{biblatex}%remove �in� in journal articles
\renewbibmacro{in:}{%
\ifentrytype{article}{}{%
\printtext{\bibstring{in}\intitlepunct}}}
\renewcommand*{\labelnamepunct}{\addcomma\space}
\renewcommand*{\nametitledelim}{\addcomma\space}
\renewcommand*{\bibfont}{\small}

\renewbibmacro*{publisher+location+date}{%
\printtext[parens]{% ADDED
\printlist{location}%
\iflistundef{publisher}
  {\setunit*{\addcomma\space}}
  {\setunit*{\addcolon\space}}%
\printlist{publisher}%
\setunit*{\addcomma\space}%
\usebibmacro{date}%
}\nopunct% ADDED
\newunit}
%for citing short forms
\renewbibmacro*{cite:short}{%
\printnames{labelname}%
\setunit*{\nametitledelim}%
% If article:
\ifentrytype{article}{%
    \usebibmacro{journal}%
    \setunit{\addspace}%
    \printfield{volume}}{%
% If incollection:
\ifentrytype{incollection}{%
    \usebibmacro{in:}%
    \printtext[booktitle]{\printfield[titlecase]{booktitle}}}{%
% Else:
\printtext[bibhyperlink]{\printfield[citetitle]{labeltitle}}}}}

\printshorthands

\printbibliography

我尝试对一些通常以简写形式引用的书籍使用简写。这是它的示例:

@book{Eide.1994,
author = {Eide, T. and Hagg, T. and {Holton Pierce} and R. and Török, L.},
year = {1994},
title = {Fontes Historiae Nubiorum},
number = {I},
publisher = {University of Bergen, Department of Classics},
location = {Bergen},
shorthand = {FHN}

我的问题是:

  1. 此标题在速记和参考书目中重复出现。我只想用速记。

  2. 我不想浪费太多页面。我想要类似这样的内容:

书目标题位于页面顶部。标题后立即写上速记,速记完成后,写上正常的书目。

答案1

您的风格修改与您的实际问题无关。:-) 话虽如此,以下是解决这些问题的方法:

  1. 要从“正常”书目中排除带有shorthand字段的条目,请定义相应的 bibcheck。biblatex有关详细信息,请参阅手册第 3.5.9 节。

  2. 要将参考书目和简写列表排版为\section*而不是\chapter*/bookreport,请使用“子参考书目”标题和自定义的“子简写”标题。有关详细信息,请参阅手册第 3.5.7 节。


\documentclass{book}

\usepackage[style=verbose]{biblatex}

\defbibcheck{noshorthand}{%
  \iffieldundef{shorthand}{}{\skipentry}%
}

\makeatletter
  \defbibheading{subshorthands}[\losname]{%
    \section*{#1}%
    \if@twoside\markright{\MakeUppercase{#1}}\fi}
\makeatother

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  shorthand = {Aut},
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
@misc{B02,
  author = {Buthor, B.},
  year = {2002},
  title = {Bravo},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\nocite{*}

\begin{document}

\printbibheading

\printshorthands[heading=subshorthands]

\printbibliography[heading=subbibliography,title={Other References},check=noshorthand]

\end{document}

在此处输入图片描述

答案2

步调一致的答案要好得多,但还有另一种可能性使用关键字不打印主书目中带有简写字段的条目:

\documentclass{book}

\usepackage[style=verbose]{biblatex}


\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  shorthand = {Aut},
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
  keywords ={shorthand}
}
@misc{B02,
  author = {Buthor, B.},
  year = {2002},
  title = {Bravo},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\nocite{*}

\begin{document}

\printshorthands
\printbibliography[title={Other References}, notkeyword=shorthand]

\end{document}

它实现了关于主要参考书目中带有简写字段的条目的期望:

在此处输入图片描述

在此处输入图片描述

相关内容