diff --git a/CITING b/CITING
index 63fa5c6cbe2223cc98ed83d2ffd6532c4a90ce8f..d8727eb25115f19cd3807fec14fd742a56eebc0e 100644
--- a/CITING
+++ b/CITING
@@ -8,12 +8,12 @@ to a scientific publication, please mention this explicitly in the text body.
 In addition, we ask you to cite the main paper that introduces Kwant:
 
   The reference is provided at the `Kwant website
-  <kwant-project.org/citing.html>`_.
+  <http://kwant-project.org/paper>`_.
 
 If you have profited from the quantum transport functionality of Kwant, please
 also cite the upcoming paper that describes the relevant algorithms. The
 reference will be added to this document later, and will also be available at
-`<http://kwant-project.org/citing.html>`_.
+`<http://kwant-project.org/citing>`_.
 
 Kwant owes much of its current performance to the use of the `MUMPS
 <http://graal.ens-lyon.fr/MUMPS/>`_ library for solving systems of sparse linear
diff --git a/INSTALL b/INSTALL
index 1c18bd933774e8c16a6719e4950c466450487273..69b9d8a44515dd730550767de301e23e4f7cddf9 100644
--- a/INSTALL
+++ b/INSTALL
@@ -125,9 +125,9 @@ In order to install Kwant, you have to
    few prerequisites, namely
 
   * the Xcode developer tools (compiler suite for Mac OSX) from
-    `<http://developer.apple.com/downloads>`_. You need an Apple ID to
-    download: Note that if you have one already from using the App store
-    on the Mac/Ipad/Iphone/... you can use this one. You will also need the
+    `<http://developer.apple.com/downloads>`_. You will need an Apple ID to
+    download. Note that if you have one already from using the App store
+    on the Mac/Ipad/Iphone/... you can use that one. You will also need the
     command line tools: Within Xcode 4, you have to download them by going to
     `Xcode->Preferences`, click on `Download`, go to `Components`,
     select `Command Line Tools` and click on `Install`. Alternatively, you can
@@ -138,7 +138,8 @@ In order to install Kwant, you have to
 
 2. After the installation, open a terminal and execute ::
 
