0

The problem is that the ISBN number is cut in a way that provoques overful. Let's see the mwe:

\documentclass[]{book}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{hyperref}
\usepackage{csquotes}

\usepackage[
backend=biber,
hyperref=true,
url=false,
eprint=false,
style=numeric-comp,
bibencoding=utf8,
sorting=none,
%citereset=chapter,
maxbibnames=10,
]{biblatex}

\begin{filecontents}{mwe.bib}
@InProceedings{iwann2017,
author="Gal{\'a}n-Prado, Fabio
and Rossell{\'o}, Josep L.",
editor="Rojas, Ignacio
and Joya, Gonzalo
and Catala, Andreu",
author+an={1=highlight},
title="Smart Hardware Implementation of Spiking Neural Networks",
booktitle="Advances in Computational Intelligence",
year="2017",
publisher="Springer International Publishing",
address="Cham",
pages="560--568",
abstract="During last years a lot of attention have been focused to the hardware implementation of Artificial Neural Networks (ANN) to efficiently exploit the inherent parallelism associated to these systems. From the different types of ANN, the Spiking Neural Networks (SNN) arise as a promising bio-inspired model that is able to emulate the expected neural behavior with a high confidence. Many works are centered in using analog circuitry to reproduce SNN with a high degree of precision, while minimizing the area and the energy costs. Nevertheless, the reliability and flexibility of these systems is lower if compared with digital implementations. In this paper we present a new, low-cost bio-inspired digital neural model for SNN along with an auxiliary Computer Aided Design (CAD) tool for the efficient implementation of high-volume SNN.",
isbn="978-3-319-59153-7"
}
\end{filecontents}

\addbibresource{mwe.bib}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

which yields the following:

description

I hoped there existed a biblatex counter for ISBN that did like "biburlnumpenalty" does for URLs and DOIs. Anyone knows how to fix it?

Thanks.

Fabio
  • 315
  • The counter biburlnumpenalty exists, but it only works for URLs (or URL-like fields) and not for ISBNs. What do you want to happen to your ISBN 978-3-319-59153-7? Do you want to break it within the "59153" bit? (Breaking at the hyphen before "59153" would make the line underfull, breaking at the hyphen after makes it overfull)? – moewe Jun 07 '20 at 15:17
  • 2
    I guess \usepackage{microtype} could already help you here. You may also want to have a look at https://tex.stackexchange.com/q/442308/35864 for other methods to improve line breaking in the bibliography. – moewe Jun 07 '20 at 15:18

1 Answers1

1

I think the only sensible options to break this ISBN in your example are

978-3-319-
59153-7

and

978-3-319-59153-
7

I would not try to break it within a group of digits. Unfortunately, both of these sensible options will leave you with unsatisfying results:

The first option will result in an underfull box, the second in an overfull box.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=numeric-comp]{biblatex}

\begin{filecontents}{\jobname.bib}
@InProceedings{iwann2017,
  author    = {Galán-Prado, Fabio and Rosselló, Josep L.},
  author+an = {1=highlight},
  title     = {Smart Hardware Implementation of Spiking Neural Networks},
  editor    = {Rojas, Ignacio and Joya, Gonzalo and Catala, Andreu},
  booktitle = {Advances in Computational Intelligence},
  year      = {2017},
  publisher = {Springer International Publishing},
  address   = {Cham},
  pages     = {560-568},
  isbn      = {978-3-319-59153-7},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

Unevenly broken lines


There are some general ways to try and improve line breaking described in How to adjust the breaking in the bibliography?.

The mildest method described there, loading microtype, works here as well. In fact it drastically alters the line breaking in the entry.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=numeric-comp]{biblatex}

\usepackage{microtype}

\begin{filecontents}{\jobname.bib}
@InProceedings{iwann2017,
  author    = {Galán-Prado, Fabio and Rosselló, Josep L.},
  author+an = {1=highlight},
  title     = {Smart Hardware Implementation of Spiking Neural Networks},
  editor    = {Rojas, Ignacio and Joya, Gonzalo and Catala, Andreu},
  booktitle = {Advances in Computational Intelligence},
  year      = {2017},
  publisher = {Springer International Publishing},
  address   = {Cham},
  pages     = {560-568},
  isbn      = {978-3-319-59153-7},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

Nicely broken lines.

There are other solutions you can check out in the link.


If you insist on a solution that allows breaks after numbers, here is a simplistic solution that should work well enough for ISBNs, but might be problematic if you throw arbitrary input at it.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=numeric-comp]{biblatex}

\usepackage{etoolbox}

\makeatletter
\newcommand*{\isbnbreaker}[1]{\isbnb@isbnbreaker#1\isbnb@end}
\newcommand*{\isbnb@isbnbreaker}{}
\def\isbnb@isbnbreaker#1#2\isbnb@end{%
  \ifblank{#2}
    {#1}
    {\ifstrequal{#1}{-}
       {-}
       {#1\penalty\hyphenpenalty}%
     \isbnb@isbnbreaker#2\isbnb@end}}
\makeatother

\DeclareFieldFormat{isbn}{\mkbibacro{ISBN}\addcolon\space\isbnbreaker{#1}}

\begin{filecontents}{\jobname.bib}
@InProceedings{iwann2017,
  author    = {Galán-Prado, Fabio and Rosselló, Josep L.},
  author+an = {1=highlight},
  title     = {Smart Hardware Implementation of Spiking Neural Networks},
  editor    = {Rojas, Ignacio and Joya, Gonzalo and Catala, Andreu},
  booktitle = {Advances in Computational Intelligence},
  year      = {2017},
  publisher = {Springer International Publishing},
  address   = {Cham},
  pages     = {560-568},
  isbn      = {978-3-319-59153-7},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

Broken ISBN.

moewe
  • 175,683