LaTeX: Advertencias de 'cita no definida'

LaTeX: Advertencias de 'cita no definida'

Al ejecutar este código de muestra:

\documentclass[11pt,a4paper]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage[onehalfspacing]{setspace}
\usepackage{natbib}

\begin{document}

Hello World \cite{greenwood_theoretical_2016}

\end{document}

\bibliography{Bibliography}
\bibliographystyle{plain}

Sigo recibiendo la advertencia:

'Cita greenwood_theoretical_2016 en la página 1 indefinida en la línea de entrada 10'

y las referencias están marcadas como '?' en el documento.

Estoy usando Sublime Text 3.2 con LaTeXToolsmacOS High Sierra.
El constructor está configurado en 'básico' entonces se ejecuta:

pdflatex
bibtex
pdflatex
pdflatex

Exporté mi bibliografía desde Zotero (Formato: Bibtex; Codificación: UTF-8) y verifiqué el archivo 'Bibliography.bib' (que está en el mismo directorio) y las citas parecen ser correctas (ejemplo):

@article{greenwood_theoretical_2016,
title = {Theoretical, contemporary observational and palaeo-perspectives on ice sheet hydrology: {Processes} and products},
volume = {155},
issn = {0012-8252},
shorttitle = {Theoretical, contemporary observational and palaeo-perspectives on ice sheet hydrology},
url = {http://www.sciencedirect.com/science/article/pii/S0012825216300095},
doi = {10.1016/j.earscirev.2016.01.010},
urldate = {2018-12-05},
journal = {Earth-Science Reviews},
author = {Greenwood, Sarah L. and Clason, Caroline C. and Helanow, Christian and Margold, Martin},
month = apr,
year = {2016},
keywords = {Geomorphology, Esker, Meltwater, Review, Hydrology, Channel, Glacier, Ice Sheet},
pages = {1--27}

Usandobiblatexen lugar de natbibdarme la etiqueta de la referencia entre corchetes, es decir

Hola mundo [greenwood_theoretical_2016]

También intenté usar diferentes estilos pero nada ha cambiado.

Sé que ha habido muchas preguntas sobre esto, pero nada parece funcionar aquí.

Respuesta1

En su código dado hay algunos problemas:

  1. El orden de llamada \bibliographystyley \bibliographydebe cambiarse en su código (¡el estilo primero!).
  2. Con la carga natbibdeberías usar mejor el estilo plainnat.plain
  3. Tienes \end{document}antes de llamar a la bibliografía. Eso significa que el código posterior \end{document}no se ejecuta.

Utilice el siguiente código:

\RequirePackage{filecontents}
\begin{filecontents*}{Bibliography.bib}
@article{greenwood_theoretical_2016,
  title = {Theoretical, contemporary observational and palaeo-perspectives 
           on ice sheet hydrology: {Processes} and products},
  volume = {155},
  issn = {0012-8252},
  shorttitle = {Theoretical, contemporary observational and 
  palaeo-perspectives on ice sheet hydrology},
  url = {http://www.sciencedirect.com/science/article/pii/S0012825216300095},
  doi = {10.1016/j.earscirev.2016.01.010},
  urldate = {2018-12-05},
  journal = {Earth-Science Reviews},
  author = {Greenwood, Sarah L. and Clason, Caroline C. and Helanow, 
            Christian and Margold, Martin},
  month = apr,
  year = {2016},
  keywords = {Geomorphology, Esker, Meltwater, Review, Hydrology, 
              Channel, Glacier, Ice Sheet, Read Level 3},
  pages = {1--27},
}
\end{filecontents*}


\documentclass[11pt,a4paper]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage[onehalfspacing]{setspace}

\usepackage{natbib}


\begin{document}

Hello World \cite{greenwood_theoretical_2016}

\bibliographystyle{plainnat} % plain
\bibliography{Bibliography} % Bibliography

\end{document}

y ver el resultado esperado:

resultado con bibtex

Si desea obtener la bibliografía numerada agregue la opción numbersa natbib:

\usepackage[numbers]{natbib}

El código correcto para compilar biblatexes

\documentclass[11pt,a4paper]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage[onehalfspacing]{setspace}

\usepackage{csquotes}
\usepackage[%
  natbib=true, % <=======================================
  backend=biber, % <=====================================
]{biblatex}
\addbibresource{Bibliography.bib} % Bibliography <=======


\begin{document}

Hello World \cite{greenwood_theoretical_2016}

\printbibliography

\end{document}

con el resultado:

ingrese la descripción de la imagen aquí

Respuesta2

La parte de la respuesta original aquí que dice "Estoy casi seguro de que el comando \bibliographystyle{plain}debe estar antes del comando \bibliography{Bibliography}" no es realmente correcta porque la compilación bibtex se realizará por separado y, por lo tanto, solo se usará el archivo auxiliar que ya tiene la información sobre El estilo de la biografía. (Gracias @barbarabeeton y @moewe...) Por supuesto, los hábitos de programación aún harán que más personas lo agreguen antes del comando de impresión, ya que el código será más legible para los humanos al decir "Obtenga un estilo e imprímalo". . que "Imprímelo... ¡Ah! y no lo olvides... ¡lo necesito en este estilo!" :PAG

No probado, pero estoy casi seguro de que el comando \bibliographystyle{plain}debe estar antes del comando \bibliography{Bibliography}y, lo más importante (de eso estoy seguro), que ambos comandos deben estar antes del \end{document}comando.

Pruébelo y responda si está bien.

información relacionada