-       echo http://downloads.kwant-project.org/macports/ports.tar | sudo tee -a /opt/local/etc/macports/sources.conf >/dev/null
+       echo http://downloads.kwant-project.org/macports/ports.tar |\
+       sudo tee -a /opt/local/etc/macports/sources.conf >/dev/null
 
    (this adds the Kwant MacPorts download link
    `<http://downloads.kwant-project.org/macports/ports.tar>`_ at the end of the
@@ -191,18 +192,17 @@ you are safe.
    installed, in particular
 
   * the Xcode developer tools (compiler suite for Mac OSX) from
-    `<http://developer.apple.com/downloads>`_. You need an Apple ID to
-    download: Note that if you have one already from using the App store
-    on the Mac/Ipad/Iphone/... you can use this one. Note that downloading
-    the command line tools (not the full Xcode suite) suffices. If you have
-    the full Xcode suite installed, you might need to download the command
-    line tools manually if you have version 4 or higher. In this case
-    go to `Xcode->Preferences`, click on `Download`, go to `Components`,
-    select `Command Line Tools` and click on `Install`.
-  * although `brew doctor` might not complain about it right away,
-    while we're at it, you should also install the X11 server from the
-    `XQuartz project <http://xquartz.macosforge.org>`_ if you have Mac
-    OSX 10.8 or higher.
+    `<http://developer.apple.com/downloads>`_. You will need an Apple ID to
+    download. Note that if you have one already from using the App store on the
+    Mac/Ipad/Iphone/... you can use that one. Downloading the command line
+    tools (not the full Xcode suite) is sufficient. If you have the full Xcode
+    suite installed, you might need to download the command line tools manually
+    if you have version 4 or higher. In this case go to `Xcode->Preferences`,
+    click on `Download`, go to `Components`, select `Command Line Tools` and
+    click on `Install`.
+  * although `brew doctor` might not complain about it right away, while we're
+    at it, you should also install the X11 server from the `XQuartz project
+    <http://xquartz.macosforge.org>`_ if you have Mac OSX 10.8 or higher.
 
 3. Add permanently ``/usr/local/bin`` before ``/usr/bin/`` in the ``$PATH$``
    environment variable of your shell, for example by adding ::
@@ -254,7 +254,7 @@ Building Kwant requires
  * `SciPy <http://scipy.org>`_ 0.9 or newer,
  * `LAPACK <http://netlib.org/lapack/>`_ and `BLAS <http://netlib.org/blas/>`_,
    (For best performance we recommend the free `OpenBLAS
-   <http://xianyi.github.com/OpenBLAS/>`_ or the unfree `MKL
+   <http://xianyi.github.com/OpenBLAS/>`_ or the nonfree `MKL
    <http://software.intel.com/en-us/intel-mkl>`_.)
  * `Tinyarray <http://kwant-project.org/tinyarray/>`_, a NumPy-like Python
    package optimized for very small arrays,
@@ -433,9 +433,9 @@ All these settings can be configured by creating/editing the file
 configuration file consists of sections, one for each dependency, led by a
 [dependency-name] header and followed by name = value entries.  Possible names
 are keyword arguments for ``distutils.core.Extension`` (For a complete list,
-see the third table from top of `this document
-<http://docs.python.org/distutils/apiref.html>`_).  The corresponding values
-are whitespace-separated lists of strings.
+see its `documentation
+<http://docs.python.org/2/distutils/apiref.html#distutils.core.Extension>`_).
+The corresponding values are whitespace-separated lists of strings.
 
 The two currently possible sections are [lapack] and [mumps].  The former
 configures the linking against LAPACK _AND_ BLAS, the latter against MUMPS
diff --git a/doc/source/images/graphene.py.diff b/doc/source/images/graphene.py.diff
index b87add8e8fa84496e1c7aaab65fad8ff0a51ccb6..351a717cb0be71fda9a19350434553135950ed9d 100644
--- a/doc/source/images/graphene.py.diff
+++ b/doc/source/images/graphene.py.diff
@@ -8,7 +8,7 @@
  from math import pi, sqrt, tanh
  
  import kwant
-@@ -103,22 +104,40 @@
+@@ -97,22 +98,40 @@
          smatrix = kwant.smatrix(sys, energy)
          data.append(smatrix.transmission(0, 1))
  
@@ -57,7 +57,7 @@
  
  
  def main():
-@@ -130,8 +149,11 @@
+@@ -124,8 +143,11 @@
      def family_colors(site):
          return 0 if site.family == a else 1
  
@@ -71,7 +71,7 @@
  
      # Compute some eigenvalues.
      compute_evs(sys.finalized())
-@@ -140,9 +162,11 @@
+@@ -134,9 +156,11 @@
      for lead in leads:
          sys.attach_lead(lead)
  
diff --git a/doc/source/images/plot_graphene.py.diff b/doc/source/images/plot_graphene.py.diff
index 21ca11e0632f359f4fdbca2ce2e7845044e05da4..442f7da79dc944b5223fc2612c3660f58ffc33f3 100644
--- a/doc/source/images/plot_graphene.py.diff
+++ b/doc/source/images/plot_graphene.py.diff
@@ -8,6 +8,15 @@
  import kwant
  from matplotlib import pyplot
  
+@@ -22,7 +23,7 @@
+         return x**2 + y**2 < r**2
+ 
+     sys = kwant.Builder()
+-    sys[lat.shape(circle, (0, 0))] = 0
++    sys[lat.shape(circle, (0,0))] = 0
+     sys[lat.neighbors()] = t
+     sys.eradicate_dangling()
+     if tp:
 @@ -32,9 +33,11 @@
  
  
