From fc206406255a59efe8828bd07a45642a4166dc82 Mon Sep 17 00:00:00 2001
From: Daniel Arndt <daniel.arndt@iwr.uni-heidelberg.de>
Date: Tue, 6 Jun 2017 13:50:56 +0200
Subject: [PATCH] Fix up 'the the ' in the documentation

---
 examples/step-18/doc/intro.dox                       | 2 +-
 examples/step-22/doc/results.dox                     | 2 +-
 examples/step-55/doc/results.dox                     | 2 +-
 examples/step-8/step-8.cc                            | 2 +-
 include/deal.II/base/aligned_vector.h                | 2 +-
 include/deal.II/base/data_out_base.h                 | 2 +-
 include/deal.II/base/table.h                         | 2 +-
 include/deal.II/base/table_handler.h                 | 4 ++--
 include/deal.II/base/thread_management.h             | 2 +-
 include/deal.II/dofs/dof_renumbering.h               | 4 ++--
 include/deal.II/fe/mapping_q1_eulerian.h             | 2 +-
 include/deal.II/fe/mapping_q_eulerian.h              | 2 +-
 include/deal.II/grid/filtered_iterator.h             | 2 +-
 include/deal.II/grid/tria.h                          | 4 ++--
 include/deal.II/hp/dof_handler.h                     | 2 +-
 include/deal.II/lac/block_sparsity_pattern.h         | 2 +-
 include/deal.II/lac/block_vector.h                   | 2 +-
 include/deal.II/lac/constraint_matrix.h              | 2 +-
 include/deal.II/lac/la_parallel_block_vector.h       | 2 +-
 include/deal.II/lac/la_parallel_vector.h             | 2 +-
 include/deal.II/lac/petsc_matrix_free.h              | 4 ++--
 include/deal.II/lac/petsc_parallel_block_vector.h    | 2 +-
 include/deal.II/lac/petsc_vector_base.h              | 2 +-
 include/deal.II/lac/read_write_vector.h              | 2 +-
 include/deal.II/lac/sparse_mic.h                     | 2 +-
 include/deal.II/lac/trilinos_parallel_block_vector.h | 2 +-
 include/deal.II/lac/trilinos_vector.h                | 4 ++--
 include/deal.II/lac/vector.h                         | 2 +-
 include/deal.II/matrix_free/fe_evaluation.h          | 2 +-
 include/deal.II/multigrid/mg_block_smoother.h        | 2 +-
 include/deal.II/multigrid/mg_smoother.h              | 2 +-
 include/deal.II/numerics/vector_tools.h              | 2 +-
 source/numerics/data_out_stack.cc                    | 4 ++--
 tests/numerics/data_out_02.cc                        | 2 +-
 tests/numerics/data_out_faces_02.cc                  | 2 +-
 tests/numerics/data_out_rotation_02.cc               | 2 +-
 36 files changed, 42 insertions(+), 42 deletions(-)

diff --git a/examples/step-18/doc/intro.dox b/examples/step-18/doc/intro.dox
index e02edfb46c..c4e8d180b4 100644
--- a/examples/step-18/doc/intro.dox
+++ b/examples/step-18/doc/intro.dox
@@ -300,7 +300,7 @@ simply translated along. The dilational or compressional change produces a
 corresponding stress update. However, the rotational component does not
 necessarily induce a nonzero stress update (think, in 2d, for example of the
 situation where $\Delta\mathbf{u}=(y, -x)^T$, with which $\varepsilon(\Delta
-\mathbf{u})=0$). Nevertheless, if the the material was prestressed in a certain
+\mathbf{u})=0$). Nevertheless, if the material was prestressed in a certain
 direction, then this direction will be rotated along with the material.  To
 this end, we have to define a rotation matrix $R(\Delta \mathbf{u}^n)$ that
 describes, in each point the rotation due to the displacement increments. It
diff --git a/examples/step-22/doc/results.dox b/examples/step-22/doc/results.dox
index 52af0f34ed..52b4cfb5bb 100644
--- a/examples/step-22/doc/results.dox
+++ b/examples/step-22/doc/results.dox
@@ -793,7 +793,7 @@ $[-2,2]\times[-2,2]\times[-1,0]$
                                                bottom_left,
                                                top_right);
 @endcode
