diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 583ecc43eed82e0db57454f9b3a4cf5562872d93..3eb1054a606ed5d23b78bf9bdd1ad3da0be29909 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -1,4 +1,4 @@
-4.11.0 (Work-in-progress): new Fortran API; improved copying ("Duplicata") of
+4.11.0 (November 6, 2022): new Fortran API; improved copying ("Duplicata") of
 multiple shapes with OCC; reduced default order for OCC surface filling;
 arbitrary string attributes can now be stored in models and MSH files; new
 Radioss export; added ability to specify spline tangents with OCC; new option
diff --git a/doc/gmsh.1 b/doc/gmsh.1
index f4345ef40cec841ddb48cb848c3405236b538d3a..1f7a6ab478b562203dc382701030d92a4f14e46a 100644
--- a/doc/gmsh.1
+++ b/doc/gmsh.1
@@ -1,4 +1,4 @@
-.TH Gmsh 1 "25 April 2022" "4.10" "Gmsh Manual Pages"
+.TH Gmsh 1 "6 November 2022" "4.11" "Gmsh Manual Pages"
 .UC 4
 .\" ********************************************************************
 .SH NAME
@@ -9,17 +9,16 @@ post-processor
 .B gmsh [file(s)] [option(s)]
 .\" ********************************************************************
 .SH DESCRIPTION
-\fIGmsh\fR is a 3D finite element grid generator with a build-in CAD
+\fIGmsh\fR is a 3D finite element mesh generator with a build-in CAD
 engine and post-processor. Its design goal is to provide a fast, light
-and user-friendly meshing tool with parametric input and advanced
+and user-friendly meshing tool with parametric input and flexible
 visualization capabilities.
 .PP
-\fIGmsh\fR is built around four modules: geometry, mesh, solver and
-post-processing. The specification of any input to these modules is
-done either interactively using the graphical user interface, in
-ASCII text files using \fIGmsh\fR's own scripting language (\fI.geo\fR
-files), or using the C++, C, Python or Julia Application Programming
-Interface (API).
+\fIGmsh\fR is built around four modules (geometry, mesh, solver and
+post-processing), which can be controlled with the graphical user interface,
+from the command line, using text files written in \fIGmsh\fR's own scripting
+language (\fI.geo\fR files), or through the C++, C, Python, Julia and Fortran
+application programming interface.
 .\" ********************************************************************
 .SH GEOMETRY OPTIONS
 .TP 4