@@ -40,10 +49,10 @@
      # the usual - works great in general, looks just a bit crufty for
      # small systems
  
--    kwant.plotter.map(sys, wf, oversampling=10)
+-    kwant.plotter.map(sys, wf, oversampling=10, cmap='gist_heat_r')
 +    size = (_defs.figwidth_in, _defs.figwidth_in)
 +    for extension in ('pdf', 'png'):
-+        kwant.plotter.map(sys, wf, oversampling=10,
++        kwant.plotter.map(sys, wf, oversampling=10, cmap='gist_heat_r',
 +                          file="plot_graphene_data1." + extension,
 +                          fig_size=size, dpi=_defs.dpi)
  
@@ -54,11 +63,11 @@
          return 'black' if sys.site(i).family == a else 'white'
  
 -    kwant.plot(sys, site_color=wf, site_symbol=family_shape,
--               site_size=0.5, hop_lw=0, cmap='jet')
+-               site_size=0.5, hop_lw=0, cmap='gist_heat_r')
 +    size = (_defs.figwidth_in, _defs.figwidth_in)
 +    for extension in ('pdf', 'png'):
 +        kwant.plot(sys, site_color=wf, site_symbol=family_shape,
-+                   site_size=0.5, hop_lw=0, cmap='jet',
++                   site_size=0.5, hop_lw=0, cmap='gist_heat_r',
 +                   file="plot_graphene_data2." + extension,
 +                   fig_size=size, dpi=_defs.dpi)
  
@@ -66,7 +75,7 @@
      def site_size(i):
          return 3 * wf[i] / wf.max()
  
