Fundamentos de citas

«Knuth (1986) describe en detalle cómo se reparte un párrafo en líneas» y «el modo en que un párrafo se reparte en líneas está descrito en detalle (Knuth, 1986)» remiten al mismo libro y, sin embargo, esas dos citas son piezas gramaticales del todo distintas. La primera es el sujeto de su oración; la segunda, una nota aparcada fuera de ella. Por eso LaTeX no se queda en un único \cite: natbib empareja \citet con \citep y biblatex empareja \textcite con \parencite, porque la salida tiene que saber cuál de los dos papeles se pretende. Esta página sigue un solo criterio, desde imprimir la marca de cita hasta añadir números de página, agrupar varias obras o reparar una cita que ha salido como [?]: leer la oración en voz alta y comprobar que sigue siendo una oración.

Cómo escribir \cite{key}: claves, varias obras, números de página

\cite{knuth} imprime [1] en el texto y, de paso, inscribe esa obra en la lista de referencias. knuth es la clave de cita, un nombre corto que se elige libremente. La clave no aparece nunca en la salida; lo que aparece es el número o la etiqueta que asigna el lado de la lista. Varias obras caben en un solo comando, separadas por comas: \cite{knuth,lamport} da [1, 2]. Para añadir una nota como una página se usa el argumento opcional: \cite[p.~5]{knuth} imprime [1, p. 5]. El ~ es un espacio que se niega a romperse, de modo que p. y 5 nunca acaban en líneas distintas.

LaTeX puro acepta exactamente una nota de este tipo, y su posición está fijada: va detrás de la referencia. Una petición como «(see Knuth, 1986, p. 94)», con una entradilla antes del nombre, sencillamente no se puede expresar aquí. natbib y biblatex levantan esa restricción tomando dos argumentos opcionales en lugar de uno; véase más abajo la sección sobre páginas y capítulos. Visto al revés, conviene conocer pronto el límite: lo que el \cite desnudo sabe decir es más estrecho de lo que parece.

latex
% \cite prints the mark and registers the work
The algorithm is described in detail~\cite{knuth}.

% several keys in one command, comma separated
Both accounts agree on this point~\cite{knuth,lamport}.

% one optional argument = a note printed after the reference
The rule appears on page 5~\cite[p.~5]{knuth}.

% register a work in the list without printing a mark
\nocite{lamport}

Para una obra que no se cita en el texto pero se quiere en la lista, se usa \nocite{key}. No imprime ninguna marca; solo registra la entrada. La forma especial \nocite{*} incluye todas las entradas del archivo .bib. Ahora bien, solo significa algo cuando es BibTeX o biber quien monta la lista: un thebibliography escrito a mano imprime igualmente cada \bibitem anotado, así que añadir allí \nocite{*} no cambia nada. Conviene recordarlo como la herramienta para mostrar una base bibliográfica completa, y nada más.

\citet frente a \citep, \textcite frente a \parencite

Un solo criterio lo decide: ¿cumple el nombre del autor una función gramatical en la oración? Si la cumple, se recurre al \citet{knuth} de natbib (→ Knuth (1986)) o al \textcite{knuth} de biblatex (misma salida). Si no la cumple, a \citep{knuth} (→ (Knuth, 1986)) o \parencite{knuth} (→ (Knuth 1986)). El manual de biblatex formula la distinción sin rodeos: \textcite existe para insertarse en el hilo del texto ocupando el lugar del sujeto, y advierte que \autocite solo cabe allí donde la cita no es un elemento de la oración en sentido gramatical. Las dos familias siguen la estructura de la oración, no el gusto visual.

latex
% natbib: \citet is textual, \citep is parenthetical
\citet{knuth} describes how a paragraph is broken into lines.
The procedure is described in detail~\citep{knuth}.

% biblatex: same split, different names
\textcite{knuth} describes how a paragraph is broken into lines.
The procedure is described in detail~\parencite{knuth}.

Si se intercambian, la salida deja de ser una oración. Colocar \citep en el lugar del sujeto produce «(Knuth, 1986) describe cómo se reparte un párrafo en líneas»: una oración cuyo sujeto es un paréntesis. Usar \citet al final de una cláusula deja «el procedimiento está descrito en detalle Knuth (1986)», un nombre propio sin sitio. Estas dos faltas se detectan sorprendentemente mal en la corrección, y ningún control de estilo editorial las señalará, porque el error es gramatical, no tipográfico.

