Tenemos la solución a esta inconveniente, o por lo menos eso pensamos. Si tienes inquietudes coméntalo, que sin dudas
Solución:
Dado que esta pregunta surge con tanta frecuencia, pensé en intentar complementar la respuesta correcta de ArTourter con un comentario más general.
¿Qué significa un signo de interrogación?
Significa que en algún punto de la línea, la combinación de LaTeX y BibTeX no ha podido encontrar y formatear los datos de citas que necesita para la cita: LaTeX puede ver que desea citar algo, pero no sabe cómo hacerlo.
Las citas faltantes se muestran de manera diferente en biblatex
Si esta usando biblatex
no verá un signo de interrogación, sino que verá su cita key en negrita. Por ejemplo, si tiene un artículo en su .bib
archivo con el key Jones1999
ya verás Jones1999 en su PDF.
Como funciona todo esto
Para averiguar qué está sucediendo, debe comprender cómo se supone que funciona el proceso. Imagínese LaTeX y BibTeX como dos personas separadas. LaTeX es un tipógrafo. BibTeX es archivero. Aproximadamente, se supone que el proceso se ejecuta de la siguiente manera:
-
LaTeX (el tipografista) lee el manuscrito y le da tres piezas de información a BibTeX (el archivero): una lista de las referencias que deben citarse, extraídas del
cite
comandos; una nota de un archivo donde se pueden encontrar esas referencias, extraído delbibliography
mando; una nota del tipo de formato requerido, extraído delbibliographystyle
mando. -
BibTeX luego se apaga, busca los datos en el archivo que se le ha dicho que lea, consulta un archivo que le dice cómo formatear los datos y genera un nuevo archivo que contiene esos datos en una forma que ha sido organizada para que LaTeX pueda usarlo (el
.bbl
expediente). -
Luego, LaTeX tiene que tomar esos datos y componer el documento, y de hecho puede necesitar más de una ‘ejecución’ para hacerlo correctamente (porque puede haber relaciones internas dentro de los datos, o con el resto del manuscrito, que BibTeX ni conoce ni se preocupa, pero que son importantes para la composición tipográfica.
Su signo de interrogación le dice que algo salió mal con este proceso.
Más biblatex
y biber
notas
-
Si esta usando
biblatex
, la información de estilo se encuentra en las opciones pasadas a labiblatex
paquete, y los datos sin procesar están en eladdbibresource
mando. -
Si esta usando
biber
, la etapa descrita como BibTeX en esta respuesta generalmente se reemplaza con un archivero diferente y más astuto, Biber.
Qué hacer
Lo primero que debe hacer es asegurarse de haber pasado por todo el proceso al menos una vez: es por eso que, para lidiar con cualquier cita nueva, siempre necesitará al menos una ejecución de LaTeX (para preparar la información que necesita entregarse a BibTeX), una ejecución de BibTeX y una o más ejecuciones posteriores de LaTeX. Primero, asegúrese de haberlo hecho. Por favor informa eso latex
y bibtex
/biber
debe ejecutarse en su archivo principal (sin el final del archivo). En otras palabras, el nombre de base de su archivo principal: usted no ejecutar cualquier comando en el .bib
expediente.
latex MainFile
bibtex MainFile
latex MainFile
latex MainFile
Si aún tiene problemas, entonces algo salió mal en alguna parte. Y casi siempre se trata del flujo de información.
Su primer puerto de escala es el registro BibTeX (.blg
) expediente. Eso generalmente le dará la información que necesita para diagnosticar el problema. Así que abre ese archivo (que se llamará blah.blg
donde ‘bla’ es el nombre de su archivo fuente).
En un orden más o menos lógico:
-
BibTeX no encontró el archivo de estilo. Ese es el archivo que le dice cómo formatear las referencias. En este caso tendrá un error, y BibTeX se quejará
I couldn't open the style file badstyle.bst
. Si está intentando utilizar un estilo estándar, es casi seguro que se deba a que no ha escrito correctamente el estilo en subibliographystyle
comando – así que ve y verifica eso. Si está intentando utilizar un estilo no estándar, probablemente sea porque lo ha puesto en un lugar donde TeX no puede encontrarlo. (Para propósitos de prueba, creo que es prudente recordar que siempre se encontrará si está en el mismo directorio que su archivo fuente; pero si está instalando utilizando las instalaciones de su sistema TeX, como debería ser una persona sin experiencia, es poco probable que tenga ese problema). -
BibTeX no encontró el archivo de base de datos. Eso es
.bib
archivo que contiene los datos. En ese caso, el archivo de registro diráI couldn't open database file badfile.bib
y luego le advertirá que no encontró archivos de base de datos. La cura es la misma: regrese y verifique que haya escrito correctamente el nombre del archivo y que esté en algún lugar donde TeX pueda encontrarlo (si tiene dudas, colóquelo en la carpeta con su archivo fuente). -
BibTeX encontró el archivo, pero no contiene datos de citas para lo que estás intentando citar. Ahora solo obtendrá, en el archivo de registro:
Warning--I didn't find a database entry for "yourcitation"
. Eso es lo que te pasó. Podría pensar que debería haber recibido un error de tipo 2: pero no lo hizo porque, por casualidad, hay un archivo llamadomybib.bib
merodeando por el sistema (comokpsewhich mybib.bib
revelará), por lo que BibTeX encontró dónde se suponía que debía buscar, pero no pudo encontrar los datos que necesitaba allí. Pero, en esencia, el orden del diagnóstico es el mismo: compruebe que tiene el nombre de archivo correcto en subibliography
mando. Si está bien, entonces hay algo mal con ese archivo o con su comando de citación. El error más probable aquí es que ha olvidado incluir los datos en su.bib
archivo, o tiene más de uno.bib
archivo que usa y ha enviado BibTeX al incorrecto, o ha escrito mal la etiqueta de la cita (por ejemplo, ha hechocitenobdoy06
porcitenobody06
. -
Hay algún problema con el formato de su entrada en el
.bib
expediente. Eso no es infrecuente: es fácil (por ejemplo) olvidar una coma. En ese caso, debería tener errores de BibTeX, y en particular algo comoI was expecting a ',' or a '}'
y te dirán que fueskipping whatever remains of this entry
. Si eso realmente detiene la producción de una cita puede depender del error; Creo que BibTeX generalmente logra producir algo, perobiblatex
puede quedar totalmente perplejo. De todos modos, verifique y corrija la entrada en particular.
biblatex
y biber
notas
Si esta usando biblatex
, entonces generalmente también usará el programa Biber en lugar del programa BibTeX para procesar su bibliografía, pero se aplican los mismos principios generales. Por tanto, la secuencia de compilación se convierte en
latex MainFile
biber MainFile
latex MainFile
Resumen
El orden de diagnóstico es el siguiente:
-
¿He ejecutado LaTex, BibTeX (o Biber), LaTeX, LaTeX?
-
Mira el
.blg
archivo, que ayudará enormemente a responder las siguientes preguntas. -
¿BibTeX / Biber ha encontrado mi archivo de estilo? (Compruebe si tiene una
bibliographystyle
comando y que hay un.bst
con el mismo nombre donde se puede encontrar.) -
¿BibTeX / Biber ha encontrado mi base de datos? (Comprobar el
bibliography
lo nombra correctamente y se puede encontrar.) -
¿Ha encontrado el Derecha ¿base de datos?
-
¿La base de datos contiene una entrada que coincida con la cita que realmente escribí?
-
¿Esa entrada es válida?
-
Finalmente: cuando haya cambiado algo, no olvide que deberá pasar por el mismo LaTeX – BibTeX (o Biber) – LaTeX – LaTeX ejecutar de nuevo para aclararlo. (Eso no es del todo true: pero hasta que tenga una idea más clara del proceso, es una suposición segura).
La sintaxis de la bibliography
el comando es bibliographyfile1,file2,...
en su caso, parece que está llamando a un archivo llamado mybib
cuando su archivo bibliográfico es de hecho Bib
.
También tenga en cuenta que el archivo bibtex debe tener la .bib
extensión. los .bbl
El archivo será creado por bibtex.
Por lo tanto, debe cambiar el nombre de su archivo de bibliografía mybib.bib
y deshacerse del extra en el
bibliographymybib
llamar, y luego recompilar. Esto debería solucionar su problema.
Si para ti ha resultado de utilidad este post, nos gustaría que lo compartas con más programadores de este modo nos ayudas a dar difusión a esta información.