--    kwant.plot(sys, site_size=site_size, site_color=(0,0,1,0.3),
+-    kwant.plot(sys, site_size=site_size, site_color=(0, 0, 1, 0.3),
 -               hop_lw=0.1)
 +    size = (_defs.figwidth_in, _defs.figwidth_in)
 +    for extension in ('pdf', 'png'):
diff --git a/doc/source/pre/whatsnew/1.0.rst b/doc/source/pre/whatsnew/1.0.rst
index 06e44de553c4dde0235e9795bceebbe49f6cb846..f1dc39a9066abea64e91b1a7a00197dc490200f5 100644
--- a/doc/source/pre/whatsnew/1.0.rst
+++ b/doc/source/pre/whatsnew/1.0.rst
@@ -1,7 +1,8 @@
 What's New in Kwant 1.0
 =======================
 
-This article explains the user-visible changes in Kwant 1.0.
+This article explains the user-visible changes in Kwant 1.0, released on 8
+September 2013.
 
 
 Lattice and shape improvements
@@ -19,8 +20,8 @@ does not have the same symmetry as the lead, the result may be unexpected, so
 it is highly recommended to use shape functions that have the same symmetry as
 the lead.
 
-`~kwant.lattice.Monoatomic.closest` now returns an exact, and not approximate
-closest point. A new method `~kwant.lattice.Monoatomic.n_closest` was added,
+`~kwant.lattice.Monatomic.closest` now returns an exact, and not approximate
+closest point. A new method `~kwant.lattice.Monatomic.n_closest` was added,
 which returns the n closest lattice points.
 
 ``possible_hoppings`` replaced by `~kwant.builder.HoppingKind`
@@ -70,19 +71,20 @@ structure was implemented.
 Immutable site families
 -----------------------
 In order to make naming more consistent, `kwant.make_lattice` was renamed and
-can be found now as `~kwant.lattice.general`. Classes `Chain`, `Square`, and
-`Honeycomb` from `~kwant.lattice` were made functions `~kwant.lattice.chain`,
-`~kwant.lattice.square`, and `~kwant.lattice.honeycomb`.
-
-In previous versions if one executed `a = kwant.lattice.square();
-b = kwant.lattice.square()` then `a` and `b` were
-actually different lattices. This often led to confusions in more convoluted
-use cases, so this behavior was changed. Now two site families created with the
-same parameters are actually indistinguishable by Kwant. If it is desired to
-make two site families which have the same geometry, but mean different things,
-as for instance in :doc:`../../tutorial/tutorial5`, then the `name` argument has
-to be used when creating a lattice, e.g. `a = kwant.lattice.square(name='a');
-b = kwant.lattice.square(name='b')`.
+can be found now as `~kwant.lattice.general`. Classes ``Chain``, ``Square``,
+and ``Honeycomb`` from `~kwant.lattice` were made functions
+`~kwant.lattice.chain`, `~kwant.lattice.square`, and
+`~kwant.lattice.honeycomb`.
+
+In previous versions if one executed ``a = kwant.lattice.square(); b =
+kwant.lattice.square()`` then ``a`` and ``b`` were actually different
+lattices. This often led to confusions in more convoluted use cases, so this
+behavior was changed. Now two site families created with the same parameters
+are actually indistinguishable by Kwant. If it is desired to make two site
+families which have the same geometry, but mean different things, as for
+instance in :doc:`../../tutorial/tutorial5`, then the ``name`` argument has to
+be used when creating a lattice, e.g. ``a = kwant.lattice.square(name='a'); b =
+kwant.lattice.square(name='b')``.
 
 Parameters to Hamiltonian
 -------------------------
@@ -120,7 +122,7 @@ the following prototype::
     def hopping(site1, site2, t, B, pot):
         ...
 
-then the values of `t`, `B` and `pot` for which to solve the system can be
+then the values of ``t``, ``B`` and ``pot`` for which to solve the system can be
 passed to `~kwant.solvers.default.smatrix` like this::
 
     kwant.smatrix(sys, energy,
@@ -175,7 +177,7 @@ space, as well as their velocities and momenta.  All these quantities were
 previously not directly available.  The second object contains the propagating
 and evanescent modes in the compressed format expected by the sparse solver
 (previously this was the sole output of `~kwant.physics.modes`).  Accordingly,
-the `lead_info` attribute of `~kwant.solvers.common.SMatrix` contains the
+the ``lead_info`` attribute of `~kwant.solvers.common.SMatrix` contains the
 real space information about the modes in the leads (a list of
 `~kwant.physics.PropagatingModes` objects).
 
diff --git a/doc/source/reference/kwant.graph.rst b/doc/source/reference/kwant.graph.rst
index a55f443312198e31f8eb4cff9cb3643155663353..7bfecc4ad2a0a55a972f8aad372e1fc28e2e8fd6 100644
--- a/doc/source/reference/kwant.graph.rst
+++ b/doc/source/reference/kwant.graph.rst
@@ -4,11 +4,11 @@
 .. module:: kwant.graph
 
 Graphs, as handled by this module, consist of nodes (numbered by integers,
-usually >= 0).  Pairs of nodes can be connected by edges (numbered by integers
->= 0).  An edge is described by a pair (tail, head) of node numbers and is
-always directed.
+usually :math:`\geq 0`).  Pairs of nodes can be connected by edges (numbered by
+integers :math:`\geq 0`).  An edge is described by a pair (tail, head) of node
+numbers and is always directed.
 
-The basic work-flow is to
+The basic workflow is to
 
  (1) create an object of type `Graph`,
 
diff --git a/doc/source/tutorial/graphene.py b/doc/source/tutorial/graphene.py
index 3d52c0c6f17c1df7aac3a568e1e6376b08953bb7..cd0ec2e6939cbd2a54bf7ff87a6e444d0ac34126 100644
--- a/doc/source/tutorial/graphene.py
+++ b/doc/source/tutorial/graphene.py
@@ -101,14 +101,8 @@ def compute_evs(sys):
     # Compute some eigenvalues of the closed system
     sparse_mat = sys.hamiltonian_submatrix(sparse=True)
 
-    try:
-        # This requires SciPy version >= 0.9.0
-        # Failure (i.e. insufficient SciPy version) is not critical
-        # for the remainder of the tutorial, hence the try-block
-        evs = sla.eigs(sparse_mat, 2)[0]
-        print evs
-    except:
-        pass
+    evs = sla.eigs(sparse_mat, 2)[0]
+    print evs.real
 #HIDDEN_END_zydk
 
 
diff --git a/doc/source/tutorial/introduction.rst b/doc/source/tutorial/introduction.rst
index 3f750d2b898a153de8bb11b0e0d346e58ec73ab7..64997c70803c7a90f70104cc6b5079a9a2f66f79 100644
--- a/doc/source/tutorial/introduction.rst
+++ b/doc/source/tutorial/introduction.rst
@@ -80,7 +80,7 @@ The typical workflow with Kwant is as follows:
 
 #. Pass the finalized system to a solver.
 
-Please note that even though this tutorial only shows 2-d systems, Kwant is
+Please note that even though this tutorial mostly shows 2-d systems, Kwant is
 completely general with respect to the number of dimensions.  Kwant does not
 care in the least whether systems live in one, two, three, or any other number
 of dimensions.  The only exception is plotting, which out-of-the-box only works
diff --git a/doc/source/tutorial/plot_graphene.py b/doc/source/tutorial/plot_graphene.py
index 452e5029fb42df00374b6ba7431f8a2df87afa6a..0771b5ccdea7213323c904e58a969b31373d6cfc 100644
--- a/doc/source/tutorial/plot_graphene.py
+++ b/doc/source/tutorial/plot_graphene.py
@@ -23,7 +23,7 @@ def make_system(r=8, t=-1, tp=-0.1):
         return x**2 + y**2 < r**2
 
     sys = kwant.Builder()
-    sys[lat.shape(circle, (0,0))] = 0
+    sys[lat.shape(circle, (0, 0))] = 0
     sys[lat.neighbors()] = t
     sys.eradicate_dangling()
     if tp:
@@ -67,7 +67,7 @@ def plot_data(sys, n):
     # small systems
 
 #HIDDEN_BEGIN_plotdata2
-    kwant.plotter.map(sys, wf, oversampling=10)
+    kwant.plotter.map(sys, wf, oversampling=10, cmap='gist_heat_r')
 #HIDDEN_END_plotdata2
 
     # use two different sort of triangles to cleanly fill the space
@@ -80,7 +80,7 @@ def plot_data(sys, n):
         return 'black' if sys.site(i).family == a else 'white'
 
     kwant.plot(sys, site_color=wf, site_symbol=family_shape,
-               site_size=0.5, hop_lw=0, cmap='jet')
+               site_size=0.5, hop_lw=0, cmap='gist_heat_r')
 #HIDDEN_END_plotdata3
 
     # plot by changing the symbols itself
