I am using natbib
with author-year-like cites style and with a custom references style (a .bst
file) that I created with custom-bib
. That style file for references is also author-year oriented, of course.
I am not an expert on .bst
files and so on. The style I created with custom-bib
is perfect for me, but there are two cases in which it could (and should) be improved:
- entries without year and
- entries without author, and also a not so important improvement:
- entries that have an URL (for the records) but are not online websites.
I copy here my MWE (maybe not so minimal), and a link to my .bst
file:
\begin{filecontents}{mybib.bib}
@book{GAMSCPLEX,
publisher = {GAMS Development Corporation},
title = {{GAMS/CPLEX} 10 Solver Manual},
url = {http://www.gams.com/dd/docs/solvers/cplex.pdf}
},
@book{GAMSSBB02,
address = {Washington, DC},
publisher = {GAMS Development Corporation},
title = {{GAMS/SBB} Solver Manual},
url = {http://www.gams.com/dd/docs/solvers/sbb.pdf},
year = {2002}
},
@book{GAMSCONOPT,
address = {Bagsvaerd},
author = {Drud, A},
publisher = {{ARKI} Consulting and Development},
title = {{GAMS/CONOPT} Solver Manual},
url = {http://www.gams.com/dd/docs/solvers/conopt.pdf}
},
@article{Chou2006,
author = {Chou, C. Y. and Chen, C. H.},
journal = {Expert Systems with Applications},
number = {2},
pages = {233--242},
title = {Economic design of variable sampling intervals {$T^2$} control charts using genetic algorithms},
volume = {30},
year = {2006}
},
@article{DRUZOVEC98,
address = {Ljubljana (Slovenija-Slovenia)},
author = {Dru\v{z}ovec, M and \v{S}ostar, A and Godina, A},
journal = {Strojni{\v{s}}ki Vestnik-Journal of Mechanical Engineering},
number = {1-2},
pages = {29--34},
title = {{MPC} process control procedure},
volume = {44},
year = {1998}
}
\end{filecontents}
\documentclass[11pt]{book}
\usepackage[a4paper,showframe]{geometry}
\RequirePackage[latin1]{inputenc}
%\usepackage{amsmath}
\usepackage[spanish]{babel}
\usepackage[autostyle=true]{csquotes}
\usepackage[round,semicolon,authoryear,longnamesfirst]{natbib}
\usepackage[%implicit=false,
pdftex,hyperfootnotes=false,
pdfpagelabels]{hyperref} % backref linktocpage pagebackref
\pdfcompresslevel=9
\pdfadjustspacing=1
\hypersetup{hyperfootnotes=false,
colorlinks=true, linkcolor=blue, citecolor=green,%
filecolor=red, urlcolor=red,
pdfpagemode=UseOutlines, pdfpagelayout=SinglePage,%
pdfhighlight=/N, pageanchor=true,%
pdftoolbar=true, pdfmenubar=true, pdfstartview=FitH}
\begin{document}
Referencias:
\begin{itemize}
\item \cite{Chou2006}.
\item \cite{DRUZOVEC98}.
\item \cite{GAMSCPLEX}.
\item \cite{GAMSSBB02}.
\item \cite{GAMSCONOPT}.
\end{itemize}
\bibliographystyle{mycustom}
\bibliography{mybib}
\end{document}
This is the link for mycustom.bst
: https://dl.dropbox.com/u/155485/mycustom.bst
These are the results I get for the reference list:
OK, so my questions are obviously the following:
-
How can I tweak my
.bst
file (or the preceding.dbj
file) in order to hide those ugly empty round brackets in the case there is no year for the item?? -
How should my
.bst
file deal with items without author? Should it take the publisher info? I suppose the right order could be: authors, if not then editors, if not then publisher or institution. How can I get that done in my custom style?* -
I don't know what exactly to do with URL information. In the cases I am showing in my example, they are in fact online documents, so I think it's not wrong to show the links to them. But in other cases you have an URL address in your
.bib
file just for your information… Anyway, my question in this case is easier: How can I get rid of that ugly "URL" label before the URL address?
EDIT: Although this is not the goal of this question, I would also like to ask you the following:
Do you know any (natbib or just bibtex) existing style that is the same or nearly the same as my custom bib style?? I was no able to locate such a style, but maybe I missed something.
Best Answer
bib
file. Following the BibTeX manual, thebook
entry requires year, and author or editor. So I suggest to turn the first three entries intomanual
, which just requirestitle
.author
is missing, one should provide akey
entry that BibTeX can use to sort the entries, and that is sometimes shown instead of the author (depends on the style).publisher
fields of the manuals intoorganization
fields, as those are optional fields ofmanual
, whilepublisher
is not.The resulting database would then look like:
Regarding the empty parentheses for non-existing years I have three suggestions:
yr-par
option from yourdbj
file to remove all parentheses around years. (maybe not an option for you)bst
hackery: Althoughyear
is an optional field ofmanual
, your style file does not check properly if the year is present. This is a bug incustom-bib
. To circumvent it, add the indicated five lines to your style file, in functionformat.date
:In principle, this could be added to
merlin.mbs
, to fix all derived styles. With this hack, and the proposed changes to your database, I get: