Prohibir la separación de palabras entre la etiqueta del dorsal biblatatex y los números de prefijo

Prohibir la separación de palabras entre la etiqueta del dorsal biblatatex y los números de prefijo

Si uno usa prefijos para las etiquetas del babero en biblatex, con frecuencia se produce una separación de palabras entre el prefijo y la etiqueta del babero real, especialmente para prefijos más largos.

ingrese la descripción de la imagen aquí

¿Cómo puede esto ser evitado?

Soluciones ofrecidas aquíno tiene ningún efecto. Estoy seguro de queLo solucionará en la mayoría de los casos, pero no siempre lo uso y me gustaría una solución más segura.

También lo sé \mbox{...}, pero no me gustaría poner todos los comandos de cita allí manualmente.

\begin{filecontents}{references.bib}
@InProceedings{Baader1989,
  Title                    = {Direct self control of inverter-fed induction machine, a basis for speed control without speed-measurement},
  Author                   = {Baader, U. and Depenbrock, M. and Gierse, Georg},
  Booktitle                = {Industry Applications Society Annual Meeting, 1989., Conference Record of the 1989 IEEE},
  Year                     = {1989},
  Month                    = {Oct},
  Pages                    = {486-492 vol.1},
}
\end{filecontents}

\documentclass{article}

\usepackage[style=alphabetic,%
            backend=biber,
            maxnames=99,
            maxalphanames=1,    
            backref=true,
            doi=false,isbn=false,url=false,
            backref=false,
            ]{biblatex}
\renewcommand*{\labelalphaothers}{}

\bibliography{references.bib} 

\begin{document}
\noindent This is a looong sentence which will lead to hyphenation in the bib label:  \cite{Baader1989}
\printbibliography[prefixnumbers = P-]
\end{document}

Respuesta1

Ya no es prefixnumberscompatible con la versión más reciente de biblatex.

\begin{filecontents}{\jobname.bib}
@InProceedings{Baader1989,
  Title                    = {Direct self control of inverter-fed induction machine, a basis for speed control without speed-measurement},
  Author                   = {Baader, U. and Depenbrock, M. and Gierse, Georg},
  Booktitle                = {Industry Applications Society Annual Meeting, 1989., Conference Record of the 1989 IEEE},
  Year                     = {1989},
  Month                    = {Oct},
  Pages                    = {486-492 vol.1},
}
\end{filecontents}

\documentclass{article}

\usepackage[style=alphabetic,%
            backend=biber,
            maxnames=99,
            maxalphanames=1,    
            backref=true,
            doi=false,isbn=false,url=false,
            backref=false,
            ]{biblatex}
\renewcommand*{\labelalphaothers}{}

\addbibresource{\jobname.bib}

\newrobustcmd{\safehyphen}{\ifincsname-\else\mbox{-}\fi}

\begin{document}
\newrefcontext[labelprefix=P\safehyphen]

\noindent This is a looong sentence which will lead to 
hyphenation in the bib label:  \cite{Baader1989}

\printbibliography

\end{document}

Creo que la misma estrategia funcionará a la antigua usanza. El problema es que el prefijo se usa en dos lugares distintos: para imprimir y para formar nombres de secuencia de control, por lo que agregar una macro allí no funcionará a menos que usemos el \ifincsnametruco.

ingrese la descripción de la imagen aquí

Nota: Probé con TeX Live 2014 y

\newrobustcmd{\safehyphen}{\ifincsname-\else\mbox{-}\fi}

en el preámbulo junto con

\printbibliography[prefixnumbers = P\safehyphen]

obras.

información relacionada