2

I am using BibLaTeX with command \footcite - to put bibliography data into footnotes. I'd like to avoid placing short key word "W:" (translation of "In:") at the end of line. The line \renewcommand{\intitlepunct}{\addcolon\nobreakspace} has impact only on content of bibliography placed by the use of command \printbibliography (see: Line breaking prevention immediately afrer bibstring in biblography).

enter image description here

According to BibLaTeX package documentation (page 106) countershighnamepenalty and lownamepenalty can be set to prevent line breaking between initial name letter and surname (?). Is any other way to position name initial (together with the word "i" - translation of "and") in the the same line as surname? I tried to set \setcounter{highnamepenalty}{10000} and \setcounter{lownamepenalty}{0}, but without expected effect. My MWE:

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[polish]{babel}
\usepackage{polski}
\usepackage[style=verbose]{biblatex}

\usepackage{filecontents}
\begin{filecontents}{mylist.bib}
@inbook{gumplowicz2010,
    author =    {Gumplowicz, L.},
    title =     {O naturalnym prawie kształtowania się państw},
    booktitle = {Dwa życia Ludwika Gumplowicza. Wybór tekstów},
    editor =    {Mozetič, G. and Surman, J.},
    editortype =    {redactor},
    location =  {Warszawa},
    year =      {2010},
}
\end{filecontents}
\addbibresource{mylist.bib}

\setlength{\textwidth}{115mm}

\renewcommand{\intitlepunct}{\addcolon\nobreakspace}    % has no impact on output

\begin{document}
Some text\footcite{gumplowicz2010}.
\end{document}
1

If you want to suppress a line break between the name initials and the last name you need to set lownamepenalty. highnamepenalty is for different bits of the same name part, so it would separate two first names. So you need

\defcounter{lownamepenalty}{10000}

to suppress a line break in 'J. Surman'. But you also want to tie the 'i' to the 'J. Surman', so additionally you need

\DeclareDelimFormat{finalnamedelim}{%
  \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
  \addspace\bibstring{and}\nobreakspace}

The original definition has \space instead of \nobreakspace here.

For the 'W:' the story is a bit more interesting. In fact

\renewcommand{\intitlepunct}{\addcolon\nobreakspace}

does the right thing, but because \intitlepunct is handled a bit differently from other punctuation its effects are negated. You can fix this with

\renewbibmacro*{in:}{%
  \printtext{%
    \bibstring{in}\printunit{\intitlepunct}}}

Incidentally, using @incolletion (which is probably the correct entry type here anyway) instead of @inbook does not make the different handling of \intitlepunct apparent.

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[polish]{babel}
\usepackage{polski}
\usepackage[style=verbose]{biblatex}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@inbook{gumplowicz2010,
  author     = {Gumplowicz, L.},
  title      = {O naturalnym prawie kształtowania się państw},
  booktitle  = {Dwa życia Ludwika Gumplowicza. Wybór tekstów},
  editor     = {Mozetič, G. and Surman, J.},
  editortype = {redactor},
  location   = {Warszawa},
  year       = {2010},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\setlength{\textwidth}{115mm}

\defcounter{lownamepenalty}{10000}

\renewcommand{\intitlepunct}{\addcolon\nobreakspace}
\renewbibmacro*{in:}{%
  \printtext{%
    \bibstring{in}\printunit{\intitlepunct}}}

\DeclareDelimFormat{finalnamedelim}{%
  \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
  \addspace\bibstring{and}\nobreakspace}

\begin{document}
Some text\footcite{gumplowicz2010}.
\end{document}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.