Repository: ManimCommunity/manim
Pull request: Copyedited Documentation
<!--
Thanks for your contribution to ManimCommunity!

Before filling in the details, ensure:
- Your local changes are up-to-date with ManimCommunity/manim
  
- The title of your PR gives a descriptive summary to end-users. Some examples:
  - Fixed last animations not running to completion
  - Added gradient support and documentation for SVG files
  Examples of what *NOT* to do:
  - "fixed that styling issue" - not descriptive enough
  - "fixed issue #XYZ" - end-user needs to do further research
-->
## Changelog / Overview
<!-- Optional (Recommended): a detailed overview of the PR for the upcoming
release's changelog entry. Useful for when the PR title isn't enough. 

DO NOT REMOVE THE FOLLOWING CHANGELOG LINES, EVEN IF YOU DON'T USE THEM.-->
<!--changelog-start-->
Added a link to Manim Community GitHub page in ``for_dev.rst``.
Fixed :meth:`~.Mobject.get_start`  and added ``roll`` link in ``building_blocks-rst``
Added language to code blocks in ``configuration.rst``
<!--changelog-end-->

## Motivation
<!-- In what way do your changes improve the library? -->
The links are working due to which it is easier to access them.
## Explanation for Changes
<!-- How do your changes improve the library? -->

