Have you try biblatex? Biblatex is a complete reimplementation of the bibliographic facilities provided by LaTeX in conjunction with BibTeX.
With biblatex isn't that hard to add pre and post annotations to entries. Like this:
\documentclass[a4paper,10pt]{article}
\usepackage[natbib, % To use natbib commands
style=authoryear, % Style of cites and bib entries
backend=bibtex8] % To use bibtex instead biber
{biblatex}
\addbibresource{bib.bib} % Loading .bib file
\renewbibmacro{in:}{% % To remove "In:" from articles
\ifentrytype{article}{}{%
\printtext{\bibstring{in}\intitlepunct}}}
\DefineBibliographyStrings{english}{pages={pages}} % To change default pp.
\DefineBibliographyStrings{english}{page={page}} % To change default p.
\begin{document}
\citet{easterly2009can,frankel1999does} % Cite as if you were using natbib
\section*{References}
% use \fullcite[prenote][posnote]{bibentrylabel}
\noindent \fullcite[*][Please read sections 32-33]{easterly2009can} \\
\noindent \fullcite[*][Please read sections 2-4]{frankel1999does} \end{document}
If you want to add the same annotations but in your .bib file
you should do something like this:
\documentclass[a4paper,10pt]{article}
\usepackage[natbib, % To use natbib commands
style=authoryear, % Style of cites and bib entries
backend=bibtex8] % To use bibtex instead biber
{biblatex}
\addbibresource{bib.bib} % Loading .bib file
\renewbibmacro{in:}{% % To remove "In:" from articles
\ifentrytype{article}{}{%
\printtext{\bibstring{in}\intitlepunct}}}
\DefineBibliographyStrings{english}{pages={pages}} % To change default pp.
\DefineBibliographyStrings{english}{page={page}} % To change default p.
\begin{document}
\citet{easterly2009can,frankel1999does} % Cite as if you were using natbib
\printbibliography % Equivalent to \bibliography{bib}
\end{document}
with this bib.bib
:
@Article{ easterly2009can2,
Author = "William Easterly",
Title = "Can the West Save Africa?",
Journal = "Journal of Economic Literature",
Pages = "373--447",
year = 2009,
note = "A comment that should be before",
addendum = "A comment after"
},
@Article{ frankel1999does2,
Author = "J.A. Frankel and D. Romer",
Title = "Does trade cause growth?",
Journal = "American Economic Review",
Pages = "379--399",
year = 1999,
note = "A comment that should be before",
addendum = "A comment after"
}
However, I couldn't find how to reorder the block entities in each bibtex entry. May be you have more luck.
I should remark that citation and bibliographic styles may be changed. Check biblatex documentation for this. Here is a question for customizing biblatex styles.
Following the question: How to cite all bib entries that have no annotations in a simple way? (making minor changes to the .bib
file that not affect normal use of the file)
\documentclass[a4paper,10pt]{article}
\usepackage[natbib, % To use natbib commands
style=authoryear, % Style of cites and bib entries
backend=bibtex8] % To use bibtex instead biber
{biblatex}
\addbibresource{biblong.bib} % Loading .bib file
\renewbibmacro{in:}{% % To remove "In:" from articles
\ifentrytype{article}{}{%
\printtext{\bibstring{in}\intitlepunct}}}
\DefineBibliographyStrings{english}{pages={pages}} % To change default pp.
\DefineBibliographyStrings{english}{page={page}} % To change default p.
\begin{document}
\citet{easterly2009can,frankel1999does} % Cite as if you were using natbib
\section*{References}
% use \fullcite[prenote][posnote]{bibentrylabel}
\noindent \fullcite[*][Please read sections 32-33]{easterly2009can} \\
\noindent \fullcite[*][Please read sections 2-4]{frankel1999does} \\
\nocite{*} % Use of \nocite is not necessary if they were cited elsewhere
% The following command only print entries that not have the keyword annotated
\printbibliography[notkeyword=annotated,heading=none]
\end{document}
with this biblLong.bib
:
@Article{ easterly2009can2,
Author = "William Easterly",
Title = "Can the West Save Africa?",
Journal = "Journal of Economic Literature",
Pages = "373--447",
year = 2009
}
@Article{ frankel1999does2,
Author = "J.A. Frankel and D. Romer",
Title = "Does trade cause growth?",
Journal = "American Economic Review",
Pages = "379--399",
year = 1999
}
@Article{ lennon1965help,
Author = "John Lennon",
Title = "Help!",
Journal = "The Beatles",
Pages = "1--14",
year = 1965
}
@Article{ mccartney2003let,
Author = "Paul McCartney",
Title = "Let it be... Naked",
Journal = "The Beatles",
Pages = "1--11",
year = 2003
}
I agree whith the general process explained in the comments, but i think that they don't fully address the final task that you must do you for the conference, which very likely want a single self contained .tex
file.
Let's assume that you have mypaper.tex
which is your text with some \cite{<key>}
and a refs.bib
file. Then :
Firstly, put in mypaper.tex
the two lines :
\bibliography{refs}
\bibliographystyle{plain}
Secondly run (instead of using the \nocite
which has two drawbacks: (1) ordering as in refs.bib
and (2) cites refs. that are not \cite
-d in your paper) :
(pdf)latex mypaper
bibtex mypaper
If this step is successful you will get mypaper.bbl
containing the bibitem
-s and a mypaper.blg
which is BiBTeX's log file. (Nota : latex
reads the mypaper.tex
-- and when present the mypaper.bbl
file -- but bibtex
reads the mypaper.aux
created by latex
).
Thirdly, (optional but recommended) make sure that all the reference are correctly inserted and displayed in the file with :
(pdf)latex mypaper
Fourthly, open mypaper.tex
, comment out or discard the two \biblio...
lines and paste the whole content of mypaper.bbl
at the place where you want to get the bibliography. You then have the final self-contained file.
You can run (pdf)latex mypaper
at least two times to get the final .dvi
or .pdf
.
Edit: This copy-paste holds if he .bbl
file content start with the regular \begin{thebibliography}
. If it starts by loading packages with \usepackage{<name>}
or even by \input{<name>.sty}
(where <name>
= csquote, url, etc.) you must move them in your preamble. If it starts by defining commands, your can keep them at this place or move them to the preamble.
Note for the OP: you use plain
as the format, which looks strange for me. Actually each conference/organization generally has its own .bst
style file which produces \bibitem
formated accordingly to their editorial rules. More specifically, make sure that you need an alphabetical-ordered or a citation-ordered bibliography. In the later case, you must use the unsrt.bst
(or a variant) in place of plain.bst
.
Best Answer
The
thebibliography
environment is built using a list, so you can change the appropriate lengths. In the following example I show such modification using the default definition for the\thebibliography
commands as defined inreport.cls
. Basically what you have to do, according to your description, is to set\leftmargin
to0pt
and\itemindent
to a positive value (I used30pt
):