diff mbox series

[bug#74329,2/2] gnu: Lint descriptions.

Message ID scqqmefa5trtody643fnxjbhpjnncmhskxgcbwakpt3ldehkvn@totouderoyx7
State New
Headers show
Series Extensively lint descriptions and synopses. | expand

Commit Message

Gabriel Wicki Nov. 12, 2024, 8:42 p.m. UTC
From 91cfde3b8e67bd7e783c508447a6880d908bf38f Mon Sep 17 00:00:00 2001
Message-ID: <91cfde3b8e67bd7e783c508447a6880d908bf38f.1731443064.git.gabriel@erlikon.ch>
In-Reply-To: <cover.1731443063.git.gabriel@erlikon.ch>
References: <cover.1731443063.git.gabriel@erlikon.ch>
From: Gabriel Wicki <gabriel@erlikon.ch>
Date: Tue, 5 Nov 2024 23:29:25 +0100
Subject: [PATCH 2/2] gnu: Lint descriptions.

Correct descriptions of a bunch of packages.

Change-Id: Ie13f55fc251b6935ef3404a54559229e4713fcff
---
 gnu/packages/astronomy.scm        |   4 +-
 gnu/packages/audio.scm            |   8 +-
 gnu/packages/autotools.scm        |   6 +-
 gnu/packages/axoloti.scm          |  12 +--
 gnu/packages/bioconductor.scm     |  25 ++++---
 gnu/packages/bioinformatics.scm   |   4 +-
 gnu/packages/calendar.scm         |   2 +-
 gnu/packages/check.scm            |  10 +--
 gnu/packages/chez.scm             |  16 ++--
 gnu/packages/code.scm             |   2 +-
 gnu/packages/compression.scm      |   4 +-
 gnu/packages/connman.scm          |   2 +-
 gnu/packages/cran.scm             |  56 +++++++-------
 gnu/packages/crates-graphics.scm  |  15 ++--
 gnu/packages/crates-io.scm        |  16 ++--
 gnu/packages/crates-web.scm       |   2 +-
 gnu/packages/crypto.scm           |   9 +--
 gnu/packages/databases.scm        |   2 +-
 gnu/packages/display-managers.scm |   2 +-
 gnu/packages/docker.scm           |   2 +-
 gnu/packages/elm.scm              |   2 +-
 gnu/packages/emacs-xyz.scm        | 118 ++++++++++++++---------------
 gnu/packages/emulators.scm        |   2 +-
 gnu/packages/fonts.scm            |   4 +-
 gnu/packages/fpga.scm             |   4 +-
 gnu/packages/freedesktop.scm      |   2 +-
 gnu/packages/game-development.scm |   4 +-
 gnu/packages/games.scm            |   6 +-
 gnu/packages/geo.scm              |   2 +-
 gnu/packages/gnunet.scm           |  10 +--
 gnu/packages/golang-check.scm     |   2 +-
 gnu/packages/golang-web.scm       |   2 +-
 gnu/packages/golang-xyz.scm       |  10 +--
 gnu/packages/golang.scm           |   7 +-
 gnu/packages/guile.scm            |   4 +-
 gnu/packages/haskell-check.scm    |  34 ++++-----
 gnu/packages/haskell-web.scm      |   2 +-
 gnu/packages/haskell-xyz.scm      |  80 +++++++++++---------
 gnu/packages/ibus.scm             |   2 +-
 gnu/packages/image.scm            |   9 ++-
 gnu/packages/ipfs.scm             |   4 +-
 gnu/packages/java-xml.scm         |   6 +-
 gnu/packages/java.scm             |  41 +++++-----
 gnu/packages/kodi.scm             |   7 +-
 gnu/packages/linux.scm            |  23 +++---
 gnu/packages/lisp-xyz.scm         |  16 ++--
 gnu/packages/machine-learning.scm |  24 +++---
 gnu/packages/messaging.scm        |   2 +-
 gnu/packages/minetest.scm         |   2 +-
 gnu/packages/monitoring.scm       |   2 +-
 gnu/packages/music.scm            |  11 ++-
 gnu/packages/node-xyz.scm         |   4 +-
 gnu/packages/ocaml.scm            |   6 +-
 gnu/packages/opencl.scm           |   2 +-
 gnu/packages/perl-check.scm       |   6 +-
 gnu/packages/perl.scm             |  14 ++--
 gnu/packages/python-xyz.scm       |  12 +--
 gnu/packages/qt.scm               |   5 +-
 gnu/packages/radio.scm            |   4 +-
 gnu/packages/rocm.scm             |   6 +-
 gnu/packages/rust-apps.scm        |   2 +-
 gnu/packages/scanner.scm          |  16 ++--
 gnu/packages/search.scm           |   2 +-
 gnu/packages/security-token.scm   |   6 +-
 gnu/packages/shells.scm           |   2 +-
 gnu/packages/shellutils.scm       |   8 +-
 gnu/packages/ssh.scm              |   2 +-
 gnu/packages/statistics.scm       |  14 ++--
 gnu/packages/tcl.scm              |   6 +-
 gnu/packages/tex.scm              | 120 +++++++++++++++---------------
 gnu/packages/text-editors.scm     |   6 +-
 gnu/packages/textutils.scm        |   5 +-
 gnu/packages/tor.scm              |   2 +-
 gnu/packages/xdisorg.scm          |   8 +-
 gnu/packages/xfce.scm             |   4 +-
 gnu/packages/xml.scm              |   7 +-
 gnu/packages/xorg.scm             |   2 +-
 77 files changed, 462 insertions(+), 452 deletions(-)
diff mbox series

Patch

diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index c022f2c7de..9fafe285ed 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -1519,7 +1519,7 @@  (define-public python-ads
     (synopsis "Python client to NASA's Astrophysics Data System")
     (description
      "This package provdies a Python Module to Interact with NASA's
-@acronym{Astrophysics Data System,ADS} that Doesn't Suckā„¢.")
+@acronym{Astrophysics Data System,ADS}.")
     (license license:expat)))
 
 (define-public python-aplpy
@@ -6153,7 +6153,7 @@  (define-public python-tweakwcs
     (description
      "@code{tweakwcs} is a package that provides core algorithms for computing
 and applying corrections to @code{WCS} objects such as to minimize mismatch
-between image and reference catalogs. Currently only aligning images with
+between image and reference catalogs.  Currently only aligning images with
 @code{FITS WCS} and @code{JWST gWCS} are supported.")
     (license license:bsd-3)))
 
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 467dc4a74f..7c3a2fc956 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -5784,12 +5784,12 @@  (define-public ecasound
     (home-page "https://nosignal.fi/ecasound/index.php")
     (synopsis "Multitrack audio processing")
     (description "Ecasound is a software package designed for multitrack audio
-processing. It can be used for simple tasks like audio playback, recording and
+processing.  It can be used for simple tasks like audio playback, recording and
 format conversions, as well as for multitrack effect processing, mixing,
-recording and signal recycling. Ecasound supports a wide range of audio inputs,
-outputs and effect algorithms. Effects and audio objects can be combined in
+recording and signal recycling.  Ecasound supports a wide range of audio inputs,
+outputs and effect algorithms.  Effects and audio objects can be combined in
 various ways, and their parameters can be controlled by operator objects like
-oscillators and MIDI-CCs. A versatile console mode user-interface is included
+oscillators and MIDI-CCs.  A versatile console mode user-interface is included
 in the package.")
     ;; As an exception to the above, the C, C++ and python implementations
     ;; of the Ecasound Control Interface (ECI) are licensed under the LGPL
diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 79d25b59a5..40fe93ab20 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -541,9 +541,9 @@  (define-public config
        (list help2man))
       (home-page "https://savannah.gnu.org/projects/config")
       (synopsis "Ubiquitous config.guess and config.sub scripts")
-      (description "The `config.guess' script tries to guess a canonical system triple,
-and `config.sub' validates and canonicalizes.  These are used as part of
-configuration in nearly all GNU packages (and many others).")
+      (description "The @emph{config.guess} script tries to guess a canonical
+system triple, and @emph{config.sub} validates and canonicalizes.  These are
+used as part of configuration in nearly all GNU packages (and many others).")
       (license gpl2+))))
 
 (define-public libltdl
diff --git a/gnu/packages/axoloti.scm b/gnu/packages/axoloti.scm
index 27e80082f0..591bd72f9b 100644
--- a/gnu/packages/axoloti.scm
+++ b/gnu/packages/axoloti.scm
@@ -758,9 +758,9 @@  (define-public ksoloti-runtime
     (home-page "https://ksoloti.github.io/")
     (synopsis "Audio development environment for the Ksoloti board")
     (description
-     "Ksoloti is an environment for generating and processing digital
-audio. It can be a programmable virtual modular synthesizer, polysynth, drone
-box, sequencer, chord generator, multi effect, sample player, looper, granular
+     "Ksoloti is an environment for generating and processing digital audio.
+It can be a programmable virtual modular synthesizer, polysynth, drone box,
+sequencer, chord generator, multi effect, sample player, looper, granular
 sampler, MIDI generator/processor, CV or trigger generator, anything in
 between, and more.
 
@@ -918,9 +918,9 @@  (define-public ksoloti-patcher
      (list ant zip                      ;for repacking the jar
            unzip))
     (description
-     "Ksoloti is an environment for generating and processing digital
-audio. It can be a programmable virtual modular synthesizer, polysynth, drone
-box, sequencer, chord generator, multi effect, sample player, looper, granular
+     "Ksoloti is an environment for generating and processing digital audio.
+It can be a programmable virtual modular synthesizer, polysynth, drone box,
+sequencer, chord generator, multi effect, sample player, looper, granular
 sampler, MIDI generator/processor, CV or trigger generator, anything in
 between, and more.
 
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 59a291300d..509cab9509 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -18455,7 +18455,7 @@  (define-public r-biosigner
 assess the relevance of the variables for the prediction performances of the
 classifier.  The approach can be run in parallel with the PLS-DA, Random
 Forest, and SVM binary classifiers.  The signatures and the corresponding
-'restricted' models are returned, enabling future predictions on new
+@emph{restricted} models are returned, enabling future predictions on new
 datasets.")
     (license license:cecill)))
 
@@ -22818,17 +22818,18 @@  (define-public r-biocio
     (home-page "https://bioconductor.org/packages/BiocIO")
     (synopsis "Standard input and output for Bioconductor packages")
     (description
-      "This package implements `import()` and `export()` standard generics for
-importing and exporting biological data formats. `import()` supports
-whole-file as well as chunk-wise iterative import.  The `import()` interface
-optionally provides a standard mechanism for 'lazy' access via `filter()` (on
-row or element-like components of the file resource), `select()` (on
-column-like components of the file resource) and `collect()`.  The `import()`
-interface optionally provides transparent access to remote (e.g.  via https)
-as well as local access.  Developers can register a file extension, e.g.,
-`.loom` for dispatch from character-based URIs to specific `import()` /
-`export()` methods based on classes representing file types, e.g.,
-`LoomFile()`.")
+      "This package implements @code{import()} and @code{export()} standard
+generics for importing and exporting biological data formats. @code{import()}
+supports whole-file as well as chunk-wise iterative import.  The
+@code{import()} interface optionally provides a standard mechanism for
+@emph{lazy} access via @code{filter()} (on row or element-like components of
+the file resource), @code{select()} (on column-like components of the file
+resource) and @code{collect()}.  The @code{import()} interface optionally
+provides transparent access to remote (e.g.  via https) as well as local
+access.  Developers can register a file extension, e.g., @code{.loom} for
+dispatch from character-based URIs to specific @code{import()} /
+@code{export()} methods based on classes representing file types, e.g.,
+@code{LoomFile()}.")
     (license license:artistic2.0)))
 
 (define-public r-msmseda
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index a88b1e2077..74ce30afd2 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -6135,7 +6135,7 @@  (define-public trf
 locate and display tandem repeats in DNA sequences.  In order to use the
 program, the user submits a sequence in FASTA format.  The output consists of
 two files: a repeat table file and an alignment file.  Submitted sequences may
-be of arbitrary length. Repeats with pattern size in the range from 1 to 2000
+be of arbitrary length.  Repeats with pattern size in the range from 1 to 2000
 bases are detected.")
     (license license:agpl3+)))
 
@@ -19500,7 +19500,7 @@  (define-public ghc-int-interval-map
 memory (each interval is represented by about 3 words + whatever the
 cargo is) and has semantics that are appropriate for genomic intervals
 (namely, intervals can overlap and queries will return all matches
-together). It also designed to be used in two phases: a construction
+together).  It also designed to be used in two phases: a construction
 phase + query phase).")
       (license license:expat))))
 
diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index 6717db867f..63d4ee6a62 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -220,7 +220,7 @@  (define-public khal
     (description "Khal is a standards based console calendar program,
 able to synchronize with CalDAV servers through vdirsyncer.  It includes
 both a @acronym{CLI, command-line interface} and a @acronym{TUI, textual user
-interface} named 'ikhal'.")
+interface} named @command{ikhal}.")
     (home-page "https://lostpackets.de/khal/")
     (license license:expat)))
 
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 6593eadf6a..1303ffdafb 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2701,11 +2701,11 @@  (define-public python-pytest-subtesthack
     (propagated-inputs
      (list python-pytest))
     (synopsis "Set-up and tear-down fixtures for unit tests")
-    (description "This plugin allows you to set up and tear down fixtures within
-unit test functions that use @code{py.test}. This is useful for using
-@command{hypothesis} inside py.test, as @command{hypothesis} will call the test
-function multiple times, without setting up or tearing down fixture state as is
-normally the case.")
+    (description "This plugin allows you to set up and tear down fixtures
+within unit test functions that use @code{py.test}.  This is useful for using
+@command{hypothesis} inside py.test, as @command{hypothesis} will call the
+test function multiple times, without setting up or tearing down fixture state
+as is normally the case.")
     (home-page "https://github.com/untitaker/pytest-subtesthack/")
     (license license:unlicense)))
 
diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index a24e8aaf79..4ea02e3613 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -540,7 +540,7 @@  (define-public chez-scheme
     (synopsis "R6RS Scheme compiler and run-time")
     (description
      "Chez Scheme is both a programming language and a high-performance
-implementation of that language. The language is a superset of R6RS Scheme
+implementation of that language.  The language is a superset of R6RS Scheme
 with numerous extensions, including native threads, non-blocking I/O, local
 modules, and much more.  Chez Scheme compiles source expressions incrementally
 to machine code, providing the speed of compiled code in an interactive
@@ -680,15 +680,15 @@  (define-public chez-scheme-bootstrap-bootfiles
     (home-page "https://cisco.github.io/ChezScheme/")
     (synopsis "Bootstrapped Chez Scheme boot files")
     (description
-     "Chez Scheme is a self-hosting compiler: building it requires
-``boot files'' containing the Scheme-implemented portions compiled for the
-current platform.  (Chez can then cross-compile bootfiles for all other
-supported platforms.)
+     "Chez Scheme is a self-hosting compiler: building it requires ``boot
+files'' containing the Scheme-implemented portions compiled for the current
+platform.  (Chez can then cross-compile bootfiles for all other supported
+platforms.)
 
 This package provides boot files for the released version of Chez Scheme
-bootstrapped by @code{chez-scheme-for-racket}. Chez Scheme 9.5.4 or any later
-version can be used for bootstrapping. Guix ultimately uses the Racket package
-@code{cs-bootstrap} to bootstrap its initial version of Chez Scheme.")
+bootstrapped by @code{chez-scheme-for-racket}.  Chez Scheme 9.5.4 or any later
+version can be used for bootstrapping.  Guix ultimately uses the Racket
+package @code{cs-bootstrap} to bootstrap its initial version of Chez Scheme.")
     (license asl2.0)))
 
 ;;
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index 04ca4dfd6b..a9c2074511 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -1044,7 +1044,7 @@  (define-public cscope
     (home-page "https://cscope.sourceforge.net")
     (synopsis "Tool for browsing source code")
     (description
-     "Cscope is a text screen based source browsing tool. Although it is
+     "Cscope is a text screen based source browsing tool.  Although it is
 primarily designed to search C code (including lex and yacc files), it can
 also be used for C++ code.
 
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 7627717db6..48eea0701b 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -2772,8 +2772,8 @@  (define-public c-blosc
     (home-page "https://blosc.org")
     (synopsis "Blocking, shuffling and lossless compression library")
     (description
-     "Blosc is a high performance compressor optimized for binary data. It has
-been designed to transmit data to the processor cache faster than the
+     "Blosc is a high performance compressor optimized for binary data.  It
+has been designed to transmit data to the processor cache faster than the
 traditional, non-compressed, direct memory fetch approach via a
 @code{memcpy()} system call.  Blosc is meant not only to reduce the size of
 large datasets on-disk or in-memory, but also to accelerate memory-bound
diff --git a/gnu/packages/connman.scm b/gnu/packages/connman.scm
index a13b6d199e..bc6328926a 100644
--- a/gnu/packages/connman.scm
+++ b/gnu/packages/connman.scm
@@ -107,7 +107,7 @@  (define-public connman
     (synopsis "Connection management daemon")
     (description "Connman provides a daemon for managing Internet connections.
 The Connection Manager is designed to be slim and to use as few resources as
-possible. It is fully modular system that can be extended through plug-ins.
+possible.  It is fully modular system that can be extended through plug-ins.
 The plug-in approach allows for easy adaption and modification for various use
 cases.  Connman implements DNS resolving and caching, DHCP clients for both
 IPv4 and IPv6, link-local IPv4 address handling and tethering (IP connection
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index c93df13675..6d8b60c639 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -25506,8 +25506,8 @@  (define-public r-hapassoc
     (synopsis "Inference of trait associations with SNP haplotypes")
     (description
      "Hapassoc performs likelihood inference of trait associations with
-haplotypes and other covariates in @dfn{generalized linear models} (GLMs). The
-functions are developed primarily for data collected in cohort or
+haplotypes and other covariates in @dfn{generalized linear models} (GLMs).
+The functions are developed primarily for data collected in cohort or
 cross-sectional studies.  They can accommodate uncertain haplotype phase and
 handle missing genotypes at some SNPs.")
     (license license:gpl2)))
@@ -28615,9 +28615,9 @@  (define-public r-systemfonts
     (description
      "This package provides system native access to the font catalogue.  As
 font handling varies between systems it is difficult to correctly locate
-installed fonts across different operating systems.  The 'systemfonts' package
-provides bindings to the native libraries for finding font files that can then
-be used further by e.g. graphic devices.")
+installed fonts across different operating systems.  The @emph{systemfonts}
+package provides bindings to the native libraries for finding font files that
+can then be used further by e.g. graphic devices.")
     (license license:expat)))
 
 (define-public r-graphlayouts
@@ -34195,7 +34195,7 @@  (define-public r-rstan
 and analyze Stan models by accessing the header-only Stan library provided by
 the StanHeaders package.  The Stan project develops a probabilistic
 programming language that implements full Bayesian statistical inference via
-Markov Chain Monte Carlo, rough Bayesian inference via 'variational'
+Markov Chain Monte Carlo, rough Bayesian inference via @emph{variational}
 approximation, and (optionally penalized) maximum likelihood estimation via
 optimization.  In all three cases, automatic differentiation is used to
 quickly and accurately evaluate gradients without burdening the user with the
@@ -35283,17 +35283,18 @@  (define-public r-brms
      "Bayesian Regression Models using 'Stan'")
     (description
      "Fit Bayesian generalized (non-)linear multivariate multilevel models
-using 'Stan' for full Bayesian inference. A wide range of distributions and
-link functions are supported, allowing users to fit -- among others -- linear,
-robust linear, count data, survival, response times, ordinal, zero-inflated,
-hurdle, and even self-defined mixture models all in a multilevel context.
-Further modeling options include non-linear and smooth terms, auto-correlation
-structures, censored data, meta-analytic standard errors, and quite a few
-more. In addition, all parameters of the response distribution can be
-predicted in order to perform distributional regression. Prior specifications
-are flexible and explicitly encourage users to apply prior distributions that
-actually reflect their beliefs. Model fit can easily be assessed and compared
-with posterior predictive checks and leave-one-out cross-validation.")
+using @emph{Stan} for full Bayesian inference. A wide range of distributions
+and link functions are supported, allowing users to fit -- among others --
+linear, robust linear, count data, survival, response times, ordinal,
+zero-inflated, hurdle, and even self-defined mixture models all in a
+multilevel context.  Further modeling options include non-linear and smooth
+terms, auto-correlation structures, censored data, meta-analytic standard
+errors, and quite a few more. In addition, all parameters of the response
+distribution can be predicted in order to perform distributional
+regression. Prior specifications are flexible and explicitly encourage users
+to apply prior distributions that actually reflect their beliefs. Model fit
+can easily be assessed and compared with posterior predictive checks and
+leave-one-out cross-validation.")
     (license license:gpl2)))
 
 (define-public r-mstate
@@ -35921,9 +35922,9 @@  (define-public r-iml
 @item Feature importance described by Fisher et al. (2018),
 @item accumulated local effects plots described by Apley (2018),
 @item partial dependence plots described by Friedman (2001),
-@item individual conditional expectation ('ice') plots described by Goldstein
+@item individual conditional expectation (@emph{ice}) plots described by Goldstein
   et al. (2013) @url{https://doi.org/10.1080/10618600.2014.907095},
-@item local models (variant of 'lime') described by Ribeiro et. al (2016),
+@item local models (variant of @emph{lime}) described by Ribeiro et. al (2016),
 @item the Shapley Value described by Strumbelj et. al (2014)
   @url{https://doi.org/10.1007/s10115-013-0679-x},
 @item feature interactions described by Friedman et. al
@@ -36971,10 +36972,10 @@  (define-public r-survminer
     (synopsis "Drawing survival curves using ggplot2")
     (description
      "This package contains the function @code{ggsurvplot()} for easily
-drawing beautiful and 'ready-to-publish' survival curves with the 'number at
-risk' table and 'censoring count plot'.  Other functions are also available to
-plot adjusted curves for Cox model and to visually examine Cox model
-assumptions.")
+drawing beautiful and @emph{ready-to-publish} survival curves with the
+@emph{number at risk} table and @emph{censoring count plot}.  Other functions
+are also available to plot adjusted curves for Cox model and to visually
+examine Cox model assumptions.")
     (license license:gpl2)))
 
 (define-public r-forge
@@ -38804,10 +38805,9 @@  (define-public r-lpme
       "https://cran.r-project.org/web/packages/lpme/")
     (synopsis "Nonparametric Estimation of Measurement Error Models")
     (description
-      "Provide nonparametric methods for mean regression model,
-modal regression and conditional density estimation in the
-presence/absence of measurement error. Bandwidth selection is
-also provided for each method.")
+      "Provide nonparametric methods for mean regression model, modal
+regression and conditional density estimation in the presence/absence of
+measurement error.  Bandwidth selection is also provided for each method.")
     (license license:gpl2+)))
 
 (define-public r-aws-signature
@@ -38831,7 +38831,7 @@  (define-public r-aws-signature
      "This package generates version 2 and 4 request signatures for Amazon Web
 Services (AWS) and provides a mechanism for retrieving credentials from
 environment variables, AWS credentials files, and EC2 instance metadata.  For
-use on EC2 instances, the package 'aws.ec2metadata' is suggested.")
+use on EC2 instances, the package @emph{aws.ec2metadata} is suggested.")
     (license license:gpl2+)))
 
 (define-public r-aws-s3
diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm
index 42ba239bf5..e0b37b07fa 100644
--- a/gnu/packages/crates-graphics.scm
+++ b/gnu/packages/crates-graphics.scm
@@ -455,8 +455,8 @@  (define-public rust-avif-serialize-0.8
     (description
      "This package provides a minimal writer for AVIF header structure.  This
 is a tiny alternative to @code{libavif}.  It creates the jungle of
-MPEG/HEIF/MIAF/ISO-BMFF ``boxes'' as appropriate for AVIF files.  It supports
-alpha channel embedding.")
+MPEG/HEIF/MIAF/ISO-BMFF @emph{boxes} as appropriate for AVIF files.  It
+supports alpha channel embedding.")
     (license license:bsd-3)))
 
 (define-public rust-avif-serialize-0.7
@@ -5208,14 +5208,13 @@  (define-public rust-winit-0.29
     (home-page "https://github.com/rust-windowing/winit")
     (synopsis "Window creation library")
     (description
-     "Winit is a window creation and management library. It can create
-windows and lets you handle events (for example: the window being
-resized, a key being pressed, a mouse movement, etc.) produced by
-window.
+     "Winit is a window creation and management library.  It can create
+windows and lets you handle events (for example: the window being resized, a
+key being pressed, a mouse movement, etc.) produced by window.
 
 Winit is designed to be a low-level brick in a hierarchy of libraries.
-Consequently, in order to show something on the window you need to use
-the platform-specific getters provided by winit, or another library.")
+Consequently, in order to show something on the window you need to use the
+platform-specific getters provided by winit, or another library.")
     (license license:asl2.0)))
 
 (define-public rust-winit-0.28
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 654667359d..509c3b52d9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2847,7 +2847,7 @@  (define-public rust-arr-macro-0.1
         ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))))
     (home-page "https://github.com/JoshMcguigan/arr_macro")
     (synopsis "Initialize arrays with ease")
-    (description "Array macro helps initialize arrays. It is useful when
+    (description "Array macro helps initialize arrays.  It is useful when
 initializing large arrays (greater than 32 elements), or arrays of types which
 do not implement the copy or default traits.")
     (license (list license:expat license:asl2.0))))
@@ -5448,7 +5448,7 @@  (define-public rust-async-process-1
      "This crate is an async version of @code{std::process}.  A background
 thread named @code{async-process} is lazily created on first use, which waits
 for spawned child processes to exit and then calls the @code{wait()} syscall
-to clean up the ``zombie'' processes.
+to clean up the @emph{zombie} processes.
 
 This is unlike the process API in the standard library, where dropping
 a running Child leaks its resources.")
@@ -12151,7 +12151,7 @@  (define-public rust-chan-0.1
        #:cargo-inputs (("rust-rand" ,rust-rand-0.3))))
     (home-page "https://github.com/BurntSushi/chan")
     (synopsis "DEPRECATED. Use crossbeam-channel instead")
-    (description "DEPRECATED. Use crossbeam-channel instead.")
+    (description "DEPRECATED.  Use crossbeam-channel instead.")
     (license (list license:unlicense license:expat))))
 
 (define-public rust-chalk-derive-0.75
@@ -35273,8 +35273,8 @@  (define-public rust-is-debug-1
     (build-system cargo-build-system)
     (arguments `(#:skip-build? #t))
     (home-page "https://github.com/baoyachi/rust_is_debug")
-    (description "get build model is debug")
     (synopsis "Get build model is debug")
+    (description "Get build model is debug.")
     (license (list license:expat license:asl2.0))))
 
 (define-public rust-is-docker-0.2
@@ -42998,8 +42998,8 @@  (define-public rust-minimal-lexical-0.2
     (home-page "https://github.com/Alexhuszagh/minimal-lexical")
     (synopsis "Float parsing conversion routines")
     (description "This is a minimal version of rust-lexical, meant to allow
-efficient round-trip float parsing. Minimal-lexical implements a correct, fast
-float parser.")
+efficient round-trip float parsing.  Minimal-lexical implements a correct,
+fast float parser.")
     (license (list license:expat license:asl2.0))))
 
 (define-public rust-minimp3-0.5
@@ -74940,8 +74940,8 @@  (define-public rust-stringprep-0.1
     (home-page "https://github.com/sfackler/rust-stringprep")
     (synopsis "Implementation of the ``stringprep'' algorithm")
     (description
-     "This package provides an implementation of the ``stringprep'' algorithm
-as defined in RFC 3454.")
+     "This package provides an implementation of the @emph{stringprep}
+algorithm as defined in RFC 3454.")
     (license (list license:expat license:asl2.0))))
 
 (define-public rust-strip-ansi-escapes-0.2
diff --git a/gnu/packages/crates-web.scm b/gnu/packages/crates-web.scm
index 6b1e6928e1..5a30f2e3b4 100644
--- a/gnu/packages/crates-web.scm
+++ b/gnu/packages/crates-web.scm
@@ -2956,7 +2956,7 @@  (define-public rust-hickory-recursor-0.24
     (synopsis
      "Hickory DNS Recursor is a DNS recursive resolver with DNSSEC support")
     (description
-     "*WARNING* This library is experimental
+     "@emph{WARNING} This library is experimental
 
 Hickory DNS Recursor is a safe and secure DNS recursive resolver with DNSSEC
 support.  Hickory DNS is based on the Tokio and Futures libraries, which means
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 2a298c4caf..4088944b92 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -1664,11 +1664,10 @@  (define-public libxcrypt
     (synopsis
      "Extended crypt library for descrypt, md5crypt, bcrypt, and others")
     (description
-     "libxcrypt is a modern library for one-way hashing of
-passwords. It supports a wide variety of both modern and historical
-hashing methods: yescrypt, gost-yescrypt, scrypt, bcrypt, sha512crypt,
-sha256crypt, md5crypt, SunMD5, sha1crypt, NT, bsdicrypt, bigcrypt, and
-descrypt.")
+     "libxcrypt is a modern library for one-way hashing of passwords.  It
+supports a wide variety of both modern and historical hashing methods:
+yescrypt, gost-yescrypt, scrypt, bcrypt, sha512crypt, sha256crypt, md5crypt,
+SunMD5, sha1crypt, NT, bsdicrypt, bigcrypt, and descrypt.")
     (home-page "https://github.com/besser82/libxcrypt")
     (license license:lgpl2.1)))
 
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 06158f19e7..4779c238d8 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -2932,7 +2932,7 @@  (define-public guile-wiredtiger
      (list guile2.2-bytestructures))
     (synopsis "WiredTiger bindings for GNU Guile")
     (description
-     "This package provides Guile bindings to the WiredTiger ``NoSQL''
+     "This package provides Guile bindings to the WiredTiger @emph{NoSQL}
 database.")
     (home-page "https://framagit.org/a-guile-mind/guile-wiredtiger")
     (license license:gpl3+)))
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index 5152eb6479..c2b3ffdb37 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -190,7 +190,7 @@  (define-public abstractdark-sddm-theme
       (synopsis "Abstract Dark theme for SDDM")
       (description
        "This package provides a minimalistic dark theme for SDDM, black
-background with abstract shapes. Inspired by solarized-sddm-theme.")
+background with abstract shapes.  Inspired by solarized-sddm-theme.")
       (license license:gpl3+))))
 
 (define-public dexy-color-sddm-theme
diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index b49dc58bd0..a10ab3d1d0 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -800,7 +800,7 @@  (define-public docker-registry
     (home-page "https://github.com/docker/distribution")
     (synopsis "Docker registry server and associated tools")
     (description "The Docker registry server enable you to host your own
-docker registry. With it, there is also two other utilities:
+docker registry.  With it, there is also two other utilities:
 @itemize
 @item The digest utility is a tool that generates checksums compatibles with
 various docker manifest files.
diff --git a/gnu/packages/elm.scm b/gnu/packages/elm.scm
index a74d294ae5..6bad22e154 100644
--- a/gnu/packages/elm.scm
+++ b/gnu/packages/elm.scm
@@ -775,7 +775,7 @@  (define-public elm-terezka-intervals
     (description
      "This package provides an Elm library for producing nice intervals for
 charts.  It's useful in combination with @code{terezka/elm-charts}.  When I
-say ``nice'', I just mean that I try to calculate intervals which begin with
+say \"nice\", I just mean that I try to calculate intervals which begin with
 10, 5, 3, 2, or 1 (adjusted to magnitude, of course!).  For dates, I try to
 hit whole days, weeks, and months or hours, minutes, and seconds.")
     (license license:bsd-3)))
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 620363fd31..ceaf424a6f 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -449,7 +449,7 @@  (define-public emacs-bookmark-plus
     (synopsis "Extensions to the Bookmark library in Emacs")
     (description
      "Bookmarks are a powerful Emacs feature.  This package makes them even
-more versatile. You can bookmark many more kinds of data.  You can add tags.
+more versatile.  You can bookmark many more kinds of data.  You can add tags.
 There are many more ways to organize and display your bookmarks.  I recommend
 reading the extensive documentation about BookmarkPlus on the Emacs Wiki.")
     (license license:gpl3+)))
@@ -3385,9 +3385,10 @@  (define-public emacs-xah-fly-keys
       (home-page "http://xahlee.info/emacs/misc/ergoemacs_vi_mode.html")
       (synopsis "Modal keybinding system for Emacs, based on command frequency and
 ergonomics")
-      (description "xah-fly-keys.el is a modal editing mode for Emacs, like Vi,
-but the design of key/command choice is based on command frequency statistics
-and ease-of-key score.  Most frequently used commands have most easy keys.")
+      (description "@emph{xah-fly-keys.el} is a modal editing mode for Emacs,
+like Vi, but the design of key/command choice is based on command frequency
+statistics and ease-of-key score.  Most frequently used commands have most
+easy keys.")
       (license license:gpl3))))
 
 (define-public emacs-xr
@@ -4618,7 +4619,7 @@  (define-public emacs-dhall-mode
       (synopsis "Major mode for working with Dhall configuration language")
       (description
        "Dhall-mode provides an Emacs Major mode for working with the Dhall
-configuration language. It features:
+configuration language.  It features:
 
 @itemize
 @item Syntax highlighting
@@ -4723,10 +4724,10 @@  (define-public emacs-aio
      (list emacs-elfeed emacs-skewer-mode))
     (home-page "https://github.com/skeeto/emacs-aio")
     (synopsis "Async/Await for Emacs Lisp")
-    (description "@code{aio} is to Emacs Lisp as @code{asyncio} is to
-Python. This package builds upon Emacs generators to provide functions that
-pause while they wait on asynchronous events.  They do not block any thread
-while paused.")
+    (description "@code{aio} is to Emacs Lisp as @code{asyncio} is to Python.
+This package builds upon Emacs generators to provide functions that pause
+while they wait on asynchronous events.  They do not block any thread while
+paused.")
     (license license:unlicense)))
 
 (define-public emacs-async
@@ -6623,11 +6624,11 @@  (define-public emacs-ligature
       (home-page "https://github.com/mickeynp/ligature.el")
       (synopsis "Typographic ligatures in Emacs")
       (description
-       "This package maps ordinary graphemes (characters) to fancy
-ligatures, if both your version of Emacs and the font supports it.  With this
-package you can control where Emacs must display ligatures. That is useful if
-you only want a subset of the ligatures in certain major modes, for instance,
-or if you want to ensure that some modes have no ligatures at all.")
+       "This package maps ordinary graphemes (characters) to fancy ligatures,
+if both your version of Emacs and the font supports it.  With this package you
+can control where Emacs must display ligatures.  That is useful if you only
+want a subset of the ligatures in certain major modes, for instance, or if you
+want to ensure that some modes have no ligatures at all.")
       (license license:gpl3+))))
 
 (define-public emacs-olivetti
@@ -7284,7 +7285,7 @@  (define-public emacs-gdscript-mode
     (synopsis "GDScript support and syntax highlighting in Emacs")
     (description
      "This package adds support for the GDScript programming language from the
-Godot game engine in Emacs. It features all the essentials, e.g., syntax
+Godot game engine in Emacs.  It features all the essentials, e.g., syntax
 highlighting, code folding, indentation, automatic pairing, auto-completion,
 and code formatting.")
     (license license:gpl3+)))
@@ -9677,7 +9678,7 @@  (define-public emacs-ob-asymptote
      "This package provides Org Babel support for evaluating Asymptote source
 code.  This differs from most standard languages in that:
 @itemize
-@item there is no such thing as a ``session'' in Asymptote,
+@item there is no such thing as a @emph{session} in Asymptote,
 @item we are generally only going to return results of type @code{file},
 @item we are adding the @code{file} and @code{cmdline} header arguments, if
 file is omitted then the @samp{-V} option is passed to the @command{asy}
@@ -13991,8 +13992,8 @@  (define-public emacs-swiper
 The search regex can be split into groups with a space.  Each group is
 highlighted with a different face.
 
-It can double as a quick `regex-builder', although only single lines will be
-matched.")
+It can double as a quick @code{regex-builder}, although only single lines will
+be matched.")
     (license license:gpl3+)))
 
 (define-public emacs-ivy-xref
@@ -15444,7 +15445,7 @@  (define-public emacs-elfeed-goodies
         emacs-link-hint))
       (home-page "https://github.com/jeetelongname/elfeed-goodies")
       (synopsis
-       "Various bits and pieces to enhance the Elfeed user experience.")
+       "Various bits and pieces to enhance the Elfeed user experience")
       (description
        "This package enhances the vanilla Elfeed user experience with:
 @itemize @bullet
@@ -15603,7 +15604,7 @@  (define-public emacs-el-x
              #t)))))
     (home-page "https://github.com/sigma/el-x")
     (synopsis "Emacs Lisp extensions")
-    (description "command@{emacs-el-x} defines the @code{dflet} macro to
+    (description "@command{emacs-el-x} defines the @code{dflet} macro to
 provide the historic behavior of @code{flet}, as well as
 @code{declare-function} stub for older Emacs.")
     (license license:gpl2+)))
@@ -15627,11 +15628,11 @@  (define-public emacs-epithet
       (home-page "https://github.com/oantolin/epithet")
       (synopsis "Rename Emacs buffers with descriptive names")
       (description
-       "This package provides a function---@code{epithet-rename-buffer}---to rename
-the current buffer with a descriptive name. The name suggestion is governed by
-the @code{epithet-suggesters} hook variable: each hook should return either a
-name suggestion or @code{nil}, they are called in turn and the first non-nil
-suggestion is taken.")
+       "This package provides a function---@code{epithet-rename-buffer}---to
+rename the current buffer with a descriptive name.  The name suggestion is
+governed by the @code{epithet-suggesters} hook variable: each hook should
+return either a name suggestion or @code{nil}, they are called in turn and the
+first non-nil suggestion is taken.")
       (license license:gpl3+))))
 
 (define-public emacs-eterm-256color
@@ -15827,8 +15828,8 @@  (define-public emacs-pyvenv
      (list emacs-ert-runner emacs-mocker))
     (home-page "https://github.com/jorgenschaefer/pyvenv")
     (synopsis "Python virtual environment interface for Emacs")
-    (description "pyvenv.el is a minor mode to support using Python virtual
-environments (virtualenv) inside Emacs.")
+    (description "@emph{pyvenv.el} is a minor mode to support using Python
+virtual environments (virtualenv) inside Emacs.")
     (license license:gpl3+)))
 
 (define-public emacs-highlight-indent-guides
@@ -18174,7 +18175,7 @@  (define-public emacs-flx
      "Flx provides fuzzy matching for emacs a la sublime text.
 The sorting algorithm is a balance between word beginnings (abbreviation)
 and contiguous matches (substring).  The longer the substring match,
-the higher it scores. This maps well to how we think about matching.
+the higher it scores.  This maps well to how we think about matching.
 Flx has support for ido (interactively do things) through flx-ido.")
     (license license:gpl3+)))
 
@@ -18673,7 +18674,7 @@  (define-public emacs-beframe
       (description
        "Beframe enables a frame-oriented Emacs workflow where each frame has
 access to the list of buffers visited therein.  In the interest of brevity, we
-call buffers that belong to frames ``beframed''.  Producing multiple frames
+call buffers that belong to frames \"beframed\".  Producing multiple frames
 does not generate multiple buffer lists.  There still is only one global list
 of buffers.  Beframing them simply filters the list.")
       (license (list license:gpl3+
@@ -18720,7 +18721,7 @@  (define-public emacs-gnosis
     (synopsis "Spaced repetition system for GNU Emacs")
     (description
      "Gnosis is a spaced repetition system for note-taking and self-testing
-where notes are formatted as Question/Answer/Explanation. Notes are reviewed
+where notes are formatted as Question/Answer/Explanation.  Notes are reviewed
 at spaced intervals based on the success or failure in recalling the answer to
 each question.")
     (license license:gpl3+)))
@@ -22387,10 +22388,10 @@  (define-public emacs-envrc
     (description
      "This is library which uses Direnv to set environment variables on
 a per-buffer basis.  This means that when you work across multiple projects
-which have @file{.envrc} files, all processes launched from the buffers ``in''
-those projects will be executed with the environment variables specified in
-those files.  This allows different versions of linters and other tools to be
-used in each project if desired.")
+which have @file{.envrc} files, all processes launched from the buffers
+@emph{in} those projects will be executed with the environment variables
+specified in those files.  This allows different versions of linters and other
+tools to be used in each project if desired.")
     (license license:gpl3+)))
 
 (define-public emacs-prop-menu
@@ -25122,16 +25123,15 @@  (define-public emacs-citar-org-roam
     (propagated-inputs (list emacs-citar emacs-org-roam))
     (home-page "https://github.com/emacs-citar/citar-org-roam")
     (synopsis "Emacs package to provide tighter Citar and Org-Roam integration")
-    (description "\
-Out-of-box, Citar provides default support for file-per-note bibliographic
-notes that are compatible with Org-Roam v2.  This package integrates directly
-with the Org-Roam database, and provides the following additional features to
-Citar note support:
+    (description "Out-of-box, Citar provides default support for file-per-note
+bibliographic notes that are compatible with Org-Roam v2.  This package
+integrates directly with the Org-Roam database, and provides the following
+additional features to Citar note support:
 @itemize
 @item multiple references per note
 @item multiple reference notes per file
 @item ability to query note citations by reference
-@item ``live'' updating of Citar UI for presence of notes
+@item \"live\" updating of Citar UI for presence of notes
 @end itemize")
     (license license:gpl3+)))
 
@@ -25939,7 +25939,7 @@  (define-public emacs-kind-icon
     (home-page "https://github.com/jdtsmith/kind-icon")
     (synopsis "Completion kind icons in Emacs")
     (description "Kind-icon mode adds a colorful icon or text prefix based on
-@code{:company-kind} for compatible completion UIs.  The ``kind'' prefix is
+@code{:company-kind} for compatible completion UIs.  The @code{kind} prefix is
 typically used for differentiating completion candidates such as variables or
 functions.")
     (license license:gpl3+)))
@@ -26940,7 +26940,7 @@  (define-public emacs-vcsh
     (home-page "https://gitlab.com/stepnem/vcsh-el")
     (synopsis "Emacs VCSH integration")
     (description
-     "This library provides basic ``enter'' functionality and a few
+     "This library provides basic @code{enter} functionality and a few
 convenience commands to initialize a @acronym{VCSH, Version Control System for
 $HOME} repository and add files to it.  It can be used in conjunction with
 Magit.")
@@ -30193,7 +30193,7 @@  (define-public emacs-org-web-tools
 for retrieving web page content and processing it into Org mode content.
 
 For example, you can copy a URL to the clipboard or kill-ring, then run
-a command that downloads the page, isolates the ``readable'' content with
+a command that downloads the page, isolates the @emph{readable} content with
 @command{eww-readable}, converts it to Org mode content with Pandoc, and
 displays it in an Org mode buffer.  Another command does all of that but
 inserts it as an Org entry instead of displaying it in a new buffer.")
@@ -33813,7 +33813,7 @@  (define-public emacs-org-drill-table
       (synopsis "Generate Org drill cards using Org mode tables")
       (description
        "This package generates drill cards based on an Org mode table in the
-current subtree.  The cards are inserted under a new ``Cards'' heading in the
+current subtree.  The cards are inserted under a new @emph{Cards} heading in the
 current tree.")
       (license license:gpl3+))))
 
@@ -34580,20 +34580,20 @@  (define-public emacs-nhexl-mode
 
 This minor mode implements similar functionality to @command{hexl-mode},
 but using a different implementation technique, which makes it
-usable as a \"plain\" minor mode.  It works on any buffer, and does
+usable as a @emph{plain} minor mode.  It works on any buffer, and does
 not mess with the undo log or with the major mode.
 
 It also comes with:
 
 @itemize
-@item @command{nhexl-nibble-edit-mode}: a \"nibble editor\" minor mode, where
-the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys
-(which only work for hex-digits) will only modify the nibble under point.
+@item @command{nhexl-nibble-edit-mode}: a @emph{nibble editor} minor mode,
+where the cursor pretends to advance by nibbles (4-bit) and the self-insertion
+keys (which only work for hex-digits) will only modify the nibble under point.
 @item @command{nhexl-overwrite-only-mode}: a minor mode to try and avoid
 moving text.  In this minor mode, not only self-inserting keys overwrite
-existing text, but commands like `yank' and @command{kill-region} as well.
-@item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4
-C-f} to advance by #xa4 characters.
+existing text, but commands like @command{yank} and @command{kill-region} as
+well.  @item It overrides @code{C-u} to use hexadecimal, so you can do
+@code{C-u a 4 C-f} to advance by #xa4 characters.
 @end itemize")
     (license license:gpl3+)))
 
@@ -38716,8 +38716,8 @@  (define-public emacs-trashed
     (synopsis "View and edit system trash can in Emacs")
     (description "Open, view, browse, restore or permanently delete trashed
 files or directories in trash can with Dired-like look and feel.  The trash
-can has to be compliant with freedesktop.org. In Emacs, you can trash files by
-deleting them with @code{(setq delete-by-moving-to-trash t)}.  This package
+can has to be compliant with freedesktop.org.  In Emacs, you can trash files
+by deleting them with @code{(setq delete-by-moving-to-trash t)}.  This package
 provides a simple but convenient user interface to manage those trashed
 files.")
     (license license:gpl3+)))
@@ -39990,9 +39990,9 @@  (define-public emacs-ivy-hydra
     (home-page "https://github.com/abo-abo/swiper")
     (synopsis "Additional key bindings for Ivy")
     (description
-     "This package provides the `hydra-ivy/body' command, which is a
-quasi-prefix map, with many useful bindings.  These bindings are
-shorter than usual, using mostly unprefixed keys.")
+     "This package provides the @command{hydra-ivy/body} command, which is a
+quasi-prefix map, with many useful bindings.  These bindings are shorter than
+usual, using mostly unprefixed keys.")
     (license license:gpl3+)))
 
 (define-public emacs-cwl-mode
@@ -40468,7 +40468,7 @@  (define-public emacs-citre
     (synopsis "Ctags IDE on Emacs")
     (description
      "Citre is an advanced Ctags (or actually, readtags) frontend for
-Emacs. It offers Completion At Point, Xref and Imenu integration.  It also
+Emacs.  It offers Completion At Point, Xref and Imenu integration.  It also
 provides a Completing Read UI for jumping to definition and a powerful code
 reading tool that lets you go down the rabbit hole without leaving current
 buffer.")
@@ -41395,8 +41395,8 @@  (define-public emacs-waveform
       (home-page "https://github.com/sachac/waveform-el/")
       (synopsis "Display a waveform and use it to navigate")
       (description
-       "This package displays a waveform of a sound file. You can then play or
-navigate through it.")
+       "This package displays a waveform of a sound file.  You can then play
+or navigate through it.")
       (license license:gpl3+))))
 
 (define-public emacs-project-x
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index f0a60c0b49..4bdd0ae9d6 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -3672,7 +3672,7 @@  (define-public ppsspp
     (home-page "https://www.ppsspp.org/")
     (synopsis "PSP emulator")
     (description
-     "PPSSPP is a ``high-level'' emulator simulating the PSP operating
+     "PPSSPP is a @emph{high-level} emulator simulating the PSP operating
 system.")
     (license license:gpl2+)))
 
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 65232db3b8..ade214b739 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -3300,8 +3300,8 @@  (define-public font-bravura
 the W3C Standard Music Font Layout (SMuFL).  Bravura draws on the heritage of
 the finest European music engraving of the 19th and early 20th centuries, with
 a bolder and more substantial look than most other music fonts: thin strokes
-are slightly thicker than in other fonts, improving the overall ``blackness''
-of the font and its legibility when read at a distance.
+are slightly thicker than in other fonts, improving the overall
+@emph{blackness} of the font and its legibility when read at a distance.
 
 In addition to Bravura itself, which is for use with music notation
 software (such as MuseScore), the family includes a Bravura Text variant
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index c812ed3b7e..7920fe86e5 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -556,10 +556,10 @@  (define-public verilator
     (synopsis "Fast Verilog/SystemVerilog simulator")
     (description
      "Verilator is invoked with parameters similar to GCC or Synopsysā€™s VCS.
-It ``Verilates'' the specified Verilog or SystemVerilog code by reading it,
+It @emph{verilates} the specified Verilog or SystemVerilog code by reading it,
 performing lint checks, and optionally inserting assertion checks and
 coverage-analysis points.  It outputs single- or multi-threaded @file{.cpp}
-and @file{.h} files, the ``Verilated'' code.
+and @file{.h} files, the @emph{verilated} code.
 
 The user writes a little C++/SystemC wrapper file, which instantiates the
 Verilated model of the userā€™s top level module.  These C++/SystemC files are
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 0ab0bb5104..3a723a9ab6 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -2504,7 +2504,7 @@  (define-public xdg-user-dirs
     (home-page "https://www.freedesktop.org/wiki/Software/xdg-user-dirs/")
     (synopsis "Tool to help manage \"well known\" user directories")
     (description "xdg-user-dirs is a tool to help manage \"well known\" user
-directories, such as the desktop folder or the music folder. It also handles
+directories, such as the desktop folder or the music folder.  It also handles
 localization (i.e. translation) of the file names.  Designed to be
 automatically run when a user logs in, xdg-user-dirs can also be run
 manually by a user.")
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index ee869c9cc5..8782e05381 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -288,7 +288,7 @@  (define-public deutex
    (home-page "https://github.com/Doom-Utils/deutex")
    (synopsis "WAD file composer for Doom and related games")
    (description
-    "DeuTex is a wad composer for Doom, Heretic, Hexen and Strife. It can be
+    "DeuTex is a wad composer for Doom, Heretic, Hexen and Strife.  It can be
 used to extract the lumps of a wad and save them as individual files.
 Conversely, it can also build a wad from separate files.  When extracting a
 lump to a file, it does not just copy the raw data, it converts it to an
@@ -353,7 +353,7 @@  (define-public grfcodec
       (synopsis "GRF development tools")
       (description
        "The @dfn{Graphics Resource File} (GRF) development tools are a set of
-tools for developing (New)GRFs. It includes a number of smaller programs, each
+tools for developing (New)GRFs.  It includes a number of smaller programs, each
 with a specific task:
 @enumerate
 @item @code{grfcodec} decodes and encodes GRF files for OpenTTD.
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index c40a574c3b..54257c7126 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -7118,7 +7118,7 @@  (define-public chroma
      (list pkg-config))
     (home-page "http://level7.org.uk/chroma/")
     (synopsis "Abstract puzzle game")
-    (description "Chroma is an abstract puzzle game. A variety of colourful
+    (description "Chroma is an abstract puzzle game.  A variety of colourful
 shapes are arranged in a series of increasingly complex patterns, forming
 fiendish traps that must be disarmed and mysterious puzzles that must be
 manipulated in order to give up their subtle secrets.  Initially so
@@ -11415,8 +11415,8 @@  (define-public passage
      "Passage is meant to be a memento mori game.  It presents an entire life,
 from young adulthood through old age and death, in the span of five minutes.
 Of course, it's a game, not a painting or a film, so the choices that you make
-as the player are crucial.  There's no ``right'' way to play Passage, just as
-there's no right way to interpret it.")
+as the player are crucial.  There's no @emph{right} way to play Passage, just
+as there's no right way to interpret it.")
     (license license:public-domain)))
 
 (define-public paperview
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index affa50c515..77e8cf59b8 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -2017,7 +2017,7 @@  (define-public xygrib
      "XyGrib is a Grib file reader and visualizes meteorological data providing
 an off-line capability to analyse weather forecasts or hindcasts.  It is
 intended to be used as a capable weather work station for anyone with a serious
-interest in examining weather. This would include members of the sailing
+interest in examining weather.  This would include members of the sailing
 community, private and sport aviators, farmers, weather buffs and many more.
 XyGrib is the continuation of the zyGrib software package with a new team of
 volunteers.")
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index cf731f3fcc..ede16f8901 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -351,11 +351,11 @@  (define-public gnunet-scheme
                          guile-quickcheck)) ;for tests
     (synopsis "Guile implementation of GNUnet client libraries")
     (description
-     "This package provides Guile modules for connecting to various
-GNUnet services. It also has infrastructure for writing new GNUnet services and
-connecting to them and can be used from multi-threaded environments.  It is not
-to be confused with @code{guile-gnunet} -- @code{guile-gnunet} supports a different
-set of services.
+     "This package provides Guile modules for connecting to various GNUnet
+services.  It also has infrastructure for writing new GNUnet services and
+connecting to them and can be used from multi-threaded environments.  It is
+not to be confused with @code{guile-gnunet} -- @code{guile-gnunet} supports a
+different set of services.
 
 The following services are supported:
 
diff --git a/gnu/packages/golang-check.scm b/gnu/packages/golang-check.scm
index 3ebb8f20a5..8888e6d3e7 100644
--- a/gnu/packages/golang-check.scm
+++ b/gnu/packages/golang-check.scm
@@ -1077,7 +1077,7 @@  (define-public go-github.com-smartystreets-goconvey
      (list go-github-com-jtolds-gls go-github.com-smartystreets-assertions))
     (home-page "https://github.com/smartystreets/goconvey")
     (synopsis "Go testing tool with both a web and terminal user interface")
-    (description "GoConvey is a testing tool for Go. It integrates with go
+    (description "GoConvey is a testing tool for Go.  It integrates with go
 test, can show test coverage and has a web user interface that will refresh
 automatically.")
     (license license:expat)))
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 931d926e57..bf2726326a 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -2659,7 +2659,7 @@  (define-public go-github-com-jsimonetti-rtnetlink
     (synopsis "Low-level access to the Linux rtnetlink API")
     (description
      "This package allows the kernel's routing tables to be read and
-altered. Network routes, IP addresses, Link parameters, Neighbor
+altered.  Network routes, IP addresses, Link parameters, Neighbor
 setups,Queueing disciplines, Traffic classes and Packet classifiers may all be
 controlled.  It is based on netlink messages.")
     (license license:expat)))
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index f8584359c4..dbca5404db 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -1597,9 +1597,9 @@  (define-public go-github-com-containerd-cgroups
     (synopsis "Cgroups for Golang")
     (description
      "This package implements a functinoality for creating, managing,
-inspecting, and destroying cgroups. The resources format for settings on the
+inspecting, and destroying cgroups.  The resources format for settings on the
 cgroup uses the OCI runtime-spec found
-@url{https://github.com/opencontainers/runtime-spec,here}.")
+@url{https://github.com/opencontainers/runtime-spec, here}.")
     (license license:asl2.0)))
 
 (define-public go-github-com-containerd-fifo
@@ -6263,7 +6263,7 @@  (define-public go-github-com-songmu-gitconfig
     (home-page "https://github.com/songmu/gitconfig")
     (synopsis "Go library to get configuration values from gitconfig")
     (description
-     "@{gitconfig} is a package to get configuration values from gitconfig.")
+     "@emph{gitconfig} is a package to get configuration values from gitconfig.")
     (license license:expat)))
 
 (define-public go-github-com-soniakeys-quant
@@ -7729,7 +7729,7 @@  (define-public go-tomlv
       #:unpack-path "github.com/BurntSushi/toml"))
     (description
      (string-append (package-description go-github-com-burntsushi-toml)
-                    " This package provides an command line interface (CLI)
+                    "  This package provides an command line interface (CLI)
 tool."))))
 
 (define-public go-ulid
@@ -7745,7 +7745,7 @@  (define-public go-ulid
      (list go-github-com-pborman-getopt))
     (description
      (string-append (package-description go-github-com-oklog-ulid)
-                    " This package provides an command line interface (CLI)
+                    "  This package provides an command line interface (CLI)
 tool."))))
 
 ;;;
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 7dbafd9bcb..9513b1d69d 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -7828,10 +7828,9 @@  (define-public go-sigs-k8s-io-yaml
     (description
      "This package provides a Go library that first converts YAML to JSON
 using @code{go-yaml} and then uses @code{json.Marshal} and
-@code{json.Unmarshal} to convert to or from the struct. This means that
-it effectively reuses the JSON struct tags as well as the custom JSON
-methods @code{MarshalJSON} and @code{UnmarshalJSON} unlike
-@code{go-yaml}.
+@code{json.Unmarshal} to convert to or from the struct.  This means that it
+effectively reuses the JSON struct tags as well as the custom JSON methods
+@code{MarshalJSON} and @code{UnmarshalJSON} unlike @code{go-yaml}.
 
 kubernetes-sigs/yaml is a permanent fork of
 @url{https://github.com/ghodss/yaml,ghodss/yaml}.")
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 8dabbb2c5e..d7ad4bf7d2 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -994,8 +994,8 @@  (define-public guile-zstd
     (inputs (list `(,zstd "lib") guile-3.0))
     (synopsis "GNU Guile bindings to the zstd compression library")
     (description
-     "This package provides a GNU Guile interface to the zstd (``zstandard'')
-compression library.")
+     "This package provides a GNU Guile interface to the zstd
+(@emph{zstandard}) compression library.")
     (license license:gpl3+)))
 
 (define-public guile-lzma
diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm
index 6f6ac3fd08..44da569bfa 100644
--- a/gnu/packages/haskell-check.scm
+++ b/gnu/packages/haskell-check.scm
@@ -355,7 +355,7 @@  (define-public ghc-tasty-expected-failure
     (description
      "With the function @code{Test.Tasty.ExpectedFailure.expectFail} in the
 provided module @code{Test.Tasty.ExpectedFailure}, you can mark that you
-expect test cases to fail, and not to pass. This can be used for test-driven
+expect test cases to fail, and not to pass.  This can be used for test-driven
 development.")
     (license license:expat)))
 
@@ -1069,21 +1069,19 @@  (define-public ghc-quickcheck-classes-base
     (home-page "https://github.com/andrewthad/quickcheck-classes#readme")
     (synopsis "QuickCheck common typeclasses from `base`")
     (description
-      "This library is a minimal variant of `quickcheck-classes`
-that only provides laws for typeclasses from `base`. The main
-purpose of splitting this out is so that `primitive` can depend
-on `quickcheck-classes-base` in its test suite, avoiding the
-circular dependency that arises if `quickcheck-classes` is used
-instead. . This library provides QuickCheck properties to ensure
-that typeclass instances adhere to the set of laws that they are
-supposed to. There are other libraries that do similar things,
-such as `genvalidity-hspec` and `checkers`. This library differs
-from other solutions by not introducing any new typeclasses that
-the user needs to learn. . /Note:/ on GHC < 8.5, this library
-uses the higher-kinded typeclasses ('Data.Functor.Classes.Show1',
-'Data.Functor.Classes.Eq1', 'Data.Functor.Classes.Ord1', etc.),
-but on GHC >= 8.5, it uses `-XQuantifiedConstraints` to express
-these constraints more cleanly.")
+      "This library is a minimal variant of `quickcheck-classes` that only
+provides laws for typeclasses from `base`.  The main purpose of splitting this
+out is so that `primitive` can depend on `quickcheck-classes-base` in its test
+suite, avoiding the circular dependency that arises if `quickcheck-classes` is
+used instead.  This library provides QuickCheck properties to ensure that
+typeclass instances adhere to the set of laws that they are supposed to.
+There are other libraries that do similar things, such as `genvalidity-hspec`
+and `checkers`.  This library differs from other solutions by not introducing
+any new typeclasses that the user needs to learn.  @emph{Note:} on GHC < 8.5,
+this library uses the higher-kinded typeclasses
+(@code{Data.Functor.Classes.Show1}, @code{Data.Functor.Classes.Eq1},
+@code{Data.Functor.Classes.Ord1}, etc.), but on GHC >= 8.5, it uses
+`-XQuantifiedConstraints` to express these constraints more cleanly.")
     (license license:bsd-3)))
 
 (define-public ghc-doctest-lib
@@ -1101,7 +1099,7 @@  (define-public ghc-doctest-lib
     (home-page "https://hub.darcs.net/thielema/doctest-lib/")
     (synopsis "Parts of doctest exposed as library")
     (description
-      "Parts of doctest exposed as library. For use with the doctest-extract utility.")
+      "Parts of doctest exposed as library.  For use with the doctest-extract utility.")
     (license license:expat)))
 
 (define-public ghc-doctest-exitcode-stdio
@@ -1157,7 +1155,7 @@  (define-public ghc-tasty-silver
      "This package provides a fancy test runner and support for @dfn{golden
 testing}.  A golden test is an IO action that writes its result to a file.  To
 pass the test, this output file should be identical to the corresponding
-``golden'' file, which contains the correct result for the test.  The test
+@emph{golden} file, which contains the correct result for the test.  The test
 runner allows filtering tests using regexes, and to interactively inspect the
 result of golden tests.")
     (license license:expat)))
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 540b167b7a..f211c870a3 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -1508,7 +1508,7 @@  (define-public ghc-hxt-unicode
     (description
      "This package provides Unicode encoding and decoding functions for
 encodings used in the Haskell XML Toolbox.  ISO Latin 1-16, utf8, utf16, ASCII
-are supported. Decoding is done with lazy functions, errors may be detected or
+are supported.  Decoding is done with lazy functions, errors may be detected or
 ignored.")
     (license license:expat)))
 
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index c91639cc93..482b3d23c4 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -4404,7 +4404,7 @@  (define-public ghc-fsnotify
     (home-page "https://github.com/haskell-fswatch/hfsnotify")
     (synopsis "Cross platform library for file change notification")
     (description "Cross platform library for file creation, modification, and
-deletion notification. This library builds upon existing libraries for platform
+deletion notification.  This library builds upon existing libraries for platform
 specific Windows, Mac, and Linux file system event notification.")
     (license license:bsd-3)))
 
@@ -4745,10 +4745,10 @@  (define-public ghc-gtk2hs-buildtools
     (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
     (description
      "This package provides a set of helper programs necessary to build the
-Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
+Gtk2Hs suite of libraries.  These tools include a modified c2hs binding tool
 that is used to generate FFI declarations, a tool to build a type hierarchy
 that mirrors the C type hierarchy of GObjects found in glib, and a generator
-for signal declarations that are used to call back from C to Haskell. These
+for signal declarations that are used to call back from C to Haskell.  These
 tools are not needed to actually run Gtk2Hs programs.")
     (license license:gpl2)))
 
@@ -5792,7 +5792,7 @@  (define-public ghc-hsyaml
 representation (including support for cyclic YAML data structures).
 
 @item Support for the standard (untyped) @emph{Failsafe}, (strict)
-@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
+@emph{JSON}, and (flexible) @emph{Core} @code{schemas} providing implicit
 typing rules as defined in the YAML 1.2 specification (including support
 for user-defined custom schemas).
 
@@ -8277,7 +8277,7 @@  (define-public ghc-operational
      "Implementation of difficult monads made easy with operational semantics")
     (description
      "This library makes it easy to implement monads with tricky control
-flow. This is useful for: writing web applications in a sequential style,
+flow.  This is useful for: writing web applications in a sequential style,
 programming games with a uniform interface for human and AI players and easy
 replay capababilities, implementing fast parser monads, designing monadic
 DSLs, etc.")
@@ -10278,9 +10278,9 @@  (define-public ghc-regex-tdfa
     (home-page "https://wiki.haskell.org/Regular_expressions")
     (synopsis "POSIX extended regular expressions in Haskell")
     (description
-     "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
-extended regular expressions.  It is a \"tagged\" DFA regex engine. It is
-inspired by libtre.")
+     "Regex-tdfa is a pure Haskell regular expression library implementing
+POSIX extended regular expressions.  It is a @emph{tagged} DFA regex engine.
+It is inspired by libtre.")
     (license license:bsd-3)))
 
 (define-public ghc-repline
@@ -10481,7 +10481,7 @@  (define-public ghc-rio
      "This package works as a prelude replacement for Haskell,
 providing more functionality and types out of the box than the standard
 prelude (such as common data types like @code{ByteString} and
-@code{Text}), as well as removing common ``gotchas'', like partial
+@code{Text}), as well as removing common @emph{gotchas}, like partial
 functions and lazy I/O.  The guiding principle here is:
 @itemize
 @item If something is safe to use in general and has no expected naming
@@ -13670,7 +13670,7 @@  (define-public ghc-unsafe
     (home-page "https://hackage.haskell.org/package/unsafe")
     (synopsis "Unified interface to unsafe functions")
     (description "Safe Haskell introduced the notion of safe and unsafe
-modules.  In order to make as many as possible modules ``safe'', the
+modules.  In order to make as many as possible modules @emph{safe}, the
 well-known unsafe functions were moved to distinguished modules.  This
 makes it hard to write packages that work with both old and new versions
 of GHC.  This package provides a single module System.Unsafe that
@@ -15104,7 +15104,7 @@  (define-public ghc-commonmark
 
 Accurate information about source positions is available for all block and
 inline elements.  Thus the library can be used to create an accurate syntax
-highlighter or an editor with live preview. The parser has been designed for
+highlighter or an editor with live preview.  The parser has been designed for
 robust performance even in pathological cases that tend to cause stack
 overflows or exponential slowdowns in other parsers, with parsing speed that
 varies linearly with input length.")
@@ -15218,7 +15218,7 @@  (define-public ghc-template-haskell
     (synopsis "Support library for Template Haskell")
     (description
      "This package provides modules containing facilities for manipulating
-Haskell source code using Template Haskell. See
+Haskell source code using Template Haskell.  See
 @uref{http://www.haskell.org/haskellwiki/Template_Haskell} for more
 information.")
     (license license:bsd-3)))
@@ -15366,7 +15366,7 @@  (define-public ghc-mysql
 most of the MySQL client API.  The major departure from the C API is that in
 Haskell, resource management is mostly automatic and safe.
 
-This library deliberately avoids the question of providing a ``good'' API.
+This library deliberately avoids the question of providing a @emph{good} API.
 Its purpose is to serve as a base upon which higher-level libraries can be
 built.")
     (license license:bsd-3)))
@@ -16128,8 +16128,8 @@  (define-public ghc-witherable
     (home-page "https://github.com/fumieval/witherable")
     (synopsis "Filterable traversable")
     (description
-     "This package provides a stronger variant of `traverse` which can remove elements
-and generalised mapMaybe, catMaybes, filter")
+     "This package provides a stronger variant of @code{traverse} which can
+remove elements and generalised mapMaybe, catMaybes, filter")
     (license license:bsd-3)))
 
 (define-public ghc-hspec-discover
@@ -16238,22 +16238,28 @@  (define-public ghc-random-bytestring
     (home-page "https://www.github.com/larskuhtz/random-bytestring")
     (synopsis "Efficient generation of random bytestrings")
     (description
-     "__This package is deprecated__.  Please, use genByteString from the [random
-package (version >=1.2)](https://hackage.haskell.org/package/random) instead. .
-Efficient generation of random bytestrings.  The implementation populates
-uninitialized memory with uniformily distributed random 64 bit words (and 8 bit
-words for remaining bytes at the end of the bytestring). .  Random words are
-generated using the PRNG from the
-[mwc-random](https://hackage.haskell.org/package/mwc-random) package or the
-[pcg-random](https://hackage.haskell.org/package/pcg-random) package.  It is
-also possible to use a custom PRNG by providing an instance for the RandomWords
-type class and using the function generate from the module
-\"Data.ByteString.Random.Internal\". .  The generated byte strings are suitable
-for statistical applications.  They are /not/ suitable for cryptographic
-applications. .
-![benchmarks](https://hackage.haskell.org/package/random-bytestring-0.1.3.2/src/benchmarks.png)
-. ![detailed
-benchmarks](https://hackage.haskell.org/package/random-bytestring-0.1.3.2/src/benchmarks-details.png)")
+     "@emph{This package is deprecated}.  Please, use genByteString from the
+@url{https://hackage.haskell.org/package/random, random package (version >=1.2)]}
+instead.  Efficient generation of random bytestrings.  The implementation
+populates uninitialized memory with uniformily distributed random 64 bit words
+(and 8 bit words for remaining bytes at the end of the bytestring).  Random
+words are generated using the PRNG from the @url{https://hackage.haskell.org/package/mwc-random, mwc-random} package or the
+@url{https://hackage.haskell.org/package/pcg-random, pcg-random} package.  It is
+also possible to use a custom PRNG by providing an instance for the
+RandomWords type class and using the function generate from the module
+@code{Data.ByteString.Random.Internal}.  The generated byte strings are suitable
+for statistical applications.  They are @emph{not} suitable for cryptographic
+applications.
+@itemize
+
+@item
+@url{https://hackage.haskell.org/package/random-bytestring-0.1.3.2/src/benchmarks.png,
+benchmarks}
+
+@item
+@url{https://hackage.haskell.org/package/random-bytestring-0.1.3.2/src/benchmarks-details.png,
+detailed benchmarks}
+@end itemize")
     (license license:expat)))
 
 (define-public ghc-base64
@@ -16300,8 +16306,9 @@  (define-public ghc-ordered-containers
     (build-system haskell-build-system)
     (properties '((upstream-name . "ordered-containers")))
     (home-page "https://hackage.haskell.org/package/ordered-containers")
-    (description "")
     (synopsis "Haskell types")
+    (description "Set- and Map-like types that remember the order elements
+were inserted")
     (license license:bsd-3)))
 
 (define-public ghc-cabal-syntax
@@ -16565,7 +16572,7 @@  (define-public ghc-should-not-typecheck
     (native-inputs (list ghc-hspec ghc-hspec-expectations))
     (home-page "https://github.com/CRogers/should-not-typecheck")
     (synopsis
-     "A HUnit/hspec assertion library to verify that an expression does not typecheck")
+     "HUnit/hspec assertion library to verify that an expression does not typecheck")
     (description
      "For examples and an introduction to the library please take a look at the
 <https://github.com/CRogers/should-not-typecheck#should-not-typecheck- README>
@@ -16756,9 +16763,10 @@  (define-public ghc-boring
     (home-page "https://github.com/phadej/boring")
     (synopsis "Boring and Absurd types")
     (description
-     "* @@Boring@@ types are isomorphic to @@()@@. . * @@Absurd@@ types are isomorphic
-to @@Void@@. .  See [What does () mean in Haskell -answer by Conor
-McBride](https://stackoverflow.com/questions/33112439/what-does-mean-in-haskell/33115522#33115522)")
+     "@itemize
+@item @code{Boring} types are isomorphic to @code{()}.
+@item @code{Absurd} types are isomorphic to @code{Void}.
+@end itemize")
     (license license:bsd-3)))
 
 (define-public ghc-some
diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm
index 0dfce29ea3..a1b54c0605 100644
--- a/gnu/packages/ibus.scm
+++ b/gnu/packages/ibus.scm
@@ -972,7 +972,7 @@  (define-public ibus-libhangul
     (home-page "https://github.com/libhangul/ibus-hangul")
     (synopsis "Hangul engine for IBus")
     (description
-     "ibus-hangul is a Korean input method engine for IBus.")
+     "Korean input method engine for IBus.")
     (license gpl2+)))
 
 (define-public ibus-table
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 7337a27b88..84ccc91a44 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -1738,10 +1738,11 @@  (define-public steghide
     (home-page "https://steghide.sourceforge.net")
     (synopsis "`Hide' (nonconfidential) data in image or audio files")
     (description
-     "Steghide is a program to `hide' data in various kinds of image and audio
-files.  This practice is known as @dfn{steganography}, but the method used by
-steghide is not very secure and should not be used where security is at stake.
-Even if a password is used, steghide offers little plausible deniability.
+     "Steghide is a program to @emph{hide} data in various kinds of image and
+audio files.  This practice is known as @dfn{steganography}, but the method
+used by steghide is not very secure and should not be used where security is
+at stake.  Even if a password is used, steghide offers little plausible
+deniability.
 
 Nonetheless, neither color nor sample frequencies are changed, making the
 embedding resistant against first-order statistical tests not aimed
diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm
index a1c6834390..4b79a6f736 100644
--- a/gnu/packages/ipfs.scm
+++ b/gnu/packages/ipfs.scm
@@ -117,8 +117,8 @@  (define-public go-github-com-ipfs-go-block-format
     (synopsis "Set of interfaces for CID addressable blocks of data")
     (description
      "Package @code{blocks} contains the lowest level of @acronym{IPLD,
-InterPlanetary Linked Data} data structures. A block is raw data accompanied
-by a @acronym{Content Identifiers,CID}. The CID contains the multihash
+InterPlanetary Linked Data} data structures.  A block is raw data accompanied
+by a @acronym{Content Identifiers,CID}.  The CID contains the multihash
 corresponding to the block.")
     (license license:expat)))
 
diff --git a/gnu/packages/java-xml.scm b/gnu/packages/java-xml.scm
index 9ec11fa83e..d3d8124bbd 100644
--- a/gnu/packages/java-xml.scm
+++ b/gnu/packages/java-xml.scm
@@ -548,9 +548,9 @@  (define-public java-kxml2
      (list java-junit))
     (home-page "http://kxml.org")
     (synopsis "XML pull parser")
-    (description "kXML is a small XML pull parser, specially designed for
-constrained environments such as Applets, Personal Java or devices compliant
-with the Mobile Information Device Profile (MIDP).")
+    (description "@emph{kXML} is a small XML pull parser, specially designed
+for constrained environments such as Applets, Personal Java or devices
+compliant with the Mobile Information Device Profile (MIDP).")
     (license license:expat)))
 
 (define-public java-stax
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 4c28659241..74fa01be3f 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -13239,9 +13239,9 @@  (define-public java-jsch-agentproxy-core
        #:tests? #f)); no tests
     (home-page "https://github.com/ymnk/jsch-agent-proxy")
     (synopsis "Core component of the proxy to ssh-agent and Pageant in Java")
-    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
-and Pageant included Putty.  It will be easily integrated into JSch, and users
-will be allowed to use these programs for authentication.")
+    (description "@emph{jsch-agent-proxy} is a proxy program to OpenSSH's
+ssh-agent and Pageant included Putty.  It will be easily integrated into JSch,
+and users will be allowed to use these programs for authentication.")
     (license license:bsd-3)))
 
 (define-public java-jsch-agentproxy-sshagent
@@ -13255,9 +13255,9 @@  (define-public java-jsch-agentproxy-sshagent
     (inputs
      (list java-jsch-agentproxy-core))
     (synopsis "Proxy to ssh-agent")
-    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
-and Pageant included in Putty. This component contains the code for a proxy to
-ssh-agent.")))
+    (description "@emph{jsch-agent-proxy} is a proxy program to OpenSSH's
+ssh-agent and Pageant included in Putty.  This component contains the code for
+a proxy to ssh-agent.")))
 
 (define-public java-jsch-agentproxy-usocket-jna
   (package
@@ -13270,9 +13270,9 @@  (define-public java-jsch-agentproxy-usocket-jna
     (inputs
      (list java-jsch-agentproxy-core java-native-access))
     (synopsis "USocketFactory implementation using JNA")
-    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
-and Pageant included in Putty. This component contains an implementation of
-USocketFactory using @dfn{JNA} (Java Native Access).")))
+    (description "@emph{jsch-agent-proxy} is a proxy program to OpenSSH's
+ssh-agent and Pageant included in Putty.  This component contains an
+implementation of USocketFactory using @dfn{JNA} (Java Native Access).")))
 
 (define-public java-jsch-agentproxy-pageant
   (package
@@ -13286,9 +13286,9 @@  (define-public java-jsch-agentproxy-pageant
      (list java-jsch-agentproxy-core java-native-access
            java-native-access-platform))
     (synopsis "Proxy to pageant")
-    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
-and Pageant included in Putty. This component contains the code for a proxy to
-pageant.")))
+    (description "@emph{jsch-agent-proxy} is a proxy program to OpenSSH's
+ssh-agent and Pageant included in Putty.  This component contains the code for
+a proxy to pageant.")))
 
 (define-public java-jsch-agentproxy-usocket-nc
   (package
@@ -13301,9 +13301,9 @@  (define-public java-jsch-agentproxy-usocket-nc
     (inputs
      (list java-jsch-agentproxy-core))
     (synopsis "USocketFactory implementation using netcat")
-    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
-and Pageant included in Putty. This component contains an implementation of
-USocketFactory using netcat.")))
+    (description "@emph{jsch-agent-proxy} is a proxy program to OpenSSH's
+ssh-agent and Pageant included in Putty.  This component contains an
+implementation of USocketFactory using netcat.")))
 
 (define-public java-jsch-agentproxy-connector-factory
   (package
@@ -13318,8 +13318,9 @@  (define-public java-jsch-agentproxy-connector-factory
            java-jsch-agentproxy-usocket-jna java-jsch-agentproxy-pageant
            java-jsch-agentproxy-usocket-nc))
     (synopsis "Connector factory for jsch agent proxy")
-    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
-and Pageant included in Putty. This component contains a connector factory.")))
+    (description "@emph{jsch-agent-proxy} is a proxy program to OpenSSH's
+ssh-agent and Pageant included in Putty.  This component contains a connector
+factory.")))
 
 (define-public java-jsch-agentproxy-jsch
   (package
@@ -13332,9 +13333,9 @@  (define-public java-jsch-agentproxy-jsch
     (inputs
      (list java-jsch java-jsch-agentproxy-core))
     (synopsis "JSch integration library for agentproxy")
-    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
-and Pageant included in Putty. This component contains a library to use
-jsch-agent-proxy with JSch.")))
+    (description "@emph{jsch-agent-proxy} is a proxy program to OpenSSH's
+ssh-agent and Pageant included in Putty.  This component contains a library to
+use jsch-agent-proxy with JSch.")))
 
 (define-public java-apache-ivy
   (package
diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm
index 432da7d3d5..589fb386ab 100644
--- a/gnu/packages/kodi.scm
+++ b/gnu/packages/kodi.scm
@@ -268,9 +268,10 @@  (define-public fstrcmp
     (synopsis "Fuzzy comparison of strings")
     (description
      "The fstrcmp project provides a library that is used to make fuzzy
-comparisons of strings and byte arrays, including multi-byte character strings.
-This can be useful in error messages, enabling the suggestion of likely valid
-alternatives. In compilers, this can reduce the cascade of secondary errors.")
+comparisons of strings and byte arrays, including multi-byte character
+strings.  This can be useful in error messages, enabling the suggestion of
+likely valid alternatives.  In compilers, this can reduce the cascade of
+secondary errors.")
     (license license:gpl3+)))
 
 (define-public kodi
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index b4d72a8db5..66b92f246a 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1696,9 +1696,10 @@  (define-public tuxedo-keyboard
      "This package provides the @code{tuxedo_keyboard}, @code{tuxedo_io},
 @code{clevo_wmi} @acronym{WMI, Windows Management Engine} and the
 @code{clevo_acpi} @acronym{ACPI, Advanced Configuration and Power Interface}
-kernel modules to control the keyboard on most Tuxedo computers. Only white
-backlight only models are currently not supported. The @code{tuxedo_io} module
-is also needed for the @code{tuxedo-control-center} (short tcc) package.")
+kernel modules to control the keyboard on most Tuxedo computers.  Only white
+backlight only models are currently not supported.  The @code{tuxedo_io}
+module is also needed for the @code{tuxedo-control-center} (short tcc)
+package.")
     (license license:gpl3+)))
 
 (define-public evdi
@@ -1762,7 +1763,7 @@  (define-public libevdi
     (description
      "Libevdi is a library that gives applications easy access to
 @acronym{EVDI, Extensible Virtual Display Interface} devices provided by the
-@code{evdi} driver package.  ")
+@code{evdi} driver package.")
     (license license:lgpl2.1)))
 
 (define-public ec
@@ -2582,7 +2583,7 @@  (define-public dwarves
 it can be used to further format a number of records.
 
 Finally, the @command{btfdiff} command can be used to compare the output of
-pahole from BTF and DWARF, to make sure they produce the same results. ")
+pahole from BTF and DWARF, to make sure they produce the same results.")
     (license license:gpl2+)))
 
 (define-public fbset
@@ -6703,7 +6704,7 @@  (define-public f2fs-fsck/static
     (home-page (package-home-page f2fs-tools/static))
     (synopsis "Statically-linked fsck.f2fs command from f2fs-tools")
     (description "This package provides statically-linked fsck.f2fs command taken
-from the f2fs-tools package. It is meant to be used in initrds.")
+from the f2fs-tools package.  It is meant to be used in initrds.")
     (license (package-license f2fs-tools/static))))
 
 (define-public freefall
@@ -7166,9 +7167,9 @@  (define-public perftest
      (list autoconf automake libtool))
     (inputs (list pciutils rdma-core))
     (synopsis "Open Fabrics Enterprise Distribution (OFED) Performance Tests")
-    (description "This is a collection of tests written over uverbs intended for
-use as a performance micro-benchmark. The tests may be used for hardware or
-software tuning as well as for functional testing.
+    (description "This is a collection of tests written over uverbs intended
+for use as a performance micro-benchmark.  The tests may be used for hardware
+or software tuning as well as for functional testing.
 
 The collection contains a set of bandwidth and latency benchmark such as:
 @enumerate
@@ -8532,8 +8533,8 @@  (define-public libnetfilter-cthelper
     (native-inputs (list pkg-config))
     (inputs (list libmnl))
     (synopsis "Library for user-space connection tracking helpers")
-    (description "libnetfilter_cthelper is a userspace library that provides a
-programming interface to user-space connection tracking helpers.
+    (description "@emph{libnetfilter_cthelper} is a userspace library that
+provides a programming interface to user-space connection tracking helpers.
 @enumerate
 @item
 register new user-space connection tracking helpers
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index decbe2590b..bd7a73a6d4 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -3805,7 +3805,7 @@  (define-public sbcl-circular-streams
      (synopsis "Circularly readable streams for Common Lisp")
      (description
       "Circular-Streams allows you to read streams circularly by wrapping real
-streams. Once you reach end-of-file of a stream, it's file position will be
+streams.  Once you reach end-of-file of a stream, its file position will be
 reset to 0 and you're able to read it again.")
      (license license:llgpl))))
 
@@ -5924,7 +5924,7 @@  (define-public sbcl-cl-geometry
        "This is a system for two dimensional computational geometry for Common Lisp.
 
 Note: the system assumes exact rational arithmetic, so no floating point
-coordinates are allowed. This is not checked when creating geometric
+coordinates are allowed.  This is not checked when creating geometric
 objects.")
       ;; The .asd says BSD-style but the LICENSE.txt is expat.
       (license license:expat))))
@@ -6263,8 +6263,8 @@  (define-public sbcl-cl-grnm
       (description
        "These common lisp sources contain two variants of the Nelder-Mead
 algorithm.  The original algorithm and a provably convergent, reliable variant
-by A. BĆ¼rmen et al, called the
-@acronym{GRNMA, Grid Restrained Nelder Mead Algorithm}.")
+by A. BĆ¼rmen et al, called the @acronym{GRNMA, Grid Restrained Nelder Mead
+Algorithm}.")
       (home-page "https://github.com/quil-lang/cl-grnm")
       (license license:expat))))
 
@@ -22275,7 +22275,7 @@  (define-public sbcl-nasdf
 
 @itemize
 @item Simple way to fetch Git submodules and ā€œdo the right thingā€ for
-setup. This may effectively supersede Quicklisp. A benefit of using Git
+setup.  This may effectively supersede Quicklisp.  A benefit of using Git
 submodules over the default Quicklisp distribution is improved
 reproducibility.
 @item Test helpers, like distinction between offline and online tests, or
@@ -26701,7 +26701,7 @@  (define-public sbcl-sdl2kit
       (synopsis "Utility kit for CL-SDL2")
       (description
        "This is a utility kit for @code{cl-sdl2} that provides something similar to
-GLUT. However, it's also geared at being useful for \"real\" applications or
+GLUT.  However, it's also geared at being useful for \"real\" applications or
 games.")
       (license license:expat))))
 
@@ -27657,12 +27657,12 @@  (define-public emacs-slite
     (synopsis "SLIme-based TEst runner for FiveAM and Parachute Tests")
     (description
      "Slite interactively runs your Common Lisp tests (currently only FiveAM
-and Parachute are supported). It allows you to see the summary of test
+and Parachute are supported).  It allows you to see the summary of test
 failures, jump to test definitions, rerun tests with debugger all from inside
 Emacs.
 
 In order to work, this also requires the slite Common Lisp system to be
-present. See the code@{*cl-slite packages}.")))
+present.  See the code@{*cl-slite packages}.")))
 
 (define-public sbcl-slot-extra-options
   (let ((commit "29517d980325cd63744f1acf4cfe5c8ccec2b318"))
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 988fac3b63..956a62748c 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -5800,18 +5800,18 @@  (define-public vosk-api
       (inputs (list kaldi openfst openblas))
       (home-page "https://alphacephei.com/vosk")
       (synopsis "Speech recognition toolkit based on @code{kaldi}")
-      (description "\
-This package provides a speech recognition toolkit based on @code{kaldi}.  It
-supports more than 20 languages and dialects - English, Indian English,
-German, French, Spanish, Portuguese, Chinese, Russian, Turkish, Vietnamese,
-Italian, Dutch, Catalan, Arabic, Greek, Farsi, Filipino, Ukrainian, Kazakh,
-Swedish, Japanese, Esperanto, Hindi, Czech, Polish. The program works offline,
-even on lightweight devices.  Portable per-language models are about 50Mb each,
-and there are much bigger and precise models available.
-
-Vosk API provides a streaming API allowing to use it `on-the-fly' and bindings
-for different programming languages.  It allows quick reconfiguration of
-vocabulary for better accuracy, and supports speaker identification beside
+      (description "This package provides a speech recognition toolkit based
+on @code{kaldi}.  It supports more than 20 languages and dialects - English,
+Indian English, German, French, Spanish, Portuguese, Chinese, Russian,
+Turkish, Vietnamese, Italian, Dutch, Catalan, Arabic, Greek, Farsi, Filipino,
+Ukrainian, Kazakh, Swedish, Japanese, Esperanto, Hindi, Czech, Polish.  The
+program works offline, even on lightweight devices.  Portable per-language
+models are about 50Mb each, and there are much bigger and precise models
+available.
+
+Vosk API provides a streaming API allowing to use it @emph{on-the-fly} and
+bindings for different programming languages.  It allows quick reconfiguration
+of vocabulary for better accuracy, and supports speaker identification beside
 simple speech recognition.")
       (license license:asl2.0))))
 
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 8cbe98d613..89487ae155 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -214,7 +214,7 @@  (define-public biboumi
    (home-page "https://biboumi.louiz.org")
    (synopsis "XMPP gateway that connects to IRC")
    (description "Biboumi is a Free, Libre and Open Source XMPP gateway that connects to IRC
-servers and translates between the two protocols. Its goal is to let XMPP
+servers and translates between the two protocols.  Its goal is to let XMPP
 users take part in IRC discussions, using their favourite XMPP client.")
    (license license:zlib)))
 
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 2552596ef8..318aeb2257 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -811,7 +811,7 @@  (define-public minetest-basic-trains
      "http://advtrains.de/wiki/doku.php?id=usage:trains:basic_trains")
     (synopsis "Collection of basic trains for the Advanced Trains mod")
     (description
-     "This modpack contains the trains which were the ``default'' trains in
+     "This modpack contains the trains which were the @emph{default} trains in
 advtrains up to version 2.2.1.")
     (license (list license:cc-by-sa3.0 license:agpl3+))
     (properties `((upstream-name . "orwell/basic_trains")))))
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index 6325c9b96f..3e86166e81 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -753,7 +753,7 @@  (define-public pw
 @item Interactively apply and remove filters on-the-fly, without interrupting
 the source.
 
-@item Make recurring patterns in the stream appear to ``freeze'' on the
+@item Make recurring patterns in the stream appear to @emph{freeze} on the
 screen, using triggers.
 
 @item Prevent the overwhelming amount of output from a program from flooding
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 980bce6b30..2e7cc70e49 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -4486,7 +4486,7 @@  (define-public sooperlooper
     (synopsis "Live looping sampler")
     (description
      "SooperLooper is a live looping sampler capable of immediate loop
-recording, overdubbing, multiplying, reversing and more. It allows for
+recording, overdubbing, multiplying, reversing and more.  It allows for
 multiple simultaneous multi-channel loops limited only by your computer's
 available memory.")
     (license license:gpl2+)))
@@ -7939,11 +7939,10 @@  (define-public samplebrain
     (home-page "https://thentrythis.org/projects/samplebrain/")
     (synopsis "Sample mashing synthesizer designed by Aphex Twin")
     (description
-     "Samplebrain chops samples up into a 'brain' of
-interconnected small sections called blocks which are connected into a network
-by similarity.  It processes a target sample, chopping it up into blocks in
-the same way, and tries to match each block with one in its brain to play in
-realtime.")
+     "Samplebrain chops samples up into a @emph{brain} of interconnected small
+sections called blocks which are connected into a network by similarity.  It
+processes a target sample, chopping it up into blocks in the same way, and
+tries to match each block with one in its brain to play in realtime.")
     (license license:gpl2+)))
 
 (define-public le-biniou-data
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index cf6f50e3ce..d4adc5c64c 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -735,7 +735,7 @@  (define-public node-nan
      (list node-readable-stream))
     (home-page "https://github.com/nodejs/nan")
     (synopsis "Native Abstractions for Node.js")
-    (description "Native Abstractions for Node.js (``NaN'') provides a header
+    (description "Native Abstractions for Node.js (@emph{NaN}) provides a header
 file filled with macros and utilities for making add-on development for Node.js
 easier across versions.  The goal is to provide all logic necessary to develop
 native Node.js addons without having to inspect @code{NODE_MODULE_VERSION}.")
@@ -1380,7 +1380,7 @@  (define-public node-serialport-parser-ready
 
 Parsers are used to take raw binary data and transform them into usable
 messages.  This package provides @code{Ready}, a parser that waits for a
-specified sequence of ``ready'' bytes before emitting a ready event and
+specified sequence of @emph{ready} bytes before emitting a ready event and
 emitting data events.")))
 
 (define-public node-serialport-parser-regex
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 89dc5a98c8..d827023c1e 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -9118,9 +9118,9 @@  (define-public ocaml-afl-persistent
     (home-page "https://github.com/stedolan/ocaml-afl-persistent")
     (synopsis "Use afl-fuzz in persistent mode")
     (description
-      "afl-fuzz normally works by repeatedly forking the program being tested.
-Using this package, you can run afl-fuzz in ``persistent mode'', which avoids
-repeated forking and is much faster.")
+      "@emph{afl-fuzz} normally works by repeatedly forking the program being
+tested.  Using this package, you can run afl-fuzz in @emph{persistent mode},
+which avoids repeated forking and is much faster.")
     (license license:expat)))
 
 (define-public ocaml-monolith
diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm
index 036834f567..0856eb0121 100644
--- a/gnu/packages/opencl.scm
+++ b/gnu/packages/opencl.scm
@@ -380,7 +380,7 @@  (define-public python-pytools
     (home-page "https://pypi.org/project/pytools/")
     (synopsis "Assorted tools for Python")
     (description
-     "Pytools is a bag of things that are ``missing'' from the Python standard
+     "Pytools is a bag of things that are @emph{missing} from the Python standard
 library:
 
 @itemize
diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm
index 5ef56227ce..ccc5614196 100644
--- a/gnu/packages/perl-check.scm
+++ b/gnu/packages/perl-check.scm
@@ -610,8 +610,8 @@  (define-public perl-test-file-contents
     (home-page "https://metacpan.org/release/Test-File-Contents")
     (synopsis "Test routines for examining the contents of files")
     (description
-     "@{Test::File::Contents} provides functions for testing the contents of
-files.")
+     "@emph{Test::File::Contents} provides functions for testing the contents
+of files.")
     (license perl-license)))
 
 (define-public perl-test-file-sharedir-dist
@@ -1077,7 +1077,7 @@  (define-public perl-test-object
 the parent classes.
 
 This should be done to ensure that the implementation of a subclass has not
-somehow ``broken'' the object's behaviour in a more general sense.
+somehow @emph{broken} the object's behaviour in a more general sense.
 
 Test::Object is a testing package designed to allow you to easily test what
 you believe is a valid object against the expected behaviour of all of the
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index faaac13bf1..548ae4480c 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -1650,9 +1650,9 @@  (define-public perl-class-load
            perl-module-runtime perl-module-implementation))
     (home-page "https://metacpan.org/release/Class-Load")
     (synopsis "Working (require \"Class::Name\") and more")
-    (description "\"require EXPR\" only accepts Class/Name.pm style module
-names, not Class::Name.  For that, this module provides \"load_class
-'Class::Name'\".")
+    (description "@code{require EXPR} only accepts Class/Name.pm style module
+names, not @code{Class::Name}.  For that, this module provides
+@code{load_class 'Class::Name'}.")
     (license (package-license perl))))
 
 (define-public perl-class-load-xs
@@ -3846,7 +3846,7 @@  (define-public perl-devel-globaldestruction
     (home-page "https://metacpan.org/release/Devel-GlobalDestruction")
     (synopsis "Provides equivalent of ${^GLOBAL_PHASE} eq 'DESTRUCT' for older perls")
     (description "Devel::GlobalDestruction provides a function returning the
-equivalent of \"$@{^GLOBAL_PHASE@} eq 'DESTRUCT'\" for older perls.")
+equivalent of @code{$@{^GLOBAL_PHASE@} eq 'DESTRUCT'} for older perls.")
     (license (package-license perl))))
 
 (define-public perl-devel-hide
@@ -5082,7 +5082,7 @@  (define-public perl-file-readbackwards
     (build-system perl-build-system)
     (home-page "https://metacpan.org/release/File-ReadBackwards")
     (synopsis "Read a file backwards by lines")
-    (description "This module reads a file backwards line by line. It is
+    (description "This module reads a file backwards line by line.  It is
 simple to use, memory efficient and fast.  It supports both an object and a
 tied handle interface.
 
@@ -5277,8 +5277,8 @@  (define-public perl-file-which
     (synopsis "Portable implementation of the `which' utility")
     (description
      "File::Which was created to be able to get the paths to executable
-programs on systems under which the `which' program wasn't implemented in the
-shell.")
+programs on systems under which the @command{which} program wasn't implemented
+in the shell.")
     (home-page "https://metacpan.org/release/File-Which")
     (license (package-license perl))))
 
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f9fe28dfb4..71456381e4 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6508,8 +6508,8 @@  (define-public python-jinja2-time
     (synopsis "Jinja2 Extension for Dates and Times")
     (description
      "This package provides an extension for the template engine Jinja2.  It
-adds a 'now' tag providing a convenient access to the arrow.now() API from
-templates.  A format string can be provided to control the output.")
+adds a @code{now} tag providing a convenient access to the arrow.now() API
+from templates.  A format string can be provided to control the output.")
     (license license:expat)))
 
 (define-public python-pypugjs
@@ -13272,7 +13272,7 @@  (define-public python-dbus
      `(("python" ,python-wrapper)
        ("dbus-glib" ,dbus-glib)))
     (synopsis "Python bindings for D-bus")
-    (description "python-dbus provides bindings for libdbus, the reference
+    (description "Bindings for libdbus, the reference
 implementation of D-Bus.")
     (home-page "https://www.freedesktop.org/wiki/Software/DBusBindings/")
     (properties `((python2-variant . ,(delay python2-dbus))))
@@ -14159,7 +14159,7 @@  (define-public python-qnorm
     (propagated-inputs (list python-numba python-numpy python-pandas))
     (home-page "https://github.com/Maarten-vd-Sande/qnorm")
     (synopsis "Quantile normalization")
-    (description "This tool implements quantile normalization. It properly
+    (description "This tool implements quantile normalization.  It properly
 resolves rank ties, which is important when ties happen frequently, such as
 when working with discrete numbers (integers) in count tables.  This
 implementation should be relatively fast, and can use multiple cores to sort
@@ -19166,7 +19166,7 @@  (define-public python-uncertainties
     (synopsis "Calculations with uncertainties")
     (description
      "The uncertainties package transparently handles calculations with
-numbers with uncertainties. It can also yield the derivatives of any
+numbers with uncertainties.  It can also yield the derivatives of any
 expression.")
     (license license:bsd-3)))
 
@@ -36508,7 +36508,7 @@  (define-public python-sre-yield
     (synopsis "Expands a regular expression to its possible matches")
     (description
      "The goal of sre_yield is to efficiently generate all values that can
-match a given regular expression, or count possible matches efficiently. It
+match a given regular expression, or count possible matches efficiently.  It
 uses the parsed regular expression, so you get a much more accurate result
 than trying to just split strings.")
     (license license:asl2.0)))
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 1ac8dfc529..d948813f8d 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -4101,8 +4101,9 @@  (define-public python-pyqt6-sip
         (base32 "0y2pgc1kzskq3q230b5d48izvzy9dl4hkfjpcr7kv53ih1cf31i4"))))
     (synopsis "Sip module support for PyQt6")
     (description
-     "SIP is used to write self contained extension modules, i.e. without a library
-to be wrapped. This SIP extension module provides support for the PyQt6 package.")))
+     "SIP is used to write self contained extension modules, i.e. without a
+library to be wrapped.  This SIP extension module provides support for the
+PyQt6 package.")))
 
 (define-public python-pyqtwebengine
   (package
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index bafc5e5d8a..0b51585408 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -1453,7 +1453,7 @@  (define-public hackrf
      "Command line utilities and a C library for controlling the HackRF
 Software Defined Radio (SDR) over USB.  Installing this package installs the
 userspace hackrf utilities and C library.  To install the hackrf udev rules,
-you must extend 'udev-service-type' with this package.  E.g.:
+you must extend @code{udev-service-type} with this package.  E.g.:
 @code{(udev-rules-service 'hackrf hackrf #:groups '(\"dialout\"))}.")
     (license license:gpl2)))
 
@@ -1487,7 +1487,7 @@  (define-public bladerf
     (description
      "This package contains a library and command line utilities for
 controlling the BladeRF Software Defined Radio (SDR) over USB.  To install the
-bladerf udev rules, you must extend 'udev-service-type' with this package.
+bladerf udev rules, you must extend \"udev-service-type\" with this package.
 E.g.: @code{(udev-rules-service 'bladerf bladerf)}.")
     (license (list license:bsd-3
                    license:expat
diff --git a/gnu/packages/rocm.scm b/gnu/packages/rocm.scm
index e883371928..dca3d58387 100644
--- a/gnu/packages/rocm.scm
+++ b/gnu/packages/rocm.scm
@@ -306,9 +306,9 @@  (define-public rocm-bandwidth-test
     (home-page "https://github.com/RadeonOpenCompute/rocm_bandwidth_test")
     (synopsis "Bandwidth test for ROCm")
     (description "RocBandwidthTest is designed to capture the performance
-characteristics of buffer copying and kernel read/write operations. The help
+characteristics of buffer copying and kernel read/write operations.  The help
 screen of the benchmark shows various options one can use in initiating
-cop/read/writer operations.  In addition one can also query the topology of the
-system in terms of memory pools and their agents.")
+cop/read/writer operations.  In addition one can also query the topology of
+the system in terms of memory pools and their agents.")
     (license license:ncsa)))
 
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index e6cce4d372..e3ad9ba16d 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -1349,7 +1349,7 @@  (define-public just
                        '()))
     (inputs (list bash-minimal coreutils-minimal))
     (home-page "https://github.com/casey/just")
-    (synopsis "Just a command runner")
+    (synopsis "Command runner")
     (description "This package provides @code{just}, a command runner.
 @code{just} is a handy way to save and run project-specific commands.")
     (license license:cc0)))
diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm
index a2faaa2728..1e9e5a4bfa 100644
--- a/gnu/packages/scanner.scm
+++ b/gnu/packages/scanner.scm
@@ -84,13 +84,13 @@  (define-public sane-airscan
     (synopsis "SANE backend for eSCL (AirScan) and WSD document scanners")
     (description ; no @acronym{eSCL} because the meaning isn't officially known
      "This SANE backend lets you scan documents and images from scanners and
-multi-function printers that speak eSCL (marketed as ``AirScan'') or
-@acronym{WSD, Web Services for Devices} (or ``WS-Scan'').
+multi-function printers that speak eSCL (marketed as @emph{AirScan}) or
+@acronym{WSD, Web Services for Devices} (or @emph{WS-Scan}).
 
-Both are vendor-neutral protocols that allow ``driverless'' scanning over IPv4
-and IPv6 networks without the vendor-specific drivers that make up most of the
-sane-backends collection.  This is similar to how most contemporary printers
-speak the universal @acronym{IPP, Internet Printing Protocol}.
+Both are vendor-neutral protocols that allow @emph{driverless} scanning over
+IPv4 and IPv6 networks without the vendor-specific drivers that make up most
+of the sane-backends collection.  This is similar to how most contemporary
+printers speak the universal @acronym{IPP, Internet Printing Protocol}.
 
 Only scanners that support eSCL will also work over USB.  This requires a
 suitable IPP-over-USB daemon like ipp-usb to be installed and configured.
@@ -98,8 +98,8 @@  (define-public sane-airscan
 Any eSCL or WSD-capable scanner should just work.  sane-airscan automatically
 discovers and configures devices, including which protocol to use.  It was
 successfully tested with many devices from Brother, Canon, Dell, Kyocera,
-Lexmark, Epson, HP, OKI, Panasonic, Pantum, Ricoh, Samsung, and Xerox, with both
-WSD and eSCL.")
+Lexmark, Epson, HP, OKI, Panasonic, Pantum, Ricoh, Samsung, and Xerox, with
+both WSD and eSCL.")
     (license (list license:gpl2+        ; the combined work
                    license:expat))))    ; http_parser.[ch]
 
diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm
index 994dc0dba0..e92cb302d4 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -195,7 +195,7 @@  (define-public perl-search-xapian
     (description
      "Search::Xapian wraps most methods of most Xapian classes.  The missing
 classes and methods should be added in the future.  It also provides a
-simplified, more 'perlish' interface to some common operations.")
+simplified, more @emph{perlish} interface to some common operations.")
     (license license:perl-license)))
 
 (define-public libtocc
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index 5abb461c0c..f3d9e2e483 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -413,9 +413,9 @@  (define-public pkcs11-helper
     (home-page "https://github.com/OpenSC/pkcs11-helper")
     (synopsis "Library that simplifies the interaction with PKCS#11 providers")
     (description
-     "Pkcs11-helper is a library that simplifies the interaction with
-PKCS#11 providers for end-user applications. PKCS#11 is published standard.
-PKCS#11 is the de-facto standard to access cryptographic devices")
+     "Pkcs11-helper is a library that simplifies the interaction with PKCS#11
+providers for end-user applications.  PKCS#11 is published standard.  PKCS#11
+is the de-facto standard to access cryptographic devices")
     (license (list license:gpl2 license:bsd-3))))
 
 
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 43a1fbb540..3a6e99ca29 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -1153,7 +1153,7 @@  (define-public nushell
 structure.  For example, when you list the contents of a directory, what you
 get back is a table of rows, where each row represents an item in that
 directory.  These values can be piped through a series of steps, in a series
-of commands called a ``pipeline''.")
+of commands called a @emph{pipeline}.")
     (license license:expat)))
 
 (define-public rust-nu-ansi-term-0.50
diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm
index 7e9f85a5f2..d54fc11134 100644
--- a/gnu/packages/shellutils.scm
+++ b/gnu/packages/shellutils.scm
@@ -397,8 +397,8 @@  (define-public sh-z
                #t))))))
     (synopsis "Jump about directories")
     (description
-     "Tracks your most used directories, based on ``frecency''.  After a short
-learning phase, z will take you to the most ``frecent'' directory that matches
+     "Tracks your most used directories, based on @emph{frecency}.  After a short
+learning phase, z will take you to the most @emph{frecent} directory that matches
 all of the regexes given on the command line in order.")
     (home-page "https://github.com/rupa/z")
     (license license:expat)))
@@ -747,8 +747,8 @@  (define-public shell-functools
     (home-page "https://github.com/sharkdp/shell-functools/")
     (synopsis "Functional programming tools for the shell")
     (description "This package provides higher order functions like map,
-filter, foldl, sort_by and take_while as simple command-line tools. Following
-the UNIX philosophy, these commands are designed to be composed via pipes. A
+filter, foldl, sort_by and take_while as simple command-line tools.  Following
+the UNIX philosophy, these commands are designed to be composed via pipes.  A
 large collection of functions such as basename, replace, contains or is_dir
 are provided as arguments to these commands.")
     (license license:expat)))
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 47c2c5aada..2a8ec340b0 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -1002,6 +1002,6 @@  (define-public x11-ssh-askpass
     (inputs (list libxt))
     (home-page "http://www.jmknoble.net/software/x11-ssh-askpass/")
     (synopsis "Lightweight passphrase dialog for SSH")
-    (description "code{x11-ssh-askpass} is an X11-based pass-phrase dialog for
+    (description "@code{x11-ssh-askpass} is an X11-based pass-phrase dialog for
 use with OpenSSH.")
     (license license:gpl2+)))
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 7089030fcc..ecd606fa60 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -7475,13 +7475,13 @@  (define-public r-datasaurus
 different distributions.  The datasets represent a larger and quirkier object
 lesson that is typically taught via Anscombe's Quartet (available in the
 'datasets' package).  Anscombe's Quartet contains four very different
-distributions with the same summary statistics and as such highlights the value
-of visualisation in understanding data, over and above summary statistics.  As
-well as being an engaging variant on the Quartet, the data is generated in a
-novel way.  The simulated annealing process used to derive datasets from the
-original Datasaurus is detailed in \"Same Stats, Different Graphs: Generating
-Datasets with Varied Appearance and Identical Statistics through Simulated
-Annealing\" @url{doi:10.1145/3025453.3025912}.")
+distributions with the same summary statistics and as such highlights the
+value of visualisation in understanding data, over and above summary
+statistics.  As well as being an engaging variant on the Quartet, the data is
+generated in a novel way.  The simulated annealing process used to derive
+datasets from the original Datasaurus is detailed in @emph{Same Stats,
+Different Graphs: Generating Datasets with Varied Appearance and Identical
+Statistics through Simulated Annealing} @url{doi:10.1145/3025453.3025912}.")
     (license license:expat)))
 
 (define-public r-lmom
diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm
index a888304e0f..ea6ed0cbae 100644
--- a/gnu/packages/tcl.scm
+++ b/gnu/packages/tcl.scm
@@ -143,9 +143,9 @@  (define-public itcl
     (home-page "https://incrtcl.sourceforge.net/")
     (synopsis "Object Oriented programming (OOP) extension for Tcl")
     (description
-     "[incr Tcl] is a widely used object-oriented system for Tcl.  The name is
-a play on C++, and [incr Tcl] provides a similar object model, including
-multiple inheritance and public and private classes and variables.")
+     "@emph{[incr Tcl]} is a widely used object-oriented system for Tcl.  The
+name is a play on C++, and [incr Tcl] provides a similar object model,
+including multiple inheritance and public and private classes and variables.")
     (license license:public-domain)))
 
 (define-public expect
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 969b6b4352..bf1e861f94 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -7272,7 +7272,7 @@  (define-public texlive-biblatex-morenames
     (home-page "https://ctan.org/pkg/biblatex-morenames")
     (synopsis "New names for standard BibLaTeX entry type")
     (description
-     "This package adds new fields of ``name'' type to the standard entry
+     "This package adds new fields of @code{name} type to the standard entry
 types of BibLaTeX.  For example, @samp{maineditor}, for a @code{@@collection},
 means the editor of @code{@@mvcollection}, and not the editor of the
 @code{@@collection}.")
@@ -13859,9 +13859,9 @@  (define-public texlive-digiconfigs
     (synopsis "Writing ``configurations''")
     (description
      "In Stochastic Geometry and Digital Image Analysis some problems can be
-solved in terms of so-called ``configurations''.  A configuration is basically
-a square matrix of @code{\\circ} and @code{\\bullet} symbols.  This package
-provides a convenient and compact mechanism for displaying these
+solved in terms of so-called @emph{configurations}.  A configuration is
+basically a square matrix of @code{\\circ} and @code{\\bullet} symbols.  This
+package provides a convenient and compact mechanism for displaying these
 configurations.")
     (license license:lppl)))
 
@@ -21937,7 +21937,7 @@  (define-public texlive-jablantile
     (synopsis "Metafont version of tiles in the style of Slavik Jablan")
     (description
      "This is a Metafont font to implement the modular tiles described by
-Slavik Jablan. ")
+Slavik Jablan.")
     (license license:public-domain)))
 
 (define-public texlive-jacow
@@ -29914,10 +29914,10 @@  (define-public texlive-ordinalpt
     (synopsis "Counters as ordinal numbers in Portuguese")
     (description
      "The package provides a counter style (like @code{\\arabic},
-@code{\\alph} and others) which produces output strings like
-@samp{primeiro} (``first'' in Portuguese), @samp{segundo}, (``second''), and
-so on up to 1999th.  Separate counter commands are provided for different
-letter case variants, and for masculine and feminine gender inflections.")
+@code{\\alph} and others) which produces output strings like @samp{primeiro}
+(@emph{first} in Portuguese), @samp{segundo}, (@emph{second}), and so on up to
+1999th.  Separate counter commands are provided for different letter case
+variants, and for masculine and feminine gender inflections.")
     (license license:lppl)))
 
 (define-public texlive-orkhun
@@ -31176,7 +31176,7 @@  (define-public texlive-pmhanguljamo
     (synopsis "Poor man's Hangul Jamo input method")
     (description
      "This package provides a Hangul transliteration input method that allows
-to typeset Korean letters (Hangul) using the proper fonts. The use of XeLaTeX
+to typeset Korean letters (Hangul) using the proper fonts.  The use of XeLaTeX
 is recommended.")
     (license license:lppl1.3+)))
 
@@ -39169,7 +39169,7 @@  (define-public texlive-urcls
      "The bundle provides a Beamer-derived class and a theme style file for
 the corporate design of the @acronym{UR, University of Regensburg}.  It also
 contains a @code{scrlttr2}-derived class for letters using the corporate
-design of the UR. Users may use the class itself (URbeamer) or use the theme
+design of the UR.  Users may use the class itself (URbeamer) or use the theme
 in the usual way with @code{\\usetheme@{UR@}}.")
     (license license:lppl)))
 
@@ -40343,8 +40343,8 @@  (define-public texlive-xyling
     (description
      "The macros in this package model the construction of linguistic tree
 structures as a genuinely graphical problem: they contain two types of
-objects, ``branches'' and ``node labels'', and these are positioned relative
-to a ``grid''.  It is essential that each of these three elements is
+objects, @emph{branches} and @emph{node labels}, and these are positioned relative
+to a @emph{grid}.  It is essential that each of these three elements is
 constructed independent of the other two, and hence they can be modified
 without unwanted side effects.  The macros are based on the XY-Pic package.")
     (license license:lppl)))
@@ -40544,7 +40544,7 @@  (define-public texlive-yb-book
     (synopsis "Template for YB branded books")
     (description
      "This template helps the author design books published on Amazon under
-the ``Y.B.'' brand.")
+the @emph{Y.B.} brand.")
     (license license:expat)))
 
 (define-public texlive-yfonts
@@ -44194,7 +44194,7 @@  (define-public texlive-lambda-lists
     (description
      "These list-processing macros avoid the reassignments employed in the
 macros shown in Appendix D of the TeXbook: all the manipulations take place in
-what Knuth is pleased to call ``TeX's mouth''.")
+what Knuth is pleased to call @emph{TeX's mouth}.")
     (license license:lppl)))
 
 (define-public texlive-langcode
@@ -48881,7 +48881,7 @@  (define-public texlive-optexcount
     (synopsis "Python script for counting words in OpTeX documents")
     (description
      "OpTeXcount is a basic Python utility that analyzes OpTeX source code.
-It is inspired by already existing TeXcount for LaTeX. The functionality is
+It is inspired by already existing TeXcount for LaTeX.  The functionality is
 really lightweight and basic.  It counts words and other elements of OpTeX
 document and sorts them out into individual categories.  Users can print the
 source code with highlighted words using several colors, so they see what is
@@ -49027,7 +49027,7 @@  (define-public texlive-pdfjam
     (description
      "The package makes available the @command{pdfjam} shell script that
 provides a simple interface to much of the functionality of the excellent
-@code{pdfpages} package for LaTeX. The @command{pdfjam} script takes one or
+@code{pdfpages} package for LaTeX.  The @command{pdfjam} script takes one or
 more PDF files (and/or JPG/PNG graphics files) as input, and produces one or
 more PDF files as output.  It is useful for joining files together, selecting
 pages, reducing several source pages onto one output page, etc.")
@@ -70284,8 +70284,8 @@  (define-public texlive-texbytopic
     (synopsis "@emph{TeX by Topic} book")
     (description
      "@emph{TeX by Topic} is a book originally published by Addison-Wesley.
-It describes itself as ``a TeXnician's reference'', and covers the way
-TeX (the engine) works in as much detail as most ordinary TeX programmers will
+It describes itself as @emph{a TeXnician's reference}, and covers the way TeX
+(the engine) works in as much detail as most ordinary TeX programmers will
 ever need to know.")
     (license license:fdl1.3+)))
 
@@ -75711,7 +75711,7 @@  (define-public texlive-pst-geo
 @code{pst-map2d} provides conventional projections such as Mercator, Lambert,
 cylindrical, etc.  The package @code{pst-map3d} treats representation in three
 dimensions of the terrestrial sphere.  Packages @code{pst-map2dII} and
-@code{pst-map3dII} allow use of the CIA World DataBank II. Various parameters
+@code{pst-map3dII} allow use of the CIA World DataBank II.  Various parameters
 of the packages allow for choice of the level of the detail and the layouts
 possible (cities, borders, rivers etc).  Substantial data files are provided,
 in an (internally) compressed format.  Decompression happens on-the-fly as
@@ -75999,7 +75999,7 @@  (define-public texlive-pst-layout
     (home-page "https://ctan.org/pkg/pst-layout")
     (synopsis "Page layout macros based on PSTricks packages")
     (description
-     "The package provides a means of creating elaborate (``pseudo-tabular'')
+     "The package provides a means of creating elaborate (@emph{pseudo-tabular})
 layouts of material, typically to be overlaid on an included graphic.")
     (license license:lppl)))
 
@@ -94588,8 +94588,9 @@  (define-public texlive-cancel
     (home-page "https://ctan.org/pkg/cancel")
     (synopsis "Place lines through maths formulae")
     (description
-     "This package draws diagonal lines (``cancelling'' a term) and arrows with
-limits (cancelling a term ``to a value'') through parts of maths formulae.")
+     "This package draws diagonal lines (@emph{cancelling} a term) and arrows
+with limits (cancelling a term @emph{to a value}) through parts of maths
+formulae.")
     (license license:public-domain)))
 
 (define-public texlive-canoniclayout
@@ -103507,10 +103508,10 @@  (define-public texlive-flippdf
     (home-page "https://ctan.org/pkg/flippdf")
     (synopsis "Horizontal flipping of pages with pdfLaTeX")
     (description
-     "The package allows the production of a document with pages mirrored.  This is
-sometimes required by publishers who want camera-ready documents to be printed
-on transparent film (to be viewed from the ``wrong'' side).  The package only
-works with pdfLaTeX or LuaLaTeX in PDF output mode.")
+     "The package allows the production of a document with pages mirrored.
+This is sometimes required by publishers who want camera-ready documents to be
+printed on transparent film (to be viewed from the @emph{wrong} side).  The
+package only works with pdfLaTeX or LuaLaTeX in PDF output mode.")
     (license license:lppl1.3c)))
 
 (define-public texlive-floatrow
@@ -105420,9 +105421,9 @@  (define-public texlive-gmdoc-enhance
     (home-page "https://ctan.org/pkg/gmdoc-enhance")
     (synopsis "Some enhancements to the @code{gmdoc} package")
     (description
-     "This package provides some enhancements for the @code{gmdoc} package: nicer
-formatting for multiple line inline comments, an ability to comment out some
-code, and a macro to input other files in ``normal'' LaTeX mode.")
+     "This package provides some enhancements for the @code{gmdoc} package:
+nicer formatting for multiple line inline comments, an ability to comment out
+some code, and a macro to input other files in @emph{normal} LaTeX mode.")
     (license license:lppl)))
 
 (define-public texlive-gmiflink
@@ -108069,20 +108070,20 @@  (define-public texlive-keyfloat
     (home-page "https://ctan.org/pkg/keyfloat")
     (synopsis "Provides a key/value interface for generating floats")
     (description
-     "The @code{keyfloat} package provides a key/value user interface for quickly
-creating figures with a single image each, figures with arbitrary contents,
-tables, subfloats, rows of floats, floats located ``here'', floats in the
-margin, and floats with text wrapped around them.  Key/value combinations may
-specify a caption and label, a width proportional to @code{\\linewidth},
-a fixed width and/or height, rotation, scaling, a tight or loose frame, an
-@code{\\arraystretch}, a continued float, additional supplemental text, and an
-artist/author's name with automatic index entry.  When used with the
-@code{tocdata} package, the name also appears in the list of figures.  Floats
-may be placed into a @code{row} environment, and are typeset to fit within the
-given number of columns, continuing to the next row if necessary.  Nested
-sub-rows may be used to generate layouts such as two small figures placed
-vertically next to one larger figure.  Subfloats are supported by two
-environments.")
+     "The @code{keyfloat} package provides a key/value user interface for
+quickly creating figures with a single image each, figures with arbitrary
+contents, tables, subfloats, rows of floats, floats located @emph{here},
+floats in the margin, and floats with text wrapped around them.  Key/value
+combinations may specify a caption and label, a width proportional to
+@code{\\linewidth}, a fixed width and/or height, rotation, scaling, a tight or
+loose frame, an @code{\\arraystretch}, a continued float, additional
+supplemental text, and an artist/author's name with automatic index entry.
+When used with the @code{tocdata} package, the name also appears in the list
+of figures.  Floats may be placed into a @code{row} environment, and are
+typeset to fit within the given number of columns, continuing to the next row
+if necessary.  Nested sub-rows may be used to generate layouts such as two
+small figures placed vertically next to one larger figure.  Subfloats are
+supported by two environments.")
     (license license:lppl1.3+)))
 
 (define-public texlive-keyindex
@@ -110616,10 +110617,10 @@  (define-public texlive-marginfit
     (home-page "https://ctan.org/pkg/marginfit")
     (synopsis "Improved margin notes")
     (description
-     "This package fixes various bugs with the margin paragraph implementation of
-LaTeX. Those bugs include margin notes that are attached to the wrong side as
-well as those that stick out of the bottom of the page.  This package provides
-a drop-in replacement solution.")
+     "This package fixes various bugs with the margin paragraph implementation
+of LaTeX.  Those bugs include margin notes that are attached to the wrong side
+as well as those that stick out of the bottom of the page.  This package
+provides a drop-in replacement solution.")
     (license license:lppl1.3+)))
 
 (define-public texlive-mathexam
@@ -114578,7 +114579,7 @@  (define-public texlive-pas-tableur
     (synopsis "Create a spreadsheet layout")
     (description
      "The package provides commands for creating a grid of rectangles, and commands
-for populating locations in the grid. PGF/TikZ is used for placement and
+for populating locations in the grid.  PGF/TikZ is used for placement and
 population of the cells.")
     (license license:lppl)))
 
@@ -120706,8 +120707,8 @@  (define-public texlive-stex
     (home-page "https://ctan.org/pkg/stex")
     (synopsis "Infrastructure for semantic preloading of LaTeX documents")
     (description
-     "The sTeX package collection is a version of (La)TeX that allows to
-markup (La)TeX documents semantically without leaving the document format,
+     "The sTeX package collection is a version of (La)TeX that allows marking
+up (La)TeX documents semantically without leaving the document format,
 essentially turning it into a document format for mathematical knowledge
 management (MKM).")
     (license license:lppl)))
@@ -120792,7 +120793,7 @@  (define-public texlive-sttools
      "This package provides a collection of tools and macros, providing:
 miscellaneous float control, page styles for floats, multipage tabulars, even
 columns at end of twocolumn region, switching between one- and two-column
-anywhere, simulating the effect of ``midfloats'', a package to manipulate
+anywhere, simulating the effect of @emph{midfloats}, a package to manipulate
 numerical lists and arrays.")
     (license license:lppl1.3+)))
 
@@ -121059,10 +121060,10 @@  (define-public texlive-suppose
     (home-page "https://ctan.org/pkg/suppose")
     (synopsis "Abbreviate the word @emph{Suppose}")
     (description
-     "This package provides commands for abbreviating the word ``Suppose'' in six
-fonts and with other variations.  The author recommends only using these
-commands when the immediately succeeding strings are mathematical in nature.
-He does not recommend using them in formal work.")
+     "This package provides commands for abbreviating the word @emph{Suppose}
+in six fonts and with other variations.  The author recommends only using
+these commands when the immediately succeeding strings are mathematical in
+nature.  He does not recommend using them in formal work.")
     (license license:lppl1.3c)))
 
 (define-public texlive-svgcolor
@@ -124282,8 +124283,9 @@  (define-public texlive-vgrid
     (home-page "https://ctan.org/pkg/vgrid")
     (synopsis "Overlay a grid on the printed page")
     (description
-     "The package overlays a grid (whose spacing is @code{\\baselineskip}, which
-offers guidelines for considering the ``rhythm'' of the document on the page.")
+     "The package overlays a grid (whose spacing is @code{\\baselineskip},
+which offers guidelines for considering the @emph{rhythm} of the document on
+the page.")
     (license license:lppl1.3+)))
 
 (define-public texlive-vhistory
@@ -124737,7 +124739,7 @@  (define-public texlive-wordlike
 
 The package aims at making life easier for users who are discontent with
 LaTeX's standard layout settings because they need a layout that resembles the
-usual ``wordlike'' output.")
+usual @emph{wordlike} output.")
     (license license:lppl)))
 
 (define-public texlive-worksheet
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index fae021f012..f0b154330a 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -577,9 +577,9 @@  (define-public jucipp
            universal-ctags))
     (synopsis "Lightweight C++ IDE")
     (description
-     "juCi++ is a small @acronym{IDE, Integrated Development Environment}
-designed especially towards libclang with speed, stability, and ease of use
-in mind.
+     "@emph{juCi++} is a small @acronym{IDE, Integrated Development
+Environment} designed especially towards libclang with speed, stability, and
+ease of use in mind.
 
 It supports autocompletion, on-the-fly warnings and errors, syntax
 highlighting, and integrates with Git as well as the CMake and Meson build
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index deebd893d6..0c61080be4 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -703,7 +703,8 @@  (define-public catdoc
     (synopsis "MS-Word to TeX or plain text converter")
     (description "@command{catdoc} extracts text from MS-Word files, trying to
 preserve as many special printable characters as possible.  It supports
-everything up to Word-97. Also supported are MS Write documents and RTF files.
+everything up to Word-97.  Also supported are MS Write documents and RTF
+files.
 
 @command{catdoc} does not preserve complex word formatting, but it can
 translate some non-ASCII characters into TeX escape codes.  It's goal is to
@@ -1264,7 +1265,7 @@  (define-public bibutils
     (home-page "https://bibutils.sourceforge.io/")
     (synopsis "Convert between various bibliography formats")
     (description "This package provides converters for various bibliography
-formats (e.g. Bibtex, RIS, ...) using a common XML intermediate.")
+formats (e.g. Bibtex, RIS, etc.) using a common XML intermediate.")
     (license license:gpl2)))
 
 (define-public goawk
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index ab1483245f..1d768e2670 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -130,7 +130,7 @@  (define-public tor
 applications based on the TCP protocol.
 
 This package is the full featured @code{tor} which is needed for running
-relays, bridges or directory authorities. If you just want to access the Tor
+relays, bridges or directory authorities.  If you just want to access the Tor
 network or to setup an onion service you may install @code{tor-client}
 instead.")
     (license license:bsd-3)))
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index ca50bebab4..96fcaeffd1 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -2375,10 +2375,10 @@  (define-public xftwidth
     (home-page "https://github.com/vixus0/xftwidth")
     (synopsis "Calculator for determining pixel widths of displayed text using Xft fonts")
     (description "xftwidth is a small C program for calculating the pixel
-widths of displayed text using Xft fonts. It is especially useful in scripts
+widths of displayed text using Xft fonts.  It is especially useful in scripts
 for displaying text in graphical panels, menus, popups, and notification
-windows generated using dzen. These scripts are often used in conjunction with
-minimalistic tiling window managers such as herbstluftwm and bspwm.")
+windows generated using dzen.  These scripts are often used in conjunction
+with minimalistic tiling window managers such as herbstluftwm and bspwm.")
     (license license:expat)))
 
 (define-public xcb-util-xrm
@@ -3103,7 +3103,7 @@  (define-public xwallpaper
     (synopsis "Wallpaper setting utility for X")
     (description
      "The xwallpaper utility allows you to set image files as your X
-wallpaper. JPEG, PNG, and XPM file formats are supported.
+wallpaper.  JPEG, PNG, and XPM file formats are supported.
 
 The wallpaper is also advertised to programs which support semi-transparent
 backgrounds.")
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 48fdfc8fdc..544d8075dc 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -1596,8 +1596,8 @@  (define-public xfce4-volumed-pulse
     (home-page "https://goodies.xfce.org/projects/applications/xfce4-volumed")
     (synopsis "XFCE volume keys daemon")
     (description
-     "This is a volume keys control daemon for Xfce Desktop environment. It controls
- the volume using multimedia keys. It also provides volume change notifications.")
+     "This is a volume keys control daemon for Xfce Desktop environment.  It controls
+ the volume using multimedia keys.  It also provides volume change notifications.")
     (license gpl3+)))
 
 (define-public xfce4-cpugraph-plugin
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 4a3936b66d..615b0835a2 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -633,10 +633,9 @@  (define-public perl-libxml
     (license license:perl-license)
     (synopsis "Perl modules for working with XML")
     (description
-     "libxml-perl is a collection of smaller Perl modules, scripts, and
-documents for working with XML in Perl.  libxml-perl software works in
-combination with @code{XML::Parser}, PerlSAX, @code{XML::DOM},
-@code{XML::Grove}, and others.")
+     "A collection of smaller Perl modules, scripts, and documents for working
+with XML in Perl.  libxml-perl software works in combination with
+@code{XML::Parser}, PerlSAX, @code{XML::DOM}, @code{XML::Grove}, and others.")
     (home-page "https://metacpan.org/release/libxml-perl")))
 
 (define-public perl-xml-libxml
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 0de08a4ad1..6203791c2d 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -3731,7 +3731,7 @@  (define-public xkbprint
     (home-page "https://www.x.org/wiki/")
     (synopsis "Visualise an XKB keyboard layout description")
     (description
-     "The @command{xkbprint} utility visualises (``prints'') an XKB keyboard
+     "The @command{xkbprint} utility visualises (@emph{prints}) an XKB keyboard
 description as printable or encapsulated PostScript.  It accepts any compiled
 keymap (@file{.xkm}) file that includes a geometry description, or can obtain
 one from a running X server.")