Basándome en el labelalpha
estilo, lo definí mediante la etiqueta propia BibLaTeX, que consta del nombre completo del primer autor y la fecha de publicación. Sin embargo, si el nombre del autor es largo y la cita está cerca del final de las líneas, la etiqueta se divide con guiones. Un MWE se parece a esto:
\documentclass[%
12pt,
english
paper = A4
]{scrbook}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Verylongname_74,
author = {Verylongname, Tom S. and Longname, Bob C.},
year = {1974},
title = {The economics of brushing teeth},
journal = {Journal of Political Economy},
volume = {82},
number = {4},
pages = {887--891},
}
\end{filecontents}
\usepackage[%
citestyle = alphabetic,
labelalpha = true,
defernumbers = true,
backend = biber,
maxalphanames = 1,
firstinits = true
]{biblatex}%
% own BibLaTeX label definition -------------------------------
\renewcommand*{\labelalphaothers}{+}
\DeclareLabelalphaTemplate{
\labelelement{
\field[final]{shorthand}
\field[compound=false]{labelname}
\field{label}
}
\labelelement{
\literal{\addnbthinspace}
}
\labelelement{
\field[strwidth=2,strside=right]{year}
}
}
\DeclareFieldFormat{labelalphawidth}{\mkbibbrackets{#1}}
% avoid hyphenation, not working!
\DeclareFieldFormat{labelalpha}{\nohyphenation #1}
%--------------------------------------------------------------
\addbibresource{\jobname.bib}
\begin{document}
This is a line of text. This is a line of text. An example citation here is
\cite{Verylongname_74}. The BibLaTeX label, which is the
author's name, is hyphenated!
\end{document}
¿Cómo puedo decirle a BibLaTeX que no separe las etiquetas con guiones?
Respuesta1
En \AtEveryCitekey{\hyphenrules{nohyphenation}}
el preámbulo, se puede desactivar la separación de palabras para todas las claves de BibLaTeX (el idioma nohyphenation
debe definirse en babel
).
Respuesta2
Probé la solución de Robinaut pero no logré que funcionara con MikTeX 2.9
Windows 10. Siempre recibí el siguiente error:
Package babel Error: You haven't defined the language nohyphenation yet.
Tampoco logré editar el languages.ini
me gusta sugerido.aquí.
Sin embargo, encontré una solución que funciona. Si echas un vistazo, languages.ini
hay algunos idiomas sin separación de palabras (se utilizan zerohyph.tex
como cargador). En base a esto, puedes utilizar uno de estos idiomas (por ejemplo, árabe):
\AtEveryCitekey{\hyphenrules{arabic}}