![backrefstyle=two 无法与 bibstyle=phys 和 biblatex 配合使用](https://linux22.com/image/463057/backrefstyle%3Dtwo%20%E6%97%A0%E6%B3%95%E4%B8%8E%20bibstyle%3Dphys%20%E5%92%8C%20biblatex%20%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8.png)
我对反向引用有疑问,首先是我使用的一个简单的例子:
\documentclass[headings=chapterprefix,12pt,twoside,openany]{scrbook}
\usepackage{lipsum}
\usepackage{iftex}
\ifPDFTeX
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\else
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{german}
\fi
\usepackage{lmodern}
\usepackage{array}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amscd}
\usepackage{amssymb}
\usepackage{float}
\usepackage{fancyhdr}%für lustige Kopf- und Fußzeilen
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{lastpage}
\usepackage{longtable}
\usepackage{wrapfig}
\usepackage[singlelinecheck=false,labelformat=simple]{subcaption}
\renewcommand\thesubfigure{\,\alph{subfigure})}
\usepackage{enumitem}
\usepackage[section]{placeins}
\usepackage[version=4]{mhchem}
\usepackage{siunitx}
\usepackage{csquotes}
\usepackage{tikz}
\usepackage[total={16.5cm,23cm}, inner=2cm, outer=3cm, footskip=1cm, headsep=0.75cm, twoside, includefoot]{geometry}
\usepackage[colorlinks=true,
linkcolor=black,
urlcolor=black,
citecolor=black
]{hyperref}
\hypersetup{linktocpage}
\usepackage[
backend=biber,
natbib=true,
style=phys,
biblabel=brackets,
giveninits=true,
abbreviate=false,
doi=false, url=false, isbn=false,
block=space,
backref=true,
backrefstyle=two,
sorting=none
]{biblatex}
\addbibresource{lit.bib}
\DeclareFieldFormat[article]{citetitle}{\mkbibemph{#1}}
\DeclareFieldFormat[article]{title}{\mkbibemph{#1}}
\DeclareFieldFormat[article]{journaltitle}{#1}%Journalname nicht kursiv
\DefineBibliographyStrings{ngerman}{%
backrefpage={zitiert auf S\adddot},
backrefpages={zitiert auf den S\adddot}
}
在我的文档中,我\cite{Purdie2018}
在第 1、2 和 3 页使用它。
最后我使用:
\hypersetup{linkcolor=blue}
\printbibliography[title=Literaturverzeichnis]
这在我的参考书目中给出了:
[1] DG Purdie、NM Pugno、T. Taniguchi、K. Watanabe、AC Ferrari 和 A. Lombardo,《层状材料异质结构中的清洁界面》,《自然通讯》9,5387 (2018)(发表于 S. 1-3)。
我希望使用“zitiert auf den S. 1,2 und 3”而不是这个版本。我以为backrefstyle=two
应该可以使用这个,但实际上不行。
答案1
根据文档biblatex
(第 53 页“ backrefstyle
”)
[
backrefstyle=two,
] 将任意两个或多个连续页面的序列压缩到某个范围,例如,[列表“1, 2, 11, 12, 13, 21, 22, 23, 24”] 被压缩为“1–2, 11–13, 21–24”。
假设该作品在第 1、2 和 3 页被引用,backrefstyle=two,
因此将页数压缩为广告中所说的“1-3”。
还有 ,backrefstyle=three,
它只能压缩 3 或更多的范围,但即使这样也帮不了你。在这种情况下,唯一接近你想要的选项是backrefstyle=none,
。
如果您唯一需要的是在最后一页之前添加一个“and”,您可能需要尝试将列表格式从pageref
切换list:plain
为list:delim
。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, backref=true, backrefstyle=none,]{biblatex}
\makeatletter
\DeclareListFormat{pageref}{%
\ifnumless{\abx@pagerefstyle}{0}
{\usebibmacro{list:delim}{#1}%
\ifhyperref
{\hyperlink{page.#1}{#1}}
{#1}}
{\ifnumequal{\value{listcount}}{1}
{\usebibmacro{pageref:init}}
{}%
\usebibmacro{pageref:comp}{#1}%
\ifnumequal{\value{listcount}}{\value{liststop}}
{\usebibmacro{pageref:dump}}
{}}}
\makeatother
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{sigfridsson}
\clearpage
Lorem \autocite{sigfridsson}
\clearpage
Lorem \autocite{sigfridsson}
\printbibliography
\end{document}