Computing">
Flexbib Manual
Flexbib Manual
Flexbib Manual
José M. Mira
Resumen
La gestión mecanizada de la bibliografı́a con BibTEX proporciona un im-
portante nivel de comodidad para el usuario, con tal de que utilice un modelo
de bibliografı́a de los contemplados en ciertos estilos estándar y, además, es-
criba en inglés. Pero el calificativo ((estándar)) realmente es un eufemismo
porque la lista de estilos que se encuentran en CTAN resulta interminable...
y es bastante fácil perderse en esa selva sin encontrar la respuesta buscada.
Sorprendentemente, y a diferencia del nivel de estandarización y flexibili-
dad desarrollado para otros aspectos de LATEX, que los hace accesibles a los
usuarios noveles, la bibliografı́a no ha alcanzado aún ese status y cuestiones
básicas, como la gestión de los idiomas, están sin automatizar.
En lo que sigue se presenta una propuesta para mejorar la situación y
se aportan algunos instrumentos para llevarla a cabo1 . Se utiliza un sistema
que permite una gestión estandarizada y flexible, que incluye los idiomas y
un amplio abanico de parámetros que simplifican la personalización de la
bibliografı́a.
Índice
0. Bibliografı́a: ¿manual o automatizada? 2
1. El sistema flexbib 8
1.1. Tipos de registros y campos gestionados . . . . . . . . . . . . . . . 9
1.2. Comandos de tipo \cite . . . . . . . . . . . . . . . . . . . . . . . . 11
1
4. Ilustraciones 26
Referencias 29
\begin{document}
\include{TemaUno}
2
Figura 1: Bibliografı́a construida manualmente
Documento con bibliografía construida de forma manual (en azul el código)
Donald E. Knuth en 1984 publicó su libro [4] sobre la herramienta TEX que había creado para
construir libros de calidad. Leslie Lamport [2] creó LATEX con la intención de simplif car la
tarea de aquéllos que desean utilizar TEX. El prólogo de su libro comienza así1 :
«LATEX [...] es una versión especial de TEX, programa creado por Donald Knuth.
TEX es un programa sof sticado diseñado para producir documentos de alta ca-
lidad, especialmente textos matemáticos. LATEX añade a TEX una colección de
comandos que simplif can el mecanograf ado, permitiendo al usuario concentrase
en la estructura del texto en vez de en los comandos para dar formato. Al transfor-
mar TEX en LATEX, he tratado de convertir un coche de carreras muy bien af nado
en un sedán familiar confortable. El sedán familiar no está pensado para ir tan rá-
pido o ser tan excitante de conducir como el coche de carreras, pero es confortable
y le llevará a la tienda de ultramarinos sin alborotos.»
Referencias
[1] Donald E. Knuth. The TEXbook. Addison Wesley, 1984.
[2] Leslie Lamport. LATEX A document preparition system. Addison Wesley, 1985.
[3] Bernardo Cascales Salinas, Pascual Lucas Saorín, José Manuel Mira Ros, Antonio Pallarés
Ruiz, and Salvador Sánchez-Pedreño Guillén. El libro de LATEX. Pearson - Prentice Hall,
2003.
[4] Donald E. Knuth. The METAFONTbook. Addison Wesley, 1986.
\begin{thebibliography}{1}
\bibitem{TeXbook} Donald~E. Knuth. {\em The \TeX book}. Addison
Wesley, 1984.
\bibitem{LaTeXbook} Leslie Lamport. {\em \LaTeX\ A document
preparition system}. Addison Wesley, 1985.
\bibitem{CLMPS2} Bernardo Cascales Salinas, Pascual Lucas
Saorín, José Manuel Mira Ros, Antonio Pallarés Ruiz, y
Salvador Sánchez-Pedreño Guillén.
{\em El libro de \LaTeX}. Pearson - Prentice Hall, 2003.
\bibitem{TeXbook} Donald~E. Knuth. {\em The METAFONTbook}.
Addison Wesley, 1986.
\end{thebibliography}
3
\include{TemaDos}
\include{TemaTres}
\input{ListaBiblio}
\end{document}
Cada Tema serı́a un archivo independiente con su contenido y sus citas. Cada nueva
cita se irı́a incorporando a ListaBiblio cuyo contenido serı́a únicamente la del
entorno thebibliography de la tesis. Pero para cada nueva cita a incluir habrı́a
que comprobar si el objeto estaba en ListaBiblio y cual era su Identificador
para poder citarla y si no lo estaba incorporar el nuevo objeto a ListaBiblio.
Durante el proceso de elaboración de la tesis podrı́a aparecer un nuevo TemaCuatro
que requiriera modificar el documento principal
\begin{document}
\include{TemaUno}
\include{TemaDos}
\include{TemaCuatro}
\include{TemaTres}
\input{ListaBiblio}
\end{document}
Obviamente, al acabar la tesis habrı́a que realizar una revisión manual apuntando
los comandos \cite utilizados para verificar que todos los objetos citados están
en ListaBiblio y que en dicha lista no sobra ningún objeto. Garantizar el orden
alfabético requiere trabajo, pero conseguir que el número de la cita refleje el orden
en la citación es una tarea muy complicada.
Oren Patashnik realizó un programa informático, BibTEX, para construir y dar
formato a ListaBiblio. El esquema de funcionamiento es similar al del modelo
manual que se ha descrito, pero realizado de forma automática y sin posible error.
En lugar de construir ListaBiblio se va construyendo progresivamente una
((base de datos)) con los objetos que “podrı́an” ser necesarios citar en el texto
mediante el comando \cite{Identificador}. Dicha base de datos es un archivo
en formato sólo texto con los objetos indicando el tipo al que pertenece (Book,
Article,InBook...) su Identificador y los campos que obligatoriamente hay que
rellenar (Author, Title, Year, Publisher...) para ese tipo de objeto. El programa
Jabref (v. Figura 2) es una interfaz gráfica muy amigable para ir construyendo las
bases de datos.
4
Figura 2: Jabref: BBDD para BibTEX
Contenido:
@Book{TeXbook,
title = {The \TeX book},
publisher = {Addison Wesley},
year = {1984},
author = {Knuth, Donald E.} }
@Book{LaTeXbook,
title = {\LaTeX\ A document preparition system},
publisher = {Addison Wesley},
year = {1985},
author = {Lamport, Leslie} }
@Book{Metafontbook,
title = {The METAFONTbook},
publisher = {Addison-Wesley},
year = {1986},
author = {Knuth, Donald E.} }
5
Figura 3: BibTEX: bibliografı́a automatizada
Donald E. Knuth en 1984 publicó su libro [2] sobre la herramienta TEX que había creado
para construir libros de calidad. Leslie Lamport [3] creó LATEX con la intención de simplif car
la tarea de aquéllos que desean utilizar TEX. El prólogo de su libro comienza así1 :
«LATEX [...] es una versión especial de TEX, programa creado por Donald Knuth.
TEX es un programa sof sticado diseñado para producir documentos de alta ca-
lidad, especialmente textos matemáticos. LATEX añade a TEX una colección de
comandos que simplif can el mecanograf ado, permitiendo al usuario concentrase
en la estructura del texto en vez de en los comandos para dar formato. Al transfor-
mar TEX en LATEX, he tratado de convertir un coche de carreras muy bien af nado
en un sedán familiar confortable. El sedán familiar no está pensado para ir tan rá-
pido o ser tan excitante de conducir como el coche de carreras, pero es confortable
y le llevará a la tienda de ultramarinos sin alborotos.»
Referencias
[1] Bernardo Cascales Salinas, Pascual Lucas Saorín, José Manuel Mira Ros, Antonio Palla-
rés Ruiz, and Salvador Sánchez-Pedreño Guillén. El libro de LATEX. Pearson - Prentice
Hall, 2003.
[3] Leslie Lamport. LATEX A document preparition system. Addison Wesley, 1985.
6
no ha encontrado y observaciones respecto a inconsistencias en los campos
de los objetos que aparecen en la base de datos utilizada.
3. Como en la etapa 1) se hace actuar de nuevo el compilador LATEX que se
encarga de buscar en el fichero Nombre.bbl (construido por BibTEXen la
etapa anterior) los \cite que aparecen y los reemplaza por el número que
tengan en la lista bibliográfica. Pero si alguno (o algunos) no lo encuentra,
en lugar de poner un número pone un sı́mbolo ? lo cual significa que se debe
añadirse dicha obra a la base de datos. Tarea que ha de ser realizada de
inmediato para a continuación repetir la etapa 2) ... y ası́ sucesivamente .
«LATEX [...] es una versión especial de TEX, programa creado por Donald Knuth.
TEX es un programa sof sticado diseñado para producir documentos de alta ca-
lidad, especialmente textos matemáticos. LATEX añade a TEX una colección de
comandos que simplif can el mecanograf ado, permitiendo al usuario concentrase
en la estructura del texto en vez de en los comandos para dar formato. Al transfor-
mar TEX en LATEX, he tratado de convertir un coche de carreras muy bien af nado
en un sedán familiar confortable. El sedán familiar no está pensado para ir tan rá-
pido o ser tan excitante de conducir como el coche de carreras, pero es confortable
y le llevará a la tienda de ultramarinos sin alborotos.»
Referencias
[CSLSMR+ 03] Bernardo Cascales Salinas, Pascual Lucas Saorín, José Manuel Mira Ros, An-
tonio Pallarés Ruiz, and Salvador Sánchez-Pedreño Guillén. El libro de LATEX.
Pearson - Prentice Hall, 2003.
[Lam85] Leslie Lamport. LATEX A document preparition system. Addison Wesley, 1985.
Revisando las tres figuras precedentes conviene llamar la atención sobre que:
Las figuras 1 y 3 tienen el mismo código, salvo en la parte final que corres-
ponde a la lista de bibliografı́a.
En la Figura 4 el formato numérico de las etiquetas es reemplazado por otro
de tipo autor (abreviado) + año.
7
En la primera lista de bibliografı́a, construida manualmente, las itálicas apa-
recen indicadas de forma explı́cita, pero en la base de datos (v. Figura 2)
no aparecen itálicas, ni tampoco los puntos al final de cada campo. De esas
tareas se ocupa BibTEX al generar la lista bibliográfica automatizada (.bbl)
que LATEX utiliza internamente.
1. El sistema flexbib
En el sistema LATEX mediante el comando \cite se realiza el control de la
correspondencia entre las referencias y la lista bibliográfica, encargándose el com-
plemento BibTEX de generar la lista bibliográfica de forma automatizada. Pero
los formatos utilizados en las publicaciones cientı́ficas para presentar las listas bi-
bliográficas y el modo en que aparecen citados en el cuerpo del documento los
ı́tems de dicha lista está lejos de ser homogéneo. Mientras que en algunas discipli-
nas es frecuente utilizar números entre corchetes para referirse a los elementos de
la lista bibliográfica, en otras, esa práctica resulta anecdótica y se utiliza en cam-
bio el autor + el año con idéntico propósito. Y cada uno de estos hábitos admite
variantes tanto respecto al formato de la cita en mitad del texto, ası́ como el de
la lista bibliográfica: utilización de cursivas, negritas, versalitas, ubicación del año,
etc.
Cuando, en 1985, Oren Patashnik y Leslie Lamport crearon BibTEX, ya eran
conscientes de esa problemática y utilizaron librerı́as diferentes para obtener for-
matos distintos: plain.bst, alpha.bst, abbrv.bst y unsrt.bst usando el mismo
ejecutable. Fueron las primeras librerı́as .bst; posteriormente se han ido realizanto
otras para cubrir aspectos no contemplados por aquellas2 .
El sistema flexbib es uno más de las realizaciones de librerı́as .bst junto con
paquetes .sty. Mi motivación para desarrollarlo fue prestar apoyo a mi esposa (y
a otras personas con necesidades similares) para una gestión automatizada de la
bibliografı́a en LATEX acorde con las prácticas usuales en su ámbito de investigación.
Para el desarrollo he aprovechado el trabajo realizado anteriormente por otras
personas, especialmente por Daly (2000), pero con una orientación complementa-
ria, que persigue generar un fichero .bbl lo suficientemente parametrizado como
para permitir diferentes formatos de bibliografı́a a partir de un único fichero .bbl,
sin necesidad de tener que elaborar ficheros de estilo bst ni realizar nuevas com-
pilaciones con BibTEX. Por razones de estandarización y economı́a de esfuerzos he
procurado utilizar los comandos de Daly.
2
https://www.ctan.org/topic/bibtex-sty
8
1.1. Tipos de registros y campos gestionados
Los ficheros de las bases de datos con los objetos de la bibliografı́a tienen una
estructura prefijada:
Los tipos de registro (i.e. los diferentes tipos de objetos en la bibliografı́a) que
flexbib maneja son los estándar que están contemplados por BibTEX y JabRef los
muestra (Select entry type) cada vez que se va a introducir un nuevo registro (v.
Figura 2) indicando qué campos son obligatorios y cuales opcionales; el contenido
del registro se guarda en un fichero “solo texto” con el formato que en dicha figura
se muestra:
@Tipo{Identificador
author = {Autor and autor2 and autor3},
title = {Tı́tulo},
year = {Año},
publisher = {Editorial},
etc.
}
Los campos que flexbib gestiona son:
abstract edition journal organization translator
address editor key pages type
author eid language publisher url
booktitle howpublished month school volume
chapter institution mrnumber series year
comment isbn note title
doi issn number shorttitle
Los campos en color negro son los contemplados en los estilos estándar de bi-
bliografı́a (plain, alpha, unsrt, abbrv y apalike) creados por Oren Patashnik
(1988a,b) para BibTEX y el nombre siguiere el tipo de contenido que alberga. A
esos campos el sistema flexbib añade y gestiona otros, cuyo uso puede depender
del tipo de registro (obra) de que se trate.
abstract Destinado a incluir un resumen de la obra.
comment Destinado a anotaciones personales o comentarios sobre la obra.
doi Destinado a recoger el DOI (Digital Object Identifier).
edition Es un tema más complicado porque en español el comportamiento es
estable (1a 2a 3a edición) mientras en inglés, y otros idiomas, no lo es (1st
2nd 3rd edition). En consecuencia lo más razonable es traducir únicamente
el término ((edición)) y para el número poner lo que corresponda según que
la base de datos vaya a usarse para escribir en inglés o en español.
9
eid Destinado a recoger el EID (Electronic Identification).
language Permite realizar una elección, al estilo babel, que tiene efectos sobre la
traducción de determinadas partı́culas que aparecen en las listas bibliográfi-
cas (and, and other, in, edition...) o sobre hábitos relativos a la utilización
de comillas en los diferentes idiomas. SUPRIMIR
no existe
el campo
mrnumber Este campo es usado en MathSciNet para indicar el número de referen-
cia de la recensión de un libro o artı́culo.
shorttitle Destinado a recoger una versión abreviada del tı́tulo para su posible
uso en una cita.
url Destinado a recoger el URL (Universal Resource Locator) del elemento. Para
la utilización de este campo es sumamente aconsejable hace uso del paquete
hyperref.
Y permite generar listas bibliográficas y citas a lo largo del texto que cubren
los estilos de bibliografı́a de uso más frecuente. Además está bastante pa-
rametrizado para personalizar, de forma sencilla, diferentes aspectos de los
ingredientes citados.
10
El año (year) se puede hacer aparecer a continuación de los autores o después
de la información editorial.
Cuando aparecen dos o más ı́tems en la lista con idénticos autores es posible
elegir si se repiten en todos los ı́tems los autores o si, por el contrario, sólo
aparecen en el primero de los ı́tems, siendo sustituidos en los restantes por
una raya.
Cuando hay varios autores, es posible elegir el separador que se utilizará
entre ellos.
Para el caso del tı́tulo de los artı́culos es posible elegir los tipos y las even-
tuales comillas.
También pueden controlarse los tipos para el año y el volumen.
El campo estándar note, destinado a anotaciones intrı́nsecamente significa-
tivas para el elemento de la bibliografı́a, aparece reflejado siempre en la lista,
pero existe además un campo comment, destinado a comentarios o anotacio-
nes personales sobre la obra, que pueden resaltar de utilidad para el autor
durante el proceso de elaboración del documento, pero no para la versión
final. Algo similar ocurre con el campo abstract. Las opciones nocomment
noabstract al cargar el paquete flexbib hacen desaparecer esos campos.
Es posible seleccionar la separación entre los ı́tems ası́ como la sangrı́a inversa
para el caso de las listas autor-año.
El correcto funcionamiento de las referencias cruzadas entre las citas y la lista
bibliográfica requiere, como es habitual, como mı́nimo dos compilaciones con LATEX
después de haber generado con BibTEX el correspondiente fichero bbl. El paquete
hyperref transforma estas referencias en hiperenlaces.
11
\cite \cite*
Ambos comandos pueden usar hasta dos argumentos opcionales, que denotamos
respectivamente con [Anterior] [Posterior], en clara alusión a su posición con
relación al autor-año.
\cite[Anterior][Posterior]{Identificador}
Si se utiliza sólo uno de los dos posibles argumentos opcionales será interpretado
como el segundo de ellos y es equivalente al único argumento optativo del comando
\cite estándar, es decir, va en posición Posterior. El argumento Anterior aparece
antes de la etiqueta básica y su utilización requiere cumplimentar, aunque sea
con contenido vacı́o, el segundo argumento optativo. Y los paréntesis cambian de
posición como consecuencia de los argumentos opcionales (v. Ejemplo 1).
A continuación se detallan otros comandos con efectos sobre los paréntesis (po-
sición y existencia) en las citas a lo largo del texto; la versión con * está destinada
a ser usada cuando se desea que aparezcan todos los autores en caso de ser tres o
más. Como se aprecia, el comportamiento, por defecto, del comando \cite es el
corresponde al comando \citet; pero, como más adelante veremos, éste y otros
comportamientos por defecto pueden ser personalizados.
Comando Apariencia Comando Apariencia
\citet autores (año) \citet* autores (año)
\citep (autores, año) \citep* (autores, año)
\citealt autores año \citealt* autores año
\citealp autores, año \citealp* autores, año
El autor y el año pueden ser recuperados de forma independiente
\citeauthor{Identificador} \citeauthor*{Identificador}
\citeyear{Identificador} \citefullauthor{Identificador}
\citeyearp{Identificador}
Estos comandos facilitan la posibilidad de personalizar la apariencia de las citas a
lo largo del texto. El * es para ser usado, como en otras ocasiones, para recuperar
todos los autores. El comando \citefullauthor es un pseudónimo del comando
\citeauthor*. La diferencia entre \citeyear y \citeyearp es que el segundo
recupera el año entre paréntesis.
12
EJEMPLO 1
\cite{CARRILLO2017} Carrillo Gallego (2017)
\cite{CarrilloSanchez2007} Carrillo y Sánchez (2007)
\cite{CLMPS} Cascales Salinas et al. (2003)
\cite*{CLMPS} Cascales Salinas, Lucas Saorı́n, Mira Ros, Pallarés Ruı́z
y Sánchez-Pedreño Guillén (2003)
@Book{CLMPS,
title = {El libro de \LaTeX}, A la izquierda el registro CLMPS en la base de datos
publisher = {Pearson - Prentice Hall},
year = {2003},
author = {{Cascales Salinas}, Bernardo and
{Lucas Saorı́n}, Pascual and
{Mira Ros}, José Manuel and
{Pallarés Ruiz}, Antonio and
{Sánchez-Pedreño Guillén}, Salvador},
}
EJEMPLO 2
\citeauthor{CLMPS} los autores Cascales Salinas et al.
\textsc{\citeauthor{CLMPS}} (en versalita) Cascales Salinas et al. (en versalita)
\citeyear{CLMPS} el año 2003 el año
\citeyearp{CLMPS} (2003)
\citeauthor*{CLMPS} Cascales Salinas, Lucas Saorı́n, Mira Ros, Pallarés Ruı́z
y Sánchez-Pedreño Guillén
[\citeauthor{CLMPS}, \citeyear{CLMPS}] [Cascales Salinas et al., 2003]
Control manual del formato de cita recuperando el autor y el año de forma independiente
13
una obra es citada en un capı́tulo, lo que se muestra es la información “completa”
que aparece en la lista bibliográfica, mientras que en posteriores citas del capı́tulo,
igualmente a pie de página, se muestra una información más corta utilizando autor
+ un tı́tulo abreviado. Para dar respuesta a esas necesidades flexbib implementa
los comandos
\citefull{Identificador} \citeshort{Identificador}
\citeshortT{Identificador}
El primero de ellos incorpora la cita en el texto con el mismo formato utilizado
para esa referencia en la lista bibliográfica general, salvo que nunca incorpora los
campos abstract y comment.
Los otros dos requieren haber usado el campo shorttitle para el correspon-
diente registro y su utilización hace aparecer en cita el autor junto con el fragmento
del tı́tulo (o tı́tulo abreviado) contenido en dicho campo. Ambos comandos persi-
guen el mismo objetivo; pero cual de los dos comandos de la derecha hay que usar
y como se escribe el contenido de shorttitle está ligado al comportamiento de
BibTEX y depende de la siguiente casuı́stica:
A) no existen los campos author, editor;
B) el número de autores es 1 ó 2;
C) el número de autores es 3 o más.
En los casos A) y C) se utiliza el comando \citeshortT y en el caso B) se
utiliza el comando \citeshort (v. Ejemplo 3).
Con los comandos citesort es posible hacer citas en formato autor + tı́tulo
completo: basta para ello repetir en el campo shortitle el contenido del campo
title. Pero el formato autor + tı́tulo abreviado, lo considero más práctico.
Si se ha cargado el paquete hyperref, los comandos \cite y \citesort que
generan información parcial de elementos de la bibliografı́a hiperenlazan con la lista
bibliográfica del registro correspondiente para obtener la información completa.
Pero si en algún momento se ha usado el comando \citefull para ese registro,
el hiperenlace conecta con la primera utilización del comando \citefull, que
también contiene la información completa.
14
EJEMPLO 3
\citefull{TeXbook} es la referencia adecuada Knuth, Donald E.: The TEXbook. Addison Wesley,
1984 es la referencia adecuada
@Article{CMO2021,
author = {{Carrillo Gallego}, Dolores and
{Maurandi López}, Antonio and {Olivares Carrillo}, Pilar},
title = {Los juegos decrolyanos matemáticos y los catálogos de material escolar en España},
journal = {Paedagogica Historica},
year = {2021},
volume = {57},
number = {1-2},
pages = {85-103},
shorttitle ={, Los juegos decrolyanos matemáticos...},
15
La opción footcite hace que el comando \cite coincida con \citefull y
por tanto \cite utiliza toda la información del correspondiente elemento de
la bibliografı́a; en este caso el comando \cite se utiliza, tı́picamente, en el
argumento de un comando \footnote.
La elección de una opción puede, implicitamente, afectar a otras opciones;
por ejemplo plain ejecuta las opciones square,comma,dateend mientras que
footcite ejecuta las opciones round,colon,dateend y además interpreta
\cite como \citefull.
round | square | curly | angle
Determina el formato de los ((paréntesis)) en las citas. Que corresponden,
respectivamente, a: paréntesis (), corchetes [], llaves {} y ángulos <>. ok
sort
Cuando en el argumento de un comando \cite hay varios Identificadores,
por defecto, el orden de aparición de las citas respeta el utilizado en el argu-
mento del comando \cite. Pero si se selecciona esta opción el orden coincide
con el orden que les corresponde en la lista bibliográfica. ok
nonamereplace
16
Cuando en la lista bibliográfica hay varias obras de un mismo autor (o gru-
po de autores), por defecto, flexbib se limita a escribir el autor la prime-
ra vez y en los demás casos lo sustituye por el valor asignado al comando
\namereplace, que es una raya. Esta opción desactiva tal sustitución. ok
dateend | datebegin
Esta opción afecta a la lista bibliográfica y permite controlar la posición
de la fecha en los ı́tems de la lista. La opción dateend hace aparecer la
fecha tras la ((información editorial)), y es la opción utilizada por defecto.
Con la opción datebegin se consigue que la fecha aparezca inmediatamente
después del autor (o autores), lo cual es también un formato usado en las
listas bibliográficas.
Cuando en un registro los campos author y editor están ausentes, si se usa
la opción datebegin el correspondiente ı́tem de la lista bibliográfica se inicia
con el año, lo cual, en términos estéticos, es menos satisfactorio que el que
se obtiene con la opción dateend.
Hay que señalar asimismo que ambas opciones, en el caso de los campos
antes mencionados estén vacı́os, utilizan los tres primeros caracteres del
Identificador de la obra para la cita en los modelos autor + año. Si se
utiliza el campo key su contenido desempeña el papel del campo author de
cara a la ordenación en la lista y referencia.
noabstract
Cuando un registro utiliza el campo abstract su contenido aparece en la lista
bibliográfica. Con esta opción se suprime la inclusión del campo abstract
en dicha lista. ok
nocomment
Análoga a noabstract, pero referida al campo comment. ok
final
Esta opción equivale a nocomment,noabstract. OK
nourl
Análoga a las anteriores, referida al campo url. ¿sin
hyperref
es posible?
openbib
En el archivo .bbl que BibTEX genera para construir la lista bibliografica,
el contenido de campos como: title, publisher, isbn, etc. aparecen prece-
didos del comando \newblock. Por defecto tal comando está definido para
17
que no haga nada. Cuando se utiliza esta opción el comando es redefinido
para que inicie una nueva lı́nea para cada uno de tales campos. Algunos de
los campos (comment, abstract) no están precedidos de \newblock. ok
sectionbib
Por defecto, la lista bibliográfica aparece incorporada como un \chapter*,
para la clase book y como una \section* para la clase article. Con esta
opción se consigue que en ambos casos la lista bibliográfica se incluya como
una \section*. ok
nonamebreak
Incluye en las citas los diferentes autores de una obra dentro de un comando
\mbox evitando ası́ la sepación de éstos. Es una opción que puede tener efectos
secundarios negativos, porque pueden producirse lı́neas largas o cortas, y en
situaciones ası́ es necesario adoptar manualmente medidas paliativas. ok
\newcommand{\citenamefont}[1]{#1}
\newcommand{\citeandfont}[1]{#1}
\newcommand{\citetalfont}[1]{#1}
18
El argumento para la primera es el apellido del autor/editor; para la segunda es
el valor de la partı́cula “y” o similares que genera el comando \bbland de acuerdo
con el idioma; para la tercera es lo análogo para el comando \bbletal que genera
algo del tipo “et al.”.
Los valores de tales comandos son asignados recursivamente por: flexbib.sty;
el fichero de configuración local flexbib.cfg (si existe) y las redefiniciones que
hayan sido realizadas en el documento utilizando \renewcommand, como ilustra el
Ejemplo 7.
Como ya se ha señalado, las opciones al cargar el paquete flexbib tienen
efectos sobre el formato de los paréntesis y signos de puntuación utilizados en las
citas. Pero también es posible fijar estos elementos mediante el siguiente comando
con seis argumentos obligatorios.
\bibpunct{#1 }{#2 }{#3 }{#4 }{#5 }{#6 }
19
y para el conjunto de la misma (el último de ellos).
\bibnamefont \bibfnamefont \bibandfont
\bibyearfont \bibvolfont \bibinfont
\enquote \inbooktitlefont \bibfont
Los de la primera fila controlan el formato de la tipografı́a para autores y edito-
res en: apellidos, nombre y la partı́cula correspondiente a \bbland. Son similares a
los de nombre similar en la sección 2.1, pero referidos ahora a la lista bibliográfica
en lugar de a las citas.
\newcommand{\bibnamefont}[1]{\textsc{#1}}
\newcommand{\bibfnamefont}[1]{\textsc{#1}}
\newcommand{\bibvolfont}[1]{\textbf{#1}}
\newcommand{\bibyearfont}[1]{#1}
\newcommand{\bibvolfont}[1]{\textbf{#1}}
\newcommand{\bibinfont}[1]{#1}
\newcommand{\enquote}[1]{\guillemotleft#1\guillemotright}
\newcommand{\inbooktitlefont}[1]{\emph{#1}}
Salvo el último que es una declaración (comando sin argumento) los restantes
son comandos de un argumento y pueden ser redefinidos usando flexbib.cfg, o
en el propio documento con \renewcommand de forma análoga a la realizada en el
Ejemplo 7. Para modificar la declaración \bibfont se procede de forma similar,
pero sin utilizar la variable #1. Por ejemplo, mediante
\renewcommand{\bibfont}{\small}
se obtendrı́a una lista bibliográfica con unos tipos de tamaño inferior a los utilizados
en el resto del documento.
Los comandos del siguiente grupo son declaraciones destinadas a controlar ele-
mentos de separación o sustitución de autores.
\nameseparator \bbland \namereplace \namesend
20
Cuando hay tres o más autores (editores), los primeros se separan entre sı́ me-
diante un carácter (por defecto es punto y coma): \nameseparator es el encargado
de hacerlo. Pero el último se separa de los anteriores de forma diferente (por de-
fecto ((y)) o lo que corresponda de acuerdo con el idioma): \bbland se ocupa de
declararlo cuando los autores son dos o más.
Cuando un autor (o grupo de autores) aparece repetido en la lista bibliográfica,
es una práctica frecuente sustituirlo por un filete; y es lo que hace por defecto
flexbib. Con la opción nonamereplace se evita tal reemplazamiento.
A modo de ilustración se indican a continuación los valores por defecto:
\newcommand{\nameseparator}{;}
\newcommand{\namereplace}[1]{---{}---}
\newcommand{\namesend}{:}
\def\bbland{{\upshape y}} \def\bbland{\&}
\setlength{\bibhang}{1em}
21
Como muestran los ejemplos, el comando \bibliography genera un apartado que
consta de un tı́tulo (Referencias en el caso de la clase article o Bibliografı́a
para la clase book) y a continuación la lista con las referencias bibliográficas. La
declaración \bibpreamble puede ser utilizada para incluir ((comentarios)) entre el
tı́tulo y el primer ı́tem de la lista bibliográfica. Como tal cosa es muy infrecuente,
por defecto no tiene ningún contenido pero, por ejemplo, podrı́a ser redefinido para
añadir algo del tipo
El contenido de \bibpreamble utiliza los tipos normales del documento (salvo que
explı́citamente se fijen otros en su redefinición, como ocurre en el Ejemplo 13) y
no se ve afectado por la declaración \bibfont que determina el formato global de
los tipos en la lista bibliográfica.
22
El campo comment se comporta de forma análoga a abstract y existe el co-
rrespondientemente comando
\bibcomment{Identificador}{ContenidoDelCampoComment}
cuyo antetı́tulo, que establece la declaración \bibcommentname, depende de la
opción del idioma. Su valor puede ser redefinido, por ejemplo:
\renewcommand{\bibcommentname}{Notas personales}
\newcommand{\bibcomment}[2]{%
\begin{quotation}
\noindent\textsc{\bibcommentname:}\ #2\end{quotation}}
\newcommand{\bibtranslator}[1]{#1}
\renewcommand{\bibtranslator}[1]{(#1)}
\newcommand{\MR}[1]{[#1]}
23
3.2. Citas en el ı́ndice
La utilización de un comando \cite a lo largo del texto incorpora el objeto
citado a la lista bibliográfica y, además con el paquete hyperref, se genera un
hiperenlace desde ese lugar al correspondiente objeto en la lista bibliográfica.
Pero también es posible construir una lista para localizar fácilmente las página
en las que un determinado objeto de la lista bibliográfica ha sido citado. Tal cosa
puede resultar de utilidad durante el proceso de construcción del ((libro)), más
que para la versión final del mismo. La técnica consiste en que cada comando
\cite genere internamente un comando \index que pueda ser gestionado en la
forma usual con el paquete makeindex. Concretamente, es necesario incluir en el
preámbulo \usepackage{makeidx} \makeindex y el lugar que se desee crear el
ı́ndice poner \printindex.
\citeindextrue \citeindexfalse
Son comandos que permiten a partir del momento en que son usados activar, o
respectivamente, desactivar la inclusión en el ı́ndice alfabético de la lista de páginas
en las que las obras han sido citadas.
No solo los comandos \cite, también los comandos \bibitem existentes en la
lista bibliográfica (archivo .bbl) también generan comandos \index a menos que
antes del comando \bibliography se haga uso del comando \citeindexfalse.
EJEMPLO 4
\documentclass[11pt,a4paper]{article} Referencias
\usepackage{makeidx} \makeindex Ballarín Domingo, Pilar (1989). «La educación de la mu-
\usepackage[noabstract,nocomment]{flexbib} jer española en el siglo XIX». Historia de la Educación, 8,
pp. 245–260.
\begin{document} Benso Calvo, María del Carmen (1983). «Génesis y pro-
\citeindextrue blemática del funcionariado docente en España: un aspecto
... este documento contiene cuatro comandos de la política escolar del siglo XIX». Historia de la Educa-
del tipo \cite{Identificador} ... ción, 2, pp. 255–262.
\printindex
\end{document}
Índice con las obras citadas, indicando las páginas en las que se citan
24
3.3. Comentarios finales
Cuando se escribe con LATEX un trabajo cuya producción final la realiza to-
talmente el autor del mismo, una gestión automatizada de la bibliografı́a como la
propuesta puede resultar muy atractiva debido a su confortabilidad. Pero no siem-
pre es ası́ y resulta natural preguntarse ¿qué ocurre si ese trabajo ha de ser enviado
a un editor de una revista para que lo ensamble con otros construidos utilizando
herramientas diferentes? Esa es exactamente la situación que se produjo cuando
se publicó Mira (2004). Pero como el artı́culo habı́a sido elaborado utilizando
flexbib fue muy sencillo resolver la cuestión por las razones que siguen.
BibTEX genera la lista bibliográfica ordenada almacenándola en un fichero,
cuyo nombre coincide con el del documento principal y cuya extensión es bbl.
Tal fichero se construye utilizando los comandos \bibliography (para extraer la
información de la base de datos) y \bibliographystyle (para darle el formato a
los registros); pero una vez generado, dicho fichero es el único que LATEX necesita
para producir la lista bibliográfica en la ((última compilación)).
Tal fichero, que no es otra cosa que un entorno thebibliography, es el que
LATEX usa en la siguientes compilaciones para construir la bibliografı́a. En el caso
de los cuatro estilos estándar de bibliografı́a, que únicamente emplean comandos
((universalmente)) comprensibles para LATEX, eso es todo lo que hay que hacer, pero
en caso de utilizar en el entorno thebibliography comandos no ((universalmente))
comprensibles para LATEX (flexbib trabaja de ese modo para conseguir la para-
metrización buscada), dichos comandos han de ser definidos mediante un paquete
para LATEX o bien incorporar las definiciones de los comandos usados en el propio
fichero bbl. El sistema flexbib es consciente de ello y genera un fichero bbl sufi-
cientemente autónomo para conseguir buena parte de las prestaciones del sistema
sin necesidad de que esté presente flexbib. Ello permite además que el autor o
el editor puedan, si lo desean, hacer retoques posteriores en el contenido del fiche-
ro .bbl de forma muy sencilla y con carácter general para todos los ı́tems de la
bibliografı́a.
En consecuencia, bastó con enviar al editor el fichero .bbl que contenı́a la lista
bibliográfica generada por flexbib, que estaba muy parametrizada, y el editor sólo
tuvo que cambiar algunos parámetros para adaptarlos a los hábitos de su revista. OK
25
4. Ilustraciones
El primer ejemplo muestra el comportamiento por defecto. Los demás modifican
ese comportamiento actuando sobre algunas de las posibilidades de control.
EJEMPLO 5
\usepackage{flexbib} Las citas en el texto
... Chomsky et al. (1973) ... Croft (1978) ... Croft (1980)
\begin{document}
Sin opciones (las opciones authoryear, spanish y namereplace son usadas por defecto)
EJEMPLO 6
\usepackage[plain]{flexbib} Las citas en el texto
...[2] ...[1]
\begin{document}
Referencias
\section*{Las citas en el texto}
...\cite{chomsky-73} ...\cite{croft-tesis} [1] Chomsky, N. y López, J. M.: ((Condiciones de
transformación)). En: S. R. Anderson y P. Kiparsky
(Eds.), A festschrift for Morris Halle, Holt, Ri-
\bibliography{test} nehart & Winston, New York, 1973.
\bibliographystyle{flexbib} [2] Croft, W. B.: Organizing and searching large files
of document descriptions. Tesis doctoral, Cambrid-
ge University, 1978.
Opción plain
EJEMPLO 7
... la versión por defecto˜\cite{Mar00} ... la versión por defecto Martı́nez (2000)
\renewcommand{\citenamefont}[1]{\textsc{#1}} ... la versión modificada Martı́nez (2000)
... la versión modificada˜\cite{Mar00}
26
EJEMPLO 8
\usepackage[plain,french]{flexbib} Las citas en el texto
...[2] ...[1]
\begin{document}
Referencias
\section*{Las citas en el texto}
...\cite{chomsky-73} ...\cite{croft-tesis} [1] Chomsky, N. et López, J. M.: (( Condiciones de
transformación )). Dans: S. R. Anderson y P. Ki-
parsky (Réds.), A festschrift for Morris Halle, Holt,
Rinehart & Winston, New York, 1973.
\bibliography{test} [2] Croft, W. B.: Organizing and searching large files
\bibliographystyle{flexbib} of document descriptions. Thèse de doctort, Cam-
bridge University, 1978.
Opciones plain y french (obsérvese el espacio en las comillas que introduce french)
EJEMPLO 9
\usepackage[datebegin]{flexbib} Las citas en el texto
... Chomsky et al. (1973) ... Croft (1978) ... Croft (1980)
\begin{document}
EJEMPLO 10
\usepackage[nonamereplace]{flexbib} Las citas en el texto
...Chomsky et al. (1973) ...Croft (1978) ...Croft (1980)
\renewcommand{\bibnamefont}[1]{#1}
\renewcommand{\bibfnamefont}[1]{#1} Referencias
27
EJEMPLO 11
\usepackage[datebegin]{flexbib} Las citas en el texto
... Chomsky et al. (1973) ... Croft (1978) ... Croft
\renewcommand{\citenamefont}[1]{\textsc{#1}} (1980)
Referencias
\begin{document}
Chomsky, N. y López, J. M. (1973). ((Condiciones de
\section*{Las citas en el texto} transformación)). En: S. R. Anderson y P. Kiparsky
... \cite{chomsky-73} ... \cite{croft-tesis} (Eds.), A festschrift for Morris Halle, Holt, Rinehart &
.... \cite{croft-80} Winston, New York.
Croft, W. B. (1978). Organizing and searching large fi-
les of document descriptions. Tesis doctoral, Cambridge
University.
\bibliography{test}
\bibliographystyle{flexbib} —— (1980). New models on organizing document descrip-
tions. Journal of European Models, 69, pp. 55-89.
EJEMPLO 12
\usepackage[datebegin]{flexbib} Las citas en el texto
\renewcommand{\bibinfont}[1]{\textbf{#1}} ... Chomsky et al. (1973) ... Croft (1978) ... Croft (1980)
\begin{document}
Referencias
\section*{Las citas en el texto}
... \cite{chomsky-73} ... \cite{croft-tesis} Chomsky, N. y López, J. M. (1973). ((Condiciones de
.... \cite{croft-80} transformación)). En: S. R. Anderson y P. Kiparsky
(Eds.), A festschrift for Morris Halle, Holt, Rinehart &
Winston, New York.
Croft, W. B. (1978). Organizing and searching large fi-
\bibliography{test} les of document descriptions. Tesis doctoral, Cambridge
\bibliographystyle{flexbib} University.
—— (1980). New models on organizing document descrip-
tions. Journal of European Models, 69, pp. 55-89.
EJEMPLO 13
\usepackage[datebegin]{flexbib} Referencias
\renewcommand{\bibpreamble}{ [Tengase en cuenta que ...]
\textbf{[Tengase en cuenta que ...]}
Chomsky, N. y López, J. M. (1973). ((Condiciones de
\begin{document} transformación)). En: S. R. Anderson y P. Kiparsky
... (Eds.), A festschrift for Morris Halle, Holt, Rinehart &
Winston, New York.
\bibliography{test} Croft, W. B. (1978). Organizing and searching large fi-
\bibliographystyle{flexbib} les of document descriptions. Tesis doctoral, Cambridge
University.
—— (1980). New models on organizing document descrip-
tions. Journal of European Models, 69, pp. 55-89.
28
EJEMPLO 14
\usepackage[datebegin]{flexbib} Referencias
\renewcommand{\bibtranslator}[1]{(#1)}
Chomsky, N. y López, J. M. (1973). ((Condiciones de
\bibliography{test} transformación)). En: S. R. Anderson y P. Kiparsky
\bibliographystyle{flexbib} (Eds.), A festschrift for Morris Halle, Holt, Rinehart &
Winston, New York.
@BOOK{VigilarCastigar, Foucault, Michel (2002). Vigilar y castigar: Nacimien-
title = {Vigilar y castigar: to de la prisión. (Traducido por Aurelio Garzón del Ca-
Nacimiento de la prisión}, mino. Publicada originalmente en 1975). Siglo Veintiuno
publisher = {Siglo Veintiuno editores}, editores, Buenos Aires, Argentina, 1o edición.
year = {2002},
author = {Foucault, Michel},
address = {Buenos Aires, Argentina},
edition = {1a },
translator = {Aurelio Garzón del Camino.
Publicada originalmente en 1975},
}
EJEMPLO 15
\usepackage{flexbib} Referencias
Referencias
Daly, Patrick W. (2000). ((Natural Sciences Citations and References)).
https://www.ctan.org/pkg/natbib. Documentación oficial de natbib.
29
Patashnik, Oren (1988a). ((BIBTEXing)).
http://mirrors.ctan.org/biblio/bibtex/base/btxdoc.pdf.
30