我有这个问题。 经过上次修改后,我的序言中出现了以下 Biblatex 部分:
\usepackage[style=verbose- ibid,firstinits=true,sorting=nty,sortcites=true,useprefix=false,isbn=false,maxnames=6,backend=biber]{biblatex} % originally the style was verbose-ibid
%\usepackage[style=footnote-dw,namefont=smallcaps,firstinits=true,idembib=true,idembibformat=dash,nopublisher=false,edbyidem=false,backend=biber]{biblatex}
%%\DeclareFieldFormat{shorttitle}{\mkbibemph{#1}}
%\DeclareFieldFormat[article]{title}{\mkbibquote{#1}}
%\DeclareFieldFormat{journaltitle}{\mkbibemph{#1}}
%\DeclareFieldFormat{editor}{\mkbibnormal{#1}} %take off the uppercase from the editor, it does not work yet
\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}}}}}
%for defining shorthands
\defbibcheck{noshorthand}{%
\iffieldundef{shorthand}{}{\skipentry}%
}
\DeclareFieldFormat{postnote}{\mkcomprange[{\mkpageprefix[pagination]}]{#1}}
\DeclareFieldFormat{pages}{\mkcomprange{#1}}
\setcounter{mincomprange}{100}
\setcounter{maxcomprange}{100000}
\setcounter{mincompwidth}{10}
\makeatletter
\patchcmd{\blx@comprange@check}
{\blx@comprange@comp{#1}{#2}}
{\blx@tempcnta=#1
\divide\blx@tempcnta100
\multiply\blx@tempcnta100
\ifnumequal{\blx@tempcnta}{#1}
{\blx@range@out@value{#1\bibrangedash#2}}
{\blx@comprange@comp{#1}{#2}}}
{}{}
\makeatother
\DeclareFieldFormat{postnote}{#1}% no postnote prefix in "normal" citation commands
\DeclareFieldFormat{multipostnote}{#1}% no postnote prefix in "multicite" commands
我没有包括书目条目,因为无论如何这都是通常的做法。我没有找到相关信息,但我想知道 biblatex 中是否存在一个引用命令,用于对文章本身的第一个引用进行完整引用,并带有总页码范围,以及另一个命令,用于引用第一篇文章而无需总页码范围。
例如,第 1 号,J. Robinson,《消失的岛屿》,《自然》78(2008),123-135,第 2 号,J. Robinson,《消失的岛屿》,《自然》78(2008),[无页码范围]
例如,这也适用于引文。当您需要提及文章中的确切页码,而不必提及全部页码时,这将非常有用。无论如何,完整的引文都会在参考书目中。目前我唯一的解决方案是进行修改,以便整个页码范围根本不会出现,但这意味着我必须根据需要重新输入信息,而不是使用命令。
答案1
对于verbose-ibid
您所使用的风格,您可以使用现成的选项“citepages”,它可以满足您的要求。
尝试使用以下命令加载包:citepages=suppress
或者citepages=omit
,如下所示这里。