¿Y por qué no dejar que decida el \cite desnudo? Porque \cite nunca mira la gramática. En natbib es solo un alias del modo: con la opción authoryear equivale a \citet y con numbers equivale a \citep. Lo que decide es una palabra del preámbulo, no la forma de la oración. El \cite de biblatex es aún más seco: una etiqueta desnuda, sin añadido alguno, de modo que style=authoryear imprime solo Knuth 1986, una forma que no cabe ni en el hilo del texto ni en un paréntesis. El comando no tiene acceso a su sintaxis. Solo usted la tiene, y por eso existen comandos explícitos para los dos papeles.

Es tentador archivar esto entre los «problemas del autor-año», pero la distinción sobrevive a la numeración. En el modo numérico de natbib, \citet{knuth} imprime Knuth [1] y \citep{knuth} imprime [1]; del mismo modo, el \textcite de biblatex con style=numeric da Knuth [1]. Por eso «escribirlo todo con \cite ahora y cambiar de estilo después» es una trampa: en el instante del cambio, cada cita que debía sostener un sujeto se desploma en un corchete y quedan oraciones con un agujero donde estaba el nombre. El papel se consigna al escribir: es el único orden seguro.

Comando (natbib)Salida (authoryear)Papel
\citetKnuth (1986)textual; el nombre es un elemento de la oración
\citep(Knuth, 1986)parentética; nota situada fuera de la oración
\citeKnuth (1986)alias; \citet con authoryear, \citep con numbers
\citealtKnuth 1986forma textual sin paréntesis, para encerrarla uno mismo
\citealpKnuth, 1986la forma parentética con los paréntesis retirados
\citeauthorKnuthsolo el autor, para menciones posteriores
\citeyear1986solo el año, tras escribir el nombre a mano
\citeyearpar(1986)el año entre paréntesis, para combinar con \citeauthor
\citenum1el número desnudo; nunca en superíndice
\citetext(priv. comm.)texto libre colocado en los paréntesis de la cita

\citet y \citep tienen además formas con asterisco que despliegan toda la lista de autores allí donde el estilo abreviaría con et al. En un trabajo de tres autores, \citep{jbw} da (Jones et al., 1990) mientras que \citep*{jbw} imprime (Jones, Baker, and Williams, 1990). Las revistas que exigen la lista completa en la primera mención son el motivo habitual para recurrir a ello. Que el despliegue sea posible depende de que el estilo .bst conserve los nombres completos; si no los conserva, el asterisco no cambia nada y queda la forma abreviada.

biblatex conserva los mismos dos papeles y añade comandos para el lugar donde va la cita. \footcite manda la cita entera a una nota al pie; \supercite compone el número como superíndice. \autocite es un grado más abstracto: se convierte en \cite, \parencite, \footcite o \supercite según el valor de la opción de paquete autocite (plain, inline, footnote, superscript). Si el cuerpo se redacta con \autocite, una sola palabra del preámbulo mueve el documento entero entre cita parentética y cita a pie de página; eso sí, no puede sustituir a \textcite, porque una cita que forma parte de la oración no se deja trasladar mecánicamente a una nota. Lo más simpático del conjunto es \smartcite: se comporta como \footcite en el cuerpo y como \parencite dentro de una nota, mirando dónde ha caído para cambiar de forma.

Comando (biblatex)Salida (style=authoryear)Papel
\textciteKnuth (1986)textual; ocupa el lugar del sujeto
\parencite(Knuth 1986)parentética; corchetes en los estilos numéricos
\citeKnuth 1986etiqueta desnuda; no se añade nada alrededor
\autocite(Knuth 1986)sigue la opción de paquete autocite
\footcitenota: Knuth 1986.la cita entera pasa a una nota, con punto final
\smartcitenota: Knuth 1986.como \footcite en el cuerpo, como \parencite en una nota
\supercitenúmero en superíndice, sin corchetessolo estilos numéricos; las notas se descartan
\cite*1986solo el año en los estilos autor-año, solo el título en autor-título

Indicar página y capítulo: [p.~5] y la nota previa [see][p.~94]

natbib y biblatex toman ambos dos argumentos opcionales: el primero es una nota previa, el segundo una nota final. \citep[see][p.~94]{knuth} imprime (see Knuth, 1986, p. 94) y \citet[chap.~2]{lamport} da Lamport (1994, chap. 2). Los localizadores distintos de la página —capítulo, sección, figura, línea— se escriben igual en la nota final. La entradilla que el \cite desnudo no sabía expresar aquí sí es posible.

