Estoy usando BibLaTeX con el comando \footcite
- para poner datos bibliográficos en notas a pie de página. Me gustaría evitar colocar la palabra clave corta "W:" (traducción de "In:") al final de la línea. La línea \renewcommand{\intitlepunct}{\addcolon\nobreakspace}
tiene impacto sólo en el contenido de la bibliografía colocada mediante el uso del comando \printbibliography
(ver:Prevención de ruptura de línea inmediatamente después del bibstring en la bibliografía).
Según la documentación del paquete BibLaTeX (página 106), los contadores highnamepenalty
se lownamepenalty
pueden configurar para evitar saltos de línea entre la letra del nombre inicial y el apellido (?). ¿Hay alguna otra forma de colocar la inicial del nombre (junto con la palabra "i" - traducción de "y") en la misma línea que el apellido? Intenté configurar \setcounter{highnamepenalty}{10000}
y \setcounter{lownamepenalty}{0}
, pero sin el efecto esperado. Mi 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}
Respuesta1
Si desea suprimir un salto de línea entre las iniciales del nombre y el apellido, debe configurarlo lownamepenalty
. highnamepenalty
es para diferentes bits de la misma parte del nombre, por lo que separaría dos nombres. Así que tú necesitas
\defcounter{lownamepenalty}{10000}
para suprimir un salto de línea en 'J. Surmán'. Pero también quieres vincular la 'i' con la 'J. Surman', por lo que además necesitas
\DeclareDelimFormat{finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\bibstring{and}\nobreakspace}
La definición original tiene \space
en lugar de \nobreakspace
aquí.
Para la 'W:' la historia es un poco más interesante. De hecho
\renewcommand{\intitlepunct}{\addcolon\nobreakspace}
hace lo correcto, pero debido a que \intitlepunct
se maneja de manera un poco diferente a otras puntuaciones, sus efectos se anulan. Puedes arreglar esto con
\renewbibmacro*{in:}{%
\printtext{%
\bibstring{in}\printunit{\intitlepunct}}}
Por cierto, usar @incolletion
(que esprobablementeel tipo de entrada correcto aquí de todos modos) en lugar de @inbook
no hace \intitlepunct
evidente el diferente manejo.
\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}