Definí un formato personalizado de nombre + año + título de nota al pie, pero por alguna razón hay un espacio inicial antes del superíndice. ¿De dónde viene?
El comando se ve así:
\DeclareNameFormat{lastnameonly}{\namepartfamily}
\DeclareCiteCommand{\myfootcite}{}{%
\footnote{%
\printnames[lastnameonly]{author} (\printfield{year}), \printfield{title}
}
}{}{}
Producción:
MWE:
\documentclass{article}
\usepackage[backend=biber]{biblatex}
\bibliography{references.bib}
\begin{filecontents}{references.bib}
@article{smith01,
author = {Smith, John},
year = {2001},
title = {Article title}
}
\end{filecontents}
%% Custom command giving a mysterious space
\DeclareNameFormat{lastnameonly}{\namepartfamily}
\DeclareCiteCommand{\myfootcite}{}{%
\footnote{%
\printnames[lastnameonly]{author} (\printfield{year}), \printfield{title}
}
}{}{}
\begin{document}
There is a space \myfootcite{smith01}
\end{document}
Respuesta1
lo fácil de hacer es agregar \unskip
al inicio de la \myfootcite
definición:
%% Custom command giving a mysterious space
\DeclareNameFormat{lastnameonly}{\namepartfamily}
\DeclareCiteCommand{\myfootcite}{}{%
\unskip
\footnote{%
\printnames[lastnameonly]{author} (\printfield{year}), \printfield{title}% <--
}% <--
}{}{}
esto tiene el efecto de eliminar el espacio que precede inmediatamente a la inserción del comando cuando se aplica.
lo inverso de esto es \ignorespaces
, que, como dice, ignorará cualquier espacio que siga inmediatamente a un comando que lo incluya al final.
Estos dos comandos se ganan el sustento cuando una entrada descuidada incluye espacios al principio o al final de alguna cadena que se utilizará en una posición donde el espaciado "limpio" importa, como un encabezado o antes de una nota al pie, como se muestra en el ejemplo aquí.
también había espacios espurios, eliminados con a %
en los puntos marcados con <--
.