documentation improvements
diff --git a/docs/basics.rst b/docs/basics.rst
index a2a6084..f81c103 100644
--- a/docs/basics.rst
+++ b/docs/basics.rst
@@ -222,59 +222,59 @@
an additional extension header to be included). To pass other data structures
as arguments and return values, refer to the section on binding :ref:`classes`.
-+----------------------------+--------------------------+-----------------------+
-| Data type | Description | Header file |
-+============================+==========================+=======================+
-| int8_t, uint8_t | 8-bit integers | pybind11/pybind11.h |
-+----------------------------+--------------------------+-----------------------+
-| int16_t, uint16_t | 16-bit integers | pybind11/pybind11.h |
-+----------------------------+--------------------------+-----------------------+
-| int32_t, uint32_t | 32-bit integers | pybind11/pybind11.h |
-+----------------------------+--------------------------+-----------------------+
-| int64_t, uint64_t | 64-bit integers | pybind11/pybind11.h |
-+----------------------------+--------------------------+-----------------------+
-| ssize_t, size_t | Platform-dependent size | pybind11/pybind11.h |
-+----------------------------+--------------------------+-----------------------+
-| float, double | Floating point types | pybind11/pybind11.h |
-+----------------------------+--------------------------+-----------------------+
-| bool | Two-state Boolean type | pybind11/pybind11.h |
-+----------------------------+--------------------------+-----------------------+
-| char | Character literal | pybind11/pybind11.h |
-+----------------------------+--------------------------+-----------------------+
-| wchar_t | Wide character literal | pybind11/pybind11.h |
-+----------------------------+--------------------------+-----------------------+
-| const char * | UTF-8 string literal | pybind11/pybind11.h |
-+----------------------------+--------------------------+-----------------------+
-| const wchar_t * | Wide string literal | pybind11/pybind11.h |
-+----------------------------+--------------------------+-----------------------+
-| std::string | STL dynamic UTF-8 string | pybind11/pybind11.h |
-+----------------------------+--------------------------+-----------------------+
-| std::wstring | STL dynamic wide string | pybind11/pybind11.h |
-+----------------------------+--------------------------+-----------------------+
-| std::pair<T1, T2> | Pair of two custom types | pybind11/pybind11.h |
-+----------------------------+--------------------------+-----------------------+
-| std::tuple<...> | Arbitrary tuple of types | pybind11/pybind11.h |
-+----------------------------+--------------------------+-----------------------+
-| std::reference_wrapper<...>| Reference type wrapper | pybind11/pybind11.h |
-+----------------------------+--------------------------+-----------------------+
-| std::complex<T> | Complex numbers | pybind11/complex.h |
-+----------------------------+--------------------------+-----------------------+
-| std::array<T, Size> | STL static array | pybind11/stl.h |
-+----------------------------+--------------------------+-----------------------+
-| std::vector<T> | STL dynamic array | pybind11/stl.h |
-+----------------------------+--------------------------+-----------------------+
-| std::list<T> | STL linked list | pybind11/stl.h |
-+----------------------------+--------------------------+-----------------------+
-| std::map<T1, T2> | STL ordered map | pybind11/stl.h |
-+----------------------------+--------------------------+-----------------------+
-| std::unordered_map<T1, T2> | STL unordered map | pybind11/stl.h |
-+----------------------------+--------------------------+-----------------------+
-| std::set<T> | STL ordered set | pybind11/stl.h |
-+----------------------------+--------------------------+-----------------------+
-| std::unordered_set<T> | STL unordered set | pybind11/stl.h |
-+----------------------------+--------------------------+-----------------------+
-| std::function<...> | STL polymorphic function | pybind11/functional.h |
-+----------------------------+--------------------------+-----------------------+
++---------------------------------+--------------------------+-------------------------------+
+| Data type | Description | Header file |
++=================================+==========================+===============================+
+| ``int8_t``, ``uint8_t`` | 8-bit integers | :file:`pybind11/pybind11.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``int16_t``, ``uint16_t`` | 16-bit integers | :file:`pybind11/pybind11.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``int32_t``, ``uint32_t`` | 32-bit integers | :file:`pybind11/pybind11.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``int64_t``, ``uint64_t`` | 64-bit integers | :file:`pybind11/pybind11.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``ssize_t``, ``size_t`` | Platform-dependent size | :file:`pybind11/pybind11.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``float``, ``double`` | Floating point types | :file:`pybind11/pybind11.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``bool`` | Two-state Boolean type | :file:`pybind11/pybind11.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``char`` | Character literal | :file:`pybind11/pybind11.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``wchar_t`` | Wide character literal | :file:`pybind11/pybind11.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``const char *`` | UTF-8 string literal | :file:`pybind11/pybind11.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``const wchar_t *`` | Wide string literal | :file:`pybind11/pybind11.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``std::string`` | STL dynamic UTF-8 string | :file:`pybind11/pybind11.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``std::wstring`` | STL dynamic wide string | :file:`pybind11/pybind11.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``std::pair<T1, T2>`` | Pair of two custom types | :file:`pybind11/pybind11.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``std::tuple<...>`` | Arbitrary tuple of types | :file:`pybind11/pybind11.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``std::reference_wrapper<...>`` | Reference type wrapper | :file:`pybind11/pybind11.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``std::complex<T>`` | Complex numbers | :file:`pybind11/complex.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``std::array<T, Size>`` | STL static array | :file:`pybind11/stl.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``std::vector<T>`` | STL dynamic array | :file:`pybind11/stl.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``std::list<T>`` | STL linked list | :file:`pybind11/stl.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``std::map<T1, T2>`` | STL ordered map | :file:`pybind11/stl.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``std::unordered_map<T1, T2>`` | STL unordered map | :file:`pybind11/stl.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``std::set<T>`` | STL ordered set | :file:`pybind11/stl.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``std::unordered_set<T>`` | STL unordered set | :file:`pybind11/stl.h` |
++---------------------------------+--------------------------+-------------------------------+
+| ``std::function<...>`` | STL polymorphic function | :file:`pybind11/functional.h` |
++---------------------------------+--------------------------+-------------------------------+
.. [#f1] In practice, implementation and binding code will generally be located