Why does this code keep giving "Please rerun LaTeX" (and the bibliography doesn't show well)?
Congratulations! You have incurred in a case when a page break changes each time the document is processed, caused by the difference in size between the author name and the rule for denoting the repetition.
A simple way for solving the issue is forcing the bib entries not to be split across pages, which is done by setting \interlinepenalty
to 10000.
I made also some changes to the document, in particular for loading hyperref
last. Please, study carefully the differences.
\begin{filecontents}{\jobname.bib}
@manual{baselcore,
title={Core {P}rinciples for {E}ffective {B}anking {S}upervision},
author={{Basel Committee on Banking Supervision}},
year={2012},
shortauthor = {BCBS},
sortname = {BCBS},
publisher={Bank for International Settlements},
url={http://www.bis.org/publ/bcbs230.pdf}
}
@manual{baselhistory,
title={A brief history of the {B}asel {C}ommittee},
author={{Basel Committee on Banking Supervision}},
year={2014},
shortauthor = {BCBS},
sortname = {BCBS},
publisher={Bank for International Settlements},
url={http://www.bis.org/bcbs/history.pdf}
}
@manual{baselI1988,
title={International convergence of capital measurement and capital standards},
author={{Basel Committee on Banking Supervision}},
year={1988},
shortauthor = {BCBS},
sortname = {BCBS},
publisher={Bank for International Settlements},
url={http://www.bis.org/publ/bcbs04a.pdf}
}
@manual{baselI1996market,
title={{Amendment to the Capital Accord to incorporate market risks}},
author={{Basel Committee on Banking Supervision}},
year={1996},
shortauthor = {BCBS},
sortname = {BCBS},
publisher={Bank for International Settlements},
url={http://www.bis.org/publ/bcbs24.pdf}
}
@manual{baselI1996mktoverview,
title={Overview of the amendment to the capital accord to incorporate market risks},
author={{Basel Committee on Banking Supervision}},
year={1996},
shortauthor = {BCBS},
sortname = {BCBS},
publisher={Bank for International Settlements},
url={http://www.bis.org/publ/bcbs23.pdf}
}
@manual{baselI1998,
title={{International convergence of capital measurement and capital standards (July 1988, UPDATED TO April 1998)}},
author={{Basel Committee on Banking Supervision}},
year={1998},
shortauthor = {BCBS},
sortname = {BCBS},
publisher={Bank for International Settlements},
url={http://www.bis.org/publ/bcbs111.pdf}
}
@manual{baselI1998market,
title={{Amendment to the Capital Accord to incorporate market risks (January 1996, updated to April 1998)}},
author={{Basel Committee on Banking Supervision}},
year={1998},
shortauthor = {BCBS},
sortname = {BCBS},
publisher={Bank for International Settlements},
url={http://www.bis.org/publ/bcbsc222.pdf}
}
@manual{baselII2001overview,
title={Overview of the New Basel Capital Accord},
author={{Basel Committee on Banking Supervision}},
year={2001},
shortauthor = {BCBS},
sortname = {BCBS},
journal={Consultative document BCBS, Basel, Switzerland},
publisher={Bank for International Settlements},
url={http://www.bis.org/publ/bcbsca02.pdf}
}
@manual{baselII2004,
title={International convergence of capital measurement and capital standards: a revised framework},
author={{Basel Committee on Banking Supervision}},
year={2004},
shortauthor = {BCBS},
sortname = {BCBS},
publisher={Bank for International Settlements},
url={http://www.bis.org/publ/bcbs107.pdf}
}
@manual{baselII2005,
title={{The Application of Basel II to Trading Activities and the Treatment of Double Default Effects}},
author={{Basel Committee on Banking Supervision}},
year={2004},
shortauthor = {BCBS},
sortname = {BCBS},
publisher={Bank for International Settlements},
url={http://www.bis.org/publ/bcbs107.pdf}
}
@manual{baselII2006,
title={{International Convergence of Capital Measurement and Capital Standards. A Revised Framework. Comprehensive Version}},
author={{Basel Committee on Banking Supervision}},
year={2006},
shortauthor = {BCBS},
sortname = {BCBS},
publisher={Bank for International Settlements},
url={http://www.bis.org/publ/bcbs128.pdf}
}
@manual{baselIIh2009enhancements,
title={{Enhancements to the Basel II framework}},
author={{Basel Committee on Banking Supervision}},
year={2009},
shortauthor = {BCBS},
sortname = {BCBS},
publisher={Bank for International Settlements},
url={http://www.bis.org/publ/bcbs157.pdf}
}
\end{filecontents}
\documentclass[11pt,openright]{book}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage[british]{babel}
\usepackage[a4paper]{geometry}
\geometry{verbose,tmargin=3cm,bmargin=3.5cm,lmargin=4cm,rmargin=3cm,marginparwidth=70pt}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\usepackage{prettyref}
\usepackage{textcomp}
\usepackage{setspace}
\usepackage{indentfirst}
\usepackage{fancyhdr}
\usepackage{url}
\usepackage[normalem]{ulem}
\usepackage[table, fixpdftex]{xcolor}
\usepackage{algpseudocode}
\usepackage{bigstrut}
\usepackage{enumitem}
% biblatex
\usepackage[style=authoryear-icomp, natbib=true, maxcitenames=2, maxbibnames=11, backend=biber, hyperref=true, pagetracker=page]{biblatex} \usepackage{csquotes}
\renewcommand*{\bibsetup}{%
\interlinepenalty=10000\relax % default is 5000
\widowpenalty=10000\relax
\clubpenalty=10000\relax
\raggedbottom
\frenchspacing
\biburlsetup}
% package hyperref
\usepackage[unicode=true,pdfusetitle,
bookmarks=true,bookmarksnumbered=false,bookmarksopen=false,
breaklinks=false,pdfborder={0 0 0.7},backref=false,colorlinks=false]
{hyperref}
\doublespacing
% fixes the page number of the first page of each chapter
\fancypagestyle{plain}{
\fancyhead{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancyfoot[OC]{\begin{flushright}\thepage\end{flushright}}
}
% fancy headers for the thesis
\fancyhead{}
\fancyhead[LE]{\slshape \nouppercase \leftmark}
\fancyhead[RO]{\slshape \nouppercase \rightmark}
\fancyfoot[EC]{\begin{flushleft}\thepage\end{flushleft}}
\fancyfoot[OC]{\begin{flushright}\thepage\end{flushright}}
\renewcommand{\headrulewidth}{0.4pt}
\setlength{\headheight}{14pt}
% add bibliography database
\addbibresource{biblatex-examples.bib}
\addbibresource{\jobname.bib}
% space between biblio items
\setlength\bibitemsep{1.7\itemsep}
% title without ""
\DeclareFieldFormat[inbook]{title}{#1}
% non-italic
\DeclareFieldFormat[online]{title}{#1}
% title unquoted
\DeclareFieldFormat[article]{title}{#1}
% no pp.
\DeclareFieldFormat[article]{pages}{#1}
% bold volume
\DeclareFieldFormat*{volume}{\mkbibbold{#1}\setpunctfont{\textbf}}
% no in:
\renewbibmacro{in:}{}
% (volume)
\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
%\setunit*{\adddot}% DELETED
% \setunit*{\addnbspace}% NEW (optional); there's also \addnbthinspace
\printfield{number}%
% \setunit{\addcomma\space}%
\printfield{eid}}
\DeclareFieldFormat[article]{number}{\mkbibparens{#1}}
% edition.
\DeclareFieldFormat{edition}%
{(\ifinteger{#1}%
{\mkbibordedition{#1}\addthinspace{}ed.}%
{#1\isdot}).}
% publisher and location position
\renewbibmacro*{publisher+location+date}{%
\printlist{publisher}%
\setunit*{\addcomma\space}%
\printlist{location}%
\setunit*{\addcomma\space}%
\usebibmacro{date}%
\newunit}
% shortauthor before author
\renewbibmacro*{begentry}{%
\ifkeyword{Key}{\sffamily}{}%
\iffieldundef{shorthand}
{}
{\global\undef\bbx@lasthash
\printfield{shorthand}%
\addcolon\space}%
\ifboolexpr{test {\usebibmacro{bbx:dashcheck}} or test {\ifnameundef{shortauthor}}}%
{}%
{\printnames{shortauthor}%
\addspace\textendash\space}}
\begin{document}
\frontmatter
\pagenumbering{Alph} % avoid the problem with page anchors
\pagestyle{empty}
\newgeometry{margin=3cm}title-page\restoregeometry
\cleardoublepage
\begin{flushright}
dedication
\end{flushright}
\cleardoublepage
\pagenumbering{roman}
\pagestyle{fancy}
\tableofcontents
\mainmatter
\renewcommand{\sectionmark}[1]{\markright{\thesection.\ #1}}
\renewcommand{\chaptermark}[1]{\markboth{\thechapter.\ #1}{}}
\chapter*{Introduction\label{chap:introduction}}
\addcontentsline{toc}{chapter}{Introduction}
\markboth{Introduction}{Introduction}
introduction
\cite{aristotle:rhetoric}
\cite{aristotle:anima}
\cite{baselcore}
\cite{baselhistory}
\cite{baselI1988}
\cite{baselI1996market}
\cite{baselI1998}
\cite{baselI1998market}
\cite{baselII2001overview}
\cite{baselII2006}
\cite{baselIIh2009enhancements}
\chapter*{Conclusions\label{chap:conclusion}}
\addcontentsline{toc}{chapter}{Conclusions}
\markboth{Conclusions}{Conclusions}
conclusions
\cleardoublepage{}\phantomsection
\addcontentsline{toc}{chapter}{Bibliography}
\markboth{Bibliography}{Bibliography}
\printbibliography
\end{document}
A work-around: add
\newgeometry{tmargin=2.8cm,bmargin=3.5cm,lmargin=4cm,rmargin=3cm}
before \printbibliography
.
Inspired by barbara beeton and googling around about widows and orphans, I've found this page and I've tried:
\setlength\bibitemsep{1.7\itemsep plus 1pt minus 1pt}
The output is correct:
and since that code line doesn't modify the page margins but only the space between items if needed, I hope it'll work also if I find the same situation for some other authors in the following pages.