@@ -88,7 +88,7 @@ def plot_data(sys, n):
     def site_size(i):
         return 3 * wf[i] / wf.max()
 
-    kwant.plot(sys, site_size=site_size, site_color=(0,0,1,0.3),
+    kwant.plot(sys, site_size=site_size, site_color=(0, 0, 1, 0.3),
                hop_lw=0.1)
 #HIDDEN_END_plotdata4
 
diff --git a/doc/source/tutorial/plot_zincblende.py b/doc/source/tutorial/plot_zincblende.py
index 7ffeae27a5903d7e382d33344ad381a9e6ea0d09..3f7e77dc9ddaba991d6badd59c86c1e51ad5ee31 100644
--- a/doc/source/tutorial/plot_zincblende.py
+++ b/doc/source/tutorial/plot_zincblende.py
@@ -13,19 +13,19 @@ import kwant
 from matplotlib import pyplot
 
 #HIDDEN_BEGIN_zincblende1
-lat = kwant.lattice.general([(0,0.5,0.5), (0.5,0,0.5), (0.5,0.5,0)],
-                            [(0,0,0), (0.25,0.25,0.25)])
+lat = kwant.lattice.general([(0, 0.5, 0.5), (0.5, 0, 0.5), (0.5, 0.5, 0)],
+                            [(0, 0, 0), (0.25, 0.25, 0.25)])
 a, b = lat.sublattices
 #HIDDEN_END_zincblende1
 
 #HIDDEN_BEGIN_zincblende2
 def make_cuboid(a=15, b=10, c=5):
-    def cube(pos):
+    def cuboid_shape(pos):
         x, y, z = pos
         return 0 <= x < a and 0 <= y < b and 0 <= z < c
 
     sys = kwant.Builder()
-    sys[lat.shape(cube, (0,0,0))] = None
+    sys[lat.shape(cuboid_shape, (0, 0, 0))] = None
     sys[lat.neighbors()] = None
 
     return sys
diff --git a/doc/source/tutorial/tutorial1.rst b/doc/source/tutorial/tutorial1.rst
index 7e0e7821bbc466efcb7ca4ce6ae215ec1d206d72..ee5abb58381f5968a241e81807dbaaa2f3c82b05 100644
--- a/doc/source/tutorial/tutorial1.rst
+++ b/doc/source/tutorial/tutorial1.rst
@@ -5,7 +5,7 @@ Discretization of a Schrödinger Hamiltonian
 ...........................................
 
 As first example, we compute the transmission probability through a
-two-dimensional quantum wire.  The wire is governed by the two-dimensional
+two-dimensional quantum wire.  The wire is described by the two-dimensional
 Schrödinger equation
 
 .. math::
diff --git a/doc/source/tutorial/tutorial2.rst b/doc/source/tutorial/tutorial2.rst
index 8cdf7c1a4d53c11768c8b96918e791b8217b3d6b..8cede1b9d8860e342259eeeaaaf818d07689ff02 100644
--- a/doc/source/tutorial/tutorial2.rst
+++ b/doc/source/tutorial/tutorial2.rst
@@ -42,7 +42,7 @@ for small arrays.)
     :start-after: #HIDDEN_BEGIN_xumz
     :end-before: #HIDDEN_END_xumz
 
