diff --git a/doc/conf.py b/doc/conf.py
index ddb62f81df087d7e8216a5bd3a7d78964f14a595..0ae616e30cae6d58b9de0fc0422553d5d5251efd 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -30,9 +30,29 @@ extensions = [
 import sphinx
 if sphinx.__version__ >= "1.4.1":
     extensions.append('sphinx.ext.imgmath')
+    imgmath_image_format = 'svg'
 else:
     extensions.append('sphinx.ext.pngmath')
 
+# Be picky about warnings
+nitpicky = True
+
+# Ignores stuff we can't easily resolve on other project's sphinx manuals
+nitpick_ignore = []
+
+# Allows the user to override warnings from a separate file
+if os.path.exists('nitpick-exceptions.txt'):
+    for line in open('nitpick-exceptions.txt'):
+        if line.strip() == "" or line.startswith("#"):
+            continue
+        dtype, target = line.split(None, 1)
+        target = target.strip()
+        try: # python 2.x
+            target = unicode(target)
+        except NameError:
+            pass
+        nitpick_ignore.append((dtype, target))
+
 # Always includes todos
 todo_include_todos = True
 
@@ -111,7 +131,7 @@ pygments_style = 'sphinx'
 
 # Some variables which are useful for generated material
 project_variable = project.replace('.', '_')
-short_description = u'Voxforge Toy Database Interface for Bob'
+short_description = u'VoxForge Database API'
 owner = [u'Idiap Research Institute']
 
 
@@ -216,8 +236,13 @@ autodoc_default_flags = [
   ]
 
 # For inter-documentation mapping:
-from bob.extension.utils import link_documentation
-intersphinx_mapping = link_documentation()
+from bob.extension.utils import link_documentation, load_requirements
+sphinx_requirements = "extra-intersphinx.txt"
+if os.path.exists(sphinx_requirements):
+    intersphinx_mapping = link_documentation(additional_packages=load_requirements(sphinx_requirements))
+else:
+    intersphinx_mapping = link_documentation()
+
 
 # We want to remove all private (i.e. _. or __.__) members
 # that are not in the list of accepted functions
@@ -237,4 +262,4 @@ def member_function_test(app, what, name, obj, skip, options):
   return False
 
 def setup(app):
-  app.connect('autodoc-skip-member', member_function_test)
\ No newline at end of file
+  app.connect('autodoc-skip-member', member_function_test)
diff --git a/doc/guide.rst b/doc/guide.rst
index 189148b9fcbeac387d066a817434963c6fcc9034..82fdc965f30c070e1a0efca064b28590c0df3196 100644
--- a/doc/guide.rst
+++ b/doc/guide.rst
@@ -12,7 +12,7 @@ It only contains the Bob_ accessor methods to use the database directly from pyt
 The Database Interface
 ----------------------
 
-The :py:class:`bob.db.voxforge.Database` complies with the standard biometric verification database as described in :ref:`commons`, by implementing the  :py:class:`bob.db.verification.filelist.Database`.
+The :py:class:`bob.db.voxforge.Database` complies with the standard biometric verification database as described in `bob.db.base <bob.db.base>`, by implementing the  :py:class:`bob.db.verification.filelist.Database`.
 
 
 .. todo::
diff --git a/doc/nitpick-exceptions.txt b/doc/nitpick-exceptions.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dbc6def5f093588ee1e36506f3ebbcd6837bee35
--- /dev/null
+++ b/doc/nitpick-exceptions.txt
@@ -0,0 +1,3 @@
+py:class bob.db.base.file.File
+py:class bob.db.base.database.SQLiteDatabase
+py:class sqlalchemy.ext.declarative.api.Base