-then we get images where the the fault line is curved:
+then we get images where the fault line is curved:
 <TABLE WIDTH="60%" ALIGN="center">
   <tr>
     <td ALIGN="center">
diff --git a/examples/step-55/doc/results.dox b/examples/step-55/doc/results.dox
index be6be9e4e6..68d5e64a48 100644
--- a/examples/step-55/doc/results.dox
+++ b/examples/step-55/doc/results.dox
@@ -230,7 +230,7 @@ Trilinos AMG to achieve an optimal preconditioner.
 This change requires changing the outer solver to GMRES or BiCGStab, because
 the system is no longer symmetric.
 
-You can prescribe the the exact flow solution as $b$ in the convective term $b
+You can prescribe the exact flow solution as $b$ in the convective term $b
 \cdot \nabla u$. This should give the same solution as the original problem,
 if you set the right hand side to zero.
 
diff --git a/examples/step-8/step-8.cc b/examples/step-8/step-8.cc
index 3344a8b2c0..f67ed3718b 100644
--- a/examples/step-8/step-8.cc
+++ b/examples/step-8/step-8.cc
@@ -596,7 +596,7 @@ namespace Step8
   // will be only four quadrature points in each direction on the
   // domain. However, the right hand side function was chosen to be rather
   // localized and in that case, by pure chance, it happens that all quadrature
-  // points lie at points where the the right hand side function is zero (in
+  // points lie at points where the right hand side function is zero (in
   // mathematical terms, the quadrature points happen to be at points outside
   // the <i>support</i> of the right hand side function). The right hand side
   // vector computed with quadrature will then contain only zeroes (even though
