I'd been using bibtex to deal with references and citations in my $\LaTeX$ documents for a long time. Sometimes it's a real headache. Recently I decided to switch to biblatex, a popular alternative to bibtex, mostly to take the advantage of using utf8 encoding. Then it turned into an adventure you would not want to get into. So I share my experience with biblatex to save you a lot of hassle. You're welcome 🙂

In order to get full advantage of biblatex, you should use biber backend instead of bibtex. If you use 64 bit MikTeX you have a problem! When I try to compile with biber, it didn't work because 64 bit MikTeX 2.9 does not have biber.exe in its bin directory. I had to download it from CTAN and put it into C:\Program Files\MiKTeX 2.9\miktex\bin\x64

Now you want to automate the whole process of compiling pdflatex, biber, and pdflatex as many times as necessary.  After considering texify,  arara, and latexmk, I can safely say that latexmk is the best choice for Windows environments.  For latexmk to work, it requires a Perl interpretor. You can download ActiveStatePerl and install it. Make sure you install it to C:\perl\ to let latexmk to find its bin directory easily. Then you can configure Texworks. Below is my configuration:

Texworks configuration

Now when I compile with latexmk, it first runs pdflatex, then biber and pdflatex again. The best thing is that latexmk figures itself whether it should run bibtex or biber , and runs it only if necessarry.

Here is my biblatex options. It is very flexible, and by using just the standard styles, you don't even need a bibliography style file in most cases.

\usepackage[natbib=true,
backend=biber,
hyperref=true,
url=false,
isbn=false,
doi=false,
eprint=false,
block=space,
backref=false,
uniquenames=false,
style=authoryear]{biblatex}


If you use natbib package, you need to remove it because biblatex conflicts. There is an option natbib=true that makes \cited and \citep commands available in biblatex.

If you are intended to use "apa" style like I do, you will need babel package before biblatex package and  \DeclareLanguageMapping{american}{american-apa} after biblatex package. Otherwise you'll get an error.

Even though standard styles that comes with biblatex do pretty good job, almost always you want something different. It is generally easy to modify bibliography or citation style (biblatex requires two different style files for bibliography and citation).  However, if modifications are substantial, you preamble easily becomes unneccessarily long. Moreover, you should copy and past all the stuff to do the same with another document.  I discovered that an easy way of to do it is to create two files, <mystyle.bbx> and <mystyle.cbx>, and to put them your local tex folder as you would do with your .bst files under bibtex. Then you can load your modified style by style=mystyle option.

BTW, for those who intent to write their dissertation with LaTeX, this is a nice and detailed book by Nicola L. C. Talbot.