From 7ed157c5722aab922590376e83cbe4b8c4530c26 Mon Sep 17 00:00:00 2001
From: Christoph Groth <christoph.groth@cea.fr>
Date: Mon, 3 Feb 2014 17:47:56 +0100
Subject: [PATCH] doc: move "see also" boxes with links to full examples to the
 top of each section

---
 doc/source/tutorial/tutorial1.rst | 16 ++++++++--------
 doc/source/tutorial/tutorial2.rst | 24 ++++++++++++------------
 doc/source/tutorial/tutorial3.rst | 16 ++++++++--------
 doc/source/tutorial/tutorial4.rst |  8 ++++----
 doc/source/tutorial/tutorial5.rst | 16 ++++++++--------
 doc/source/tutorial/tutorial6.rst | 16 ++++++++--------
 6 files changed, 48 insertions(+), 48 deletions(-)

diff --git a/doc/source/tutorial/tutorial1.rst b/doc/source/tutorial/tutorial1.rst
index 8461e897..3b7cfa02 100644
--- a/doc/source/tutorial/tutorial1.rst
+++ b/doc/source/tutorial/tutorial1.rst
@@ -58,6 +58,10 @@ simplicity, we choose to work in such units that :math:`t = a = 1`.
 Transport through a quantum wire
 ................................
 
+.. seealso::
+    The complete source code of this example can be found in
+    :download:`tutorial/quantum_wire.py <../../../tutorial/quantum_wire.py>`
+
 In order to use Kwant, we need to import it:
 
 .. literalinclude:: quantum_wire.py
@@ -232,10 +236,6 @@ value of the conductance is determined by the number of occupied
 subbands that increases with energy.
 
 
-.. seealso::
-     The full source code can be found in
-     :download:`tutorial/quantum_wire.py <../../../tutorial/quantum_wire.py>`
-
 .. specialnote:: Technical details
 
    - In the example above, when building the system, only one direction
@@ -326,6 +326,10 @@ subbands that increases with energy.
 Building the same system with less code
 .......................................
 
+.. seealso::
+    The complete source code of this example can be found in
+    :download:`tutorial/quantum_wire_revisited.py <../../../tutorial/quantum_wire_revisited.py>`
+
 Kwant allows for more than one way to build a system. The reason is that
 `~kwant.builder.Builder` is essentially just a container that can be filled in
 different ways. Here we present a more compact rewrite of the previous example
@@ -432,10 +436,6 @@ hand, you also have access to the other functions, ``make_system`` and
 
 The result of the example should be identical to the previous one.
 
-.. seealso::
-    The full source code can be found in
-    :download:`tutorial/quantum_wire_revisited.py <../../../tutorial/quantum_wire_revisited.py>`
-
 .. specialnote:: Technical details
 
    - We have seen different ways to add lattice points to a
diff --git a/doc/source/tutorial/tutorial2.rst b/doc/source/tutorial/tutorial2.rst
index a8ec4e6c..acea65ec 100644
--- a/doc/source/tutorial/tutorial2.rst
+++ b/doc/source/tutorial/tutorial2.rst
@@ -9,6 +9,10 @@ very simple examples of the previous section.
 Matrix structure of on-site and hopping elements
 ................................................
 
+.. seealso::
+    The complete source code of this example can be found in
+    :download:`tutorial/spin_orbit.py <../../../tutorial/spin_orbit.py>`
+
 We begin by extending the simple 2DEG-Hamiltonian by a Rashba spin-orbit
 coupling and a Zeeman splitting due to an external magnetic field:
 
@@ -90,10 +94,6 @@ the following, clearly non-monotonic conductance steps:
 
 .. image:: ../images/spin_orbit_result.*
 
-.. seealso::
-     The full source code can be found in
-     :download:`tutorial/spin_orbit.py <../../../tutorial/spin_orbit.py>`
-
 .. specialnote:: Technical details
 
   - The Tinyarray package, one of the dependencies of Kwant, implements
@@ -127,6 +127,10 @@ the following, clearly non-monotonic conductance steps:
 Spatially dependent values through functions
 ............................................
 
+.. seealso::
+    The complete source code of this example can be found in
+    :download:`tutorial/quantum_well.py <../../../tutorial/quantum_well.py>`
+
 Up to now, all examples had position-independent matrix-elements
 (and thus translational invariance along the wire, which
 was the origin of the conductance steps). Now, we consider the
@@ -190,10 +194,6 @@ of the potential well by passing the potential value. We obtain the result:
 Starting from no potential (well depth = 0), we observe the typical
 oscillatory transmission behavior through resonances in the quantum well.
 
-.. seealso::
-     The full source code can be found in
-     :download:`tutorial/quantum_well.py <../../../tutorial/quantum_well.py>`
-
 .. warning::
 
     If functions are used to set values inside a lead, then they must satisfy
@@ -214,6 +214,10 @@ oscillatory transmission behavior through resonances in the quantum well.
 Nontrivial shapes
 .................
 
+.. seealso::
+    The complete source code of this example can be found in
+    :download:`tutorial/ab_ring.py <../../../tutorial/ab_ring.py>`
+
 Up to now, we only dealt with simple wire geometries. Now we turn to the case
 of a more complex geometry, namely transport through a quantum ring
 that is pierced by a magnetic flux :math:`\Phi`:
@@ -313,10 +317,6 @@ Finally you should get the following result:
 where one can observe the conductance oscillations with the
 period of one flux quantum.
 
-.. seealso::
-     The full source code can be found in
-     :download:`tutorial/ab_ring.py <../../../tutorial/ab_ring.py>`
-
 .. specialnote:: Technical details
 
   - Leads have to have proper periodicity. Furthermore, the Kwant
diff --git a/doc/source/tutorial/tutorial3.rst b/doc/source/tutorial/tutorial3.rst
index ba5ed7c8..0b78aecd 100644
--- a/doc/source/tutorial/tutorial3.rst
+++ b/doc/source/tutorial/tutorial3.rst
@@ -4,6 +4,10 @@ Beyond transport: Band structure and closed systems
 Band structure calculations
 ...........................
 
+.. seealso::
+    The complete source code of this example can be found in
+    :download:`tutorial/band_structure.py <../../../tutorial/band_structure.py>`
+
 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
@@ -50,13 +54,13 @@ where we observe the cosine-like dispersion of the square lattice. Close
 to ``k=0`` this agrees well with the quadratic dispersion this tight-binding
 Hamiltonian is approximating.
 
-.. seealso::
-     The full source code can be found in
-     :download:`tutorial/band_structure.py <../../../tutorial/band_structure.py>`
-
 Closed systems
 ..............
 
+.. seealso::
+    The complete source code of this example can be found in
+    :download:`tutorial/closed_system.py <../../../tutorial/closed_system.py>`
+
 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!
@@ -114,10 +118,6 @@ The last two arguments to `~kwant.plotter.map` are optional.  The first prevents
 a colorbar from appearing.  The second, ``oversampling=1``, makes the image look
 better for the special case of a square lattice.
 
-.. seealso::
-    The full source code can be found in
-    :download:`tutorial/closed_system.py <../../../tutorial/closed_system.py>`
-
 .. specialnote:: Technical details
 
   - `~kwant.system.System.hamiltonian_submatrix` can also return a sparse
diff --git a/doc/source/tutorial/tutorial4.rst b/doc/source/tutorial/tutorial4.rst
index ce2e4571..7273919b 100644
--- a/doc/source/tutorial/tutorial4.rst
+++ b/doc/source/tutorial/tutorial4.rst
@@ -3,6 +3,10 @@
 Beyond square lattices: graphene
 --------------------------------
 
+.. seealso::
+    The complete source code of this example can be found in
+    :download:`tutorial/graphene.py <../../../tutorial/graphene.py>`
+
 In the following example, we are going to calculate the
 conductance through a graphene quantum dot with a p-n junction
 and two non-collinear leads. In the process, we will touch
@@ -164,10 +168,6 @@ Finally the transmission through the system is computed,
 showing the typical resonance-like transmission probability through
 an open quantum dot
 
-.. seealso::
-    The full source code can be found in
-    :download:`tutorial/graphene.py <../../../tutorial/graphene.py>`
-
 .. specialnote:: Technical details
 
  - In a lattice with more than one basis atom, you can always act either
diff --git a/doc/source/tutorial/tutorial5.rst b/doc/source/tutorial/tutorial5.rst
index 1cfdbc46..5e21ce1d 100644
--- a/doc/source/tutorial/tutorial5.rst
+++ b/doc/source/tutorial/tutorial5.rst
@@ -24,6 +24,10 @@ choose real), and :math:`\mathcal{T}H\mathcal{T}^{-1}=H_0^*=H_0`.
 "Orbital description": using matrices
 .....................................
 
+.. seealso::
+    The complete source code of this example can be found in
+    :download:`tutorial/superconductor_band_structure.py <../../../tutorial/superconductor_band_structure.py>`
+
 We begin by computing the band structure of a superconducting wire.
 The most natural way to implement the BdG Hamiltonian is by using a
 2x2 matrix structure for all Hamiltonian matrix elements:
@@ -43,14 +47,14 @@ Computing the band structure then yields the result
 We clearly observe the superconducting gap in the spectrum. That was easy,
 wasn't it?
 
-.. seealso::
-    The full source code can be found in
-    :download:`tutorial/superconductor_band_structure.py <../../../tutorial/superconductor_band_structure.py>`
-
 
 "Lattice description": using different lattices
 ...............................................
 
+.. seealso::
+    The complete source code of this example can be found in
+    :download:`tutorial/superconductor_transport.py <../../../tutorial/superconductor_transport.py>`
+
 While it seems most natural to implement the BdG Hamiltonian
 using a 2x2 matrix structure for the matrix elements of the Hamiltonian,
 we run into a problem when we want to compute electronic transport in
@@ -153,10 +157,6 @@ We a see a conductance that is proportional to the square of the tunneling
 probability within the gap, and proportional to the tunneling probability
 above the gap. At the gap edge, we observe a resonant Andreev reflection.
 
-.. seealso::
-    The full source code can be found in
-    :download:`tutorial/superconductor_transport.py <../../../tutorial/superconductor_transport.py>`
-
 .. specialnote:: Technical details
 
     - If you are only interested in particle (thermal) currents you do not need
diff --git a/doc/source/tutorial/tutorial6.rst b/doc/source/tutorial/tutorial6.rst
index c69b2a84..6493c6bd 100644
--- a/doc/source/tutorial/tutorial6.rst
+++ b/doc/source/tutorial/tutorial6.rst
@@ -10,6 +10,10 @@ these options can be used to achieve various very different objectives.
 2D example: graphene quantum dot
 ................................
 
+.. seealso::
+    The complete source code of this example can be found in
+    :download:`tutorial/plot_graphene.py <../../../tutorial/plot_graphene.py>`
+
 We begin by first considering a circular graphene quantum dot (similar to what
 has been used in parts of the tutorial :ref:`tutorial-graphene`.)  In contrast
 to previous examples, we will also use hoppings beyond next-nearest neighbors:
@@ -135,10 +139,6 @@ With this, we arrive at
 
 which shows the edge state nature of the wave function most clearly.
 
-.. seealso::
-    The full source code can be found in
-    :download:`tutorial/plot_graphene.py <../../../tutorial/plot_graphene.py>`
-
 .. rubric:: Footnotes
 
 .. [#] A dangling site is defined as having only one hopping connecting it to
@@ -148,6 +148,10 @@ which shows the edge state nature of the wave function most clearly.
 3D example: zincblende structure
 ................................
 
+.. seealso::
+    The complete source code of this example can be found in
+    :download:`tutorial/plot_zincblende.py <../../../tutorial/plot_zincblende.py>`
+
 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
@@ -222,7 +226,3 @@ crystal lattices out there!
       3d module)
     - Plotting hoppings in 3D is inherently much slower than plotting sites.
       Hence, this is not done by default.
-
-.. seealso::
-    The full source code can be found in :download:`tutorial/plot_zincblende.py
-    <../../../tutorial/plot_zincblende.py>`
-- 
GitLab