附录2:
最新的 3.0 开发版本已修复此问题。谢谢 PLK!
附录:
这个问题可能会被关闭,因为它与 3.0 的开发版本有关。有兴趣的人可以在错误跟踪器biblatex
上找到这个问题biblatex
这里。
biblatex
导致defernumbers=true
参考书目排版时缩进错误。
defernumbers=false
defernumbers=true
看看引文1。似乎defernumbers
启用时没有传递应为标签保留的间距。
梅威瑟:
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{bibliography.bib}
@Article{gob,
title = {I've Made a Huge Mistake},
author = {Bluth, Gob},
journal = {Journal of Magicians},
year = {2003},
volume = {1},
number = {1},
pages = {1--10},
}
@Article{michael,
title = {Her?},
author = {Bluth, Michael},
journal = {Sudden Valley},
year = {2003},
volume = {1},
number = {1},
pages = {1--10},
}
@Article{tobias,
title = {Never-nudism},
author = {F{\"u}nke, Tobias},
journal = {Blue Man Group},
year = {2003},
volume = {1},
number = {1},
pages = {1--10},
}
\end{filecontents}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[british]{babel}
\usepackage{csquotes}
\usepackage[%
backend=biber,
defernumbers=true, % Should be enabled when using refsegments.
refsegment=section,
style=numeric,
] {biblatex}
\addbibresource{bibliography.bib}
\begin{document}
\section{First section}
Check this out~\cite{gob}.
\printbibliography[heading=subbibliography,segment=1,]
\section{Second section}
Check this out~\cite{michael}.
\printbibliography[heading=subbibliography,segment=2,]
\nocite{tobias}
\printbibliography
\end{document}
答案1
对我来说这似乎是一个错误,你可以用以下方法修复它
\makeatletter
\def\blx@bbl@labelnumber{%
% Used at endentry, when reading .bbl
% only do this for the global sorting list otherwise we increment
% the labelnumbers for each sortlist
\ifdefstrequal{\blx@slist@scheme}{\blx@sorting}
{\ifdefempty\abx@field@localnumber
{}% only if omitnumbers=true
{\ifundef\abx@field@shorthand
{%\iftoggle{blx@defernumbers}
% {}% only if defernumbers=true
{\csnumgdef{blx@labelnumber@\the\c@refsection}{%
\csuse{blx@labelnumber@\the\c@refsection}+1}%
\edef\abx@field@localnumber{%
\csuse{blx@labelnumber@\the\c@refsection}}%
\blx@bbl@fieldedef{labelnumber}{\abx@field@localnumber}%
\iftoggle{blx@skipbib}
{}
{\blx@setlabwidth{\labelnumberwidth}{%
\csuse{abx@ffd@*@labelnumberwidth}{%
\ifdef\abx@field@prefixnumber
{\csuse{abx@ffd@*@prefixnumber}{\abx@field@prefixnumber}}
{}%
\abx@field@localnumber}}}}}
{\csgappto\blx@bbl@data{\let\abx@field@labelnumber\abx@field@shorthand}%
\iftoggle{blx@skipbib}
{}
{\blx@setlabwidth{\labelnumberwidth}{%
\csuse{abx@ffd@*@labelnumberwidth}{\abx@field@shorthand}}}}}}
{}}
\makeatother
同时。
这只是对标准顺序的重新排列biblatex2.sty
。
平均能量损失
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{bibliography.bib}
@Article{gob,
title = {I've Made a Huge Mistake},
author = {Bluth, Gob},
journal = {Journal of Magicians},
year = {2003},
volume = {1},
number = {1},
pages = {1--10},
}
@Article{michael,
title = {Her?},
author = {Bluth, Michael},
journal = {Sudden Valley},
year = {2003},
volume = {1},
number = {1},
pages = {1--10},
}
@Article{tobias,
title = {Never-nudism},
author = {F{\"u}nke, Tobias},
journal = {Blue Man Group},
year = {2003},
volume = {1},
number = {1},
pages = {1--10},
}
\end{filecontents}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[british]{babel}
\usepackage{csquotes}
\usepackage[%
backend=biber,
defernumbers=true, % Should be enabled when using refsegments.
refsegment=section,
style=numeric,
] {biblatex}
\addbibresource{bibliography.bib}
\makeatletter
\def\blx@bbl@labelnumber{%
% Used at endentry, when reading .bbl
% only do this for the global sorting list otherwise we increment
% the labelnumbers for each sortlist
\ifdefstrequal{\blx@slist@scheme}{\blx@sorting}
{\ifdefempty\abx@field@localnumber
{}% only if omitnumbers=true
{\ifundef\abx@field@shorthand
{%\iftoggle{blx@defernumbers}
% {}% only if defernumbers=true
{\csnumgdef{blx@labelnumber@\the\c@refsection}{%
\csuse{blx@labelnumber@\the\c@refsection}+1}%
\edef\abx@field@localnumber{%
\csuse{blx@labelnumber@\the\c@refsection}}%
\blx@bbl@fieldedef{labelnumber}{\abx@field@localnumber}%
\iftoggle{blx@skipbib}
{}
{\blx@setlabwidth{\labelnumberwidth}{%
\csuse{abx@ffd@*@labelnumberwidth}{%
\ifdef\abx@field@prefixnumber
{\csuse{abx@ffd@*@prefixnumber}{\abx@field@prefixnumber}}
{}%
\abx@field@localnumber}}}}}
{\csgappto\blx@bbl@data{\let\abx@field@labelnumber\abx@field@shorthand}%
\iftoggle{blx@skipbib}
{}
{\blx@setlabwidth{\labelnumberwidth}{%
\csuse{abx@ffd@*@labelnumberwidth}{\abx@field@shorthand}}}}}}
{}}
\makeatother
\begin{document}
\section{First section}
Check this out~\cite{gob}.
\printbibliography[heading=subbibliography,segment=1,]
\section{Second section}
Check this out~\cite{michael}.
\printbibliography[heading=subbibliography,segment=2,]
\nocite{tobias}
\printbibliography
\end{document}