diff --git a/include/deal.II/base/aligned_vector.h b/include/deal.II/base/aligned_vector.h
index c2253221e3..b1c1d5a86d 100644
--- a/include/deal.II/base/aligned_vector.h
+++ b/include/deal.II/base/aligned_vector.h
@@ -380,7 +380,7 @@ namespace internal
   /**
    * Class that issues the set commands for AlignedVector.
    *
-   * @tparam initialize_memory Sets whether the the set command should
+   * @tparam initialize_memory Sets whether the set command should
    * initialize memory (with a call to the copy constructor) or rather use the
    * copy assignment operator. A template is necessary to select the
    * appropriate operation since some classes might define only one of those
diff --git a/include/deal.II/base/data_out_base.h b/include/deal.II/base/data_out_base.h
index 4697c295fe..6feeee4741 100644
--- a/include/deal.II/base/data_out_base.h
+++ b/include/deal.II/base/data_out_base.h
@@ -2831,7 +2831,7 @@ private:
  * files, the rest of the nodes will have valid set to false. The XDMF file in
  * turn points to heavy data files (such as HDF5) where the actual simulation
  * data is stored. This allows flexibility in arranging the data, and also
- * allows the mesh to be separated from the the point data.
+ * allows the mesh to be separated from the point data.
  */
 class XDMFEntry
 {
diff --git a/include/deal.II/base/table.h b/include/deal.II/base/table.h
index 8a33ce7405..17289b48f2 100644
--- a/include/deal.II/base/table.h
+++ b/include/deal.II/base/table.h
@@ -592,7 +592,7 @@ public:
    * swaps the pointers to the data of the two vectors and therefore does not
    * need to allocate temporary storage and move data around.
    *
-   * This function is analogous to the the @p swap function of all C++
+   * This function is analogous to the @p swap function of all C++
    * standard containers. Also, there is a global function <tt>swap(u,v)</tt>
    * that simply calls <tt>u.swap(v)</tt>, again in analogy to standard
    * functions.
diff --git a/include/deal.II/base/table_handler.h b/include/deal.II/base/table_handler.h
index c1ae220f4e..cc79e2c0fa 100644
--- a/include/deal.II/base/table_handler.h
+++ b/include/deal.II/base/table_handler.h
@@ -468,7 +468,7 @@ public:
   void set_tex_table_label (const std::string &table_label);
 
   /**
-   * Set the caption the the supercolumn <tt>superkey</tt> for tex output.
+   * Set the caption the supercolumn <tt>superkey</tt> for tex output.
    * You may want to chose this different from <tt>superkey</tt>, if it
    * contains formulas or similar constructs.
    */
@@ -695,7 +695,7 @@ protected:
   mutable std::map<std::string,Column> columns;
 
   /**
-   * Maps each supercolumn key to the the keys of its subcolumns in the right
+   * Maps each supercolumn key to the keys of its subcolumns in the right
    * order.  It is allowed that a supercolumn has got the same key as a
    * column.
    *
diff --git a/include/deal.II/base/thread_management.h b/include/deal.II/base/thread_management.h
index 5ef206d7aa..76665e318b 100644
--- a/include/deal.II/base/thread_management.h
+++ b/include/deal.II/base/thread_management.h
@@ -1019,7 +1019,7 @@ namespace Threads
        * the thread.
        *
        * The return value is stored in a shared_ptr because we might abandon
-       * the the ThreadDescriptor.  This makes sure the object stays alive
+       * the ThreadDescriptor.  This makes sure the object stays alive
        * until the thread exits.
        */
       std::shared_ptr<return_value<RT> > ret_val;
diff --git a/include/deal.II/dofs/dof_renumbering.h b/include/deal.II/dofs/dof_renumbering.h
index 9cd585179b..42635eba43 100644
--- a/include/deal.II/dofs/dof_renumbering.h
+++ b/include/deal.II/dofs/dof_renumbering.h
@@ -633,7 +633,7 @@ namespace DoFRenumbering
   /**
    * Sort the degrees of freedom by component. It does the same thing as the
    * above function, only that it does this for one single level of a
-   * multilevel discretization. The non-multigrid part of the the DoFHandler
+   * multilevel discretization. The non-multigrid part of the DoFHandler
    * is not touched.
    */
   template <typename DoFHandlerType>
@@ -679,7 +679,7 @@ namespace DoFRenumbering
   /**
    * Sort the degrees of freedom by vector block. It does the same thing as
    * the above function, only that it does this for one single level of a
-   * multilevel discretization. The non-multigrid part of the the DoFHandler
+   * multilevel discretization. The non-multigrid part of the DoFHandler
    * is not touched.
    */
   template <int dim, int spacedim>
diff --git a/include/deal.II/fe/mapping_q1_eulerian.h b/include/deal.II/fe/mapping_q1_eulerian.h
index 85c3ffc8d9..e64ad489e4 100644
--- a/include/deal.II/fe/mapping_q1_eulerian.h
+++ b/include/deal.II/fe/mapping_q1_eulerian.h
@@ -45,7 +45,7 @@ template <typename> class Vector;
  * vector that defines the mapping from the reference configuration to the
  * current configuration and a reference to the DoFHandler. The vector should
  * then represent a (flattened out version of a) vector valued field defined
- * at nodes defined by the the DoFHandler, where the number of components of
+ * at nodes defined by the DoFHandler, where the number of components of
  * the vector field equals the number of space dimensions. Thus, the
  * DoFHandler shall operate on a finite element that has as many components as
  * space dimensions. As an additional requirement, we impose that it have as
diff --git a/include/deal.II/fe/mapping_q_eulerian.h b/include/deal.II/fe/mapping_q_eulerian.h
index 96613488ba..b70156f4de 100644
--- a/include/deal.II/fe/mapping_q_eulerian.h
+++ b/include/deal.II/fe/mapping_q_eulerian.h
@@ -238,7 +238,7 @@ private:
     const SupportQuadrature support_quadrature;
 
     /**
-     * FEValues object used to query the the given finite element field at the
+     * FEValues object used to query the given finite element field at the
      * support points in the reference configuration.
      *
      * The variable is marked as mutable since we have to call
diff --git a/include/deal.II/grid/filtered_iterator.h b/include/deal.II/grid/filtered_iterator.h
index 0a9df177d3..806e21f3df 100644
--- a/include/deal.II/grid/filtered_iterator.h
+++ b/include/deal.II/grid/filtered_iterator.h
@@ -528,7 +528,7 @@ public:
    * iterator with the given value.
    *
    * If the initial value @p bi does not satisfy the predicate @p p then it is
-   * advanced until we either hit the the past-the-end iterator, or the
+   * advanced until we either hit the past-the-end iterator, or the
    * predicate is satisfied. This allows, for example, to write code like
    * @code
    *   FilteredIterator<typename Triangulation<dim>::active_cell_iterator>
diff --git a/include/deal.II/grid/tria.h b/include/deal.II/grid/tria.h
index 30416bdf31..06017e04c7 100644
--- a/include/deal.II/grid/tria.h
+++ b/include/deal.II/grid/tria.h
@@ -107,7 +107,7 @@ namespace hp
  * to describe the manifold this object belongs to.
  *
  * This structure is also used to represent data for faces and edges when used
- * as a member of the the SubCellData class. In this case, the template argument
+ * as a member of the SubCellData class. In this case, the template argument
  * @p structdim of an object will be less than the dimension @p dim of the
  * triangulation. If this is so, then #vertices array represents the indices of
  * the vertices of one face or edge of one of the cells passed to
@@ -1682,7 +1682,7 @@ public:
   void set_boundary (const types::manifold_id number);
 
   /**
-   * Assign a manifold object to a certain part of the the triangulation. If
+   * Assign a manifold object to a certain part of the triangulation. If
    * an object with manifold number @p number is refined, this object is used
    * to find the location of new vertices (see the results section of step-49
    * for a more in-depth discussion of this, with examples).  It is also used
diff --git a/include/deal.II/hp/dof_handler.h b/include/deal.II/hp/dof_handler.h
index cd1c5789e6..29ad295bac 100644
--- a/include/deal.II/hp/dof_handler.h
+++ b/include/deal.II/hp/dof_handler.h
@@ -767,7 +767,7 @@ namespace hp
      * Functions that will be triggered through signals whenever the
      * triangulation is modified.
      *
-     * Here they are used to administrate the the active_fe_fields during the
+     * Here they are used to administrate the active_fe_fields during the
      * spatial refinement.
      */
     void pre_refinement_action ();
diff --git a/include/deal.II/lac/block_sparsity_pattern.h b/include/deal.II/lac/block_sparsity_pattern.h
index 8c58d8c650..ee862e0257 100644
--- a/include/deal.II/lac/block_sparsity_pattern.h
+++ b/include/deal.II/lac/block_sparsity_pattern.h
@@ -457,7 +457,7 @@ public:
  *
  * @dontinclude block_dynamic_sparsity_pattern.cc
  *
- * After the the DoFHandler <tt>dof</tt> and the ConstraintMatrix
+ * After the DoFHandler <tt>dof</tt> and the ConstraintMatrix
  * <tt>constraints</tt> have been set up with a system element, we must count
  * the degrees of freedom in each matrix block:
  *
diff --git a/include/deal.II/lac/block_vector.h b/include/deal.II/lac/block_vector.h
index 0b29df377f..1e8b6c29d9 100644
--- a/include/deal.II/lac/block_vector.h
+++ b/include/deal.II/lac/block_vector.h
@@ -306,7 +306,7 @@ public:
    * only swaps the pointers to the data of the two vectors and therefore does
    * not need to allocate temporary storage and move data around.
    *
-   * This function is analogous to the the swap() function of all C++ standard
+   * This function is analogous to the swap() function of all C++ standard
    * containers. Also, there is a global function swap(u,v) that simply calls
    * <tt>u.swap(v)</tt>, again in analogy to standard functions.
    */
diff --git a/include/deal.II/lac/constraint_matrix.h b/include/deal.II/lac/constraint_matrix.h
index bea74a52d0..2aa28b4f3b 100644
--- a/include/deal.II/lac/constraint_matrix.h
+++ b/include/deal.II/lac/constraint_matrix.h
@@ -480,7 +480,7 @@ public:
   bool has_inhomogeneities () const;
 
   /**
-   * Return a pointer to the the vector of entries if a line is constrained,
+   * Return a pointer to the vector of entries if a line is constrained,
    * and a zero pointer in case the dof is not constrained.
    */
   const std::vector<std::pair<size_type,double> > *
diff --git a/include/deal.II/lac/la_parallel_block_vector.h b/include/deal.II/lac/la_parallel_block_vector.h
index 99c959638d..a595932188 100644
--- a/include/deal.II/lac/la_parallel_block_vector.h
+++ b/include/deal.II/lac/la_parallel_block_vector.h
@@ -392,7 +392,7 @@ namespace LinearAlgebra
        * the same number of blocks. If needed, the numbers of blocks should be
        * exchanged, too.
        *
-       * This function is analogous to the the swap() function of all C++
+       * This function is analogous to the swap() function of all C++
        * standard containers. Also, there is a global function swap(u,v) that
        * simply calls <tt>u.swap(v)</tt>, again in analogy to standard
        * functions.
diff --git a/include/deal.II/lac/la_parallel_vector.h b/include/deal.II/lac/la_parallel_vector.h
index b755b4177d..ac70181fc2 100644
--- a/include/deal.II/lac/la_parallel_vector.h
+++ b/include/deal.II/lac/la_parallel_vector.h
@@ -308,7 +308,7 @@ namespace LinearAlgebra
        * only swaps the pointers to the data of the two vectors and therefore
        * does not need to allocate temporary storage and move data around.
        *
-       * This function is analogous to the the @p swap function of all C++
+       * This function is analogous to the @p swap function of all C++
        * standard containers. Also, there is a global function
        * <tt>swap(u,v)</tt> that simply calls <tt>u.swap(v)</tt>, again in
        * analogy to standard functions.
diff --git a/include/deal.II/lac/petsc_matrix_free.h b/include/deal.II/lac/petsc_matrix_free.h
index b256a533fc..da6ac803ce 100644
--- a/include/deal.II/lac/petsc_matrix_free.h
+++ b/include/deal.II/lac/petsc_matrix_free.h
@@ -73,7 +73,7 @@ namespace PETScWrappers
      * For the meaning of the @p local_rows and @p local_columns parameters,
      * see the PETScWrappers::MPI::SparseMatrix class documentation.
      *
-     * As other PETSc matrices, also the the matrix-free object needs to have
+     * As other PETSc matrices, also the matrix-free object needs to have
      * a size and to perform matrix vector multiplications efficiently in
      * parallel also @p local_rows and @p local_columns. But in contrast to
      * PETSc::SparseMatrix classes a PETSc matrix-free object does not need
@@ -90,7 +90,7 @@ namespace PETScWrappers
      * Create a matrix object of dimensions @p m times @p n with communication
      * happening over the provided @p communicator.
      *
-     * As other PETSc matrices, also the the matrix-free object needs to have
+     * As other PETSc matrices, also the matrix-free object needs to have
      * a size and to perform matrix vector multiplications efficiently in
      * parallel also @p local_rows and @p local_columns. But in contrast to
      * PETSc::SparseMatrix classes a PETSc matrix-free object does not need
diff --git a/include/deal.II/lac/petsc_parallel_block_vector.h b/include/deal.II/lac/petsc_parallel_block_vector.h
index fcdf70db9f..d15537d4e9 100644
--- a/include/deal.II/lac/petsc_parallel_block_vector.h
+++ b/include/deal.II/lac/petsc_parallel_block_vector.h
@@ -252,7 +252,7 @@ namespace PETScWrappers
        * the same number of blocks. If needed, the numbers of blocks should be
        * exchanged, too.
        *
-       * This function is analogous to the the swap() function of all C++
+       * This function is analogous to the swap() function of all C++
        * standard containers. Also, there is a global function swap(u,v) that
        * simply calls <tt>u.swap(v)</tt>, again in analogy to standard
        * functions.
diff --git a/include/deal.II/lac/petsc_vector_base.h b/include/deal.II/lac/petsc_vector_base.h
index f80781cec3..0e3d4e624b 100644
--- a/include/deal.II/lac/petsc_vector_base.h
+++ b/include/deal.II/lac/petsc_vector_base.h
@@ -734,7 +734,7 @@ namespace PETScWrappers
      * only swaps the pointers to the data of the two vectors and therefore
      * does not need to allocate temporary storage and move data around.
      *
-     * This function is analogous to the the @p swap function of all C++
+     * This function is analogous to the @p swap function of all C++
      * standard containers. Also, there is a global function
      * <tt>swap(u,v)</tt> that simply calls <tt>u.swap(v)</tt>, again in
      * analogy to standard functions.
diff --git a/include/deal.II/lac/read_write_vector.h b/include/deal.II/lac/read_write_vector.h
index 9cb64ea562..80f29e2425 100644
--- a/include/deal.II/lac/read_write_vector.h
+++ b/include/deal.II/lac/read_write_vector.h
@@ -225,7 +225,7 @@ namespace LinearAlgebra
      * only swaps the pointers to the data of the two vectors and therefore
      * does not need to allocate temporary storage and move data around.
      *
-     * This function is analogous to the the @p swap function of all C++
+     * This function is analogous to the @p swap function of all C++
      * standard containers. Also, there is a global function
      * <tt>swap(u,v)</tt> that simply calls <tt>u.swap(v)</tt>, again in
      * analogy to standard functions.
diff --git a/include/deal.II/lac/sparse_mic.h b/include/deal.II/lac/sparse_mic.h
index 91b4d8c1b8..1c37f18652 100644
--- a/include/deal.II/lac/sparse_mic.h
+++ b/include/deal.II/lac/sparse_mic.h
@@ -158,7 +158,7 @@ private:
   std::vector<number> diag;
 
   /**
-   * Inverses of the the diagonal: precomputed for faster vmult.
+   * Inverses of the diagonal: precomputed for faster vmult.
    */
   std::vector<number> inv_diag;
 
diff --git a/include/deal.II/lac/trilinos_parallel_block_vector.h b/include/deal.II/lac/trilinos_parallel_block_vector.h
index 0b9e00a881..f184567c64 100644
--- a/include/deal.II/lac/trilinos_parallel_block_vector.h
+++ b/include/deal.II/lac/trilinos_parallel_block_vector.h
@@ -270,7 +270,7 @@ namespace TrilinosWrappers
        * the same number of blocks. If needed, the numbers of blocks should be
        * exchanged, too.
        *
-       * This function is analogous to the the swap() function of all C++
+       * This function is analogous to the swap() function of all C++
        * standard containers. Also, there is a global function swap(u,v) that
        * simply calls <tt>u.swap(v)</tt>, again in analogy to standard
        * functions.
diff --git a/include/deal.II/lac/trilinos_vector.h b/include/deal.II/lac/trilinos_vector.h
index 1d9ede0a62..0b149d1642 100644
--- a/include/deal.II/lac/trilinos_vector.h
+++ b/include/deal.II/lac/trilinos_vector.h
@@ -355,7 +355,7 @@ namespace TrilinosWrappers
      * a ghosted vector may not even store all of the elements a non- ghosted
      * vector would store on the current processor.  Consequently, for
      * Trilinos vectors, there is no notion of an 'owner' of vector elements
-     * in the way we have it in the the non-ghost case view.
+     * in the way we have it in the non-ghost case view.
      *
      * This explains why we do not allow writing into ghosted vectors on the
      * Trilinos side: Who would be responsible for taking care of the
@@ -1134,7 +1134,7 @@ namespace TrilinosWrappers
        * does not need to allocate temporary storage and move data around. Note
        * that the vectors need to be of the same size and base on the same map.
        *
-       * This function is analogous to the the @p swap function of all C++
+       * This function is analogous to the @p swap function of all C++
        * standard containers. Also, there is a global function
        * <tt>swap(u,v)</tt> that simply calls <tt>u.swap(v)</tt>, again in
        * analogy to standard functions.
diff --git a/include/deal.II/lac/vector.h b/include/deal.II/lac/vector.h
index 99a61346ea..49181d00bb 100644
--- a/include/deal.II/lac/vector.h
+++ b/include/deal.II/lac/vector.h
@@ -308,7 +308,7 @@ public:
    * swaps the pointers to the data of the two vectors and therefore does not
    * need to allocate temporary storage and move data around.
    *
-   * This function is analogous to the the @p swap function of all C++
+   * This function is analogous to the @p swap function of all C++
    * standard containers. Also, there is a global function <tt>swap(u,v)</tt>
    * that simply calls <tt>u.swap(v)</tt>, again in analogy to standard
    * functions.
diff --git a/include/deal.II/matrix_free/fe_evaluation.h b/include/deal.II/matrix_free/fe_evaluation.h
index 3d628133b8..5487791c40 100644
--- a/include/deal.II/matrix_free/fe_evaluation.h
+++ b/include/deal.II/matrix_free/fe_evaluation.h
@@ -495,7 +495,7 @@ public:
   /**
    * Return a read and write pointer to the first field of the dof values.
    * This is the data field the read_dof_values() functions write into. First
-   * come the the dof values for the first component, then all values for the
+   * come the dof values for the first component, then all values for the
    * second component, and so on. This is related to the internal data
    * structures used in this class. In general, it is safer to use the
    * get_dof_value() function instead.
diff --git a/include/deal.II/multigrid/mg_block_smoother.h b/include/deal.II/multigrid/mg_block_smoother.h
index 6fa2bdf383..efaa62ae79 100644
--- a/include/deal.II/multigrid/mg_block_smoother.h
+++ b/include/deal.II/multigrid/mg_block_smoother.h
@@ -100,7 +100,7 @@ public:
   /**
    * Implementation of the interface for @p Multigrid. This function does
    * nothing, which by comparison with the definition of this function means
-   * that the the smoothing operator equals the null operator.
+   * that the smoothing operator equals the null operator.
    */
   virtual void smooth (const unsigned int         level,
                        BlockVector<number>       &u,
diff --git a/include/deal.II/multigrid/mg_smoother.h b/include/deal.II/multigrid/mg_smoother.h
index b64a1bd86c..06bbd5632e 100644
--- a/include/deal.II/multigrid/mg_smoother.h
+++ b/include/deal.II/multigrid/mg_smoother.h
@@ -136,7 +136,7 @@ public:
   /**
    * Implementation of the interface for @p Multigrid. This function does
    * nothing, which by comparison with the definition of this function means
-   * that the the smoothing operator equals the null operator.
+   * that the smoothing operator equals the null operator.
    */
   virtual void smooth (const unsigned int level,
                        VectorType         &u,
diff --git a/include/deal.II/numerics/vector_tools.h b/include/deal.II/numerics/vector_tools.h
index bdd53a4df1..61f9611a95 100644
--- a/include/deal.II/numerics/vector_tools.h
+++ b/include/deal.II/numerics/vector_tools.h
@@ -389,7 +389,7 @@ namespace VectorTools
     L1_norm,
 
     /**
-     * The square of the function is integrated and the the square root of the
+     * The square of the function is integrated and the square root of the
      * result is computed on each cell:
      * @f[
      *   E_K = \sqrt{ \int_K \sum_c e_c^2 \, w_c }
diff --git a/source/numerics/data_out_stack.cc b/source/numerics/data_out_stack.cc
index 01bcd69a07..9a786137e5 100644
--- a/source/numerics/data_out_stack.cc
+++ b/source/numerics/data_out_stack.cc
@@ -291,7 +291,7 @@ void DataOutStack<dim,spacedim,DoFHandlerType>::build_patches (const unsigned in
 
   // add the required number of
   // patches. first initialize a template
-  // patch with n_q_points (in the the plane
+  // patch with n_q_points (in the plane
   // of the cells) times n_subdivisions+1 (in
   // the time direction) points
   dealii::DataOutBase::Patch<dim+1,dim+1>  default_patch;
@@ -366,7 +366,7 @@ void DataOutStack<dim,spacedim,DoFHandlerType>::build_patches (const unsigned in
         };
 
 
-      // now fill in the the data values.
+      // now fill in the data values.
       // note that the required order is
       // with highest coordinate running
       // fastest, we need to enter each
diff --git a/tests/numerics/data_out_02.cc b/tests/numerics/data_out_02.cc
index 6358b271d9..145ca0e3b8 100644
--- a/tests/numerics/data_out_02.cc
+++ b/tests/numerics/data_out_02.cc
@@ -14,7 +14,7 @@
 // ---------------------------------------------------------------------
 
 
-// same as the the test with number _01, but check for block vectors
+// same as the test with number _01, but check for block vectors
 
 
 #include "../tests.h"
diff --git a/tests/numerics/data_out_faces_02.cc b/tests/numerics/data_out_faces_02.cc
index 26635ccd70..2eedc698e2 100644
--- a/tests/numerics/data_out_faces_02.cc
+++ b/tests/numerics/data_out_faces_02.cc
@@ -14,7 +14,7 @@
 // ---------------------------------------------------------------------
 
 
-// same as the the test with number _01, but check for block vectors
+// same as the test with number _01, but check for block vectors
 
 #include "../tests.h"
 #include "data_out_common.h"
diff --git a/tests/numerics/data_out_rotation_02.cc b/tests/numerics/data_out_rotation_02.cc
index 77fadceaf0..a018cea97a 100644
--- a/tests/numerics/data_out_rotation_02.cc
+++ b/tests/numerics/data_out_rotation_02.cc
@@ -14,7 +14,7 @@
 // ---------------------------------------------------------------------
 
 
-// same as the the test with number _01, but check for block vectors
+// same as the test with number _01, but check for block vectors
 
 
 #include "../tests.h"
-- 
2.39.5