-For convenience, we define the Pauli-matrices first (with `sigma_0` the
+For convenience, we define the Pauli-matrices first (with :math:`\sigma_0` the
 unit matrix):
 
 .. literalinclude:: spin_orbit.py
diff --git a/doc/source/tutorial/tutorial3.rst b/doc/source/tutorial/tutorial3.rst
index be8f23b7e6385126ccfa791367cc59032fac8c01..e357942f3d33109cb85675fcf4a084a44ae4aa34 100644
--- a/doc/source/tutorial/tutorial3.rst
+++ b/doc/source/tutorial/tutorial3.rst
@@ -4,12 +4,12 @@ Beyond transport: Band structure and closed systems
 Band structure calculations
 ...........................
 
-When doing transport simulations, one also often needs to know the
-band structure of the leads, i.e. the energies of the propagating
-plane waves in the leads as a function of momentum. This band structure
-contains information about the number of modes, the velocities, ...
+When doing transport simulations, one also often needs to know the band
+structure of the leads, i.e. the energies of the propagating plane waves in the
+leads as a function of momentum. This band structure contains information about
+the number of modes, their momenta and velocities.
 
-In this example, we aim to compute the bandstructure of a simple
+In this example, we aim to compute the band structure of a simple
 tight-binding wire.
 
 Computing band structures in Kwant is easy. Just define a lead in the
@@ -57,13 +57,12 @@ Hamiltonian is approximating.
 Closed systems
 ..............
 
-Although Kwant is (currently) mainly aimed towards transport problema, it
+Although Kwant is (currently) mainly aimed towards transport problems, it
 can also easily be used to compute properties of closed systems -- after
 all, a closed system is nothing more than a scattering region without leads!
 
-In this example, we compute the wave functions of a closed, (approximately)
-circular quantum dot and its spectrum as a function
-of magnetic field (Fock-Darwin spectrum).
+In this example, we compute the wave functions of a closed circular quantum dot
+and its spectrum as a function of magnetic field (Fock-Darwin spectrum).
 
 To compute the eigenenergies and eigenstates, we will make use of the sparse
 linear algebra functionality of `scipy <http://www.scipy.org>`_, which
@@ -100,7 +99,7 @@ few lowest eigenvalues. Finally, we obtain the result:
 At zero magnetic field several energy levels are degenerate (since our
 quantum dot is rather symmetric). These degeneracies are split
 by the magnetic field, and the eigenenergies flow towards the
-Landau level energies at higher magnetic fields [#]
+Landau level energies at higher magnetic fields [#]_.
 
 The eigenvectors are obtained very similarly, and can be plotted directly
 using `~kwant.plotter.map`:
@@ -131,4 +130,4 @@ better for the special case of a square lattice.
 
 .. [#] Again, in this tutorial example no care was taken into choosing
        appropriate material parameters or units. For this reason, magnetic
-       field is given only in "arbitrary units"
+       field is given only in "arbitrary units".
diff --git a/doc/source/tutorial/tutorial4.rst b/doc/source/tutorial/tutorial4.rst
index 111cf76099d3d632420a6e68d10ea1306c6c730a..19850d48018ff94ec78172bb20fc5014e173fe04 100644
--- a/doc/source/tutorial/tutorial4.rst
+++ b/doc/source/tutorial/tutorial4.rst
@@ -38,16 +38,15 @@ from the scope of `make_system`, since we keep the potential fixed
 in this example.
 
 As a next step we add the hoppings, making use of
-`~kwant.builder.HoppingKind`. Since we use our home-made
-lattice (instead of `kwant.lattice.honeycomb`), we have to define
-the hoppings ourselves:
+`~kwant.builder.HoppingKind`. For illustration purposes we define
+the hoppings ourselves instead of using ``graphene.neighbors()``:
 
 .. literalinclude:: graphene.py
     :start-after: #HIDDEN_BEGIN_hsmc
     :end-before: #HIDDEN_END_hsmc
 
 The nearest-neighbor model for graphene contains only
-hoppings between different basis atoms. For these type of
+hoppings between different basis atoms. For this type of
 hoppings, it is not enough to specify relative lattice indices,
 but we also need to specify the proper target and source
 sublattices. Remember that the format of the hopping specification
@@ -55,7 +54,7 @@ is ``(i,j), target, source``. In the previous examples (i.e.
 :ref:`tutorial_spinorbit`) ``target=source=lat``, whereas here
 we have to specify different sublattices. Furthermore,
 note that the directions given by the lattice indices
-`(1, 0)` and `(0, 1)` are not orthogonal any more, as they are given with
+`(1, 0)` and `(0, 1)` are not orthogonal anymore, since they are given with
 respect to the two primitive vectors ``[(1, 0), (sin_30, cos_30)]``.
 
 Adding the hoppings however still works the same way:
@@ -144,9 +143,8 @@ Computing the eigenvalues of largest magnitude,
     :start-after: #HIDDEN_BEGIN_jmbi
     :end-before: #HIDDEN_END_jmbi
 
-should yield two eigenvalues similar to `[ 3.07869311 +1.02714523e-17j,
--3.06233144 -6.68085759e-18j]` (round-off might change the imaginary part which
-would be equal to zero for exact arithmetics).
+should yield two eigenvalues equal to ``[ 3.07869311,
+-3.06233144]``.
 
 The remaining code of `main` attaches the leads to the system and plots it
 again:
@@ -159,7 +157,7 @@ It computes the band structure of one of lead 0:
 
 showing all the features of a zigzag lead, including the flat
 edge state bands (note that the band structure is not symmetric around
-zero energy, as we have a potential in the leads).
+zero energy, due to a potential in the leads).
 
 Finally the transmission through the system is computed,
 
diff --git a/doc/source/tutorial/tutorial5.rst b/doc/source/tutorial/tutorial5.rst
index f723f8d2f1fd5572aee2731513eabed473954578..1cfdbc46b66fb5263d5427459729595c117b5d91 100644
--- a/doc/source/tutorial/tutorial5.rst
+++ b/doc/source/tutorial/tutorial5.rst
@@ -17,7 +17,7 @@ electron and hole degrees of freedom (an artificial doubling -
 be aware of the fact that electron and hole excitations
 are related!), which we now implement in Kwant.
 
-For this we restrict ourselves to a simple spin-less system without
+For this we restrict ourselves to a simple spinless system without
 magnetic field, so that :math:`\Delta` is just a number (which we
 choose real), and :math:`\mathcal{T}H\mathcal{T}^{-1}=H_0^*=H_0`.
 
@@ -41,7 +41,7 @@ Computing the band structure then yields the result
 .. image:: ../images/superconductor_band_structure_result.*
 
 We clearly observe the superconducting gap in the spectrum. That was easy,
-he?
+wasn't it?
 
 .. seealso::
     The full source code can be found in
@@ -74,7 +74,7 @@ of freedom [#]_.
 In the following, we will circumvent this problem by introducing
 separate "leads" for electrons and holes, making use of different
 lattices. The system we consider consists of a normal lead on the left,
-a superconductor on the right, and a tunnel barrier inbetween:
+a superconductor on the right, and a tunnel barrier in between:
 
 .. image:: ../images/superconductor_transport_sketch.*
 
@@ -86,7 +86,7 @@ square lattices representing electron and hole degrees of freedom:
     :end-before: #HIDDEN_END_zuuw
 
 Note that since these two lattices have identical spatial parameters, the
-argument `name` to `~kwant.lattice.square` has to be different.
+argument ``name`` to `~kwant.lattice.square` has to be different.
 Any diagonal entry (kinetic energy, potentials, ...) in the BdG
 Hamiltonian corresponds to on-site energies or hoppings within
 the *same* lattice, whereas any off-diagonal entry (essentially, the
diff --git a/doc/source/tutorial/tutorial6.rst b/doc/source/tutorial/tutorial6.rst
index e2d00c81aa1738ae4d8540636afec8c7d73dc2f3..c69b2a84c96e97d3e3feb1b2c179a623d95d2fd3 100644
--- a/doc/source/tutorial/tutorial6.rst
+++ b/doc/source/tutorial/tutorial6.rst
@@ -49,7 +49,7 @@ the start end end site of hopping as arguments:
 
 Note that since we are using an unfinalized Builder, a `site` is really an
 instance of `~kwant.builder.Site`. With these adjustments we arrive at a plot
-that is more intelligible, still carrying all information:
+that carries the same information, but is much easier to interpret:
 
 .. image:: ../images/plot_graphene_sys2.*
 
@@ -151,7 +151,7 @@ which shows the edge state nature of the wave function most clearly.
 Zincblende is a very common crystal structure of semiconductors. It is a
 face-centered cubic crystal with two inequivalent atoms in the unit cell
 (i.e. two different types of atoms, unlike diamond which has the same crystal
-structure, but to equivalent atoms per unit cell).
+structure, but two equivalent atoms per unit cell).
 
 It is very easily generated in Kwant with `kwant.lattice.general`:
 
@@ -194,7 +194,7 @@ arbitrarily, allowing for a good inspection of the geometry from all sides.
 
 .. note::
 
-    Interactive 3D plots usually have not the proper aspect ratio, but are a
+    Interactive 3D plots usually do not have the proper aspect ratio, but are a
     bit squashed. This is due to bugs in matplotlib's 3D plotting module that
     does not properly honor the corresponding arguments. By resizing the plot
     window however one can manually adjust the aspect ratio.