¿Por qué diferenciar entre \cite y \cites?

¿Por qué diferenciar entre \cite y \cites?

¿Hay alguna razón particular por la que uno tenga que usar \citesfor more of one bibtex-keyen lugar de \cite?

Considerando los siguientes MWE:

\documentclass{article}
\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}
\let\cite\cites
\begin{document}
\cite[12]{westfahl:space}[e.g.][23]{angenendt}

\cites[12]{westfahl:space}[e.g.][23]{angenendt}
\printbibliography
\end{document}

\let\cite\citesNo tengo ningún problema en agregar otro bibtex-keyal comando -, por lo \citeque no importa si olvido el sin \citesfor multiple bibtex-keys.

Si guarda hacerlo, ¿no podría ser un comportamiento predeterminado de biblatex?

Respuesta1

Por supuesto, esta es una decisión de diseño y no podemos preguntarle al responsable original del paquete, ya que ya no está activo. Hasta donde puedo decir, la separación entre el comando de cita normal y el comando multicita (cons) ha estado ahí desde el principio.

El comportamiento del \citecomando biblatexcoincide en gran medida con el comportamiento de ese comando con otros paquetes. Las versiones multicita, sin embargo, ofrecen características adicionales que no ofrecen muchos (¿alguno?) otros paquetes.

La sintaxis de los comandos multicite es totalmente compatible con la de los comandos de cita estándar. Por lo tanto, \let\cite\citesno introducirá más problemas de los que tendría si los usara \citesexclusivamente y nunca se permitiera usarlos \cite. (Recuerde que \lettodos los comandos se envían a sus contrapartes multicitas, no desea inconsistencias).

Sin embargo, desaconsejaría encarecidamente que la multicita sea la norma. El comportamiento de los comandos cite y multicite en biblatex es tan conocido y establecido que no debe cambiarse. Finalmente, los comandos multicite son mucho más sofisticados y complicados debido a su estructura de argumentos, por lo que es mejor usarlos solo cuando sea necesario y no por defecto.

La configuración necesaria para el comando multicita es obviamente un poco más compleja que los comandos estándar. Es por eso que definimos primero los comandos estándar y luego los comandos multicita en la parte superior con

\DeclareMultiCiteCommand{\cites}{\cite}{\multicitedelim}

Supongo que una de las razones por las que se mantuvo la separación es para permitir definir primero un comando de cita simple y luego completarlo con una estructura multicita complicada. Esto permite un enfoque en capas.

Sin embargo, la razón más convincente para mantener la separación entre los dos es que el comando multicita es mucho más complejo y frágil. La naturaleza del comando multicita dicta que no conoce de antemano el número de argumentos. Por lo tanto, tendrá que buscar cosas que parezcan argumentos. Aunque esto es bastante sólido, hay situaciones en las que es preferible un comando más estable que conozca su número de argumentos.

Por ejemplo

\cite[pre][post]{key} ["this"]

funciona, porque \citeya ha leído todos sus argumentos y sabe que ese ["this"]no puede ser su argumento. Pero en

\cites[pre][post]{key} ["this"]

\citesNo sabe que ese ["this"]no es uno de sus argumentos. Debe ingresar un \relaxo \decirle que deje de escanear: \cites[pre][post]{key}\ ["this"].

información relacionada