diff --git a/doc/gmsh.css b/doc/gmsh.css
index 7390baf87ad7ab028560089beb2e759ce93db5ec..a0b4a41404c579d0e044dff691aa9907b7714535 100644
--- a/doc/gmsh.css
+++ b/doc/gmsh.css
@@ -59,7 +59,7 @@ div.highlight { padding: 1ex; background-color: #f3f7ff; font-weight: bold; }
 
 code { font-size: 95%; }
 
-pre { font-size: 90%; padding: 1em; border: 1px dashed #2f6fab; color: black;
+pre { font-size: 95%; padding: 1em; border: 1px dashed #2f6fab; color: black;
   line-height: 1.2em; background-color: #f3f7ff; white-space: pre-wrap;
   white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap;
   word-wrap: break-word;
diff --git a/doc/gmsh.html b/doc/gmsh.html
index 7d7849b3a83230d5f96096e8e6cee4b82438df4e..52461b65472b3bd53223c724f10564d9ea05d512 100644
--- a/doc/gmsh.html
+++ b/doc/gmsh.html
@@ -60,34 +60,31 @@ CAO, OpenGL, GL2PS, Gmesh">
 <p>
 Gmsh is an open source 3D finite element mesh generator with a built-in CAD
 engine and post-processor. Its design goal is to provide a fast, light and
-user-friendly meshing tool with parametric input and advanced visualization
-capabilities.  Gmsh is built around four modules: geometry, mesh, solver and
-post-processing. The specification of any input to these modules is done either
-interactively using the graphical user interface, in ASCII text files using
-Gmsh's own scripting language (<code>.geo</code> files), or using the C++, C,
-Python, Julia or Fortran Application Programming Interface (API).
+user-friendly meshing tool with parametric input and flexible visualization
+capabilities.  Gmsh is built
+around <a href="doc/texinfo/gmsh.html#Overview-of-Gmsh">four modules</a>
+(geometry, mesh, solver and post-processing), which can be controlled with
+the <a href="doc/texinfo/gmsh.html#Gmsh-graphical-user-interface">graphical user
+interface</a>, from
+the <a href="doc/texinfo/gmsh.html#Gmsh-command_002dline-interface">command
+line</a>, using text files written in Gmsh's
+own <a href="doc/texinfo/gmsh.html#Gmsh-scripting-language">scripting
+language</a> (<code>.geo</code> files), or through the C++, C, Python, Julia and
+Fortran <a href="doc/texinfo/gmsh.html#Gmsh-application-programming-interface">application
+programming interface</a>.
 </p>
 
 <p>
 See this <a href="doc/course/general_overview.pdf">general presentation</a> for
-a high-level overview of Gmsh and recent developments,
-the <a href="screencasts/">screencasts</a> for a quick tour of Gmsh's graphical
-user interface, and the <a href="doc/texinfo/gmsh.html">reference manual</a> for
-a more thorough overview of
-Gmsh's <a href="doc/texinfo/gmsh.html#Overview-of-Gmsh">capabilities</a>,
-some <a href="doc/texinfo/gmsh.html#Frequently-asked-questions">frequently asked
-questions</a> and the documentation of
-the <a href="doc/texinfo/gmsh.html#Gmsh-application-programming-interface">C++,
-C, Python, Julia and Fortran API</a>.
-</p>
-
-<p>
+a high-level overview of Gmsh and the <a href="doc/texinfo/gmsh.html">reference
+manual</a> for the complete documentation, which includes
+the <a href="doc/texinfo/gmsh.html#Gmsh-tutorial">Gmsh tutorial</a>.
 The <a href="https://gitlab.onelab.info/gmsh/gmsh/">source code repository</a>
-contains many examples written using both the built-in script language and the
-API (see e.g. the
-<a href="https://gitlab.onelab.info/gmsh/gmsh/tree/master/tutorials">tutorials</a>
-and the additional
-<a href="https://gitlab.onelab.info/gmsh/gmsh/tree/master/examples">examples</a>).
+contains the
+<a href="https://gitlab.onelab.info/gmsh/gmsh/tree/master/tutorials">tutorial
+source files</a> as well as
+many <a href="https://gitlab.onelab.info/gmsh/gmsh/tree/master/benchmarks">other</a>
+<a href="https://gitlab.onelab.info/gmsh/gmsh/tree/master/examples">examples</a>.
 </p>
 
 <h2><a name="Download"></a>Download</h2>
@@ -99,27 +96,30 @@ Public License (GPL)</a>:
 <ul>
   <li>
     <div class="highlight">
-      Current stable release (version 4.10.4, 19 June 2022):
+      Current stable release (version 4.11.0, 6 November 2022):
       <ul>
         <li>Download Gmsh for
-          <a href="bin/Windows/gmsh-4.10.5-Windows64.zip">Windows</a>,
-          <a href="bin/Linux/gmsh-4.10.5-Linux64.tgz">Linux</a> or
-          <a href="bin/macOS/gmsh-4.10.5-MacOSX.dmg">macOS (x86)</a> <a href="#1"><sup>*</sup></a> <!-- or
-          <a href="bin/macOS/gmsh-4.10.5-MacOSARM.dmg">macOS (ARM)</a -->
-        <li>Download the <a href="src/gmsh-4.10.5-source.tgz">source code</a>
+          <a href="bin/Windows/gmsh-4.11.0-Windows64.zip">Windows</a>,
+          <a href="bin/Linux/gmsh-4.11.0-Linux64.tgz">Linux</a>,
+          <a href="bin/macOS/gmsh-4.11.0-MacOSX.dmg">macOS (x86)</a> or
+          <a href="bin/macOS/gmsh-4.11.0-MacOSARM.dmg">macOS (ARM)</a>
+          <a href="#1"><sup>*</sup></a>
+        <li>Download the <a href="src/gmsh-4.11.0-source.tgz">source code</a>
         <li>Download the Software Development Kit (SDK) for
-          <a href="bin/Windows/gmsh-4.10.5-Windows64-sdk.zip">Windows</a>,
-          <a href="bin/Linux/gmsh-4.10.5-Linux64-sdk.tgz">Linux</a> or
-          <a href="bin/macOS/gmsh-4.10.5-MacOSX-sdk.tgz">macOS (x86)</a> <a href="#1"><sup>*</sup></a> <!-- or
-          <a href="bin/macOS/gmsh-4.10.5-MacOSARM-sdk.tgz">macOS (ARM)</a -->
-        <li>Download both Gmsh and the SDK with pip: '<code>pip install --upgrade
-            <a href="https://pypi.org/project/gmsh/">gmsh</a></code>'
+          <a href="bin/Windows/gmsh-4.11.0-Windows64-sdk.zip">Windows</a>,
+          <a href="bin/Linux/gmsh-4.11.0-Linux64-sdk.tgz">Linux</a>,
+          <a href="bin/macOS/gmsh-4.11.0-MacOSX-sdk.tgz">macOS (x86) or
+          <a href="bin/macOS/gmsh-4.11.0-MacOSARM-sdk.tgz">macOS (ARM)</a>
+          </a> <a href="#1"><sup>*</sup></a>
+        <li>Download both Gmsh and the SDK with pip: '<code>pip install
+            --upgrade <a href="https://pypi.org/project/gmsh/">gmsh</a></code>'
       </ul>
     </div>
     <p>
       <em>Make sure to read
-        the <a href="doc/texinfo/gmsh.html#Gmsh-tutorial">tutorials</a> before
-        sending questions or bug reports.</em>
+        the <a href="doc/texinfo/gmsh.html#Gmsh-tutorial">tutorial</a> and the
+        <a href="doc/texinfo/gmsh.html#Frequently-asked-questions">FAQ</a>
+        before sending questions or bug reports.</em>
     </p>
   <li>Development version:
     <ul>
@@ -127,35 +127,37 @@ Public License (GPL)</a>:
         <a href="bin/Windows/gmsh-git-Windows64.zip">Windows</a>,
         <a href="bin/Linux/gmsh-git-Linux64.tgz">Linux</a>,
         <a href="bin/macOS/gmsh-git-MacOSX.dmg">macOS (x86)</a> or
-        <a href="bin/macOS/gmsh-git-MacOSARM.dmg">macOS (ARM)</a> <a href="#1"><sup>*</sup></a>
+        <a href="bin/macOS/gmsh-git-MacOSARM.dmg">macOS (ARM)</a>
+        <a href="#1"><sup>*</sup></a>
       <li>Download the latest automatic <a href="src/gmsh-git-source.tgz">source
         code</a> snapshot
       <li>Download the latest automatic SDK snapshot for
         <a href="bin/Windows/gmsh-git-Windows64-sdk.zip">Windows</a>,
         <a href="bin/Linux/gmsh-git-Linux64-sdk.tgz">Linux</a>,
         <a href="bin/macOS/gmsh-git-MacOSX-sdk.tgz">macOS (x86)</a> or
-        <a href="bin/macOS/gmsh-git-MacOSARM-sdk.tgz">macOS (ARM)</a> <a href="#1"><sup>*</sup></a>
+        <a href="bin/macOS/gmsh-git-MacOSARM-sdk.tgz">macOS (ARM)</a>
+        <a href="#1"><sup>*</sup></a>
       <li>Access the Git repository: '<code>git clone
           <a href="https://gitlab.onelab.info/gmsh/gmsh.git">https://gitlab.onelab.info/gmsh/gmsh.git</a></code>'
       <li>Download the latest automatic snapshot of both Gmsh and the SDK with
-        pip: '<code>pip install -i https://gmsh.info/python-packages-dev --force-reinstall
-        --no-cache-dir gmsh</code>' (on Linux systems without X windows, use
-        <code>python-packages-dev-nox</code> instead of <code>python-packages-dev</code>)
+        pip: '<code>pip install -i https://gmsh.info/python-packages-dev
+        --force-reinstall --no-cache-dir gmsh</code>' (on Linux systems without
+        X windows, use <code>python-packages-dev-nox</code> instead of
+        <code>python-packages-dev</code>)
     </ul>
     <p>
     </p>
-  <li>All versions: <a href="bin/">binaries</a>
-    and <a href="src/">sources</a>
+  <li>All versions: <a href="bin/">binaries</a> and <a href="src/">sources</a>
 </ul>
 
 <p>
 If you use Gmsh please cite the following reference in your work (books,
-articles, reports, etc.): <a href="doc/preprints/gmsh_paper_preprint.pdf">C. Geuzaine and
-J.-F. Remacle. <em>Gmsh: a three-dimensional finite element mesh generator with
-built-in pre- and post-processing facilities</em>. International Journal for
-Numerical Methods in Engineering 79(11), pp. 1309-1331, 2009</a>. You can also
-cite additional references for <a href="#References">specific features and
-algorithms</a>.
+articles, reports, etc.): <a href="doc/preprints/gmsh_paper_preprint.pdf">C.
+Geuzaine and J.-F. Remacle. <em>Gmsh: a three-dimensional finite element mesh
+generator with built-in pre- and post-processing facilities</em>. International
+Journal for Numerical Methods in Engineering 79(11), pp. 1309-1331, 2009</a>.
+You can also cite additional references for <a href="#References">specific
+features and algorithms</a>.
 </p>
 
 <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