<!-- For PRs introducing new features, please adjust
the link below to reference the docs of your feature. -->
These changes can make the reader more easier to understand and the new link can directly direct them to the required pages.
[Documentation Reference](https://manimce--1509.org.readthedocs.build)

<!-- In the link above replace #### with you PR number.
You can also adjust the path to the module / class you worked on. This could look like adding
"/en/####/reference/manim.mobject.geometry.Arc.html" to the link for the Arc class.
Notice that the link will only work once the documentation is build which may take a few minutes.-->


## Testing Status
<!-- Optional (Recommended): your computer specs and what tests you ran with
their results, if any. This section is also intended for other
testing-related comments. -->

## Further Comments
<!-- Optional: any further comments that might be useful for reviewers. -->
Closes #1401
## Checklist
- [x] I have read the [Contributing Guidelines](https://docs.manim.community/en/latest/contributing.html)
- [x] I have written a descriptive PR title (see top of PR template for examples)
- [x] I have written a changelog entry for the PR or deem it unnecessary
- [ ] My new functions/classes either have a docstring or are private
- [ ] My new functions/classes have [tests](https://github.com/ManimCommunity/manim/wiki/Testing) added and (optional) examples in the docs
- [x] My new documentation builds, looks correctly formatted, and adds no additional build warnings
<!-- Once again, thanks for contributing to ManimCommunity! -->


<!-- Do not modify the lines below. These are for the reviewers of your PR -->
## Reviewer Checklist
- [ ] The PR title is descriptive enough
- [ ] The PR is labeled correctly
- [ ] The changelog entry is completed if necessary
- [ ] Newly added functions/classes either have a docstring or are private
- [ ] Newly added functions/classes have [tests](https://github.com/ManimCommunity/manim/wiki/Testing) added and (optional) examples in the docs
- [ ] Newly added documentation builds, looks correctly formatted, and adds no additional build warnings


Problem statement:
Copyediting of documentation
## Enhancement proposal
As I look through the docs, I'll make a list here of pages that could do with some copyediting. Most of these pages are relatively well-written and only need some minor corrections. I think it'll be a good task for new contributors who are proficient with English.

- [ ] `installation/win`
- [ ] `installation/troubleshooting`
- [ ] `installation/for_dev` Last section seems incomplete
- [ ] `installation/plugins` Some commas can be semicolons
- [ ] `tutorials/building_blocks` "Mobjects are the basic building block**s**; probably other minor issues as well
- [ ] `tutorials/configuration` Some awkward phrasing
- [ ] `contributing/development` One `flake8` word isn't formatted correctly
- [ ] `contributing/internationalization` I copyedited this once as part of my review, but it could still do with another pass.

This is by no means an exhaustive list. Hopefully this helps new contributors with a keen eye for grammar and style find some ideas for ways to contribute.


## Additional comments
I was going to make a more exhaustive list, but I realized that almost every page in the documentation would be listed here if I were nitpicky enough.

Hints from issue discussion:
I can spend some time working on this.
Assign me this.

Commit message: Finished copyedititng

Patch to review:
diff --git a/docs/source/installation/for_dev.rst b/docs/source/installation/for_dev.rst
index 67de4e9e56..b5c7d5fdc1 100644
--- a/docs/source/installation/for_dev.rst
+++ b/docs/source/installation/for_dev.rst
@@ -1,7 +1,7 @@
-Manim Installation For Developers
-=================================
+For Developers
+==============
 
-	This documentation is for developers who want to contribute to ``ManimCommunity/manim``.
+	This documentation is for developers who want to contribute to `ManimCommunity/manim <https://github.com/ManimCommunity/manim>`_.
 
 Thank you for your interest in contributing! Please see our documentation on
 :doc:`../contributing` to take the necessary steps before installing Manim as a
@@ -54,7 +54,7 @@ Installing System Dependencies
 ******************************
 
 Please follow the instructions under :ref:`installing-manim` to install all
-dependencies (e.g. ``LaTeX``, ``ffmpeg``, etc.). Afterwards, proceed with the
+dependencies (e.g. ``LaTeX``, ``ffmpeg``, etc.). Afterward, proceed with the
 installation with Poetry.
 
 .. important:: Windows users can skip the steps to install Pycairo.
@@ -146,4 +146,4 @@ For Developers with pip
    python3 -m pip install .
 
 Please see :doc:`../contributing` for more details about contributing to Manim.
-Since `pip` doesn't implement editable installations from our pyproject.toml
+Since `pip` doesn't implement editable installations from our ``pyproject.toml``
diff --git a/docs/source/installation/plugins.rst b/docs/source/installation/plugins.rst
index 81286d18cd..7316afde0a 100644
--- a/docs/source/installation/plugins.rst
+++ b/docs/source/installation/plugins.rst
@@ -107,7 +107,7 @@ The only requirement of manim plugins is that they specify an entry point
 with the group, ``"manim.plugins"``. This allows Manim to discover plugins
 available in the user's environment. Everything regarding the plugin's
 directory structure, build system, and naming are completely up to your
-discretion as an author. The aforementioned template plugin, is only a model
+discretion as an author. The aforementioned template plugin is only a model
 using Poetry since this is the build system Manim uses. The plugin's `entry
 point <https://packaging.python.org/specifications/entry-points/>`_ can be
 specified in poetry as:
@@ -132,8 +132,8 @@ Manim will look for ``__all__`` keyword defined in ``manim_plugintemplate`` and
 everything as a global variable one by one.
 
 If ``object_reference`` is a function, Manim calls the function and expects the
-function returns a list of modules or functions that needs to defined globally and
-it defined it.
+function returns a list of modules or functions that needs to be defined globally and
+in defined it.
 
 For example,
 
diff --git a/docs/source/installation/win.rst b/docs/source/installation/win.rst
index 1ece18ed02..ebd6b8a636 100644
--- a/docs/source/installation/win.rst
+++ b/docs/source/installation/win.rst
@@ -1,7 +1,7 @@
 Windows
 =======
 
-There are two simple ways to download manim's depedencies, using the popular package
+There are two simple ways to download manim's dependencies, using the popular package
 managers `Scoop <https://shoop.sh>`_ and `Chocolatey <https://chocolatey.org/install>`_
 
 .. _scoop:
@@ -9,7 +9,7 @@ managers `Scoop <https://shoop.sh>`_ and `Chocolatey <https://chocolatey.org/ins
 Installing using Scoop
 **********************
 
-First you need to install Scoop, which is a command-line installer for Windows
+First,    you need to install Scoop, which is a command-line installer for Windows
 systems. Please refer to `this link
 <https://scoop-docs.now.sh/docs/getting-started/Quick-Start.html>`_ for
 instructions.
@@ -34,7 +34,7 @@ LaTeX Installation
 There are two ways of installing a LaTeX distribution that will be covered here:
 
 1. using MikTeX (approx. 2GB, takes a while to install, but provides "on-the-fly"
-package installation)
+package installation, recommended for beginners)
 
 2. using TinyTeX (approx. 500MB, installs quickly, but you have to install the required
 packages manually)
@@ -42,8 +42,8 @@ packages manually)
 Using Miktex
 ++++++++++++
 Run ``scoop install latex`` and wait for the installer to complete its work. Most
-packages required by manim should be installed, but if there are some that aren't
-you'll get a popup to install them while rendering.
+packages required by manim should be installed, but if some aren't you'll get a 
+popup to install them while rendering.
 
 Using TinyTeX
 +++++++++++++
@@ -56,7 +56,7 @@ Now run the following command to install all necessary packages for using manim:
       fundus-calligra microtype wasysym physics dvisvgm jknapltx wasy cm-super babel-english
       gnu-freefont mathastext cbfonts-fd
 
-You can check whether they were installed properly by rendering an example scene which uses
+You can check whether they were installed properly by rendering an example scene that uses
 :class:`~.Tex` or :class:`~.MathTex`.
 
 .. _choco:
@@ -76,7 +76,7 @@ You can install manim very easily using chocolatey, by typing the following comm
 
 
 And then you can skip all the other steps and move to installing :ref:`latex-installation`.
-Please see :doc:`troubleshooting` section for details about OSError.
+Please see the :doc:`troubleshooting` section for details about OSError.
 
 FFmpeg installation
 -------------------
diff --git a/docs/source/tutorials/building_blocks.rst b/docs/source/tutorials/building_blocks.rst
index 090a64c227..882ba43551 100644
--- a/docs/source/tutorials/building_blocks.rst
+++ b/docs/source/tutorials/building_blocks.rst
@@ -6,7 +6,7 @@ This document explains the building blocks of manim and will give you all the
 necessary tools to start producing your own videos.
 
 Essentially, manim puts at your disposal three different concepts that you can
-orchestrate together in order to produce mathematical animations: the
+orchestrate together to produce mathematical animations: the
 **mathematical object** (or **mobject** for short) the **animation**, and the
 **scene**.  As we will see in the following sections, each of these three
 concepts is implemented in manim as a separate class: the :class:`.Mobject`,
@@ -32,13 +32,13 @@ see an empty frame.  The reason is that the :class:`.Mobject` class is an
 abstract base class of all other mobjects, i.e. it does not have any
 pre-determined visual shape that can be displayed on the screen.  It is only the
 skeleton of a thing that *could* be displayed.  Therefore, you will rarely need
-to use plain instances of :class:`.Mobject`; instead you will most likely
+to use plain instances of :class:`.Mobject`; instead, you will most likely
 create instances of its derived classes.  One of these derived classes is
 :class:`.VMobject`.  The ``V`` stands for Vectorized Mobject.  In essence, a
 vmobject is a mobject that uses `vector graphics
 <https://en.wikipedia.org/wiki/Vector_graphics>`_ to be displayed.  Most of
 the time, you will be dealing with vmobjects, though we will continue to use
-the term "mobject" to refer to the class of shapes that can be displayed on
+the term "mobject" to refer to the class of shapes that can be displayed on the
 screen, as it is more general.
 
 .. note:: Any object that can be displayed on the screen is a ``mobject``, even if
@@ -175,7 +175,7 @@ This scene uses two of the main functions that change the visual style of a
 mobject: :meth:`.set_stroke` and :meth:`.set_fill`.  The former changes the
 visual style of the mobject's border while the latter changes the style of the
 interior.  By default, most mobjects have a fully transparent interior so you
-must specify the ``opacity`` parameter in order to display the color.  An
+must specify the ``opacity`` parameter to display the color.  An
 opacity of ``1.0`` means fully opaque, while ``0.0`` means fully transparent.
 
 Only instances of :class:`.VMobject` implement :meth:`.set_stroke` and
@@ -244,8 +244,8 @@ your scene by calling the :meth:`~.Scene.play` method.
 Put simply, animations are procedures that interpolate between two mobjects.
 For example, :code:`FadeIn(square)` starts with a fully transparent version of
 :code:`square` and ends with a fully opaque version, interpolating between them
-by gradually increasing the opacity.  :class:`.FadeOut` works in the opposite
-way: it interpolates from fully opaque to fully transparent.  As another
+by gradually increasing the opacity.  :class:`.FadeOut` oppositely: it 
+interpolates from fully opaque to fully transparent.  As another
 example, :class:`.Rotate` starts with the mobject passed to it as argument, and
 ends with the same object but rotated by a certain amount, this time
 interpolating the mobject's angle instead of its opacity.
@@ -299,7 +299,7 @@ Using coordinates of a mobject
 
 Mobjects contain points that define their boundaries.
 These points can be used to add other mobjects respectively to each other, e.g. by methods like :meth:`~.Mobject.get_center` , :meth:`~.Mobject.get_top`
-and :meth`~.Mobject.get_start`. Here is an example of some important coordinates:
+and :meth:`~.Mobject.get_start`. Here is an example of some important coordinates:
 
 .. manim:: MobjectExample
     :save_last_frame:
@@ -342,7 +342,8 @@ It is also possible to transform a mobject into another mobject like this:
 
 The Transform function maps points of the previous mobject to the points of the next mobject.
 This might result in strange behaviour, e.g. when the dots of one mobject are arranged clockwise and the other points are arranged counterclockwise.
-Here it might help to use the `flip` function and reposition the points via the  `roll` function of numpy:
+Here it might help to use the `flip` function and reposition the points via the  `roll <https://numpy.org/doc/stable/reference/generated/numpy.roll.html>`_ 
+function of numpy:
 
 .. manim:: ExampleRotation
 
@@ -373,5 +374,5 @@ to be :meth:`added <.Scene.add>` to a scene to be displayed, or :meth:`removed
 animation occurs is determined by a call to :meth:`~.Scene.wait`.  All of the
 code of your video must be contained in the :meth:`~.Scene.construct` method of
 a class that derives from :class:`.Scene`.  Finally, a single file may contain
-multiple :class:`.Scene` subclasses in the event that multiple scenes are to be
+multiple :class:`.Scene` subclasses if multiple scenes are to be
 rendered at the same time.
diff --git a/docs/source/tutorials/configuration.rst b/docs/source/tutorials/configuration.rst
index 3d59c3add3..604d0b4106 100644
--- a/docs/source/tutorials/configuration.rst
+++ b/docs/source/tutorials/configuration.rst
@@ -14,7 +14,7 @@ The ManimConfig class
 
 The most direct way of configuring manim is via the global ``config`` object,
 which is an instance of :class:`.ManimConfig`.  Each property of this class is
-a config option that can be accessed either with standard attribute syntax, or
+a config option that can be accessed either with standard attribute syntax or
 with dict-like syntax:
 
 .. code-block:: pycon
@@ -147,7 +147,7 @@ The config file must start with the section header ``[CLI]``.  The
 configuration options under this header have the same name as the CLI flags,
 and serve the same purpose.  Take for example the following config file.
 
-.. code-block::
+.. code-block:: ini
 
    [CLI]
    # my config file
@@ -172,7 +172,7 @@ is in the same directory as <file.py>,
    manim <file.py> SceneName
 
 .. tip:: The names of the configuration options admissible in config files are
-         exactly the same as the **long names** of the corresponding command
+         exactly the same as the **long names** of the corresponding command-
          line flags.  For example, the ``-c`` and ``--background_color`` flags
          are interchangeable, but the config file only accepts
          :code:`background_color` as an admissible option.
@@ -195,7 +195,7 @@ In this way, the user may keep different config files for different scenes or
 projects, and execute them with the right configuration from anywhere in the
 system.
 
-The file described here is called the **folder-wide** config file, because it
+The file described here is called the **folder-wide** config file because it
 affects all scene scripts found in the same folder.
 
 
@@ -239,7 +239,7 @@ incompatible, **the folder-wide file takes precedence**.
 
 For example, take the following user-wide config file
 
-.. code-block::
+.. code-block:: ini
 
    # user-wide
    [CLI]
@@ -249,7 +249,7 @@ For example, take the following user-wide config file
 
 and the following folder-wide file
 
-.. code-block::
+.. code-block:: ini
 
    # folder-wide
    [CLI]


Code review comments:
diff_hunk: @@ -244,8 +244,8 @@ your scene by calling the :meth:`~.Scene.play` method.
 Put simply, animations are procedures that interpolate between two mobjects.
 For example, :code:`FadeIn(square)` starts with a fully transparent version of
 :code:`square` and ends with a fully opaque version, interpolating between them
-by gradually increasing the opacity.  :class:`.FadeOut` works in the opposite
-way: it interpolates from fully opaque to fully transparent.  As another
+by gradually increasing the opacity.  :class:`.FadeOut` oppositely: it 
path: docs/source/tutorials/building_blocks.rst
text: @user1:
I don't think "oppositely" can be used here; I think the original phrasing was better.

diff_hunk: @@ -132,8 +132,8 @@ Manim will look for ``__all__`` keyword defined in ``manim_plugintemplate`` and
 everything as a global variable one by one.
 
 If ``object_reference`` is a function, Manim calls the function and expects the
-function returns a list of modules or functions that needs to defined globally and
-it defined it.
+function returns a list of modules or functions that needs to be defined globally and
+in defined it.
path: docs/source/installation/plugins.rst
text: @user1:
I think the whole sentence is badly written and changing this single word doesn't really fix it. Can you rephrase the whole sentence?

diff_hunk: @@ -54,7 +54,7 @@ Installing System Dependencies
 ******************************
 
 Please follow the instructions under :ref:`installing-manim` to install all
-dependencies (e.g. ``LaTeX``, ``ffmpeg``, etc.). Afterwards, proceed with the
+dependencies (e.g. ``LaTeX``, ``ffmpeg``, etc.). Afterward, proceed with the
path: docs/source/installation/for_dev.rst
text: @user1:
Pretty sure "afterwards" is correct.

@author:
That’s what I thought but apparently this is grammatically correct 🧐

@user2:
Both are correct, there is no difference between the two spellings. 'Afterward' is used in the U.S. and 'afterwards' is used elsewhere. Personally, I prefer `afterwards` though I'm from the USA.

@user3:
I like to have `Afterwards`.