Aquí está la trampa en la que caen incluso los veteranos: cuando solo se da un argumento opcional, se lee como nota final. Escribir \citep[e.g.,]{knuth} pensando en una entradilla produce, pues, (Knuth, 1986, e.g.,), con el «e.g.,» varado detrás de la referencia. biblatex se comporta igual: \parencite[see]{knuth} da (Knuth 1986, see). La forma correcta conserva un segundo argumento vacío: \citep[e.g.,][]{knuth}. Dos corchetes seguidos parecen una errata, pero esa es la escritura buena.

biblatex añade aquí una pequeña cortesía: cuando la nota final no es más que un número, se lee como número de página y el p. lo pone él mismo — \parencite[25]{knuth} da (Knuth 1986, p. 25). El prefijo tampoco es fijo: un campo pagination en la entrada .bib lo reorienta. Con pagination = {verse} el mismo [17] sale como v. 17; con section, como § 17. En un manuscrito sobre obras clásicas o partituras que no se cuentan por páginas, ese único campo alinea todas las citas de golpe.

latex
% one optional argument is always the post-note
\citep[p.~94]{knuth}       % -> (Knuth, 1986, p. 94)

% two optional arguments are pre-note and post-note
\citep[see][p.~94]{knuth}  % -> (see Knuth, 1986, p. 94)

% a pre-note alone still needs the empty second bracket
\citep[e.g.,][]{knuth}     % -> (e.g., Knuth, 1986)
\citep[e.g.,]{knuth}       % -> (Knuth, 1986, e.g.,)  <- wrong

% biblatex reads a bare number as a page and adds "p."
\parencite[25]{knuth}      % -> (Knuth 1986, p. 25)

Citar varias obras a la vez: ordenar y comprimir los números

Varias obras se entregan siempre a un solo comando. \citep{knuth,lamport} da (Knuth, 1986; Lamport, 1994), o [1, 2] en un estilo numérico. Escribir \cite{knuth}\cite{lamport} las deja como [1][2], separadas e inordenables: el estilo no puede arreglar lo que nunca vio junto. Lo mismo vale para las citas textuales: el \textcite{knuth,lamport} de biblatex imprime Knuth (1986) and Lamport (1994) y aporta la conjunción, de modo que la oración sigue siendo una oración.

Cuando cada obra necesita su propia página, se usan las formas plurales de biblatex, las listas de citas cualificadas. \textcites[59]{knuth}[12]{lamport} imprime Knuth (1986, p. 59) and Lamport (1994, p. 12), y cada clave lleva sus propias notas previa y final. La serie está completa: \parencites, \footcites y demás. natbib no tiene equivalente, así que si las notas difieren por obra se yuxtaponen \citep[p.~59]{knuth} y \citep[p.~12]{lamport} y las palabras de enlace se escriben a mano.

Para conservar el estilo numérico y pulir solo su aspecto, el paquete cite de Donald Arseneau es la vía más cómoda. Basta \usepackage{cite} para que el \cite estándar se vuelva más listo: ordena los números de forma ascendente y comprime las series consecutivas en rangos. Si \cite{c,a,b,e} apunta a las entradas 2, 3, 4 y 6, la salida es [2–4, 6]. Sus opciones: superscript (alias super) para números voladitos, nosort para desactivar el orden, nocompress para desactivar los rangos, nospace para estrechar los huecos y nobreak para prohibir los saltos de línea. Ahora bien, natbib y biblatex traen su propio orden y su propia compresión —natbib con las opciones sort y sort&compress—, así que con cualquiera de los dos cite sobra.

De dónde sale el número: thebibliography y \bibitem

El número que imprime \cite{key} procede del \bibitem que lleva esa misma clave. La forma más elemental de escribir la lista a mano es el entorno thebibliography, donde cada \bibitem{key} ... representa una referencia. Se numeran 1, 2, 3… en el orden en que aparecen, y \cite recoge el número correspondiente. El {99} de \begin{thebibliography}{99} es el argumento de la etiqueta más ancha, del que se deduce el ancho de la columna de etiquetas: {99} a partir de diez entradas, {9} por debajo. Un valor equivocado desalinea los números y deja la sangría irregular. Para una etiqueta propia en lugar de un número basta con escribir \bibitem[KL94]{lamport}: [KL94] pasa a ser la etiqueta y \cite{lamport} también la imprime.