@@ -173,9 +175,9 @@ algorithms</a>.
 </form>
 
 <div class="small">
-  <a name="1"><sup>*</sup></a> Binary releases require Windows 10, Linux with
-  glibc &ge; 2.24, macOS (x86 - Intel processors) &ge; 10.15 or macOS (ARM -
-  Apple M-series processors) &ge; 12
+  <a name="1"><sup>*</sup></a> Binary releases require Windows &ge; 10, Linux
+  with glibc &ge; 2.24, macOS (x86 - Intel processors) &ge; 10.15 or macOS (ARM
+  - Apple M-series processors) &ge; 12
 </div>
 
 <h2><a name="Documentation"></a>Documentation</h2>
@@ -256,7 +258,7 @@ for details.
 <h2><a name="Links"></a>Links</h2>
 
 <ul>
-  <li>Gmsh uses <a href="http://www.opencascade.org">OpenCascade</a> for
+  <li>Gmsh uses <a href="http://www.opencascade.org">OpenCASCADE</a> for
     constructive geometry features, and interfaces the optional external mesh
     and mesh adaptation librairies <a href="http://ngsolve.org/">Netgen</a> and
     <a href="https://www.mmgtools.org/">Mmg3d</a>.
diff --git a/doc/texinfo/api.texi b/doc/texinfo/api.texi
index 0a8bfee764930fb5413adeda760137223e4ade8e..3072c487bdfea6f91e88bb17e7e78de51659b645 100644
--- a/doc/texinfo/api.texi
+++ b/doc/texinfo/api.texi
@@ -45,7 +45,7 @@ the API sets the options "General.AbortOnError" to 2 and "General.Terminal" to
 @item Language-specific definition:
 @url{@value{GITLAB-PREFIX}/api/gmsh.h#L67,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L54,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L227,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L47,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t1.cpp#L18,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t2.cpp#L17,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t3.cpp#L15,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L17,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t5.cpp#L78,t5.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t1.py#L15,t1.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t2.py#L15,t2.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t3.py#L13,t3.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L13,t4.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t5.py#L13,t5.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t1.cpp#L18,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t2.cpp#L17,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t3.cpp#L15,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L17,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t5.cpp#L78,t5.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t1.py#L15,t1.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t2.py#L15,t2.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t3.py#L13,t3.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L14,t4.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t5.py#L13,t5.py}, ...)
 @end table
 
 @item gmsh/isInitialized
@@ -75,7 +75,7 @@ Finalize the Gmsh API. This must be called when you are done using the Gmsh API.
 @item Language-specific definition:
 @url{@value{GITLAB-PREFIX}/api/gmsh.h#L80,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L64,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L272,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L78,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t1.cpp#L174,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t2.cpp#L170,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t3.cpp#L147,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L173,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t5.cpp#L231,t5.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t1.py#L173,t1.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t2.py#L163,t2.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t3.py#L134,t3.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L180,t4.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t5.py#L225,t5.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t1.cpp#L174,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t2.cpp#L170,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t3.cpp#L147,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L173,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t5.cpp#L231,t5.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t1.py#L173,t1.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t2.py#L163,t2.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t3.py#L134,t3.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L184,t4.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t5.py#L225,t5.py}, ...)
 @end table
 
 @item gmsh/open
@@ -127,7 +127,7 @@ Write a file. The export format is determined by the file extension.
 @item Language-specific definition:
 @url{@value{GITLAB-PREFIX}/api/gmsh.h#L99,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L79,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L323,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L133,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t1.cpp#L123,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t2.cpp#L142,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t3.cpp#L84,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L167,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t5.cpp#L225,t5.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t1.py#L122,t1.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t2.py#L135,t2.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t3.py#L79,t3.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L174,t4.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t5.py#L219,t5.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t1.cpp#L123,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t2.cpp#L142,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t3.cpp#L84,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L167,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t5.cpp#L225,t5.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t1.py#L122,t1.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t2.py#L135,t2.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t3.py#L79,t3.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L178,t4.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t5.py#L219,t5.py}, ...)
 @end table
 
 @item gmsh/clear
@@ -203,7 +203,7 @@ are listed in the Gmsh reference manual.
 @item Language-specific definition:
 @url{@value{GITLAB-PREFIX}/api/gmsh.h#L129,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L103,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L407,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L221,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L153,t4.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L161,t4.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L153,t4.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L165,t4.py})
 @end table
 
 @item gmsh/option/getString
@@ -282,7 +282,7 @@ Add a new model, with name @code{name}, and set it as the current model.
 @item Language-specific definition:
 @url{@value{GITLAB-PREFIX}/api/gmsh.h#L172,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L138,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L531,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L332,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t1.cpp#L22,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t2.cpp#L19,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t3.cpp#L21,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L19,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t6.cpp#L16,t6.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t1.py#L19,t1.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t2.py#L17,t2.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t3.py#L18,t3.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L15,t4.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t5.py#L15,t5.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t1.cpp#L22,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t2.cpp#L19,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t3.cpp#L21,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L19,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t6.cpp#L16,t6.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t1.py#L19,t1.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t2.py#L17,t2.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t3.py#L18,t3.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L16,t4.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t5.py#L15,t5.py}, ...)
 @end table
 
 @item gmsh/model/remove
@@ -803,7 +803,7 @@ surface, concatenated: [p1u, p1v, p2u, ...]). Return x, y, z coordinates in
 @item Language-specific definition:
 @url{@value{GITLAB-PREFIX}/api/gmsh.h#L420,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L352,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1309,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1072,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t2.cpp#L90,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/x5.cpp#L92,x5.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t2.py#L85,t2.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/x5.py#L78,x5.py}, @url{@value{GITLAB-PREFIX}/examples/api/reparamOnFace.py#L20,reparamOnFace.py}, @url{@value{GITLAB-PREFIX}/examples/api/terrain_stl.py#L35,terrain_stl.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t2.cpp#L90,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/x5.cpp#L97,x5.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t2.py#L85,t2.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/x5.py#L82,x5.py}, @url{@value{GITLAB-PREFIX}/examples/api/reparamOnFace.py#L20,reparamOnFace.py}, @url{@value{GITLAB-PREFIX}/examples/api/terrain_stl.py#L35,terrain_stl.py})
 @end table
 
 @item gmsh/model/getDerivative
@@ -942,7 +942,7 @@ entity of dimension @code{dim} and tag @code{tag}.
 @item Language-specific definition:
 @url{@value{GITLAB-PREFIX}/api/gmsh.h#L510,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L436,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1560,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1296,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/x5.cpp#L88,x5.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/x5.py#L75,x5.py}, @url{@value{GITLAB-PREFIX}/examples/api/reparamOnFace.py#L17,reparamOnFace.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/x5.cpp#L93,x5.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/x5.py#L79,x5.py}, @url{@value{GITLAB-PREFIX}/examples/api/reparamOnFace.py#L17,reparamOnFace.py})
 @end table
 
 @item gmsh/model/isInside
@@ -1002,7 +1002,7 @@ subset of entities, depending on the underlying geometrical representation.
 @item Language-specific definition:
 @url{@value{GITLAB-PREFIX}/api/gmsh.h#L549,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L472,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1663,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1394,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/x5.cpp#L97,x5.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/x5.py#L82,x5.py}, @url{@value{GITLAB-PREFIX}/examples/api/reparamOnFace.py#L19,reparamOnFace.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/x5.cpp#L102,x5.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/x5.py#L86,x5.py}, @url{@value{GITLAB-PREFIX}/examples/api/reparamOnFace.py#L19,reparamOnFace.py})
 @end table
 
 @item gmsh/model/setVisibility
@@ -1069,7 +1069,7 @@ Apply the color setting recursively if @code{recursive} is true.
 @item Language-specific definition:
 @url{@value{GITLAB-PREFIX}/api/gmsh.h#L585,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L504,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1773,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1490,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L158,t4.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L167,t4.py}, @url{@value{GITLAB-PREFIX}/examples/api/gui.py#L35,gui.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L158,t4.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L171,t4.py}, @url{@value{GITLAB-PREFIX}/examples/api/gui.py#L35,gui.py})
 @end table
 
 @item gmsh/model/getColor
@@ -1179,7 +1179,7 @@ Generate a mesh of the current model, up to dimension @code{dim} (0, 1, 2 or 3).
 @item Language-specific definition:
 @url{@value{GITLAB-PREFIX}/api/gmsh.h#L638,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L547,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1959,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1655,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t1.cpp#L120,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t2.cpp#L141,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t3.cpp#L83,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L165,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t5.cpp#L224,t5.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t1.py#L119,t1.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t2.py#L134,t2.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t3.py#L78,t3.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L172,t4.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t5.py#L218,t5.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t1.cpp#L120,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t2.cpp#L141,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t3.cpp#L83,t3.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L165,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t5.cpp#L224,t5.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t1.py#L119,t1.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t2.py#L134,t2.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t3.py#L78,t3.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L176,t4.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t5.py#L218,t5.py}, ...)
 @end table
 
 @item gmsh/model/mesh/partition
@@ -5485,7 +5485,7 @@ integer
 @item Language-specific definition:
 @url{@value{GITLAB-PREFIX}/api/gmsh.h#L3290,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2919,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L8798,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L7835,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L111,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/x3.cpp#L28,x3.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/x4.cpp#L33,x4.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/x5.cpp#L80,x5.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L118,t4.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/x3.py#L25,x3.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/x4.py#L31,x4.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/x5.py#L68,x5.py}, @url{@value{GITLAB-PREFIX}/examples/api/adapt_mesh.py#L88,adapt_mesh.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L111,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/x3.cpp#L28,x3.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/x4.cpp#L33,x4.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/x5.cpp#L80,x5.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L119,t4.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/x3.py#L25,x3.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/x4.py#L31,x4.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/x5.py#L68,x5.py}, @url{@value{GITLAB-PREFIX}/examples/api/adapt_mesh.py#L88,adapt_mesh.py}, ...)
 @end table
 
 @item gmsh/view/remove
@@ -5688,7 +5688,7 @@ Bold", "Times-Italic", "Times-BoldItalic", "Helvetica", "Helvetica-Bold",
 @item Language-specific definition:
 @url{@value{GITLAB-PREFIX}/api/gmsh.h#L3420,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L3040,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L9132,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L8144,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L115,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/x3.cpp#L80,x3.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L122,t4.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/x3.py#L72,x3.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L115,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/x3.cpp#L80,x3.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L123,t4.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/x3.py#L72,x3.py})
 @end table
 
 @item gmsh/view/getListDataStrings
@@ -5854,7 +5854,7 @@ Set the numerical option @code{name} to value @code{value} for the view with tag
 @item Language-specific definition:
 @url{@value{GITLAB-PREFIX}/api/gmsh.h#L3531,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L3141,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L9424,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L8380,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t8.cpp#L88,t8.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t9.cpp#L78,t9.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/x3.cpp#L87,x3.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t8.py#L84,t8.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t9.py#L67,t9.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/x3.py#L79,x3.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t8.cpp#L88,t8.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t9.cpp#L78,t9.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/x3.cpp#L87,x3.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/x5.cpp#L82,x5.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t8.py#L84,t8.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t9.py#L67,t9.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/x3.py#L79,x3.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/x5.py#L70,x5.py})
 @end table
 
 @item gmsh/view/option/getNumber
@@ -5888,7 +5888,7 @@ Set the string option @code{name} to value @code{value} for the view with tag
 @item Language-specific definition:
 @url{@value{GITLAB-PREFIX}/api/gmsh.h#L3546,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L3153,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L9473,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L8423,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L151,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t8.cpp#L100,t8.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L159,t4.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t8.py#L96,t8.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L151,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t8.cpp#L100,t8.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L163,t4.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t8.py#L96,t8.py})
 @end table
 
 @item gmsh/view/option/getString
@@ -6168,7 +6168,7 @@ been initialized. Can only be called in the main thread.
 @item Language-specific definition:
 @url{@value{GITLAB-PREFIX}/api/gmsh.h#L3674,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L3245,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L9816,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L8755,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t1.cpp#L150,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t2.cpp#L168,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L171,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t5.cpp#L229,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t6.cpp#L105,t6.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t1.py#L149,t1.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t2.py#L161,t2.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L178,t4.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t5.py#L223,t5.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t6.py#L105,t6.py}, ...)
+C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t1.cpp#L150,t1.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t2.cpp#L168,t2.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t4.cpp#L171,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t5.cpp#L229,t5.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t6.cpp#L105,t6.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t1.py#L149,t1.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t2.py#L161,t2.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t4.py#L182,t4.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t5.py#L223,t5.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t6.py#L105,t6.py}, ...)
 @end table
 
 @item gmsh/fltk/isAvailable
@@ -6652,7 +6652,7 @@ Write a @code{message}. @code{level} can be "info", "warning" or "error".
 @item Language-specific definition:
 @url{@value{GITLAB-PREFIX}/api/gmsh.h#L3875,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L3403,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L10462,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L9400,Julia}
 @item Examples:
-C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t7.cpp#L23,t7.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t8.cpp#L41,t8.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t9.cpp#L31,t9.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t13.cpp#L26,t13.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t16.cpp#L34,t16.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t8.py#L79,t8.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t9.py#L29,t9.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/x5.py#L87,x5.py}, @url{@value{GITLAB-PREFIX}/examples/api/custom_gui.py#L60,custom_gui.py}, @url{@value{GITLAB-PREFIX}/examples/api/terrain_stl.py#L26,terrain_stl.py})
+C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t7.cpp#L23,t7.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t8.cpp#L41,t8.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t9.cpp#L31,t9.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t13.cpp#L26,t13.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t16.cpp#L34,t16.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t8.py#L79,t8.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t9.py#L29,t9.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/x5.py#L91,x5.py}, @url{@value{GITLAB-PREFIX}/examples/api/custom_gui.py#L60,custom_gui.py}, @url{@value{GITLAB-PREFIX}/examples/api/terrain_stl.py#L26,terrain_stl.py})
 @end table
 
 @item gmsh/logger/start
diff --git a/doc/texinfo/gmsh.texi b/doc/texinfo/gmsh.texi
index 9bca17645de98a16afd4e2f980f1e685c12e7b06..089e46a04adc348be5b83393b96b704367771d61 100644
--- a/doc/texinfo/gmsh.texi
+++ b/doc/texinfo/gmsh.texi
@@ -247,14 +247,14 @@ build-in CAD engine and post-processor. Its design goal is to provide a
 fast, light and user-friendly meshing tool with parametric input and
 flexible visualization capabilities.
 
-Gmsh is built around four modules: geometry, mesh, solver and
-post-processing. Geometry, mesh, solver and post-processing instructions
-are prescribed either using the graphical user interface (GUI; see
-@ref{Gmsh graphical user interface}), on the command line (@pxref{Gmsh
-command-line interface}), in text files using Gmsh's own scripting
-language (@file{.geo} files; see @ref{Gmsh scripting language}), or
-through the Gmsh application programming interface (API; see @ref{Gmsh
-application programming interface}) in C++, C, Python, Julia or Fortran.
+Gmsh is built around four modules (geometry, mesh, solver and
+post-processing), which can be controlled with the graphical user
+interface (GUI; see @ref{Gmsh graphical user interface}), from the
+command line (@pxref{Gmsh command-line interface}), using text files
+written in Gmsh's own scripting language (@file{.geo} files; see
+@ref{Gmsh scripting language}), or through the C++, C, Python, Julia and
+Fortran application programming interface (API; see @ref{Gmsh
+application programming interface}).
 
 A brief description of the four modules is given hereafter, before an
 overview of what Gmsh does best (... and what it is not so good at), and