Estou usando o BibLaTeX com comando \footcite
- para colocar dados bibliográficos em notas de rodapé. Gostaria de evitar colocar a palavra-chave curta "W:" (tradução de "In:") no final da linha. A linha \renewcommand{\intitlepunct}{\addcolon\nobreakspace}
tem impacto apenas no conteúdo da bibliografia colocada pelo uso do comando \printbibliography
(ver:Prevenção de quebra de linha imediatamente após o babador na bibliografia).
De acordo com a documentação do pacote BibLaTeX (página 106) contadores highnamepenalty
e lownamepenalty
podem ser configurados para evitar quebra de linha entre a letra inicial do nome e o sobrenome (?). Existe alguma outra forma de posicionar a inicial do nome (juntamente com a palavra "i" - tradução de "e") na mesma linha do sobrenome? Tentei definir \setcounter{highnamepenalty}{10000}
e \setcounter{lownamepenalty}{0}
, mas sem o efeito esperado. Meu 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}
Responder1
Se você deseja suprimir uma quebra de linha entre as iniciais do nome e o sobrenome, você precisa definir lownamepenalty
. highnamepenalty
é para bits diferentes da mesma parte do nome, portanto separaria dois primeiros nomes. Então você precisa
\defcounter{lownamepenalty}{10000}
para suprimir uma quebra de linha em 'J. Surman'. Mas você também quer vincular o 'i' ao 'J. Surman', então você também precisa
\DeclareDelimFormat{finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\bibstring{and}\nobreakspace}
A definição original tem \space
em vez de \nobreakspace
aqui.
Para o 'W:' a história é um pouco mais interessante. Na verdade
\renewcommand{\intitlepunct}{\addcolon\nobreakspace}
faz a coisa certa, mas como \intitlepunct
é tratado de maneira um pouco diferente de outras pontuações, seus efeitos são negados. Você pode consertar isso com
\renewbibmacro*{in:}{%
\printtext{%
\bibstring{in}\printunit{\intitlepunct}}}
Aliás, usando @incolletion
(que éprovavelmenteo tipo de entrada correto aqui de qualquer maneira) em vez de @inbook
não torna \intitlepunct
aparente o tratamento diferente.
\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}