0

I have a tex file that goes as:

\documentclass[10pt,conference]{IEEEtran}
\input{preamble}
\usepackage{cite}
...
\begin{document}
...
\input{text/introduction.tex}
...
\bibliography{Bib/proj_name}

\end{document}

Bib/proj_name.bib:

@article{Snorkel2017,
  title =  {Snorkel: Rapid Training Data Creation with Weak Supervision},
  author =  {Alexander Ratner, Stephen H. Bach, Henry Ehrenberg, Jason Fries, Sen Wu, Christopher Ré},
  year =    {2017},
  note =    {\url{https://arxiv.org/abs/1711.10160}}
}

text/introduction.tex:

\section{Introduction}
\label{sec::intro}
Recently, Snorkel \cite{Snorkel2017} ...

But, I get:

LaTeX Warning: Citation `Snorkel2017' on page 1 undefined on input line 4.

Makefile used:

LATEX = TEXINPUTS=$(TEXINPUTS):packages pdflatex
PAPER = proj_name

# Run once, then re-run until it's happy
# Input redirected from /dev/null is like hitting ^C at first error
$(PAPER).pdf: $(wildcard *.tex) $(wildcard text/*.tex) $(wildcard *.bib)
    $(LATEX) $(PAPER).tex </dev/null
    bibtex $(PAPER)
    $(LATEX) $(PAPER).tex </dev/null
    $(LATEX) $(PAPER).tex </dev/null
    gs -q -dNOPAUSE -dBATCH -dPDFSETTINGS=/prepress -dEmbedAllFonts=true \
       -dDownsampleColorImages=false -dAutoFilterColorImages=false \
       -dColorImageFilter=/FlateEncode -sDEVICE=pdfwrite -sOutputFile=$(PAPER)-embed.pdf \
       $(PAPER).pdf
    cp $(PAPER)-embed.pdf $(PAPER).pdf

Of course, I run it using make. I have already looked at the possible duplicate, but as you can see in the makefile, I am already doing all that. Can someone please help me out? Thanks...

EDIT:

blg file:

This is BibTeX, Version 0.99d (TeX Live 2019/Debian)
Capacity: max_strings=200000, hash_size=200000, hash_prime=170003
The top-level auxiliary file: proj_name.aux
I found no \bibstyle command---while reading file proj_name.aux
You've used 1 entry,
            0 wiz_defined-function locations,
            86 strings with 524 characters,
and the built_in function-call counts, 0 in all, are:
= -- 0
> -- 0
< -- 0
+ -- 0
- -- 0
* -- 0
:= -- 0
add.period$ -- 0
call.type$ -- 0
change.case$ -- 0
chr.to.int$ -- 0
cite$ -- 0
duplicate$ -- 0
empty$ -- 0
format.name$ -- 0
if$ -- 0
int.to.chr$ -- 0
int.to.str$ -- 0
missing$ -- 0
newline$ -- 0
num.names$ -- 0
pop$ -- 0
preamble$ -- 0
purify$ -- 0
quote$ -- 0
skip$ -- 0
stack$ -- 0
substring$ -- 0
swap$ -- 0
text.length$ -- 0
text.prefix$ -- 0
top$ -- 0
type$ -- 0
warning$ -- 0
while$ -- 0
width$ -- 0
write$ -- 0
(There was 1 error message)
9
  • author = {Alexander Ratner, Stephen H. Bach, Henry Ehrenberg, Jason Fries, Sen Wu, Christopher Ré}, is definitely wrong. Multiple names must always be separated with and regardless of the desired output. See tex.stackexchange.com/q/36396/35864. The correct input would be author = {Alexander Ratner and Stephen H. Bach and Henry Ehrenberg and Jason Fries and Sen Wu and Christopher Ré},.
    – moewe
    Jun 13, 2020 at 14:27
  • Note that technically, BibTeX can't deal with non-ASCII characters, so é should be escaped as {\'e}. So you'd need author = {Alexander Ratner and Stephen H. Bach and Henry Ehrenberg and Jason Fries and Sen Wu and Christopher R{\'e}},.
    – moewe
    Jun 13, 2020 at 14:29
  • That all said, you'll definitely want to check out the .blg file for more errors or warnings.
    – moewe
    Jun 13, 2020 at 14:30
  • 1
    The version with and is definitely the only correct one, but the error may well be somewhere else. Please show us the .blg file.
    – moewe
    Jun 13, 2020 at 14:33
  • 1
    There you have it: I found no \bibstyle command---while reading file proj_name.aux. You need a \bibliographystyle{...} call in your document (and only one). With IEEEtran you may want to try something like \bibliographystyle{IEEEtran}. (You probably don't need the \usepackage{cite}.)
    – moewe
    Jun 13, 2020 at 14:39

1 Answer 1

2

The error message from the .blg file

I found no \bibstyle command---while reading file proj_name.aux

means that you don't have a \bibliographystyle command on your document.

If you want to use BibTeX you will need exactly one \bibliographystyle{<style>} command in your document. It doesn't really matter where you put it (it can go into the preamble or the document body), but most people either place it in the preamble next to other bibliography/citation setup or directly next to the \bibliography call in the body.

For the IEEEtran document class I'd probably use \bibliographystyle{IEEEtran}.

\documentclass[10pt,conference]{IEEEtran}

\bibliographystyle{IEEEtran}
 
\begin{document}

\section{Introduction}
\label{sec::intro}
Recently, Snorkel \cite{Snorkel2017} ...

\bibliography{Bib/proj_name}

\end{document}

As mentioned in the comments, your .bib file should probably be rewritten a bit. The authors must be separated with and and non-ASCII chars need to be escaped. Furthermore, I'd not want to use @article for a paper that hasn't yet been formally published in a journal and is only available on the arXiv.

So my .bib would look more like

@misc{Snorkel2017,
  title         =  {Snorkel: Rapid Training Data Creation with Weak Supervision},
  author        =  {Alexander Ratner and Stephen H. Bach and Henry Ehrenberg
                    and Jason Fries and Sen Wu and Christopher R{\'e}},
  year          =  {2017},
  howpubslished =  {\url{https://arxiv.org/abs/1711.10160}},
}

The IEEEtran bibliography styles supports a url field, though, so I'd actually prefer

@misc{Snorkel2017,
  title  =  {Snorkel: Rapid Training Data Creation with Weak Supervision},
  author =  {Alexander Ratner and Stephen H. Bach and Henry Ehrenberg
             and Jason Fries and Sen Wu and Christopher R{\'e}},
  year   =  {2017},
  url    =  {https://arxiv.org/abs/1711.10160},
}
1
  • 1
    @AnkitKumar Yup. I just noticed that as well. Fixed.
    – moewe
    Jun 13, 2020 at 14:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .