diff --git a/docs/source/algorithms/ApplyCalibration-v1.rst b/docs/source/algorithms/ApplyCalibration-v1.rst
index 5f599a50a1d0d1599ac9bdd16b23ece061340167..dfbc03b44aaf0b61614405dcebf6d81b4cbe54c8 100644
--- a/docs/source/algorithms/ApplyCalibration-v1.rst
+++ b/docs/source/algorithms/ApplyCalibration-v1.rst
@@ -15,7 +15,7 @@ updated as absolute positions and so this update can be repeated.
 The PositionTable must have columns *Detector ID* and *Detector
 Position*. The entries of the *Detector ID* column are integer referring
 to the Detector ID and the enties of the *Detector Position* are
-`V3Ds <../api/python/mantid/kernel/V3D.html>`__ referring to the position of the detector whose ID is in same row.
+:py:obj:`V3Ds <mantid.kernel.V3D>` referring to the position of the detector whose ID is in same row.
 
 This algorithm is not appropriate for rectangular detectors and won't move them.
 
diff --git a/docs/source/algorithms/BayesStretch-v1.rst b/docs/source/algorithms/BayesStretch-v1.rst
index 2fe36ac54849d9e73eff3a83c6b9fdef8d951d1b..5714517bc7f6ba19f23bf25800c4ec8db5a4cf16 100644
--- a/docs/source/algorithms/BayesStretch-v1.rst
+++ b/docs/source/algorithms/BayesStretch-v1.rst
@@ -10,12 +10,12 @@ Description
 -----------
 
 This is a variation of the stretched exponential option of
-`Quasi <http://www.mantidproject.org/IndirectBayes:Quasi>`__. For each spectrum a fit is performed
+:ref:`Quasi <algm-BayesQuasi>`. For each spectrum a fit is performed
 for a grid of :math:`\beta` and :math:`\sigma` values. The distribution of goodness of fit values
 is plotted.
 
 This routine was originally part of the MODES package. Note that this algorithm
-uses F2Py and is currently only supported on windows.
+uses F2Py and is currently only supported on Windows.
 
 Usage
 -----
@@ -37,4 +37,4 @@ Usage
 
 .. categories::
 
-.. sourcelink::
\ No newline at end of file
+.. sourcelink::
diff --git a/docs/source/algorithms/CalculateTransmission-v1.rst b/docs/source/algorithms/CalculateTransmission-v1.rst
index 461cfaa8fd65ffe269560b96820c738bed842d52..af7278bbb101c3aaac02e27be451d2b3b9b2f1e8 100644
--- a/docs/source/algorithms/CalculateTransmission-v1.rst
+++ b/docs/source/algorithms/CalculateTransmission-v1.rst
@@ -12,7 +12,7 @@ Description
 Calculates the probability of a neutron being transmitted through the
 sample using detected counts from two monitors, one in front and one
 behind the sample. A data workspace can be corrected for transmission by
-`dividing <http://www.mantidproject.org/Divide>`_ by the output of this algorithm.
+:ref:`dividing <algm-Divide>` by the output of this algorithm.
 
 Because the detection efficiency of the monitors can be different the
 transmission calculation is done using two runs, one run with the sample
diff --git a/docs/source/algorithms/ClearInstrumentParameters-v1.rst b/docs/source/algorithms/ClearInstrumentParameters-v1.rst
index c347d2e0a1ec51d82d7025bff92b711400de89a3..14627a1f29a5b4a51d444f6e7782f82bd67c7129 100644
--- a/docs/source/algorithms/ClearInstrumentParameters-v1.rst
+++ b/docs/source/algorithms/ClearInstrumentParameters-v1.rst
@@ -12,7 +12,7 @@ Description
 This algorithm clears all the parameters associated with a workspace's instrument.
 
 Parameters are used by Mantid to tweak an instrument's values without having to change
-the `instrument definition file <http://mantidproject.org/InstrumentDefinitionFile>`__ itself.
+the :ref:`instrument definition file <InstrumentDefinitionFile>` itself.
 
 Usage
 -----
diff --git a/docs/source/algorithms/ClearUB-v1.rst b/docs/source/algorithms/ClearUB-v1.rst
index 9edefe8e3860ac4e6483c7b5866bd03a904f652f..c5cf87e09fdee872f3fb7a2d454c357ef481d553 100644
--- a/docs/source/algorithms/ClearUB-v1.rst
+++ b/docs/source/algorithms/ClearUB-v1.rst
@@ -10,7 +10,7 @@ Description
 -----------
 
 Clears the :ref:`OrientedLattice <Lattice>` of each ExperimentInfo attached to the intput
-`Workspace <http://www.mantidproject.org/Workspace>`_. Works with both single ExperimentInfos and
+:ref:`Workspace <Workspace>`. Works with both single ExperimentInfos and
 MultipleExperimentInfo instances.
 
 Usage
diff --git a/docs/source/algorithms/CloneMDWorkspace-v1.rst b/docs/source/algorithms/CloneMDWorkspace-v1.rst
index 664ba2239bbd940b11d39ed3e44fd3bb7c6a6d82..6d068a1efd40caee10053031fbf0486960e9f9f4 100644
--- a/docs/source/algorithms/CloneMDWorkspace-v1.rst
+++ b/docs/source/algorithms/CloneMDWorkspace-v1.rst
@@ -10,7 +10,7 @@ Description
 -----------
 
 This algorithm will clones an existing
-`MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_ or
+:ref:`MDEventWorkspace <MDWorkspace>` or
 :ref:`MDHistoWorkspace <MDHistoWorkspace>` into a new one.
 
 If the InputWorkspace is a file-backed MDEventWorkspace, then the
diff --git a/docs/source/algorithms/CloneWorkspace-v1.rst b/docs/source/algorithms/CloneWorkspace-v1.rst
index 51718eba5019a5fd5101dc2cec0d232ab1f24d31..3f88d1d4437c189376187b65a38f18588db3e06d 100644
--- a/docs/source/algorithms/CloneWorkspace-v1.rst
+++ b/docs/source/algorithms/CloneWorkspace-v1.rst
@@ -12,7 +12,7 @@ Description
 This algorithm performs a deep copy of all of the information in the
 workspace. It maintains events if the input is an
 :ref:`EventWorkspace <EventWorkspace>`. It will call CloneMDWorkspace for a
-`MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_ or a
+:ref:`MDEventWorkspace <MDWorkspace>` or a
 :ref:`MDHistoWorkspace <MDHistoWorkspace>`. It can also clone a
 :ref:`PeaksWorkspace <PeaksWorkspace>`.
 
diff --git a/docs/source/algorithms/CompactMD-v1.rst b/docs/source/algorithms/CompactMD-v1.rst
index 7eb52c0c5bf932dc588d9602cec3b1f82339cbe4..940518f0793b073329b5aae4e55e525619afadf4 100644
--- a/docs/source/algorithms/CompactMD-v1.rst
+++ b/docs/source/algorithms/CompactMD-v1.rst
@@ -12,8 +12,7 @@ Used to crop an n-dimensional :ref:`MDHistoWorkspace <MDHistoWorkspace>` to the
 
 Cropping
 --------
-The cropping is done by supplying `IntegrateMDHistoWorkspace <http://docs.mantidproject.org/nightly/algorithms/IntegrateMDHistoWorkspace-v1.html>`__ with the minimum and maximum extents associated with the first non-zero
-signal values in the workspace.
+The cropping is done by supplying :ref:`IntegrateMDHistoWorkspace <algm-IntegrateMDHistoWorkspace>` with the minimum and maximum extents associated with the first non-zero signal values in the workspace.
 
 
 Usage
@@ -55,8 +54,6 @@ Output:
    :width: 400px
    :align: center
 
-   
-   
 .. categories::
 
-.. sourcelink::
\ No newline at end of file
+.. sourcelink::
diff --git a/docs/source/algorithms/CompareMDWorkspaces-v1.rst b/docs/source/algorithms/CompareMDWorkspaces-v1.rst
index 6a95360b8497d102d4e9ee9b47fec92a1de2cd6b..ed72bc0cb4949ae6f65413a04076711f48cee800 100644
--- a/docs/source/algorithms/CompareMDWorkspaces-v1.rst
+++ b/docs/source/algorithms/CompareMDWorkspaces-v1.rst
@@ -9,14 +9,14 @@
 Description
 -----------
 
-Compare two MDWorkspaces (`MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_ or
+Compare two MDWorkspaces (:ref:`MDEventWorkspace <MDWorkspace>` or
 :ref:`MDHistoWorkspace <MDHistoWorkspace>`) to see if they are the same.
 This is mostly meant for testing/debugging use by developers.
 
 **What is compared**: The dimensions, as well as the signal and error
 for each bin of each workspace will be compared.
 
-`MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_ : the events in each box will
+:ref:`MDEventWorkspace <MDWorkspace>` : the events in each box will
 be compared if the *CheckEvents* option is checked. The events would
 need to be in the same order to match.
 
diff --git a/docs/source/algorithms/ConvertAxisByFormula-v1.rst b/docs/source/algorithms/ConvertAxisByFormula-v1.rst
index 88cb4d06612375d2cd859aa78442a5e5b6d20fa5..e198fdff78a047e745c6816a9854ce55dcbdd239 100644
--- a/docs/source/algorithms/ConvertAxisByFormula-v1.rst
+++ b/docs/source/algorithms/ConvertAxisByFormula-v1.rst
@@ -14,7 +14,8 @@ defined math formula. It will adjust the data values
 (other than in one case the X values) of a workspace, although it will 
 reverse the spectra if needed to keep the X values increasing across the workspace.
 This only works for MatrixWorkspaces, so will not work on
-Multi Dimensional Workspaces or Table Workspaces. If you specify one of the known Units from the `Unit Factory <http://www.mantidproject.org/Units>`__ then that will be the resulting unit,
+Multi Dimensional Workspaces or Table Workspaces. If you specify one of the
+known :ref:`Units <Unit Factory>` then that will be the resulting unit,
 otherwise like the
 :ref:`algm-ConvertSpectrumAxis` algorithm the result of
 this algorithm will have custom units defined for the axis you have
diff --git a/docs/source/algorithms/ConvertToDetectorFaceMD-v1.rst b/docs/source/algorithms/ConvertToDetectorFaceMD-v1.rst
index 8d14fc3b38c16d7c233dcd4d45cc636679173fbc..32ead4b3a892151419b8613854c6f0a1da44dba0 100644
--- a/docs/source/algorithms/ConvertToDetectorFaceMD-v1.rst
+++ b/docs/source/algorithms/ConvertToDetectorFaceMD-v1.rst
@@ -10,7 +10,7 @@ Description
 -----------
 
 This algorithm takes a a :ref:`MatrixWorkspace <MatrixWorkspace>` and
-converts it into a `MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_ that can be
+converts it into a :ref:`MDEventWorkspace <MDWorkspace>` that can be
 viewed in the `SliceViewer <http://www.mantidproject.org/SliceViewer>`_.
 
 The algorithm currently only works for instruments with
@@ -25,7 +25,7 @@ output workspace are:
 Each MDEvent created has a weight given by the number of counts in that
 bin. Zero bins are not converted to events (saving memory).
 
-Once created, the `MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_ can be viewed
+Once created, the :ref:`MDEventWorkspace <MDWorkspace>` can be viewed
 in the `SliceViewer <http://www.mantidproject.org/SliceViewer>`_. It can also be rebinned with
 different parameters using :ref:`algm-BinMD`. This allows you to view
 the data in detector-space. For example, you might use this feature to
@@ -49,7 +49,7 @@ looks for :ref:`rectangular detectors <Creating Rectangular Area Detectors>` wit
 bank number.
 
 If you specify more than one bank number, then the algorithm will create
-a 4D `MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_. The fourth dimension will be equal to the bank
+a 4D :ref:`MDEventWorkspace <MDWorkspace>`. The fourth dimension will be equal to the bank
 number, allowing you to easily pick a bank to view.
 
 .. categories::
diff --git a/docs/source/algorithms/ConvertToDiffractionMDWorkspace-v1.rst b/docs/source/algorithms/ConvertToDiffractionMDWorkspace-v1.rst
index 75a0bde910a27d60f728198e7ca0b0f946d6772e..1723f94408b37b8b62613e6d60a31e42f766d473 100644
--- a/docs/source/algorithms/ConvertToDiffractionMDWorkspace-v1.rst
+++ b/docs/source/algorithms/ConvertToDiffractionMDWorkspace-v1.rst
@@ -9,9 +9,9 @@
 Description
 -----------
 
-This algorithm converts from a `MatrixWorkspace <http://www.mantidproject.org/MatrixWorkspace>`__ (in
+This algorithm converts from a :ref:`MatrixWorkspace <MatrixWorkspace>` (in
 detector/time-of-flight space) to a
-`MDEventWorkspace <http://www.mantidproject.org/MDWorkspace>`__ containing events in reciprocal
+:ref:`MDEventWorkspace <MDWorkspace>` containing events in reciprocal
 space.
 
 The calculations apply only to elastic diffraction experiments. The
@@ -20,8 +20,8 @@ to HKL of the crystal.
 
 If the OutputWorkspace does NOT already exist, a default one is created.
 In order to define more precisely the parameters of the
-`MDEventWorkspace <http://www.mantidproject.org/MDWorkspace>`__, use the
-:ref:`algm-CreateMDWorkspace` algorithm first.
+:ref:`MDEventWorkspace <MDWorkspace>`, use the :ref:`algm-CreateMDWorkspace`
+algorithm first.
 
 Types of Conversion
 ###################
@@ -75,9 +75,9 @@ Also, the :ref:`algm-FindPeaksMD` algorithm may not work optimally
 because it depends partly on higher density of events causing more
 finely split boxes.
 
-If your input is a `Workspace2D <http://www.mantidproject.org/Workspace2D>`__ and you do NOT check
+If your input is a :ref:`Workspace2D <Workspace2D>` and you do NOT check
 *OneEventPerBin*, then the workspace is converted to an
-`EventWorkspace <http://www.mantidproject.org/EventWorkspace>`__ but with no events for empty bins.
+:ref:`EventWorkspace <EventWorkspace>` but with no events for empty bins.
 
 Performance Notes
 #################
diff --git a/docs/source/algorithms/ConvertToMD-v1.rst b/docs/source/algorithms/ConvertToMD-v1.rst
index 77b3ecf162017450d9319557ba98d8a00083fe93..5d0ba162d13002cd73cdb6de96a868cbc5937a89 100644
--- a/docs/source/algorithms/ConvertToMD-v1.rst
+++ b/docs/source/algorithms/ConvertToMD-v1.rst
@@ -11,10 +11,10 @@ Description
 
 The algorithm is used transform existing :ref:`Event <EventWorkspace>` 
 or :ref:`Matrix <MatrixWorkspace>` workspace into 
-`Multidimensional workspace <http://www.mantidproject.org/MDEventWorkspace>`__ using
+:ref:`Multidimensional workspace <MDWorkspace>` using
 `MD Transformations Factory <http://www.mantidproject.org/MD_Transformation_factory>`_. 
 
-If  the target workspace does not exist, the algorithm creates `MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`__
+If  the target workspace does not exist, the algorithm creates :ref:`MDEventWorkspace <MDWorkspace>`
 with selected dimensions, e.g. the reciprocal space of momentums **(Qx, Qy, Qz)** or momentums modules **\|Q|**, energy transfer **dE** if available 
 and any other user specified log values which can be treated as dimensions. If the target workspace do exist, 
 the **MD Events** are added to this workspace.
diff --git a/docs/source/algorithms/ConvertUnits-v1.rst b/docs/source/algorithms/ConvertUnits-v1.rst
index 1e37613ff86e73b409bc51adcd7ed7f84d62df74..6155ea460caad178dfab215cc17dee78fbe4433f 100644
--- a/docs/source/algorithms/ConvertUnits-v1.rst
+++ b/docs/source/algorithms/ConvertUnits-v1.rst
@@ -10,8 +10,8 @@ Description
 -----------
 
 Changes the units in which the X values of a :ref:`workspace <Workspace>`
-are represented. The available units are those registered with the `Unit
-Factory <http://www.mantidproject.org/Units>`__. If the Y data is 'dimensioned' (i.e. has been
+are represented. The available units are those registered with the :ref:`Unit
+Factory <Unit Factory>`. If the Y data is 'dimensioned' (i.e. has been
 divided by the bin width), then this will be correctly handled, but at
 present nothing else is done to the Y data. If the sample-detector
 distance cannot be calculated then the affected spectrum will be zeroed,
@@ -20,7 +20,7 @@ service.
 
 If AlignBins is false or left at the default the output workspace may be
 a :ref:`ragged workspace <Ragged_Workspace>`. If it is set to true then the
-data is automatically `rebinned <http://www.mantidproject.org/Rebin>`__ to a regular grid so that the
+data is automatically :ref:`rebinned <algm-Rebin>` to a regular grid so that the
 maximum and minimum X values will be maintained. It uses the same number
 of bins as the input data, and divides them linearly equally between the
 minimum and maximum values.
@@ -32,14 +32,14 @@ value of EFixed will be taken, if available, from the instrument
 definition file.
 
 If ConvertFromPointData is true, an input workspace
-contains Point data will be converted using `ConvertToHistogram <http://www.mantidproject.org/ConvertToHistogram>`__
+contains Point data will be converted using :ref:`ConvertToHistogram <algm-ConvertToHistogram>`
 and then the algorithm will be run on the converted workspace.
 
 Restrictions on the input workspace
 ###################################
 
 -  Naturally, the X values must have a unit set, and that unit must be
-   known to the `Unit Factory <http://www.mantidproject.org/Units>`__.
+   known to the :ref:`Unit Factory <Unit Factory>`.
 -  Histograms and Point data can be handled.
 -  The algorithm will also fail if the source-sample distance cannot be
    calculated (i.e. the :ref:`instrument <instrument>` has not been
@@ -49,7 +49,7 @@ Available units
 ---------------
 
 The units currently available to this algorithm are listed
-`here <http://www.mantidproject.org/Units>`__, along with equations specifying exactly how the
+:ref:`here <Unit Factory>`, along with equations specifying exactly how the
 conversions are done.
 
 Usage
diff --git a/docs/source/algorithms/ConvertUnitsUsingDetectorTable-v1.rst b/docs/source/algorithms/ConvertUnitsUsingDetectorTable-v1.rst
index c1c2d5f352359cac7aefc5c15be65363d233be42..37fd369c5e7efcccf07a547ed6f314d4bf43df34 100644
--- a/docs/source/algorithms/ConvertUnitsUsingDetectorTable-v1.rst
+++ b/docs/source/algorithms/ConvertUnitsUsingDetectorTable-v1.rst
@@ -12,13 +12,13 @@ Description
 
 This algorithm functions in the same basic way as :ref:`algm-ConvertUnits` but
 instead of reading the geometric parameters from the instrument, it uses values
-that are specified in a `TableWorkspace <http://www.mantidproject.org/TableWorkspace>`__
+that are specified in a :ref:`TableWorkspace <Table Workspaces>`
 
 Restrictions on the input workspace
 ###################################
 
 -  Naturally, the X values must have a unit set, and that unit must be
-   known to the `Unit Factory <http://www.mantidproject.org/Units>`__.
+   known to the :ref:`Unit Factory <Unit Factory>`.
 -  Only histograms, not point data, can be handled at present.
 -  The algorithm will also fail if the source-sample distance cannot be
    calculated (i.e. the :ref:`instrument <instrument>` has not been
@@ -28,7 +28,7 @@ Available units
 ---------------
 
 The units currently available to this algorithm are listed
-`here <http://www.mantidproject.org/Units>`__, along with equations specifying exactly how the
+:ref:`here <Unit Factory>`, along with equations specifying exactly how the
 conversions are done.
 
 Usage
diff --git a/docs/source/algorithms/CorrectToFile-v1.rst b/docs/source/algorithms/CorrectToFile-v1.rst
index 75b1473c8889bb9dc4c767515efbd309484eb26c..06db446a381826f1365a14cb54ce3fdc932d01ea 100644
--- a/docs/source/algorithms/CorrectToFile-v1.rst
+++ b/docs/source/algorithms/CorrectToFile-v1.rst
@@ -11,7 +11,7 @@ Description
 
 Use data from the supplied file, written in the RKH format, to correct
 the input data. The operations allowed for the correction are
-`multiply <http://www.mantidproject.org/multiply>`_ and `divide <http://www.mantidproject.org/divide>`_.
+:ref:`multiply <algm-Multiply>` and :ref:`divide <algm-Divide>`.
 
 Allowed correction files may contain one spectrum with many bins or many
 spectra each with one bin. If the are many bins then the
diff --git a/docs/source/algorithms/CreateCalFileByNames-v1.rst b/docs/source/algorithms/CreateCalFileByNames-v1.rst
index d1dce35d1bdef230a7ddb53c964c63e7255094ea..2ff56c6ee286f056cea4b73793ca7063aab7db79 100644
--- a/docs/source/algorithms/CreateCalFileByNames-v1.rst
+++ b/docs/source/algorithms/CreateCalFileByNames-v1.rst
@@ -14,12 +14,12 @@ Description
 
    Instrument Tree
 
-Create a `calibration file <http://www.mantidproject.org/CalFile>`_ for diffraction focusing based
+Create a :ref:`calibration file <CalFile>` for diffraction focusing based
 on list of names of the instrument tree.
 
 If a new file name is specified then offsets in the file are all sets to
 zero and all detectors are selected. If a valid calibration file already
-exists at the location specified by the `GroupingFileName <http://www.mantidproject.org/CalFile>`_
+exists at the location specified by the :ref:`GroupingFileName <CalFile>`
 then any existing offsets and selection values will be maintained and
 only the grouping values changed.
 
diff --git a/docs/source/algorithms/CreateDummyCalFile-v1.rst b/docs/source/algorithms/CreateDummyCalFile-v1.rst
index 9f9f592fde7c6de93ae8eb2eed19dc2c58ba46dd..bed1a6caf3c291297e7683d81c36af2012f820f4 100644
--- a/docs/source/algorithms/CreateDummyCalFile-v1.rst
+++ b/docs/source/algorithms/CreateDummyCalFile-v1.rst
@@ -14,7 +14,7 @@ Description
 
    Instrument Tree
 
-Create a dummy `calibration file <http://www.mantidproject.org/CalFile>`_ for diffraction focusing
+Create a dummy :ref:`calibration file <CalFile>` for diffraction focusing
 with one group.
 
 Offsets in the file are all sets to zero and all detectors are selected.
diff --git a/docs/source/algorithms/CreateLeBailFitInput-v1.rst b/docs/source/algorithms/CreateLeBailFitInput-v1.rst
index e9c4749f8a6ff18ee876bce9836ea45ab4783a2e..dc0fca6bbe6f03b133f7e72d74aefaa6fa2abf38 100644
--- a/docs/source/algorithms/CreateLeBailFitInput-v1.rst
+++ b/docs/source/algorithms/CreateLeBailFitInput-v1.rst
@@ -41,7 +41,7 @@ How to use algorithm with other algorithms
 
 This algorithm is designed to work with other algorithms to do Le Bail
 fit. The introduction can be found in the wiki page of `Le Bail
-Fit <Le Bail Fit>`__.
+Fit <http://www.mantidproject.org/Le_Bail_Fit>`__.
 
 Usage
 -----
diff --git a/docs/source/algorithms/CreateWorkspace-v1.rst b/docs/source/algorithms/CreateWorkspace-v1.rst
index afdc4acb2435e7e5c701bec58ed30456964180e4..704f011eac3f39d2c5f7a719989f851bee8a77cd 100644
--- a/docs/source/algorithms/CreateWorkspace-v1.rst
+++ b/docs/source/algorithms/CreateWorkspace-v1.rst
@@ -13,9 +13,7 @@ This algorithm constructs a :ref:`MatrixWorkspace <MatrixWorkspace>`
 when passed a vector for each of the X, Y and optionally E and Dx values.
 The E values of the output workspace will be zero if not provided.
 The unit for the X Axis can optionally be specified as any of the units in the
-Mantid `Unit Factory <http://www.mantidproject.org/Units>`__ (see `the
-list of units currently available
-<http://www.mantidproject.org/Units>`__).  Multiple spectra may be
+Mantid :ref:`Unit Factory <Unit Factory>`.  Multiple spectra may be
 created by supplying the NSpec Property (integer, default 1). When
 this is provided the vectors are split into equal-sized spectra (all
 X, Y, E, Dx values must still be in a single vector for input).
diff --git a/docs/source/algorithms/DgsAbsoluteUnitsReduction-v1.rst b/docs/source/algorithms/DgsAbsoluteUnitsReduction-v1.rst
index b47194f02205d27f537d59f8adbfac5a535a47eb..4945e2dab691da484a8fe95f8a5131b86542a6b9 100644
--- a/docs/source/algorithms/DgsAbsoluteUnitsReduction-v1.rst
+++ b/docs/source/algorithms/DgsAbsoluteUnitsReduction-v1.rst
@@ -17,7 +17,7 @@ workflow. The AbsUnitsIncidentEnergy parameter needs to be passed via a
 property manager since the absolute units sample may have been measured
 at an energy different from the sample of interest. Parameters in
 italics are controlled by the
-`instrument parameter file (IPF) <http://www.mantidproject.org/InstrumentParameterFile>`_
+:ref:`instrument parameter file (IPF) <InstrumentParameterFile>`
 unless provided to the algorithm via a property manager. The mappings are given
 below.
 
diff --git a/docs/source/algorithms/DgsConvertToEnergyTransfer-v1.rst b/docs/source/algorithms/DgsConvertToEnergyTransfer-v1.rst
index 4852a505680cd89528249b76770ac2ba964c7938..07f6bd3c7ccb27b13b94b741bd5655612677dad7 100644
--- a/docs/source/algorithms/DgsConvertToEnergyTransfer-v1.rst
+++ b/docs/source/algorithms/DgsConvertToEnergyTransfer-v1.rst
@@ -17,7 +17,7 @@ parameter to be left blank. Also, SNS instruments need to pass a monitor
 workspace to :ref:`GetEi <algm-GetEi>`
 since they are separate from the sample workspace.
 Parameters in italics are controlled by the
-`instrument parameter file (IPF) <http://www.mantidproject.org/InstrumentParameterFile>`_
+:ref:`instrument parameter file (IPF) <InstrumentParameterFile>`
 unless provided to the algorithm via a property manager. The mappings are given
 below.
 
diff --git a/docs/source/algorithms/DgsDiagnose-v1.rst b/docs/source/algorithms/DgsDiagnose-v1.rst
index f916b8f0984b4784519a7a749fa760c09c8350dc..cd7fa9ee26f56ebeb0ac7b527e5a85123fc6276e 100644
--- a/docs/source/algorithms/DgsDiagnose-v1.rst
+++ b/docs/source/algorithms/DgsDiagnose-v1.rst
@@ -14,7 +14,7 @@ to the :ref:`DetectorDiagnostic <algm-DetectorDiagnostic>`
 algorithm. The diagram below shows the manipulations
 done by this algorithm. Workspaces that have dashed lines are optional. Parameters
 in italics are retrieved from the
-`instrument parameter file (IPF) <http://www.mantidproject.org/InstrumentParameterFile>`_
+:ref:`instrument parameter file (IPF) <InstrumentParameterFile>`
 unless they are provided to the algorithm via a property manager. The mappings for
 these parameters are shown below.
 
diff --git a/docs/source/algorithms/DgsPreprocessData-v1.rst b/docs/source/algorithms/DgsPreprocessData-v1.rst
index acb004040fd3e6cc9e3c31b607364c86b87ed8f4..d4b294053deddda0806a17fd698a4235c6a0af9b 100644
--- a/docs/source/algorithms/DgsPreprocessData-v1.rst
+++ b/docs/source/algorithms/DgsPreprocessData-v1.rst
@@ -14,7 +14,7 @@ beam parameter. This parameter, IncidentBeamNormalisation, is controlled
 from the reduction property manager. It can have the values *None*,
 *ByCurrent* or *ByMonitor*. For SNS, monitor workspaces need to be
 passed. Parameters in italics are controlled by the
-`instrument parameter file (IPF) <http://www.mantidproject.org/InstrumentParameterFile>`_
+:ref:`instrument parameter file (IPF) <InstrumentParameterFile>`
 unless provided to the algorithm via a property manager. The mappings are given
 below.
 
diff --git a/docs/source/algorithms/DgsProcessDetectorVanadium-v1.rst b/docs/source/algorithms/DgsProcessDetectorVanadium-v1.rst
index 2d6e30ab4fcc9f6ff8a406cbd10a3dea20da36dd..6536380b6fbec6b51b40df3815c1ec943005c448 100644
--- a/docs/source/algorithms/DgsProcessDetectorVanadium-v1.rst
+++ b/docs/source/algorithms/DgsProcessDetectorVanadium-v1.rst
@@ -12,7 +12,7 @@ Description
 This algorithm is responsible for processing the detector vanadium in
 the form required for the sample data normalisation in the convert to
 energy transfer process. Parameters in italics are controlled by the
-`instrument parameter file (IPF) <http://www.mantidproject.org/InstrumentParameterFile>`_
+:ref:`instrument parameter file (IPF) <InstrumentParameterFile>`
 unless provided to the algorithm via a property manager. The mappings are given
 below.
 
diff --git a/docs/source/algorithms/DiffractionFocussing-v1.rst b/docs/source/algorithms/DiffractionFocussing-v1.rst
index f828f72e7db9480d047ccf30258e9ce38d06dd74..d4bcbe5e1bc29810cd6079cfd6d52e3585a79f87 100644
--- a/docs/source/algorithms/DiffractionFocussing-v1.rst
+++ b/docs/source/algorithms/DiffractionFocussing-v1.rst
@@ -22,7 +22,7 @@ following:
 #. All histograms are read and rebinned to the new grid for their group.
 #. A new workspace with N histograms is created.
 
-Within the `CalFile <http://www.mantidproject.org/CalFile>`_ any detectors with the 'select' flag
+Within the :ref:`CalFile <CalFile>` any detectors with the 'select' flag
 can be set to zero or with a group number of 0 or -ve groups are not
 included in the analysis.
 
@@ -34,7 +34,7 @@ Some 2D and 3D plots will not display the data correctly.
 
 The DiffractionFocussing algorithm uses GroupDetectors algorithm to
 combine data from several spectra according to GroupingFileName file
-which is a `CalFile <http://www.mantidproject.org/CalFile>`_.
+which is a :ref:`CalFile <CalFile>`.
 
 For EventWorkspaces
 ###################
diff --git a/docs/source/algorithms/DiffractionFocussing-v2.rst b/docs/source/algorithms/DiffractionFocussing-v2.rst
index 71b73b3de9178f2e0e1dcc591d741113ff9bb6b0..bfbfa1a1990d7164b5b8afcc8627a647874e91f4 100644
--- a/docs/source/algorithms/DiffractionFocussing-v2.rst
+++ b/docs/source/algorithms/DiffractionFocussing-v2.rst
@@ -23,7 +23,7 @@ following:
 #. All histograms are read and rebinned to the new grid for their group.
 #. A new workspace with N histograms is created.
 
-Within the `CalFile <http://www.mantidproject.org/CalFile>`_ any detectors with the 'select' flag
+Within the :ref:`CalFile <CalFile>` any detectors with the 'select' flag
 can be set to zero or with a group number of 0 or -ve groups are not
 included in the analysis.
 
@@ -35,12 +35,12 @@ Some 2D and 3D plots will not display the data correctly.
 
 The DiffractionFocussing algorithm uses GroupDetectors algorithm to
 combine data from several spectra according to GroupingFileName file
-which is a `CalFile <http://www.mantidproject.org/CalFile>`_.
+which is a :ref:`CalFile <CalFile>`.
 
 For EventWorkspaces
 ###################
 
-The algorithm can be used with an `EventWorkspace <http://www.mantidproject.org/EventWorkspace>`_
+The algorithm can be used with an :ref:`EventWorkspace <EventWorkspace>`
 input, and will create an EventWorkspace output if a different workspace
 is specified.
 
diff --git a/docs/source/algorithms/DivideMD-v1.rst b/docs/source/algorithms/DivideMD-v1.rst
index 96f9264388244a3528bf896dab31cc30a530c38c..9f895594745af8df19cd5e528618fe9a770cdce5 100644
--- a/docs/source/algorithms/DivideMD-v1.rst
+++ b/docs/source/algorithms/DivideMD-v1.rst
@@ -27,7 +27,7 @@ The error of :math:`f = a / b` is propagated with
 
    -  This is not allowed.
 
--  **`MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_'s**
+-  **:ref:`MDEventWorkspace <MDWorkspace>`'s**
 
    -  This operation is not supported, as it is not clear what its
       meaning would be.
diff --git a/docs/source/algorithms/ExponentialMD-v1.rst b/docs/source/algorithms/ExponentialMD-v1.rst
index 6207ef6a5ed964737aeb8761f791d9ea41909b87..b31596448b54ca7bafcc1be3cdc351686352e637 100644
--- a/docs/source/algorithms/ExponentialMD-v1.rst
+++ b/docs/source/algorithms/ExponentialMD-v1.rst
@@ -16,7 +16,7 @@ The signal :math:`a` becomes :math:`f = e^a`
 The error :math:`da` becomes :math:`df^2 = f^2 * da^2`
 
 This algorithm cannot be run on a
-`MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`__. Its equivalent on a
+:ref:`MDEventWorkspace <MDWorkspace>`. Its equivalent on a
 :ref:`MatrixWorkspace <MatrixWorkspace>` is called
 :ref:`algm-Exponential`.
 
diff --git a/docs/source/algorithms/FakeMDEventData-v1.rst b/docs/source/algorithms/FakeMDEventData-v1.rst
index ecc8148bcba0d910239c2f614f4c0d70d8226665..a75e2872708e5937098575046617f4d7e00ba9ea 100644
--- a/docs/source/algorithms/FakeMDEventData-v1.rst
+++ b/docs/source/algorithms/FakeMDEventData-v1.rst
@@ -9,7 +9,7 @@
 Description
 -----------
 
-For testing `MDEventWorkspaces <http://www.mantidproject.org/MDEventWorkspace>`_,
+For testing :ref:`MDEventWorkspaces <MDWorkspace>`,
 this algorithm either creates a uniform, random distribution of events, or generates
 regular events placed in boxes, or fills peaks around given points with a given
 number of events.
@@ -17,7 +17,7 @@ number of events.
 Usage
 -----
 
-This algorithm can be run on a pre-existing `MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_
+This algorithm can be run on a pre-existing :ref:`MDEventWorkspace <MDWorkspace>`
 or a newly created one. All of the examples below will be done with newly created ones
 using :ref:`CreateMDWorkspace <algm-CreateMDWorkspace>`.
 
diff --git a/docs/source/algorithms/FilterEventsByLogValuePreNexus-v2.rst b/docs/source/algorithms/FilterEventsByLogValuePreNexus-v2.rst
index 38dad32fd64bcd66ecaade737f301460331cc7bd..0a554c945984f9bcb7c177835a5957cbf1a28860 100644
--- a/docs/source/algorithms/FilterEventsByLogValuePreNexus-v2.rst
+++ b/docs/source/algorithms/FilterEventsByLogValuePreNexus-v2.rst
@@ -12,7 +12,7 @@ Description
 The LoadEventPreNeXus algorithm stores data from the pre-nexus neutron
 event data file in an :ref:`EventWorkspace <EventWorkspace>`. The default
 histogram bin boundaries consist of a single bin able to hold all events
-(in all pixels), and will have their `units <http://www.mantidproject.org/units>`_ set to
+(in all pixels), and will have their :ref:`units <Unit Factory>` set to
 time-of-flight. Since it is an :ref:`EventWorkspace <EventWorkspace>`, it
 can be rebinned to finer bins with no loss of data.
 
diff --git a/docs/source/algorithms/FindClusterFaces-v1.rst b/docs/source/algorithms/FindClusterFaces-v1.rst
index 2aaab72b277ce334707245e4a86d825fe2f349a0..2fe0f218a4680764ca9f93990a4dc4f02ecd8985 100644
--- a/docs/source/algorithms/FindClusterFaces-v1.rst
+++ b/docs/source/algorithms/FindClusterFaces-v1.rst
@@ -14,7 +14,7 @@ Algorithm takes an image workspace (a.k.a
 the clusters contained within the image. The image is expected to be a
 labeled image workspace outputted from
 :ref:`algm-IntegratePeaksUsingClusters`. The
-algorithm generates a `TableWorkspace <http://www.mantidproject.org/TableWorkspace>`_ as output,
+algorithm generates a :ref:`TableWorkspace <Table Workspaces>` as output,
 which contains all the cluster edge faces required to draw the outer
 edge of all clusters within the workspace.
 
diff --git a/docs/source/algorithms/FindEPP-v1.rst b/docs/source/algorithms/FindEPP-v1.rst
index 689deffb32291925359773af8d27a8914f60cc1f..30f32a2fe7b38c24d4c394635f597375bda5f819 100644
--- a/docs/source/algorithms/FindEPP-v1.rst
+++ b/docs/source/algorithms/FindEPP-v1.rst
@@ -14,7 +14,7 @@ This utility algorithm attempts to search for the elastic peak position (EPP) in
 .. note::
     This algorithm uses very simple approach to search for an elastic peak: it suggests that the elastic peak has maximal intensity. This approach may fail in the case if the dataset contains Bragg peaks with higher intensities.
 
-As a result, `TableWorkspace <http://www.mantidproject.org/TableWorkspace>`_ with the following columns is produced: *WorkspaceIndex*, *PeakCentre*, *PeakCentreError*, *Sigma*, *SigmaError*, *Height*, *HeightError*, *chiSq* and *FitStatus*. Table rows correspond to the workspace indices.
+As a result, :ref:`TableWorkspace <Table Workspaces>` with the following columns is produced: *WorkspaceIndex*, *PeakCentre*, *PeakCentreError*, *Sigma*, *SigmaError*, *Height*, *HeightError*, *chiSq* and *FitStatus*. Table rows correspond to the workspace indices.
 
 Usage
 -----
diff --git a/docs/source/algorithms/FindEPP-v2.rst b/docs/source/algorithms/FindEPP-v2.rst
index 6d9bf273840e450aea7ff311e6fb0f4e8f9b880e..27833d5fe67b23332033fee59d6aba8d9a5bf711 100644
--- a/docs/source/algorithms/FindEPP-v2.rst
+++ b/docs/source/algorithms/FindEPP-v2.rst
@@ -16,7 +16,7 @@ This utility algorithm attempts to search for the elastic peak position (EPP) in
 .. note::
     This algorithm uses very simple approach to search for an elastic peak: it suggests that the elastic peak has maximal intensity. This approach may fail in the case if the dataset contains Bragg peaks with higher intensities.
 
-As a result, `TableWorkspace <http://www.mantidproject.org/TableWorkspace>`_ with the following columns is produced: *WorkspaceIndex*, *PeakCentre*, *PeakCentreError*, *Sigma*, *SigmaError*, *Height*, *HeightError*, *chiSq* and *FitStatus*. Table rows correspond to the workspace indices.
+As a result, :ref:`TableWorkspace <Table Workspaces>` with the following columns is produced: *WorkspaceIndex*, *PeakCentre*, *PeakCentreError*, *Sigma*, *SigmaError*, *Height*, *HeightError*, *chiSq* and *FitStatus*. Table rows correspond to the workspace indices.
 
 Last column will contain the status of peak finding as follows:
 
diff --git a/docs/source/algorithms/FindPeaks-v1.rst b/docs/source/algorithms/FindPeaks-v1.rst
index 8cb7386be8f7cdc53b8a0ef93b6ca87ffa71a66d..5c831e684b52ace9433f68e84a9cbaaa01b5d253 100644
--- a/docs/source/algorithms/FindPeaks-v1.rst
+++ b/docs/source/algorithms/FindPeaks-v1.rst
@@ -17,7 +17,7 @@ is then searched for patterns consistent with the presence of a peak.
 The list of candidate peaks found is passed to a fitting routine and
 those that are successfully fitted are kept and returned in the output
 workspace (and logged at information level). The output
-`TableWorkspace <http://www.mantidproject.org/TableWorkspace>`_ contains columns,
+:ref:`TableWorkspace <Table Workspaces>` contains columns,
 which reflect the fact that the peak has been fitted to a peak function atop
 a background: spectrum, centre, width, height, backgroundintercept and
 backgroundslope. Setting ``RawPeakParameters=True`` will give the actual
@@ -82,7 +82,7 @@ observed data.
    #. If peak centre is restricted to given value, then the peak range will be from 1/6 to 5/6 of the given data points;
    #. If peak centre is set to observed value, then the 3 leftmost data points will be used for background.
 
-.. seealso:: The `peak shape functions <../fitfunctions/categories/Peak.html>`_ and `background functions </fitfunctions/categories/Background.html>`_ for details on the various functions. The `documentation for minimizers <../fitminimizers/>`_.
+.. seealso:: The :ref:`list of available functions <Fit Functions List>` for details on the various functions and the :ref:`documentation for minimizers <fitminimizers>`.
 
 References
 ----------
diff --git a/docs/source/algorithms/FindPeaksMD-v1.rst b/docs/source/algorithms/FindPeaksMD-v1.rst
index 453f7ea2021e6502196dc6737592f77fc7e719c7..404bd94f161e6fa560c4d42265030c394bbbb1dc 100644
--- a/docs/source/algorithms/FindPeaksMD-v1.rst
+++ b/docs/source/algorithms/FindPeaksMD-v1.rst
@@ -10,7 +10,7 @@ Description
 -----------
 
 This algorithm is used to find single-crystal peaks in a
-multi-dimensional workspace (`MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_ or
+multi-dimensional workspace (:ref:`MDEventWorkspace <MDWorkspace>` or
 :ref:`MDHistoWorkspace <MDHistoWorkspace>`). It looks for high signal
 density areas, and is based on an algorithm designed by Dennis Mikkelson
 for ISAW.
diff --git a/docs/source/algorithms/Fit-v1.rst b/docs/source/algorithms/Fit-v1.rst
index 1b2237850be5f6cbf32cfa300463e224f585a726..41e829c42b0d90c029af803f783915bfe65b4a62 100644
--- a/docs/source/algorithms/Fit-v1.rst
+++ b/docs/source/algorithms/Fit-v1.rst
@@ -45,8 +45,8 @@ no additional properties will be declared. The Function property must be
 set before any other.
 
 The function and the initial values for its parameters are set with the
-Function property. A function can be simple or composite. A `simple
-function <../fitfunctions/categories/FitFunctions.html>`__ has a name registered with Mantid
+Function property. A function can be simple or composite. A :ref:`simple
+function <Fit Functions List>` has a name registered with Mantid
 framework. The Fit algorithm creates an instance of a function by this
 name. A composite function is an arithmetic sum of two or more functions
 (simple or composite). Each function has a number of named parameters,
@@ -61,7 +61,7 @@ to perform the minimization. By default if the function's derivatives
 can be evaluated then Fit uses the GSL Levenberg-Marquardt minimizer.
 
 In Mantidplot this algorithm can be run from the `Fit Property
-Browser <MantidPlot:_Data Analysis and Curve Fitting#Simple_Peak_Fitting_with_the_Fit_Wizard>`__
+Browser <http://www.mantidproject.org/MantidPlot:_Data_Analysis_and_Curve_Fitting>`__
 which allows all the settings to be specified via its graphical user
 interface.
 
@@ -71,8 +71,8 @@ Setting a simple function
 To use a simple function for a fit set its name and initial parameter
 values using the Function property. This property is a comma separated
 list of name=value pairs. The name of the first name=value pairs must be
-"name" and it must be set equal to the name of one of a `simple
-function <../fitfunctions/categories/FitFunctions.html>`__. This name=value pair is followed
+"name" and it must be set equal to the name of one of a :ref:`simple
+function <Fit Functions List>`. This name=value pair is followed
 by name=value pairs specifying values for the parameters of this
 function. If a parameter is not set in Function it will be given its
 default value defined by the function. All names are case sensitive. For
@@ -94,7 +94,7 @@ are created when the Formula attribute is set. It is important that
 Formula is defined before initializing the parameters.
 
 A list of the available simple functions can be found
-`here <../fitfunctions/categories/FitFunctions.html>`__.
+:ref:`here <Fit Functions List>`.
 
 Setting a composite function
 ############################
@@ -255,8 +255,8 @@ replace the name of the workspace with a different name if you give a
 value to the property 'Output' which redefines the base name of the
 output workspaces.
 
-OutputParameters is is a `TableWorkspace
-<http://www.mantidproject.org/TableWorkspace>`_ with the fitted
+OutputParameters is a :ref:`TableWorkspace
+<Table Workspaces>` with the fitted
 parameter values. OutputWorkspace is a :ref:`Workspace2D
 <Workspace2D>` which compares the fit with the original data. The
 names given to these workspaces are built by appending the suffixes
@@ -274,7 +274,7 @@ spectra:
 3. The third spectrum is the difference between the first two.
 
 Also, if the function's derivatives can be evaluated an additional
-`TableWorkspace <http://www.mantidproject.org/TableWorkspace>`_ is
+:ref:`TableWorkspace <Table Workspaces>` is
 produced. If for example the property Output is set to "MyResults"
 then this TableWorkspace will have the name
 "MyResults\_NormalisedCovarianceMatrix" and it contains a calculated
diff --git a/docs/source/algorithms/FitPeak-v1.rst b/docs/source/algorithms/FitPeak-v1.rst
index 7d314bd6cf99abae563eb421fe9ec118d8307eb9..515a0d3929a85e1ffa9a4e14dfb22543a069939f 100644
--- a/docs/source/algorithms/FitPeak-v1.rst
+++ b/docs/source/algorithms/FitPeak-v1.rst
@@ -12,7 +12,7 @@ Description
 This algorithm is used to fit a single peak with some checking mechanism
 to ensure its fitting result is physical.
 
-The output `TableWorkspace <http://www.mantidproject.org/TableWorkspace>`_ contains the following
+The output :ref:`TableWorkspace <Table Workspaces>` contains the following
 columns...
 
 Peak profile
diff --git a/docs/source/algorithms/FitPowderDiffPeaks-v1.rst b/docs/source/algorithms/FitPowderDiffPeaks-v1.rst
index ce7ec4115642e46324a8509c57b2e9b14c0df893..48e9a8e02c8ce2d490eccbf4999908c6417ff092 100644
--- a/docs/source/algorithms/FitPowderDiffPeaks-v1.rst
+++ b/docs/source/algorithms/FitPowderDiffPeaks-v1.rst
@@ -16,7 +16,7 @@ The assumption is that all the peaks in the diffraction patter can be described
 A specific peak parameter will have its values plotted by an analytical function among all the peaks. 
 
 It serves as the first step to fit/refine instrumental parameters that
-will be introduced in `Le Bail Fit <Le Bail Fit>`__. The second step is
+will be introduced in `Le Bail Fit <http://www.mantidproject.org/Le_Bail_Fit>`__. The second step is
 realized by algorithm RefinePowderInstrumentParameters.
 
 Peak Fitting Algorithms
diff --git a/docs/source/algorithms/GenerateEventsFilter-v1.rst b/docs/source/algorithms/GenerateEventsFilter-v1.rst
index 0cb34fa7ebfc7e314ced1a60d3a53eefbef61fd2..618122fa6d4d9c3e605f655ab1e3970d79d3a5fb 100644
--- a/docs/source/algorithms/GenerateEventsFilter-v1.rst
+++ b/docs/source/algorithms/GenerateEventsFilter-v1.rst
@@ -41,7 +41,7 @@ serve as an event splitter. There are two types of output workspaces for storing
 event splitters that are supported by this algorithm.
 
 -  :ref:`SplittersWorkspace`: It is a
-   `TableWorkspace <http://www.mantidproject.org/TableWorkspace>`_ that has 3 columns for start
+   :ref:`TableWorkspace <Table Workspaces>` that has 3 columns for start
    time, stop time and target workspace for events within start time and
    stop time. This type of workspace is appropriate for the case that
    the amount of generated event splitters are not huge;
@@ -54,7 +54,7 @@ event splitters that are supported by this algorithm.
    workspace is appropriate for the case that the amount of generated
    event splitters are huge, because processing a
    :ref:`MatrixWorkspace <MatrixWorkspace>` is way faster than a
-   `TableWorkspace <http://www.mantidproject.org/TableWorkspace>`_ in Mantid.
+   :ref:`TableWorkspace <Table Workspaces>` in Mantid.
 
 .. _functionalities-GenerateEventFilter-ref:
 
diff --git a/docs/source/algorithms/GeneratePeaks-v1.rst b/docs/source/algorithms/GeneratePeaks-v1.rst
index cfdd2b1bd7aefe45eae7bdb6bc15fb0bf2188b79..83ec8a87f22ffda17a059dd5f0ae329ae9c80ea8 100644
--- a/docs/source/algorithms/GeneratePeaks-v1.rst
+++ b/docs/source/algorithms/GeneratePeaks-v1.rst
@@ -11,7 +11,7 @@ Description
 
 Generate a workspace by summing over the peak functions and optionally background functions.
 The peaks' and background'
-parameters are either (1) given in a `TableWorkspace <http://www.mantidproject.org/TableWorkspace>`_
+parameters are either (1) given in a :ref:`TableWorkspace <Table Workspaces>`
 or (2) given by an array of doubles.
 
 Function Parameters
@@ -23,10 +23,10 @@ TableWorkspace
 ==============
 
 Peak and background parameters must have the following columns, which are case
-sensitive in input `TableWorkspace <http://www.mantidproject.org/TableWorkspace>`_
+sensitive in input :ref:`TableWorkspace <Table Workspaces>`
 
 The definition of this table workspace is consistent with the output
-peak and background parameter `TableWorkspace <http://www.mantidproject.org/TableWorkspace>`_
+peak and background parameter :ref:`TableWorkspace <Table Workspaces>`
 of algorithm FindPeaks.
 
 The following table contains the effective peak and background parameters.
diff --git a/docs/source/algorithms/GetDetOffsetsMultiPeaks-v1.rst b/docs/source/algorithms/GetDetOffsetsMultiPeaks-v1.rst
index b44830d6381e9df6e399ebb92aaab90479c68b00..60b3ad41361715522918994f589011e2be934f9d 100644
--- a/docs/source/algorithms/GetDetOffsetsMultiPeaks-v1.rst
+++ b/docs/source/algorithms/GetDetOffsetsMultiPeaks-v1.rst
@@ -19,7 +19,7 @@ function (default is a :ref:`Gaussian <func-Gaussian>`) to the reference peak. T
 to calculate the centre of the fitted peak, and the offset is then
 calculated as:
 
-This is then written into a `.cal file <http://www.mantidproject.org/CalFile>`__ for every detector
+This is then written into a :ref:`.cal file <CalFile>` for every detector
 that contributes to that spectrum. All of the entries in the cal file
 are initially set to both be included, but also to all group into a
 single group on :ref:`algm-DiffractionFocussing`. The
diff --git a/docs/source/algorithms/GetDetectorOffsets-v1.rst b/docs/source/algorithms/GetDetectorOffsets-v1.rst
index 79b10bfde4d548e5b3bfc2973e6e2feb25f88566..8b113a48a2c74b0f2ea244e21b3ef9e9a4c4a245 100644
--- a/docs/source/algorithms/GetDetectorOffsets-v1.rst
+++ b/docs/source/algorithms/GetDetectorOffsets-v1.rst
@@ -23,7 +23,7 @@ calculated as:
 
 :math:`-peakCentre*step/(dreference+PeakCentre*step)`
 
-This is then written into a `.cal file <http://www.mantidproject.org/CalFile>`__ for every detector
+This is then written into a :ref:`.cal file <CalFile>` for every detector
 that contributes to that spectrum. All of the entries in the cal file
 are initially set to both be included, but also to all group into a
 single group on :ref:`algm-DiffractionFocussing`. The
diff --git a/docs/source/algorithms/ImportMDEventWorkspace-v1.rst b/docs/source/algorithms/ImportMDEventWorkspace-v1.rst
index 3f052d10474b47d467da80e92fc32e3234fcc102..8ebfa4b9ad818b224d7b952ea139f3fe6bd7663c 100644
--- a/docs/source/algorithms/ImportMDEventWorkspace-v1.rst
+++ b/docs/source/algorithms/ImportMDEventWorkspace-v1.rst
@@ -9,7 +9,7 @@
 Description
 -----------
 
-Creates an `MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_
+Creates an :ref:`MDEventWorkspace <MDWorkspace>`
 from a plain ASCII file. Uses a simple
 format for the file described below. This algorithm is suitable for
 importing small volumes of data only. This algorithm does not scale well
diff --git a/docs/source/algorithms/IntegrateEllipsoids-v1.rst b/docs/source/algorithms/IntegrateEllipsoids-v1.rst
index 836393846eeb5a1deaeeac6870c2349213adcfc5..17f9cee3d525026b82835b82d0f5411cf49dd428 100644
--- a/docs/source/algorithms/IntegrateEllipsoids-v1.rst
+++ b/docs/source/algorithms/IntegrateEllipsoids-v1.rst
@@ -25,7 +25,7 @@ from :ref:`algm-IntegratePeaksMD` in several critical ways.
 
 -  This algorithm works directly with raw or weighted events
    while :ref:`algm-IntegratePeaksMD` uses **MDEvents** from
-   `MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_.
+   :ref:`MDEventWorkspace <MDWorkspace>`.
 -  This algorithm uses 3D ellipsoidal regions with aspect ratios that
    are adapted to the set of events that are near the peak center, while
    :ref:`algm-IntegratePeaksMD` uses spherical regions.
diff --git a/docs/source/algorithms/IntegrateEllipsoidsTwoStep-v1.rst b/docs/source/algorithms/IntegrateEllipsoidsTwoStep-v1.rst
index 87c2faa1f61b5fddd8029925f4818423200e643a..9862313a4dc8b5e865f164f18627e160530fe64a 100644
--- a/docs/source/algorithms/IntegrateEllipsoidsTwoStep-v1.rst
+++ b/docs/source/algorithms/IntegrateEllipsoidsTwoStep-v1.rst
@@ -25,7 +25,7 @@ from :ref:`algm-IntegratePeaksMD` in several critical ways.
 
 -  This algorithm works directly with raw or weighted events
    while :ref:`algm-IntegratePeaksMD` uses **MDEvents** from
-   `MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_.
+   :ref:`MDEventWorkspace <MDWorkspace>`.
 -  This algorithm uses 3D ellipsoidal regions with aspect ratios that
    are adapted to the set of events that are near the peak center, while
    :ref:`algm-IntegratePeaksMD` uses spherical regions.
diff --git a/docs/source/algorithms/IntegratePeaksMD-v2.rst b/docs/source/algorithms/IntegratePeaksMD-v2.rst
index 25129781cf549e67142afbd517db2e88fb6695db..57a31499fcdf691ee38fdeccf44185cef0eb35a8 100644
--- a/docs/source/algorithms/IntegratePeaksMD-v2.rst
+++ b/docs/source/algorithms/IntegratePeaksMD-v2.rst
@@ -16,7 +16,7 @@ Similar algorithms
 ##################
 
 See :ref:`algm-IntegrateEllipsoids` for a ways of integrating peaks from data collected in
-`EventWorkspace <http://www.mantidproject.org/EventWorkspace>`_. :ref:`algm-PeakIntensityVsRadius`
+:ref:`EventWorkspace <EventWorkspace>`. :ref:`algm-PeakIntensityVsRadius`
 is meant to help determine an appropriate value for `PeakRadius`.
 
 Inputs
diff --git a/docs/source/algorithms/LeBailFit-v1.rst b/docs/source/algorithms/LeBailFit-v1.rst
index 5853c189614b580a70226573a808de6e29091064..412192a905748a21d83e4809bcfe1119f1a64961 100644
--- a/docs/source/algorithms/LeBailFit-v1.rst
+++ b/docs/source/algorithms/LeBailFit-v1.rst
@@ -9,7 +9,7 @@
 Description
 -----------
 
-This algorithm performs `Le Bail Fit <Le Bail Fit>`__ to powder
+This algorithm performs `Le Bail Fit <http://www.mantidproject.org/Le_Bail_Fit>`__ to powder
 diffraction data, and also supports pattern calculation. This algorithm
 will refine a specified set of the powder instrumental profile
 parameters with a previous refined background model.
@@ -61,7 +61,7 @@ Supported functionalities
 Further Information
 ###################
 
-See `Le Bail Fit <Le Bail Fit>`__.
+See `Le Bail Fit <http://www.mantidproject.org/Le_Bail_Fit>`__.
 
 .. categories::
 
diff --git a/docs/source/algorithms/Load-v1.rst b/docs/source/algorithms/Load-v1.rst
index 6dc2e87c125d99b908a2b7d4b9c2c63ec92dd057..dd25dbe72d79ac20947e851822e4f7a11c8fc530 100644
--- a/docs/source/algorithms/Load-v1.rst
+++ b/docs/source/algorithms/Load-v1.rst
@@ -10,11 +10,10 @@ Description
 -----------
 
 The Load algorithm is a more intelligent algorithm than most other load
-algorithms. When passed a filename it attempts to search the existing
-load `algorithms <index.html>`__ and find the most appropriate
-to load the given file. The specific load algorithm is then run as a
-child algorithm with the exception that it logs messages to the Mantid
-logger.
+:ref:`algorithms <Algorithms List>`. When passed a filename it attempts to
+search the existing load algorithms and find the most appropriate to load the
+given file. The specific load algorithm is then run as a child algorithm with
+the exception that it logs messages to the Mantid logger.
 
 Filename Property
 #################
diff --git a/docs/source/algorithms/LoadAscii-v2.rst b/docs/source/algorithms/LoadAscii-v2.rst
index 01f53d12a5b61a1eabc8c604199d4e37de412d8c..5ec7650188e4269482534ff5ce3d6d54d794af57 100644
--- a/docs/source/algorithms/LoadAscii-v2.rst
+++ b/docs/source/algorithms/LoadAscii-v2.rst
@@ -10,7 +10,7 @@ Description
 -----------
 
 The LoadAscii2 algorithm reads in spectra data from a text file and
-stores it in a `Workspace2D <http://www.mantidproject.org/Workspace2D>`_ as data points. The data in
+stores it in a :ref:`Workspace2D <Workspace2D>` as data points. The data in
 the file must be organized in columns separated by commas, tabs, spaces,
 colons or semicolons. Only one separator type can be used throughout the
 file; use the "Separator" property to tell the algorithm which to use.
diff --git a/docs/source/algorithms/LoadDNSSCD-v1.rst b/docs/source/algorithms/LoadDNSSCD-v1.rst
index 3ad687c819e4e7166538aa4257ab373f9cc199f5..0f5679c5290f93d27c6bc1c23260b6a54c4a2f83 100644
--- a/docs/source/algorithms/LoadDNSSCD-v1.rst
+++ b/docs/source/algorithms/LoadDNSSCD-v1.rst
@@ -13,7 +13,7 @@ Description
 
    This algorithm does not perform any consistency check of the input data. It is the users responsibility to choose a physically reasonable dataset.
 
-This algorithm loads a list  of DNS `.d_dat` data files into a `MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_. If the algorithm fails to process a file, this file will be ignored. In this case the algorithm produces a warning and continues to process further files. Only if no valid files are provided, the algorithm terminates with an error message.
+This algorithm loads a list  of DNS `.d_dat` data files into a :ref:`MDEventWorkspace <MDWorkspace>`. If the algorithm fails to process a file, this file will be ignored. In this case the algorithm produces a warning and continues to process further files. Only if no valid files are provided, the algorithm terminates with an error message.
 
 This algorithm is meant to replace the :ref:`algm-LoadDNSLegacy` for single crystal diffraction data.
 
@@ -44,9 +44,9 @@ Data replication
 
 For standard data (vanadium, NiCr, background) the sample rotation angle is assumed to be not important. These data are typically measured only for one sample rotation angle. The algorithm can replicate these data for the same sample rotation angles as a single crystal sample has been measured. For this purpose optional input fields *SaveHuberTo* and *LoadHuberFrom* can be used.
 
-- *SaveHuberTo* should contain a name of the `TableWorkspace <http://www.mantidproject.org/TableWorkspace>`_ where sample rotation angles (Huber) read from the data files will be saved. If the specified workspace exists, it will be overwritten.
+- *SaveHuberTo* should contain a name of the :ref:`TableWorkspace <Table Workspaces>` where sample rotation angles (Huber) read from the data files will be saved. If the specified workspace exists, it will be overwritten.
 
-- *LoadHuberFrom* should contain a name of the `TableWorkspace <http://www.mantidproject.org/TableWorkspace>`_. The workspace must exist and contain one column with the name *Huber(degrees)*, where the sample rotation angles are specified.
+- *LoadHuberFrom* should contain a name of the :ref:`TableWorkspace <Table Workspaces>`. The workspace must exist and contain one column with the name *Huber(degrees)*, where the sample rotation angles are specified.
 
 .. note::
 
diff --git a/docs/source/algorithms/LoadEventNexus-v1.rst b/docs/source/algorithms/LoadEventNexus-v1.rst
index d224508f57ef24445da5c62ab485676df0c40169..729a170aa3190bd10b554f491a1c31d76bc7d60f 100644
--- a/docs/source/algorithms/LoadEventNexus-v1.rst
+++ b/docs/source/algorithms/LoadEventNexus-v1.rst
@@ -12,7 +12,7 @@ Description
 The LoadEventNeXus algorithm loads data from an EventNexus file into an
 :ref:`EventWorkspace <EventWorkspace>`. The default histogram bin
 boundaries consist of a single bin able to hold all events (in all
-pixels), and will have their `units <http://www.mantidproject.org/units>`_ set to time-of-flight.
+pixels), and will have their :ref:`units <Unit Factory>` set to time-of-flight.
 Since it is an :ref:`EventWorkspace <EventWorkspace>`, it can be rebinned
 to finer bins with no loss of data.
 
diff --git a/docs/source/algorithms/LoadEventPreNexus-v2.rst b/docs/source/algorithms/LoadEventPreNexus-v2.rst
index 9cbbe010eff450594adc0cecd15a1348543dd1b6..da508c39ca007e792739723f9b817d5fddcf8715 100644
--- a/docs/source/algorithms/LoadEventPreNexus-v2.rst
+++ b/docs/source/algorithms/LoadEventPreNexus-v2.rst
@@ -10,10 +10,10 @@ Description
 -----------
 
 The LoadEventPreNeXus algorithm stores data from the pre-nexus neutron
-event data file in an `EventWorkspace <http://www.mantidproject.org/EventWorkspace>`_. The default
+event data file in an :ref:`EventWorkspace <EventWorkspace>`. The default
 histogram bin boundaries consist of a single bin able to hold all events
-(in all pixels), and will have their `units <http://www.mantidproject.org/units>`_ set to
-time-of-flight. Since it is an `EventWorkspace <http://www.mantidproject.org/EventWorkspace>`_, it
+(in all pixels), and will have their :ref:`units <Unit Factory>` set to
+time-of-flight. Since it is an :ref:`EventWorkspace <EventWorkspace>`, it
 can be rebinned to finer bins with no loss of data.
 
 Optional properties
diff --git a/docs/source/algorithms/LoadMD-v1.rst b/docs/source/algorithms/LoadMD-v1.rst
index 377dd78987e872706cf0902081af6d6f2df98cbd..0efa702d369ffbd9f3dcf7199b95b4142251ea17 100644
--- a/docs/source/algorithms/LoadMD-v1.rst
+++ b/docs/source/algorithms/LoadMD-v1.rst
@@ -9,17 +9,16 @@
 Description
 -----------
 
-This algorithm loads a `MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_ that was
+This algorithm loads a :ref:`MDEventWorkspace <MDWorkspace>` that was
 previously saved using the :ref:`algm-SaveMD` algorithm to a .nxs file
 format.
 
-If the workspace is too large to fit into memory, You can load the
-workspace as a `file-backed
-MDWorkspace <MDWorkspace#File-Backed_MDWorkspaces>`__ by checking the
-FileBackEnd option. This will load the box structure (allowing for some
-visualization with no speed penalty) but leave the events on disk until
-requested. Processing file-backed MDWorkspaces is significantly slower
-than in-memory workspaces due to frequent file access!
+If the workspace is too large to fit into memory, You can load the workspace 
+as a :ref:`file-backed MDWorkspace <MDWorkspace File Backed>` by checking the 
+FileBackEnd option. This will load the box structure (allowing for some 
+visualization with no speed penalty) but leave the events on disk until 
+requested. Processing file-backed MDWorkspaces is significantly slower than 
+in-memory workspaces due to frequent file access!
 
 For file-backed workspaces, the Memory option allows you to specify a
 cache size, in MB, to keep events in memory before caching to disk.
diff --git a/docs/source/algorithms/LoadRaw-v3.rst b/docs/source/algorithms/LoadRaw-v3.rst
index 7ccd96f0ad8d505f3b17aadee5889e1f6bc59c80..e335cc36bfa87cc21c340a04f8cffa306d64f1bc 100644
--- a/docs/source/algorithms/LoadRaw-v3.rst
+++ b/docs/source/algorithms/LoadRaw-v3.rst
@@ -10,10 +10,10 @@ Description
 -----------
 
 The LoadRaw algorithm stores data from the :ref:`RAW file <RAW File>` in a
-`Workspace2D <http://www.mantidproject.org/Workspace2D>`__, which will naturally contain histogram
+:ref:`Workspace2D <Workspace2D>`, which will naturally contain histogram
 data with each spectrum going into a separate histogram. The time bin
 boundaries (X values) will be common to all histograms and will have
-their `units <http://www.mantidproject.org/Units>`__ set to time-of-flight. The Y values will contain
+their :ref:`units <Unit Factory>` set to time-of-flight. The Y values will contain
 the counts and will be unit-less (i.e. no division by bin width or
 normalisation of any kind). The errors, currently assumed Gaussian, will
 be set to be the square root of the number of counts in the bin.
@@ -34,9 +34,9 @@ If the RAW file contains multiple periods of data this will be detected
 and the different periods will be output as separate workspaces, which
 after the first one will have the period number appended (e.g.
 OutputWorkspace\_period). Each workspace will share the same
-`Instrument <http://www.mantidproject.org/Instrument>`__, SpectraToDetectorMap and
-`sample objects <../api/python/mantid/api/Sample.html>`__. If the optional 'spectrum' properties are
-set for a multiperiod dataset, then they will ignored.
+:ref:`Instrument <Instrument>`, SpectraToDetectorMap and
+:py:obj:`sample objects <mantid.api.Sample>`. If the optional 'spectrum'
+properties are set for a multiperiod dataset, then they will ignored.
 
 If PeriodList property isn't empty then only periods listed there will be
 loaded.
@@ -45,7 +45,7 @@ Subalgorithms used
 ##################
 
 LoadRaw runs the following algorithms as child algorithms to populate
-aspects of the output `Workspace <http://www.mantidproject.org/Workspace>`__:
+aspects of the output :ref:`Workspace <Workspace>`:
 
 -  :ref:`algm-LoadInstrument` - Looks for an instrument
    definition file named XXX\_Definition.xml, where XXX is the 3 letter
@@ -57,10 +57,10 @@ aspects of the output `Workspace <http://www.mantidproject.org/Workspace>`__:
    run instead.
 -  :ref:`algm-LoadMappingTable` - To build up the mapping
    between the spectrum numbers and the Detectors of the attached
-   `Instrument <http://www.mantidproject.org/Instrument>`__.
+   :ref:`Instrument <Instrument>`.
 -  :ref:`algm-LoadLog` - Will look for any log files in the same
    directory as the RAW file and load their data into the workspace's
-   `sample objects <../api/python/mantid/api/Sample.html>`__.
+   :py:obj:`sample objects <mantid.api.Sample>`.
 
 Previous Versions
 -----------------
@@ -75,8 +75,7 @@ Usage
 
 .. include:: ../usagedata-note.txt
 
-Example 1: using defaults
-#########################
+**Example 1: using defaults**
 
 .. testcode:: ExLoadDataDefaults
 
@@ -92,8 +91,7 @@ Example 1: using defaults
   print('Workspace contains {} logs'.format(len(run.keys())))
   print('Workspace has property INT1: {}'.format(run.hasProperty('INT1')))
 
-Output
-^^^^^^
+Output:
 
 .. testoutput:: ExLoadDataDefaults
 
@@ -103,8 +101,7 @@ Output
   Workspace has property INT1: True
 
 
-Example 2: load without the logs
-################################
+**Example 2: load without the logs**
 
 .. testcode:: ExLoadDataNoLogs
 
@@ -120,8 +117,7 @@ Example 2: load without the logs
   print('Workspace contains {} logs'.format(len(run.keys())))
   print('Workspace has property INT1: {}'.format(run.hasProperty('INT1')))
 
-Output
-^^^^^^
+Output:
 
 .. testoutput:: ExLoadDataNoLogs
 
@@ -130,8 +126,7 @@ Output
   Workspace contains 29 logs
   Workspace has property INT1: False
 
-Example 3: exclude monitors
-###########################
+**Example 3: exclude monitors**
 
 .. testcode:: ExLoadDataNoMonitors
 
@@ -147,8 +142,7 @@ Example 3: exclude monitors
   print('Workspace contains {} logs'.format(len(run.keys())))
   print('Workspace has property INT1: {}'.format(run.hasProperty('INT1')))
 
-Output
-^^^^^^
+Output:
 
 .. testoutput:: ExLoadDataNoMonitors
 
@@ -157,8 +151,7 @@ Output
   Workspace contains 35 logs
   Workspace has property INT1: True
 
-Example 4: load monitors separately
-###################################
+**Example 4: load monitors separately**
 
 .. testcode:: ExLoadDataSepMonitors
 
@@ -175,8 +168,7 @@ Example 4: load monitors separately
   detid = monitorws.getSpectrum(1).getDetectorIDs()[0]
   print('Is detector {} a monitor? {}'.format(detid, monitorws.getInstrument().getDetector(detid).isMonitor()))
 
-Output
-^^^^^^
+Output:
 
 .. testoutput:: ExLoadDataSepMonitors
 
diff --git a/docs/source/algorithms/LoadSQW-v1.rst b/docs/source/algorithms/LoadSQW-v1.rst
index c2ef22d9fcdd2cf878f02435839373f9a179a723..06f965192d5b9df53e947f32e6b2057ed0f47086 100644
--- a/docs/source/algorithms/LoadSQW-v1.rst
+++ b/docs/source/algorithms/LoadSQW-v1.rst
@@ -19,7 +19,7 @@ recalculated to the Crystal? frame, without HKL transformation).
 
 U matrix is set to unity but the B-matrix is read from the SQW and
 attached to the workspace which may confuse the algorithms which work
-with `MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_ produced by Mantid
+with :ref:`MDEventWorkspace <MDWorkspace>` produced by Mantid
 algorithms.
 
 Notes on Horace SQW files
diff --git a/docs/source/algorithms/LoadSQW-v2.rst b/docs/source/algorithms/LoadSQW-v2.rst
index 6651f7cef591125bf4be092c8fed50068969bc6e..97ca6f6af49dd923bad4682778a2b4b769a53ae2 100644
--- a/docs/source/algorithms/LoadSQW-v2.rst
+++ b/docs/source/algorithms/LoadSQW-v2.rst
@@ -12,7 +12,7 @@ Description
 
 The algorithm reads the pixel information defined in an ``.sqw`` file produced
 by the `Horace <http://horace.isis.rl.ac.uk/Main_Page>`_ program and stores
-it in a `MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_.
+it in a :ref:`MDEventWorkspace <MDWorkspace>`.
 
 SQW objects in Horace can be split into 4 sections (see below for more detail):
 
diff --git a/docs/source/algorithms/LogarithmMD-v1.rst b/docs/source/algorithms/LogarithmMD-v1.rst
index 5164eabb2421e3a39b3ec1e588e08d56a54351bb..bc376bef47086a3074d882dea1463028af37c82d 100644
--- a/docs/source/algorithms/LogarithmMD-v1.rst
+++ b/docs/source/algorithms/LogarithmMD-v1.rst
@@ -16,7 +16,7 @@ The signal :math:`a` becomes :math:`f = log(a)`
 The error :math:`da` becomes :math:`df^2 = a^2 / da^2`
 
 This algorithm cannot be run on a
-`MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`__. Its equivalent on a
+:ref:`MDEventWorkspace <MDWorkspace>`. Its equivalent on a
 :ref:`MatrixWorkspace <MatrixWorkspace>` is called
 :ref:`algm-Logarithm`.
 
diff --git a/docs/source/algorithms/MaskDetectors-v1.rst b/docs/source/algorithms/MaskDetectors-v1.rst
index 7c24bacf82ebab2ab44aae90abdcde4116323241..f02248dfe56a4b094957e232e8cf0fb114ab549c 100644
--- a/docs/source/algorithms/MaskDetectors-v1.rst
+++ b/docs/source/algorithms/MaskDetectors-v1.rst
@@ -85,7 +85,7 @@ If *MaskedWorkspace* is provided, both *MaskedWorkspace* and
 
 The algorithm works differently depending on *MaskedWorkspace* property 
 being a *Mask Workspace* (SpecialWorkspace2D object) or 
-`Matrix Workspace <http://docs.mantidproject.org/nightly/concepts/MatrixWorkspace.html#matrixworkspace>`_. 
+:ref:`Matrix Workspace <MatrixWorkspace>`. 
 
 If source *MaskedWorkspace* is a *Mask Workspace* and the number of spectra in the source 
 *MaskedWorkspace* is equal to number of spectra in the target *Workspace*, the 
@@ -97,12 +97,11 @@ the algorithm extracts list of masked detector IDS from source workspace and
 uses them to mask the corresponding spectra of the target workspace. 
 
 Setting property *ForceInstrumentMasking* to true forces algorithm 
-to always use *MaskedWorkspace* detector IDs
-as the source of the masking information. 
-If a detector is masked, then the corresponding detector
+to always use *MaskedWorkspace* detector IDs as the source of the masking
+information. If a detector is masked, then the corresponding detector
 will be masked in the input *Workspace*.
 
-If the input *MaskedWorkspace* is a `Matrix Workspace <http://docs.mantidproject.org/nightly/concepts/MatrixWorkspace.html#matrixworkspace>`_ 
+If the input *MaskedWorkspace* is a :ref:`Matrix Workspace <MatrixWorkspace>` 
 and the number of spectra in the source *MaskedWorkspace* is equal to the number 
 of spectra in the target *Workspace*, then workspace indices of the source are
 used.
@@ -173,8 +172,7 @@ There are 2 operations to mask a detector and thus spectrum related
 Usage
 -----
 
-Example 1: specifying spectrum numbers
-######################################
+**Example 1: specifying spectrum numbers**
 
 .. testcode:: ExMaskSpec
 
@@ -219,8 +217,7 @@ Example 1: specifying spectrum numbers
   y = ws.readY(3)
   print('All counts in the spectrum are 0:    {}'.format(np.all( y == 0.0 )))
 
-Output
-^^^^^^
+Output:
 
 .. testoutput:: ExMaskSpec
 
@@ -238,8 +235,7 @@ Output
   All counts in the spectrum are 0:    False
 
 
-Example 2: specifying detector IDs
-##################################
+**Example 2: specifying detector IDs**
 
 .. testcode:: ExMaskIDs
 
@@ -266,8 +262,7 @@ Example 2: specifying detector IDs
   det = ws.getInstrument().getDetector(105)
   print('Detector  {}  is masked: {}'.format(det.getID(), det.isMasked()))
 
-Output
-^^^^^^
+Output:
 
 .. testoutput:: ExMaskIDs
 
@@ -278,8 +273,7 @@ Output
   Detector  105  is masked: False
 
 
-Example 3: specifying workspace indices
-#######################################
+**Example 3: specifying workspace indices**
 
 .. testcode:: ExMaskWI
 
@@ -311,8 +305,7 @@ Example 3: specifying workspace indices
   det = ws.getDetector( workspaceIndex )
   print('Detector in spectrum with workspace index  {}  is masked: {}'.format(workspaceIndex, det.isMasked()))
 
-Output
-^^^^^^
+Output:
 
 .. testoutput:: ExMaskWI
 
@@ -323,8 +316,7 @@ Output
   Detector in spectrum with workspace index  4  is masked: False
 
 
-Example 4: specifying instrument components
-###########################################
+**Example 4: specifying instrument components**
 
 .. testcode:: ExMaskComp
 
@@ -356,13 +348,14 @@ Example 4: specifying instrument components
   # Check bank2
   checkMasked(200,300)
 
+Output:
+
 .. testoutput:: ExMaskComp
 
   Detectors from 130 to 140 are masked.
   Detectors from 200 to 300 are masked.
 
-Example 5: specifying a masking workspace
-#########################################
+**Example 5: specifying a masking workspace**
 
 .. testcode:: ExMaskMask
 
@@ -401,8 +394,7 @@ Example 5: specifying a masking workspace
   print('Detector {} is masked: {}'.format(det.getID(), det.isMasked()))
 
 
-Output
-^^^^^^
+Output:
 
 .. testoutput:: ExMaskMask
 
@@ -419,8 +411,7 @@ Output
   Detector 103 is masked: True
   Detector 104 is masked: False
   
-Example 6: specifying a masking range
-#####################################
+**Example 6: specifying a masking range**
 
 .. testcode:: ExMaskInRange
 
@@ -435,8 +426,7 @@ Example 6: specifying a masking range
     print('Detector {} is masked: {}'.format(det.getID(), det.isMasked()))
 
 
-Output
-^^^^^^
+Output:
 
 .. testoutput:: ExMaskInRange
 
@@ -447,8 +437,7 @@ Output
   Detector 104 is masked: True
   Detector 105 is masked: False
   
-Example 7: constraining the masking range
-#########################################
+**Example 7: constraining the masking range**
 
 .. testcode:: ExMaskConstrainInRange
 
@@ -478,9 +467,8 @@ Example 7: constraining the masking range
   for ind in range(0,7):
     det = ws.getDetector(ind)
     print('Detector {} is masked: {}'.format(det.getID(), det.isMasked()))
-    
-Output
-^^^^^^
+
+Output:
 
 .. testoutput:: ExMaskConstrainInRange
 
diff --git a/docs/source/algorithms/MinusMD-v1.rst b/docs/source/algorithms/MinusMD-v1.rst
index d55bb27197c815d7db7a2c80f3a75f991a36a876..2ce27f7b5b42d96999aaf4fc00a92548a2768348 100644
--- a/docs/source/algorithms/MinusMD-v1.rst
+++ b/docs/source/algorithms/MinusMD-v1.rst
@@ -25,15 +25,15 @@ MDHistoWorkspace and a scalar.
 
    -  This is not allowed.
 
--  **`MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_ -
-   `MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_**
+-  **:ref:`MDEventWorkspace <MDWorkspace>` -
+   :ref:`MDEventWorkspace <MDWorkspace>`**
 
    -  The signal of each event on the right-hand-side is multiplied by
       -1 before the events are summed.
    -  The number of events in the output MDEventWorkspace is that of the
       LHS and RHS workspaces put together.
 
--  **`MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_ - Scalar or
+-  **:ref:`MDEventWorkspace <MDWorkspace>` - Scalar or
    MDHistoWorkspace**
 
    -  This is not possible.
diff --git a/docs/source/algorithms/MonitorLiveData-v1.rst b/docs/source/algorithms/MonitorLiveData-v1.rst
index 7545e2311437dec9e0f595b21ba4557eebf116ae..9c31a048fe888638877d006b57e7deb28ea1f49e 100644
--- a/docs/source/algorithms/MonitorLiveData-v1.rst
+++ b/docs/source/algorithms/MonitorLiveData-v1.rst
@@ -19,7 +19,7 @@ This algorithm simply calls :ref:`algm-LoadLiveData` at the given
 :ref:`algm-StartLiveData`.
 
 For details on the way to specify the data processing steps, see:
-`LoadLiveData <LoadLiveData#Description>`__.
+:ref:`LoadLiveData <algm-LoadLiveData>`.
 
 Usage
 -----
diff --git a/docs/source/algorithms/MultiplyMD-v1.rst b/docs/source/algorithms/MultiplyMD-v1.rst
index e63c67fa070d268fdbf754b845c62b57d8eff965..6eb5c316d15e152c049b5601770b91b6498031b6 100644
--- a/docs/source/algorithms/MultiplyMD-v1.rst
+++ b/docs/source/algorithms/MultiplyMD-v1.rst
@@ -23,7 +23,7 @@ The error of :math:`f = a * b` is propagated with
 
    -  Every element of the MDHistoWorkspace is multiplied by the scalar.
 
--  **`MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_'s**
+-  **:ref:`MDEventWorkspace <MDWorkspace>`'s**
 
    -  This operation is not supported, as it is not clear what its
       meaning would be.
diff --git a/docs/source/algorithms/NormaliseByCurrent-v1.rst b/docs/source/algorithms/NormaliseByCurrent-v1.rst
index b306fee5c54159625f1000e28e7e3f47e14af27e..f465a62d3b02ffe31a073308d701cd65219e21ac 100644
--- a/docs/source/algorithms/NormaliseByCurrent-v1.rst
+++ b/docs/source/algorithms/NormaliseByCurrent-v1.rst
@@ -11,7 +11,7 @@ Description
 
 Normalises a workspace according to the good proton charge figure taken
 from the Input Workspace log data, which is stored in the workspace's
-`sample objects <../api/python/mantid/api/Sample.html>`__). Every data point
+:py:obj:`run object <mantid.api.Run>`. Every data point
 (and its error) is divided by that number.
 The good proton charge value is added to the normalized workspace
 as the value of *NormalizationFactor* log. 
diff --git a/docs/source/algorithms/NormaliseByDetector-v1.rst b/docs/source/algorithms/NormaliseByDetector-v1.rst
index 745205a1967ca9ab56378cadcdcc8fce7a8b4973..c44986dc2b686ea2f133768e850b76d4dba4d1f7 100644
--- a/docs/source/algorithms/NormaliseByDetector-v1.rst
+++ b/docs/source/algorithms/NormaliseByDetector-v1.rst
@@ -11,7 +11,7 @@ Description
 
 This algorithm is designed to normalise a workspace via detector
 efficiency functions. **For this algorithm to work, the Instrument
-Definition File `IDF <http://www.mantidproject.org/IDF>`_ must have fitting functions on the
+Definition File :ref:`IDF <InstrumentDefinitionFile>` must have fitting functions on the
 component tree**. The setup information for this, as well as some
 examples, are provided below.
 
@@ -45,7 +45,7 @@ Background
 In brief, the components in the IDF file form a tree structure.
 Detectors and Instruments are both types of component. Detectors are
 ultimately children of Instruments in the tree structure. For a more
-complete description see `IDF <http://www.mantidproject.org/IDF>`_. The tree structure of the
+complete description see :ref:`IDF <InstrumentDefinitionFile>`. The tree structure of the
 components, mean that fitting functions do not necessarily have to be
 assigned on a detector-by-detector basis. Applying a fit function to the
 instrument, will ensure that all subcomponents (including detectors),
diff --git a/docs/source/algorithms/OneStepMDEW-v1.rst b/docs/source/algorithms/OneStepMDEW-v1.rst
index 69bfee2d18b3cef815765299d2f182cf302dc456..1f96bcbac7c2d4c9f36ce362870556e4b703249c 100644
--- a/docs/source/algorithms/OneStepMDEW-v1.rst
+++ b/docs/source/algorithms/OneStepMDEW-v1.rst
@@ -10,7 +10,7 @@ Description
 -----------
 
 This algorithm is used in the Paraview event nexus loader to both load
-an event nexus file and convert it into a `MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_ for use in visualization.
+an event nexus file and convert it into a :ref:`MDEventWorkspace <MDWorkspace>` for use in visualization.
 
 The :ref:`algm-LoadEventNexus` algorithm is called with default
 parameters to load into an :ref:`EventWorkspace <EventWorkspace>`.
diff --git a/docs/source/algorithms/PDCalibration-v1.rst b/docs/source/algorithms/PDCalibration-v1.rst
index f6096ee8a1cb91a4435c93879646281eadb2bf4a..5e9d688600c92b673501b07154301f602b34ad50 100644
--- a/docs/source/algorithms/PDCalibration-v1.rst
+++ b/docs/source/algorithms/PDCalibration-v1.rst
@@ -54,8 +54,8 @@ three workspaces placed in the ``DiagnosticWorkspace`` group. They are:
 * instrument resolution (delta-d/d ``_resolution``)
 
 Since multiple peak shapes can be used,
-see the documentation for the individual `fit functions
-<../fitfunctions/index.html>`_ to see how they relate to the effective
+see the documentation for the individual :ref:`fit functions
+<Fit Functions List>` to see how they relate to the effective
 values displayed in the diagnostic tables. For ``Gaussian`` and
 ``Lorentzian``, the widths and resolution are converted to values that
 can be directly compared with the results of
@@ -68,7 +68,7 @@ Usage
 
 .. code-block:: python
 
-   # If you have a old calibration it can be used as the starting point
+   # If you have an old calibration it can be used as the starting point
    oldCal = 'NOM_calibrate_d72460_2016_05_23.h5'
 
    # list of d values for diamond
diff --git a/docs/source/algorithms/PDDetermineCharacterizations-v1.rst b/docs/source/algorithms/PDDetermineCharacterizations-v1.rst
index ac4f5017e3e81caf521c234f754fcf7e58ef6247..5bfab08cead1dbc12cd1eee0bc7d0d36b1f91ca3 100644
--- a/docs/source/algorithms/PDDetermineCharacterizations-v1.rst
+++ b/docs/source/algorithms/PDDetermineCharacterizations-v1.rst
@@ -10,7 +10,7 @@ Description
 -----------
 
 This algorithm takes an ``InputWorkspace`` and ``Characterizations``
-`TableWorkspace <http://www.mantidproject.org/TableWorkspace>`__ and
+:ref:`TableWorkspace <Table Workspaces>` and
 creates a PropertyManager with the appropriate characterization runs.
 This is done by determining the effective accelerator frequency and
 center wavelength and choosing the appropriate row from the table.
@@ -58,14 +58,14 @@ wavelength_min      double       0
 wavelength_max      double       0
 =================== ============ ======= ============
 
-In the case of extra columns existing in the `TableWorkspace
-<TableWorkspace>`__ denoting ``SampleContainer`` information: if the
+In the case of extra columns existing in the :ref:`TableWorkspace
+<Table Workspaces>` denoting ``SampleContainer`` information: if the
 ``SampleContainer`` isn't a property on the workspace, or the value
 isn't one of the column labels, the value of the ``container`` column
-in the supplied `TableWorkspace <TableWorkspace>`__ will be used
+in the supplied :ref:`TableWorkspace <Table Workspaces>` will be used
 instead.
 
-For a description of the  `TableWorkspace <TableWorkspace>`__
+For a description of the  :ref:`TableWorkspace <Table Workspaces>`
 see :ref:`PDLoadCharacterizations <algm-PDLoadCharacterizations>`.
 
 .. categories::
diff --git a/docs/source/algorithms/PDFFourierTransform-v1.rst b/docs/source/algorithms/PDFFourierTransform-v1.rst
index d6e4d2cf8d75603895ddce1fc0f15caf3b650700..96d67710cc65ea4c85ce369e0a7df60c5b32f84a 100644
--- a/docs/source/algorithms/PDFFourierTransform-v1.rst
+++ b/docs/source/algorithms/PDFFourierTransform-v1.rst
@@ -11,10 +11,10 @@ Description
 
 The algorithm transforms a single spectrum workspace containing 
 spectral density :math:`S(Q)`, :math:`S(Q)-1`, or :math:`Q[S(Q)-1]` 
-(as a function of **MomentumTransfer** or **dSpacing** `units <http://www.mantidproject.org/Units>`_ ) to a PDF 
+(as a function of **MomentumTransfer** or **dSpacing** :ref:`units <Unit Factory>`) to a PDF 
 (pair distribution function) as described below.
 
-The input Workspace spectrum should be in the Q-space (\ **MomentumTransfer**\ ) `units <http://www.mantidproject.org/Units>`_ . 
+The input Workspace spectrum should be in the Q-space (\ **MomentumTransfer**\ ) :ref:`units <Unit Factory>` .
 (d-spacing is not supported any more. Contact development team to fix that and enable **dSpacing** again)
 
 References
diff --git a/docs/source/algorithms/PDLoadCharacterizations-v1.rst b/docs/source/algorithms/PDLoadCharacterizations-v1.rst
index 6e4666fa6a74a3eb5017ecfe685b54ffb46914aa..80b9884fea206b78690f243b8684f9ec64bcb418 100644
--- a/docs/source/algorithms/PDLoadCharacterizations-v1.rst
+++ b/docs/source/algorithms/PDLoadCharacterizations-v1.rst
@@ -10,7 +10,7 @@ Description
 -----------
 
 This algorithm loads information into a
-`TableWorkspace <http://www.mantidproject.org/TableWorkspace>`__ for the
+:ref:`TableWorkspace <Table Workspaces>` for the
 characterization information and a collection of output parameters for
 the focus positions to be used in :ref:`algm-EditInstrumentGeometry`. If
 a section is missing then those parameters will be empty. This includes an empty
@@ -52,7 +52,7 @@ specifying azimuthal angles for the focus positions is being supplied
 as it uncommon except for preferred orientation studies.
 
 The second section of the characterizations file is read into the output
-`TableWorkspace <http://www.mantidproject.org/TableWorkspace>`__ as described below.
+:ref:`TableWorkspace <Table Workspaces>` as described below.
 
 A second example from NOMAD demonstrates how to specify different
 ranges for each focused spectrum as well as the optional wavelength
diff --git a/docs/source/algorithms/PlusMD-v1.rst b/docs/source/algorithms/PlusMD-v1.rst
index 2b1cdbed7db09682d3dad6cf43b58b7c2588b13d..766dbc835339ccb68652b40eafe456bcb610ba9d 100644
--- a/docs/source/algorithms/PlusMD-v1.rst
+++ b/docs/source/algorithms/PlusMD-v1.rst
@@ -10,7 +10,7 @@ Description
 -----------
 
 This algorithm sums two :ref:`MDHistoWorkspaces <MDHistoWorkspace>` or
-merges two `MDEventWorkspaces <http://www.mantidproject.org/MDEventWorkspace>`_ together.
+merges two :ref:`MDEventWorkspaces <MDWorkspace>` together.
 
 MDHistoWorkspaces
 #################
@@ -37,7 +37,7 @@ Note for file-backed workspaces
 The algorithm uses :ref:`algm-CloneMDWorkspace` to create the
 output workspace, except when adding in place (e.g. :math:`A = A + B` ).
 See :ref:`algm-CloneMDWorkspace` for details, but note that a
-file-backed `MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_ will have its file
+file-backed :ref:`MDEventWorkspace <MDWorkspace>` will have its file
 copied.
 
 -  If A is in memory and B is file-backed, the operation
diff --git a/docs/source/algorithms/PowerMD-v1.rst b/docs/source/algorithms/PowerMD-v1.rst
index cd3de950833ac5c9ae31aaeea911c9883bd0f7df..fc16a332a5213fbe8dc9fc80bc929ca4f4c0d1a1 100644
--- a/docs/source/algorithms/PowerMD-v1.rst
+++ b/docs/source/algorithms/PowerMD-v1.rst
@@ -16,7 +16,7 @@ The signal :math:`a` becomes :math:`f = a^b`
 The error :math:`da` becomes :math:`df^2 = f^2 * b^2 * (da^2 / a^2)`
 
 This algorithm cannot be run on a
-`MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`__. Its equivalent on a
+:ref:`MDEventWorkspace <MDWorkspace>`. Its equivalent on a
 :ref:`MatrixWorkspace <MatrixWorkspace>` is called :ref:`algm-Power`.
 
 .. categories::
diff --git a/docs/source/algorithms/Q1D-v2.rst b/docs/source/algorithms/Q1D-v2.rst
index 758cfa7e89f58f7d1e447d2b318752840064eb83..06cdc600d767db4476253e9351619d627d9fe928 100644
--- a/docs/source/algorithms/Q1D-v2.rst
+++ b/docs/source/algorithms/Q1D-v2.rst
@@ -51,7 +51,7 @@ This section describes the normalisation/scaling/correction of the input
 workspace using PixelAdj, WavelengthAdj and WavePixelAdj.
 
 This :ref:`algorithm <Algorithm>` takes as input a workspace of neutron
-counts against `wavelength <http://www.mantidproject.org/Units>`_ and creates a workspace of cross
+counts against :ref:`wavelength <Unit Factory>` and creates a workspace of cross
 section against Q. The output Q bins boundaries are defined by setting
 the property OutputBinning.
 
@@ -70,7 +70,7 @@ of many, one, or no wavelength bins.)
 
 In the equation the number of counts in the input spectrum number is
 denoted by :math:`S(n)`, :math:`N(n)` is the wavelength dependent
-correction and :math:`\Omega` is the `solid angle <http://www.mantidproject.org/SolidAngle>`_ of the
+correction and :math:`\Omega` is the :ref:`solid angle <algm-SolidAngle>` of the
 detector
 
 .. math:: P_I(Q) = \frac{ \sum_{n \supset I} S(n)}{\Omega\sum_{n \supset I}N(n)}
@@ -101,7 +101,7 @@ where :math:`F` is the detector dependent (e.g. flood) scaling specified
 by the PixelAdj property, and where a :math:`\lambda` bin :math:`n`
 spans more than one :math:`Q` bin :math:`I`, it is split assuming a
 uniform distribution of the counts in :math:`\lambda`. The normalization
-takes any `bin masking <http://www.mantidproject.org/MaskBins>`_ into account.
+takes any :ref:`bin masking <algm-MaskBins>` into account.
 
 Some corrections will be both pixel and wavelength dependent, for example an
 angle transmission correction. Such corrections can be taken into account by
diff --git a/docs/source/algorithms/RawFileInfo-v1.rst b/docs/source/algorithms/RawFileInfo-v1.rst
index 1d9a6904b32553d66d3b779e83b61d518f23a767..cf2e276a514b120f78fac9cd72542fa7b7f3c183 100644
--- a/docs/source/algorithms/RawFileInfo-v1.rst
+++ b/docs/source/algorithms/RawFileInfo-v1.rst
@@ -11,10 +11,10 @@ Description
 
 Extracts run parameters from the :ref:`RAW <Raw File>` file given as an
 input property. If the ``GetRunParameters`` argument is ``True`` then a
-`TableWorkspace <http://www.mantidproject.org/TableWorkspace>`__ is created that contains a 
+:ref:`TableWorkspace <Table Workspaces>` is created that contains a 
 column for each value of the ``RPB_STRUCT``, i.e. column names such as ``r_dur``, ``r_goodfrm``
 etc. If the ``GetSampleParameters`` argument is ``True`` then a 
-`TableWorkspace <http://www.mantidproject.org/TableWorkspace>`__ is created that contains a 
+:ref:`TableWorkspace <Table Workspaces>` is created that contains a 
 column for each value of the ``SPB_STRUCT``, i.e. column names such as ``e_geom``, ``e_width``, etc.
 This is Mantid's version of the ``Get`` routine in `Open Genie <http://www.opengenie.org/>`__.
 
diff --git a/docs/source/algorithms/Rebin-v1.rst b/docs/source/algorithms/Rebin-v1.rst
index cd009d542abd8eb71323a266a6736c2c874c9a10..01f28712d3973f530aeb801cc42642c752745e5e 100644
--- a/docs/source/algorithms/Rebin-v1.rst
+++ b/docs/source/algorithms/Rebin-v1.rst
@@ -49,7 +49,7 @@ Example Rebin param strings
 For EventWorkspaces
 ###################
 
-If the input is an `EventWorkspace <www.mantidproject.org/EventWorkspace>`__ and the "Preserve
+If the input is an :ref:`EventWorkspace <EventWorkspace>` and the "Preserve
 Events" property is True, the rebinning is performed in place, and only
 the X axes of the workspace are set. The actual Y histogram data will
 only be requested as needed, for example, when plotting or displaying
diff --git a/docs/source/algorithms/SaveMD-v1.rst b/docs/source/algorithms/SaveMD-v1.rst
index ebda8ebaca76901e59dcaabf0d02fb87c26fdae7..2f0f11116a5f7eaec63c02446a8c7309d7e2faa5 100644
--- a/docs/source/algorithms/SaveMD-v1.rst
+++ b/docs/source/algorithms/SaveMD-v1.rst
@@ -9,7 +9,7 @@
 Description
 -----------
 
-Save an `MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_ or a
+Save an :ref:`MDEventWorkspace <MDWorkspace>` or a
 :ref:`MDHistoWorkspace <MDHistoWorkspace>` to a .nxs file. The
 workspace's current box structure and entire list of events is
 preserved. The resulting file can be loaded via :ref:`LoadMD <algm-LoadMD>`.
diff --git a/docs/source/algorithms/SaveMD-v2.rst b/docs/source/algorithms/SaveMD-v2.rst
index 443ec2b3c5d4b538994f78df7df64f178dc6c52c..7a3d9ce5d25031aaa1518674381fc05ecac8feb9 100644
--- a/docs/source/algorithms/SaveMD-v2.rst
+++ b/docs/source/algorithms/SaveMD-v2.rst
@@ -9,7 +9,7 @@
 Description
 -----------
 
-Save an `MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_ or a
+Save an :ref:`MDEventWorkspace <MDWorkspace>` or a
 :ref:`MDHistoWorkspace <MDHistoWorkspace>` to a .nxs file. The
 workspace's current box structure and entire list of events is
 preserved. The resulting file can be loaded via :ref:`LoadMD <algm-LoadMD>`.
diff --git a/docs/source/algorithms/SaveNXcanSAS-v1.rst b/docs/source/algorithms/SaveNXcanSAS-v1.rst
index 426c54d924169e25e682573ef110fcd3065ed6a6..dfe380ec230ebacdc7c6c94ef373a3edbdbd5d02 100644
--- a/docs/source/algorithms/SaveNXcanSAS-v1.rst
+++ b/docs/source/algorithms/SaveNXcanSAS-v1.rst
@@ -9,7 +9,7 @@
 Description
 -----------
 
-Saves a workspace with momentum transfer units into a file adhering to the NXcanSAS format specified by NXcanSAS Data Formats Working Group schema http://cansas-org.github.io/NXcanSAS/classes/contributed_definitions/NXcanSAS.html. If the input workspace is 2D then the vertical axis needs to be a numeric axis in momentum transfer units. The created file can be reloaded using he :ref:`algm-LoadNXcanSAS` algorithm.
+Saves a workspace with momentum transfer units into a file adhering to the NXcanSAS format specified by NXcanSAS Data Formats Working Group `schema <http://cansas-org.github.io/NXcanSAS/classes/contributed_definitions/NXcanSAS.html>`__. If the input workspace is 2D then the vertical axis needs to be a numeric axis in momentum transfer units. The created file can be reloaded using the :ref:`algm-LoadNXcanSAS` algorithm.
 
 In addition it is possible to save the transmission workspaces obtain from a reduction.
 
diff --git a/docs/source/algorithms/SaveParameterFile-v1.rst b/docs/source/algorithms/SaveParameterFile-v1.rst
index be2795351b61f3b294a849809b23a673523f4e20..ad3c71f76609217788c8fd326dd82a7f3a7e0502 100644
--- a/docs/source/algorithms/SaveParameterFile-v1.rst
+++ b/docs/source/algorithms/SaveParameterFile-v1.rst
@@ -10,7 +10,7 @@ Description
 -----------
 
 This algorithm allows instrument parameters to be saved into an
-`instrument parameter file <http://www.mantidproject.org/InstrumentParameterFile>`__.
+:ref:`instrument parameter file <InstrumentParameterFile>`.
 The parameter file can then be inspected and or modified. It can also be loaded back into
 Mantid using the :ref:`algm-LoadParameterFile` algorithm.
 
diff --git a/docs/source/algorithms/SaveZODS-v1.rst b/docs/source/algorithms/SaveZODS-v1.rst
index b18e507c8860f33fd7006d1ecf473f9890a387e1..7e884fdc92d2a6aae376d338571c5817523508b7 100644
--- a/docs/source/algorithms/SaveZODS-v1.rst
+++ b/docs/source/algorithms/SaveZODS-v1.rst
@@ -73,7 +73,7 @@ Description of data fields
 Usage
 -----
 
-This algorithm can be run on a pre-existing `MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_
+This algorithm can be run on a pre-existing :ref:`MDEventWorkspace <MDWorkspace>`
 or a newly created one. The example below will be done with newly created one
 using :ref:`CreateMDWorkspace <algm-CreateMDWorkspace>`.
 
diff --git a/docs/source/algorithms/Scale-v1.rst b/docs/source/algorithms/Scale-v1.rst
index 0afc60473c318a61728dcec33044308bb6563562..35d0ea47b31e83f21ebf27e4855bfbbc54d8eaa4 100644
--- a/docs/source/algorithms/Scale-v1.rst
+++ b/docs/source/algorithms/Scale-v1.rst
@@ -12,7 +12,7 @@ Description
 Uses the binary operation algorithms :ref:`algm-Multiply` or
 :ref:`algm-Plus` to scale the input workspace by the amount requested.
 This algorithm is provided as a simple, but less powerful, alternative
-to the python `workspace algebra <http://www.mantidproject.org/MatrixWorkspace_Attributes#Workspace_algebra>`__ functionality.
+to the python :ref:`workspace algebra <MatrixWorkspace Algebra>` functionality.
 
 
 Usage
diff --git a/docs/source/algorithms/SetMDUsingMask-v1.rst b/docs/source/algorithms/SetMDUsingMask-v1.rst
index 97519a88c55391af015280a07e72957b1945d345..1ad731f38c06ea4b15a802814eec7874c9fd9d53 100644
--- a/docs/source/algorithms/SetMDUsingMask-v1.rst
+++ b/docs/source/algorithms/SetMDUsingMask-v1.rst
@@ -22,8 +22,8 @@ a a simple number to set.
 In matlab, the equivalent function call would be WS[mask] =
 OtherWS[mask]
 
-See `this page on boolean
-operations <MDHistoWorkspace#Boolean_Operations>`__ for examples of how
+See :ref:`this page on boolean
+operations <MDHistoWorkspace boolean operations>` for examples of how
 to create a mask.
 
 Usage (Python)
diff --git a/docs/source/algorithms/SetSpecialCoordinates-v1.rst b/docs/source/algorithms/SetSpecialCoordinates-v1.rst
index e712aae43efe64ad4044314a50ad1cdfb129b897..0d043a221f9dc7fa0cb78e02305718043bdea967 100644
--- a/docs/source/algorithms/SetSpecialCoordinates-v1.rst
+++ b/docs/source/algorithms/SetSpecialCoordinates-v1.rst
@@ -9,7 +9,7 @@
 Description
 -----------
 
-`MDEventWorkspaces <http://www.mantidproject.org/MDEventWorkspace>`_ and
+:ref:`MDEventWorkspaces <MDWorkspace>` and
 :ref:`MDHistoWorkspaces <MDHistoWorkspace>` can be used with any type of
 coordinate system. On the other hand
 :ref:`PeaksWorkspaces <PeaksWorkspace>` may be plotted either in QLab,
diff --git a/docs/source/algorithms/SliceMD-v1.rst b/docs/source/algorithms/SliceMD-v1.rst
index 5da7f957078bae5ee0ba9807b9626e9b8b47647f..7f656d8f2de1922c4637191d33a2e5f7bfdb5f7d 100644
--- a/docs/source/algorithms/SliceMD-v1.rst
+++ b/docs/source/algorithms/SliceMD-v1.rst
@@ -10,7 +10,7 @@ Description
 -----------
 
 Algorithm that can take a slice out of an original
-`MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_ while preserving all the events
+:ref:`MDEventWorkspace <MDWorkspace>` while preserving all the events
 contained therein.
 
 It uses the same parameters as :ref:`algm-BinMD` to determine a
@@ -55,7 +55,7 @@ Slicing a MDHistoWorkspace
 
 It is possible to slice a :ref:`MDHistoWorkspace <MDHistoWorkspace>`. Each
 MDHistoWorkspace holds a reference to the
-`MDEventWorkspace <http://www.mantidproject.org/MDEventWorkspace>`_ that created it, as well as the
+:ref:`MDEventWorkspace <MDWorkspace>` that created it, as well as the
 coordinate transformation that was used.
 
 In this case, the algorithm is executed on the original
diff --git a/docs/source/algorithms/SmoothNeighbours-v1.rst b/docs/source/algorithms/SmoothNeighbours-v1.rst
index 7b7ebfdb1779186fb600eab899d6bdbdd911293d..7383fb2138535a9842fc36fb9ba8f9b39ce067c0 100644
--- a/docs/source/algorithms/SmoothNeighbours-v1.rst
+++ b/docs/source/algorithms/SmoothNeighbours-v1.rst
@@ -12,8 +12,8 @@ Description
 This algorithm performs a moving-average smoothing of data by summing
 spectra of nearest neighbours over the face of detectors. The output
 workspace has the same number of spectra as the input workspace. This
-works on both `EventWorkspaces <http://mantidproject.org/EventWorkspace>`__ and
-`Workspace2D <http://mantidproject.org/Workspace2D>`__'s. It has two main modes of operation.
+works on both :ref:`EventWorkspaces <EventWorkspace>` and
+:ref:`Workspace2D <Workspace2D>`'s. It has two main modes of operation.
 
 Processing Either Generically or Assuming Rectangular Detectors
 ###############################################################
@@ -34,7 +34,7 @@ section below).
 For Instruments With Rectangular Detectors
 ##########################################
 
-The algorithm looks through the `Instrument <http://mantidproject.org/Instrument>`__ to find all
+The algorithm looks through the :ref:`Instrument <Instrument>` to find all
 the :ref:`RectangularDetectors <RectangularDetector>` defined. For each
 pixel in each detector, the AdjX\*AdjY neighboring spectra are summed
 together and saved in the output workspace.
diff --git a/docs/source/algorithms/SofQW-v1.rst b/docs/source/algorithms/SofQW-v1.rst
index 117edc41efe957db76af5cee5ac0c71a77094686..a47ec0cc3368061ce2e6e64251932c1e3b5ed502 100644
--- a/docs/source/algorithms/SofQW-v1.rst
+++ b/docs/source/algorithms/SofQW-v1.rst
@@ -10,7 +10,7 @@ Description
 -----------
 
 This algorithm is for use by inelastic instruments and takes as its
-input a workspace where the data's been reduced to be in `units <http://www.mantidproject.org/Units>`_
+input a workspace where the data's been reduced to be in :ref:`units <Unit Factory>`
 of **energy transfer** against spectrum number (which can be seen as equivalent to
 angle, with the angle being taken from the detector(s) to which the
 spectrum pertains).
diff --git a/docs/source/algorithms/SofQWCentre-v1.rst b/docs/source/algorithms/SofQWCentre-v1.rst
index da9e7a8db996e42b1fb1f34a82fcdb3d531db8ea..131109d355bd09bc1b12e9cf247ef8e1f5d54ef7 100644
--- a/docs/source/algorithms/SofQWCentre-v1.rst
+++ b/docs/source/algorithms/SofQWCentre-v1.rst
@@ -10,7 +10,7 @@ Description
 -----------
 
 This algorithm is for use by inelastic instruments and takes as its
-input a workspace where the data's been reduced to be in `units <http://www.mantidproject.org/Units>`_ 
+input a workspace where the data's been reduced to be in :ref:`units <Unit Factory>`
 of **energy transfer** against spectrum number (which can be seen as equivalent to
 angle, with the angle being taken from the detector(s) to which the
 spectrum pertains). For each detector the value of **momentum transfer**
diff --git a/docs/source/algorithms/UserFunction1D-v1.rst b/docs/source/algorithms/UserFunction1D-v1.rst
index c0cd951ed5a69f51ff12e597d0cb3af0e69cf61e..a44fa612e10ce0218ad2170441383f3e9d19bd5d 100644
--- a/docs/source/algorithms/UserFunction1D-v1.rst
+++ b/docs/source/algorithms/UserFunction1D-v1.rst
@@ -82,7 +82,7 @@ with 0.0. If some of the parameters should be fixed in the fit list them
 in the *Fix* property in any order, e.g. "a,c".
 
 The resulting parameters are returned in a
-`TableWorkspace <http://www.mantidproject.org/TableWorkspace>`_ set in ``OutputParameters`` property.
+:ref:`TableWorkspace <Table Workspaces>` set in ``OutputParameters`` property.
 Also for displaying purposes *OutputWorkspace* is returned. It contains
 the initial spectrum, the fitted spectrum and their difference.
 
diff --git a/docs/source/concepts/FittingMinimizers.rst b/docs/source/concepts/FittingMinimizers.rst
index 99df90f1cfd0f02549a8d0f26bb17b1d888f0afd..34ad59fc496c0e391d30944cac0274149f6413ff 100644
--- a/docs/source/concepts/FittingMinimizers.rst
+++ b/docs/source/concepts/FittingMinimizers.rst
@@ -21,6 +21,8 @@ and modifications to existing minimizers.
 
 For the task of Bayesian probability sampling: this is supported with the FABADA minimizer.
 
+.. _FittingMinimizers Minimizer Comparison:
+
 Comparing Minimizers
 ====================
 
@@ -46,16 +48,16 @@ Several minimizers are included with Mantid and can be selected in the
 or when using the algorithm :ref:`Fit <algm-Fit>` The following
 options are available:
 
-- `Simplex <../fitminimizers/Simplex.html>`__
-- `SteepestDescent <../fitminimizers/GradientDescent.html>`__
-- `Conjugate gradient (Fletcher-Reeves imp.) <../fitminimizers/FletcherReeves.html>`__
-- `Conjugate gradient (Polak-Ribiere imp.) <../fitminimizers/PolakRibiere.html>`__
-- `BFGS (Broyden-Fletcher-Goldfarb-Shanno) <../fitminimizers/BFGS.html>`__
-- `Levenberg-Marquardt <../fitminimizers/LevenbergMarquardt.html>`__ (default)
-- `Levenberg-MarquardtMD <../fitminimizers/LevenbergMarquardtMD.html>`__
-- `Damped Gauss-Newton <../fitminimizers/DampedGaussNewton.html>`__
+- :ref:`Simplex <Simplex>`
+- :ref:`SteepestDescent <GradientDescent>`
+- :ref:`Conjugate gradient (Fletcher-Reeves imp.) <FletcherReeves>`
+- :ref:`Conjugate gradient (Polak-Ribiere imp.) <PolakRiberiere>`
+- :ref:`BFGS (Broyden-Fletcher-Goldfarb-Shanno) <BFGS>`
+- :ref:`Levenberg-Marquardt <LevenbergMarquardt>` (default)
+- :ref:`Levenberg-MarquardtMD <LevenbergMarquardtMD>`
+- :ref:`Damped Gauss-Newton <DampedGaussNewton>`
 - :ref:`FABADA <FABADA>`
-- `Trust region <../fitminimizers/TrustRegion.html>`__
+- :ref:`Trust region <TrustRegion>`
 
 All these algorithms are `iterative
 <https://en.wikipedia.org/wiki/Iterative_method>`__.  The *Simplex*
diff --git a/docs/source/concepts/HowToDefineGeometricShape.rst b/docs/source/concepts/HowToDefineGeometricShape.rst
index 4d9929359b1b7ebd45e6f7899ada8d0731f0eb2d..40c6cf9c25800935b19af0da835ee078d3c8c49d 100644
--- a/docs/source/concepts/HowToDefineGeometricShape.rst
+++ b/docs/source/concepts/HowToDefineGeometricShape.rst
@@ -48,19 +48,17 @@ Axes and units of measure
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 
 All objects are defined with respect to cartesian axes (x,y,z), and the
-`default <IDF#Using_.3Cdefaults.3E>`__ unit of all supplied values are
+:ref:`default <Using defaults>` unit of all supplied values are
 metres(m). Objects may be defined so that the origin (0,0,0) is at the
 centre, so that when rotations are applied they do not also apply an
 unexpected translation.
 
 Within instrument definitions we support the concept of defining a
-rotation by specifying what point the object is
-`facing <InstrumentDefinitionFile#Using_.3Cfacing.3E>`__. To apply that
-correctly the side of the object we consider to be the front is the xy
-plane. Hence, when planning to use
-`facing <InstrumentDefinitionFile#Using_.3Cfacing.3E>`__ the shape
-should be defined such that the positive y-axis is considered to be up,
-the x-axis the width, and the z-axis the depth of the shape.
+rotation by specifying what point the object is :ref:`facing <Using facing>`.
+To apply that correctly the side of the object we consider to be the front
+is the xy plane. Hence, when planning to use :ref:`facing <Using facing>`
+the shape should be defined such that the positive y-axis is considered
+to be up, the x-axis the width, and the z-axis the depth of the shape.
 
 To be aware of
 --------------
diff --git a/docs/source/concepts/MDHistoWorkspace.rst b/docs/source/concepts/MDHistoWorkspace.rst
index 5e4862565e8efa4f368b2392a6e49b4ec15f778d..9a65cb0cfcbc216759671fa9fb8e37a24610caac 100644
--- a/docs/source/concepts/MDHistoWorkspace.rst
+++ b/docs/source/concepts/MDHistoWorkspace.rst
@@ -222,6 +222,8 @@ The basic arithmetic operators are available from python. For example:
    #Compound arithmetic expressions can be made, e.g:
    E = (A - B) / (C * C)
 
+.. _MDHistoWorkspace boolean operations:
+
 Boolean Operations
 ##################
 
@@ -269,7 +271,7 @@ Using Boolean Masks
       
 The :ref:`SetMDUsingMask <algm-SetMDUsingMask>` algorithm allows you to modify
 the values in a MDHistoWorkspace using a mask created using the boolean
-operations above. See the `algorithm wiki page <algm-SetMDUsingMask>`__ for
+operations above. See the :ref:`algorithm wiki page <algm-SetMDUsingMask>` for
 more details.
 
 
diff --git a/docs/source/concepts/MDWorkspace.rst b/docs/source/concepts/MDWorkspace.rst
index 69bff7ce6d65e6e724dc7bdb8c79000ecb4b64c4..bf3d3319015a10dbd3ab90b188722cc2688865ae 100644
--- a/docs/source/concepts/MDWorkspace.rst
+++ b/docs/source/concepts/MDWorkspace.rst
@@ -75,6 +75,8 @@ There are several algorithms that will create a MDWorkspace:
    new one.
 -  :ref:`LoadSQW <algm-LoadSQW>` converts from the SQW format.
 
+.. _MDWorkspace File Backed:
+
 File-Backed MDWorkspaces
 ------------------------
 
diff --git a/docs/source/concepts/MatrixWorkspace.rst b/docs/source/concepts/MatrixWorkspace.rst
index ac35e1b2f482a1e9e19c70dadd229e367d1d8e56..bde077d3197fedd4907afd36b87f2ef9e3147946 100644
--- a/docs/source/concepts/MatrixWorkspace.rst
+++ b/docs/source/concepts/MatrixWorkspace.rst
@@ -371,6 +371,8 @@ The data is accessed using the ``readX()``, ``readY()`` and ``readE()`` commands
 
 There are more examples how to `Extract and manipulate workspace data here <http://www.mantidproject.org/Extracting_And_Manipulating_Data>`_.
 
+.. _MatrixWorkspace Algebra:
+
 Workspace algebra
 #################
 
diff --git a/docs/source/concepts/Run.rst b/docs/source/concepts/Run.rst
index 852a7f96c7c1114e7f784cbd5a982d8cb05154d0..27b361c04a24f7b959d3b17dc5507607d94ff672 100644
--- a/docs/source/concepts/Run.rst
+++ b/docs/source/concepts/Run.rst
@@ -181,6 +181,8 @@ ISIS (not including ISIS Muon data)
 -  **mon\_sum3** - Monitor sum 3
 -  **rb\_proposal** - The proposal number
 
+.. _RunInfoOnISISMuonData:
+
 ISIS Muon data
 ##############
 
diff --git a/docs/source/fitting/fitfunctions/CubicSpline.rst b/docs/source/fitting/fitfunctions/CubicSpline.rst
index 80dd3242a73fe32299ff6188c87236b9bb94701e..a1be8788004e64a629d3b0f2f39e797ba07342fe 100644
--- a/docs/source/fitting/fitfunctions/CubicSpline.rst
+++ b/docs/source/fitting/fitfunctions/CubicSpline.rst
@@ -16,13 +16,13 @@ First and second derivatives from the spline can be calculated by using
 the derivative1D function.
 
 A CubicSpline is a polynomial function :math:`f(x)` of order 3, defined between an interval :math:`a \leqslant x \leqslant b`.
-When using CubicSplines for interpolation or for fitting, we essentially chain `BSplines <http://docs.mantidproject.org/nightly/fitfunctions/BSpline.html>`__ 
+When using CubicSplines for interpolation or for fitting, we essentially chain :ref:`BSplines <func-BSpline>` 
 of order 3 together so that each spline passes through the breakpoints in that interval.
 
-A Cubic Spline is a specific case of `BSpline <http://docs.mantidproject.org/nightly/fitfunctions/BSpline.html>`__
+A Cubic Spline is a specific case of :ref:`BSpline <func-BSpline>`
 that only uses polynomials of order 3 to define the spline functions.
 
-Again, as with `BSplines <http://docs.mantidproject.org/nightly/fitfunctions/BSpline.html>`__ , there are certain conditions
+Again, as with :ref:`BSplines <func-BSpline>` , there are certain conditions
 that must be fulfilled at each breakpoint such that the overall Spline is piecewise-smooth.
 
 Example
diff --git a/docs/source/fitting/fitfunctions/PrimStretchedExpFT.rst b/docs/source/fitting/fitfunctions/PrimStretchedExpFT.rst
index aa80f30c93e0826307165ae113c5987f344d2242..b094e0c6e91e5e4b16c66ab83adf2d99da0bab75 100644
--- a/docs/source/fitting/fitfunctions/PrimStretchedExpFT.rst
+++ b/docs/source/fitting/fitfunctions/PrimStretchedExpFT.rst
@@ -18,7 +18,7 @@ each energy bin.
 
 .. math:: S(Q,E) = \int_{E-\delta E}^{E+\delta E} dE' StretchedExpFT(E', Centre, Tau, Beta)
 
-with :math:`StretchedExpFT` is fit function `StretchedExpFT <func-StretchedExpFT>`__.
+with :math:`StretchedExpFT` is fit function :ref:`StretchedExpFT <func-StretchedExpFT>`.
 Quantity :math:`\delta E` is evaluated at run time. If we request to evaluate this
 function over a set of energy values :math:`E_0,..,E_N`,
 then :math:`2\delta E = \frac{E_N-E_0}{N}`
diff --git a/docs/source/fitting/fitfunctions/ProductLinearExp.rst b/docs/source/fitting/fitfunctions/ProductLinearExp.rst
index 7fc41377001e7b776f0b98dc3b6bd2f5879d5c34..31981b01b5560f1fffcd72bbd06583ea983e3fc6 100644
--- a/docs/source/fitting/fitfunctions/ProductLinearExp.rst
+++ b/docs/source/fitting/fitfunctions/ProductLinearExp.rst
@@ -10,8 +10,8 @@ Description
 -----------
 
 This fit function computes the product of a linear and exponential
-function. See `ExpDecay <ExpDecay>`__ and
-`LinearBackground <LinearBackground>`__ for details on the component
+function. See :ref:`ExpDecay <func-ExpDecay>` and
+:ref:`LinearBackground <func-LinearBackground>` for details on the component
 functions.
 
 .. math:: \left(\mbox{A}_0 + \mbox{A}_1 x\right)\cdot h\cdot e^{-\frac{x}{\tau}}
diff --git a/docs/source/fitting/fitfunctions/ProductQuadraticExp.rst b/docs/source/fitting/fitfunctions/ProductQuadraticExp.rst
index 902a2c38aa2fa7b09aaff74538d4cb1e2e6a01bf..6fd07a67101284925a2794ce5e0c19e8f98d5228 100644
--- a/docs/source/fitting/fitfunctions/ProductQuadraticExp.rst
+++ b/docs/source/fitting/fitfunctions/ProductQuadraticExp.rst
@@ -10,7 +10,7 @@ Description
 -----------
 
 This fit function computes the product of a linear and exponential
-function. See `ExpDecay <ExpDecay>`__ and QuadraticBackground for
+function. See :ref:`ExpDecay <func-ExpDecay>` and QuadraticBackground for
 details on the component functions.
 
 .. math:: \left(\mbox{A}_0 + \mbox{A}_1 x + \mbox{A}_2 x^2\right)\cdot h \cdot e^{-\frac{x}{\tau}}
@@ -18,7 +18,7 @@ details on the component functions.
 This function may be used with the :ref:`algm-Fit` algorithm. However, it
 was originally added to Mantid as a named function for the purposes of
 detector efficiency calibration. Also see
-`ProductLinearExp <func-ProductLinearExp>`__.
+:ref:`ProductLinearExp <func-ProductLinearExp>`.
 
 .. attributes::
 
diff --git a/docs/source/fitting/fitfunctions/Resolution.rst b/docs/source/fitting/fitfunctions/Resolution.rst
index 01af4a4e39a88c3d303f38993affc25190950ecc..991d6f9e5e701ea3d315c88f9d832e8656b4dc3c 100644
--- a/docs/source/fitting/fitfunctions/Resolution.rst
+++ b/docs/source/fitting/fitfunctions/Resolution.rst
@@ -9,9 +9,9 @@ Resolution
 Description
 -----------
 
-This is a function that has the same attributes as the `TabulatedFunction <TabulatedFunction>`__ but has no fitting
+This is a function that has the same attributes as the :ref:`TabulatedFunction <func-TabulatedFunction>` but has no fitting
 parameters. Its purpose is to represent a measured instrument resolution function. It is primarily used as the
-first member (:math:`R`) of the `Convolution <Convolution>`__ function.
+first member (:math:`R`) of the :ref:`Convolution <func-Convolution>` function.
 
 .. attributes::
 
diff --git a/docs/source/fitting/fitminimizers/BFGS.rst b/docs/source/fitting/fitminimizers/BFGS.rst
index 18ac3f17de74498a559d396550ffff2312915734..8f3dfa13c801fc7203e119183dcddc4d25dce215 100644
--- a/docs/source/fitting/fitminimizers/BFGS.rst
+++ b/docs/source/fitting/fitminimizers/BFGS.rst
@@ -6,7 +6,7 @@ BFGS (Broyden-Fletcher-Goldfarb-Shanno) minimizer
 This minimizer is
 explained at `Wikipedia <https://en.wikipedia.org/wiki/Broyden–Fletcher–Goldfarb–Shanno_algorithm>`__ 
 
-It is listed in `a comparison of fitting minimizers <../concepts/FittingMinimizers.html>`__.
+It is listed in :ref:`a comparison of fitting minimizers <FittingMinimizers Minimizer Comparison>`.
 
 It makes use of the 
 `GSL (GNU Scientific Library) library
diff --git a/docs/source/fitting/fitminimizers/DampedGaussNewton.rst b/docs/source/fitting/fitminimizers/DampedGaussNewton.rst
index 86cfb1f193b94f55d965896ad83df298147f296b..a7496566710b6275c6d4b881232cfb1548ed8b19 100644
--- a/docs/source/fitting/fitminimizers/DampedGaussNewton.rst
+++ b/docs/source/fitting/fitminimizers/DampedGaussNewton.rst
@@ -7,7 +7,7 @@ This minimizer is
 explained at `Wikipedia <https://en.wikipedia.org/wiki/Gauss–Newton_algorithm#Improved_versions>`__ 
 and has damping.
 
-It is listed in `a comparison of fitting minimizers <../concepts/FittingMinimizers.html>`__.
+It is listed in :ref:`a comparison of fitting minimizers <FittingMinimizers Minimizer Comparison>`.
 
 It makes use of the 
 `GSL (GNU Scientific Library) library
diff --git a/docs/source/fitting/fitminimizers/FletcherReeves.rst b/docs/source/fitting/fitminimizers/FletcherReeves.rst
index 42f581c9aec20f2dc68590e416f10793e03b7d9c..00e4ed9c771bd94f0e71bb9b4c6c78c03c637077 100644
--- a/docs/source/fitting/fitminimizers/FletcherReeves.rst
+++ b/docs/source/fitting/fitminimizers/FletcherReeves.rst
@@ -6,7 +6,7 @@ Conjugate Gradient Minimizer (Fletcher-Reeves imp.)
 This minimizer an implementation of the nonlinear conjugate gradient method 
 explained at `Wikipedia <https://en.wikipedia.org/wiki/Nonlinear_conjugate_gradient_method>`__ 
 
-It is listed in `a comparison of fitting minimizers <../concepts/FittingMinimizers.html>`__.
+It is listed in :ref:`a comparison of fitting minimizers <FittingMinimizers Minimizer Comparison>`.
 
 It makes use of the 
 `GSL (GNU Scientific Library) library
diff --git a/docs/source/fitting/fitminimizers/GradientDescent.rst b/docs/source/fitting/fitminimizers/GradientDescent.rst
index 30c7f77b753e0f96c133becddb971a76c1ef3d56..3fc5639e7a3d903887f7fb3e69656375ff6a73eb 100644
--- a/docs/source/fitting/fitminimizers/GradientDescent.rst
+++ b/docs/source/fitting/fitminimizers/GradientDescent.rst
@@ -4,7 +4,7 @@ Steepest Descent Minimizer
 ==========================
 
 This minimizer is explained at - `Wikipedia <https://en.wikipedia.org/wiki/Gradient_descent>`__  as the gradient descent method.
-It is listed in `a comparison of fitting minimizers <../concepts/FittingMinimizers.html>`__.
+It is listed in :ref:`a comparison of fitting minimizers <FittingMinimizers Minimizer Comparison>`.
 
 It makes use of the 
 `GSL (GNU Scientific Library) library
diff --git a/docs/source/fitting/fitminimizers/LevenbergMarquardt.rst b/docs/source/fitting/fitminimizers/LevenbergMarquardt.rst
index 2d4cf38415a375ba6510d6388a233189b780cc36..da8885fe31f0458683f0f916498522f57b650d5d 100644
--- a/docs/source/fitting/fitminimizers/LevenbergMarquardt.rst
+++ b/docs/source/fitting/fitminimizers/LevenbergMarquardt.rst
@@ -4,7 +4,7 @@ Levenberg-Marquardt Minimizer
 =============================
 
 This minimizer is explained at - `Wikipedia <https://en.wikipedia.org/wiki/Levenberg-Marquardt_algorithm>`__ 
-It is the default minimizer and is listed in `a comparison of fitting minimizers <../concepts/FittingMinimizers.html>`__.
+It is the default minimizer and is listed in :ref:`a comparison of fitting minimizers <FittingMinimizers Minimizer Comparison>`.
 
 It makes use of the 
 `GSL (GNU Scientific Library) library
diff --git a/docs/source/fitting/fitminimizers/LevenbergMarquardtMD.rst b/docs/source/fitting/fitminimizers/LevenbergMarquardtMD.rst
index 1e471e6daeb858c6eda4e131be760548fd3de5ed..bdb40c68b5758f6cb2c8222a0cf14d9592ec43f4 100644
--- a/docs/source/fitting/fitminimizers/LevenbergMarquardtMD.rst
+++ b/docs/source/fitting/fitminimizers/LevenbergMarquardtMD.rst
@@ -3,14 +3,14 @@
 Levenberg-Marquardt MD Minimizer
 ================================
 
-This minimizer is the same as the `Levenberg-Marquardt minimizer <LevenbergMarquardt.html>`__ as explained 
+This minimizer is the same as the :ref:`Levenberg-Marquardt minimizer <LevenbergMarquardt>` as explained 
 in - `Wikipedia <https://en.wikipedia.org/wiki/Levenberg-Marquardt_algorithm>`__ , but is intended for 
-`MD workspaces <../concepts/MDWorkspace.html>`__
+:ref:`MD workspaces <MDWorkspace>`
 or for a large number of data points.
 It divides its work into chunks to achieve a greater efficiency for a large number of data points than
 can be obtained from the default Levenberg-Marquardt minimizer.
 
-It is listed in `a comparison of fitting minimizers <../concepts/FittingMinimizers.html>`__.
+It is listed in :ref:`a comparison of fitting minimizers <FittingMinimizers Minimizer Comparison>`.
 
 It makes use of the 
 `GSL (GNU Scientific Library) library
diff --git a/docs/source/fitting/fitminimizers/PolakRibiere.rst b/docs/source/fitting/fitminimizers/PolakRibiere.rst
index d58deccf62d18e35cf40287c37014a6dcb25d5fc..6acc3e0f7e6b2f7776c88a17c183f6fa7cd2371c 100644
--- a/docs/source/fitting/fitminimizers/PolakRibiere.rst
+++ b/docs/source/fitting/fitminimizers/PolakRibiere.rst
@@ -6,7 +6,7 @@ Conjugate Gradient Minimizer (Polak-Ribiere imp.)
 This minimizer an implementation of the nonlinear conjugate gradient method 
 explained at `Wikipedia <https://en.wikipedia.org/wiki/Nonlinear_conjugate_gradient_method>`__ .
 
-It is listed in `a comparison of fitting minimizers <../concepts/FittingMinimizers.html>`__.
+It is listed in :ref:`a comparison of fitting minimizers <FittingMinimizers Minimizer Comparison>`.
 
 It makes use of the 
 `GSL (GNU Scientific Library) library
diff --git a/docs/source/fitting/fitminimizers/Simplex.rst b/docs/source/fitting/fitminimizers/Simplex.rst
index 7364b6a7c1c7c8757f3d6ae2e755c541484ba53b..9586214c45e01beb0b6ccf2cbd640b9e75578a44 100644
--- a/docs/source/fitting/fitminimizers/Simplex.rst
+++ b/docs/source/fitting/fitminimizers/Simplex.rst
@@ -4,7 +4,7 @@ Simplex Minimizer
 =================
 
 This minimizer is explained at - `Wikipedia <https://en.wikipedia.org/wiki/Nelder%E2%80%93Mead_method>`__  as the Nelder-Mead method.
-It is listed in `a comparison of fitting minimizers <../concepts/FittingMinimizers.html>`__.
+It is listed in :ref:`a comparison of fitting minimizers <FittingMinimizers Minimizer Comparison>`.
 
 It makes use of the 
 `GSL (GNU Scientific Library) library
diff --git a/docs/source/fitting/fitminimizers/TrustRegion.rst b/docs/source/fitting/fitminimizers/TrustRegion.rst
index 257c4ec7460a53c0dcc57f1ad2e469e4a090ac67..a174d7399a0988f88aaf44d8f26c2afc624f1afb 100644
--- a/docs/source/fitting/fitminimizers/TrustRegion.rst
+++ b/docs/source/fitting/fitminimizers/TrustRegion.rst
@@ -9,7 +9,7 @@ method, that makes use of a `trust region <https://en.wikipedia.org/wiki/Trust_r
 
 It is a reimplementation of part of `RALFit_nonlinear least squares solver <https://github.com/ralna/RALFit>`__. 
 
-It is listed in `a comparison of fitting minimizers <../concepts/FittingMinimizers.html>`__.
+It is listed in :ref:`a comparison of fitting minimizers <FittingMinimizers Minimizer Comparison>`.
 
 Reference
 ---------
diff --git a/docs/source/fitting/index.rst b/docs/source/fitting/index.rst
index ab411de7624b3bba79780b7f03a20981617c0e11..b75e222551eaaf93de0cfc2b7bab70c51eee4bfc 100644
--- a/docs/source/fitting/index.rst
+++ b/docs/source/fitting/index.rst
@@ -14,7 +14,7 @@ for setting up the function, as well as some examples of how to use different fu
 
 *Fitting minimizers* gives links to detailed descriptions of the various minimizers available in 
 Mantid. Choosing the right minimizer is an art as much as a science, a discussion of choosing 
-the right minimizer is provided `here. <http://docs.mantidproject.org/nightly/concepts/FittingMinimizers.html>`_
+the right minimizer is provided :ref:`here <FittingMinimizers>`.
 
 .. toctree::
    :maxdepth: 1
diff --git a/docs/source/interfaces/Muon Analysis.rst b/docs/source/interfaces/Muon Analysis.rst
index 132ee189276f26cba014c70250ab2c61711cacd9..e8e17e9a3eb8bcf8130a1a39e2557d867485a358 100644
--- a/docs/source/interfaces/Muon Analysis.rst	
+++ b/docs/source/interfaces/Muon Analysis.rst	
@@ -40,9 +40,8 @@ Instrument
 
 +-------+--------------------------+-----------------------------------------------------------------------------------------+
 | **1** | **Instrument**           | Selection of instrument that the experiments were run on.                               |
-|       |                          | It is an advantage if an Instrument Definition File (                                   |
-|       |                          | `IDF <http://docs.mantidproject.org/nightly/concepts/InstrumentDefinitionFile.html>`_)  |
-|       |                          | is available for the instrument selection.                                              |
+|       |                          | It is an advantage if an Instrument Definition File                                     |
+|       |                          | (:ref:`IDF <InstrumentDefinitionFile>`) is available for the instrument selection.      |
 +-------+--------------------------+-----------------------------------------------------------------------------------------+
 | **2** | **Time Zero**            | Time zero value (:math:`\mu s`). Any bins before that time will be discarded.           |
 |       |                          | If *From datafile* is checked, the value stored in the loaded Muon data file is used.   |
@@ -150,8 +149,7 @@ Run Information etc.
    :align: center
 
 +-------+--------------------------+-----------------------------------------------------------------------------------------+
-| **1** | **Run Information**      | Information about the loaded run.                                                       |
-|       |                          | See `Run <http://docs.mantidproject.org/nightly/concepts/Run.html#isis-muon-data>`_     |
+| **1** | **Run Information**      | Information about the loaded run. See :ref:`Run <RunInfoOnISISMuonData>`                |
 |       |                          | for the list of parameters which are looked up in the data files.                       |
 +-------+--------------------------+-----------------------------------------------------------------------------------------+
 | **2** | **Connected plot**       | The name of the workspace produced for the last plot, i.e. "connected" to the interface.|
diff --git a/docs/source/interfaces/TOF Converter.rst b/docs/source/interfaces/TOF Converter.rst
index f5b82aa8311ae0c0c8743ff2dfbbc521aeacd535..912b9ce4cb2fdbacc1c167ea380508e267151b0f 100644
--- a/docs/source/interfaces/TOF Converter.rst	
+++ b/docs/source/interfaces/TOF Converter.rst	
@@ -21,8 +21,8 @@ The output of the program will be the converted value produced by the input valu
 Available Conversion Units
 --------------------------
 
-Some of the units available are those registered with see: `UnitFactory <http://www.mantidproject.org/Units>`__.
-The units that are not specified in `UnitFactory <http://www.mantidproject.org/Units>`__ but are used in ToFConverter
+Some of the units available are those registered with see: :ref:`Units <Unit Factory>`.
+The units that are not specified in :ref:`Units <Unit Factory>` but are used in ToFConverter
 are: 
 
 Nu (:math:`\nu`): :math:`\frac{h}{m_{N}\lambda^2}`