document.tex
\begin{thebibliography}{99}
\bibitem{knuth}
Donald E. Knuth, \emph{The \TeX book}, Addison-Wesley, 1986.

% an optional argument replaces the automatic number
\bibitem[KL94]{lamport}
Leslie Lamport, \emph{\LaTeX: A Document Preparation System},
2nd ed., Addison-Wesley, 1994.
\end{thebibliography}

Un thebibliography escrito a mano encaja en dos situaciones: un puñado de referencias, o una maquetación que se quiere gobernar hasta la coma. Más allá, guardar los datos bibliográficos en un archivo .bib como registros sin formatear y dejar que BibTeX o biber monten la lista resulta más rápido, más fiable y reutilizable. La numeración, el orden y el estilo se automatizan según las normas de la revista, y el mismo .bib puede compartirse entre varios manuscritos. Lo importante es que del lado de la escritura no cambia nada: \cite{knuth} busca una entrada .bib en vez de un \bibitem, y todos los comandos de esta página siguen valiendo igual.

Citas que salen como [?]: Citation ... undefined

[?] significa que, cuando se compuso la página, el archivo .aux no tenía ninguna etiqueta para esa clave. El registro muestra LaTeX Warning: Citation 'nosuchkey' on page 1 undefined on input line 4. y, al terminar la pasada, el resumen LaTeX Warning: There were undefined references. Solo hay dos causas: pasadas insuficientes o una clave que no coincide.

El número de pasadas funciona igual que para la numeración y las referencias cruzadas. La primera pasada escribe el número de cada \bibitem en el archivo .aux; la segunda lo relee y lo coloca en cada \cite. Con BibTeX o biber de por medio, el orden es latex → bibtex (o biber) → latex → latex, y saltarse el paso central deja [?] en su sitio. Del lado de la clave, además de la errata simple, modificar el .bib sin volver a ejecutar BibTeX produce el mismo síntoma. Borrar el .aux y empezar de cero es la forma más rápida de distinguir ambos casos.

biblatex no imprime un signo de interrogación: imprime la clave misma. \parencite{nosuchkey} sale como (nosuchkey), y el registro lleva Package biblatex Warning: The following entry could not be found .... En la página resulta desconcertante, pero como la clave perdida queda escrita a la vista, dar con la causa es de hecho más rápido.

Queda un síntoma que pertenece solo a natbib: se usa \citet, la salida dice (author?) [1] y el registro indica Package natbib Warning: Author undefined for citation 'knuth'. La culpa no es del comando de cita sino del estilo .bst. Un estilo que desconoce natbib —el que selecciona \bibliographystyle{plain}, por ejemplo— no escribe etiquetas con autor y año en sus líneas \bibitem. Cambiar a un estilo compatible, como \bibliographystyle{plainnat}, lo resuelve. Cuando \citet parece no funcionar, lo primero que hay que sospechar es el .bst.

natbib o biblatex: qué comandos de cita usar

Cargar uno solo de los dos y mantenerlo hasta el final: esa es toda la respuesta práctica. Ambos resuelven la misma tarea con diseños distintos, y cargarlos juntos hace que sus nombres de comando choquen. Si la revista o el congreso reparte una clase o un estilo, lo primero es acatar lo que pida; muchísimas clases de sociedades científicas dan por supuesto natbib. Cuando la elección es libre, biblatex gana en manejo de Unicode, documentos multilingües, citas a pie de página y variedad de estilos por disciplina. natbib se usa desde 1993 y cuenta con un enorme repertorio de archivos .bst compatibles, razón por la que las plantillas antiguas lo siguen prefiriendo.

Se elija lo que se elija, el orden de las decisiones no cambia. Primero hay que resolver si la cita es un elemento de la oración y elegir en consecuencia \citet/\textcite o \citep/\parencite. Después, añadir un localizador mediante los argumentos opcionales si hace falta, y agrupar varias obras con una lista separada por comas o con una lista cualificada. La apariencia —forma de los paréntesis, numérico o autor-año, separadores— va al final, y esa capa corresponde a las opciones de paquete y al archivo .bst o de estilo. Escribiendo en este orden, cambiar de destino editorial nunca cuesta más que la última capa.