File R-release.diff of Package R

# cd *inside* the ...../R-4.5.2/  directory, and do
#      zcat ..../R-release.diff.gz | patch -p1 -E
# ---------                          =====
# You need a "g[un]zip capable zcat", and canNOT use Solaris "patch"!
# Rather get ("gzip" and)  "diffutils" from any GNU mirror.
#
diff -ru -P -x .mirror -x ls_lR -x Old R-release-orig/doc/FAQ R-patched/doc/FAQ
--- R-release-orig/doc/FAQ	2025-10-31 15:14:05.000000000 +0100
+++ R-patched/doc/FAQ	2025-11-21 01:32:24.073302233 +0100
@@ -85,7 +85,7 @@
   7.28 Why is read.table() so inefficient?
   7.29 What is the difference between package and library?
   7.30 I installed a package but the functions are not there
-  7.31 Why doesn’t R think these numbers are equal?
+  7.31 Why doesn't R think these numbers are equal?
   7.32 How can I capture or ignore errors in a long simulation?
   7.33 Why are powers of negative numbers wrong?
   7.34 How can I save the result of each iteration in a loop into a separate file?
@@ -109,6 +109,7 @@
   9.1 What is a bug?
   9.2 How to report a bug
 Acknowledgments
+
 R FAQ
 *****
 
@@ -121,8 +122,8 @@
 1.1 Legalese
 ============
 
-Copyright © 1998–2020 Kurt Hornik
-Copyright © 2021–2025 R Core Team
+Copyright © 1998-2020 Kurt Hornik
+Copyright © 2021-2025 R Core Team
 
 This document is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License as published by the Free
@@ -151,7 +152,7 @@
 ========================
 
 In publications, please refer to this FAQ as Hornik and R Core Team (2024),
-“The R FAQ”, and give the above, _official_ URL:
+"The R FAQ", and give the above, _official_ URL:
 
      @Misc{,
        author        = {Kurt Hornik and the R Core Team},
@@ -172,9 +173,9 @@
 Feedback via email to <R-devel@R-project.org> is most welcome.
 
 Features specific to the Windows and macOS ports of R are described in the
-“R for Windows FAQ”
-(https://CRAN.R-project.org/bin/windows/base/rw-FAQ.html) and the “R for Mac
-OS X FAQ” (https://CRAN.R-project.org/bin/macosx/RMacOSX-FAQ.html).  If you
+"R for Windows FAQ"
+(https://CRAN.R-project.org/bin/windows/base/rw-FAQ.html) and the "R for Mac
+OS X FAQ" (https://CRAN.R-project.org/bin/macosx/RMacOSX-FAQ.html).  If you
 have information on Mac or Windows systems that you think should be added to
 this document, please let us know.
 
@@ -190,11 +191,11 @@
 files.
 
 The design of R has been heavily influenced by two existing languages:
-Becker, Chambers & Wilks’ S (*note What is S?::) and Sussman’s Scheme
+Becker, Chambers & Wilks' S (see What is S?) and Sussman's Scheme
 (http://community.schemewiki.org/?scheme-faq).  Whereas the resulting
 language is very similar in appearance to S, the underlying implementation
-and semantics are derived from Scheme.  *Note What are the differences
-between R and S?::, for further details.
+and semantics are derived from Scheme.  See What are the differences between
+R and S?, for further details.
 
 The core of R is an interpreted computer language which allows branching and
 looping as well as modular programming using functions.  Most of the
@@ -205,9 +206,9 @@
 models, nonlinear regression models, time series analysis, classical
 parametric and nonparametric tests, clustering and smoothing.  There is also
 a large set of functions which provide a flexible graphical environment for
-creating various kinds of data presentations.  Additional modules (“add-on
-packages”) are available for a variety of specific purposes (*note R Add-On
-Packages::).
+creating various kinds of data presentations.  Additional modules ("add-on
+packages") are available for a variety of specific purposes (see R Add-On
+Packages).
 
 R was initially written by Ross Ihaka <Ross.Ihaka@R-project.org> and Robert
 Gentleman <Robert.Gentleman@R-project.org> at the Department of Statistics
@@ -215,7 +216,7 @@
 large group of individuals has contributed to R by sending code and bug
 reports.
 
-Since mid-1997 there has been a core group (the “R Core Team”) who can
+Since mid-1997 there has been a core group (the "R Core Team") who can
 modify the R source code archive, currently consisting of
      John Chambers,
      Peter Dalgaard,
@@ -243,7 +244,7 @@
 R has a home page at <https://www.R-project.org/>.  It is free software
 (https://www.gnu.org/philosophy/free-sw.html) distributed under a GNU-style
 copyleft (https://www.gnu.org/copyleft/copyleft.html), and an official part
-of the GNU (https://www.gnu.org/) project (“GNU S”).
+of the GNU (https://www.gnu.org/) project ("GNU S").
 
 2.2 What machines does R run on?
 ================================
@@ -265,11 +266,11 @@
 2.3 What is the current version of R?
 =====================================
 
-R uses a ‘major.minor.patchlevel’ numbering scheme.  Based on this, there
-are the current release version of R (‘r-release’) as well as two
+R uses a 'major.minor.patchlevel' numbering scheme.  Based on this, there
+are the current release version of R ('r-release') as well as two
 development versions of R, a patched version of the current release
-(‘r-patched’) and one working towards the next minor or eventually major
-(‘r-devel’) releases of R, respectively.  New features are typically
+('r-patched') and one working towards the next minor or eventually major
+('r-devel') releases of R, respectively.  New features are typically
 introduced in r-devel, while r-patched is for bug fixes mostly.
 
 See <https://CRAN.R-project.org/sources.html> for the current versions of
@@ -279,7 +280,7 @@
 ==========================
 
 Sources, binaries and documentation for R can be obtained via CRAN, the
-“Comprehensive R Archive Network” (see *note What is CRAN?::).
+"Comprehensive R Archive Network" (see What is CRAN?).
 
 Sources are also available via <https://svn.R-project.org/R/>, the R
 Subversion repository, but currently not via anonymous rsync (nor CVS).
@@ -298,15 +299,15 @@
 If R is already installed, it can be started by typing ‘R’ at the shell
 prompt (of course, provided that the executable is in your path).
 
-If binaries are available for your platform (see *note Are there Unix-like
-binaries for R?::), you can use these, following the instructions that come
+If binaries are available for your platform (see Are there Unix-like
+binaries for R?), you can use these, following the instructions that come
 with them.
 
 Otherwise, you can compile and install R yourself, which can be done very
-easily under a number of common Unix-like platforms (see *note What machines
-does R run on?::).  The file ‘INSTALL’ that comes with the R distribution
-contains a brief introduction, and the “R Installation and Administration”
-guide (*note What documentation exists for R?::) has full details.
+easily under a number of common Unix-like platforms (see What machines does
+R run on?).  The file ‘INSTALL’ that comes with the R distribution contains
+a brief introduction, and the "R Installation and Administration" guide (see
+What documentation exists for R?) has full details.
 
 Note that you need a FORTRAN 90 compiler as well as a C compiler to build R.
 
@@ -320,7 +321,7 @@
 front-end called ‘R’ are created and copied to the ‘bin’ directory.  You can
 copy the script to a place where users can invoke it, for example to
 ‘/usr/local/bin’.  In addition, HTML versions of the R manuals (e.g.,
-‘R-exts.html’, the “Writing R Extensions” manual) are built in the
+‘R-exts.html’, the "Writing R Extensions" manual) are built in the
 ‘doc/manual’ subdirectory (if a suitable ‘texi2any’ program was found).
 
 Use ‘make pdf’ to build PDF (Portable Document Format) versions of the R
@@ -331,7 +332,7 @@
 
 Finally, use ‘make check’ to find out whether your R system works correctly.
 
-You can also perform a “system-wide” installation using ‘make install’.  By
+You can also perform a "system-wide" installation using ‘make install’.  By
 default, this will install to the following directories:
 
 ‘${prefix}/bin’
@@ -339,8 +340,8 @@
 ‘${prefix}/man/man1’
      the man page
 ‘${prefix}/lib/R’
-     all the rest (libraries, on-line help system, ...).  This is the “R
-     Home Directory” (‘R_HOME’) of the installed system.
+     all the rest (libraries, on-line help system, ...).  This is the "R
+     Home Directory" (‘R_HOME’) of the installed system.
 
 In the above, ‘prefix’ is determined during configuration (typically
 ‘/usr/local’) and can be set by running ‘configure’ with the option
@@ -367,19 +368,19 @@
 The same directory has links to snapshots of the r-patched and r-devel
 versions of R.
 
-See the “R for Windows FAQ”
+See the "R for Windows FAQ"
 (https://CRAN.R-project.org/bin/windows/base/rw-FAQ.html) for more details.
 
 2.5.3 How can R be installed (Mac)
 ----------------------------------
 
 The ‘bin/macosx’ directory of a CRAN site contains a standard Apple
-installer package to run on macOS 10.13 (‘High Sierra’) or later, and
-another which runs only on ‘Apple Silicon’ Macs under macOS 11 (‘Big Sur’)
+installer package to run on macOS 10.13 ('High Sierra') or later, and
+another which runs only on 'Apple Silicon' Macs under macOS 11 ('Big Sur')
 or later.  Once downloaded and executed, the installer will install the
 current release of R and R.app, the macOS GUI.  This port of R for macOS is
 maintained by Simon Urbanek <Simon.Urbanek@R-project.org> (and previously by
-Stefano Iacus).  The “R for macOS FAQ”
+Stefano Iacus).  The "R for macOS FAQ"
 (https://CRAN.R-project.org/bin/macosx/RMacOSX-FAQ.html) has more details.
 
 Snapshots of the r-patched and r-devel versions of R are available as Apple
@@ -389,7 +390,7 @@
 =======================================
 
 Binary distributions of R are available on many Unix-like OSes: only some
-can be mentioned here so check your OS’s search facilities to see if one is
+can be mentioned here so check your OS's search facilities to see if one is
 available for yours.
 
 The ‘bin/linux’ directory of a CRAN site contains R packages for Debian and
@@ -400,7 +401,7 @@
 maintenance tool.  Use e.g. ‘apt-get install r-base r-recommended’ to
 install the R environment and recommended packages.  If you also want to
 build R packages from source, also run ‘apt-get install r-base-dev’ to
-obtain the additional tools required for this.  So-called “backports” of the
+obtain the additional tools required for this.  So-called "backports" of the
 current R packages for at least the “stable” distribution of Debian are
 provided by Johannes Ranke, and available from CRAN.  See
 <https://CRAN.R-project.org/bin/linux/debian/index.html> for details on R
@@ -409,9 +410,9 @@
 Michael Rutter, see <https://CRAN.R-project.org/bin/linux/ubuntu/index.html>
 for instructions.
 
-R binaries for Fedora, maintained by Tom “Spot” Callaway and Iñaki Ucar, are
+R binaries for Fedora, maintained by Tom "Spot" Callaway and Iñaki Ucar, are
 provided as part of the Fedora distribution and can be accessed through
-‘dnf’, the RPM installer/updater.  The Fedora R RPM is a “meta-package”
+‘dnf’, the RPM installer/updater.  The Fedora R RPM is a "meta-package"
 which installs all the user and developer components of R (available
 separately as ‘R-core’ and ‘R-core-devel’), as well as ‘R-java’ and
 ‘R-java-devel’, which ensures that R is configured for use with Java.  The R
@@ -440,25 +441,25 @@
 may need to be quoted.)
 
 This documentation can also be made available as one reference manual for
-on-line reading in HTML and PDF formats, and as hardcopy via LaTeX, see
-*note How can R be installed?::.  An up-to-date HTML version is always
-available for web browsing at <https://stat.ethz.ch/R-manual/>.
+on-line reading in HTML and PDF formats, and as hardcopy via LaTeX, see How
+can R be installed?.  An up-to-date HTML version is always available for web
+browsing at <https://stat.ethz.ch/R-manual/>.
 
 The R distribution also comes with the following manuals.
 
-   • “An Introduction to R” (‘R-intro’) includes information on data types,
+   • "An Introduction to R" (‘R-intro’) includes information on data types,
      programming elements, statistical modeling and graphics.  This document
-     is based on the “Notes on S-PLUS” by Bill Venables and David Smith.
-   • “Writing R Extensions” (‘R-exts’) currently describes the process of
-     creating R add-on packages, writing R documentation, R’s system and
+     is based on the "Notes on S-PLUS" by Bill Venables and David Smith.
+   • "Writing R Extensions" (‘R-exts’) currently describes the process of
+     creating R add-on packages, writing R documentation, R's system and
      foreign language interfaces, and the R API.
-   • “R Data Import/Export” (‘R-data’) is a guide to importing and exporting
+   • "R Data Import/Export" (‘R-data’) is a guide to importing and exporting
      data to and from R.
-   • “The R Language Definition” (‘R-lang’), a first version of the
-     “Kernighan & Ritchie of R”, explains evaluation, parsing, object
+   • "The R Language Definition" (‘R-lang’), a first version of the
+     "Kernighan & Ritchie of R", explains evaluation, parsing, object
      oriented programming, computing on the language, and so forth.
-   • “R Installation and Administration” (‘R-admin’).
-   • “R Internals” (‘R-ints’) is a guide to R’s internal structures.  (Added
+   • "R Installation and Administration" (‘R-admin’).
+   • "R Internals" (‘R-ints’) is a guide to R's internal structures.  (Added
      in R 2.4.0.)
 
 An annotated bibliography (BibTeX format) of R-related publications can be
@@ -468,44 +469,44 @@
 
 Books on R by R Core Team members include
 
-     John M. Chambers (2008), “Software for Data Analysis: Programming with
-     R”.  Springer, New York, ISBN 978-0-387-75935-7,
+     John M. Chambers (2008), "Software for Data Analysis: Programming with
+     R". Springer, New York, ISBN 978-0-387-75935-7,
      <https://johnmchambers.su.domains/Rbook/>.
 
-     Peter Dalgaard (2008), “Introductory Statistics with R”, 2nd edition.
+     Peter Dalgaard (2008), "Introductory Statistics with R", 2nd edition.
      Springer, ISBN 978-0-387-79053-4,
      <http://publicifsv.sund.ku.dk/~pd/ISwR.html>.
 
-     Robert Gentleman (2008), “R Programming for Bioinformatics”.  Chapman &
+     Robert Gentleman (2008), "R Programming for Bioinformatics".  Chapman &
      Hall/CRC, Boca Raton, FL, ISBN 978-1-420-06367-7,
      <https://bioconductor.org/help/publications/books/r-programming-for-bioinformatics/>.
 
-     Stefano M. Iacus (2008), “Simulation and Inference for Stochastic
-     Differential Equations: With R Examples”.  Springer, New York, ISBN
+     Stefano M. Iacus (2008), "Simulation and Inference for Stochastic
+     Differential Equations: With R Examples".  Springer, New York, ISBN
      978-0-387-75838-1.
 
-     Deepayan Sarkar (2007), “Lattice: Multivariate Data Visualization with
-     R”.  Springer, New York, ISBN 978-0-387-75968-5.
+     Deepayan Sarkar (2007), "Lattice: Multivariate Data Visualization with
+     R". Springer, New York, ISBN 978-0-387-75968-5.
 
-     W. John Braun and Duncan J. Murdoch (2007), “A First Course in
-     Statistical Programming with R”.  Cambridge University Press,
-     Cambridge, ISBN 978-0521872652.
+     W. John Braun and Duncan J. Murdoch (2007), "A First Course in
+     Statistical Programming with R". Cambridge University Press, Cambridge,
+     ISBN 978-0521872652.
 
-     P. Murrell (2005), “R Graphics”, Chapman & Hall/CRC, ISBN
+     P. Murrell (2005), "R Graphics", Chapman & Hall/CRC, ISBN
      1-584-88486-X,
      <https://www.stat.auckland.ac.nz/~paul/RGraphics/rgraphics.html>.
 
-     William N. Venables and Brian D. Ripley (2002), “Modern Applied
-     Statistics with S” (4th edition).  Springer, ISBN 0-387-95457-0,
+     William N. Venables and Brian D. Ripley (2002), "Modern Applied
+     Statistics with S" (4th edition).  Springer, ISBN 0-387-95457-0,
      <https://www.stats.ox.ac.uk/pub/MASS4/>.
 
-     Jose C. Pinheiro and Douglas M. Bates (2000), “Mixed-Effects Models in
-     S and S-Plus”.  Springer, ISBN 0-387-98957-0.
+     Jose C. Pinheiro and Douglas M. Bates (2000), "Mixed-Effects Models in
+     S and S-Plus".  Springer, ISBN 0-387-98957-0.
 
-Last, but not least, Ross’ and Robert’s experience in designing and
-implementing R is described in Ihaka & Gentleman (1996), “R: A Language for
-Data Analysis and Graphics”, _Journal of Computational and Graphical
-Statistics_, *5*, 299–314 (doi: 10.1080/10618600.1996.10474713
+Last, but not least, Ross' and Robert's experience in designing and
+implementing R is described in Ihaka & Gentleman (1996), "R: A Language for
+Data Analysis and Graphics", _Journal of Computational and Graphical
+Statistics_, *5*, 299-314 (doi: 10.1080/10618600.1996.10474713
 (https://doi.org/10.1080/10618600.1996.10474713)).
 
 2.8 Citing R
@@ -541,10 +542,10 @@
      A moderated list for announcements on the availability of new or
      enhanced contributed packages.
 ‘R-help’
-     The ‘main’ R mailing list, for discussion about problems and solutions
+     The 'main' R mailing list, for discussion about problems and solutions
      encountered using R, including using R packages in the standard R
-     distribution and on CRAN; announcements (not covered by ‘R-announce’ or
-     ‘R-packages’); the availability of new functionality for R and
+     distribution and on CRAN; announcements (not covered by 'R-announce' or
+     'R-packages'); the availability of new functionality for R and
      documentation of R; and for posting nice examples and benchmarks.
 ‘R-devel’
      This list is for questions and discussion about code development in R.
@@ -581,8 +582,8 @@
 
 Of course, in the case of bug reports it would be very helpful to have code
 which reliably reproduces the problem.  Also, make sure that you include
-information on the system and version of R being used.  See *note R Bugs::
-for more details.
+information on the system and version of R being used.  See R Bugs for more
+details.
 
 See <https://www.R-project.org/mail.html> for more information on the R
 mailing lists.
@@ -590,7 +591,7 @@
 2.10 What is CRAN?
 ==================
 
-The “Comprehensive R Archive Network” (CRAN) is a collection of sites which
+The "Comprehensive R Archive Network" (CRAN) is a collection of sites which
 carry identical material, consisting of the R distribution(s), the
 contributed extensions, documentation for R, and binaries.
 
@@ -610,7 +611,7 @@
 CRAN also provides access to documentation on R, existing mailing lists and
 the R Bug Tracking system.
 
-Since March 2016, “old” material is made available from a central CRAN
+Since March 2016, "old" material is made available from a central CRAN
 archive server (<https://CRAN-archive.R-project.org/>).
 
 Please always use the URL of the master site when referring to CRAN.
@@ -627,7 +628,7 @@
 purposes (e.g., in business or in consulting).  The GPL, like all Open
 Source licenses, permits all and any use of the package.  It only restricts
 distribution of R or of other programs containing code from R. This is made
-clear in clause 6 (“No Discrimination Against Fields of Endeavor”) of the
+clear in clause 6 ("No Discrimination Against Fields of Endeavor") of the
 Open Source Definition (https://opensource.org/osd):
 
      The license must not restrict anyone from making use of the program in
@@ -644,7 +645,7 @@
 
 Most add-on packages, including all recommended ones, also explicitly allow
 commercial use in this way.  A few packages are restricted to
-“non-commercial use”; you should contact the author to clarify whether these
+"non-commercial use"; you should contact the author to clarify whether these
 may be used or seek the advice of your legal counsel.
 
 None of the discussion in this section constitutes legal advice.  The R Core
@@ -655,7 +656,7 @@
 
 The name is partly based on the (first) names of the first two R authors
 (Robert Gentleman and Ross Ihaka), and partly a play on the name of the Bell
-Labs language ‘S’ (*note What is S?::).
+Labs language 'S' (see What is S?).
 
 2.13 What is the R Foundation?
 ==============================
@@ -678,8 +679,8 @@
 to the best in SVN, daily built and checked packages, mailing lists, bug
 tracking, message boards/forums, site hosting, permanent file archival, full
 backups, and total web-based administration.  For more information, see the
-R-Forge web page and Stefan Theußl and Achim Zeileis (2009), “Collaborative
-software development using R-Forge”, _The R Journal_, *1*(1):9–14.
+R-Forge web page and Stefan Theußl and Achim Zeileis (2009), "Collaborative
+software development using R-Forge", _The R Journal_, *1*(1):9-14.
 
 3 R and S
 *********
@@ -702,53 +703,53 @@
 The evolution of the S language is characterized by four books by John
 Chambers and coauthors, which are also the primary references for S.
 
-   • Richard A. Becker and John M. Chambers (1984), “S. An Interactive
-     Environment for Data Analysis and Graphics,” Monterey: Wadsworth and
+   • Richard A. Becker and John M. Chambers (1984), "S. An Interactive
+     Environment for Data Analysis and Graphics," Monterey: Wadsworth and
      Brooks/Cole.
 
-     This is also referred to as the “_Brown Book_”, and of historical
+     This is also referred to as the "_Brown Book_", and of historical
      interest only.
 
-   • Richard A. Becker, John M. Chambers and Allan R. Wilks (1988), “The New
-     S Language,” London: Chapman & Hall.
+   • Richard A. Becker, John M. Chambers and Allan R. Wilks (1988), "The New
+     S Language," London: Chapman & Hall.
 
-     This book is often called the “_Blue Book_”, and introduced what is now
+     This book is often called the "_Blue Book_", and introduced what is now
      known as S version 2.
 
-   • John M. Chambers and Trevor J. Hastie (1992), “Statistical Models in
-     S,” London: Chapman & Hall.
+   • John M. Chambers and Trevor J. Hastie (1992), "Statistical Models in
+     S," London: Chapman & Hall.
 
-     This is also called the “_White Book_”, and introduced S version 3,
+     This is also called the "_White Book_", and introduced S version 3,
      which added structures to facilitate statistical modeling in S.
 
-   • John M. Chambers (1998), “Programming with Data,” New York: Springer,
+   • John M. Chambers (1998), "Programming with Data," New York: Springer,
      ISBN 0-387-98503-4 (<https://johnmchambers.su.domains/Sbook/>).
 
-     This “_Green Book_” describes version 4 of S, a major revision of S
+     This "_Green Book_" describes version 4 of S, a major revision of S
      designed by John Chambers to improve its usefulness at every stage of
      the programming process.
 
 See <https://johnmchambers.su.domains/papers/96.7.ps> for further
-information on the “Evolution of the S Language”.
+information on the "Evolution of the S Language".
 
 3.2 What is S-PLUS?
 ===================
 
 S-PLUS is a value-added version of S sold by TIBCO Software Inc
-(https://www.tibco.com/) as ‘TIBCO Spotfire S+’.  See
+(https://www.tibco.com/) as 'TIBCO Spotfire S+'.  See
 <https://en.wikipedia.org/wiki/S-PLUS> for more information.
 
 3.3 What are the differences between R and S?
 =============================================
 
 We can regard S as a language with three current implementations or
-“engines”, the “old S engine” (S version 3; S-PLUS 3.x and 4.x), the “new S
-engine” (S version 4; S-PLUS 5.x and above), and R. Given this
-understanding, asking for “the differences between R and S” really amounts
+"engines", the "old S engine" (S version 3; S-PLUS 3.x and 4.x), the "new S
+engine" (S version 4; S-PLUS 5.x and above), and R. Given this
+understanding, asking for "the differences between R and S" really amounts
 to asking for the specifics of the R implementation of the S language, i.e.,
 the difference between the R and S _engines_.
 
-For the remainder of this section, “S” refers to the S engines and not the S
+For the remainder of this section, "S" refers to the S engines and not the S
 language.
 
 3.3.1 Lexical scoping
@@ -773,7 +774,7 @@
        n * sq()
      }
 
-Under S, ‘sq()’ does not “know” about the variable ‘n’ unless it is defined
+Under S, ‘sq()’ does not "know" about the variable ‘n’ unless it is defined
 globally:
 
      S> cube(2)
@@ -783,12 +784,12 @@
      S> cube(2)
      [1] 18
 
-In R, the “environment” created when ‘cube()’ was invoked is also looked in:
+In R, the "environment" created when ‘cube()’ was invoked is also looked in:
 
      R> cube(2)
      [1] 8
 
-As a more “interesting” real-world problem, suppose you want to write a
+As a more "interesting" real-world problem, suppose you want to write a
 function which returns the density function of the r-th order statistic from
 a sample of size n from a (continuous) distribution.  For simplicity, we
 shall use both the distribution and density functions distribution as
@@ -810,7 +811,7 @@
        f
      }
 
-Rather tricky, isn’t it?  The code uses the fact that in S, functions are
+Rather tricky, isn't it?  The code uses the fact that in S, functions are
 just lists of special mode with the function body as the last argument, and
 hence does not work in R (one could make the idea work, though).
 
@@ -835,7 +836,7 @@
        }
      }
 
-This seems to be the “natural” implementation, and it works because the free
+This seems to be the "natural" implementation, and it works because the free
 variables in the returned function can be looked up in the defining
 environment (this is lexical scope).
 
@@ -843,7 +844,7 @@
 along with all variable bindings needed for evaluating it.  Since in the
 above version, the free variables in the value function are not modified,
 you can actually use it in S as well if you abstract out the closure
-operation into a function ‘MC()’ (for “make closure”):
+operation into a function ‘MC()’ (for "make closure"):
 
      dorder <- function(n, r, pfun, dfun) {
        con <- round(exp(lgamma(n + 1) - lgamma(r) - lgamma(n - r + 1)))
@@ -854,7 +855,7 @@
      }
 
 Given the appropriate definitions of the closure operator, this works in
-both R and S, and is much “cleaner” than a substitute/eval solution (or one
+both R and S, and is much "cleaner" than a substitute/eval solution (or one
 which overrules the default scoping rules by using explicit access to
 evaluation frames, as is of course possible in both R and S).
 
@@ -892,11 +893,11 @@
 Nested lexically scoped functions allow using function closures and
 maintaining local state.  A simple example (taken from Abelson and Sussman)
 is obtained by typing ‘demo("scoping")’ at the R prompt.  Further
-information is provided in the standard R reference “R: A Language for Data
-Analysis and Graphics” (*note What documentation exists for R?::) and in
-Robert Gentleman and Ross Ihaka (2000), “Lexical Scope and Statistical
-Computing”, _Journal of Computational and Graphical Statistics_, *9*,
-491–508 (doi: 10.1080/10618600.2000.10474895
+information is provided in the standard R reference "R: A Language for Data
+Analysis and Graphics" (see What documentation exists for R?) and in Robert
+Gentleman and Ross Ihaka (2000), "Lexical Scope and Statistical Computing",
+_Journal of Computational and Graphical Statistics_, *9*, 491-508
+(doi: 10.1080/10618600.2000.10474895
 (https://doi.org/10.1080/10618600.2000.10474895)).
 
 Nested lexically scoped functions also imply a further major difference.
@@ -906,24 +907,24 @@
 uses it to store the objects.  R performs its own memory management of this
 piece of memory, growing and shrinking its size as needed.  Having
 everything in memory is necessary because it is not really possible to
-externally maintain all relevant “environments” of symbol/value pairs.  This
+externally maintain all relevant "environments" of symbol/value pairs.  This
 difference also seems to make R _faster_ than S.
 
 The down side is that if R crashes you will lose all the work for the
-current session.  Saving and restoring the memory “images” (the functions
-and data stored in R’s internal memory at any time) can be a bit slow,
+current session.  Saving and restoring the memory "images" (the functions
+and data stored in R's internal memory at any time) can be a bit slow,
 especially if they are big.  In S this does not happen, because everything
 is saved in disk files and if you crash nothing is likely to happen to them.
 (In fact, one might conjecture that the S developers felt that the price of
 changing their approach to persistent storage just to accommodate lexical
 scope was far too expensive.)  Hence, when doing important work, you might
-consider saving often (see *note How can I save my workspace?::) to
-safeguard against possible crashes.  Other possibilities are logging your
-sessions, or have your R commands stored in text files which can be read in
-using ‘source()’.
+consider saving often (see How can I save my workspace?) to safeguard
+against possible crashes.  Other possibilities are logging your sessions, or
+have your R commands stored in text files which can be read in using
+‘source()’.
 
-     Note: If you run R from within Emacs (see *note R and Emacs::), you can
-     save the contents of the interaction buffer to a file and conveniently
+     Note: If you run R from within Emacs (see R and Emacs), you can save
+     the contents of the interaction buffer to a file and conveniently
      manipulate it using ‘ess-transcript-mode’, as well as save source
      copies of all functions and data used.
 
@@ -951,8 +952,8 @@
 
 Apart from lexical scoping and its implications, R follows the S language
 definition in the Blue and White Books as much as possible, and hence really
-is an “implementation” of S. There are some intentional differences where
-the behavior of S is considered “not clean”.  In general, the rationale is
+is an "implementation" of S. There are some intentional differences where
+the behavior of S is considered "not clean".  In general, the rationale is
 that R should help you detect programming errors, while at the same time
 being as compatible as possible with S.
 
@@ -1027,7 +1028,7 @@
      the ‘dim’ attribute vector can be 0).  This has been determined a
      useful feature as it helps reducing the need for special-case tests for
      empty subsets.  For example, if ‘x’ is a matrix, ‘x[, FALSE]’ is not
-     ‘NULL’ but a “matrix” with 0 columns.  Hence, such objects need to be
+     ‘NULL’ but a "matrix" with 0 columns.  Hence, such objects need to be
      tested for by checking whether their ‘length()’ is zero (which works in
      both R and S), and not using ‘is.null()’.
 
@@ -1049,7 +1050,7 @@
    • In S, ‘substitute()’ searches for names for substitution in the given
      expression in three places: the actual and the default arguments of the
      matching call, and the local frame (in that order).  R looks in the
-     local frame only, with the special rule to use a “promise” if a
+     local frame only, with the special rule to use a "promise" if a
      variable is not evaluated.  Since the local frame is initialized with
      the actual arguments or the default expressions, this is usually
      equivalent to S, until assignment takes place.
@@ -1070,7 +1071,7 @@
      ‘Sys.setlocale()’ function.
 
    • In S, ‘missing(ARG)’ remains ‘TRUE’ if ARG is subsequently modified; in
-     R it doesn’t.
+     R it doesn't.
 
    • From R version 1.3.0, ‘data.frame’ strips ‘I()’ when creating (column)
      names.
@@ -1093,9 +1094,9 @@
      ‘$’ allow partial matches).  In S, ‘[’ allows partial matches.
 
    • S has a two-argument version of ‘atan’ and no ‘atan2’.  A call in S
-     such as ‘atan(x1, x2)’ is equivalent to R’s ‘atan2(x1, x2)’.  However,
-     beware of named arguments since S’s ‘atan(x = a, y = b)’ is equivalent
-     to R’s ‘atan2(y = a, x = b)’ with the meanings of ‘x’ and ‘y’
+     such as ‘atan(x1, x2)’ is equivalent to R's ‘atan2(x1, x2)’.  However,
+     beware of named arguments since S's ‘atan(x = a, y = b)’ is equivalent
+     to R's ‘atan2(y = a, x = b)’ with the meanings of ‘x’ and ‘y’
      interchanged.  (R used to have undocumented support for a two-argument
      ‘atan’ with positional arguments, but this has been withdrawn to avoid
      further confusion.)
@@ -1114,7 +1115,7 @@
 
 Since almost anything you can do in R has source code that you could port to
 S-PLUS with little effort there will never be much you can do in R that you
-couldn’t do in S-PLUS if you wanted to.  (Note that using lexical scoping
+couldn't do in S-PLUS if you wanted to.  (Note that using lexical scoping
 may simplify matters considerably, though.)
 
 R offers several graphics features that S-PLUS does not, such as finer
@@ -1122,9 +1123,9 @@
 correction for color, and, most importantly, mathematical annotation in plot
 texts, via input expressions reminiscent of TeX constructs.  See the help
 page for ‘plotmath’, which features an impressive on-line example.  More
-details can be found in Paul Murrell and Ross Ihaka (2000), “An Approach to
-Providing Mathematical Annotation in Plots”, _Journal of Computational and
-Graphical Statistics_, *9*, 582–599 (doi: 10.1080/10618600.2000.10474900
+details can be found in Paul Murrell and Ross Ihaka (2000), "An Approach to
+Providing Mathematical Annotation in Plots", _Journal of Computational and
+Graphical Statistics_, *9*, 582-599 (doi: 10.1080/10618600.2000.10474900
 (https://doi.org/10.1080/10618600.2000.10474900)).
 
 3.5 What is R-plus?
@@ -1143,17 +1144,17 @@
 4 R Web Interfaces
 ******************
 
-Please refer to the CRAN task view on “Web Technologies and Services”
+Please refer to the CRAN task view on "Web Technologies and Services"
 (<https://CRAN.R-project.org/view=WebTechnologies>), specifically section
-“Web and Server Frameworks”, for up-to-date information on R web interface
+"Web and Server Frameworks", for up-to-date information on R web interface
 packages.
 
-Early references on R web interfaces include Jeff Banfield (1999), “Rweb:
-Web-based Statistical Analysis” (doi: 10.18637/jss.v004.i01
-(https://doi.org/10.18637/jss.v004.i01)), David Firth (2003), “CGIwithR:
-Facilities for processing web forms using R” (doi: 10.18637/jss.v008.i10
+Early references on R web interfaces include Jeff Banfield (1999), "Rweb:
+Web-based Statistical Analysis" (doi: 10.18637/jss.v004.i01
+(https://doi.org/10.18637/jss.v004.i01)), David Firth (2003), "CGIwithR:
+Facilities for processing web forms using R" (doi: 10.18637/jss.v008.i10
 (https://doi.org/10.18637/jss.v008.i10)), and Angelo Mineo and Alfredo
-Pontillo (2006), “Using R via PHP for Teaching Purposes: R-php”
+Pontillo (2006), "Using R via PHP for Teaching Purposes: R-php"
 (doi: 10.18637/jss.v017.i04 (https://doi.org/10.18637/jss.v017.i04)).
 
 5 R Add-On Packages
@@ -1208,15 +1209,15 @@
 
 *KernSmooth*
      Functions for kernel smoothing (and density estimation) corresponding
-     to the book “Kernel Smoothing” by M. P. Wand and M. C. Jones, 1995.
+     to the book "Kernel Smoothing" by M. P. Wand and M. C. Jones, 1995.
 *MASS*
      Functions and datasets from the main package of Venables and Ripley,
-     “Modern Applied Statistics with S”.
+     "Modern Applied Statistics with S".
 *Matrix*
      Support for spares and dense matrices
 *boot*
-     Functions and datasets for bootstrapping from the book “Bootstrap
-     Methods and Their Applications” by A. C. Davison and D. V. Hinkley,
+     Functions and datasets for bootstrapping from the book "Bootstrap
+     Methods and Their Applications" by A. C. Davison and D. V. Hinkley,
      1997, Cambridge University Press.
 *class*
      Functions for classification (k-nearest neighbor and LVQ).
@@ -1235,13 +1236,13 @@
 *nlme*
      Fit and compare Gaussian linear and nonlinear mixed-effects models.
 *nnet*
-     Software for single hidden layer perceptrons (“feed-forward neural
-     networks”), and for multinomial log-linear models.
+     Software for single hidden layer perceptrons ("feed-forward neural
+     networks"), and for multinomial log-linear models.
 *rpart*
      Recursive PARTitioning and regression trees.
 *spatial*
-     Functions for kriging and point pattern analysis from “Modern Applied
-     Statistics with S” by W. Venables and B. Ripley.
+     Functions for kriging and point pattern analysis from "Modern Applied
+     Statistics with S" by W. Venables and B. Ripley.
 *survival*
      Functions for survival analysis, including penalized likelihood.
 See the CRAN contributed packages page for more information.
@@ -1351,7 +1352,7 @@
           tools         Tools for Package Development
           utils         The R Utils Package
 
-You can “load” the installed package PKG by
+You can "load" the installed package PKG by
 
      library(PKG)
 
@@ -1390,16 +1391,16 @@
 contain files ‘INDEX’, ‘NAMESPACE’, ‘configure’, ‘cleanup’, ‘LICENSE’,
 ‘LICENCE’, ‘COPYING’ and ‘NEWS’.
 
-*Note (R-exts)Creating R packages:: for details.  This manual is included in
-the R distribution, *note What documentation exists for R?::, and gives
-information on package structure, the configure and cleanup mechanisms, and
-on automated package checking and building.
+See (R-exts)Creating R packages for details.  This manual is included in the
+R distribution, see What documentation exists for R?, and gives information
+on package structure, the configure and cleanup mechanisms, and on automated
+package checking and building.
 
 R version 1.3.0 has added the function ‘package.skeleton()’ which will set
 up directories, save data and code, and create skeleton help files for a set
 of R functions and datasets.
 
-*Note What is CRAN?::, for information on uploading a package to CRAN.
+See What is CRAN?, for information on uploading a package to CRAN.
 
 5.6 How can I contribute to R?
 ==============================
@@ -1420,7 +1421,7 @@
 6.1 Is there Emacs support for R?
 =================================
 
-There is an Emacs package called ESS (“Emacs Speaks Statistics”) which
+There is an Emacs package called ESS ("Emacs Speaks Statistics") which
 provides a standard interface between statistical programs and statistical
 processes.  It is intended to provide assistance for interactive statistical
 programming and data analysis.  Languages supported include: S dialects (R,
@@ -1464,7 +1465,7 @@
 
 Yes, instead of just running it in a console, _definitely_.  As an
 alternative to other IDEs such as RStudio, _possibly_, notably if you are
-interested to use Emacs for other computer interaction.  You’d be using ESS,
+interested to use Emacs for other computer interaction.  You'd be using ESS,
 Emacs Speaks Statistics, see previous FAQ.
 
 Inferior R mode provides a readline/history mechanism, object name
@@ -1487,7 +1488,7 @@
 6.3 Debugging R from within Emacs
 =================================
 
-To debug R “from within Emacs”, there are several possibilities.  To use the
+To debug R "from within Emacs", there are several possibilities.  To use the
 Emacs GUD (Grand Unified Debugger) library with the recommended debugger
 GDB, type ‘M-x gdb’ and give the path to the R _binary_ as argument.  At the
 ‘gdb’ prompt, set ‘R_HOME’ and other environment variables as needed (using
@@ -1539,7 +1540,7 @@
 7.2 How can I save my workspace?
 ================================
 
-‘save.image()’ saves the objects in the user’s ‘.GlobalEnv’ to the file
+‘save.image()’ saves the objects in the user's ‘.GlobalEnv’ to the file
 ‘.RData’ in the R startup directory.  (This is also what happens after
 ‘q("yes")’.)  Using ‘save.image(FILE)’ one can save the image under a
 different name.
@@ -1566,14 +1567,14 @@
 This is because in both cases, the first argument is evaluated in the
 calling environment first.  The result (which should be an object of mode
 ‘"expression"’ or ‘"call"’) is then evaluated or differentiated.  What you
-(most likely) really want is obtained by “quoting” the first argument upon
+(most likely) really want is obtained by "quoting" the first argument upon
 surrounding it with ‘expression()’.  For example,
 
      R> D(expression(x^2), "x")
      2 * x
 
 Although this behavior may initially seem to be rather strange, it is
-perfectly logical.  The “intuitive” behavior could easily be implemented,
+perfectly logical.  The "intuitive" behavior could easily be implemented,
 but problems would arise whenever the expression is contained in a variable,
 passed as a parameter, or is the result of a function call.  Consider for
 instance the semantics in cases like
@@ -1623,7 +1624,7 @@
 PKG)’, where NAME and PKG are strings giving the names of an object and the
 package containing it, stores some information in this environment.  When R
 tries to evaluate NAME, it loads the corresponding package PKG and
-reevaluates NAME in the new package’s environment.
+reevaluates NAME in the new package's environment.
 
 Using this mechanism makes R behave as if the package was loaded, but does
 not occupy memory (yet).
@@ -1634,10 +1635,10 @@
 =============================
 
 The function ‘options()’ allows setting and examining a variety of global
-“options” which affect the way in which R computes and displays its results.
+"options" which affect the way in which R computes and displays its results.
 The variable ‘.Options’ holds the current values of these options, but
 should never directly be assigned to unless you want to drive yourself
-crazy—simply pretend that it is a “read-only” variable.
+crazy--simply pretend that it is a "read-only" variable.
 
 For example, given
 
@@ -1678,7 +1679,7 @@
 This is about a problem rarely seen with modern X11 installations.
 
 On an X11 device, plotting sometimes, e.g., when running ‘demo("image")’,
-results in “Error: color allocation error”.  This is an X problem, and only
+results in "Error: color allocation error".  This is an X problem, and only
 indirectly related to R. It occurs when applications started prior to R have
 used all the available colors.  (How many colors are available depends on
 the X configuration; sometimes only 256 colors can be used.)
@@ -1712,19 +1713,19 @@
 
 You could also look at ‘coplot()’ and ‘dotchart()’ which might do at least
 some of what you want.  Note also that the R version of ‘pairs()’ is fairly
-general and provides most of the functionality of ‘splom()’, and that R’s
+general and provides most of the functionality of ‘splom()’, and that R's
 default plot method has an argument ‘asp’ allowing to specify (and fix
 against device resizing) the aspect ratio of the plot.
 
-(Because the word “Trellis” has been claimed as a trademark we do not use it
-in R. The name “lattice” has been chosen for the R equivalent.)
+(Because the word "Trellis" has been claimed as a trademark we do not use it
+in R. The name "lattice" has been chosen for the R equivalent.)
 
 7.12 What are the enclosing and parent environments?
 ====================================================
 
 Inside a function you may want to access variables in two additional
-environments: the one that the function was defined in (“enclosing”), and
-the one it was invoked in (“parent”).
+environments: the one that the function was defined in ("enclosing"), and
+the one it was invoked in ("parent").
 
 If you create a function at the command line or load it in a package its
 enclosing environment is the global workspace.  If you define a function
@@ -1733,7 +1734,7 @@
 when the function is created.  You can find out the enclosing environment
 for a function ‘f()’ using ‘environment(f)’.
 
-The “parent” environment, on the other hand, is defined when you invoke a
+The "parent" environment, on the other hand, is defined when you invoke a
 function.  If you invoke ‘lm()’ at the command line its parent environment
 is the global workspace, if you invoke it inside a function ‘f()’ then its
 parent environment is the environment inside ‘f()’.  You can find out the
@@ -1748,7 +1749,7 @@
 enclosing environment will probably be the same.
 
 Parent environments are important because things like model formulas need to
-be evaluated in the environment the function was called from, since that’s
+be evaluated in the environment the function was called from, since that's
 where all the variables will be available.  This relies on the parent
 environment being potentially different with each invocation.
 
@@ -1795,8 +1796,8 @@
 argument ‘check.names’ to these functions controls whether variable names
 are checked and adjusted by ‘make.names()’ if needed.)
 
-To understand what names are “valid”, one needs to take into account that
-the term “name” is used in several different (but related) ways in the
+To understand what names are "valid", one needs to take into account that
+the term "name" is used in several different (but related) ways in the
 language:
 
   1. A _syntactic name_ is a string the parser interprets as this type of
@@ -1824,7 +1825,7 @@
   5. Finally, a _file name_ is a string identifying a file in the operating
      system for reading, writing, etc.  It really has nothing much to do
      with names in the language, but it is traditional to call these strings
-     file “names”.
+     file "names".
 
 7.15 Are GAMs implemented in R?
 ===============================
@@ -1853,13 +1854,13 @@
      summary(glm(y~x+z, family=binomial))
 
 fits a logistic regression model, computes some summary information and
-returns an object of class ‘"summary.glm"’ (*note How should I write summary
-methods?::).
+returns an object of class ‘"summary.glm"’ (see How should I write summary
+methods?).
 
 If you type ‘1+1’ or ‘summary(glm(y~x+z, family=binomial))’ at the command
 line the returned value is automatically printed (unless it is
 ‘invisible()’), but in other circumstances, such as in a ‘source()’d file or
-inside a function it isn’t printed unless you specifically print it.
+inside a function it isn't printed unless you specifically print it.
 
 To print the value use
 
@@ -1915,8 +1916,8 @@
 (conceptually and numerically) different.
 
 Some packages report instead the sums of squares based on comparing the full
-model to the models with each factor removed one at a time (the famous ‘Type
-III sums of squares’ from SAS, for example).  These do not depend on the
+model to the models with each factor removed one at a time (the famous 'Type
+III sums of squares' from SAS, for example).  These do not depend on the
 order of factors in the model.  The question of which set of sums of squares
 is the Right Thing provokes low-level holy wars on R-help from time to time.
 
@@ -1948,7 +1949,7 @@
 The Unix-like command-line interface to R can only provide the inbuilt
 command line editor which allows recall, editing and re-submission of prior
 commands provided that the GNU readline library is available at the time R
-is configured for compilation.  Note that the ‘development’ version of
+is configured for compilation.  Note that the 'development' version of
 readline including the appropriate headers is needed: users of Linux binary
 distributions will need to install packages such as ‘libreadline-dev’
 (Debian) or ‘readline-devel’ (Red Hat).
@@ -2066,8 +2067,8 @@
      getS3method("[", "terms")
 
 To see the code for an unexported function ‘foo()’ in the namespace of
-package ‘"bar"’ use ‘bar:::foo’.  Don’t use these constructions to call
-unexported functions in your own code—they are probably unexported for a
+package ‘"bar"’ use ‘bar:::foo’.  Don't use these constructions to call
+unexported functions in your own code--they are probably unexported for a
 reason and may change without warning.
 
 7.27 How can I create rotated axis labels?
@@ -2096,8 +2097,8 @@
 ‘0.25’ offset as required to move the axis labels up or down relative to the
 x axis.  See ‘?par’ for more information.
 
-Also see Figure 1 and associated code in Paul Murrell (2003), “Integrating
-grid Graphics Output with Base Graphics Output”, _R News_, *3/2*, 7–12.
+Also see Figure 1 and associated code in Paul Murrell (2003), "Integrating
+grid Graphics Output with Base Graphics Output", _R News_, *3/2*, 7-12.
 
 7.28 Why is read.table() so inefficient?
 ========================================
@@ -2114,25 +2115,25 @@
 A “package” is a standardized collection of material extending R, e.g.
 providing code, data, or documentation.  A “library” is a place (directory)
 where R knows to find packages it can use (i.e., which were “installed”).  R
-is told to use a package (to “load” it and add it to the search path) via
+is told to use a package (to "load" it and add it to the search path) via
 calls to the function ‘library’.  I.e., ‘library()’ is employed to load a
 package from libraries containing packages.
 
-*Note R Add-On Packages::, for more details.  See also Uwe Ligges (2003), “R
-Help Desk: Package Management”, _R News_, *3/3*, 37–39.
+See R Add-On Packages, for more details.  See also Uwe Ligges (2003), "R
+Help Desk: Package Management", _R News_, *3/3*, 37-39.
 
 7.30 I installed a package but the functions are not there
 ==========================================================
 
 To actually _use_ the package, it needs to be _loaded_ using ‘library()’.
 
-See *note R Add-On Packages:: and *note What is the difference between
-package and library?:: for more information.
+See R Add-On Packages and What is the difference between package and
+library? for more information.
 
-7.31 Why doesn’t R think these numbers are equal?
+7.31 Why doesn't R think these numbers are equal?
 =================================================
 
-The only numbers that can be represented exactly in R’s numeric type are
+The only numbers that can be represented exactly in R's numeric type are
 integers and fractions whose denominator is a power of 2.  All other numbers
 are internally rounded to (typically) 53 binary digits accuracy.  As a
 result, two floating point numbers will not reliably be equal unless they
@@ -2152,15 +2153,15 @@
 you will need to consider error propagation carefully.
 
 A discussion with many easily followed examples is in Appendix G
-“Computational Precision and Floating Point Arithmetic”, pages 753–771 of
+"Computational Precision and Floating Point Arithmetic", pages 753-771 of
 _Statistical Analysis and Data Display: An Intermediate Course with Examples
 in R_, Richard M. Heiberger and Burt Holland (Springer 2015, second
 edition).  This appendix is a free download from
 <https://link.springer.com/content/pdf/bbm:978-1-4939-2122-5/1.pdf>.
 
-For more information, see e.g. David Goldberg (1991), “What Every Computer
-Scientist Should Know About Floating-Point Arithmetic”, _ACM Computing
-Surveys_, *23/1*, 5–48, also available via
+For more information, see e.g. David Goldberg (1991), "What Every Computer
+Scientist Should Know About Floating-Point Arithmetic", _ACM Computing
+Surveys_, *23/1*, 5-48, also available via
 <https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html>.
 
 Here is another example, this time using addition:
@@ -2274,10 +2275,10 @@
 7.37 Why does backslash behave strangely inside strings?
 ========================================================
 
-This question most often comes up in relation to file names (see *note How
-do file names work in Windows?::) but it also happens that people complain
-that they cannot seem to put a single ‘\’ character into a text string
-unless it happens to be followed by certain other characters.
+This question most often comes up in relation to file names (see How do file
+names work in Windows?) but it also happens that people complain that they
+cannot seem to put a single ‘\’ character into a text string unless it
+happens to be followed by certain other characters.
 
 To understand this, you have to distinguish between character strings and
 _representations_ of character strings.  Mostly, the representation in R is
@@ -2365,8 +2366,8 @@
 
 In most cases, typing the name of the function will print its source code.
 However, code is sometimes hidden in a namespace, or compiled.  For a
-complete overview on how to access source code, see Uwe Ligges (2006), “Help
-Desk: Accessing the sources”, _R News_, *6/4*, 43–45
+complete overview on how to access source code, see Uwe Ligges (2006), "Help
+Desk: Accessing the sources", _R News_, *6/4*, 43-45
 (<https://CRAN.R-project.org/doc/Rnews/Rnews_2006-4.pdf>).
 
 7.41 Why does summary() report strange results for the R^2 estimate when I fit a linear model with no intercept?
@@ -2385,17 +2386,17 @@
      a line through the origin.
 
 All these come down to saying that if you know _a priori_ that E[Y]=0 when
-x=0 then the ‘null’ model that you should compare to the fitted line, the
-model where x doesn’t explain any of the variance, is the model where E[Y]=0
-everywhere.  (If you don’t know a priori that E[Y]=0 when x=0, then you
-probably shouldn’t be fitting a line through the origin.)
+x=0 then the 'null' model that you should compare to the fitted line, the
+model where x doesn't explain any of the variance, is the model where E[Y]=0
+everywhere.  (If you don't know a priori that E[Y]=0 when x=0, then you
+probably shouldn't be fitting a line through the origin.)
 
 7.42 Why is R apparently not releasing memory?
 ==============================================
 
-This question is often asked in different flavors along the lines of “I have
+This question is often asked in different flavors along the lines of "I have
 removed objects in R and run ‘gc()’ and yet ‘ps’/‘top’ still shows the R
-process using a lot of memory”, often on Linux machines.
+process using a lot of memory", often on Linux machines.
 
 This is an artifact of the way the operating system (OS) allocates memory.
 In general it is common that the OS is not capable of releasing all unused
@@ -2421,7 +2422,7 @@
 regions.  For smaller allocations the system can expand the data segment of
 the process (historically using the ‘brk’ system call), but this whole area
 is always contiguous.  The OS can only move the end of this space, it cannot
-create any “holes”.  Since this operation is fairly cheap, it is used for
+create any "holes".  Since this operation is fairly cheap, it is used for
 allocations of small pieces of memory.  However, the side-effect is that
 even if there is just one byte that is in use at the end of the data
 segment, the OS cannot release any memory at all, because it cannot change
@@ -2458,7 +2459,7 @@
 Since March 2016, Windows and macOS binaries of CRAN packages for old
 versions of R (released more than 5 years ago) are made available from a
 central CRAN archive server instead of the CRAN mirrors.  To get these, one
-should set the CRAN “mirror” element of the ‘repos’ option accordingly, by
+should set the CRAN "mirror" element of the ‘repos’ option accordingly, by
 something like
      local({r <- getOption("repos")
             r["CRAN"] <- "http://CRAN-archive.R-project.org"
@@ -2479,7 +2480,7 @@
 This approach is preferred over having ‘summary.foo()’ print summary
 information and return something useful, as sometimes you need to grab
 something computed by ‘summary()’ inside a function or similar.  In such
-cases you don’t want anything printed.
+cases you don't want anything printed.
 
 8.2 How can I debug dynamically loaded code?
 ============================================
@@ -2487,16 +2488,16 @@
 Roughly speaking, you need to start R inside the debugger, load the code,
 send an interrupt, and then set the required breakpoints.
 
-*Note Finding entry points in dynamically loaded code: (R-exts)Finding entry
-points.  This manual is included in the R distribution, *note What
-documentation exists for R?::.
+See Finding entry points in dynamically loaded code: (R-exts)Finding entry
+points.  This manual is included in the R distribution, see What
+documentation exists for R?.
 
 8.3 How can I inspect R objects when debugging?
 ===============================================
 
 The most convenient way is to call ‘R_PV’ from the symbolic debugger.
 
-*Note Inspecting R objects when debugging: (R-exts)Inspecting R objects.
+See Inspecting R objects when debugging: (R-exts)Inspecting R objects.
 
 8.4 How can I change compilation flags?
 =======================================
@@ -2506,8 +2507,8 @@
 determined when R was built).
 
 Starting with R 2.1.0, users can provide personal ‘Makevars’ configuration
-files in ‘$HOME/.R’ to override the default flags.  *Note (R-admin)Add-on
-packages::.
+files in ‘$HOME/.R’ to override the default flags.  See (R-admin)Add-on
+packages.
 
 8.5 How can I debug S4 methods?
 ===============================
@@ -2524,31 +2525,31 @@
 
 If R executes an illegal instruction, or dies with an operating system error
 message that indicates a problem in the program (as opposed to something
-like “disk full”), then it is certainly a bug.  If you call ‘.C()’,
+like "disk full"), then it is certainly a bug.  If you call ‘.C()’,
 ‘.Fortran()’, ‘.External()’ or ‘.Call()’ (or ‘.Internal()’) yourself (or in
 a function you wrote), you can always crash R by using wrong argument types
 (modes).  This is not a bug.
 
 Taking forever to complete a command can be a bug, but you must make certain
-that it was really R’s fault.  Some commands simply take a long time.  If
+that it was really R's fault.  Some commands simply take a long time.  If
 the input was such that you _know_ it should have been processed quickly,
-report a bug.  If you don’t know whether the command should take a long
+report a bug.  If you don't know whether the command should take a long
 time, find out by looking in the manual or by asking for assistance.
 
 If a command you are familiar with causes an R error message in a case where
 its usual definition ought to be reasonable, it is probably a bug.  If a
 command does the wrong thing, that is a bug.  But be sure you know for
-certain what it ought to have done.  If you aren’t familiar with the
-command, or don’t know for certain how the command is supposed to work, then
+certain what it ought to have done.  If you aren't familiar with the
+command, or don't know for certain how the command is supposed to work, then
 it might actually be working right.  For example, people sometimes think
-there is a bug in R’s mathematics because they don’t understand how
+there is a bug in R's mathematics because they don't understand how
 finite-precision arithmetic works.  Rather than jumping to conclusions, show
 the problem to someone who knows for certain.  Unexpected results of
 comparison of decimal numbers, for example ‘0.28 * 100 != 28’ or ‘0.1 + 0.2
-!= 0.3’, are not a bug.  *Note Why doesn't R think these numbers are
-equal?::, for more details.
+!= 0.3’, are not a bug.  See Why doesn't R think these numbers are equal?,
+for more details.
 
-Finally, a command’s intended definition may not be best for statistical
+Finally, a command's intended definition may not be best for statistical
 analysis.  This is a very important sort of problem, but it is also a matter
 of judgment.  Also, it is easy to come to such a conclusion out of ignorance
 of some of the existing features.  It is probably best not to complain about
@@ -2556,15 +2557,15 @@
 feel confident that you understand it, and know for certain that what you
 want is not available.  If you are not sure what the command is supposed to
 do after a careful reading of the manual this indicates a bug in the manual.
-The manual’s job is to make everything clear.  It is just as important to
+The manual's job is to make everything clear.  It is just as important to
 report documentation bugs as program bugs.  However, we know that the
-introductory documentation is seriously inadequate, so you don’t need to
+introductory documentation is seriously inadequate, so you don't need to
 report this.
 
 If the online argument list of a function disagrees with the manual, one of
 them must be wrong, so report the bug.
 
-See also “Making sure it’s a bug” in Bug Reporting in R
+See also "Making sure it's a bug" in Bug Reporting in R
 (https://www.r-project.org/bugs.html) for more information.
 
 9.2 How to report a bug
@@ -2598,7 +2599,7 @@
 guess that they should try a day of the week variable name.
 
 Or perhaps the command fails because the last command you used was a method
-for ‘"["()’ that had a bug causing R’s internal data structures to be
+for ‘"["()’ that had a bug causing R's internal data structures to be
 corrupted and making the ‘data.frame()’ command fail from then on.  This is
 why others need to know what other commands you have typed (or read from
 your startup file).
@@ -2616,8 +2617,8 @@
 ensures that the site profile and saved data files are not read.
 
 Before you actually submit a bug report, you should check whether the bug
-has already been reported and/or fixed.  First, try the “Show open bugs
-new-to-old” or the search facility on <https://bugs.R-project.org/>.
+has already been reported and/or fixed.  First, try the "Show open bugs
+new-to-old" or the search facility on <https://bugs.R-project.org/>.
 Second, consult <https://svn.R-project.org/R/trunk/doc/NEWS.Rd>, which
 records changes that will appear in the _next_ release of R, including bug
 fixes that do not appear on the Bug Tracker.  Third, if possible try the
@@ -2631,10 +2632,10 @@
 A bug report can be generated using the function ‘bug.report()’.  For
 reports on R this will open the R Bugzilla page at
 <https://bugs.R-project.org/>: for a contributed package it will open the
-package’s bug tracker Web page or help you compose an email to the
-maintainer.  Since 2016, only “members” (including all who have previously
-submitted bugs) can submit new bugs on the R Bugzilla.  See “Where to submit
-bug reports and patches” on Bug Reporting in R
+package's bug tracker Web page or help you compose an email to the
+maintainer.  Since 2016, only "members" (including all who have previously
+submitted bugs) can submit new bugs on the R Bugzilla.  See "Where to submit
+bug reports and patches" on Bug Reporting in R
 (https://www.r-project.org/bugs.html) for more information.
 
 There is a section of the bug repository for suggestions for enhancements
diff -ru -P -x .mirror -x ls_lR -x Old R-release-orig/doc/html/NEWS.html R-patched/doc/html/NEWS.html
--- R-release-orig/doc/html/NEWS.html	2025-10-31 15:14:05.000000000 +0100
+++ R-patched/doc/html/NEWS.html	2025-11-21 01:35:34.745573308 +0100
@@ -420,6 +420,16 @@
 already available since <span class="rlang"><b>R</b></span> 4.4.0.)
 </p>
 </li>
+<li><p> New connection type <code>zstdfile</code> for files compressed by
+<code>zstd</code> if <span class="rlang"><b>R</b></span> was built with such support.  <code>file()</code>
+and <code>gzfile()</code> can automagically read such files.
+</p>
+</li>
+<li> <p><code>memCompress()</code> and <code>memDecompress()</code> have options
+to use <code>zstd</code> compression if <span class="rlang"><b>R</b></span> was built with support
+for it.
+</p>
+</li>
 <li><p> There is some support for <code>zstd</code> compression of
 tarballs in <code>tar()</code> and <code>untar()</code>.  (This depends on OS
 support of <code>libzstd</code> or by <code>tar</code>.)
diff -ru -P -x .mirror -x ls_lR -x Old R-release-orig/doc/html/R-admin.html R-patched/doc/html/R-admin.html
--- R-release-orig/doc/html/R-admin.html	2025-10-31 15:14:25.000000000 +0100
+++ R-patched/doc/html/R-admin.html	2025-11-21 01:44:58.744057871 +0100
@@ -1,11 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html>
 <html>
-<!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ -->
+<!-- Created by GNU Texinfo 7.2, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual is for R, version 4.5.2 (2025-10-31).
+<!-- This manual is for R, version 4.5.2 Patched (2025-11-19).
 
-Copyright (C) 2001-2025 R Core Team
+Copyright © 2001-2025 R Core Team
 
 Permission is granted to make and distribute verbatim copies of this
 manual provided the copyright notice and this permission notice are
@@ -35,21 +35,18 @@
 <link href="#Obtaining-R" rel="next" title="Obtaining R">
 <style type="text/css">
 <!--
-a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em}
-a.summary-letter {text-decoration: none}
-blockquote.indentedblock {margin-right: 0em}
-div.display {margin-left: 3.2em}
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+a.summary-letter-printindex {text-decoration: none}
 div.example {margin-left: 3.2em}
-kbd {font-style: oblique}
-pre.display {font-family: inherit}
-pre.format {font-family: inherit}
-pre.menu-comment {font-family: serif}
-pre.menu-preformatted {font-family: serif}
-span.nolinebreak {white-space: nowrap}
-span.roman {font-family: initial; font-weight: normal}
-span.sansserif {font-family: sans-serif; font-weight: normal}
-span:hover a.copiable-anchor {visibility: visible}
-ul.no-bullet {list-style: none}
+kbd.kbd {font-style: oblique}
+span.r {font-family: initial; font-weight: normal; font-style: normal}
+span:hover a.copiable-link {visibility: visible}
+td.printindex-index-entry {vertical-align: top}
+td.printindex-index-section {vertical-align: top; padding-left: 1em}
+th.entries-header-printindex {text-align:left}
+th.sections-header-printindex {text-align:left; padding-left: 1em}
+ul.mark-bullet {list-style-type: disc}
+ul.toc-numbered-mark {list-style: none}
 body {
     margin-left: 5%;
     margin-right: 5%;
@@ -131,7 +128,6 @@
 </head>
 
 <body lang="en">
-<h1 class="settitle" align="center">R Installation and Administration</h1>
 
 
 
@@ -154,16 +150,16 @@
 
 
 
-<div class="top" id="Top">
-<span id="R-Installation-and-Administration"></span><h1 class="top">R Installation and Administration</h1>
+<div class="top-level-extent" id="Top">
+<h1 class="top" id="R-Installation-and-Administration"><span>R Installation and Administration<a class="copiable-link" href="#R-Installation-and-Administration"> &para;</a></span></h1>
 
 <p>This is a guide to installation and administration for R.
 </p>
-<p>This manual is for R, version 4.5.2 (2025-10-31).
+<p>This manual is for R, version 4.5.2 Patched (2025-11-19).
 </p>
 <p>Copyright &copy; 2001&ndash;2025 R Core Team
 </p>
-<blockquote>
+<blockquote class="quotation">
 <p>Permission is granted to make and distribute verbatim copies of this
 manual provided the copyright notice and this permission notice are
 preserved on all copies.
@@ -182,308 +178,308 @@
 
 
 
-<div class="Contents_element" id="SEC_Contents">
+<div class="region-contents" id="SEC_Contents">
 <h2 class="contents-heading">Table of Contents</h2>
 
 <div class="contents">
 
-<ul class="no-bullet">
-  <li><a id="toc-Obtaining-R-1" href="#Obtaining-R">1 Obtaining R</a>
-  <ul class="no-bullet">
-    <li><a id="toc-Getting-and-unpacking-the-sources-1" href="#Getting-and-unpacking-the-sources">1.1 Getting and unpacking the sources</a></li>
-    <li><a id="toc-Getting-patched-and-development-versions-1" href="#Getting-patched-and-development-versions">1.2 Getting patched and development versions</a>
-    <ul class="no-bullet">
-      <li><a id="toc-Using-Subversion-and-rsync-1" href="#Using-Subversion-and-rsync">1.2.1 Using Subversion and rsync</a></li>
+<ul class="toc-numbered-mark">
+  <li><a id="toc-Obtaining-R" href="#Obtaining-R">1 Obtaining R</a>
+  <ul class="toc-numbered-mark">
+    <li><a id="toc-Getting-and-unpacking-the-sources" href="#Getting-and-unpacking-the-sources">1.1 Getting and unpacking the sources</a></li>
+    <li><a id="toc-Getting-patched-and-development-versions" href="#Getting-patched-and-development-versions">1.2 Getting patched and development versions</a>
+    <ul class="toc-numbered-mark">
+      <li><a id="toc-Using-Subversion-and-rsync" href="#Using-Subversion-and-rsync">1.2.1 Using Subversion and rsync</a></li>
     </ul></li>
   </ul></li>
-  <li><a id="toc-Installing-R-under-Unix_002dalikes-1" href="#Installing-R-under-Unix_002dalikes">2 Installing R under Unix-alikes</a>
-  <ul class="no-bullet">
-    <li><a id="toc-Simple-compilation-1" href="#Simple-compilation">2.1 Simple compilation</a></li>
-    <li><a id="toc-Help-options-1" href="#Help-options">2.2 Help options</a></li>
-    <li><a id="toc-Making-the-manuals-1" href="#Making-the-manuals">2.3 Making the manuals</a></li>
-    <li><a id="toc-Installation-1" href="#Installation">2.4 Installation</a></li>
-    <li><a id="toc-Uninstallation-1" href="#Uninstallation">2.5 Uninstallation</a></li>
-    <li><a id="toc-Sub_002darchitectures-1" href="#Sub_002darchitectures">2.6 Sub-architectures</a></li>
-    <li><a id="toc-Other-Options-1" href="#Other-Options">2.7 Other Options</a>
-    <ul class="no-bullet">
-      <li><a id="toc-Debugging-Symbols-1" href="#Debugging-Symbols">2.7.1 Debugging Symbols</a></li>
-      <li><a id="toc-OpenMP-Support-1" href="#OpenMP-Support">2.7.2 <abbr>OpenMP</abbr> Support</a></li>
-      <li><a id="toc-C_002b_002b-Support-1" href="#C_002b_002b-Support">2.7.3 C++ Support</a></li>
-      <li><a id="toc-C-standards-1" href="#C-standards">2.7.4 C standards</a></li>
-      <li><a id="toc-Link_002dTime-Optimization-1" href="#Link_002dTime-Optimization">2.7.5 Link-Time Optimization</a>
-      <ul class="no-bullet">
-        <li><a id="toc-LTO-with-GCC-1" href="#LTO-with-GCC">2.7.5.1 <abbr>LTO</abbr> with GCC</a></li>
-        <li><a id="toc-LTO-with-LLVM-1" href="#LTO-with-LLVM">2.7.5.2 <abbr>LTO</abbr> with LLVM</a></li>
-        <li><a id="toc-LTO-for-package-checking-1" href="#LTO-for-package-checking">2.7.5.3 <abbr>LTO</abbr> for package checking</a></li>
+  <li><a id="toc-Installing-R-under-Unix_002dalikes" href="#Installing-R-under-Unix_002dalikes">2 Installing R under Unix-alikes</a>
+  <ul class="toc-numbered-mark">
+    <li><a id="toc-Simple-compilation" href="#Simple-compilation">2.1 Simple compilation</a></li>
+    <li><a id="toc-Help-options" href="#Help-options">2.2 Help options</a></li>
+    <li><a id="toc-Making-the-manuals" href="#Making-the-manuals">2.3 Making the manuals</a></li>
+    <li><a id="toc-Installation" href="#Installation">2.4 Installation</a></li>
+    <li><a id="toc-Uninstallation" href="#Uninstallation">2.5 Uninstallation</a></li>
+    <li><a id="toc-Sub_002darchitectures" href="#Sub_002darchitectures">2.6 Sub-architectures</a></li>
+    <li><a id="toc-Other-Options" href="#Other-Options">2.7 Other Options</a>
+    <ul class="toc-numbered-mark">
+      <li><a id="toc-Debugging-Symbols" href="#Debugging-Symbols">2.7.1 Debugging Symbols</a></li>
+      <li><a id="toc-OpenMP-Support" href="#OpenMP-Support">2.7.2 <abbr class="abbr">OpenMP</abbr> Support</a></li>
+      <li><a id="toc-C_002b_002b-Support" href="#C_002b_002b-Support">2.7.3 C++ Support</a></li>
+      <li><a id="toc-C-standards" href="#C-standards">2.7.4 C standards</a></li>
+      <li><a id="toc-Link_002dTime-Optimization" href="#Link_002dTime-Optimization">2.7.5 Link-Time Optimization</a>
+      <ul class="toc-numbered-mark">
+        <li><a id="toc-LTO-with-GCC" href="#LTO-with-GCC">2.7.5.1 <abbr class="abbr">LTO</abbr> with GCC</a></li>
+        <li><a id="toc-LTO-with-LLVM" href="#LTO-with-LLVM">2.7.5.2 <abbr class="abbr">LTO</abbr> with LLVM</a></li>
+        <li><a id="toc-LTO-for-package-checking" href="#LTO-for-package-checking">2.7.5.3 <abbr class="abbr">LTO</abbr> for package checking</a></li>
       </ul></li>
     </ul></li>
     <li><a id="toc-Testing-an-Installation" href="#Testing-a-Unix_002dalike-Installation">2.8 Testing an Installation</a></li>
   </ul></li>
-  <li><a id="toc-Installing-R-under-Windows-1" href="#Installing-R-under-Windows">3 Installing R under Windows</a>
-  <ul class="no-bullet">
-    <li><a id="toc-Building-from-source-1" href="#Building-from-source">3.1 Building from source</a>
-    <ul class="no-bullet">
-      <li><a id="toc-The-Windows-toolset-1" href="#The-Windows-toolset">3.1.1 The Windows toolset</a></li>
+  <li><a id="toc-Installing-R-under-Windows" href="#Installing-R-under-Windows">3 Installing R under Windows</a>
+  <ul class="toc-numbered-mark">
+    <li><a id="toc-Building-from-source" href="#Building-from-source">3.1 Building from source</a>
+    <ul class="toc-numbered-mark">
+      <li><a id="toc-The-Windows-toolset" href="#The-Windows-toolset">3.1.1 The Windows toolset</a></li>
       <li><a id="toc-LaTeX" href="#LaTeX-on-Windows">3.1.2 LaTeX</a></li>
     </ul></li>
-    <li><a id="toc-Checking-the-build-1" href="#Checking-the-build">3.2 Checking the build</a></li>
+    <li><a id="toc-Checking-the-build" href="#Checking-the-build">3.2 Checking the build</a></li>
     <li><a id="toc-Testing-an-Installation-1" href="#Testing-a-Windows-Installation">3.3 Testing an Installation</a></li>
   </ul></li>
-  <li><a id="toc-Installing-R-under-macOS-1" href="#Installing-R-under-macOS">4 Installing R under macOS</a>
-  <ul class="no-bullet">
-    <li><a id="toc-Running-R-under-macOS-1" href="#Running-R-under-macOS">4.1 Running R under macOS</a></li>
-    <li><a id="toc-Uninstalling-under-macOS-1" href="#Uninstalling-under-macOS">4.2 Uninstalling under macOS</a></li>
-    <li><a id="toc-Multiple-versions-1" href="#Multiple-versions">4.3 Multiple versions</a></li>
+  <li><a id="toc-Installing-R-under-macOS" href="#Installing-R-under-macOS">4 Installing R under macOS</a>
+  <ul class="toc-numbered-mark">
+    <li><a id="toc-Running-R-under-macOS" href="#Running-R-under-macOS">4.1 Running R under macOS</a></li>
+    <li><a id="toc-Uninstalling-under-macOS" href="#Uninstalling-under-macOS">4.2 Uninstalling under macOS</a></li>
+    <li><a id="toc-Multiple-versions" href="#Multiple-versions">4.3 Multiple versions</a></li>
   </ul></li>
-  <li><a id="toc-Running-R-1" href="#Running-R">5 Running R</a></li>
-  <li><a id="toc-Add_002don-packages-1" href="#Add_002don-packages">6 Add-on packages</a>
-  <ul class="no-bullet">
-    <li><a id="toc-Default-packages-1" href="#Default-packages">6.1 Default packages</a></li>
-    <li><a id="toc-Managing-libraries-1" href="#Managing-libraries">6.2 Managing libraries</a></li>
-    <li><a id="toc-Installing-packages-1" href="#Installing-packages">6.3 Installing packages</a>
-    <ul class="no-bullet">
+  <li><a id="toc-Running-R" href="#Running-R">5 Running R</a></li>
+  <li><a id="toc-Add_002don-packages" href="#Add_002don-packages">6 Add-on packages</a>
+  <ul class="toc-numbered-mark">
+    <li><a id="toc-Default-packages" href="#Default-packages">6.1 Default packages</a></li>
+    <li><a id="toc-Managing-libraries" href="#Managing-libraries">6.2 Managing libraries</a></li>
+    <li><a id="toc-Installing-packages" href="#Installing-packages">6.3 Installing packages</a>
+    <ul class="toc-numbered-mark">
       <li><a id="toc-Windows" href="#Windows-packages">6.3.1 Windows</a></li>
-      <li><a id="toc-macOS-1" href="#macOS-packages">6.3.2 macOS</a></li>
-      <li><a id="toc-Customizing-package-compilation-1" href="#Customizing-package-compilation">6.3.3 Customizing package compilation</a></li>
-      <li><a id="toc-Multiple-sub_002darchitectures-1" href="#Multiple-sub_002darchitectures">6.3.4 Multiple sub-architectures</a></li>
-      <li><a id="toc-Byte_002dcompilation-1" href="#Byte_002dcompilation">6.3.5 Byte-compilation</a></li>
-      <li><a id="toc-External-software-1" href="#External-software">6.3.6 External software</a></li>
+      <li><a id="toc-macOS" href="#macOS-packages">6.3.2 macOS</a></li>
+      <li><a id="toc-Customizing-package-compilation" href="#Customizing-package-compilation">6.3.3 Customizing package compilation</a></li>
+      <li><a id="toc-Multiple-sub_002darchitectures" href="#Multiple-sub_002darchitectures">6.3.4 Multiple sub-architectures</a></li>
+      <li><a id="toc-Byte_002dcompilation" href="#Byte_002dcompilation">6.3.5 Byte-compilation</a></li>
+      <li><a id="toc-External-software" href="#External-software">6.3.6 External software</a></li>
     </ul></li>
-    <li><a id="toc-Updating-packages-1" href="#Updating-packages">6.4 Updating packages</a></li>
-    <li><a id="toc-Removing-packages-1" href="#Removing-packages">6.5 Removing packages</a></li>
-    <li><a id="toc-Setting-up-a-package-repository-1" href="#Setting-up-a-package-repository">6.6 Setting up a package repository</a></li>
-    <li><a id="toc-Checking-installed-source-packages-1" href="#Checking-installed-source-packages">6.7 Checking installed source packages</a></li>
+    <li><a id="toc-Updating-packages" href="#Updating-packages">6.4 Updating packages</a></li>
+    <li><a id="toc-Removing-packages" href="#Removing-packages">6.5 Removing packages</a></li>
+    <li><a id="toc-Setting-up-a-package-repository" href="#Setting-up-a-package-repository">6.6 Setting up a package repository</a></li>
+    <li><a id="toc-Checking-installed-source-packages" href="#Checking-installed-source-packages">6.7 Checking installed source packages</a></li>
   </ul></li>
   <li><a id="toc-Internationalization-and-Localization" href="#Internationalization">7 Internationalization and Localization</a>
-  <ul class="no-bullet">
-    <li><a id="toc-Locales-1" href="#Locales">7.1 Locales</a>
-    <ul class="no-bullet">
-      <li><a id="toc-Locales-under-Unix_002dalikes-1" href="#Locales-under-Unix_002dalikes">7.1.1 Locales under Unix-alikes</a></li>
-      <li><a id="toc-Locales-under-Windows-1" href="#Locales-under-Windows">7.1.2 Locales under Windows</a></li>
-      <li><a id="toc-Locales-under-macOS-1" href="#Locales-under-macOS">7.1.3 Locales under macOS</a></li>
+  <ul class="toc-numbered-mark">
+    <li><a id="toc-Locales" href="#Locales">7.1 Locales</a>
+    <ul class="toc-numbered-mark">
+      <li><a id="toc-Locales-under-Unix_002dalikes" href="#Locales-under-Unix_002dalikes">7.1.1 Locales under Unix-alikes</a></li>
+      <li><a id="toc-Locales-under-Windows" href="#Locales-under-Windows">7.1.2 Locales under Windows</a></li>
+      <li><a id="toc-Locales-under-macOS" href="#Locales-under-macOS">7.1.3 Locales under macOS</a></li>
     </ul></li>
-    <li><a id="toc-Localization-of-messages-1" href="#Localization-of-messages">7.2 Localization of messages</a></li>
+    <li><a id="toc-Localization-of-messages" href="#Localization-of-messages">7.2 Localization of messages</a></li>
   </ul></li>
-  <li><a id="toc-Choosing-between-32_002d-and-64_002dbit-builds-1" href="#Choosing-between-32_002d-and-64_002dbit-builds">8 Choosing between 32- and 64-bit builds</a></li>
-  <li><a id="toc-The-standalone-Rmath-library-1" href="#The-standalone-Rmath-library">9 The standalone Rmath library</a>
-  <ul class="no-bullet">
+  <li><a id="toc-Choosing-between-32_002d-and-64_002dbit-builds" href="#Choosing-between-32_002d-and-64_002dbit-builds">8 Choosing between 32- and 64-bit builds</a></li>
+  <li><a id="toc-The-standalone-Rmath-library" href="#The-standalone-Rmath-library">9 The standalone Rmath library</a>
+  <ul class="toc-numbered-mark">
     <li><a id="toc-Unix_002dalikes" href="#Unix_002dalike-standalone">9.1 Unix-alikes</a></li>
     <li><a id="toc-Windows-1" href="#Windows-standalone">9.2 Windows</a></li>
   </ul></li>
-  <li><a id="toc-Essential-and-useful-other-programs-under-a-Unix_002dalike-1" href="#Essential-and-useful-other-programs-under-a-Unix_002dalike">Appendix A Essential and useful other programs under a Unix-alike</a>
-  <ul class="no-bullet">
-    <li><a id="toc-Essential-programs-and-libraries-1" href="#Essential-programs-and-libraries">A.1 Essential programs and libraries</a></li>
-    <li><a id="toc-Useful-libraries-and-programs-1" href="#Useful-libraries-and-programs">A.2 Useful libraries and programs</a>
-    <ul class="no-bullet">
-      <li><a id="toc-Tcl_002fTk-1" href="#Tcl_002fTk">A.2.1 Tcl/Tk</a></li>
-      <li><a id="toc-Java-support-1" href="#Java-support">A.2.2 Java support</a></li>
-      <li><a id="toc-Other-compiled-languages-1" href="#Other-compiled-languages">A.2.3 Other compiled languages</a></li>
+  <li><a id="toc-Essential-and-useful-other-programs-under-a-Unix_002dalike" href="#Essential-and-useful-other-programs-under-a-Unix_002dalike">Appendix A Essential and useful other programs under a Unix-alike</a>
+  <ul class="toc-numbered-mark">
+    <li><a id="toc-Essential-programs-and-libraries" href="#Essential-programs-and-libraries">A.1 Essential programs and libraries</a></li>
+    <li><a id="toc-Useful-libraries-and-programs" href="#Useful-libraries-and-programs">A.2 Useful libraries and programs</a>
+    <ul class="toc-numbered-mark">
+      <li><a id="toc-Tcl_002fTk" href="#Tcl_002fTk">A.2.1 Tcl/Tk</a></li>
+      <li><a id="toc-Java-support" href="#Java-support">A.2.2 Java support</a></li>
+      <li><a id="toc-Other-compiled-languages" href="#Other-compiled-languages">A.2.3 Other compiled languages</a></li>
     </ul></li>
-    <li><a id="toc-Linear-algebra-1" href="#Linear-algebra">A.3 Linear algebra</a>
-    <ul class="no-bullet">
-      <li><a id="toc-BLAS-1" href="#BLAS">A.3.1 BLAS</a>
-      <ul class="no-bullet">
-        <li><a id="toc-ATLAS-1" href="#ATLAS">A.3.1.1 ATLAS</a></li>
-        <li><a id="toc-OpenBLAS-and-BLIS-1" href="#OpenBLAS-and-BLIS">A.3.1.2 OpenBLAS and BLIS</a></li>
+    <li><a id="toc-Linear-algebra" href="#Linear-algebra">A.3 Linear algebra</a>
+    <ul class="toc-numbered-mark">
+      <li><a id="toc-BLAS" href="#BLAS">A.3.1 BLAS</a>
+      <ul class="toc-numbered-mark">
+        <li><a id="toc-ATLAS" href="#ATLAS">A.3.1.1 ATLAS</a></li>
+        <li><a id="toc-OpenBLAS-and-BLIS" href="#OpenBLAS-and-BLIS">A.3.1.2 OpenBLAS and BLIS</a></li>
         <li><a id="toc-Intel-MKL" href="#MKL">A.3.1.3 Intel MKL</a></li>
-        <li><a id="toc-Shared-BLAS-1" href="#Shared-BLAS">A.3.1.4 Shared BLAS</a></li>
+        <li><a id="toc-Shared-BLAS" href="#Shared-BLAS">A.3.1.4 Shared BLAS</a></li>
       </ul></li>
-      <li><a id="toc-LAPACK-1" href="#LAPACK">A.3.2 LAPACK</a></li>
-      <li><a id="toc-Caveats-1" href="#Caveats">A.3.3 Caveats</a></li>
+      <li><a id="toc-LAPACK" href="#LAPACK">A.3.2 LAPACK</a></li>
+      <li><a id="toc-Caveats" href="#Caveats">A.3.3 Caveats</a></li>
     </ul></li>
   </ul></li>
-  <li><a id="toc-Configuration-on-a-Unix_002dalike-1" href="#Configuration-on-a-Unix_002dalike">Appendix B Configuration on a Unix-alike</a>
-  <ul class="no-bullet">
-    <li><a id="toc-Configuration-options-1" href="#Configuration-options">B.1 Configuration options</a></li>
-    <li><a id="toc-Internationalization-support-1" href="#Internationalization-support">B.2 Internationalization support</a></li>
-    <li><a id="toc-Configuration-variables-1" href="#Configuration-variables">B.3 Configuration variables</a>
-    <ul class="no-bullet">
-      <li><a id="toc-Setting-paper-size-1" href="#Setting-paper-size">B.3.1 Setting paper size</a></li>
-      <li><a id="toc-Setting-the-browsers-1" href="#Setting-the-browsers">B.3.2 Setting the browsers</a></li>
-      <li><a id="toc-Compilation-flags-1" href="#Compilation-flags">B.3.3 Compilation flags</a></li>
-      <li><a id="toc-Making-manuals-1" href="#Making-manuals">B.3.4 Making manuals</a></li>
+  <li><a id="toc-Configuration-on-a-Unix_002dalike" href="#Configuration-on-a-Unix_002dalike">Appendix B Configuration on a Unix-alike</a>
+  <ul class="toc-numbered-mark">
+    <li><a id="toc-Configuration-options" href="#Configuration-options">B.1 Configuration options</a></li>
+    <li><a id="toc-Internationalization-support" href="#Internationalization-support">B.2 Internationalization support</a></li>
+    <li><a id="toc-Configuration-variables" href="#Configuration-variables">B.3 Configuration variables</a>
+    <ul class="toc-numbered-mark">
+      <li><a id="toc-Setting-paper-size" href="#Setting-paper-size">B.3.1 Setting paper size</a></li>
+      <li><a id="toc-Setting-the-browsers" href="#Setting-the-browsers">B.3.2 Setting the browsers</a></li>
+      <li><a id="toc-Compilation-flags" href="#Compilation-flags">B.3.3 Compilation flags</a></li>
+      <li><a id="toc-Making-manuals" href="#Making-manuals">B.3.4 Making manuals</a></li>
     </ul></li>
-    <li><a id="toc-Setting-the-shell-1" href="#Setting-the-shell">B.4 Setting the shell</a></li>
-    <li><a id="toc-Using-make-1" href="#Using-make">B.5 Using make</a></li>
-    <li><a id="toc-Using-Fortran-1" href="#Using-Fortran">B.6 Using Fortran</a></li>
-    <li><a id="toc-Compile-and-load-flags-1" href="#Compile-and-load-flags">B.7 Compile and load flags</a></li>
-    <li><a id="toc-Maintainer-mode-1" href="#Maintainer-mode">B.8 Maintainer mode</a></li>
+    <li><a id="toc-Setting-the-shell" href="#Setting-the-shell">B.4 Setting the shell</a></li>
+    <li><a id="toc-Using-make" href="#Using-make">B.5 Using make</a></li>
+    <li><a id="toc-Using-Fortran" href="#Using-Fortran">B.6 Using Fortran</a></li>
+    <li><a id="toc-Compile-and-load-flags" href="#Compile-and-load-flags">B.7 Compile and load flags</a></li>
+    <li><a id="toc-Maintainer-mode" href="#Maintainer-mode">B.8 Maintainer mode</a></li>
   </ul></li>
-  <li><a id="toc-Platform-notes-1" href="#Platform-notes">Appendix C Platform notes</a>
-  <ul class="no-bullet">
-    <li><a id="toc-X11-issues-1" href="#X11-issues">C.1 X11 issues</a></li>
-    <li><a id="toc-Linux-1" href="#Linux">C.2 Linux</a>
-    <ul class="no-bullet">
-      <li><a id="toc-Clang-1" href="#Clang">C.2.1 Clang</a></li>
-      <li><a id="toc-flang-1" href="#flang">C.2.2 flang</a></li>
-      <li><a id="toc-Intel-compilers-1" href="#Intel-compilers">C.2.3 Intel compilers</a></li>
+  <li><a id="toc-Platform-notes" href="#Platform-notes">Appendix C Platform notes</a>
+  <ul class="toc-numbered-mark">
+    <li><a id="toc-X11-issues" href="#X11-issues">C.1 X11 issues</a></li>
+    <li><a id="toc-Linux" href="#Linux">C.2 Linux</a>
+    <ul class="toc-numbered-mark">
+      <li><a id="toc-Clang" href="#Clang">C.2.1 Clang</a></li>
+      <li><a id="toc-flang" href="#flang">C.2.2 flang</a></li>
+      <li><a id="toc-Intel-compilers" href="#Intel-compilers">C.2.3 Intel compilers</a></li>
     </ul></li>
-    <li><a id="toc-macOS-2" href="#macOS">C.3 macOS</a>
-    <ul class="no-bullet">
-      <li><a id="toc-Prerequisites-1" href="#Prerequisites">C.3.1 Prerequisites</a></li>
+    <li><a id="toc-macOS-1" href="#macOS">C.3 macOS</a>
+    <ul class="toc-numbered-mark">
+      <li><a id="toc-Prerequisites" href="#Prerequisites">C.3.1 Prerequisites</a></li>
       <li><a id="toc-Fortran-compiler" href="#Fortran-compilers">C.3.2 Fortran compiler</a></li>
-      <li><a id="toc-Cairo-graphics-1" href="#Cairo-graphics">C.3.3 Cairo graphics</a></li>
-      <li><a id="toc-Other-C_002fC_002b_002b-compilers-1" href="#Other-C_002fC_002b_002b-compilers">C.3.4 Other C/C++ compilers</a></li>
-      <li><a id="toc-Other-libraries-1" href="#Other-libraries">C.3.5 Other libraries</a>
-      <ul class="no-bullet">
-        <li><a id="toc-Accelerate-1" href="#Accelerate">C.3.5.1 Accelerate</a></li>
+      <li><a id="toc-Cairo-graphics" href="#Cairo-graphics">C.3.3 Cairo graphics</a></li>
+      <li><a id="toc-Other-C_002fC_002b_002b-compilers" href="#Other-C_002fC_002b_002b-compilers">C.3.4 Other C/C++ compilers</a></li>
+      <li><a id="toc-Other-libraries" href="#Other-libraries">C.3.5 Other libraries</a>
+      <ul class="toc-numbered-mark">
+        <li><a id="toc-Accelerate" href="#Accelerate">C.3.5.1 Accelerate</a></li>
         <li><a id="toc-OpenBLAS" href="#OpenBLAS-_0028macOS_0029">C.3.5.2 OpenBLAS</a></li>
       </ul></li>
-      <li><a id="toc-Tcl_002fTk-headers-and-libraries-1" href="#Tcl_002fTk-headers-and-libraries">C.3.6 Tcl/Tk headers and libraries</a></li>
+      <li><a id="toc-Tcl_002fTk-headers-and-libraries" href="#Tcl_002fTk-headers-and-libraries">C.3.6 Tcl/Tk headers and libraries</a></li>
       <li><a id="toc-Java" href="#Java-_0028macOS_0029">C.3.7 Java</a></li>
-      <li><a id="toc-Frameworks-1" href="#Frameworks">C.3.8 Frameworks</a></li>
-      <li><a id="toc-Building-R_002eapp-1" href="#Building-R_002eapp">C.3.9 Building R.app</a></li>
-      <li><a id="toc-Building-binary-packages-1" href="#Building-binary-packages">C.3.10 Building binary packages</a></li>
-      <li><a id="toc-Building-for-Intel-on-arm64-1" href="#Building-for-Intel-on-arm64">C.3.11 Building for Intel on &lsquo;<samp>arm64</samp>&rsquo;</a></li>
-      <li><a id="toc-Installer-1" href="#Installer">C.3.12 Installer</a></li>
+      <li><a id="toc-Frameworks" href="#Frameworks">C.3.8 Frameworks</a></li>
+      <li><a id="toc-Building-R_002eapp" href="#Building-R_002eapp">C.3.9 Building R.app</a></li>
+      <li><a id="toc-Building-binary-packages" href="#Building-binary-packages">C.3.10 Building binary packages</a></li>
+      <li><a id="toc-Building-for-Intel-on-arm64" href="#Building-for-Intel-on-arm64">C.3.11 Building for Intel on &lsquo;<samp class="samp">arm64</samp>&rsquo;</a></li>
+      <li><a id="toc-Installer" href="#Installer">C.3.12 Installer</a></li>
     </ul></li>
-    <li><a id="toc-FreeBSD-1" href="#FreeBSD">C.4 FreeBSD</a></li>
-    <li><a id="toc-OpenBSD-1" href="#OpenBSD">C.5 OpenBSD</a></li>
-    <li><a id="toc-Cygwin-1" href="#Cygwin">C.6 Cygwin</a></li>
-    <li><a id="toc-New-platforms-1" href="#New-platforms">C.7 New platforms</a></li>
+    <li><a id="toc-FreeBSD" href="#FreeBSD">C.4 FreeBSD</a></li>
+    <li><a id="toc-OpenBSD" href="#OpenBSD">C.5 OpenBSD</a></li>
+    <li><a id="toc-Cygwin" href="#Cygwin">C.6 Cygwin</a></li>
+    <li><a id="toc-New-platforms" href="#New-platforms">C.7 New platforms</a></li>
   </ul></li>
-  <li><a id="toc-Function-and-variable-index-1" href="#Function-and-variable-index" rel="index">Function and variable index</a></li>
-  <li><a id="toc-Environment-variable-index-1" href="#Environment-variable-index" rel="index">Environment variable index</a></li>
-  <li><a id="toc-Concept-index-1" href="#Concept-index" rel="index">Concept index</a></li>
+  <li><a id="toc-Function-and-variable-index" href="#Function-and-variable-index" rel="index">Function and variable index</a></li>
+  <li><a id="toc-Environment-variable-index" href="#Environment-variable-index" rel="index">Environment variable index</a></li>
+  <li><a id="toc-Concept-index" href="#Concept-index" rel="index">Concept index</a></li>
 </ul>
 </div>
 </div>
 <hr>
-<div class="chapter" id="Obtaining-R">
-<span id="Obtaining-R-1"></span><h2 class="chapter">1 Obtaining R</h2>
-<span id="index-Obtaining-R"></span>
+<div class="chapter-level-extent" id="Obtaining-R">
+<h2 class="chapter" id="Obtaining-R-1"><span>1 Obtaining R<a class="copiable-link" href="#Obtaining-R-1"> &para;</a></span></h2>
+<a class="index-entry-id" id="index-Obtaining-R"></a>
 
 <p>Sources, binaries and documentation for R can be obtained via
-<acronym>CRAN</acronym>, the &ldquo;Comprehensive R Archive Network&rdquo; whose current
-members are listed at <a href="https://CRAN.R-project.org/mirrors.html">https://CRAN.R-project.org/mirrors.html</a>.
+<abbr class="acronym">CRAN</abbr>, the &ldquo;Comprehensive R Archive Network&rdquo; whose current
+members are listed at <a class="uref" href="https://CRAN.R-project.org/mirrors.html">https://CRAN.R-project.org/mirrors.html</a>.
 </p>
 
 <hr>
-<div class="section" id="Getting-and-unpacking-the-sources">
-<span id="Getting-and-unpacking-the-sources-1"></span><h3 class="section">1.1 Getting and unpacking the sources</h3>
-<span id="index-Sources-for-R"></span>
+<div class="section-level-extent" id="Getting-and-unpacking-the-sources">
+<h3 class="section" id="Getting-and-unpacking-the-sources-1"><span>1.1 Getting and unpacking the sources<a class="copiable-link" href="#Getting-and-unpacking-the-sources-1"> &para;</a></span></h3>
+<a class="index-entry-id" id="index-Sources-for-R"></a>
 
 <p>The simplest way is to download the most recent
-<samp>R-<var>x</var>.<var>y</var>.<var>z</var>.tar.gz</samp> file, and unpack it with
+<samp class="file">R-<var class="var">x</var>.<var class="var">y</var>.<var class="var">z</var>.tar.gz</samp> file, and unpack it with
 </p>
 <div class="example">
-<pre class="example">tar -xf R-<var>x</var>.<var>y</var>.<var>z</var>.tar.gz
+<pre class="example-preformatted">tar -xf R-<var class="var">x</var>.<var class="var">y</var>.<var class="var">z</var>.tar.gz
 </pre></div>
 
-<p>on systems that have a suitable<a id="DOCF1" href="#FOOT1"><sup>1</sup></a>
-<code>tar</code> installed.  On other systems you need to have the
-<code>gzip</code> program installed, when you can use
+<p>on systems that have a suitable<a class="footnote" id="DOCF1" href="#FOOT1"><sup>1</sup></a>
+<code class="command">tar</code> installed.  On other systems you need to have the
+<code class="command">gzip</code> program installed, when you can use
 </p>
 <div class="example">
-<pre class="example">gzip -dc R-<var>x</var>.<var>y</var>.<var>z</var>.tar.gz | tar -xf -
+<pre class="example-preformatted">gzip -dc R-<var class="var">x</var>.<var class="var">y</var>.<var class="var">z</var>.tar.gz | tar -xf -
 </pre></div>
 
 <p>The pathname of the directory into which the sources are unpacked should
-not contain spaces, as most <code>make</code> programs (and specifically
-<acronym>GNU</acronym> <code>make</code>) do not expect spaces.
+not contain spaces, as most <code class="command">make</code> programs (and specifically
+<abbr class="acronym">GNU</abbr> <code class="command">make</code>) do not expect spaces.
 </p>
-<p>If you want the build to be usable by a group of users, set <code>umask</code>
+<p>If you want the build to be usable by a group of users, set <code class="code">umask</code>
 before unpacking so that the files will be readable by the target group
-(e.g., <code>umask 022</code> to be usable by all users).  Keep this
-setting of <code>umask</code> whilst building and installing.
+(e.g., <code class="code">umask 022</code> to be usable by all users).  Keep this
+setting of <code class="code">umask</code> whilst building and installing.
 </p>
-<p>If you use a fairly recent <acronym>GNU</acronym> version of <code>tar</code> and do
+<p>If you use a fairly recent <abbr class="acronym">GNU</abbr> version of <code class="command">tar</code> and do
 this as a root account (which on Windows includes accounts with
 administrator privileges) you may see many warnings about changing
 ownership.  In which case you can use
 </p>
 <div class="example">
-<pre class="example">tar --no-same-owner -xf R-<var>x</var>.<var>y</var>.<var>z</var>.tar.gz
+<pre class="example-preformatted">tar --no-same-owner -xf R-<var class="var">x</var>.<var class="var">y</var>.<var class="var">z</var>.tar.gz
 </pre></div>
 
-<p>and perhaps also include the option <samp>--no-same-permissions</samp>.
-<span id="index-TAR_005fOPTIONS"></span>
-(These options can also be set in the <code>TAR_OPTIONS</code> environment
+<p>and perhaps also include the option <samp class="option">--no-same-permissions</samp>.
+<a class="index-entry-id" id="index-TAR_005fOPTIONS"></a>
+(These options can also be set in the <code class="env">TAR_OPTIONS</code> environment
 variable: if more than one option is included they should be separated
 by spaces.)
 </p>
 
 <hr>
 </div>
-<div class="section" id="Getting-patched-and-development-versions">
-<span id="Getting-patched-and-development-versions-1"></span><h3 class="section">1.2 Getting patched and development versions</h3>
+<div class="section-level-extent" id="Getting-patched-and-development-versions">
+<h3 class="section" id="Getting-patched-and-development-versions-1"><span>1.2 Getting patched and development versions<a class="copiable-link" href="#Getting-patched-and-development-versions-1"> &para;</a></span></h3>
 
-<p>A patched version of the current release, &lsquo;<samp>r-patched</samp>&rsquo;, and the
-current development version, &lsquo;<samp>r-devel</samp>&rsquo;, are available as daily
+<p>A patched version of the current release, &lsquo;<samp class="samp">r-patched</samp>&rsquo;, and the
+current development version, &lsquo;<samp class="samp">r-devel</samp>&rsquo;, are available as daily
 tarballs and via access to the R Subversion repository.  (For the two
-weeks prior to the release of a minor (4.x.0) version, &lsquo;<samp>r-patched</samp>&rsquo;
+weeks prior to the release of a minor (4.x.0) version, &lsquo;<samp class="samp">r-patched</samp>&rsquo;
 tarballs may refer to beta/release candidates of the upcoming release,
 the patched version of the current release being available via
 Subversion.)
 </p>
 <p>The tarballs are available from
-<a href="https://cran.r-project.org/src/base-prerelease/">https://cran.r-project.org/src/base-prerelease/</a>.  Download
-<samp>R-patched.tar.gz</samp> or <samp>R-devel.tar.gz</samp> (or the <samp>.tar.bz2</samp>
+<a class="uref" href="https://cran.r-project.org/src/base-prerelease/">https://cran.r-project.org/src/base-prerelease/</a>.  Download
+<samp class="file">R-patched.tar.gz</samp> or <samp class="file">R-devel.tar.gz</samp> (or the <samp class="file">.tar.bz2</samp>
 versions) and unpack as described in the previous section.  They are
 built in exactly the same way and on the same platform as distributions
 of R releases. Notice, that you probably want to use the CRAN master
 site for this, due to propagation delays. An
-alternative source of daily snapshots is maintained at <a href="https://stat.ethz.ch/R/daily/">https://stat.ethz.ch/R/daily/</a>.
+alternative source of daily snapshots is maintained at <a class="uref" href="https://stat.ethz.ch/R/daily/">https://stat.ethz.ch/R/daily/</a>.
 </p>
 
 
 <hr>
-<div class="subsection" id="Using-Subversion-and-rsync">
-<span id="Using-Subversion-and-rsync-1"></span><h4 class="subsection">1.2.1 Using Subversion and rsync</h4>
-<span id="index-Subversion"></span>
+<div class="subsection-level-extent" id="Using-Subversion-and-rsync">
+<h4 class="subsection" id="Using-Subversion-and-rsync-1"><span>1.2.1 Using Subversion and rsync<a class="copiable-link" href="#Using-Subversion-and-rsync-1"> &para;</a></span></h4>
+<a class="index-entry-id" id="index-Subversion"></a>
 
-<p>Sources are also available via <a href="https://svn.R-project.org/R/">https://svn.R-project.org/R/</a>, the
+<p>Sources are also available via <a class="uref" href="https://svn.R-project.org/R/">https://svn.R-project.org/R/</a>, the
 R Subversion repository.  If you have a Subversion client (see
-<a href="https://subversion.apache.org/">https://subversion.apache.org/</a>), you can check out and update the
-current &lsquo;<samp>r-devel</samp>&rsquo; from
-<a href="https://svn.r-project.org/R/trunk/">https://svn.r-project.org/R/trunk/</a> and the current
-&lsquo;<samp>r-patched</samp>&rsquo; from
-&lsquo;<samp>https://svn.r-project.org/R/branches/R-<var>x</var>-<var>y</var>-branch/</samp>&rsquo;
-(where <var>x</var> and <var>y</var> are the major and minor number of the current
+<a class="uref" href="https://subversion.apache.org/">https://subversion.apache.org/</a>), you can check out and update the
+current &lsquo;<samp class="samp">r-devel</samp>&rsquo; from
+<a class="uref" href="https://svn.r-project.org/R/trunk/">https://svn.r-project.org/R/trunk/</a> and the current
+&lsquo;<samp class="samp">r-patched</samp>&rsquo; from
+&lsquo;<samp class="samp">https://svn.r-project.org/R/branches/R-<var class="var">x</var>-<var class="var">y</var>-branch/</samp>&rsquo;
+(where <var class="var">x</var> and <var class="var">y</var> are the major and minor number of the current
 released version of R).  E.g., use
 </p>
 <div class="example">
-<pre class="example">svn checkout https://svn.r-project.org/R/trunk/ <var>path</var>
+<pre class="example-preformatted">svn checkout https://svn.r-project.org/R/trunk/ <var class="var">path</var>
 </pre></div>
 
-<p>to check out &lsquo;<samp>r-devel</samp>&rsquo; into directory <var>path</var> (which will be
+<p>to check out &lsquo;<samp class="samp">r-devel</samp>&rsquo; into directory <var class="var">path</var> (which will be
 created if necessary).  The alpha, beta and RC versions of an upcoming
-<var>x.y.0</var> release are available from
-&lsquo;<samp>https://svn.r-project.org/R/branches/R-<var>x</var>-<var>y</var>-branch/</samp>&rsquo; in
+<var class="var">x.y.0</var> release are available from
+&lsquo;<samp class="samp">https://svn.r-project.org/R/branches/R-<var class="var">x</var>-<var class="var">y</var>-branch/</samp>&rsquo; in
 the four-week period prior to the release.
 </p>
-<p>Note that &lsquo;<samp>https:</samp>&rsquo; is required<a id="DOCF2" href="#FOOT2"><sup>2</sup></a>,
-and that the <abbr>SSL</abbr> certificate for the Subversion server of the R
+<p>Note that &lsquo;<samp class="samp">https:</samp>&rsquo; is required<a class="footnote" id="DOCF2" href="#FOOT2"><sup>2</sup></a>,
+and that the <abbr class="abbr">SSL</abbr> certificate for the Subversion server of the R
 project should be recognized as from a trusted source.
 </p>
-<p>Note that retrieving the sources by e.g. <code>wget -r</code> or
-<code>svn export</code> from that URL will not work (and will give a error
-early in the <code>make</code> process): the Subversion information is
+<p>Note that retrieving the sources by e.g. <code class="command">wget -r</code> or
+<code class="command">svn export</code> from that URL will not work (and will give a error
+early in the <code class="command">make</code> process): the Subversion information is
 needed to build R.
 </p>
 <p>The Subversion repository does not contain the current sources for the
-recommended packages, which can be obtained by <code>rsync</code> or
-downloaded from <acronym>CRAN</acronym>.  To use <code>rsync</code> to install the
+recommended packages, which can be obtained by <code class="command">rsync</code> or
+downloaded from <abbr class="acronym">CRAN</abbr>.  To use <code class="code">rsync</code> to install the
 appropriate sources for the recommended packages, run
-<code>./tools/rsync-recommended</code> from the top-level directory of the
+<code class="code">./tools/rsync-recommended</code> from the top-level directory of the
 R sources.
 </p>
-<p>If downloading manually from <acronym>CRAN</acronym>, do ensure that you have the
+<p>If downloading manually from <abbr class="acronym">CRAN</abbr>, do ensure that you have the
 correct versions of the recommended packages: if the number in the file
-<samp>VERSION</samp> is &lsquo;<samp><var>x</var>.<var>y</var>.<var>z</var></samp>&rsquo; you need to download
-the contents of &lsquo;<samp>https://CRAN.R-project.org/src/contrib/<var>dir</var></samp>&rsquo;,
-where <var>dir</var> is &lsquo;<samp><var>x</var>.<var>y</var>.<var>z</var>/Recommended</samp>&rsquo; for
-r-devel or <samp><var>x</var>.<var>y</var>-patched/Recommended</samp> for r-patched,
-respectively, to directory <samp>src/library/Recommended</samp> in the sources
+<samp class="file">VERSION</samp> is &lsquo;<samp class="samp"><var class="var">x</var>.<var class="var">y</var>.<var class="var">z</var></samp>&rsquo; you need to download
+the contents of &lsquo;<samp class="samp">https://CRAN.R-project.org/src/contrib/<var class="var">dir</var></samp>&rsquo;,
+where <var class="var">dir</var> is &lsquo;<samp class="samp"><var class="var">x</var>.<var class="var">y</var>.<var class="var">z</var>/Recommended</samp>&rsquo; for
+r-devel or <samp class="file"><var class="var">x</var>.<var class="var">y</var>-patched/Recommended</samp> for r-patched,
+respectively, to directory <samp class="file">src/library/Recommended</samp> in the sources
 you have unpacked.  After downloading manually you need to execute
-<code>tools/link-recommended</code> from the top level of the sources to
-make the requisite links in <samp>src/library/Recommended</samp>.  A suitable
-incantation from the top level of the R sources using <code>wget</code>
-might be (for the correct value of <samp><var>dir</var></samp>)
+<code class="command">tools/link-recommended</code> from the top level of the sources to
+make the requisite links in <samp class="file">src/library/Recommended</samp>.  A suitable
+incantation from the top level of the R sources using <code class="command">wget</code>
+might be (for the correct value of <samp class="file"><var class="var">dir</var></samp>)
 </p>
 <div class="example">
-<pre class="example">wget -r -l1 --no-parent -A\*.gz -nd -P src/library/Recommended \
-  https://CRAN.R-project.org/src/contrib/<var>dir</var>
+<pre class="example-preformatted">wget -r -l1 --no-parent -A\*.gz -nd -P src/library/Recommended \
+  https://CRAN.R-project.org/src/contrib/<var class="var">dir</var>
 ./tools/link-recommended
 </pre></div>
 
@@ -493,28 +489,28 @@
 </div>
 </div>
 </div>
-<div class="chapter" id="Installing-R-under-Unix_002dalikes">
-<span id="Installing-R-under-Unix_002dalikes-1"></span><h2 class="chapter">2 Installing R under Unix-alikes</h2>
-<span id="index-Installing-under-Unix_002dalikes"></span>
+<div class="chapter-level-extent" id="Installing-R-under-Unix_002dalikes">
+<h2 class="chapter" id="Installing-R-under-Unix_002dalikes-1"><span>2 Installing R under Unix-alikes<a class="copiable-link" href="#Installing-R-under-Unix_002dalikes-1"> &para;</a></span></h2>
+<a class="index-entry-id" id="index-Installing-under-Unix_002dalikes"></a>
 
 <p>R will configure and build under most common Unix and Unix-alike
-platforms including &lsquo;<samp><var>cpu</var>-*-linux-gnu</samp>&rsquo; for the
-&lsquo;<samp>alpha</samp>&rsquo;, &lsquo;<samp>arm64</samp>&rsquo; (also known as &lsquo;<samp>aarch64</samp>&rsquo;,
-&lsquo;<samp>ix86</samp>&rsquo;, &lsquo;<samp>mips</samp>&rsquo;, &lsquo;<samp>mipsel</samp>&rsquo;#, &lsquo;<samp>ppc64</samp>&rsquo;,
-&lsquo;<samp>riscv64</samp>&rsquo;, &lsquo;<samp>s390x</samp>&rsquo;, &lsquo;<samp>sparc64</samp>&rsquo;, and
-&lsquo;<samp>x86_64</samp>&rsquo; <acronym>CPU</acronym>s,
-&lsquo;<samp>aarch64-apple-darwin</samp>&rsquo;<a id="DOCF3" href="#FOOT3"><sup>3</sup></a> and
-&lsquo;<samp>x86_64-apple-darwin</samp>&rsquo;  as well as perhaps (it is
-tested less frequently on these platforms) &lsquo;<samp>x86_64-*-freebsd</samp>&rsquo;,
-&lsquo;<samp>x86_64-*-openbsd</samp>&rsquo; and &lsquo;<samp>powerpc-ibm-aix6*</samp>&rsquo;
+platforms including &lsquo;<samp class="samp"><var class="var">cpu</var>-*-linux-gnu</samp>&rsquo; for the
+&lsquo;<samp class="samp">alpha</samp>&rsquo;, &lsquo;<samp class="samp">arm64</samp>&rsquo; (also known as &lsquo;<samp class="samp">aarch64</samp>&rsquo;,
+&lsquo;<samp class="samp">ix86</samp>&rsquo;, &lsquo;<samp class="samp">mips</samp>&rsquo;, &lsquo;<samp class="samp">mipsel</samp>&rsquo;#, &lsquo;<samp class="samp">ppc64</samp>&rsquo;,
+&lsquo;<samp class="samp">riscv64</samp>&rsquo;, &lsquo;<samp class="samp">s390x</samp>&rsquo;, &lsquo;<samp class="samp">sparc64</samp>&rsquo;, and
+&lsquo;<samp class="samp">x86_64</samp>&rsquo; <abbr class="acronym">CPU</abbr>s,
+&lsquo;<samp class="samp">aarch64-apple-darwin</samp>&rsquo;<a class="footnote" id="DOCF3" href="#FOOT3"><sup>3</sup></a> and
+&lsquo;<samp class="samp">x86_64-apple-darwin</samp>&rsquo;  as well as perhaps (it is
+tested less frequently on these platforms) &lsquo;<samp class="samp">x86_64-*-freebsd</samp>&rsquo;,
+&lsquo;<samp class="samp">x86_64-*-openbsd</samp>&rsquo; and &lsquo;<samp class="samp">powerpc-ibm-aix6*</samp>&rsquo;
 </p>
-<p>Only 64-bit platforms are tested regularly, and <code>configure</code>
+<p>Only 64-bit platforms are tested regularly, and <code class="command">configure</code>
 will warn if it encounters a 32-bit one.
 </p>
-<span id="index-Linux"></span>
-<span id="index-macOS"></span>
+<a class="index-entry-id" id="index-Linux"></a>
+<a class="index-entry-id" id="index-macOS"></a>
 <p>In addition, binary distributions are available for some common Linux
-distributions (see the <acronym>FAQ</acronym> for current details) and for
+distributions (see the <abbr class="acronym">FAQ</abbr> for current details) and for
 macOS.  These are installed in platform-specific ways, so for the rest
 of this chapter we consider only building from the sources.
 </p>
@@ -523,40 +519,40 @@
 </p>
 
 <hr>
-<div class="section" id="Simple-compilation">
-<span id="Simple-compilation-1"></span><h3 class="section">2.1 Simple compilation</h3>
+<div class="section-level-extent" id="Simple-compilation">
+<h3 class="section" id="Simple-compilation-1"><span>2.1 Simple compilation<a class="copiable-link" href="#Simple-compilation-1"> &para;</a></span></h3>
 
 <p>First review the essential and useful tools and libraries in
-<a href="#Essential-and-useful-other-programs-under-a-Unix_002dalike">Essential and useful other programs under a Unix-alike</a>, and install
+<a class="ref" href="#Essential-and-useful-other-programs-under-a-Unix_002dalike">Essential and useful other programs under a Unix-alike</a>, and install
 those you
-<span id="index-TMPDIR"></span>
-want or need.  Ensure that either the environment variable <code>TMPDIR</code>
-is either unset (and <samp>/tmp</samp> exists and can be written in and
+<a class="index-entry-id" id="index-TMPDIR"></a>
+want or need.  Ensure that either the environment variable <code class="env">TMPDIR</code>
+is either unset (and <samp class="file">/tmp</samp> exists and can be written in and
 scripts can be executed from) or points to the absolute path to a valid
 temporary directory (one from which execution of scripts is allowed)
 which does not contain spaces.
 </p>
-<span id="index-R_005fHOME"></span>
+<a class="index-entry-id" id="index-R_005fHOME"></a>
 <p>Choose a directory to install the R tree (R is not just a binary,
 but has additional data sets, help files, font metrics etc).  Let us
-call this place <var>R_HOME</var>.  Untar the source code.  This should
-create directories <samp>src</samp>, <samp>doc</samp>, and several more under a
+call this place <var class="var">R_HOME</var>.  Untar the source code.  This should
+create directories <samp class="file">src</samp>, <samp class="file">doc</samp>, and several more under a
 top-level directory: change to that top-level directory (At this point
-readers in North American should consult <a href="#Setting-paper-size">Setting paper size</a>.)
+readers in North American should consult <a class="ref" href="#Setting-paper-size">Setting paper size</a>.)
 Issue the following commands:
 </p>
-<span id="index-configure"></span>
+<a class="index-entry-id" id="index-configure"></a>
 
 <div class="example">
-<pre class="example">./configure
+<pre class="example-preformatted">./configure
 make
 </pre></div>
 
-<p>(See <a href="#Using-make">Using make</a> if your make is not called &lsquo;<samp>make</samp>&rsquo;.)  Users of
-Debian-based 64-bit systems<a id="DOCF4" href="#FOOT4"><sup>4</sup></a> may need
+<p>(See <a class="ref" href="#Using-make">Using make</a> if your make is not called &lsquo;<samp class="samp">make</samp>&rsquo;.)  Users of
+Debian-based 64-bit systems<a class="footnote" id="DOCF4" href="#FOOT4"><sup>4</sup></a> may need
 </p>
 <div class="example">
-<pre class="example">./configure LIBnn=lib
+<pre class="example-preformatted">./configure LIBnn=lib
 make
 </pre></div>
 
@@ -564,255 +560,255 @@
 <p>Then check the built system works correctly by
 </p>
 <div class="example">
-<pre class="example">make check
+<pre class="example-preformatted">make check
 </pre></div>
 
 <p>Failures are not necessarily problems as they might be caused by missing
 functionality, but you should look carefully at any reported
 discrepancies.  (Some non-fatal errors are expected in locales that do
-not support Latin-1, in particular in true <code>C</code> locales and
+not support Latin-1, in particular in true <code class="code">C</code> locales and
 non-UTF-8 non-Western-European locales.)  A failure in
-<samp>tests/ok-errors.R</samp> may indicate inadequate resource limits
-(see <a href="#Running-R">Running R</a>).
+<samp class="file">tests/ok-errors.R</samp> may indicate inadequate resource limits
+(see <a class="pxref" href="#Running-R">Running R</a>).
 </p>
 <p>More comprehensive testing can be done by
 </p>
 <div class="example">
-<pre class="example">make check-devel
+<pre class="example-preformatted">make check-devel
 </pre></div>
 
 <p>or
 </p>
 <div class="example">
-<pre class="example">make check-all
+<pre class="example-preformatted">make check-all
 </pre></div>
 
-<p>see <a href="#Testing-a-Unix_002dalike-Installation">Testing an Installation</a> for the possibilities of
+<p>see <a class="ref" href="#Testing-a-Unix_002dalike-Installation">Testing an Installation</a> for the possibilities of
 doing this in parallel.  Note that these checks are only run completely
 if the recommended packages are installed (the default) .  If you have a
 local CRAN mirror, these checks can be speeded up by either setting
-environment variable <code>R_CRAN_WEB</code> to its URL, or having a file
-<samp>.R/repositories</samp> specifying it (see <code>?setRepositories</code>).
+environment variable <code class="env">R_CRAN_WEB</code> to its URL, or having a file
+<samp class="file">.R/repositories</samp> specifying it (see <code class="code">?setRepositories</code>).
 </p>
-<p><code>make check-devel</code> checks the included packages&rsquo; <samp>tests</samp>
-directories. For <strong>grDevices</strong> more complete checks will be run if
-the environment variable <code>R_GRDEVICES_COMPARE_PS_PDF</code> is set: those
-checks are skipped on platforms using <code>musl</code> such as Alpine Linux, and
+<p><code class="command">make check-devel</code> checks the included packages&rsquo; <samp class="file">tests</samp>
+directories. For <strong class="strong">grDevices</strong> more complete checks will be run if
+the environment variable <code class="env">R_GRDEVICES_COMPARE_PS_PDF</code> is set: those
+checks are skipped on platforms using <code class="code">musl</code> such as Alpine Linux, and
 it knows about differences from transliterations in macOS 14 and later.
 </p>
 <p>Parallel make is supported for building R but not for the
-&lsquo;<samp>check</samp>&rsquo; targets (as the output is likely to be unreadably
-interleaved, although where supported<a id="DOCF5" href="#FOOT5"><sup>5</sup></a> GNU make&rsquo;s <samp>-O</samp> may help).
+&lsquo;<samp class="samp">check</samp>&rsquo; targets (as the output is likely to be unreadably
+interleaved, although where supported<a class="footnote" id="DOCF5" href="#FOOT5"><sup>5</sup></a> GNU make&rsquo;s <samp class="option">-O</samp> may help).
 </p>
-<p>If the <code>configure</code> and <code>make</code> commands execute
-successfully, a shell-script front-end called <samp>R</samp> will be created
-and copied to <samp><var>R_HOME</var>/bin</samp>.  You can link or copy this script
+<p>If the <code class="command">configure</code> and <code class="command">make</code> commands execute
+successfully, a shell-script front-end called <samp class="file">R</samp> will be created
+and copied to <samp class="file"><var class="var">R_HOME</var>/bin</samp>.  You can link or copy this script
 to a place where users can invoke it, for example to
-<samp>/usr/local/bin/R</samp>.  You could also copy the man page <samp>R.1</samp> to
-a place where your <code>man</code> reader finds it, such as
-<samp>/usr/local/man/man1</samp>.  If you want to install the complete R
-tree to, e.g., <samp>/usr/local/lib/R</samp>, see <a href="#Installation">Installation</a>.  Note:
-you do not <em>need</em> to install R: you can run it from where it was
+<samp class="file">/usr/local/bin/R</samp>.  You could also copy the man page <samp class="file">R.1</samp> to
+a place where your <code class="command">man</code> reader finds it, such as
+<samp class="file">/usr/local/man/man1</samp>.  If you want to install the complete R
+tree to, e.g., <samp class="file">/usr/local/lib/R</samp>, see <a class="ref" href="#Installation">Installation</a>.  Note:
+you do not <em class="emph">need</em> to install R: you can run it from where it was
 built.
 </p>
 <p>You do not have to build R in the top-level source directory (say,
-<samp><var>TOP_SRCDIR</var></samp>).  To build in <samp><var>BUILDDIR</var></samp>, run
+<samp class="file"><var class="var">TOP_SRCDIR</var></samp>).  To build in <samp class="file"><var class="var">BUILDDIR</var></samp>, run
 </p>
-<span id="index-configure-1"></span>
+<a class="index-entry-id" id="index-configure-1"></a>
 
 <div class="example">
-<pre class="example">cd <var>BUILDDIR</var>
-<var>TOP_SRCDIR</var>/configure
+<pre class="example-preformatted">cd <var class="var">BUILDDIR</var>
+<var class="var">TOP_SRCDIR</var>/configure
 make
 </pre></div>
 
 <p>and so on, as described further below.  This has the advantage of always
 keeping your source tree clean and is particularly recommended when you
 work with a version of R from Subversion.  (You may need
-<acronym>GNU</acronym> <code>make</code> to allow this, and you will need no spaces
+<abbr class="acronym">GNU</abbr> <code class="command">make</code> to allow this, and you will need no spaces
 in the path to the build directory.  It is unlikely to work if the
 source directory has previously been used for a build.)
 </p>
 <p>There are many settings which can be customized when building R and
-most are described in the file <samp>config.site</samp> in the top-level
+most are described in the file <samp class="file">config.site</samp> in the top-level
 source directory.  This can be edited, but for an installation using
-<samp><var>BUILDDIR</var></samp> it is better to put the changed settings in a
-newly-created file <samp>config.site</samp> in the build directory.
+<samp class="file"><var class="var">BUILDDIR</var></samp> it is better to put the changed settings in a
+newly-created file <samp class="file">config.site</samp> in the build directory.
 </p>
 
 
 
-<p>Now <code>rehash</code> if necessary, type <kbd>R</kbd>, and read the R manuals
-and the R <acronym>FAQ</acronym> (files <samp>FAQ</samp> or
-<samp>doc/manual/R-FAQ.html</samp>, or
-<a href="https://CRAN.R-project.org/doc/FAQ/R-FAQ.html">https://CRAN.R-project.org/doc/FAQ/R-FAQ.html</a> which always
+<p>Now <code class="code">rehash</code> if necessary, type <kbd class="kbd">R</kbd>, and read the R manuals
+and the R <abbr class="acronym">FAQ</abbr> (files <samp class="file">FAQ</samp> or
+<samp class="file">doc/manual/R-FAQ.html</samp>, or
+<a class="uref" href="https://CRAN.R-project.org/doc/FAQ/R-FAQ.html">https://CRAN.R-project.org/doc/FAQ/R-FAQ.html</a> which always
 has the version for the latest release of R).
 </p>
 <p>Note: if you already have R installed, check that where you installed
 R replaces or comes earlier in your path than the previous
-installation.  Some systems are set up to have <samp>/usr/bin</samp> (the
-standard place for a system installation) ahead of <samp>/usr/local/bin</samp>
+installation.  Some systems are set up to have <samp class="file">/usr/bin</samp> (the
+standard place for a system installation) ahead of <samp class="file">/usr/local/bin</samp>
 (the default place for a source installation of R) in their default
-path, and some do not have <samp>/usr/local/bin</samp> on the default path.
+path, and some do not have <samp class="file">/usr/local/bin</samp> on the default path.
 </p>
 
 <hr>
 </div>
-<div class="section" id="Help-options">
-<span id="Help-options-1"></span><h3 class="section">2.2 Help options</h3>
+<div class="section-level-extent" id="Help-options">
+<h3 class="section" id="Help-options-1"><span>2.2 Help options<a class="copiable-link" href="#Help-options-1"> &para;</a></span></h3>
 
 <p>R by default provides help pages as plain text displayed in a pager,
-with the options (see the help for <code>help</code>) of displaying help as
+with the options (see the help for <code class="code">help</code>) of displaying help as
 HTML or PDF.
 </p>
-<p>By default <acronym>HTML</acronym> help pages are created when needed rather than being
+<p>By default <abbr class="acronym">HTML</abbr> help pages are created when needed rather than being
 built at install time.
 </p>
-<p>If you need to disable its server and want <acronym>HTML</acronym> help, there is the
-option to build <acronym>HTML</acronym> pages when packages are installed
+<p>If you need to disable its server and want <abbr class="acronym">HTML</abbr> help, there is the
+option to build <abbr class="acronym">HTML</abbr> pages when packages are installed
 (including those installed with R).  This is enabled by the
-<code>configure</code> option <samp>--enable-prebuilt-html</samp>.  Whether
-<code>R CMD INSTALL</code> (and hence <code>install.packages</code>) pre-builds
-<acronym>HTML</acronym> pages is determined by looking at the R installation and is
-reported by <code>R CMD INSTALL --help</code>: it can be overridden by
-specifying one of the <code>INSTALL</code> options <samp>--html</samp> or
-<samp>--no-html</samp>.
+<code class="command">configure</code> option <samp class="option">--enable-prebuilt-html</samp>.  Whether
+<code class="command">R CMD INSTALL</code> (and hence <code class="code">install.packages</code>) pre-builds
+<abbr class="acronym">HTML</abbr> pages is determined by looking at the R installation and is
+reported by <code class="command">R CMD INSTALL --help</code>: it can be overridden by
+specifying one of the <code class="command">INSTALL</code> options <samp class="option">--html</samp> or
+<samp class="option">--no-html</samp>.
 </p>
 <p>The server is disabled by setting the environment variable
-<span id="index-R_005fDISABLE_005fHTTPD"></span>
-<code>R_DISABLE_HTTPD</code> to a non-empty value, either before R is
-started or within the R session before <acronym>HTML</acronym> help (including
-<code>help.start</code>) is used.  It is also possible that system security
+<a class="index-entry-id" id="index-R_005fDISABLE_005fHTTPD"></a>
+<code class="env">R_DISABLE_HTTPD</code> to a non-empty value, either before R is
+started or within the R session before <abbr class="acronym">HTML</abbr> help (including
+<code class="code">help.start</code>) is used.  It is also possible that system security
 measures will prevent the server from being started, for example if the
 loopback interface has been disabled.  See
-<code>?tools::startDynamicHelp</code> for more details.
+<code class="code">?tools::startDynamicHelp</code> for more details.
 </p>
 
 <hr>
 </div>
-<div class="section" id="Making-the-manuals">
-<span id="Making-the-manuals-1"></span><h3 class="section">2.3 Making the manuals</h3>
-<span id="index-Manuals"></span>
+<div class="section-level-extent" id="Making-the-manuals">
+<h3 class="section" id="Making-the-manuals-1"><span>2.3 Making the manuals<a class="copiable-link" href="#Making-the-manuals-1"> &para;</a></span></h3>
+<a class="index-entry-id" id="index-Manuals"></a>
 
 <p>There is a set of manuals that can be built from the sources,
 </p>
-<dl compact="compact">
-<dt><span>&lsquo;<samp>fullrefman</samp>&rsquo;</span></dt>
+<dl class="table">
+<dt>&lsquo;<samp class="samp">fullrefman</samp>&rsquo;</dt>
 <dd><p>Printed versions of all the help pages for base and recommended packages
 (around 3900 pages).
 </p></dd>
-<dt><span>&lsquo;<samp>refman</samp>&rsquo;</span></dt>
+<dt>&lsquo;<samp class="samp">refman</samp>&rsquo;</dt>
 <dd><p>Printed versions of the help pages for selected base packages (around
 2300 pages)
 </p></dd>
-<dt><span>&lsquo;<samp>R-FAQ</samp>&rsquo;</span></dt>
-<dd><p>R <acronym>FAQ</acronym>
+<dt>&lsquo;<samp class="samp">R-FAQ</samp>&rsquo;</dt>
+<dd><p>R <abbr class="acronym">FAQ</abbr>
 </p></dd>
-<dt><span>&lsquo;<samp>R-intro</samp>&rsquo;</span></dt>
+<dt>&lsquo;<samp class="samp">R-intro</samp>&rsquo;</dt>
 <dd><p>&ldquo;An Introduction to R&rdquo;.
 </p></dd>
-<dt><span>&lsquo;<samp>R-data</samp>&rsquo;</span></dt>
+<dt>&lsquo;<samp class="samp">R-data</samp>&rsquo;</dt>
 <dd><p>&ldquo;R Data Import/Export&rdquo;.
 </p></dd>
-<dt><span>&lsquo;<samp>R-admin</samp>&rsquo;</span></dt>
+<dt>&lsquo;<samp class="samp">R-admin</samp>&rsquo;</dt>
 <dd><p>&ldquo;R Installation and Administration&rdquo;, this manual.
 </p></dd>
-<dt><span>&lsquo;<samp>R-exts</samp>&rsquo;</span></dt>
+<dt>&lsquo;<samp class="samp">R-exts</samp>&rsquo;</dt>
 <dd><p>&ldquo;Writing R Extensions&rdquo;.
 </p></dd>
-<dt><span>&lsquo;<samp>R-ints</samp>&rsquo;</span></dt>
+<dt>&lsquo;<samp class="samp">R-ints</samp>&rsquo;</dt>
 <dd><p>&ldquo;R Internals&rdquo;.
 </p></dd>
-<dt><span>&lsquo;<samp>R-lang</samp>&rsquo;</span></dt>
+<dt>&lsquo;<samp class="samp">R-lang</samp>&rsquo;</dt>
 <dd><p>&ldquo;The R Language Definition&rdquo;.
 </p></dd>
 </dl>
 
-<p>To make these (with &lsquo;<samp>fullrefman</samp>&rsquo; rather than &lsquo;<samp>refman</samp>&rsquo;), use
+<p>To make these (with &lsquo;<samp class="samp">fullrefman</samp>&rsquo; rather than &lsquo;<samp class="samp">refman</samp>&rsquo;), use
 </p>
 <div class="example">
-<pre class="example">make pdf      <span class="roman">to create PDF versions</span>
-make info     <span class="roman">to create info files (not &lsquo;<samp>refman</samp>&rsquo; nor &lsquo;<samp>fullrefman</samp>&rsquo;).</span>
+<pre class="example-preformatted">make pdf      <span class="r">to create PDF versions</span>
+make info     <span class="r">to create info files (not &lsquo;<samp class="samp">refman</samp>&rsquo; nor &lsquo;<samp class="samp">fullrefman</samp>&rsquo;).</span>
 </pre></div>
 
 <p>You will not be able to build any of these unless you have
-<code>texi2any</code> version 6.1 or later installed, and for PDF you must
-have <code>texi2dvi</code> and <samp>texinfo.tex</samp> installed (which are part
-of the <acronym>GNU</acronym> Texinfo distribution but are, especially
-<samp>texinfo.tex</samp>, often made part of the TeX package <strong>texinfo</strong> in
-re-distributions).  The path to <code>texi2any</code> can be set by macro
-&lsquo;<samp>TEXI2ANY</samp>&rsquo; in <samp>config.site</samp>.  NB: <code>texi2any</code> requires
-<code>perl</code>.
+<code class="command">texi2any</code> version 6.1 or later installed, and for PDF you must
+have <code class="command">texi2dvi</code> and <samp class="file">texinfo.tex</samp> installed (which are part
+of the <abbr class="acronym">GNU</abbr> Texinfo distribution but are, especially
+<samp class="file">texinfo.tex</samp>, often made part of the TeX package <strong class="strong">texinfo</strong> in
+re-distributions).  The path to <code class="command">texi2any</code> can be set by macro
+&lsquo;<samp class="samp">TEXI2ANY</samp>&rsquo; in <samp class="file">config.site</samp>.  NB: <code class="command">texi2any</code> requires
+<code class="command">perl</code>.
 </p>
 <p>The PDF versions can be viewed using any recent PDF viewer: they have
 hyperlinks that can be followed.  The info files are suitable for
-reading online with Emacs or the standalone <acronym>GNU</acronym> <code>info</code>
+reading online with Emacs or the standalone <abbr class="acronym">GNU</abbr> <code class="command">info</code>
 program.  The PDF versions will be created using the paper size selected
 at configuration (default ISO a4): this can be overridden by setting
-<code>R_PAPERSIZE</code>
-<span id="index-R_005fPAPERSIZE"></span>
-on the <code>make</code> command line, or setting <code>R_PAPERSIZE</code> in the
-environment and using <code>make -e</code>.  (If re-making the manuals for
+<code class="env">R_PAPERSIZE</code>
+<a class="index-entry-id" id="index-R_005fPAPERSIZE"></a>
+on the <code class="command">make</code> command line, or setting <code class="env">R_PAPERSIZE</code> in the
+environment and using <code class="command">make -e</code>.  (If re-making the manuals for
 a different paper size, you should first delete the file
-<samp>doc/manual/version.texi</samp>.  The usual value for North America would
-be &lsquo;<samp>letter</samp>&rsquo;.)
+<samp class="file">doc/manual/version.texi</samp>.  The usual value for North America would
+be &lsquo;<samp class="samp">letter</samp>&rsquo;.)
 </p>
 <p>There are some issues with making the PDF reference manual,
-<samp>fullrefman.pdf</samp> or <samp>refman.pdf</samp>.  The help files contain both
-non-ASCII characters (e.g. in <samp>text.Rd</samp>) and upright quotes,
+<samp class="file">fullrefman.pdf</samp> or <samp class="file">refman.pdf</samp>.  The help files contain both
+non-ASCII characters (e.g. in <samp class="file">text.Rd</samp>) and upright quotes,
 neither of which are contained in the standard LaTeX Computer Modern
 fonts.  We have provided the following alternatives:
 </p>
-<dl compact="compact">
-<dt><span><code>times</code></span></dt>
+<dl class="table">
+<dt><code class="code">times</code></dt>
 <dd><p>(The default.) Using standard PostScript fonts, Times Roman, Helvetica
 and Courier.  This works well both for on-screen viewing and for
 printing.  One disadvantage is that the Usage and Examples sections may
-come out rather wide: this can be overcome by using <em>in addition</em>
-either of the options <code>inconsolata</code> (on a Unix-alike only if found
-by <code>configure</code>) or <code>beramono</code>, which replace the Courier
+come out rather wide: this can be overcome by using <em class="emph">in addition</em>
+either of the options <code class="code">inconsolata</code> (on a Unix-alike only if found
+by <code class="command">configure</code>) or <code class="code">beramono</code>, which replace the Courier
 monospaced font by Inconsolata or Bera Sans Mono respectively.  (You
-will need the LaTeX package <strong>inconsolata</strong><a id="DOCF6" href="#FOOT6"><sup>6</sup></a> or
-<strong>bera</strong> installed.)
+will need the LaTeX package <strong class="strong">inconsolata</strong><a class="footnote" id="DOCF6" href="#FOOT6"><sup>6</sup></a> or
+<strong class="strong">bera</strong> installed.)
 </p>
 <p>Note that in most LaTeX installations this will not actually use the
 standard fonts for PDF, but rather embed the URW clones NimbusRom,
 NimbusSans and (for Courier, if used) NimbusMon.
 </p>
-<p>This needs LaTeX packages <strong>times</strong>, <strong>helvetic</strong> and (if used)
-<strong>courier</strong> installed.
+<p>This needs LaTeX packages <strong class="strong">times</strong>, <strong class="strong">helvetic</strong> and (if used)
+<strong class="strong">courier</strong> installed.
 </p>
 </dd>
-<dt><span><code>lm</code></span></dt>
-<dd><p>Using the <em>Latin Modern</em> (<em>aka</em> <strong>lmodern</strong>) fonts,
+<dt><code class="code">lm</code></dt>
+<dd><p>Using the <em class="emph">Latin Modern</em> (<em class="emph">aka</em> <strong class="strong">lmodern</strong>) fonts,
 usually installed even in basic TeX distributions.
 This uses fonts rather similar to Computer Modern, but is not
-so good on-screen as <code>times</code> and produces larger PDF files.
+so good on-screen as <code class="code">times</code> and produces larger PDF files.
 </p>
 </dd>
 </dl>
 
 <p>The default can be overridden by setting the environment variable
-<span id="index-R_005fRD4PDF"></span>
-<code>R_RD4PDF</code>.  (On Unix-alikes, this will be picked up at install time
-and stored in <samp>etc/Renviron</samp>, but can still be overridden when the
-manuals are built, using <code>make -e</code>.)  The usual<a id="DOCF7" href="#FOOT7"><sup>7</sup></a>  default value for <code>R_RD4PDF</code> is
-&lsquo;<samp>times,inconsolata,hyper</samp>&rsquo;: omit &lsquo;<samp>inconsolata</samp>&rsquo; if you do not have
-LaTeX package <strong>inconsolata</strong> installed.
-&lsquo;<samp>hyper</samp>&rsquo; is always enabled (with a fallback if LaTeX package
-<strong>hyperref</strong> is not installed).
+<a class="index-entry-id" id="index-R_005fRD4PDF"></a>
+<code class="env">R_RD4PDF</code>.  (On Unix-alikes, this will be picked up at install time
+and stored in <samp class="file">etc/Renviron</samp>, but can still be overridden when the
+manuals are built, using <code class="command">make -e</code>.)  The usual<a class="footnote" id="DOCF7" href="#FOOT7"><sup>7</sup></a>  default value for <code class="env">R_RD4PDF</code> is
+&lsquo;<samp class="samp">times,inconsolata,hyper</samp>&rsquo;: omit &lsquo;<samp class="samp">inconsolata</samp>&rsquo; if you do not have
+LaTeX package <strong class="strong">inconsolata</strong> installed.
+&lsquo;<samp class="samp">hyper</samp>&rsquo; is always enabled (with a fallback if LaTeX package
+<strong class="strong">hyperref</strong> is not installed).
 </p>
-<p>Further options, e.g for <strong>hyperref</strong>, can be included in a file
-<samp>Rd.cfg</samp> somewhere on your LaTeX search path.  For example, if
+<p>Further options, e.g for <strong class="strong">hyperref</strong>, can be included in a file
+<samp class="file">Rd.cfg</samp> somewhere on your LaTeX search path.  For example, if
 you prefer to hyperlink the text and not the page number in the table of
 contents use
 </p><div class="example">
-<pre class="example">\ifthenelse{\boolean{Rd@use@hyper}}{\hypersetup{linktoc=section}}{}
+<pre class="example-preformatted">\ifthenelse{\boolean{Rd@use@hyper}}{\hypersetup{linktoc=section}}{}
 </pre></div>
 
 <p>or 
 </p><div class="example">
-<pre class="example">\ifthenelse{\boolean{Rd@use@hyper}}{\hypersetup{linktoc=all}}{}
+<pre class="example-preformatted">\ifthenelse{\boolean{Rd@use@hyper}}{\hypersetup{linktoc=all}}{}
 </pre></div>
 
 <p>to hyperlink both text and page number.
@@ -820,135 +816,135 @@
 <p>Any generated PDF manuals can be compacted by
 </p>
 <div class="example">
-<pre class="example">make compact-pdf
+<pre class="example-preformatted">make compact-pdf
 </pre></div>
 
-<p>provided <code>qpdf</code> and <code>gs</code> are available (see
-<code>?tools::compactPDF</code> for how to specify them if not on the path).
+<p>provided <code class="command">qpdf</code> and <code class="command">gs</code> are available (see
+<code class="code">?tools::compactPDF</code> for how to specify them if not on the path).
 </p>
-<p>E-book versions of most of the manuals in one or both of <samp>.epub</samp> and
-<samp>.mobi</samp> formats can be made by running in <samp>doc/manual</samp> one of
+<p>E-book versions of most of the manuals in one or both of <samp class="file">.epub</samp> and
+<samp class="file">.mobi</samp> formats can be made by running in <samp class="file">doc/manual</samp> one of
 </p><div class="example">
-<pre class="example">make ebooks
+<pre class="example-preformatted">make ebooks
 make epub
 make mobi
 </pre></div>
 
-<p>This requires <code>ebook-convert</code> from
-<a href="https://calibre-ebook.com/download"><code>Calibre</code></a>, or from
+<p>This requires <code class="command">ebook-convert</code> from
+<a class="uref" href="https://calibre-ebook.com/download"><code class="command">Calibre</code></a>, or from
 most Linux distributions.  If necessary the path to
-<code>ebook-convert</code> can be set as make macro <code>EBOOK</code> by editing
-<samp>doc/manual/Makefile</samp> (which contains a commented value suitable
-for macOS) or using <code>make -e</code>.
+<code class="command">ebook-convert</code> can be set as make macro <code class="env">EBOOK</code> by editing
+<samp class="file">doc/manual/Makefile</samp> (which contains a commented value suitable
+for macOS) or using <code class="command">make -e</code>.
 </p>
 
 <hr>
 </div>
-<div class="section" id="Installation">
-<span id="Installation-1"></span><h3 class="section">2.4 Installation</h3>
-<span id="index-Installation"></span>
+<div class="section-level-extent" id="Installation">
+<h3 class="section" id="Installation-1"><span>2.4 Installation<a class="copiable-link" href="#Installation-1"> &para;</a></span></h3>
+<a class="index-entry-id" id="index-Installation"></a>
 
 <p>To ensure that the installed tree is usable by the right group of users,
-set <code>umask</code> appropriately (perhaps to &lsquo;<samp>022</samp>&rsquo;) before unpacking
+set <code class="code">umask</code> appropriately (perhaps to &lsquo;<samp class="samp">022</samp>&rsquo;) before unpacking
 the sources and throughout the build process.
 </p>
 <p>After
 </p>
-<span id="index-configure-2"></span>
+<a class="index-entry-id" id="index-configure-2"></a>
 <div class="example">
-<pre class="example">./configure
+<pre class="example-preformatted">./configure
 make
 make check
 </pre></div>
 
 <p>(or, when building outside the source,
-<code><var>TOP_SRCDIR</var>/configure</code>, etc) have been completed
+<code class="code"><var class="var">TOP_SRCDIR</var>/configure</code>, etc) have been completed
 successfully, you can install the complete R tree to your system by
 typing
 </p>
 <div class="example">
-<pre class="example">make install
+<pre class="example-preformatted">make install
 </pre></div>
 
-<p>A parallel make can be used (but run <code>make</code> before <code>make
-install</code>).  Those using GNU <code>make</code> 4.0 or later may want to use
-<code>make -j <var>n</var> -O</code> to avoid interleaving of output.
+<p>A parallel make can be used (but run <code class="command">make</code> before <code class="command">make
+install</code>).  Those using GNU <code class="command">make</code> 4.0 or later may want to use
+<code class="command">make -j <var class="var">n</var> -O</code> to avoid interleaving of output.
 </p>
 <p>This will install to the following directories:
 </p>
-<dl compact="compact">
-<dt><span><samp><var>prefix</var>/bin</samp> or <samp><var>bindir</var></samp></span></dt>
+<dl class="table">
+<dt><samp class="file"><var class="var">prefix</var>/bin</samp> or <samp class="file"><var class="var">bindir</var></samp></dt>
 <dd><p>the front-end shell script and other scripts and executables
 </p></dd>
-<dt><span><samp><var>prefix</var>/man/man1</samp> or <samp><var>mandir</var>/man1</samp></span></dt>
+<dt><samp class="file"><var class="var">prefix</var>/man/man1</samp> or <samp class="file"><var class="var">mandir</var>/man1</samp></dt>
 <dd><p>the man page
 </p></dd>
-<dt><span><samp><var>prefix</var>/<var>LIBnn</var>/R</samp> or <samp><var>libdir</var>/R</samp></span></dt>
+<dt><samp class="file"><var class="var">prefix</var>/<var class="var">LIBnn</var>/R</samp> or <samp class="file"><var class="var">libdir</var>/R</samp></dt>
 <dd><p>all the rest (libraries, on-line help system, &hellip;).  Here
-<var>LIBnn</var> is usually &lsquo;<samp>lib</samp>&rsquo;, but may be &lsquo;<samp>lib64</samp>&rsquo; on some
+<var class="var">LIBnn</var> is usually &lsquo;<samp class="samp">lib</samp>&rsquo;, but may be &lsquo;<samp class="samp">lib64</samp>&rsquo; on some
 64-bit Linux systems.  This is known as the R home directory.
 </p></dd>
 </dl>
 
-<p>where <var>prefix</var> is determined during configuration (typically
-<samp>/usr/local</samp>) and can be set by running <code>configure</code> with
-the option <samp>--prefix</samp>, as in
+<p>where <var class="var">prefix</var> is determined during configuration (typically
+<samp class="file">/usr/local</samp>) and can be set by running <code class="command">configure</code> with
+the option <samp class="option">--prefix</samp>, as in
 </p>
-<span id="index-configure-3"></span>
+<a class="index-entry-id" id="index-configure-3"></a>
 <div class="example">
-<pre class="example">./configure --prefix=/where/you/want/R/to/go
+<pre class="example-preformatted">./configure --prefix=/where/you/want/R/to/go
 </pre></div>
 
-<p>where the value should be an absolute path.  This causes <code>make
+<p>where the value should be an absolute path.  This causes <code class="command">make
 install</code> to install the R script to
-<samp>/where/you/want/R/to/go/bin</samp>, and so on.  The prefix of the
+<samp class="file">/where/you/want/R/to/go/bin</samp>, and so on.  The prefix of the
 installation directories can be seen in the status message that is
-displayed at the end of <code>configure</code>.  The installation may need
-to be done by the owner of <samp><var>prefix</var></samp>, often a root account.
+displayed at the end of <code class="command">configure</code>.  The installation may need
+to be done by the owner of <samp class="file"><var class="var">prefix</var></samp>, often a root account.
 </p>
-<p>There is the option of using <code>make install-strip</code> (see <a href="#Debugging-Symbols">Debugging Symbols</a>).
+<p>There is the option of using <code class="command">make install-strip</code> (see <a class="pxref" href="#Debugging-Symbols">Debugging Symbols</a>).
 </p>
 
 <p>You can install into another directory tree by using
 </p>
 <div class="example">
-<pre class="example">make prefix=/path/to/here install
+<pre class="example-preformatted">make prefix=/path/to/here install
 </pre></div>
 
-<p>at least with <acronym>GNU</acronym> <code>make</code> (but not some other Unix
+<p>at least with <abbr class="acronym">GNU</abbr> <code class="command">make</code> (but not some other Unix
 makes).
 </p>
 <p>More precise control is available at configure time via options: see
-<code>configure --help</code> for details.  (However, most of the &lsquo;Fine
+<code class="command">configure --help</code> for details.  (However, most of the &lsquo;Fine
 tuning of the installation directories&rsquo; options are not used by R.)
 </p>
-<p>Configure options <samp>--bindir</samp> and <samp>--mandir</samp> are supported
-and govern where a copy of the <code>R</code> script and the <code>man</code>
+<p>Configure options <samp class="option">--bindir</samp> and <samp class="option">--mandir</samp> are supported
+and govern where a copy of the <code class="command">R</code> script and the <code class="command">man</code>
 page are installed.
 </p>
-<p>The configure option <samp>--libdir</samp> controls where the main R
-files are installed: the default is &lsquo;<samp><var>eprefix</var>/<var>LIBnn</var></samp>&rsquo;,
-where <var>eprefix</var> is the prefix used for installing
-architecture-dependent files, defaults to <var>prefix</var>, and can be set
-via the configure option <samp>--exec-prefix</samp>.
-</p>
-<p>Each of <code>bindir</code>, <code>mandir</code> and <code>libdir</code> can also be
-specified on the <code>make install</code> command line (at least for
-<acronym>GNU</acronym> <code>make</code>).
-</p>
-<p>The <code>configure</code> or <code>make</code> variables <code>rdocdir</code> and
-<code>rsharedir</code> can be used to install the system-independent
-<samp>doc</samp> and <samp>share</samp> directories to somewhere other than
-<code>libdir</code>.  The C header files can be installed to the value of
-<code>rincludedir</code>: note that as the headers are not installed into a
+<p>The configure option <samp class="option">--libdir</samp> controls where the main R
+files are installed: the default is &lsquo;<samp class="samp"><var class="var">eprefix</var>/<var class="var">LIBnn</var></samp>&rsquo;,
+where <var class="var">eprefix</var> is the prefix used for installing
+architecture-dependent files, defaults to <var class="var">prefix</var>, and can be set
+via the configure option <samp class="option">--exec-prefix</samp>.
+</p>
+<p>Each of <code class="code">bindir</code>, <code class="code">mandir</code> and <code class="code">libdir</code> can also be
+specified on the <code class="command">make install</code> command line (at least for
+<abbr class="acronym">GNU</abbr> <code class="command">make</code>).
+</p>
+<p>The <code class="command">configure</code> or <code class="command">make</code> variables <code class="code">rdocdir</code> and
+<code class="code">rsharedir</code> can be used to install the system-independent
+<samp class="file">doc</samp> and <samp class="file">share</samp> directories to somewhere other than
+<code class="code">libdir</code>.  The C header files can be installed to the value of
+<code class="code">rincludedir</code>: note that as the headers are not installed into a
 subdirectory you probably want something like
-<code>rincludedir=/usr/local/include/R-4.5.2</code>.
+<code class="code">rincludedir=/usr/local/include/R-4.5.2</code>.
 </p>
 <p>If you want the R home to be something other than
-<samp><var>libdir</var>/R</samp>, use <samp>rhome</samp>: for example
+<samp class="file"><var class="var">libdir</var>/R</samp>, use <samp class="option">rhome</samp>: for example
 </p>
 <div class="example">
-<pre class="example">make install rhome=/usr/local/lib64/R-4.5.2
+<pre class="example-preformatted">make install rhome=/usr/local/lib64/R-4.5.2
 </pre></div>
 
 <p>will use a version-specific R home on a non-Debian Linux 64-bit
@@ -958,218 +954,218 @@
 your system&rsquo;s library directory by
 </p>
 <div class="example">
-<pre class="example">make prefix=/path/to/here install-libR
+<pre class="example-preformatted">make prefix=/path/to/here install-libR
 </pre></div>
 
-<p>where <code>prefix</code> is optional, and <code>libdir</code> will give more
-precise control.<a id="DOCF8" href="#FOOT8"><sup>8</sup></a>  However, you should not install
-to a directory mentioned in <code>LDPATHS</code> (e.g.
-<samp>/usr/local/lib64</samp>) if you intend to work with multiple versions of
-R, since that directory may be given precedence over the <samp>lib</samp>
+<p>where <code class="code">prefix</code> is optional, and <code class="code">libdir</code> will give more
+precise control.<a class="footnote" id="DOCF8" href="#FOOT8"><sup>8</sup></a>  However, you should not install
+to a directory mentioned in <code class="env">LDPATHS</code> (e.g.
+<samp class="file">/usr/local/lib64</samp>) if you intend to work with multiple versions of
+R, since that directory may be given precedence over the <samp class="file">lib</samp>
 directory of other R installations.
 </p>
 <div class="example">
-<pre class="example">make install-strip
+<pre class="example-preformatted">make install-strip
 </pre></div>
 
 <p>will install stripped executables, and on platforms where this is
-supported, stripped libraries in directories <samp>lib</samp> and
-<samp>modules</samp> and in the standard packages.
+supported, stripped libraries in directories <samp class="file">lib</samp> and
+<samp class="file">modules</samp> and in the standard packages.
 </p>
 <p>Note that installing R into a directory whose path contains spaces is
 not supported, and some aspects (such as installing source packages)
 will not work.
 </p>
-<span id="index-Manuals_002c-installing"></span>
+<a class="index-entry-id" id="index-Manuals_002c-installing"></a>
 
 <p>To install info and PDF versions of the manuals, use one or both of
 </p>
 <div class="example">
-<pre class="example">make install-info
+<pre class="example-preformatted">make install-info
 make install-pdf
 </pre></div>
 
-<p>Once again, it is optional to specify <code>prefix</code>, <code>libdir</code> or
-<code>rhome</code> (the PDF manuals are installed under the R home
+<p>Once again, it is optional to specify <code class="code">prefix</code>, <code class="code">libdir</code> or
+<code class="code">rhome</code> (the PDF manuals are installed under the R home
 directory).  
 </p>
 <p>More precise control is possible.  For info, the setting used is that of
-<code>infodir</code> (default <samp><var>prefix</var>/info</samp>, set by configure
-option <samp>--infodir</samp>).  The PDF files are installed into the R
-<samp>doc</samp> tree, set by the <code>make</code> variable <code>rdocdir</code>.
+<code class="code">infodir</code> (default <samp class="file"><var class="var">prefix</var>/info</samp>, set by configure
+option <samp class="option">--infodir</samp>).  The PDF files are installed into the R
+<samp class="file">doc</samp> tree, set by the <code class="command">make</code> variable <code class="code">rdocdir</code>.
 </p>
 <p>A staged installation is possible, that it is installing R into a
 temporary directory in order to move the installed tree to its final
-destination.  In this case <code>prefix</code> (and so on) should reflect the
-<span id="index-DESTDIR"></span>
-final destination, and <code>DESTDIR</code> should be used: see
-<a href="https://www.gnu.org/prep/standards/html_node/DESTDIR.html">https://www.gnu.org/prep/standards/html_node/DESTDIR.html</a>.
+destination.  In this case <code class="code">prefix</code> (and so on) should reflect the
+<a class="index-entry-id" id="index-DESTDIR"></a>
+final destination, and <code class="env">DESTDIR</code> should be used: see
+<a class="uref" href="https://www.gnu.org/prep/standards/html_node/DESTDIR.html">https://www.gnu.org/prep/standards/html_node/DESTDIR.html</a>.
 </p>
 <p>You can optionally install the run-time tests that are part of
-<code>make check-all</code> by
+<code class="command">make check-all</code> by
 </p>
 <div class="example">
-<pre class="example">make install-tests
+<pre class="example-preformatted">make install-tests
 </pre></div>
 
-<p>which populates a <samp>tests</samp> directory in the installation.
+<p>which populates a <samp class="file">tests</samp> directory in the installation.
 </p>
 
 <hr>
 </div>
-<div class="section" id="Uninstallation">
-<span id="Uninstallation-1"></span><h3 class="section">2.5 Uninstallation</h3>
+<div class="section-level-extent" id="Uninstallation">
+<h3 class="section" id="Uninstallation-1"><span>2.5 Uninstallation<a class="copiable-link" href="#Uninstallation-1"> &para;</a></span></h3>
 
 <p>You can uninstall R by
 </p>
 <div class="example">
-<pre class="example">make uninstall
+<pre class="example-preformatted">make uninstall
 </pre></div>
 
-<p>optionally specifying <code>prefix</code> etc in the same way as specified for
+<p>optionally specifying <code class="code">prefix</code> etc in the same way as specified for
 installation.
 </p>
 <p>This will also uninstall any installed manuals.  There are specific
 targets to uninstall info and PDF manuals in file
-<samp>doc/manual/Makefile</samp>.
+<samp class="file">doc/manual/Makefile</samp>.
 </p>
-<p>Target <code>uninstall-tests</code> will uninstall any installed tests, as
-well as removing the directory <samp>tests</samp> containing the test results.
+<p>Target <code class="code">uninstall-tests</code> will uninstall any installed tests, as
+well as removing the directory <samp class="file">tests</samp> containing the test results.
 </p>
-<p>An installed shared/static <code>libR</code> can be uninstalled by
+<p>An installed shared/static <code class="code">libR</code> can be uninstalled by
 </p>
 <div class="example">
-<pre class="example">make prefix=/path/to/here uninstall-libR
+<pre class="example-preformatted">make prefix=/path/to/here uninstall-libR
 </pre></div>
 
 
 <hr>
 </div>
-<div class="section" id="Sub_002darchitectures">
-<span id="Sub_002darchitectures-1"></span><h3 class="section">2.6 Sub-architectures</h3>
+<div class="section-level-extent" id="Sub_002darchitectures">
+<h3 class="section" id="Sub_002darchitectures-1"><span>2.6 Sub-architectures<a class="copiable-link" href="#Sub_002darchitectures-1"> &para;</a></span></h3>
 
 <p>Now 32-bit builds are unsupported, this section is only of historical
 interest, although in future the mechanisms could be used for different
-CPU types on the same OS (e.g. &lsquo;<samp>x86_64</samp>&rsquo; and &lsquo;<samp>aarch64</samp>&rsquo;).
+CPU types on the same OS (e.g. &lsquo;<samp class="samp">x86_64</samp>&rsquo; and &lsquo;<samp class="samp">aarch64</samp>&rsquo;).
 </p>
 <p>Some platforms can support closely related builds of R which can
 share all but the executables and dynamic objects.  Examples include
-builds under Linux for different <acronym>CPU</acronym>s or 32- and 64-bit
+builds under Linux for different <abbr class="acronym">CPU</abbr>s or 32- and 64-bit
 builds.
 </p>
 <p>R supports the idea of architecture-specific builds, specified by
-adding &lsquo;<samp>r_arch=<var>name</var></samp>&rsquo; to the <code>configure</code> line.  Here
-<var>name</var> can be anything non-empty, and is used to name subdirectories
-of <samp>lib</samp>, <samp>etc</samp>, <samp>include</samp> and the package <samp>libs</samp>
+adding &lsquo;<samp class="samp">r_arch=<var class="var">name</var></samp>&rsquo; to the <code class="command">configure</code> line.  Here
+<var class="var">name</var> can be anything non-empty, and is used to name subdirectories
+of <samp class="file">lib</samp>, <samp class="file">etc</samp>, <samp class="file">include</samp> and the package <samp class="file">libs</samp>
 subdirectories.  Example names from other software are the use of
-<samp>sparcv9</samp> on Sparc Solaris and <samp>32</samp> by <code>gcc</code> on
-&lsquo;<samp>x86_64</samp>&rsquo; Linux.
+<samp class="file">sparcv9</samp> on Sparc Solaris and <samp class="file">32</samp> by <code class="command">gcc</code> on
+&lsquo;<samp class="samp">x86_64</samp>&rsquo; Linux.
 </p>
 <p>If you have two or more such builds you can install them over each other
 (and for 32/64-bit builds on one architecture, one build can be done
-without &lsquo;<samp>r_arch</samp>&rsquo;).  The space savings can be considerable: on
-&lsquo;<samp>x86_64</samp>&rsquo; Linux a basic install (without debugging symbols) took
+without &lsquo;<samp class="samp">r_arch</samp>&rsquo;).  The space savings can be considerable: on
+&lsquo;<samp class="samp">x86_64</samp>&rsquo; Linux a basic install (without debugging symbols) took
 74Mb, and adding a 32-bit build added 6Mb.  If you have installed
 multiple builds you can select which build to run by
 </p>
 <div class="example">
-<pre class="example">R --arch=<var>name</var>
+<pre class="example-preformatted">R --arch=<var class="var">name</var>
 </pre></div>
 
-<p>and just running &lsquo;<samp>R</samp>&rsquo; will run the last build that was installed.
+<p>and just running &lsquo;<samp class="samp">R</samp>&rsquo; will run the last build that was installed.
 </p>
-<p><code>R CMD INSTALL</code> will detect if more than one build is installed and
+<p><code class="code">R CMD INSTALL</code> will detect if more than one build is installed and
 try to install packages with the appropriate library objects for each.
-This will not be done if the package has an executable <code>configure</code>
-script or a <samp>src/Makefile</samp> file.  In such cases you can install for
+This will not be done if the package has an executable <code class="code">configure</code>
+script or a <samp class="file">src/Makefile</samp> file.  In such cases you can install for
 extra builds by
 </p>
 <div class="example">
-<pre class="example">R --arch=<var>name</var> CMD INSTALL --libs-only <var>pkg1</var> <var>pkg2</var> &hellip;
+<pre class="example-preformatted">R --arch=<var class="var">name</var> CMD INSTALL --libs-only <var class="var">pkg1</var> <var class="var">pkg2</var> ...
 </pre></div>
 
 <p>If you want to mix sub-architectures compiled on different platforms
-(for example &lsquo;<samp>x86_64</samp>&rsquo; Linux and &lsquo;<samp>i686</samp>&rsquo; Linux), it is
+(for example &lsquo;<samp class="samp">x86_64</samp>&rsquo; Linux and &lsquo;<samp class="samp">i686</samp>&rsquo; Linux), it is
 wise to use explicit names for each, and you may also need to set
-<samp>libdir</samp> to ensure that they install into the same place.
+<samp class="option">libdir</samp> to ensure that they install into the same place.
 </p>
-<p>When sub-architectures are used the version of <code>Rscript</code> in
-e.g. <samp>/usr/bin</samp> will be the last installed, but
+<p>When sub-architectures are used the version of <code class="command">Rscript</code> in
+e.g. <samp class="file">/usr/bin</samp> will be the last installed, but
 architecture-specific versions will be available in e.g.
-<samp>/usr/lib64/R/bin/exec${<var>R_ARCH</var>}</samp>.  Normally all installed
+<samp class="file">/usr/lib64/R/bin/exec${<var class="var">R_ARCH</var>}</samp>.  Normally all installed
 architectures will run on the platform so the architecture of
-<code>Rscript</code> itself does not matter.  The executable
-<code>Rscript</code> will run the <code>R</code> script, and at that time the
-<span id="index-R_005fARCH"></span>
-setting of the <code>R_ARCH</code> environment variable determines the
+<code class="command">Rscript</code> itself does not matter.  The executable
+<code class="command">Rscript</code> will run the <code class="command">R</code> script, and at that time the
+<a class="index-entry-id" id="index-R_005fARCH"></a>
+setting of the <code class="env">R_ARCH</code> environment variable determines the
 architecture which is run.
 </p>
 <p>When running post-install tests with sub-architectures, use
 </p>
 <div class="example">
-<pre class="example">R --arch=<var>name</var> CMD make check[-devel|all]
+<pre class="example-preformatted">R --arch=<var class="var">name</var> CMD make check[-devel|all]
 </pre></div>
 
 <p>to select a sub-architecture to check.
 </p>
 <p>Sub-architectures were also used on Windows, but by selecting executables
-within the appropriate <samp>bin</samp> directory such as
-<samp><var>R_HOME</var>/bin/x64</samp>. As from R 4.2.0 only the &lsquo;<samp>x64</samp>&rsquo;
+within the appropriate <samp class="file">bin</samp> directory such as
+<samp class="file"><var class="var">R_HOME</var>/bin/x64</samp>. As from R 4.2.0 only the &lsquo;<samp class="samp">x64</samp>&rsquo;
 subdirectory is used.
 </p>
 
 <hr>
 </div>
-<div class="section" id="Other-Options">
-<span id="Other-Options-1"></span><h3 class="section">2.7 Other Options</h3>
+<div class="section-level-extent" id="Other-Options">
+<h3 class="section" id="Other-Options-1"><span>2.7 Other Options<a class="copiable-link" href="#Other-Options-1"> &para;</a></span></h3>
 
 <p>There are many other installation options, most of which are listed by
-<code>configure --help</code>.  Almost all of those not listed elsewhere in
-this manual are either standard <code>autoconf</code> options not relevant
+<code class="command">configure --help</code>.  Almost all of those not listed elsewhere in
+this manual are either standard <code class="command">autoconf</code> options not relevant
 to R or intended for specialist uses by the R developers.
 </p>
-<p><code>configure</code> will select a C23 compiler if it finds one: to
-circumvent this use option <samp>--without-C23</samp>.  This will only have
+<p><code class="command">configure</code> will select a C23 compiler if it finds one: to
+circumvent this use option <samp class="option">--without-C23</samp>.  This will only have
 an effect if the compiler in use does not default to C23: GCC 15 does
-and might be selected as <code>gcc</code> if macro <code>CC</code> is not
-specified in <samp>config.site</samp>.  (A compiler is considered to be a &lsquo;C23
+and might be selected as <code class="command">gcc</code> if macro <code class="code">CC</code> is not
+specified in <samp class="file">config.site</samp>.  (A compiler is considered to be a &lsquo;C23
 compiler&rsquo; if it supports C23 by default or if such support can be
-selected by a flag such as <samp>-std=gnu23</samp> or <samp>-std=gnu2x</samp>
-and it supports the new C23 keywords such as <code>bool</code>, <code>false</code>
-and <code>true</code>.)
+selected by a flag such as <samp class="option">-std=gnu23</samp> or <samp class="option">-std=gnu2x</samp>
+and it supports the new C23 keywords such as <code class="code">bool</code>, <code class="code">false</code>
+and <code class="code">true</code>.)
 </p>
 <p>One that may be useful when working on R itself is the option
-<samp>--disable-byte-compiled-packages</samp>, which ensures that the base
+<samp class="option">--disable-byte-compiled-packages</samp>, which ensures that the base
 and recommended packages are not byte-compiled.  (Alternatively the
-(make or environment) variable <code>R_NO_BASE_COMPILE</code> can be set to a
+(make or environment) variable <code class="env">R_NO_BASE_COMPILE</code> can be set to a
 non-empty value for the duration of the build.)
 </p>
-<p>Option <samp>--with-internal-tzcode</samp> makes use of R&rsquo;s own code and
-copy of the <abbr>IANA</abbr> database for managing timezones.  This will be
+<p>Option <samp class="option">--with-internal-tzcode</samp> makes use of R&rsquo;s own code and
+copy of the <abbr class="abbr">IANA</abbr> database for managing timezones.  This will be
 preferred where there are issues with the system implementation, usually
 involving times after 2037 or before 1916.  An alternative time-zone
-directory<a id="DOCF9" href="#FOOT9"><sup>9</sup></a> can be used, pointed
-to by environment variable <code>TZDIR</code>: this should contain files such
-as <samp>Europe/London</samp>.  On all recently tested OSes the system
+directory<a class="footnote" id="DOCF9" href="#FOOT9"><sup>9</sup></a> can be used, pointed
+to by environment variable <code class="env">TZDIR</code>: this should contain files such
+as <samp class="file">Europe/London</samp>.  On all recently tested OSes the system
 timezone was deduced correctly, but if necessary it can be set as the
-value of environment variable <code>TZ</code>.
+value of environment variable <code class="env">TZ</code>.
 </p>
-<p>Options <samp>--with-internal-iswxxxxx</samp>,
-<samp>--with-internal-towlower</samp> and <samp>--with-internal-wcwidth</samp>
+<p>Options <samp class="option">--with-internal-iswxxxxx</samp>,
+<samp class="option">--with-internal-towlower</samp> and <samp class="option">--with-internal-wcwidth</samp>
 control the replacement of the system wide-character classification
-(such as <code>iswprint</code>), case-changing (<code>wctrans</code>) and width
-(<code>wcwidth</code> and <code>wcswidth</code>) functions by ones contained in the
+(such as <code class="code">iswprint</code>), case-changing (<code class="code">wctrans</code>) and width
+(<code class="code">wcwidth</code> and <code class="code">wcswidth</code>) functions by ones contained in the
 R sources.  Replacement of the classification functions has been done
-for many years on macOS and <abbr>AIX</abbr> (and Windows): option
-<samp>--with-internal-iswxxxxx</samp> allows this to be suppressed on those
+for many years on macOS and <abbr class="abbr">AIX</abbr> (and Windows): option
+<samp class="option">--with-internal-iswxxxxx</samp> allows this to be suppressed on those
 platforms or used on others.  Replacing the case-changing functions is
 the default on macOS and Windows.  Replacement of the width functions
 has also been done for many years and remains the default.  These
 options will only matter to those working with non-ASCII character data,
-especially in languages written in a non-Western script<a id="DOCF10" href="#FOOT10"><sup>10</sup></a> (which includes &lsquo;symbols&rsquo; such as emoji).  Note
-that one of those <code>iswxxxxx</code> is <code>iswprint</code> which is used to
+especially in languages written in a non-Western script<a class="footnote" id="DOCF10" href="#FOOT10"><sup>10</sup></a> (which includes &lsquo;symbols&rsquo; such as emoji).  Note
+that one of those <code class="code">iswxxxxx</code> is <code class="code">iswprint</code> which is used to
 decide whether to output a character as a glyph or as a
-&lsquo;<samp>\U{xxxxxx}</samp>&rsquo; escape&mdash;for example, try &lsquo;<samp>&quot;\U1f600&quot;</samp>&rsquo;, an
+&lsquo;<samp class="samp">\U{xxxxxx}</samp>&rsquo; escape&mdash;for example, try &lsquo;<samp class="samp">&quot;\U1f600&quot;</samp>&rsquo;, an
 emoji.  The width functions are of most importance in East Asian locale:
 their values differ between such locales.  (Replacing the system
 functions provides a degree of platform-independence (including to OS
@@ -1177,75 +1173,75 @@
 </p>
 
 <hr>
-<div class="subsection" id="Debugging-Symbols">
-<span id="Debugging-Symbols-1"></span><h4 class="subsection">2.7.1 Debugging Symbols</h4>
+<div class="subsection-level-extent" id="Debugging-Symbols">
+<h4 class="subsection" id="Debugging-Symbols-1"><span>2.7.1 Debugging Symbols<a class="copiable-link" href="#Debugging-Symbols-1"> &para;</a></span></h4>
 
-<p>By default, <code>configure</code> adds a flag (usually <samp>-g</samp>) to the
+<p>By default, <code class="command">configure</code> adds a flag (usually <samp class="option">-g</samp>) to the
 compilation flags for C, Fortran and C++ sources.  This will slow down
 compilation and increase object sizes of both R and packages, so it
-may be a good idea to change those flags (set &lsquo;<samp>CFLAGS</samp>&rsquo; etc in
-<samp>config.site</samp> before configuring, or edit files <samp>Makeconf</samp>
-and <samp>etc/Makeconf</samp> between running <code>configure</code> and
-<code>make</code>).
+may be a good idea to change those flags (set &lsquo;<samp class="samp">CFLAGS</samp>&rsquo; etc in
+<samp class="file">config.site</samp> before configuring, or edit files <samp class="file">Makeconf</samp>
+and <samp class="file">etc/Makeconf</samp> between running <code class="command">configure</code> and
+<code class="command">make</code>).
 </p>
 <p>Having debugging symbols available is useful both when running R under a
-debugger (e.g., <code>R -d gdb</code>) and when using sanitizers and
-<code>valgrind</code>, all things intended for experts.
+debugger (e.g., <code class="command">R -d gdb</code>) and when using sanitizers and
+<code class="command">valgrind</code>, all things intended for experts.
 </p>
 <p>Debugging symbols (and some others) can be &lsquo;stripped&rsquo; on installation by
 using
 </p><div class="example">
-<pre class="example">make install-strip
+<pre class="example-preformatted">make install-strip
 </pre></div>
 <p>How well this is supported depends on the platform: it works best on
-those using GNU <code>binutils</code>.  On &lsquo;<samp>x86_64</samp>&rsquo; Linux a typical
+those using GNU <code class="code">binutils</code>.  On &lsquo;<samp class="samp">x86_64</samp>&rsquo; Linux a typical
 reduction in overall size was from 92MB to 66MB.   On macOS debugging
-symbols are not by default included in <samp>.dylib</samp> and <samp>.so</samp>
+symbols are not by default included in <samp class="file">.dylib</samp> and <samp class="file">.so</samp>
 files, so there is negligible difference.
 </p>
 <hr>
 </div>
-<div class="subsection" id="OpenMP-Support">
-<span id="OpenMP-Support-1"></span><h4 class="subsection">2.7.2 <abbr>OpenMP</abbr> Support</h4>
+<div class="subsection-level-extent" id="OpenMP-Support">
+<h4 class="subsection" id="OpenMP-Support-1"><span>2.7.2 <abbr class="abbr">OpenMP</abbr> Support<a class="copiable-link" href="#OpenMP-Support-1"> &para;</a></span></h4>
 
-<p>By default <code>configure</code> searches for suitable flags<a id="DOCF11" href="#FOOT11"><sup>11</sup></a>  for <abbr>OpenMP</abbr> support for the C, C++ (default standard)
+<p>By default <code class="command">configure</code> searches for suitable flags<a class="footnote" id="DOCF11" href="#FOOT11"><sup>11</sup></a>  for <abbr class="abbr">OpenMP</abbr> support for the C, C++ (default standard)
 and Fortran compilers.
 </p>
 <p>Only the C result is currently used for R itself, and only if
-<code>MAIN_LD</code>/<code>DYLIB_LD</code> were not specified.  This can be
+<code class="code">MAIN_LD</code>/<code class="code">DYLIB_LD</code> were not specified.  This can be
 overridden by specifying
 </p><div class="example">
-<pre class="example">R_OPENMP_CFLAGS
+<pre class="example-preformatted">R_OPENMP_CFLAGS
 </pre></div>
 
-<p>Use for packages has similar restrictions (involving <code>SHLIB_LD</code> and
+<p>Use for packages has similar restrictions (involving <code class="code">SHLIB_LD</code> and
 similar: note that as Fortran code is by default linked by the C (or
-C++) compiler, both need to support <abbr>OpenMP</abbr>) and can be overridden by
+C++) compiler, both need to support <abbr class="abbr">OpenMP</abbr>) and can be overridden by
 specifying some of
 </p><div class="example">
-<pre class="example">SHLIB_OPENMP_CFLAGS
+<pre class="example-preformatted">SHLIB_OPENMP_CFLAGS
 SHLIB_OPENMP_CXXFLAGS
 SHLIB_OPENMP_FFLAGS
 </pre></div>
 
-<p>Setting these to an empty value will disable <abbr>OpenMP</abbr> for that compiler
-(and configuring with <samp>--disable-openmp</samp> will disable all
-detection<a id="DOCF12" href="#FOOT12"><sup>12</sup></a> of <abbr>OpenMP</abbr>).  The
-<code>configure</code> detection test is to compile and link a standalone
-<abbr>OpenMP</abbr> program, which is not the same as compiling a shared object and
+<p>Setting these to an empty value will disable <abbr class="abbr">OpenMP</abbr> for that compiler
+(and configuring with <samp class="option">--disable-openmp</samp> will disable all
+detection<a class="footnote" id="DOCF12" href="#FOOT12"><sup>12</sup></a> of <abbr class="abbr">OpenMP</abbr>).  The
+<code class="command">configure</code> detection test is to compile and link a standalone
+<abbr class="abbr">OpenMP</abbr> program, which is not the same as compiling a shared object and
 loading it into the C program of R&rsquo;s executable.  Note that
 overridden values are not tested.
 </p>
 <hr>
 </div>
-<div class="subsection" id="C_002b_002b-Support">
-<span id="C_002b_002b-Support-1"></span><h4 class="subsection">2.7.3 C++ Support</h4>
+<div class="subsection-level-extent" id="C_002b_002b-Support">
+<h4 class="subsection" id="C_002b_002b-Support-1"><span>2.7.3 C++ Support<a class="copiable-link" href="#C_002b_002b-Support-1"> &para;</a></span></h4>
 
 <p>C++ is not used by R itself, but support is provided for installing
-packages with C++ code via <code>make</code> macros defined in file
-<samp>etc/Makeconf</samp> (and with explanations in file <samp>config.site</samp>):
+packages with C++ code via <code class="command">make</code> macros defined in file
+<samp class="file">etc/Makeconf</samp> (and with explanations in file <samp class="file">config.site</samp>):
 </p><div class="example">
-<pre class="example">CXX
+<pre class="example-preformatted">CXX
 CXXFLAGS
 CXXPICFLAGS
 CXXSTD
@@ -1280,163 +1276,163 @@
 CXX26FLAGS
 CXX26PICFLAGS
 </pre></div>
-<p>The macros <code>CXX</code> etc are those used by default for C++ code.
-<code>configure</code> will attempt to set the rest suitably, choosing for
-<code>CXXSTD</code> and <code>CXX11STD</code> a suitable flag such as
-<samp>-std=gnu++17</samp> for C++17 support (which is required if C++ is to
+<p>The macros <code class="code">CXX</code> etc are those used by default for C++ code.
+<code class="command">configure</code> will attempt to set the rest suitably, choosing for
+<code class="code">CXXSTD</code> and <code class="code">CXX11STD</code> a suitable flag such as
+<samp class="option">-std=gnu++17</samp> for C++17 support (which is required if C++ is to
 be supported by default).  Inferred values can be overridden in file
-<samp>config.site</samp> or on the <code>configure</code> command line:
+<samp class="file">config.site</samp> or on the <code class="command">configure</code> command line:
 user-supplied values will be tested by compiling some
 C++11/14/17/20/23/26 code.
 </p>
 <p>It may be that there is no suitable flag for C++14/17/20/23/26 support
 with the default compiler, in which case a different compiler could be
 selected for
-<code>CXX14</code>/<code>CXX17</code>/<code>CXX20</code>/<code>CXX23</code>/<code>CXX236</code> with
+<code class="code">CXX14</code>/<code class="code">CXX17</code>/<code class="code">CXX20</code>/<code class="code">CXX23</code>/<code class="code">CXX236</code> with
 its corresponding flags.
 </p>
 <p>If no suitable compiler/flag is found for the default C++ compiler, one
-can be set in file <samp>config.site</samp> <em>via</em> macros <code>CXX</code>
-and <code>CXXSTD</code>.  A user-specified compiler does not need to pass the
+can be set in file <samp class="file">config.site</samp> <em class="emph">via</em> macros <code class="code">CXX</code>
+and <code class="code">CXXSTD</code>.  A user-specified compiler does not need to pass the
 C++17 tests, so do this at your own risk as some packages may not compile.
 </p>
-<p>The <samp>-std</samp> flag is supported by the GCC, <code>clang++</code> and
+<p>The <samp class="option">-std</samp> flag is supported by the GCC, <code class="command">clang++</code> and
 Intel compilers.  Currently accepted values are (plus some synonyms)
 </p><div class="example">
-<pre class="example">g++:     c++11 gnu+11 c++14 gnu++14 c++17 gnu++17 c++2a gnu++2a (from 8)
+<pre class="example-preformatted">g++:     c++11 gnu+11 c++14 gnu++14 c++17 gnu++17 c++2a gnu++2a (from 8)
          c++20 gnu++20 (from 10) c++23 gnu++23 c++2b gnu++2b (from 11)
          c++2c gnu++2c
 Intel:   c++11  gnu+11 c++14 gnu++14 c++17 gnu++17
          c++20 gnu++20 (from 2021.1) c++2b gnu++2b (from 2022.2)
          c++23 gnu++23 (at least from 2024.0)
 </pre></div>
-<p>(Those for LLVM <code>clang++</code> are documented at
-<a href="https://clang.llvm.org/cxx_status.html">https://clang.llvm.org/cxx_status.html</a>, and follow <code>g++</code>:
-<code>-std=c++20</code> is supported from Clang 10, <code>-std=c++2b</code> from
-Clang 13 and <code>-std=c++23</code> and <code>-std=c++2c</code> from Clang 17.
-Apple Clang supports <code>-std=c++2b</code> from 13.1.6 and <code>-std=c++23</code>
-and <code>-std=c++2c</code> from 16.0.0.)
+<p>(Those for LLVM <code class="command">clang++</code> are documented at
+<a class="uref" href="https://clang.llvm.org/cxx_status.html">https://clang.llvm.org/cxx_status.html</a>, and follow <code class="code">g++</code>:
+<code class="code">-std=c++20</code> is supported from Clang 10, <code class="code">-std=c++2b</code> from
+Clang 13 and <code class="code">-std=c++23</code> and <code class="code">-std=c++2c</code> from Clang 17.
+Apple Clang supports <code class="code">-std=c++2b</code> from 13.1.6 and <code class="code">-std=c++23</code>
+and <code class="code">-std=c++2c</code> from 16.0.0.)
 </p>
 
-<p>&lsquo;Standards&rsquo; for <code>g++</code> starting with &lsquo;<samp>gnu</samp>&rsquo; enable &lsquo;GNU
+<p>&lsquo;Standards&rsquo; for <code class="command">g++</code> starting with &lsquo;<samp class="samp">gnu</samp>&rsquo; enable &lsquo;GNU
 extensions&rsquo;: what those are is hard to track down.
 </p>
 <p>For the use of C++ in R packages,
-see <cite><a data-manual="R-exts" href="https://CRAN.R-project.org/doc/manuals/R-exts.html#Top">Writing R Extensions</a></cite>.
+see <cite class="cite"><a data-manual="R-exts" href="https://CRAN.R-project.org/doc/manuals/R-exts.html#Top">Writing R Extensions</a></cite>.
 </p>
-<p><a href="https://en.cppreference.com/w/cpp/compiler_support">https://en.cppreference.com/w/cpp/compiler_support</a> indicates
+<p><a class="uref" href="https://en.cppreference.com/w/cpp/compiler_support">https://en.cppreference.com/w/cpp/compiler_support</a> indicates
 which versions of common compilers support (parts of) which C++
 standards.
 </p>
 <hr>
 </div>
-<div class="subsection" id="C-standards">
-<span id="C-standards-1"></span><h4 class="subsection">2.7.4 C standards</h4>
+<div class="subsection-level-extent" id="C-standards">
+<h4 class="subsection" id="C-standards-1"><span>2.7.4 C standards<a class="copiable-link" href="#C-standards-1"> &para;</a></span></h4>
 
 <p>Compiling R requires some POSIX features (such as
-<code>strdup</code><a id="DOCF13" href="#FOOT13"><sup>13</sup></a> and the <code>ssize_t</code> type) not in the C
-standards. Typically compilers make these available, but <strong>not</strong> if
-strict C compliance is specified by for example <samp>-std=c17</samp>.  So
+<code class="code">strdup</code><a class="footnote" id="DOCF13" href="#FOOT13"><sup>13</sup></a> and the <code class="code">ssize_t</code> type) not in the C
+standards. Typically compilers make these available, but <strong class="strong">not</strong> if
+strict C compliance is specified by for example <samp class="option">-std=c17</samp>.  So
 if you want to specify a non-default standard use something like
-<samp>-std=gnu17</samp>.
+<samp class="option">-std=gnu17</samp>.
 </p>
 <p>Compiling R requires C99 or later: C11 and C17 are minor updates, but
 the substantial update &lsquo;C23&rsquo; (finally published in October 2024) is also
-supported for recent versions of GCC<a id="DOCF14" href="#FOOT14"><sup>14</sup></a>,  <code>clang</code><a id="DOCF15" href="#FOOT15"><sup>15</sup></a> and Intel <code>icx</code>.  R 4.5.0 defaults
-to C23 if supported by the chosen compiler.
+supported for recent versions of GCC<a class="footnote" id="DOCF14" href="#FOOT14"><sup>14</sup></a>, <code class="command">clang</code><a class="footnote" id="DOCF15" href="#FOOT15"><sup>15</sup></a> and Intel <code class="command">icx</code>.  R 4.5.0 and
+later default to C23 if supported by the chosen compiler.
 </p>
 <p>As from R 4.3.0 there is support for packages to indicate their
-preferred C version.  Macros <code>CC17</code>, <code>C17FLAGS</code>, <code>CC23</code>
-and <code>C23FLAGS</code> can be set in <samp>config.site</samp> (there are examples
+preferred C version.  Macros <code class="code">CC17</code>, <code class="code">C17FLAGS</code>, <code class="code">CC23</code>
+and <code class="code">C23FLAGS</code> can be set in <samp class="file">config.site</samp> (there are examples
 there).  Those for C17 should support C17 or earlier and not allow C23
-additions so for example <code>bool</code>, <code>true</code> and <code>false</code> can
+additions so for example <code class="code">bool</code>, <code class="code">true</code> and <code class="code">false</code> can
 be used as identifiers.  Those for C23 should support the new keywords
-such as <code>bool</code>.
+such as <code class="code">bool</code>.
 </p>
-<p>There is also support for requesting earlier standards <em>via</em>
-<code>CC99</code> and <code>CC90</code>: however these are very rarely needed as
+<p>There is also support for requesting earlier standards <em class="emph">via</em>
+<code class="code">CC99</code> and <code class="code">CC90</code>: however these are very rarely needed as
 compilers accept legacy (even K&amp;R) code in C17 mode (but not C23 mode).
 </p>
 <p>Some compilers warn enthusiastically about prototypes.  For most,
-omitting <samp>-Wstrict-prototypes</samp> in <code>C17FLAGS</code> suffices.
-However, versions 15 and later of LLVM <code>clang</code> and 14.0.3 and
-later of Apple clang warn by default in all modes if <samp>-Wall</samp> or
-<samp>-pedantic</samp> is used, and may need
-<samp>-Wno-strict-prototypes</samp>.
+omitting <samp class="option">-Wstrict-prototypes</samp> in <code class="code">C17FLAGS</code> suffices.
+However, versions 15 and later of LLVM <code class="command">clang</code> and 14.0.3 and
+later of Apple clang warn by default in all modes if <samp class="option">-Wall</samp> or
+<samp class="option">-pedantic</samp> is used, and may need
+<samp class="option">-Wno-strict-prototypes</samp>.
 </p>
 <hr>
 </div>
-<div class="subsection" id="Link_002dTime-Optimization">
-<span id="Link_002dTime-Optimization-1"></span><h4 class="subsection">2.7.5 Link-Time Optimization</h4>
+<div class="subsection-level-extent" id="Link_002dTime-Optimization">
+<h4 class="subsection" id="Link_002dTime-Optimization-1"><span>2.7.5 Link-Time Optimization<a class="copiable-link" href="#Link_002dTime-Optimization-1"> &para;</a></span></h4>
 
-<p>There is support for using link-time optimization (<abbr>LTO</abbr>) if the
-toolchain supports it: configure with flag <samp>--enable-lto</samp>.  When
-<abbr>LTO</abbr> is enabled it is also used for compiled code in add-on
-packages unless the flag <samp>--enable-lto=R</samp> is used<a id="DOCF16" href="#FOOT16"><sup>16</sup></a>.
+<p>There is support for using link-time optimization (<abbr class="abbr">LTO</abbr>) if the
+toolchain supports it: configure with flag <samp class="option">--enable-lto</samp>.  When
+<abbr class="abbr">LTO</abbr> is enabled it is also used for compiled code in add-on
+packages unless the flag <samp class="option">--enable-lto=R</samp> is used<a class="footnote" id="DOCF16" href="#FOOT16"><sup>16</sup></a>.
 </p>
-<p>The main benefit seen to date from <abbr>LTO</abbr> has been detecting long-standing
+<p>The main benefit seen to date from <abbr class="abbr">LTO</abbr> has been detecting long-standing
 bugs in the ways packages pass arguments to compiled code and between
 compilation units.  Benchmarking in 2020 with
-<code>gcc</code>/<code>gfortran</code>&nbsp;10 showed gains of a few percent
+<code class="command">gcc</code>/<code class="command">gfortran</code>&nbsp;10 showed gains of a few percent
 in increased performance and reduction in installed size for builds
 without debug symbols, but large size reductions for some
-packages<a id="DOCF17" href="#FOOT17"><sup>17</sup></a> with debug symbols.  (Performance and size gains are said to be
+packages<a class="footnote" id="DOCF17" href="#FOOT17"><sup>17</sup></a> with debug symbols.  (Performance and size gains are said to be
 most often seen in complex C++ builds.)
 </p>
-<p>Whether toolchains support <abbr>LTO</abbr> is often unclear: all of the C compiler,
-the Fortran compiler<a id="DOCF18" href="#FOOT18"><sup>18</sup></a> and linker have
+<p>Whether toolchains support <abbr class="abbr">LTO</abbr> is often unclear: all of the C compiler,
+the Fortran compiler<a class="footnote" id="DOCF18" href="#FOOT18"><sup>18</sup></a> and linker have
 to support it, and support it by the same mechanism (so mixing compiler
 families may not work and a non-default linker may be needed).  It has
 been supported by the GCC and LLVM projects for some years with
 diverging implementations.
 </p>
-<p><abbr>LTO</abbr> support was added in 2011 for GCC&nbsp;4.5 on Linux but was little
+<p><abbr class="abbr">LTO</abbr> support was added in 2011 for GCC&nbsp;4.5 on Linux but was little
 used before 2019: compiler support has steadily improved over those
-years and <samp>--enable-lto=R</samp> is nowadays used for some routine
-<acronym>CRAN</acronym> checking.
+years and <samp class="option">--enable-lto=R</samp> is nowadays used for some routine
+<abbr class="acronym">CRAN</abbr> checking.
 </p>
-<p>Unfortunately <samp>--enable-lto</samp> may be accepted but silently do
-nothing useful if some of the toolchain does not support <abbr>LTO</abbr>: this is
+<p>Unfortunately <samp class="option">--enable-lto</samp> may be accepted but silently do
+nothing useful if some of the toolchain does not support <abbr class="abbr">LTO</abbr>: this is
 less common than it once was.
 </p>
-<p>Various macros can be set in file <samp>config.site</samp> to customize how
-<abbr>LTO</abbr> is used.  If the Fortran compiler is not of the same family as the
-C/C++ compilers, set macro &lsquo;<samp>LTO_FC</samp>&rsquo; (probably to empty).  Macro
-&lsquo;<samp>LTO_LD</samp>&rsquo; can be used to select an alternative linker should that be
+<p>Various macros can be set in file <samp class="file">config.site</samp> to customize how
+<abbr class="abbr">LTO</abbr> is used.  If the Fortran compiler is not of the same family as the
+C/C++ compilers, set macro &lsquo;<samp class="samp">LTO_FC</samp>&rsquo; (probably to empty).  Macro
+&lsquo;<samp class="samp">LTO_LD</samp>&rsquo; can be used to select an alternative linker should that be
 needed.
 </p>
 
 <hr>
-<div class="subsubsection" id="LTO-with-GCC">
-<span id="LTO-with-GCC-1"></span><h4 class="subsubsection">2.7.5.1 <abbr>LTO</abbr> with GCC</h4>
+<div class="subsubsection-level-extent" id="LTO-with-GCC">
+<h4 class="subsubsection" id="LTO-with-GCC-1"><span>2.7.5.1 <abbr class="abbr">LTO</abbr> with GCC<a class="copiable-link" href="#LTO-with-GCC-1"> &para;</a></span></h4>
 
 <p>This has been tested on Linux with
-<code>gcc</code>/<code>gfortran</code>&nbsp;8 and later: that needed setting
-(e.g. in <samp>config.site</samp>)
+<code class="command">gcc</code>/<code class="command">gfortran</code>&nbsp;8 and later: that needed setting
+(e.g. in <samp class="file">config.site</samp>)
 </p><div class="example">
-<pre class="example">AR=gcc-ar
+<pre class="example-preformatted">AR=gcc-ar
 RANLIB=gcc-ranlib
 </pre></div>
 <p>For non-system compilers or if those wrappers have not been installed
 one may need something like
 </p><div class="example">
-<pre class="example">AR=&quot;ar --plugin=/path/to/liblto_plugin.so&quot;
+<pre class="example-preformatted">AR=&quot;ar --plugin=/path/to/liblto_plugin.so&quot;
 RANLIB=&quot;ranlib --plugin=/path/to/liblto_plugin.so&quot;
 </pre></div>
-<p>and <code>NM</code> may be needed to be set analogously. (If using an
-<abbr>LTO</abbr>-enabled build to check packages, set environment variable
-<code>UserNM</code><a id="DOCF19" href="#FOOT19"><sup>19</sup></a> to &lsquo;<samp>gcc-nm</samp>&rsquo;.)
-</p>
-<p>It is possible to parallelize parts of the <abbr>LTO</abbr>
-linking process: set the make macro &lsquo;<samp>LTO</samp>&rsquo; to something like
-&lsquo;<samp>LTO=-flto=8</samp>&rsquo; (to use 8 threads), for example in file
-<samp>config.site</samp>.
+<p>and <code class="code">NM</code> may be needed to be set analogously. (If using an
+<abbr class="abbr">LTO</abbr>-enabled build to check packages, set environment variable
+<code class="env">UserNM</code><a class="footnote" id="DOCF19" href="#FOOT19"><sup>19</sup></a> to &lsquo;<samp class="samp">gcc-nm</samp>&rsquo;.)
+</p>
+<p>It is possible to parallelize parts of the <abbr class="abbr">LTO</abbr>
+linking process: set the make macro &lsquo;<samp class="samp">LTO</samp>&rsquo; to something like
+&lsquo;<samp class="samp">LTO=-flto=8</samp>&rsquo; (to use 8 threads), for example in file
+<samp class="file">config.site</samp>.
 </p>
 <p>Under some circumstances and for a few packages, the PIC flags have
 needed overriding on Linux with GCC 9: e.g use in
-<samp>config.site</samp>:
+<samp class="file">config.site</samp>:
 </p><div class="example">
-<pre class="example">CPICFLAGS=-fPIC
+<pre class="example-preformatted">CPICFLAGS=-fPIC
 CXXPICFLAGS=-fPIC
 CXX11PICFLAGS=-fPIC
 CXX14PICFLAGS=-fPIC
@@ -1445,69 +1441,69 @@
 FPICFLAGS=-fPIC
 </pre></div>
 <p>We suggest only using these if the problem is encountered (it had not
-been seen on <acronym>CRAN</acronym> with GCC 10&ndash;15 at the time of writing).
+been seen on <abbr class="acronym">CRAN</abbr> with GCC 10&ndash;15 at the time of writing).
 </p>
 <p>Note that R will usually need to be re-compiled after even a minor
 update to the compiler (e.g. from 13.1 to 13.2).
 </p>
 <hr>
 </div>
-<div class="subsubsection" id="LTO-with-LLVM">
-<span id="LTO-with-LLVM-1"></span><h4 class="subsubsection">2.7.5.2 <abbr>LTO</abbr> with LLVM</h4>
+<div class="subsubsection-level-extent" id="LTO-with-LLVM">
+<h4 class="subsubsection" id="LTO-with-LLVM-1"><span>2.7.5.2 <abbr class="abbr">LTO</abbr> with LLVM<a class="copiable-link" href="#LTO-with-LLVM-1"> &para;</a></span></h4>
 
-<p>LLVM supports another type of <abbr>LTO</abbr> called &lsquo;Thin <abbr>LTO</abbr>&rsquo; as well as a similar
-implementation to GCC, sometimes called &lsquo;Full <abbr>LTO</abbr>&rsquo;.  (See
-<a href="https://clang.llvm.org/docs/ThinLTO.html">https://clang.llvm.org/docs/ThinLTO.html</a>.)  Currently the LLVM
-compilers relevant to R are <code>clang</code> and <code>flang</code>
-(formerly <code>Flang-new</code>) for
-which this can be selected by setting macro &lsquo;<samp>LTO=-flto=thin</samp>&rsquo;.  LLVM
+<p>LLVM supports another type of <abbr class="abbr">LTO</abbr> called &lsquo;Thin <abbr class="abbr">LTO</abbr>&rsquo; as well as a similar
+implementation to GCC, sometimes called &lsquo;Full <abbr class="abbr">LTO</abbr>&rsquo;.  (See
+<a class="uref" href="https://clang.llvm.org/docs/ThinLTO.html">https://clang.llvm.org/docs/ThinLTO.html</a>.)  Currently the LLVM
+compilers relevant to R are <code class="command">clang</code> and <code class="command">flang</code>
+(formerly <code class="command">Flang-new</code>) for
+which this can be selected by setting macro &lsquo;<samp class="samp">LTO=-flto=thin</samp>&rsquo;.  LLVM
 has
 </p><div class="example">
-<pre class="example">AR=llvm-ar
+<pre class="example-preformatted">AR=llvm-ar
 RANLIB=llvm-ranlib
 </pre></div>
 <p>(but macOS does not, and these are not needed there).  Where the linker
-supports a parallel backend for Thin <abbr>LTO</abbr> this can be specified <em>via</em>
-the macro &lsquo;<samp>LTO_LD</samp>&rsquo;: see the URL above for per-linker settings and
+supports a parallel backend for Thin <abbr class="abbr">LTO</abbr> this can be specified <em class="emph">via</em>
+the macro &lsquo;<samp class="samp">LTO_LD</samp>&rsquo;: see the URL above for per-linker settings and
 further linking optimizations.)
 </p>
 <p>For example, on macOS one might use
 </p><div class="example">
-<pre class="example">LTO=-flto=thin
+<pre class="example-preformatted">LTO=-flto=thin
 LTO_FC=
 LTO_LD=-Wl,-mllvm,-threads=4
 </pre></div>
-<p>to use Thin <abbr>LTO</abbr> with 4 threads for C/C++ code, but skip <abbr>LTO</abbr> for Fortran
-code compiled with <code>gfortran</code>.
+<p>to use Thin <abbr class="abbr">LTO</abbr> with 4 threads for C/C++ code, but skip <abbr class="abbr">LTO</abbr> for Fortran
+code compiled with <code class="command">gfortran</code>.
 </p>
-<p>It is said to be particularly beneficial to use <samp>-O3</samp> for
-<code>clang</code> in conjunction with <abbr>LTO</abbr>.
+<p>It is said to be particularly beneficial to use <samp class="option">-O3</samp> for
+<code class="command">clang</code> in conjunction with <abbr class="abbr">LTO</abbr>.
 </p>
-<p>It seems that <code>flang</code> may in future support <abbr>LTO</abbr>.
+<p>It seems that <code class="command">flang</code> may in future support <abbr class="abbr">LTO</abbr>.
 </p>
 <p>The 2020s versions of Intel&rsquo;s C/C++ compilers are based on LLVM and as
-such support LLVM-style <abbr>LTO</abbr>, both &lsquo;full&rsquo; and &lsquo;thin&rsquo;.  This might use
+such support LLVM-style <abbr class="abbr">LTO</abbr>, both &lsquo;full&rsquo; and &lsquo;thin&rsquo;.  This might use
 something like
 </p><div class="example">
-<pre class="example">LTO=-flto=thin -flto-jobs=8
+<pre class="example-preformatted">LTO=-flto=thin -flto-jobs=8
 </pre></div>
 
 <hr>
 </div>
-<div class="subsubsection" id="LTO-for-package-checking">
-<span id="LTO-for-package-checking-1"></span><h4 class="subsubsection">2.7.5.3 <abbr>LTO</abbr> for package checking</h4>
+<div class="subsubsection-level-extent" id="LTO-for-package-checking">
+<h4 class="subsubsection" id="LTO-for-package-checking-1"><span>2.7.5.3 <abbr class="abbr">LTO</abbr> for package checking<a class="copiable-link" href="#LTO-for-package-checking-1"> &para;</a></span></h4>
 
-<p><abbr>LTO</abbr> effectively compiles all the source code in a package as a single
+<p><abbr class="abbr">LTO</abbr> effectively compiles all the source code in a package as a single
 compilation unit and so allows the compiler (with sufficient diagnostic
-flags such as <samp>-Wall</samp>) to check consistency between what are
+flags such as <samp class="option">-Wall</samp>) to check consistency between what are
 normally separate compilation units.
 </p>
-<p>With <code>gcc</code>/<code>gfortran</code> 9.x and later<a id="DOCF20" href="#FOOT20"><sup>20</sup></a> <abbr>LTO</abbr> will flag inconsistencies in calls to Fortran
+<p>With <code class="command">gcc</code>/<code class="command">gfortran</code> 9.x and later<a class="footnote" id="DOCF20" href="#FOOT20"><sup>20</sup></a> <abbr class="abbr">LTO</abbr> will flag inconsistencies in calls to Fortran
 subroutines/functions, both between Fortran source files and between
-Fortran and C/C++.  <code>gfortran</code> 8.4, 9.2 and later can help
+Fortran and C/C++.  <code class="command">gfortran</code> 8.4, 9.2 and later can help
 understanding these by extracting C prototypes from Fortran source files
-with option <samp>-fc-prototypes-external</samp>, e.g. that (at the time
-of writing) Fortran <code>LOGICAL</code> corresponds to <code>int_least32_t *</code>
+with option <samp class="option">-fc-prototypes-external</samp>, e.g. that (at the time
+of writing) Fortran <code class="code">LOGICAL</code> corresponds to <code class="code">int_least32_t *</code>
 in C.
 </p>
 
@@ -1516,32 +1512,32 @@
 </div>
 </div>
 </div>
-<div class="section" id="Testing-a-Unix_002dalike-Installation">
-<span id="Testing-an-Installation"></span><h3 class="section">2.8 Testing an Installation</h3>
+<div class="section-level-extent" id="Testing-a-Unix_002dalike-Installation">
+<h3 class="section" id="Testing-an-Installation"><span>2.8 Testing an Installation<a class="copiable-link" href="#Testing-an-Installation"> &para;</a></span></h3>
 
 <p>Full post-installation testing is possible only if the test files have
 been installed with
 </p>
 <div class="example">
-<pre class="example">make install-tests
+<pre class="example-preformatted">make install-tests
 </pre></div>
 
-<p>which populates a <samp>tests</samp> directory in the installation.
+<p>which populates a <samp class="file">tests</samp> directory in the installation.
 </p>
 <p>If this has been done, two testing routes are available.  The first is
 to move to the home directory of the R installation (as given by
-<code>R RHOME</code> or from R as <code>R.home()</code>) and run
+<code class="command">R RHOME</code> or from R as <code class="code">R.home()</code>) and run
 </p>
 <div class="example">
-<pre class="example">cd tests
+<pre class="example-preformatted">cd tests
 ## followed by one of
 ../bin/R CMD make check
 ../bin/R CMD make check-devel
 ../bin/R CMD make check-all
 </pre></div>
 
-<p>and other useful targets are <code>test-BasePackages</code> and
-<code>test-Recommended</code> to run tests of the standard and recommended
+<p>and other useful targets are <code class="code">test-BasePackages</code> and
+<code class="code">test-Recommended</code> to run tests of the standard and recommended
 packages (if installed) respectively.
 </p>
 <p>This re-runs all the tests relevant to the installed R (including for
@@ -1549,23 +1545,23 @@
 checking the example code in the manuals nor making the standalone Rmath
 library.  This can occasionally be useful when the operating environment
 has been changed, for example by OS updates or by substituting the
-<acronym>BLAS</acronym> (see <a href="#Shared-BLAS">Shared BLAS</a>).
+<abbr class="acronym">BLAS</abbr> (see <a class="pxref" href="#Shared-BLAS">Shared BLAS</a>).
 </p>
 <p>Parallel checking of packages may be possible: set the environment
-variable <code>TEST_MC_CORES</code> to the maximum number of processes to be
+variable <code class="env">TEST_MC_CORES</code> to the maximum number of processes to be
 run in parallel.  This affects both checking the package examples (part
-of <code>make check</code>) and package sources (part of <code>make
-check-devel</code> and <code>make check-recommended</code>).  It does require a
-<code>make</code> command which supports the <code>make -j <var>n</var></code>
+of <code class="command">make check</code>) and package sources (part of <code class="command">make
+check-devel</code> and <code class="command">make check-recommended</code>).  It does require a
+<code class="command">make</code> command which supports the <code class="command">make -j <var class="var">n</var></code>
 option: most do.
 </p>
 
 <p>Alternatively, the installed R can be run, preferably with
-<samp>--vanilla</samp>.  Then
-<span id="index-LC_005fCOLLATE"></span>
+<samp class="option">--vanilla</samp>.  Then
+<a class="index-entry-id" id="index-LC_005fCOLLATE"></a>
 </p>
 <div class="example">
-<pre class="example">pdf(&quot;tests.pdf&quot;) ## optional, but prevents flashing graphics windows
+<pre class="example-preformatted">pdf(&quot;tests.pdf&quot;) ## optional, but prevents flashing graphics windows
 Sys.setenv(LC_COLLATE = &quot;C&quot;, LC_TIME = &quot;C&quot;, LANGUAGE = &quot;en&quot;)
 tools::testInstalledBasic(&quot;both&quot;)
 tools::testInstalledPackages(scope = &quot;base&quot;)
@@ -1574,25 +1570,25 @@
 
 <p>runs the basic tests and then all the tests on the standard and
 recommended packages.  These tests can be run from anywhere: the basic
-tests write their results in the <samp>tests</samp> folder of the R home
+tests write their results in the <samp class="file">tests</samp> folder of the R home
 directory and run fewer tests than the first approach: in particular
 they do not test things which need Internet access&mdash;that can be tested
 by
 </p><div class="example">
-<pre class="example">tools::testInstalledBasic(&quot;internet&quot;)
+<pre class="example-preformatted">tools::testInstalledBasic(&quot;internet&quot;)
 </pre></div>
 
 <p>It is possible to test the installed packages (but not their
-package-specific tests) by <code>testInstalledPackages</code> even if
-<code>make install-tests</code> was not run. The outputs are written under the
-current directory unless a different one is specified by <code>outDir</code>.
+package-specific tests) by <code class="code">testInstalledPackages</code> even if
+<code class="command">make install-tests</code> was not run. The outputs are written under the
+current directory unless a different one is specified by <code class="code">outDir</code>.
 </p>
 <p>Note that the results may depend on the language set for times and
 messages: for maximal similarity to reference results you may want to
 try setting (before starting the R session)
 </p>
 <div class="example">
-<pre class="example">LANGUAGE=en
+<pre class="example-preformatted">LANGUAGE=en
 </pre></div>
 
 <p>and use a UTF-8 or Latin-1 locale.
@@ -1602,71 +1598,71 @@
 <hr>
 </div>
 </div>
-<div class="chapter" id="Installing-R-under-Windows">
-<span id="Installing-R-under-Windows-1"></span><h2 class="chapter">3 Installing R under Windows</h2>
-<span id="index-Installing-under-Windows"></span>
+<div class="chapter-level-extent" id="Installing-R-under-Windows">
+<h2 class="chapter" id="Installing-R-under-Windows-1"><span>3 Installing R under Windows<a class="copiable-link" href="#Installing-R-under-Windows-1"> &para;</a></span></h2>
+<a class="index-entry-id" id="index-Installing-under-Windows"></a>
 
 <p>[The rest of this paragraph is only relevant after release.]
-The <samp>bin/windows</samp> directory of a <acronym>CRAN</acronym> site contains
+The <samp class="file">bin/windows</samp> directory of a <abbr class="acronym">CRAN</abbr> site contains
 binaries for a base distribution and a large number of add-on packages
-from <acronym>CRAN</acronym> to run on 64-bit &lsquo;<samp>x86_64</samp>&rsquo; Windows.
+from <abbr class="acronym">CRAN</abbr> to run on 64-bit &lsquo;<samp class="samp">x86_64</samp>&rsquo; Windows.
 </p>
 <p>R is most tested on current versions of Windows 10 and Windows Server 2022
 with UTF-8 as the charset encoding.  It works also on Windows 11.  It runs
 on older versions of Windows, but normally with other charset encoding and
-may require manual installation of the Universal C Runtime (<abbr>UCRT</abbr>).
+may require manual installation of the Universal C Runtime (<abbr class="abbr">UCRT</abbr>).
 </p>
 <p>Your file system must allow long file names (as is likely except
 perhaps for some network-mounted systems).  If it does not also support
 conversion to short name equivalents (a.k.a. DOS 8.3 names), then R
-<em>must</em> be installed in a path that does not contain spaces.
+<em class="emph">must</em> be installed in a path that does not contain spaces.
 </p>
-<p>Installation is <em>via</em> the installer
-<samp>R-4.5.2-win.exe</samp>.  Just double-click on the icon and
+<p>Installation is <em class="emph">via</em> the installer
+<samp class="file">R-4.5.2patched-win.exe</samp>.  Just double-click on the icon and
 follow the instructions. You can uninstall R from the Control Panel.
 </p>
 <p>You will be asked to choose a language for installation: that choice
 applies to both installation and un-installation but not to running R
 itself.
 </p>
-<p>See the <a href="https://CRAN.R-project.org/bin/windows/base/rw-FAQ.html">R
-Windows <acronym>FAQ</acronym></a> for more details on the binary installer and for
+<p>See the <a class="uref" href="https://CRAN.R-project.org/bin/windows/base/rw-FAQ.html">R
+Windows <abbr class="acronym">FAQ</abbr></a> for more details on the binary installer and for
 information on use on older Windows systems.
 </p>
 
 <hr>
-<div class="section" id="Building-from-source">
-<span id="Building-from-source-1"></span><h3 class="section">3.1 Building from source</h3>
+<div class="section-level-extent" id="Building-from-source">
+<h3 class="section" id="Building-from-source-1"><span>3.1 Building from source<a class="copiable-link" href="#Building-from-source-1"> &para;</a></span></h3>
 
 <p>It is possible to use other 64-bit toolchains (including &lsquo;MSYS2&rsquo;) with
-<abbr>UCRT</abbr> support to build R, but this manual only documents that
+<abbr class="abbr">UCRT</abbr> support to build R, but this manual only documents that
 used for recent binary distributions of R.  When using other
 toolchains, makefiles of R and packages may need to be adapted.
 </p>
 
 <hr>
-<div class="subsection" id="The-Windows-toolset">
-<span id="The-Windows-toolset-1"></span><h4 class="subsection">3.1.1 The Windows toolset</h4>
+<div class="subsection-level-extent" id="The-Windows-toolset">
+<h4 class="subsection" id="The-Windows-toolset-1"><span>3.1.1 The Windows toolset<a class="copiable-link" href="#The-Windows-toolset-1"> &para;</a></span></h4>
 
 <p>The binary distribution of R is currently built with tools
 from
-<a href="https://CRAN.R-project.org/bin/windows/Rtools/rtools45/rtools.html">Rtools45
+<a class="uref" href="https://CRAN.R-project.org/bin/windows/Rtools/rtools45/rtools.html">Rtools45
 for Windows</a>. See 
-<a href="https://CRAN.R-project.org/bin/windows/base/howto-R-4.5.html">Building R-4.5 and packages on Windows</a> for more details on how to use it.
+<a class="uref" href="https://CRAN.R-project.org/bin/windows/base/howto-R-4.5.html">Building R-4.5 and packages on Windows</a> for more details on how to use it.
 </p>
 <p>The toolset includes compilers (currently GCC version 14.2.0 with
 selected additional patches) and runtime libraries from
-<a href="http://mingw-w64.org/">the &lsquo;MinGW-w64&rsquo; project</a> and a number of
+<a class="uref" href="http://mingw-w64.org/">the &lsquo;MinGW-w64&rsquo; project</a> and a number of
 pre-compiled static libraries and headers used by R and R
-packages, compiled by <a href="https://mxe.cc/">&rsquo;MXE&rsquo;</a> (M cross environment,
+packages, compiled by <a class="uref" href="https://mxe.cc/">&rsquo;MXE&rsquo;</a> (M cross environment,
 with updates maintained by Tomas Kalibera).  The toolset also
-includes build tools from the <a href="https://www.msys2.org/">the &rsquo;MSYS2&rsquo;
+includes build tools from the <a class="uref" href="https://www.msys2.org/">the &rsquo;MSYS2&rsquo;
 project</a>.  Additional build tools packaged by &rsquo;MSYS2&rsquo; may be installed
-via a package manager (&lsquo;<samp>pacman</samp>&rsquo;).
+via a package manager (&lsquo;<samp class="samp">pacman</samp>&rsquo;).
 </p>
 <p>There is also an experimental variant of Rtools45 with support for
 64-bit ARM CPUs (aarch64) via LLVM 19 toolchain using
-<code>clang</code>/<code>flang</code> compilers, <code>lld</code> linker, and
+<code class="command">clang</code>/<code class="command">flang</code> compilers, <code class="command">lld</code> linker, and
 libc++.
 </p>
 <p>The toolsets used for 64-bit Windows from 2008 to 2022 were based on
@@ -1677,112 +1673,112 @@
 </p>
 <hr>
 </div>
-<div class="subsection" id="LaTeX-on-Windows">
-<span id="LaTeX"></span><h4 class="subsection">3.1.2 LaTeX</h4>
+<div class="subsection-level-extent" id="LaTeX-on-Windows">
+<h4 class="subsection" id="LaTeX"><span>3.1.2 LaTeX<a class="copiable-link" href="#LaTeX"> &para;</a></span></h4>
 
 <p>Building PDF vignettes and manuals needs a distribution of LaTeX
-installed, with the directory containing <code>pdflatex</code> on the path.
+installed, with the directory containing <code class="command">pdflatex</code> on the path.
 </p>
-<p>The &lsquo;<samp>MiKTeX</samp>&rsquo; (<a href="https://miktex.org/">https://miktex.org/</a>) distribution of
-LaTeX is that used on <acronym>CRAN</acronym>.  This can be set up to install
+<p>The &lsquo;<samp class="samp">MiKTeX</samp>&rsquo; (<a class="uref" href="https://miktex.org/">https://miktex.org/</a>) distribution of
+LaTeX is that used on <abbr class="acronym">CRAN</abbr>.  This can be set up to install
 extra packages &lsquo;on the fly&rsquo; (without asking), which is the simplest way
-to use it.  The &lsquo;basic&rsquo; version of &lsquo;<samp>MiKTeX</samp>&rsquo; will need to add some
-packages.<a id="DOCF21" href="#FOOT21"><sup>21</sup></a>  In any case ensure that the
-<strong>inconsolata</strong> package is installed&mdash;you can check with the
-&lsquo;<samp>MiKTeX</samp>&rsquo; Package Manager.
+to use it.  The &lsquo;basic&rsquo; version of &lsquo;<samp class="samp">MiKTeX</samp>&rsquo; will need to add some
+packages.<a class="footnote" id="DOCF21" href="#FOOT21"><sup>21</sup></a>  In any case ensure that the
+<strong class="strong">inconsolata</strong> package is installed&mdash;you can check with the
+&lsquo;<samp class="samp">MiKTeX</samp>&rsquo; Package Manager.
 </p>
 <p>It is also possible to use the TeX Live distribution from
-<a href="https://www.tug.org/texlive/">https://www.tug.org/texlive/</a>.  (The <acronym>CRAN</acronym> package
-<a href="https://CRAN.R-project.org/package=tinytex"><strong>tinytex</strong></a> can install and manage a subset of TeX Live.)
+<a class="uref" href="https://www.tug.org/texlive/">https://www.tug.org/texlive/</a>.  (The <abbr class="acronym">CRAN</abbr> package
+<a class="url" href="https://CRAN.R-project.org/package=tinytex"><strong class="strong">tinytex</strong></a> can install and manage a subset of TeX Live.)
 </p>
 
 <hr>
 </div>
 </div>
-<div class="section" id="Checking-the-build">
-<span id="Checking-the-build-1"></span><h3 class="section">3.2 Checking the build</h3>
+<div class="section-level-extent" id="Checking-the-build">
+<h3 class="section" id="Checking-the-build-1"><span>3.2 Checking the build<a class="copiable-link" href="#Checking-the-build-1"> &para;</a></span></h3>
 
 <p>You can test a build by running
 </p>
 <div class="example">
-<pre class="example">make check
+<pre class="example-preformatted">make check
 </pre></div>
 
 <p>The recommended packages can be checked by
 </p>
 <div class="example">
-<pre class="example">make check-recommended
+<pre class="example-preformatted">make check-recommended
 </pre></div>
 
 <p>Other levels of checking are
 </p>
 <div class="example">
-<pre class="example">make check-devel
+<pre class="example-preformatted">make check-devel
 </pre></div>
 
 <p>for a more thorough check of the R functionality, and
 </p>
 <div class="example">
-<pre class="example">make check-all
+<pre class="example-preformatted">make check-all
 </pre></div>
 
-<p>for both <code>check-devel</code> and <code>check-recommended</code>.
+<p>for both <code class="code">check-devel</code> and <code class="code">check-recommended</code>.
 </p>
-<p>If a test fails, there will almost always be a <samp>.Rout.fail</samp> file in
-the directory being checked (often <samp>tests/Examples</samp> or
-<samp>tests</samp>): examine the file to help pinpoint the problem.
+<p>If a test fails, there will almost always be a <samp class="file">.Rout.fail</samp> file in
+the directory being checked (often <samp class="file">tests/Examples</samp> or
+<samp class="file">tests</samp>): examine the file to help pinpoint the problem.
 </p>
-<p>Parallel checking of package sources (part of <code>make check-devel</code>
-and <code>make check-recommended</code>) is possible: see the environment
-variable <code>TEST_MC_CORES</code> to the maximum number of processes to be
+<p>Parallel checking of package sources (part of <code class="command">make check-devel</code>
+and <code class="command">make check-recommended</code>) is possible: see the environment
+variable <code class="env">TEST_MC_CORES</code> to the maximum number of processes to be
 run in parallel.
 </p>
 
 <hr>
 </div>
-<div class="section" id="Testing-a-Windows-Installation">
-<span id="Testing-an-Installation-1"></span><h3 class="section">3.3 Testing an Installation</h3>
+<div class="section-level-extent" id="Testing-a-Windows-Installation">
+<h3 class="section" id="Testing-an-Installation-1"><span>3.3 Testing an Installation<a class="copiable-link" href="#Testing-an-Installation-1"> &para;</a></span></h3>
 
 <p>The Windows installer contains a set of test files used when building
 R.
 </p>
 <p>The toolset is not needed to run these tests, but more comprehensive
-analysis of errors will be given if <code>diff</code> is in the path.
+analysis of errors will be given if <code class="command">diff</code> is in the path.
 </p>
-<p>Launch either <code>Rgui</code> or <code>Rterm</code> (preferred), preferably with
-<samp>--vanilla</samp>.  Then run
+<p>Launch either <code class="code">Rgui</code> or <code class="code">Rterm</code> (preferred), preferably with
+<samp class="option">--vanilla</samp>.  Then run
 </p>
 <div class="example">
-<pre class="example">Sys.setenv(LC_COLLATE = &quot;C&quot;, LC_TIME=&quot;C&quot;, LANGUAGE = &quot;en&quot;)
+<pre class="example-preformatted">Sys.setenv(LC_COLLATE = &quot;C&quot;, LC_TIME=&quot;C&quot;, LANGUAGE = &quot;en&quot;)
 tools::testInstalledBasic(&quot;both&quot;)
 tools::testInstalledPackages(scope = &quot;base&quot;)
 tools::testInstalledPackages(scope = &quot;recommended&quot;)
 </pre></div>
 
 <p>runs the basic tests and then all the tests on the standard and recommended
-packages.  These tests can be run from anywhere: <code>testInstalledBasic</code>
-writes results in the <samp>tests</samp> folder of the R home directory (as
-given by <code>R.home()</code>) and <code>testInstalledPackages</code> under the current
-directory unless a different one is specified by <code>outDir</code>.
+packages.  These tests can be run from anywhere: <code class="code">testInstalledBasic</code>
+writes results in the <samp class="file">tests</samp> folder of the R home directory (as
+given by <code class="code">R.home()</code>) and <code class="code">testInstalledPackages</code> under the current
+directory unless a different one is specified by <code class="code">outDir</code>.
 </p>
-<p>For the <samp>tests</samp> folder to be writeable, one normally needs to install
-R to a directory other than the default <samp>C:\Program Files</samp>.  The
+<p>For the <samp class="file">tests</samp> folder to be writeable, one normally needs to install
+R to a directory other than the default <samp class="file">C:\Program Files</samp>.  The
 installer also allows to install R without Administrator privileges, see
-the <a href="https://CRAN.R-project.org/bin/windows/base/rw-FAQ.html">R Windows
-<acronym>FAQ</acronym></a> for more details.
+the <a class="uref" href="https://CRAN.R-project.org/bin/windows/base/rw-FAQ.html">R Windows
+<abbr class="acronym">FAQ</abbr></a> for more details.
 </p>
-<p>The results of <code>example(md5sums)</code> when testing <strong>tools</strong> may
+<p>The results of <code class="code">example(md5sums)</code> when testing <strong class="strong">tools</strong> may
 differ from the reference output as some files are installed with
 Windows&rsquo; CRLF line endings. Also, expect differences in
-<samp>reg-plot-latin1.pdf</samp>.
+<samp class="file">reg-plot-latin1.pdf</samp>.
 </p>
-<p>One can also run tests from the toolset shell (e.g.  <code>bash</code>) similarly
+<p>One can also run tests from the toolset shell (e.g.  <code class="command">bash</code>) similarly
 to a Unix-like installation.  Move to the home directory of the R
-installation (as given by <code>R RHOME</code> or from R as <code>R.home()</code>)
+installation (as given by <code class="command">R RHOME</code> or from R as <code class="code">R.home()</code>)
 and run
 </p>
 <div class="example">
-<pre class="example">cd tests
+<pre class="example-preformatted">cd tests
 ## followed by one of
 ../bin/R CMD make check
 ../bin/R CMD make check-devel
@@ -1796,20 +1792,20 @@
 <hr>
 </div>
 </div>
-<div class="chapter" id="Installing-R-under-macOS">
-<span id="Installing-R-under-macOS-1"></span><h2 class="chapter">4 Installing R under macOS</h2>
-<span id="index-macOS-1"></span>
+<div class="chapter-level-extent" id="Installing-R-under-macOS">
+<h2 class="chapter" id="Installing-R-under-macOS-1"><span>4 Installing R under macOS<a class="copiable-link" href="#Installing-R-under-macOS-1"> &para;</a></span></h2>
+<a class="index-entry-id" id="index-macOS-1"></a>
 
 
 <p>[The rest of this paragraph is only relevant after release.]
-The front page of a <acronym>CRAN</acronym> site has a link &lsquo;Download R for (Mac)
+The front page of a <abbr class="acronym">CRAN</abbr> site has a link &lsquo;Download R for (Mac)
 OS X&rsquo; which takes you to a new page. Two files are offered for download,
-<samp>R-4.5.2-arm64.pkg</samp> and <samp>R-4.5.2-x86_64.pkg</samp>.
+<samp class="file">R-4.5.2-arm64.pkg</samp> and <samp class="file">R-4.5.2-x86_64.pkg</samp>.
 Both are for macOS 11 or later (Big Sur, Monterey, Ventura,
 Sonoma, &hellip;).
 </p>
-<p>The first is for &lsquo;Apple Silicon&rsquo; (<em>aka</em> &lsquo;M1&rsquo;, &lsquo;M2&rsquo;, &hellip;) Macs, the
-second for older Macs with an &lsquo;<samp>x86_64</samp>&rsquo; (Intel) CPU.
+<p>The first is for &lsquo;Apple Silicon&rsquo; (<em class="emph">aka</em> &lsquo;M1&rsquo;, &lsquo;M2&rsquo;, &hellip;) Macs, the
+second for older Macs with an &lsquo;<samp class="samp">x86_64</samp>&rsquo; (Intel) CPU.
 </p>
 
 <p>It is important that if you use a binary installer package that your OS
@@ -1820,11 +1816,11 @@
 At the &lsquo;Installation Type&rsquo; stage, note the option to &lsquo;Customize&rsquo;.  This
 currently shows four components: everyone will need the &lsquo;R Framework&rsquo;
 component: the remaining components are optional. (The &lsquo;Tcl/Tk&rsquo;
-component is needed to use package <strong>tcltk</strong>. The &lsquo;Texinfo&rsquo; component
+component is needed to use package <strong class="strong">tcltk</strong>. The &lsquo;Texinfo&rsquo; component
 is only needed by those installing source packages or R from its
 sources.)
 </p>
-<p>Note for Ventura users: installation from the <samp>Downloads</samp> folder
+<p>Note for Ventura users: installation from the <samp class="file">Downloads</samp> folder
 may not be allowed or may require additional authorization, so we
 suggest you download somewhere else such as your desktop or home folder.
 </p>
@@ -1837,91 +1833,91 @@
 want this time &hellip;).
 </p>
 <p>Various parts of the build require XQuartz to be installed: see
-<a href="https://www.xquartz.org/releases/">https://www.xquartz.org/releases/</a>.<a id="DOCF22" href="#FOOT22"><sup>22</sup></a>  These include the <strong>tcltk</strong> package
-and the <code>X11</code> graphics device: attempting to use these without
+<a class="uref" href="https://www.xquartz.org/releases/">https://www.xquartz.org/releases/</a>.<a class="footnote" id="DOCF22" href="#FOOT22"><sup>22</sup></a>  These include the <strong class="strong">tcltk</strong> package
+and the <code class="code">X11</code> graphics device: attempting to use these without
 XQuartz will remind you.  This is also needed for some
-<span id="index-Cairo"></span>
+<a class="index-entry-id" id="index-Cairo"></a>
 builds of the cairographics-based devices (which are not often used on
-macOS) such as <code>png(type = &quot;cairo&quot;)</code> and <code>svg()</code> and some
-third-party packages (e.g. <a href="https://CRAN.R-project.org/package=rgl"><strong>rgl</strong></a>).
+macOS) such as <code class="code">png(type = &quot;cairo&quot;)</code> and <code class="code">svg()</code> and some
+third-party packages (e.g. <a class="url" href="https://CRAN.R-project.org/package=rgl"><strong class="strong">rgl</strong></a>).
 </p>
 <p>If you update your macOS version, you should re-install R (and
 perhaps XQuartz): the installer may tailor the installation to the
 current version of the OS.
 </p>
 <p>Installers for R-patched and R-devel are usually available from
-<a href="https://mac.R-project.org">https://mac.R-project.org</a>.  (Some of these packages may be
+<a class="uref" href="https://mac.R-project.org">https://mac.R-project.org</a>.  (Some of these packages may be
 unsigned/not notarized: to install those Control/right/two-finger click,
-select &lsquo;<samp>Open With</samp>&rsquo; and &lsquo;<samp>Installer</samp>&rsquo;.)
+select &lsquo;<samp class="samp">Open With</samp>&rsquo; and &lsquo;<samp class="samp">Installer</samp>&rsquo;.)
 </p>
-<p>For building R from source, see <a href="#macOS">macOS</a>.
+<p>For building R from source, see <a class="ref" href="#macOS">macOS</a>.
 </p>
 
 <hr>
-<div class="section" id="Running-R-under-macOS">
-<span id="Running-R-under-macOS-1"></span><h3 class="section">4.1 Running R under macOS</h3>
+<div class="section-level-extent" id="Running-R-under-macOS">
+<h3 class="section" id="Running-R-under-macOS-1"><span>4.1 Running R under macOS<a class="copiable-link" href="#Running-R-under-macOS-1"> &para;</a></span></h3>
 
-<p>There are two ways to run R on macOS from a <acronym>CRAN</acronym> binary
+<p>There are two ways to run R on macOS from a <abbr class="acronym">CRAN</abbr> binary
 distribution.
 </p>
 <p>There is a GUI console normally installed with the R icon in
-<samp>/Applications</samp> which you can run by double-clicking (e.g. from
+<samp class="file">/Applications</samp> which you can run by double-clicking (e.g. from
 Launchpad or Finder).  (If you cannot find it there it was possibly
 installed elsewhere so try searching for it in Spotlight.) This is
-usually referred to as <small>R.APP</small> to distinguish it from command-line R:
+usually referred to as <small class="sc">R.APP</small> to distinguish it from command-line R:
 its user manual is currently part of the macOS FAQ at
-<a href="https://cran.r-project.org/bin/macosx/RMacOSX-FAQ.html">https://cran.r-project.org/bin/macosx/RMacOSX-FAQ.html</a> and
-can be viewed from <small>R.APP</small>&rsquo;s &lsquo;Help&rsquo; menu.
+<a class="uref" href="https://cran.r-project.org/bin/macosx/RMacOSX-FAQ.html">https://cran.r-project.org/bin/macosx/RMacOSX-FAQ.html</a> and
+can be viewed from <small class="sc">R.APP</small>&rsquo;s &lsquo;Help&rsquo; menu.
 </p>
 
-<p>You can run command-line R and <code>Rscript</code> from a
-Terminal<a id="DOCF23" href="#FOOT23"><sup>23</sup></a> so these can be typed as commands
+<p>You can run command-line R and <code class="command">Rscript</code> from a
+Terminal<a class="footnote" id="DOCF23" href="#FOOT23"><sup>23</sup></a> so these can be typed as commands
 as on any other Unix-alike: see the next chapter of this manual.  There
 are some small differences which may surprise users of R on other
 platforms, notably the default location of the personal library
-directory (under <samp>~/Library/R</samp>, e.g.
-<samp>~/Library/R/arm64/4.4/library</samp>), and that warnings, messages and
-other output to <samp>stderr</samp> are highlighted in bold.
+directory (under <samp class="file">~/Library/R</samp>, e.g.
+<samp class="file">~/Library/R/arm64/4.4/library</samp>), and that warnings, messages and
+other output to <samp class="file">stderr</samp> are highlighted in bold.
 </p>
-<p>Those using the <code>zsh</code> shell (the default for new user accounts)
-might find the command <code>R</code> being masked by the <code>zsh</code>
-builtin <code>r</code> (which recalls commands).  One can use a full path
-to R in an alias, or add <code>disable r</code> to <samp>~/.zshrc</samp>.
+<p>Those using the <code class="command">zsh</code> shell (the default for new user accounts)
+might find the command <code class="command">R</code> being masked by the <code class="command">zsh</code>
+builtin <code class="command">r</code> (which recalls commands).  One can use a full path
+to R in an alias, or add <code class="code">disable r</code> to <samp class="file">~/.zshrc</samp>.
 </p>
 
-<p>It has been reported that running <small>R.APP</small> may fail if no preferences are
+<p>It has been reported that running <small class="sc">R.APP</small> may fail if no preferences are
 stored, so if it fails when launched for the very first time, try it
 again (the first attempt will store some preferences).
 </p>
-<p>Users of <small>R.APP</small> need to be aware of the &lsquo;App Nap&rsquo; feature
-(<a href="https://developer.apple.com/library/archive/releasenotes/MacOSX/WhatsNewInOSX/Articles/MacOSX10_9.html">https://developer.apple.com/library/archive/releasenotes/MacOSX/WhatsNewInOSX/Articles/MacOSX10_9.html</a>)
+<p>Users of <small class="sc">R.APP</small> need to be aware of the &lsquo;App Nap&rsquo; feature
+(<a class="uref" href="https://developer.apple.com/library/archive/releasenotes/MacOSX/WhatsNewInOSX/Articles/MacOSX10_9.html">https://developer.apple.com/library/archive/releasenotes/MacOSX/WhatsNewInOSX/Articles/MacOSX10_9.html</a>)
 which can cause R tasks to appear to run very slowly when not
 producing output in the console.  Here are ways to avoid it:
 </p>
-<ul>
-<li> Ensure that the console is completely visible (or at least the activity
+<ul class="itemize mark-bullet">
+<li>Ensure that the console is completely visible (or at least the activity
 indicator at the top right corner is visible).
 
-</li><li> In a Terminal, run
+</li><li>In a Terminal, run
 <div class="example">
-<pre class="example">defaults write org.R-project.R NSAppSleepDisabled -bool YES
+<pre class="example-preformatted">defaults write org.R-project.R NSAppSleepDisabled -bool YES
 </pre></div>
 
-<p>(see <a href="https://developer.apple.com/library/archive/releasenotes/MacOSX/WhatsNewInOSX/Articles/MacOSX10_9.html">https://developer.apple.com/library/archive/releasenotes/MacOSX/WhatsNewInOSX/Articles/MacOSX10_9.html</a>).
+<p>(see <a class="uref" href="https://developer.apple.com/library/archive/releasenotes/MacOSX/WhatsNewInOSX/Articles/MacOSX10_9.html">https://developer.apple.com/library/archive/releasenotes/MacOSX/WhatsNewInOSX/Articles/MacOSX10_9.html</a>).
 </p></li></ul>
 
-<p>Using the <code>X11</code> graphics device or the X11-based versions of <code>View()</code>
-and <code>edit()</code> for data frames and matrices (the latter are the
-default for command-line R but not <small>R.APP</small>) requires
-<a href="https://www.xquartz.org/">XQuartz</a> to be installed.
+<p>Using the <code class="code">X11</code> graphics device or the X11-based versions of <code class="code">View()</code>
+and <code class="code">edit()</code> for data frames and matrices (the latter are the
+default for command-line R but not <small class="sc">R.APP</small>) requires
+<a class="uref" href="https://www.xquartz.org/">XQuartz</a> to be installed.
 </p>
 <p>Under some rather nebulous circumstances messages have been seen from
-<code>fontconfig</code> about missing/unreadable configuration files when
-using cairo-based devices, especially <code>X11(type = &quot;cairo&quot;)</code>.  With
-XQuartz installed there are two <code>fontconfig</code> areas from different
+<code class="code">fontconfig</code> about missing/unreadable configuration files when
+using cairo-based devices, especially <code class="code">X11(type = &quot;cairo&quot;)</code>.  With
+XQuartz installed there are two <code class="code">fontconfig</code> areas from different
 versions and it can help to set
 </p><div class="example">
-<pre class="example">setenv FONTCONFIG_PATH /opt/X11/lib/X11/fontconfig
+<pre class="example-preformatted">setenv FONTCONFIG_PATH /opt/X11/lib/X11/fontconfig
 </pre></div>
 <p>Another symptom has been that italic/oblique fonts are replaced by
 upright ones.
@@ -1929,67 +1925,67 @@
 
 <hr>
 </div>
-<div class="section" id="Uninstalling-under-macOS">
-<span id="Uninstalling-under-macOS-1"></span><h3 class="section">4.2 Uninstalling under macOS</h3>
+<div class="section-level-extent" id="Uninstalling-under-macOS">
+<h3 class="section" id="Uninstalling-under-macOS-1"><span>4.2 Uninstalling under macOS<a class="copiable-link" href="#Uninstalling-under-macOS-1"> &para;</a></span></h3>
 
-<p>R for macOS consists of two parts: the GUI (<small>R.APP</small>) and the R
+<p>R for macOS consists of two parts: the GUI (<small class="sc">R.APP</small>) and the R
 framework. Un-installation is as simple as removing those folders
-(e.g. by dragging them onto the Bin<a id="DOCF24" href="#FOOT24"><sup>24</sup></a>). The typical installation will install the GUI into the
-<samp>/Applications/R.app</samp> folder and the R framework into the
-<samp>/Library/Frameworks/R.framework</samp> folder.  The links to <samp>R</samp>
-and <samp>Rscript</samp> in <samp>/usr/local/bin</samp> should also be removed.
+(e.g. by dragging them onto the Bin<a class="footnote" id="DOCF24" href="#FOOT24"><sup>24</sup></a>). The typical installation will install the GUI into the
+<samp class="file">/Applications/R.app</samp> folder and the R framework into the
+<samp class="file">/Library/Frameworks/R.framework</samp> folder.  The links to <samp class="file">R</samp>
+and <samp class="file">Rscript</samp> in <samp class="file">/usr/local/bin</samp> should also be removed.
 </p>
 <p>If you want to get rid of R more completely using a Terminal, simply
 run:
 </p>
 <div class="example">
-<pre class="example">sudo rm -Rf /Library/Frameworks/R.framework /Applications/R.app \
+<pre class="example-preformatted">sudo rm -Rf /Library/Frameworks/R.framework /Applications/R.app \
    /usr/local/bin/R /usr/local/bin/Rscript
 </pre></div>
 
-<p>The installation consists of up to four Apple packages:<a id="DOCF25" href="#FOOT25"><sup>25</sup></a> for the &lsquo;Apple Silicon&rsquo; build, <code>org.R-project.arm64.R.fw.pkg</code>,
-<code>org.R-project.arm64.R.GUI.pkg</code>, <code>org.r-project.arm64.tcltk</code>
-and <code>org.r-project.arm64.texinfo</code>. You can use <code>sudo pkgutil
+<p>The installation consists of up to four Apple packages:<a class="footnote" id="DOCF25" href="#FOOT25"><sup>25</sup></a> for the &lsquo;Apple Silicon&rsquo; build, <code class="code">org.R-project.arm64.R.fw.pkg</code>,
+<code class="code">org.R-project.arm64.R.GUI.pkg</code>, <code class="code">org.r-project.arm64.tcltk</code>
+and <code class="code">org.r-project.arm64.texinfo</code>. You can use <code class="code">sudo pkgutil
 --forget</code> if you want the Apple Installer to forget about the package
 without deleting its files (useful for the R framework when
 installing multiple R versions in parallel), or after you have
-deleted the files. <strong>NB:</strong> the package names are case-sensitive and
+deleted the files. <strong class="strong">NB:</strong> the package names are case-sensitive and
 the R domain is named inconsistently.
 </p>
 <p>Uninstalling the Tcl/Tk and Texinfo components (which are installed under
-<samp>/opt/R/arm64</samp> on a &lsquo;<samp>arm64</samp>&rsquo; build and <samp>/opt/R/x86_64</samp>
-for an &lsquo;<samp>x86_64</samp>&rsquo; one) is not as simple.  You can list the files
+<samp class="file">/opt/R/arm64</samp> on a &lsquo;<samp class="samp">arm64</samp>&rsquo; build and <samp class="file">/opt/R/x86_64</samp>
+for an &lsquo;<samp class="samp">x86_64</samp>&rsquo; one) is not as simple.  You can list the files
 they installed in a Terminal by e.g.
 </p>
 <div class="example">
-<pre class="example">pkgutil --files org.r-project.arm64.tcltk
+<pre class="example-preformatted">pkgutil --files org.r-project.arm64.tcltk
 pkgutil --files org.r-project.arm64.texinfo
 </pre></div>
 
-<p>(For the &lsquo;Intel build, replace <code>arm64</code> by <code>x86_64</code>.)
-These are paths relative to <samp>/</samp>, the root of the file system.
+<p>(For the &lsquo;Intel build, replace <code class="code">arm64</code> by <code class="code">x86_64</code>.)
+These are paths relative to <samp class="file">/</samp>, the root of the file system.
 </p>
 
 
 <p>If you are not compiling R nor installing packages from source you
-could remove all of <samp>/opt/R/arm64</samp> or <samp>/opt/R/x86_64</samp>.
+could remove all of <samp class="file">/opt/R/arm64</samp> or <samp class="file">/opt/R/x86_64</samp>.
 </p>
 
 <hr>
 </div>
-<div class="section" id="Multiple-versions">
-<span id="Multiple-versions-1"></span><h3 class="section">4.3 Multiple versions</h3>
+<div class="section-level-extent" id="Multiple-versions">
+<h3 class="section" id="Multiple-versions-1"><span>4.3 Multiple versions<a class="copiable-link" href="#Multiple-versions-1"> &para;</a></span></h3>
 
-<p>The installer will remove any previous version<a id="DOCF26" href="#FOOT26"><sup>26</sup></a> of the R framework which it
-finds installed.  This can be avoided by using <code>pkgutil
+<p>The installer will remove any previous version<a class="footnote" id="DOCF26" href="#FOOT26"><sup>26</sup></a> of the R framework which it
+finds installed.  This can be avoided by using <code class="command">pkgutil
 --forget</code> (see the previous section).  However, note that different
 versions are installed under
-<samp>/Library/Frameworks/R.framework/Versions</samp> as <samp>4.4-arm64</samp> (or
-<samp>4.4-x86_64</samp>), <samp>4.3</samp> and so on, so it is not possible to have
-different &lsquo;<samp>4.x.y</samp>&rsquo; versions installed for the same &lsquo;<samp>x</samp>&rsquo; and CPU
+<samp class="file">/Library/Frameworks/R.framework/Versions</samp> as <samp class="file">4.4-arm64</samp> (or
+<samp class="file">4.4-x86_64</samp>), <samp class="file">4.3</samp> and so on, so it is not possible to have
+different &lsquo;<samp class="samp">4.x.y</samp>&rsquo; versions installed for the same &lsquo;<samp class="samp">x</samp>&rsquo; and CPU
 type.
 </p>
-<p><small>R.APP</small> will always run the &lsquo;current&rsquo; version of R, that is the last
+<p><small class="sc">R.APP</small> will always run the &lsquo;current&rsquo; version of R, that is the last
 installed version.
 </p>
 
@@ -1997,152 +1993,152 @@
 <hr>
 </div>
 </div>
-<div class="chapter" id="Running-R">
-<span id="Running-R-1"></span><h2 class="chapter">5 Running R</h2>
+<div class="chapter-level-extent" id="Running-R">
+<h2 class="chapter" id="Running-R-1"><span>5 Running R<a class="copiable-link" href="#Running-R-1"> &para;</a></span></h2>
 
 <p>How to start R and what command-line options are available is discussed
 in 
-<a data-manual="R-intro" href="https://CRAN.R-project.org/doc/manuals/R-intro.html#Invoking-R">Invoking R</a> in <cite>An Introduction to R</cite>.
+<a data-manual="R-intro" href="https://CRAN.R-project.org/doc/manuals/R-intro.html#Invoking-R">Invoking R</a> in <cite class="cite">An Introduction to R</cite>.
 </p>
 <p>You should ensure that the shell has set adequate resource limits: R
 expects a stack size of at least 8MB and to be able to open at least 256
 file descriptors.  (Any modern OS should have default limits at least as
 large as these, but apparently NetBSD may not.  Use the shell command
-<code>ulimit</code> (<code>sh</code>/<code>bash</code>) or <code>limit</code>
-(<code>csh</code>/<code>tcsh</code>) to check.)  For some
-compilers<a id="DOCF27" href="#FOOT27"><sup>27</sup></a> and packages a larger
+<code class="command">ulimit</code> (<code class="command">sh</code>/<code class="command">bash</code>) or <code class="command">limit</code>
+(<code class="command">csh</code>/<code class="command">tcsh</code>) to check.)  For some
+compilers<a class="footnote" id="DOCF27" href="#FOOT27"><sup>27</sup></a> and packages a larger
 stack size has been needed: 20-25MB has sufficed to date.
 </p>
 <p>R makes use of a number of environment variables, the default values
-of many of which are set in file <samp><var>R_HOME</var>/etc/Renviron</samp> (there
+of many of which are set in file <samp class="file"><var class="var">R_HOME</var>/etc/Renviron</samp> (there
 are none set by default on Windows and hence no such file).  These are
-set at <code>configure</code> time, and you would not normally want to
-<span id="index-R_005fPAPERSIZE-1"></span>
-change them &ndash; a possible exception is <code>R_PAPERSIZE</code> (see <a href="#Setting-paper-size">Setting paper size</a>).  The paper size will be deduced from the &lsquo;<samp>LC_PAPER</samp>&rsquo;
-locale category if it exists and <code>R_PAPERSIZE</code> is unset, and this
-will normally produce the right choice from &lsquo;<samp>a4</samp>&rsquo; and &lsquo;<samp>letter</samp>&rsquo;
+set at <code class="command">configure</code> time, and you would not normally want to
+<a class="index-entry-id" id="index-R_005fPAPERSIZE-1"></a>
+change them &ndash; a possible exception is <code class="env">R_PAPERSIZE</code> (see <a class="pxref" href="#Setting-paper-size">Setting paper size</a>).  The paper size will be deduced from the &lsquo;<samp class="samp">LC_PAPER</samp>&rsquo;
+locale category if it exists and <code class="env">R_PAPERSIZE</code> is unset, and this
+will normally produce the right choice from &lsquo;<samp class="samp">a4</samp>&rsquo; and &lsquo;<samp class="samp">letter</samp>&rsquo;
 on modern Unix-alikes (but can always be overridden by setting
-<code>R_PAPERSIZE</code>).
+<code class="env">R_PAPERSIZE</code>).
 </p>
 <p>Various environment variables can be set to determine where R creates
 its per-session temporary directory.  The environment variables
-<span id="index-TMPDIR-1"></span>
-<span id="index-TMP"></span>
-<span id="index-TEMP"></span>
-<code>TMPDIR</code>, <code>TMP</code> and <code>TEMP</code> are searched in turn and the
+<a class="index-entry-id" id="index-TMPDIR-1"></a>
+<a class="index-entry-id" id="index-TMP"></a>
+<a class="index-entry-id" id="index-TEMP"></a>
+<code class="env">TMPDIR</code>, <code class="env">TMP</code> and <code class="env">TEMP</code> are searched in turn and the
 first one which is set and points to a writable area is used.  If none
-do, the final default is <samp>/tmp</samp> on Unix-alikes and the value of
-<span id="index-R_005fUSER"></span>
-<code>R_USER</code> on Windows.  The path should be an absolute path not
-containing spaces<a id="DOCF28" href="#FOOT28"><sup>28</sup></a>  (and it is best to avoid non-alphanumeric characters
-such as <code>+</code> or quotes).
+do, the final default is <samp class="file">/tmp</samp> on Unix-alikes and the value of
+<a class="index-entry-id" id="index-R_005fUSER"></a>
+<code class="env">R_USER</code> on Windows.  The path should be an absolute path not
+containing spaces<a class="footnote" id="DOCF28" href="#FOOT28"><sup>28</sup></a>  (and it is best to avoid non-alphanumeric characters
+such as <code class="code">+</code> or quotes).
 </p>
 <p>Some Unix-alike systems are set up to remove files and directories
-periodically from <samp>/tmp</samp>, for example by a <code>cron</code> job
-<span id="index-TMPDIR-2"></span>
-running <code>tmpwatch</code>.  Set <code>TMPDIR</code> to another directory
+periodically from <samp class="file">/tmp</samp>, for example by a <code class="command">cron</code> job
+<a class="index-entry-id" id="index-TMPDIR-2"></a>
+running <code class="command">tmpwatch</code>.  Set <code class="env">TMPDIR</code> to another directory
 before starting long-running jobs on such a system.
 </p>
-<p>Note that <code>TMPDIR</code> will be used to execute <code>configure</code>
-scripts when installing packages, so if <samp>/tmp</samp> has been mounted as
-&lsquo;<samp>noexec</samp>&rsquo;, <code>TMPDIR</code> needs to be set to a directory from which
+<p>Note that <code class="env">TMPDIR</code> will be used to execute <code class="command">configure</code>
+scripts when installing packages, so if <samp class="file">/tmp</samp> has been mounted as
+&lsquo;<samp class="samp">noexec</samp>&rsquo;, <code class="env">TMPDIR</code> needs to be set to a directory from which
 execution is allowed.
 </p>
 
 
 <hr>
 </div>
-<div class="chapter" id="Add_002don-packages">
-<span id="Add_002don-packages-1"></span><h2 class="chapter">6 Add-on packages</h2>
-<span id="index-Packages"></span>
-<span id="index-Libraries"></span>
+<div class="chapter-level-extent" id="Add_002don-packages">
+<h2 class="chapter" id="Add_002don-packages-1"><span>6 Add-on packages<a class="copiable-link" href="#Add_002don-packages-1"> &para;</a></span></h2>
+<a class="index-entry-id" id="index-Packages"></a>
+<a class="index-entry-id" id="index-Libraries"></a>
 
 
-<p>It is helpful to use the correct terminology.  A <em>package</em> is
-loaded from a <em>library</em> by the function <code>library()</code>.  Thus a
+<p>It is helpful to use the correct terminology.  A <em class="emph">package</em> is
+loaded from a <em class="emph">library</em> by the function <code class="code">library()</code>.  Thus a
 library is a directory containing installed packages; the main library
-is <samp><var>R_HOME</var>/library</samp>, but others can be used, for example by
-<span id="index-R_005fLIBS"></span>
-setting the environment variable <code>R_LIBS</code> or using the R function
-<code>.libPaths()</code>.  To avoid any confusion you will often see a library
+is <samp class="file"><var class="var">R_HOME</var>/library</samp>, but others can be used, for example by
+<a class="index-entry-id" id="index-R_005fLIBS"></a>
+setting the environment variable <code class="env">R_LIBS</code> or using the R function
+<code class="code">.libPaths()</code>.  To avoid any confusion you will often see a library
 directory referred to as a &lsquo;library tree&rsquo;.
 </p>
 
 <hr>
-<div class="section" id="Default-packages">
-<span id="Default-packages-1"></span><h3 class="section">6.1 Default packages</h3>
-<span id="index-Packages_002c-default"></span>
+<div class="section-level-extent" id="Default-packages">
+<h3 class="section" id="Default-packages-1"><span>6.1 Default packages<a class="copiable-link" href="#Default-packages-1"> &para;</a></span></h3>
+<a class="index-entry-id" id="index-Packages_002c-default"></a>
 
 <p>The set of packages loaded on startup is by default
 </p>
 <div class="example">
-<pre class="example">&gt; getOption(&quot;defaultPackages&quot;)
+<pre class="example-preformatted">&gt; getOption(&quot;defaultPackages&quot;)
 [1] &quot;datasets&quot;  &quot;utils&quot;     &quot;grDevices&quot; &quot;graphics&quot;  &quot;stats&quot;     &quot;methods&quot;
 </pre></div>
 
-<p>(plus, of course, <strong>base</strong>) and this can be changed by setting the
-option in startup code (e.g. in <samp>~/.Rprofile</samp>).  It is initially
-<span id="index-R_005fDEFAULT_005fPACKAGES"></span>
-set to the value of the environment variable <code>R_DEFAULT_PACKAGES</code> if
-set (as a comma-separated list).  Setting <code>R_DEFAULT_PACKAGES=NULL</code>
-ensures that only package <strong>base</strong> is loaded.
+<p>(plus, of course, <strong class="strong">base</strong>) and this can be changed by setting the
+option in startup code (e.g. in <samp class="file">~/.Rprofile</samp>).  It is initially
+<a class="index-entry-id" id="index-R_005fDEFAULT_005fPACKAGES"></a>
+set to the value of the environment variable <code class="env">R_DEFAULT_PACKAGES</code> if
+set (as a comma-separated list).  Setting <code class="env">R_DEFAULT_PACKAGES=NULL</code>
+ensures that only package <strong class="strong">base</strong> is loaded.
 </p>
 <p>Changing the set of default packages is normally used to reduce the set
-for speed when scripting: in particular not using <strong>methods</strong> will
+for speed when scripting: in particular not using <strong class="strong">methods</strong> will
 reduce the start-up time by a factor of up to two.  But it can also be
-used to customize R, e.g. for class use. <code>Rscript</code>
-also checks the environment variable <code>R_SCRIPT_DEFAULT_PACKAGES</code>;
-<span id="index-R_005fSCRIPT_005fDEFAULT_005fPACKAGES"></span>
-if set, this takes precedence over <code>R_DEFAULT_PACKAGES</code>.
+used to customize R, e.g. for class use. <code class="command">Rscript</code>
+also checks the environment variable <code class="env">R_SCRIPT_DEFAULT_PACKAGES</code>;
+<a class="index-entry-id" id="index-R_005fSCRIPT_005fDEFAULT_005fPACKAGES"></a>
+if set, this takes precedence over <code class="env">R_DEFAULT_PACKAGES</code>.
 </p>
 
 <hr>
 </div>
-<div class="section" id="Managing-libraries">
-<span id="Managing-libraries-1"></span><h3 class="section">6.2 Managing libraries</h3>
-<span id="index-Libraries_002c-managing"></span>
+<div class="section-level-extent" id="Managing-libraries">
+<h3 class="section" id="Managing-libraries-1"><span>6.2 Managing libraries<a class="copiable-link" href="#Managing-libraries-1"> &para;</a></span></h3>
+<a class="index-entry-id" id="index-Libraries_002c-managing"></a>
 
-<p>R packages are installed into <em>libraries</em>, which are
+<p>R packages are installed into <em class="emph">libraries</em>, which are
 directories in the file system containing a subdirectory for each
 package installed there.
 </p>
-<p>R comes with a single library, <samp><var>R_HOME</var>/library</samp> which is
-the value of the R object &lsquo;<samp>.Library</samp>&rsquo; containing the standard and
-recommended<a id="DOCF29" href="#FOOT29"><sup>29</sup></a>  packages.
+<p>R comes with a single library, <samp class="file"><var class="var">R_HOME</var>/library</samp> which is
+the value of the R object &lsquo;<samp class="samp">.Library</samp>&rsquo; containing the standard and
+recommended<a class="footnote" id="DOCF29" href="#FOOT29"><sup>29</sup></a>  packages.
 Both sites and users can create others and make use of them (or not) in
-an R session.  At the lowest level &lsquo;<samp>.libPaths()</samp>&rsquo; can be used to
+an R session.  At the lowest level &lsquo;<samp class="samp">.libPaths()</samp>&rsquo; can be used to
 add paths to the collection of libraries or to report the current
 collection.
 </p>
-<span id="index-Libraries_002c-site"></span>
-<span id="index-Site-libraries"></span>
+<a class="index-entry-id" id="index-Libraries_002c-site"></a>
+<a class="index-entry-id" id="index-Site-libraries"></a>
 <p>R will automatically make use of a site-specific library
-<samp><var>R_HOME</var>/site-library</samp> if this exists (it does not in a
+<samp class="file"><var class="var">R_HOME</var>/site-library</samp> if this exists (it does not in a
 vanilla R installation).  This location can be overridden by
-setting<a id="DOCF30" href="#FOOT30"><sup>30</sup></a> &lsquo;<samp>.Library.site</samp>&rsquo; in
-<samp><var>R_HOME</var>/etc/Rprofile.site</samp>, or (not recommended) by setting
+setting<a class="footnote" id="DOCF30" href="#FOOT30"><sup>30</sup></a> &lsquo;<samp class="samp">.Library.site</samp>&rsquo; in
+<samp class="file"><var class="var">R_HOME</var>/etc/Rprofile.site</samp>, or (not recommended) by setting
 the
-<span id="index-R_005fLIBS_005fSITE"></span>
-environment variable <code>R_LIBS_SITE</code>.
+<a class="index-entry-id" id="index-R_005fLIBS_005fSITE"></a>
+environment variable <code class="env">R_LIBS_SITE</code>.
 </p>
-<span id="index-Libraries_002c-user"></span>
-<span id="index-User-libraries"></span>
-<span id="index-R_005fLIBS_005fUSER"></span>
+<a class="index-entry-id" id="index-Libraries_002c-user"></a>
+<a class="index-entry-id" id="index-User-libraries"></a>
+<a class="index-entry-id" id="index-R_005fLIBS_005fUSER"></a>
 <p>Users can have one or more libraries, normally specified by the
-environment variable <code>R_LIBS_USER</code>.  This has a default value (to
-see it, use &lsquo;<samp>Sys.getenv(&quot;R_LIBS_USER&quot;)</samp>&rsquo; within an R session),
+environment variable <code class="env">R_LIBS_USER</code>.  This has a default value (to
+see it, use &lsquo;<samp class="samp">Sys.getenv(&quot;R_LIBS_USER&quot;)</samp>&rsquo; within an R session),
 but that is only used if the corresponding directory actually exists
 (which by default it will not).
 </p>
-<p>Both <code>R_LIBS_USER</code> and <code>R_LIBS_SITE</code> can specify multiple
+<p>Both <code class="env">R_LIBS_USER</code> and <code class="env">R_LIBS_SITE</code> can specify multiple
 library paths, separated by colons (semicolons on Windows).
 </p>
 
 <hr>
 </div>
-<div class="section" id="Installing-packages">
-<span id="Installing-packages-1"></span><h3 class="section">6.3 Installing packages</h3>
-<span id="index-Packages_002c-installing"></span>
+<div class="section-level-extent" id="Installing-packages">
+<h3 class="section" id="Installing-packages-1"><span>6.3 Installing packages<a class="copiable-link" href="#Installing-packages-1"> &para;</a></span></h3>
+<a class="index-entry-id" id="index-Packages_002c-installing"></a>
 
 
 <p>Packages may be distributed in source form or compiled binary form.
@@ -2156,43 +2152,43 @@
 more than one library, of course.
 </p>
 
-<span id="index-TMPDIR-3"></span>
-<p>Ensure that the environment variable <code>TMPDIR</code> is either unset (and
-<samp>/tmp</samp> exists and can be written in and executed from) or is the
+<a class="index-entry-id" id="index-TMPDIR-3"></a>
+<p>Ensure that the environment variable <code class="env">TMPDIR</code> is either unset (and
+<samp class="file">/tmp</samp> exists and can be written in and executed from) or is the
 absolute path to a valid temporary directory, not containing spaces.
 </p>
 <p>For most users it suffices to call
-&lsquo;<samp>install.packages(<var>pkgname</var>)</samp>&rsquo; or its GUI equivalent if the
-intention is to install a <acronym>CRAN</acronym> package and Internet access is
-available.<a id="DOCF31" href="#FOOT31"><sup>31</sup></a>  On most systems &lsquo;<samp>install.packages()</samp>&rsquo;
+&lsquo;<samp class="samp">install.packages(<var class="var">pkgname</var>)</samp>&rsquo; or its GUI equivalent if the
+intention is to install a <abbr class="acronym">CRAN</abbr> package and Internet access is
+available.<a class="footnote" id="DOCF31" href="#FOOT31"><sup>31</sup></a>  On most systems &lsquo;<samp class="samp">install.packages()</samp>&rsquo;
 will allow packages to be selected from a list box (typically with
 tens of thousands of items).
 </p>
 <p>To install packages from source on a Unix-alike use in a terminal
 </p>
 <div class="example">
-<pre class="example">R CMD INSTALL -l /path/to/library <var>pkg1</var> <var>pkg2</var> &hellip;
+<pre class="example-preformatted">R CMD INSTALL -l /path/to/library <var class="var">pkg1</var> <var class="var">pkg2</var> ...
 </pre></div>
 
-<p>The part &lsquo;<samp>-l /path/to/library</samp>&rsquo; can be omitted, in which case the
+<p>The part &lsquo;<samp class="samp">-l /path/to/library</samp>&rsquo; can be omitted, in which case the
 first library of a normal R session is used (that shown by
-<code>.libPaths()[1]</code>).
+<code class="code">.libPaths()[1]</code>).
 </p>
-<p>There are a number of options available: use <code>R CMD INSTALL --help</code>
+<p>There are a number of options available: use <code class="code">R CMD INSTALL --help</code>
 to see the current list.
 </p>
-<span id="index-install_002epackages"></span>
+<a class="index-entry-id" id="index-install_002epackages"></a>
 <p>Alternatively, packages can be downloaded and installed from within
-R.  First choose your nearest <acronym>CRAN</acronym> mirror using
-<code>chooseCRANmirror()</code>.  Then download and install packages
-<strong>pkg1</strong> and <strong>pkg2</strong> by
+R.  First choose your nearest <abbr class="acronym">CRAN</abbr> mirror using
+<code class="command">chooseCRANmirror()</code>.  Then download and install packages
+<strong class="strong">pkg1</strong> and <strong class="strong">pkg2</strong> by
 </p>
 <div class="example">
-<pre class="example">&gt; install.packages(c(&quot;pkg1&quot;, &quot;pkg2&quot;))
+<pre class="example-preformatted">&gt; install.packages(c(&quot;pkg1&quot;, &quot;pkg2&quot;))
 </pre></div>
 
 <p>The essential dependencies of the specified packages will also be fetched.
-Unless the library is specified (argument <code>lib</code>) the first library
+Unless the library is specified (argument <code class="code">lib</code>) the first library
 in the library search path is used: if this is not writable, R will
 ask the user (in an interactive session) if the default personal library
 should be created, and if allowed to will install the packages there.
@@ -2202,114 +2198,114 @@
 that are not already installed, use e.g.
 </p>
 <div class="example">
-<pre class="example">&gt; install.packages(&quot;Rcmdr&quot;, dependencies = TRUE)
+<pre class="example-preformatted">&gt; install.packages(&quot;Rcmdr&quot;, dependencies = TRUE)
 </pre></div>
 
-<p><code>install.packages</code> can install a source package from a local
-<samp>.tar.gz</samp> file (or a URL to such a file) by setting argument
-<code>repos</code> to <code>NULL</code>: this will be selected automatically if the
-name given is a single <samp>.tar.gz</samp> file.
+<p><code class="code">install.packages</code> can install a source package from a local
+<samp class="file">.tar.gz</samp> file (or a URL to such a file) by setting argument
+<code class="code">repos</code> to <code class="code">NULL</code>: this will be selected automatically if the
+name given is a single <samp class="file">.tar.gz</samp> file.
 </p>
-<p><code>install.packages</code> can look in several repositories, specified as a
-character vector by the argument <code>repos</code>: these can include a
-<acronym>CRAN</acronym> mirror, Bioconductor, R-forge, rforge.net,
+<p><code class="code">install.packages</code> can look in several repositories, specified as a
+character vector by the argument <code class="code">repos</code>: these can include a
+<abbr class="acronym">CRAN</abbr> mirror, Bioconductor, R-forge, rforge.net,
 local archives, local files, &hellip;).  Function
-<code>setRepositories()</code> can select amongst those repositories that the
+<code class="code">setRepositories()</code> can select amongst those repositories that the
 R installation is aware of.
 </p>
-<p>Something which sometimes puzzles users is that <code>install.packages()</code>
+<p>Something which sometimes puzzles users is that <code class="code">install.packages()</code>
 may report that a package which they believe should be available is not
 found.  Some possible reasons:
-</p><ul>
-<li> The package, such as <strong>grid</strong> or <strong>tcltk</strong>, is part of R
+</p><ul class="itemize mark-bullet">
+<li>The package, such as <strong class="strong">grid</strong> or <strong class="strong">tcltk</strong>, is part of R
 itself and not otherwise available.
 
-</li><li> The package is not in the available repositories, so check which have been
+</li><li>The package is not in the available repositories, so check which have been
 selected by
 <div class="example">
-<pre class="example">getOption(&quot;repos&quot;)
+<pre class="example-preformatted">getOption(&quot;repos&quot;)
 </pre></div>
 
-</li><li> The package is available, but not for the current version of R or for
+</li><li>The package is available, but not for the current version of R or for
 the type of OS (Unix/Windows).  To retrieve the information on available
-versions of package <code><var>pkg</var></code>, use
+versions of package <code class="code"><var class="var">pkg</var></code>, use
 
 <div class="example">
-<pre class="example">av &lt;- available.packages(filters=list())
-av[av[, &quot;Package&quot;] == <var>pkg</var>, ]
+<pre class="example-preformatted">av &lt;- available.packages(filters=list())
+av[av[, &quot;Package&quot;] == <var class="var">pkg</var>, ]
 </pre></div>
 
-<p>in your R session, and look at the &lsquo;<samp>Depends</samp>&rsquo; and &lsquo;<samp>OS_type</samp>&rsquo;
+<p>in your R session, and look at the &lsquo;<samp class="samp">Depends</samp>&rsquo; and &lsquo;<samp class="samp">OS_type</samp>&rsquo;
 fields (there may be more than one matching entry).  If the package
 depends on a version of R later than the one in use, it is possible
 that an earlier version is available which will work with your version
-of R: for <acronym>CRAN</acronym> look for &lsquo;Old sources&rsquo; on the package&rsquo;s
-<acronym>CRAN</acronym> landing page and manually retrieve an appropriate version (of
+of R: for <abbr class="acronym">CRAN</abbr> look for &lsquo;Old sources&rsquo; on the package&rsquo;s
+<abbr class="acronym">CRAN</abbr> landing page and manually retrieve an appropriate version (of
 comparable age to your version of R).
 </p></li></ul>
 
 <p>Naive users sometimes forget that as well as installing a package, they
-have to use <code>library</code> to make its functionality available.
+have to use <code class="code">library</code> to make its functionality available.
 </p>
 
 <hr>
-<div class="subsection" id="Windows-packages">
-<span id="Windows"></span><h4 class="subsection">6.3.1 Windows</h4>
+<div class="subsection-level-extent" id="Windows-packages">
+<h4 class="subsection" id="Windows"><span>6.3.1 Windows<a class="copiable-link" href="#Windows"> &para;</a></span></h4>
 
-<p>What <code>install.packages</code> does by default is different on Unix-alikes
+<p>What <code class="code">install.packages</code> does by default is different on Unix-alikes
 (except macOS) and Windows.  On Unix-alikes it consults the list of
-available <em>source</em> packages on <acronym>CRAN</acronym> (or other
+available <em class="emph">source</em> packages on <abbr class="acronym">CRAN</abbr> (or other
 repositories), downloads the latest version of the package sources, and
-installs them (via <code>R CMD INSTALL</code>).  On &lsquo;<samp>x86_64</samp>&rsquo; Windows
-it looks (by default) first at the list of <em>binary</em> versions of
+installs them (via <code class="code">R CMD INSTALL</code>).  On &lsquo;<samp class="samp">x86_64</samp>&rsquo; Windows
+it looks (by default) first at the list of <em class="emph">binary</em> versions of
 packages available for your version of R and downloads the latest
 versions (if any).  If no binary version is available or the source
 version is newer, it will install the source versions of packages
 without compiled C/C++/Fortran code, and offer to do so for those with,
-if <code>make</code> is available (and this can be tuned by option
-<code>&quot;install.packages.compile.from.source&quot;</code>).
+if <code class="command">make</code> is available (and this can be tuned by option
+<code class="code">&quot;install.packages.compile.from.source&quot;</code>).
 </p>
-<p>[At present binary packages are not distributed for &lsquo;<samp>aarch64</samp>&rsquo;
-Windows, so most of this subsection only applies to &lsquo;<samp>x86_64</samp>&rsquo;.]
+<p>[At present binary packages are not distributed for &lsquo;<samp class="samp">aarch64</samp>&rsquo;
+Windows, so most of this subsection only applies to &lsquo;<samp class="samp">x86_64</samp>&rsquo;.]
 </p>
-<p>On Windows <code>install.packages</code> can also install a binary package
-from a local <samp>zip</samp> file (or the URL of such a file) by setting
-argument <code>repos</code> to <code>NULL</code>.  <code>Rgui.exe</code> has a menu
-<code>Packages</code> with a GUI interface to <code>install.packages</code>,
-<code>update.packages</code> and <code>library</code>.
+<p>On Windows <code class="code">install.packages</code> can also install a binary package
+from a local <samp class="file">zip</samp> file (or the URL of such a file) by setting
+argument <code class="code">repos</code> to <code class="code">NULL</code>.  <code class="code">Rgui.exe</code> has a menu
+<code class="code">Packages</code> with a GUI interface to <code class="code">install.packages</code>,
+<code class="code">update.packages</code> and <code class="code">library</code>.
 </p>
 <p>Windows binary packages for R were distributed as a single binary
 containing either or both architectures (32- and 64-bit).  Prior to R
 4.2.0, they might contain only the 32-bit architecture.
 </p>
 
-<p><code>R CMD INSTALL</code> works in Windows to install source packages.  No
+<p><code class="command">R CMD INSTALL</code> works in Windows to install source packages.  No
 additional tools are needed if the package does not contain compiled
-code, and <code>install.packages(type=&quot;source&quot;)</code> will work for such
-packages. Those with compiled code need the tools (see <a href="#The-Windows-toolset">The Windows toolset</a>). The tools are found automatically by R when installed by
+code, and <code class="code">install.packages(type=&quot;source&quot;)</code> will work for such
+packages. Those with compiled code need the tools (see <a class="ref" href="#The-Windows-toolset">The Windows toolset</a>). The tools are found automatically by R when installed by
 the toolset installer. See
-<a href="https://cran.r-project.org/bin/windows/base/howto-R-4.5.html">Building R-4.5 and packages on Windows</a> for more details.
+<a class="uref" href="https://cran.r-project.org/bin/windows/base/howto-R-4.5.html">Building R-4.5 and packages on Windows</a> for more details.
 </p>
 <p>Occasional permission problems after unpacking source packages have been
 seen on some systems: these have been circumvented by setting the
-environment variable <code>R_INSTALL_TAR</code> to &lsquo;<samp>tar.exe</samp>&rsquo;.
-<span id="index-R_005fINSTALL_005fTAR"></span>
+environment variable <code class="env">R_INSTALL_TAR</code> to &lsquo;<samp class="samp">tar.exe</samp>&rsquo;.
+<a class="index-entry-id" id="index-R_005fINSTALL_005fTAR"></a>
 </p>
 <p>If you have only a source package that is known to work with current
 R and just want a binary Windows build of it, you could make use of
 the building service offered at
-<a href="https://win-builder.r-project.org/">https://win-builder.r-project.org/</a>.
+<a class="uref" href="https://win-builder.r-project.org/">https://win-builder.r-project.org/</a>.
 </p>
-<p>For almost all packages <code>R CMD INSTALL</code> will attempt to install
+<p>For almost all packages <code class="command">R CMD INSTALL</code> will attempt to install
 both 32- and 64-bit builds of a package if run from a 32/64-bit install
 of R (only 64-bit builds and installs are supported since R 4.2.0).
 It will report success if the installation of the architecture
-of the running <code>R</code> succeeded, whether or not the other
+of the running <code class="command">R</code> succeeded, whether or not the other
 architecture was successfully installed.  The exceptions are packages
-with a non-empty <samp>configure.win</samp> script or which make use of
-<samp>src/Makefile.win</samp>.  If <samp>configure.win</samp> does something
-appropriate to both architectures use<a id="DOCF32" href="#FOOT32"><sup>32</sup></a> option
-<samp>--force-biarch</samp>: otherwise <code>R CMD INSTALL
+with a non-empty <samp class="file">configure.win</samp> script or which make use of
+<samp class="file">src/Makefile.win</samp>.  If <samp class="file">configure.win</samp> does something
+appropriate to both architectures use<a class="footnote" id="DOCF32" href="#FOOT32"><sup>32</sup></a> option
+<samp class="option">--force-biarch</samp>: otherwise <code class="command">R CMD INSTALL
 --merge-multiarch</code> can be applied to a source tarball to merge separate
 32- and 64-bit installs.  (This can only be applied to a tarball, and
 will only succeed if both installs succeed.)
@@ -2321,71 +2317,71 @@
 </p>
 <hr>
 </div>
-<div class="subsection" id="macOS-packages">
-<span id="macOS-1"></span><h4 class="subsection">6.3.2 macOS</h4>
+<div class="subsection-level-extent" id="macOS-packages">
+<h4 class="subsection" id="macOS-1"><span>6.3.2 macOS<a class="copiable-link" href="#macOS-1"> &para;</a></span></h4>
 
-<p>On macOS <code>install.packages</code> works as it does on other Unix-alike
-systems, but there is an additional type <code>binary</code> (available
-for the <acronym>CRAN</acronym> distribution but not when compiling R from
-source) which can be passed to <code>install.packages</code> in order to
+<p>On macOS <code class="code">install.packages</code> works as it does on other Unix-alike
+systems, but there is an additional type <code class="code">binary</code> (available
+for the <abbr class="acronym">CRAN</abbr> distribution but not when compiling R from
+source) which can be passed to <code class="code">install.packages</code> in order to
 download and install binary packages from a suitable repository.  These
-binary package files for macOS have the extension &lsquo;<samp>.tgz</samp>&rsquo;.  The
-<small>R.APP</small> GUI provides menus for installation of either binary or source
-packages, from <acronym>CRAN</acronym>, other repositories or local files.
+binary package files for macOS have the extension &lsquo;<samp class="samp">.tgz</samp>&rsquo;.  The
+<small class="sc">R.APP</small> GUI provides menus for installation of either binary or source
+packages, from <abbr class="acronym">CRAN</abbr>, other repositories or local files.
 </p>
-<p>On R builds using binary packages, the default is type <code>both</code>:
+<p>On R builds using binary packages, the default is type <code class="code">both</code>:
 this looks first at the list of binary packages available for your
 version of R and installs the latest versions (if any).  If no binary
 version is available or the source version is newer, it will install the
 source versions of packages without compiled C/C++/Fortran code and offer
-to do so for those with, if <code>make</code> is available.
+to do so for those with, if <code class="command">make</code> is available.
 </p>
 <p>Note that most binary packages which include compiled code are tied to a
 particular series (e.g. R 4.5.x or 4.4.x) of R.
 </p>
 <p>Installing source packages which do not contain compiled code should
 work with no additional tools. For others you will need the &lsquo;Command
-Line Tools&rsquo; for <code>Xcode</code> and compilers which match those used to
+Line Tools&rsquo; for <code class="command">Xcode</code> and compilers which match those used to
 build R, plus a Fortran compiler for packages which contain Fortran
-code: see <a href="#macOS">macOS</a>.  Packages with C/C++ source code which link to
-Fortran libraries (which include the <acronym>BLAS</acronym> and <acronym>LAPACK</acronym>
-libraries) will need either the Fortran compiler or, for <acronym>CRAN</acronym>
+code: see <a class="ref" href="#macOS">macOS</a>.  Packages with C/C++ source code which link to
+Fortran libraries (which include the <abbr class="acronym">BLAS</abbr> and <abbr class="acronym">LAPACK</abbr>
+libraries) will need either the Fortran compiler or, for <abbr class="acronym">CRAN</abbr>
 binary distributions of R, to specify
 </p><div class="example">
-<pre class="example">FLIBS = -L/Library/Frameworks/R.framework/Resources/lib -lgfortran -lquadmath
+<pre class="example-preformatted">FLIBS = -L/Library/Frameworks/R.framework/Resources/lib -lgfortran -lquadmath
 </pre></div>
-<p>in a <samp>Makevars</samp> file (see the next section) to point to the Fortran
+<p>in a <samp class="file">Makevars</samp> file (see the next section) to point to the Fortran
 libraries in the binary distribution.
 </p>
-<p>Package <a href="https://CRAN.R-project.org/package=rJava"><strong>rJava</strong></a> and those which depend on it need a Java runtime
+<p>Package <a class="url" href="https://CRAN.R-project.org/package=rJava"><strong class="strong">rJava</strong></a> and those which depend on it need a Java runtime
 installed and several packages need X11 installed, including those using
-Tk.  See <a href="#macOS">macOS</a> and <a href="#Java-_0028macOS_0029">Java</a>.  Package <a href="https://CRAN.R-project.org/package=rjags"><strong>rjags</strong></a>
-needs a build of JAGS installed under <samp>/usr/local</samp>, such as those
+Tk.  See <a class="ref" href="#macOS">macOS</a> and <a class="ref" href="#Java-_0028macOS_0029">Java</a>.  Package <a class="url" href="https://CRAN.R-project.org/package=rjags"><strong class="strong">rjags</strong></a>
+needs a build of JAGS installed under <samp class="file">/usr/local</samp>, such as those
 at
-<a href="https://sourceforge.net/projects/mcmc-jags/files/JAGS/4.x/Mac%20OS%20X/">https://sourceforge.net/projects/mcmc-jags/files/JAGS/4.x/Mac%20OS%20X/</a>.
+<a class="uref" href="https://sourceforge.net/projects/mcmc-jags/files/JAGS/4.x/Mac%20OS%20X/">https://sourceforge.net/projects/mcmc-jags/files/JAGS/4.x/Mac%20OS%20X/</a>.
 </p>
-<p>Tcl/Tk extension <code>BWidget</code> used to be
-distributed with R but no longer is; <code>Tktable</code> has been
+<p>Tcl/Tk extension <code class="code">BWidget</code> used to be
+distributed with R but no longer is; <code class="code">Tktable</code> has been
 distributed with recent versions of R.
 </p>
 
 
 <p>The default compilers specified are shown in file
-<samp>/Library/Frameworks/R.framework/Resources/etc/Makeconf</samp>.  At
+<samp class="file">/Library/Frameworks/R.framework/Resources/etc/Makeconf</samp>.  At
 the time of writing those settings assumed that the C, Fortran and C++
-compilers were on the path (see <a href="#macOS">macOS</a>).  The settings can be
+compilers were on the path (see <a class="ref" href="#macOS">macOS</a>).  The settings can be
 changed, either by editing that file or in a file such as
-<samp>~/.R/Makevars</samp> (see the next section).  Entries which may need to
-be changed include &lsquo;<samp>CC</samp>&rsquo;, &lsquo;<samp>CXX</samp>&rsquo;, &lsquo;<samp>FC</samp>&rsquo;, &lsquo;<samp>FLIBS</samp>&rsquo; and
-the corresponding flags, and perhaps &lsquo;<samp>CXXCPP</samp>&rsquo;, &lsquo;<samp>DYLIB_LD</samp>&rsquo;,
-&lsquo;<samp>MAIN_LD</samp>&rsquo;, &lsquo;<samp>SHLIB_CXXLD</samp>&rsquo; and &lsquo;<samp>SHLIB_LD</samp>&rsquo;, as well as their
-&lsquo;<samp>CXX11</samp>&rsquo;, &lsquo;<samp>CXX14</samp>&rsquo;, &lsquo;<samp>CXX17</samp>&rsquo; and &lsquo;<samp>CXX20</samp>&rsquo; variants.
+<samp class="file">~/.R/Makevars</samp> (see the next section).  Entries which may need to
+be changed include &lsquo;<samp class="samp">CC</samp>&rsquo;, &lsquo;<samp class="samp">CXX</samp>&rsquo;, &lsquo;<samp class="samp">FC</samp>&rsquo;, &lsquo;<samp class="samp">FLIBS</samp>&rsquo; and
+the corresponding flags, and perhaps &lsquo;<samp class="samp">CXXCPP</samp>&rsquo;, &lsquo;<samp class="samp">DYLIB_LD</samp>&rsquo;,
+&lsquo;<samp class="samp">MAIN_LD</samp>&rsquo;, &lsquo;<samp class="samp">SHLIB_CXXLD</samp>&rsquo; and &lsquo;<samp class="samp">SHLIB_LD</samp>&rsquo;, as well as their
+&lsquo;<samp class="samp">CXX11</samp>&rsquo;, &lsquo;<samp class="samp">CXX14</samp>&rsquo;, &lsquo;<samp class="samp">CXX17</samp>&rsquo; and &lsquo;<samp class="samp">CXX20</samp>&rsquo; variants.
 </p>
 <p>So for example you could select a specific LLVM
-<code>clang</code> for both C and C++ with extensive checking by having in
-<samp>~/.R/Makevars</samp>
+<code class="command">clang</code> for both C and C++ with extensive checking by having in
+<samp class="file">~/.R/Makevars</samp>
 </p><div class="example">
-<pre class="example">SDK=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
+<pre class="example-preformatted">SDK=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
 CC = /usr/local/clang/bin/clang -isysroot $(SDK)
 CXX = /usr/local/clang/bin/clang++ -isysroot $(SDK)
 CXX11 = $CXX
@@ -2401,11 +2397,11 @@
 CXX20FLAGS = $CXXFLAGS
 CXX23FLAGS = $CXXFLAGS
 </pre></div>
-<p>(the current SDK can be found by running <code>xcrun -show-sdk-path</code>)
-and for the current macOS distribution of <code>gfortran</code> at
-<a href="https://mac.r-project.org/tools/">https://mac.r-project.org/tools/</a>
+<p>(the current SDK can be found by running <code class="command">xcrun -show-sdk-path</code>)
+and for the current macOS distribution of <code class="command">gfortran</code> at
+<a class="uref" href="https://mac.r-project.org/tools/">https://mac.r-project.org/tools/</a>
 </p><div class="example">
-<pre class="example">FC = /opt/gfortran/bin/gfortran
+<pre class="example-preformatted">FC = /opt/gfortran/bin/gfortran
 (arm64)
 FLIBS =  -L/opt/gfortran/lib/gcc/aarch64-apple-darwin20.0/14.2.0
   -L/opt/gfortran/lib -lgfortran -lemutls_w -lheapt_w -lquadmath
@@ -2415,47 +2411,47 @@
 </pre></div>
 <p>(line broken here for the manual only).
 </p>
-<p>If that <code>clang</code> build
-supports <abbr>OpenMP</abbr>, you can add
+<p>If that <code class="command">clang</code> build
+supports <abbr class="abbr">OpenMP</abbr>, you can add
 </p><div class="example">
-<pre class="example">SHLIB_OPENMP_CFLAGS = -fopenmp
+<pre class="example-preformatted">SHLIB_OPENMP_CFLAGS = -fopenmp
 SHLIB_OPENMP_CXXFLAGS = -fopenmp
 </pre></div>
-<p>to compile <abbr>OpenMP</abbr>-using packages.  It will also be necessary to arrange
-for the <code>libomp.dylib</code> library to be found at both install time and run
+<p>to compile <abbr class="abbr">OpenMP</abbr>-using packages.  It will also be necessary to arrange
+for the <code class="code">libomp.dylib</code> library to be found at both install time and run
 time, for example by copying/linking it somewhere that is searched such
-as <samp>/usr/local/lib</samp>.
+as <samp class="file">/usr/local/lib</samp>.
 </p>
 <p>Apple includes many Open Source libraries in macOS but increasingly
 without the corresponding headers (not even in Xcode nor the Command
 Line Tools): they are often rather old versions.  If installing packages
 from source using them it is usually easiest to install a
 statically-linked up-to-date copy of the Open Source package from its
-sources or from <a href="https://mac.r-project.org/bin/">https://mac.r-project.org/bin/</a>.
+sources or from <a class="uref" href="https://mac.r-project.org/bin/">https://mac.r-project.org/bin/</a>.
 But sometimes it is desirable/necessary to use Apple&rsquo;s dynamically
 linked library, in which case appropriate headers could be extracted
-from the sources<a id="DOCF33" href="#FOOT33"><sup>33</sup></a> available <em>via</em>
-<a href="https://opensource.apple.com/releases">https://opensource.apple.com/releases</a> &ndash; this has been used for
-<code>iodbc</code>.
+from the sources<a class="footnote" id="DOCF33" href="#FOOT33"><sup>33</sup></a> available <em class="emph">via</em>
+<a class="uref" href="https://opensource.apple.com/releases">https://opensource.apple.com/releases</a> &ndash; this has been used for
+<code class="code">iodbc</code>.
 </p>
 <p>Some care may be needed with selecting compilers when installing external
 software for use with packages.  The &lsquo;system&rsquo; compilers as used when
-building R are <code>clang</code> and <code>clang++</code>, but the Apple
-toolchain also provides compilers called <code>gcc</code> and <code>g++</code>
-which despite their names are based on LLVM and <code>libc++</code> like the
+building R are <code class="command">clang</code> and <code class="command">clang++</code>, but the Apple
+toolchain also provides compilers called <code class="command">gcc</code> and <code class="command">g++</code>
+which despite their names are based on LLVM and <code class="code">libc++</code> like the
 system ones and which behave in almost the same way as the system ones.
-Most Open Source software has a <code>configure</code> script developed
-using GNU <code>autoconf</code> and hence will select <code>gcc</code> and
-<code>g++</code> as the default compilers: this usually works fine.  For
+Most Open Source software has a <code class="command">configure</code> script developed
+using GNU <code class="command">autoconf</code> and hence will select <code class="command">gcc</code> and
+<code class="command">g++</code> as the default compilers: this usually works fine.  For
 consistency one can use
 </p>
 <div class="example">
-<pre class="example">./configure CC=clang CFLAGS=-O2 CXX=clang++ CXXFLAGS=-O2
+<pre class="example-preformatted">./configure CC=clang CFLAGS=-O2 CXX=clang++ CXXFLAGS=-O2
 </pre></div>
 
-<p>(avoiding <code>autoconf</code>&rsquo;s default <samp>-g</samp>).
-<code>R CMD INSTALL</code> and <code>install.packages()</code> try to invoke
-<code>configure</code> with the same compilers and flags used to build
+<p>(avoiding <code class="command">autoconf</code>&rsquo;s default <samp class="option">-g</samp>).
+<code class="command">R CMD INSTALL</code> and <code class="code">install.packages()</code> try to invoke
+<code class="command">configure</code> with the same compilers and flags used to build
 R.
 </p>
 
@@ -2463,39 +2459,39 @@
 
 <hr>
 </div>
-<div class="subsection" id="Customizing-package-compilation">
-<span id="Customizing-package-compilation-1"></span><h4 class="subsection">6.3.3 Customizing package compilation</h4>
+<div class="subsection-level-extent" id="Customizing-package-compilation">
+<h4 class="subsection" id="Customizing-package-compilation-1"><span>6.3.3 Customizing package compilation<a class="copiable-link" href="#Customizing-package-compilation-1"> &para;</a></span></h4>
 
 <p>The R system and package-specific compilation flags can be overridden
 or added to by setting the appropriate Make variables in the personal
-file <samp><var>HOME</var>/.R/Makevars-<var>R_PLATFORM</var></samp> (but
-<samp><var>HOME</var>/.R/Makevars.win</samp> or <samp><var>HOME</var>/.R/Makevars.win64</samp>
-on Windows), or if that does not exist, <samp><var>HOME</var>/.R/Makevars</samp>,
-where &lsquo;<samp>R_PLATFORM</samp>&rsquo; is the platform for which R was built, as
-available in the <code>platform</code> component of the R variable
-<code>R.version</code>.  The full path to an alternative personal
-file<a id="DOCF34" href="#FOOT34"><sup>34</sup></a> can be specified <em>via</em> the environment variable
-<code>R_MAKEVARS_USER</code>.
+file <samp class="file"><var class="var">HOME</var>/.R/Makevars-<var class="var">R_PLATFORM</var></samp> (but
+<samp class="file"><var class="var">HOME</var>/.R/Makevars.win</samp> or <samp class="file"><var class="var">HOME</var>/.R/Makevars.win64</samp>
+on Windows), or if that does not exist, <samp class="file"><var class="var">HOME</var>/.R/Makevars</samp>,
+where &lsquo;<samp class="samp">R_PLATFORM</samp>&rsquo; is the platform for which R was built, as
+available in the <code class="code">platform</code> component of the R variable
+<code class="code">R.version</code>.  The full path to an alternative personal
+file<a class="footnote" id="DOCF34" href="#FOOT34"><sup>34</sup></a> can be specified <em class="emph">via</em> the environment variable
+<code class="env">R_MAKEVARS_USER</code>.
 </p>
 <p>Package developers are encouraged to use this mechanism to enable a
 reasonable amount of diagnostic messaging (&ldquo;warnings&rdquo;) when compiling,
-such as e.g. <samp>-Wall -pedantic</samp> for tools from GCC, the GNU
-Compiler Collection, and for LLVM (<code>clang</code> and <code>flang</code>).
+such as e.g. <samp class="option">-Wall -pedantic</samp> for tools from GCC, the GNU
+Compiler Collection, and for LLVM (<code class="command">clang</code> and <code class="command">flang</code>).
 </p>
 <p>Note that this mechanism can also be used when it is necessary to change
 the optimization level whilst installing a particular package.  For
 example
 </p>
 <div class="example">
-<pre class="example">## <span class="roman">for C code</span>
+<pre class="example-preformatted">## <span class="r">for C code</span>
 CFLAGS = -g -O -mtune=native
-## <span class="roman">for C++ code</span>
+## <span class="r">for C++ code</span>
 CXXFLAGS = -g -O -mtune=native
-## <span class="roman">for C++11 code</span>
+## <span class="r">for C++11 code</span>
 CXX11FLAGS = -g -O -mtune=native
-## <span class="roman">for fixed-form Fortran code</span>
+## <span class="r">for fixed-form Fortran code</span>
 FFLAGS = -g -O -mtune=native
-## <span class="roman">for C17 code</span>
+## <span class="r">for C17 code</span>
 C17FLAGS = -g -O -mtune=native -Wno-strict-prototypes
 </pre></div>
 
@@ -2503,31 +2499,31 @@
 set the flag(s) appropriate to that standard.
 </p>
 <p>Another use is to override the settings in a binary installation of R.
-For example, for the current distribution of <code>gfortran</code> at
-<a href="https://mac.r-project.org/tools/">https://mac.r-project.org/tools/</a>
+For example, for the current distribution of <code class="command">gfortran</code> at
+<a class="uref" href="https://mac.r-project.org/tools/">https://mac.r-project.org/tools/</a>
 </p>
 <div class="example">
-<pre class="example">FC = /opt/gfortran/bin/gfortran
+<pre class="example-preformatted">FC = /opt/gfortran/bin/gfortran
 FLIBS =  -L/opt/gfortran/lib/gcc/x86_64-apple-darwin20.0/14.2.0
   -L/opt/gfortran/lib -lgfortran -lquadmath
 </pre></div>
 
 <p>(line broken here for the manual only).
 </p>
-<p>There is also provision for a site-wide <samp>Makevars.site</samp> file under
-<samp><var>R_HOME</var>/etc</samp> (in a sub-architecture-specific directory if
-appropriate).  This is read immediately after <samp>Makeconf</samp>, and the
+<p>There is also provision for a site-wide <samp class="file">Makevars.site</samp> file under
+<samp class="file"><var class="var">R_HOME</var>/etc</samp> (in a sub-architecture-specific directory if
+appropriate).  This is read immediately after <samp class="file">Makeconf</samp>, and the
 path to an alternative file can be specified by environment variable
-<code>R_MAKEVARS_SITE</code>.
+<code class="env">R_MAKEVARS_SITE</code>.
 </p>
 <p>Note that these mechanisms do not work with packages which fail to pass
-settings down to sub-makes, perhaps reading <samp>etc/Makeconf</samp> in
+settings down to sub-makes, perhaps reading <samp class="file">etc/Makeconf</samp> in
 makefiles in subdirectories.  Fortunately such packages are unusual.
 </p>
 <hr>
 </div>
-<div class="subsection" id="Multiple-sub_002darchitectures">
-<span id="Multiple-sub_002darchitectures-1"></span><h4 class="subsection">6.3.4 Multiple sub-architectures</h4>
+<div class="subsection-level-extent" id="Multiple-sub_002darchitectures">
+<h4 class="subsection" id="Multiple-sub_002darchitectures-1"><span>6.3.4 Multiple sub-architectures<a class="copiable-link" href="#Multiple-sub_002darchitectures-1"> &para;</a></span></h4>
 
 <p>When installing packages from their sources, there are some extra
 considerations on installations which use sub-architectures.  These were
@@ -2538,18 +2534,18 @@
 multiple sub-architectures, the normal installation process installs the
 packages for all sub-architectures.  The exceptions are
 </p>
-<dl compact="compact">
-<dt><span><em>Unix-alikes</em></span></dt>
+<dl class="table">
+<dt><em class="emph">Unix-alikes</em></dt>
 <dd>
-<p>where there is an <samp>configure</samp> script, or a file <samp>src/Makefile</samp>.
+<p>where there is an <samp class="file">configure</samp> script, or a file <samp class="file">src/Makefile</samp>.
 </p>
 </dd>
-<dt><span><em>Windows</em></span></dt>
+<dt><em class="emph">Windows</em></dt>
 <dd>
-<p>where there is a non-empty <samp>configure.win</samp> script, or a file
-<samp>src/Makefile.win</samp> (with some exceptions where the package is known
-to have an architecture-independent <samp>configure.win</samp>, or if
-<samp>--force-biarch</samp> or field &lsquo;<samp>Biarch</samp>&rsquo; in the <samp>DESCRIPTION</samp>
+<p>where there is a non-empty <samp class="file">configure.win</samp> script, or a file
+<samp class="file">src/Makefile.win</samp> (with some exceptions where the package is known
+to have an architecture-independent <samp class="file">configure.win</samp>, or if
+<samp class="option">--force-biarch</samp> or field &lsquo;<samp class="samp">Biarch</samp>&rsquo; in the <samp class="file">DESCRIPTION</samp>
 file is used to assert so).
 </p>
 </dd>
@@ -2559,27 +2555,27 @@
 sub-architectures can be installed by
 </p>
 <div class="example">
-<pre class="example">R CMD INSTALL --libs-only <var>pkg</var>
+<pre class="example-preformatted">R CMD INSTALL --libs-only <var class="var">pkg</var>
 </pre></div>
 
-<p>using the path to <code>R</code> or <code>R --arch</code> to select the
-additional sub-architecture.  There is also <code>R CMD INSTALL
+<p>using the path to <code class="command">R</code> or <code class="command">R --arch</code> to select the
+additional sub-architecture.  There is also <code class="command">R CMD INSTALL
 --merge-multiarch</code> to build and merge the two architectures, starting
 with a source tarball.
 </p>
 <hr>
 </div>
-<div class="subsection" id="Byte_002dcompilation">
-<span id="Byte_002dcompilation-1"></span><h4 class="subsection">6.3.5 Byte-compilation</h4>
+<div class="subsection-level-extent" id="Byte_002dcompilation">
+<h4 class="subsection" id="Byte_002dcompilation-1"><span>6.3.5 Byte-compilation<a class="copiable-link" href="#Byte_002dcompilation-1"> &para;</a></span></h4>
 
 <p>Packages are by default byte-compiled on installation.
 Byte-compilation can be controlled on a per-package basis by the
-&lsquo;<samp>ByteCompile</samp>&rsquo; field in the <samp>DESCRIPTION</samp> file.
+&lsquo;<samp class="samp">ByteCompile</samp>&rsquo; field in the <samp class="file">DESCRIPTION</samp> file.
 </p>
 <hr>
 </div>
-<div class="subsection" id="External-software">
-<span id="External-software-1"></span><h4 class="subsection">6.3.6 External software</h4>
+<div class="subsection-level-extent" id="External-software">
+<h4 class="subsection" id="External-software-1"><span>6.3.6 External software<a class="copiable-link" href="#External-software-1"> &para;</a></span></h4>
 
 <p>Some R packages contain compiled code which links to external
 software libraries.  Unless the external library is statically linked
@@ -2588,82 +2584,82 @@
 not just when it is installed.  How this should be done depends on the
 OS (and in some cases the version).
 </p>
-<p>For Unix-alikes except macOS the primary mechanism is the <code>ld.so</code>
-cache controlled by <code>ldconfig</code>: external dynamic libraries
+<p>For Unix-alikes except macOS the primary mechanism is the <code class="code">ld.so</code>
+cache controlled by <code class="command">ldconfig</code>: external dynamic libraries
 recorded in that cache will be found.  Standard library locations will
 be covered by the cache, and well-designed software will add its
-locations (as for example <strong>openmpi</strong> does on Fedora).  The secondary
-mechanism is to consult the environment variable <code>LD_LIBRARY_PATH</code>.
+locations (as for example <strong class="strong">openmpi</strong> does on Fedora).  The secondary
+mechanism is to consult the environment variable <code class="env">LD_LIBRARY_PATH</code>.
 The R script controls that variable, and sets it to the concatenation
-of <code>R_LD_LIBRARY_PATH</code>, <code>R_JAVA_LD_LIBRARY_PATH</code> and the
-environment value of <code>LD_LIBRARY_PATH</code>.  The first two have defaults
+of <code class="env">R_LD_LIBRARY_PATH</code>, <code class="env">R_JAVA_LD_LIBRARY_PATH</code> and the
+environment value of <code class="env">LD_LIBRARY_PATH</code>.  The first two have defaults
 which are normally set when R is installed (but can be overridden in
-the environment) so <code>LD_LIBRARY_PATH</code> is the best choice for a user
+the environment) so <code class="env">LD_LIBRARY_PATH</code> is the best choice for a user
 to set.
 </p>
 <p>On macOS the primary mechanism is to embed the absolute path to
 dependent dynamic libraries into an object when it is compiled.  Few
-R packages arrange to do so, but it can be edited<a id="DOCF35" href="#FOOT35"><sup>35</sup></a> <em>via</em>
-<code>install_name_tool</code> &mdash; that only deals with direct dependencies
+R packages arrange to do so, but it can be edited<a class="footnote" id="DOCF35" href="#FOOT35"><sup>35</sup></a> <em class="emph">via</em>
+<code class="command">install_name_tool</code> &mdash; that only deals with direct dependencies
 and those would also need to be compiled to include the absolute paths
 of their dependencies.  If the choice of absolute path is to be deferred
-to load time, how they are resolved is described in <code>man dyld</code>:
-the role of <code>LD_LIBRARY_PATH</code> is replaced on macOS by
-<code>DYLD_LIBRARY_PATH</code> and <code>DYLD_FALLBACK_LIBRARY_PATH</code>.  Running
-<code>R CMD otool -L</code> on the package shared object will show where
+to load time, how they are resolved is described in <code class="command">man dyld</code>:
+the role of <code class="env">LD_LIBRARY_PATH</code> is replaced on macOS by
+<code class="env">DYLD_LIBRARY_PATH</code> and <code class="env">DYLD_FALLBACK_LIBRARY_PATH</code>.  Running
+<code class="command">R CMD otool -L</code> on the package shared object will show where
 (if anywhere) its dependencies are
-resolved.  <code>DYLD_FALLBACK_LIBRARY_PATH</code> is preferred (and it is that
+resolved.  <code class="env">DYLD_FALLBACK_LIBRARY_PATH</code> is preferred (and it is that
 which is manipulated by the R script), but as from 10.11 (&lsquo;El
 Capitan&rsquo;) the default behaviour had been changed for security reasons
 to discard these environment variables when invoking a shell script (and
-<samp>R</samp> is a shell script).  That makes the only portable option to set
-<code>R_LD_LIBRARY_PATH</code> in the environment, something like
+<samp class="file">R</samp> is a shell script).  That makes the only portable option to set
+<code class="env">R_LD_LIBRARY_PATH</code> in the environment, something like
 </p>
 <div class="example">
-<pre class="example">export R_LD_LIBRARY_PATH=&quot;`R RHOME`/lib:/opt/local/lib&quot;
+<pre class="example-preformatted">export R_LD_LIBRARY_PATH=&quot;`R RHOME`/lib:/opt/local/lib&quot;
 </pre></div>
 
 <p>The precise rules for where Windows looks for DLLs are complex and
 depend on the version of Windows.  But for present purposes the main
 solution is to put the directories containing the DLLs the package
-links to (and any those DLLs link to) on the <code>PATH</code>.
+links to (and any those DLLs link to) on the <code class="env">PATH</code>.
 </p>
 
 <p>The danger with any of the methods which involve setting environment
 variables is of inadvertently masking a system library.  This is less
-for <code>DYLD_FALLBACK_LIBRARY_PATH</code> and for <em>appending</em> to
-<code>PATH</code> on Windows (as it should already contain the system library
+for <code class="env">DYLD_FALLBACK_LIBRARY_PATH</code> and for <em class="emph">appending</em> to
+<code class="env">PATH</code> on Windows (as it should already contain the system library
 paths).
 </p>
 
 <hr>
 </div>
 </div>
-<div class="section" id="Updating-packages">
-<span id="Updating-packages-1"></span><h3 class="section">6.4 Updating packages</h3>
-<span id="index-update_002epackages"></span>
-<span id="index-Packages_002c-updating"></span>
+<div class="section-level-extent" id="Updating-packages">
+<h3 class="section" id="Updating-packages-1"><span>6.4 Updating packages<a class="copiable-link" href="#Updating-packages-1"> &para;</a></span></h3>
+<a class="index-entry-id" id="index-update_002epackages"></a>
+<a class="index-entry-id" id="index-Packages_002c-updating"></a>
 
-<p>The command <code>update.packages()</code> is the simplest way to ensure that
+<p>The command <code class="code">update.packages()</code> is the simplest way to ensure that
 all the packages on your system are up to date.  It downloads the list
 of available packages and their current versions, compares it with those
 installed and offers to fetch and install any that have later versions
 on the repositories.
 </p>
 <p>An alternative interface to keeping packages up-to-date is provided by
-the command <code>packageStatus()</code>, which returns an object with
+the command <code class="code">packageStatus()</code>, which returns an object with
 information on all installed packages and packages available at multiple
-repositories.  The <code>print</code> and <code>summary</code> methods give an
-overview of installed and available packages, the <code>upgrade</code> method
+repositories.  The <code class="code">print</code> and <code class="code">summary</code> methods give an
+overview of installed and available packages, the <code class="code">upgrade</code> method
 offers to fetch and install the latest versions of outdated packages.
 </p>
 <p>One sometimes-useful additional piece of information that
-<code>packageStatus()</code> returns is the status of a package, as
-<code>&quot;ok&quot;</code>, <code>&quot;upgrade&quot;</code> or <code>&quot;unavailable&quot;</code> (in the currently
+<code class="code">packageStatus()</code> returns is the status of a package, as
+<code class="code">&quot;ok&quot;</code>, <code class="code">&quot;upgrade&quot;</code> or <code class="code">&quot;unavailable&quot;</code> (in the currently
 selected repositories).  For example
 </p>
 <div class="example">
-<pre class="example">&gt; inst &lt;- packageStatus()$inst
+<pre class="example-preformatted">&gt; inst &lt;- packageStatus()$inst
 &gt; inst[inst$Status != &quot;ok&quot;, c(&quot;Package&quot;, &quot;Version&quot;, &quot;Status&quot;)]
                   Package Version      Status
 Biobase           Biobase   2.8.0 unavailable
@@ -2675,22 +2671,22 @@
 
 <hr>
 </div>
-<div class="section" id="Removing-packages">
-<span id="Removing-packages-1"></span><h3 class="section">6.5 Removing packages</h3>
-<span id="index-remove_002epackages"></span>
-<span id="index-Packages_002c-removing"></span>
+<div class="section-level-extent" id="Removing-packages">
+<h3 class="section" id="Removing-packages-1"><span>6.5 Removing packages<a class="copiable-link" href="#Removing-packages-1"> &para;</a></span></h3>
+<a class="index-entry-id" id="index-remove_002epackages"></a>
+<a class="index-entry-id" id="index-Packages_002c-removing"></a>
 
 <p>Packages can be removed in a number of ways.  From a command prompt they
 can be removed by
 </p>
 <div class="example">
-<pre class="example">R CMD REMOVE -l /path/to/library <var>pkg1</var> <var>pkg2</var> &hellip;
+<pre class="example-preformatted">R CMD REMOVE -l /path/to/library <var class="var">pkg1</var> <var class="var">pkg2</var> ...
 </pre></div>
 
 <p>From a running R process they can be removed by
 </p>
 <div class="example">
-<pre class="example">&gt; remove.packages(c(&quot;pkg1&quot;, &quot;pkg2&quot;),
+<pre class="example-preformatted">&gt; remove.packages(c(&quot;pkg1&quot;, &quot;pkg2&quot;),
                   lib = file.path(&quot;path&quot;, &quot;to&quot;, &quot;library&quot;))
 </pre></div>
 
@@ -2699,99 +2695,99 @@
 
 <hr>
 </div>
-<div class="section" id="Setting-up-a-package-repository">
-<span id="Setting-up-a-package-repository-1"></span><h3 class="section">6.6 Setting up a package repository</h3>
-<span id="index-Repositories"></span>
+<div class="section-level-extent" id="Setting-up-a-package-repository">
+<h3 class="section" id="Setting-up-a-package-repository-1"><span>6.6 Setting up a package repository<a class="copiable-link" href="#Setting-up-a-package-repository-1"> &para;</a></span></h3>
+<a class="index-entry-id" id="index-Repositories"></a>
 
-<p>Utilities such as <code>install.packages</code> can be pointed at any
-<acronym>CRAN</acronym>-style repository, and R users may want to set up their
+<p>Utilities such as <code class="code">install.packages</code> can be pointed at any
+<abbr class="acronym">CRAN</abbr>-style repository, and R users may want to set up their
 own.  The &lsquo;base&rsquo; of a repository is a URL such as
-<a href="https://www.stats.ox.ac.uk/pub/RWin/">https://www.stats.ox.ac.uk/pub/RWin/</a>: this must be an URL scheme
-that <code>download.packages</code> supports (which also includes
-&lsquo;<samp>https://</samp>&rsquo;, &lsquo;<samp>ftp://</samp>&rsquo; and &lsquo;<samp>file://</samp>&rsquo;).  Under that base URL
+<a class="uref" href="https://www.stats.ox.ac.uk/pub/RWin/">https://www.stats.ox.ac.uk/pub/RWin/</a>: this must be an URL scheme
+that <code class="code">download.packages</code> supports (which also includes
+&lsquo;<samp class="samp">https://</samp>&rsquo;, &lsquo;<samp class="samp">ftp://</samp>&rsquo; and &lsquo;<samp class="samp">file://</samp>&rsquo;).  Under that base URL
 there should be directory trees for one or more of the following types
 of package distributions:
 </p>
-<ul>
-<li> <code>&quot;source&quot;</code>: located at <samp>src/contrib</samp> and containing
-<samp>.tar.gz</samp> files.  Other forms of compression can be used, e.g.
-<samp>.tar.bz2</samp> or <samp>.tar.xz</samp> files.  Complete repositories contain
+<ul class="itemize mark-bullet">
+<li><code class="code">&quot;source&quot;</code>: located at <samp class="file">src/contrib</samp> and containing
+<samp class="file">.tar.gz</samp> files.  Other forms of compression can be used, e.g.
+<samp class="file">.tar.bz2</samp> or <samp class="file">.tar.xz</samp> files.  Complete repositories contain
 the sources corresponding to any binary packages, and in any case it is
-wise to have a <samp>src/contrib</samp> area with a possibly empty
-<samp>PACKAGES</samp> file.
+wise to have a <samp class="file">src/contrib</samp> area with a possibly empty
+<samp class="file">PACKAGES</samp> file.
 
-</li><li> <code>&quot;binary&quot;</code>: binary packages are located under
-<samp>bin/<var>os</var>/<var>build</var>/contrib/<var>x.y</var></samp> for R versions
-<var>x.y.z</var>, where <var>os</var> is either <samp>windows</samp> for Windows or
-<samp>macosx</samp> for macOS and OS X. The <var>build</var> variable is defined
-by the third part of the <code>type</code> value after <code>binary</code> and
+</li><li><code class="code">&quot;binary&quot;</code>: binary packages are located under
+<samp class="file">bin/<var class="var">os</var>/<var class="var">build</var>/contrib/<var class="var">x.y</var></samp> for R versions
+<var class="var">x.y.z</var>, where <var class="var">os</var> is either <samp class="file">windows</samp> for Windows or
+<samp class="file">macosx</samp> for macOS and OS X. The <var class="var">build</var> variable is defined
+by the third part of the <code class="code">type</code> value after <code class="code">binary</code> and
 may be empty. For example, in R 4.4.1
-<code>&quot;mac.binary.big-sur-arm64&quot;</code> specifies the
-<samp>bin/macosx/big-sur-arm64/4.4</samp> location, while
-<code>&quot;win.binary&quot;</code> specifies <samp>bin/windows/contrib/4.4</samp>. The
-platform and build specification in <acronym>CRAN</acronym> R binaries can
-be obtained from <code>.Platform$pkgType</code>. Windows binary package
-files use <samp>.zip</samp> extension while Mac files use <samp>.tgz</samp>.
+<code class="code">&quot;mac.binary.big-sur-arm64&quot;</code> specifies the
+<samp class="file">bin/macosx/big-sur-arm64/4.4</samp> location, while
+<code class="code">&quot;win.binary&quot;</code> specifies <samp class="file">bin/windows/contrib/4.4</samp>. The
+platform and build specification in <abbr class="acronym">CRAN</abbr> R binaries can
+be obtained from <code class="code">.Platform$pkgType</code>. Windows binary package
+files use <samp class="file">.zip</samp> extension while Mac files use <samp class="file">.tgz</samp>.
 </li></ul>
 
-<p>Each terminal directory must also contain a <samp>PACKAGES</samp> file.  This
-can be a concatenation of the <samp>DESCRIPTION</samp> files of the packages
+<p>Each terminal directory must also contain a <samp class="file">PACKAGES</samp> file.  This
+can be a concatenation of the <samp class="file">DESCRIPTION</samp> files of the packages
 separated by blank lines, but only a few of the fields are needed.  The
 simplest way to set up such a file is to use function
-<code>write_PACKAGES</code> in the <strong>tools</strong> package, and its help explains
+<code class="code">write_PACKAGES</code> in the <strong class="strong">tools</strong> package, and its help explains
 which fields are needed.  Optionally there can also be
-<samp>PACKAGES.rds</samp> and <samp>PACKAGES.gz</samp> files, downloaded in
-preference to <samp>PACKAGES</samp>.  (If you have a mis-configured server
+<samp class="file">PACKAGES.rds</samp> and <samp class="file">PACKAGES.gz</samp> files, downloaded in
+preference to <samp class="file">PACKAGES</samp>.  (If you have a mis-configured server
 that does not report correctly non-existent files you may need these
 files.)
 </p>
-<p>To add your repository to the list offered by <code>setRepositories()</code>,
+<p>To add your repository to the list offered by <code class="code">setRepositories()</code>,
 see the help file for that function.
 </p>
-<p>Incomplete repositories are better specified <em>via</em> a
-<code>contriburl</code> argument than <em>via</em> being set as a repository.
+<p>Incomplete repositories are better specified <em class="emph">via</em> a
+<code class="code">contriburl</code> argument than <em class="emph">via</em> being set as a repository.
 </p>
 <p>A repository can contain subdirectories, when the descriptions in the
-<samp>PACKAGES</samp> file of packages in subdirectories must include a line
+<samp class="file">PACKAGES</samp> file of packages in subdirectories must include a line
 of the form
 </p>
 <div class="example">
-<pre class="example">Path: <var>path/to/subdirectory</var>
+<pre class="example-preformatted">Path: <var class="var">path/to/subdirectory</var>
 </pre></div>
 
-<p>&mdash;once again <code>write_PACKAGES</code> is the simplest way to set this up.
+<p>&mdash;once again <code class="code">write_PACKAGES</code> is the simplest way to set this up.
 </p>
 
 <hr>
 </div>
-<div class="section" id="Checking-installed-source-packages">
-<span id="Checking-installed-source-packages-1"></span><h3 class="section">6.7 Checking installed source packages</h3>
+<div class="section-level-extent" id="Checking-installed-source-packages">
+<h3 class="section" id="Checking-installed-source-packages-1"><span>6.7 Checking installed source packages<a class="copiable-link" href="#Checking-installed-source-packages-1"> &para;</a></span></h3>
 
-<p>It can be convenient to run <code>R CMD check</code> on an installed
+<p>It can be convenient to run <code class="command">R CMD check</code> on an installed
 package, particularly on a platform which uses sub-architectures.  The
 outline of how to do this is, with the source package in directory
-<samp><var>pkg</var></samp> (or a tarball filename):
+<samp class="file"><var class="var">pkg</var></samp> (or a tarball filename):
 </p>
 <div class="example">
-<pre class="example">R CMD INSTALL -l <var>libdir</var> <var>pkg</var> &gt; <var>pkg</var>.log 2&gt;&amp;1
-R CMD check -l <var>libdir</var> --install=check:<var>pkg</var>.log <var>pkg</var>
+<pre class="example-preformatted">R CMD INSTALL -l <var class="var">libdir</var> <var class="var">pkg</var> &gt; <var class="var">pkg</var>.log 2&gt;&amp;1
+R CMD check -l <var class="var">libdir</var> --install=check:<var class="var">pkg</var>.log <var class="var">pkg</var>
 </pre></div>
 
-<p>Where sub-architectures are in use the <code>R CMD check</code> line can be
+<p>Where sub-architectures are in use the <code class="command">R CMD check</code> line can be
 repeated with additional architectures by
 </p>
 <div class="example">
-<pre class="example">R --arch <var>arch</var> CMD check -l <var>libdir</var> --extra-arch --install=check:<var>pkg</var>.log <var>pkg</var>
+<pre class="example-preformatted">R --arch <var class="var">arch</var> CMD check -l <var class="var">libdir</var> --extra-arch --install=check:<var class="var">pkg</var>.log <var class="var">pkg</var>
 </pre></div>
 
-<p>where <samp>--extra-arch</samp> selects only those checks which depend on
+<p>where <samp class="option">--extra-arch</samp> selects only those checks which depend on
 the installed code and not those which analyse the sources.  (If
 multiple sub-architectures fail only because they need different
-settings, e.g. environment variables, <samp>--no-multiarch</samp> may need
-to be added to the <code>INSTALL</code> lines.)  On Unix-alikes the
-architecture to run is selected by <samp>--arch</samp>: this can also be
-used on Windows with <samp><var>R_HOME</var>/bin/R.exe</samp>, but it is more usual
-to select the path to the <code>Rcmd.exe</code> of the desired
+settings, e.g. environment variables, <samp class="option">--no-multiarch</samp> may need
+to be added to the <code class="code">INSTALL</code> lines.)  On Unix-alikes the
+architecture to run is selected by <samp class="option">--arch</samp>: this can also be
+used on Windows with <samp class="file"><var class="var">R_HOME</var>/bin/R.exe</samp>, but it is more usual
+to select the path to the <code class="command">Rcmd.exe</code> of the desired
 architecture.
 </p>
 <p>So on Windows to install, check and package for distribution a source
@@ -2799,7 +2795,7 @@
 might use
 </p>
 <div class="example">
-<pre class="example">.../bin/x64/Rcmd INSTALL -l <var>libdir</var> <var>tarball</var> --build &gt; <var>pkg</var>.log 2&gt;&amp;1
+<pre class="example-preformatted">.../bin/x64/Rcmd INSTALL -l <var class="var">libdir</var> <var class="var">tarball</var> --build &gt; <var class="var">pkg</var>.log 2&gt;&amp;1
 </pre></div>
 
 
@@ -2807,19 +2803,19 @@
 <hr>
 </div>
 </div>
-<div class="chapter" id="Internationalization">
-<span id="Internationalization-and-Localization"></span><h2 class="chapter">7 Internationalization and Localization</h2>
-<span id="index-Internationalization"></span>
-<span id="index-Localization"></span>
+<div class="chapter-level-extent" id="Internationalization">
+<h2 class="chapter" id="Internationalization-and-Localization"><span>7 Internationalization and Localization<a class="copiable-link" href="#Internationalization-and-Localization"> &para;</a></span></h2>
+<a class="index-entry-id" id="index-Internationalization"></a>
+<a class="index-entry-id" id="index-Localization"></a>
 
-<p><em>Internationalization</em> refers to the process of enabling support
-for many human languages, and <em>localization</em> to adapting to a
+<p><em class="emph">Internationalization</em> refers to the process of enabling support
+for many human languages, and <em class="emph">localization</em> to adapting to a
 specific country and language.
 </p>
 <p>Current builds of R support all the character sets that the
 underlying OS can handle.  These are interpreted according to the
-<span id="index-Locale"></span>
-current <code>locale</code>, a sufficiently complicated topic to merit a
+<a class="index-entry-id" id="index-Locale"></a>
+current <code class="code">locale</code>, a sufficiently complicated topic to merit a
 separate section.  Note though that R has no built-in support for
 right-to-left languages and bidirectional output, relying on the OS
 services.  For example, how character vectors in UTF-8 containing both
@@ -2831,40 +2827,40 @@
 </p>
 
 <hr>
-<div class="section" id="Locales">
-<span id="Locales-1"></span><h3 class="section">7.1 Locales</h3>
-<span id="index-Locale-1"></span>
+<div class="section-level-extent" id="Locales">
+<h3 class="section" id="Locales-1"><span>7.1 Locales<a class="copiable-link" href="#Locales-1"> &para;</a></span></h3>
+<a class="index-entry-id" id="index-Locale-1"></a>
 
-<p>A <em>locale</em> is a description of the local environment of the user,
+<p>A <em class="emph">locale</em> is a description of the local environment of the user,
 including the preferred language, the encoding of characters, the
 currency used and its conventions, and so on.  Aspects of the locale are
-accessed by the R functions <code>Sys.getlocale</code> and
-<code>Sys.localeconv</code>.
+accessed by the R functions <code class="code">Sys.getlocale</code> and
+<code class="code">Sys.localeconv</code>.
 </p>
 <p>The system of naming locales is OS-specific.  There is quite wide
 agreement on schemes, but not on the details of their implementation.  A
 locale needs to specify
-</p><ul>
-<li> A human language.  These are generally specified by a lower-case
+</p><ul class="itemize mark-bullet">
+<li>A human language.  These are generally specified by a lower-case
 two-character abbreviation following ISO 639 (see e.g.
-<a href="https://en.wikipedia.org/wiki/ISO_639-1">https://en.wikipedia.org/wiki/ISO_639-1</a>).
+<a class="uref" href="https://en.wikipedia.org/wiki/ISO_639-1">https://en.wikipedia.org/wiki/ISO_639-1</a>).
 
-</li><li> A &lsquo;territory&rsquo;, used mainly to specify the currency. These are generally
+</li><li>A &lsquo;territory&rsquo;, used mainly to specify the currency. These are generally
 specified by an upper-case two-character abbreviation following ISO 3166
-(see e.g. <a href="https://en.wikipedia.org/wiki/ISO_3166">https://en.wikipedia.org/wiki/ISO_3166</a>).
+(see e.g. <a class="uref" href="https://en.wikipedia.org/wiki/ISO_3166">https://en.wikipedia.org/wiki/ISO_3166</a>).
 
-</li><li> A charset encoding, which determines both how a byte stream should be
+</li><li>A charset encoding, which determines both how a byte stream should be
 divided into characters, and which characters the subsequences of bytes
 represent.  Sometimes the combination of language and territory is used
 to specify the encoding, for example to distinguish between traditional
 and simplified Chinese.
 
-</li><li> Optionally, a modifier, for example to indicate that Austria is to be
+</li><li>Optionally, a modifier, for example to indicate that Austria is to be
 considered pre- or post-Euro.  The modifier is also used to indicate the
-script (<code>@latin</code>, <code>@cyrillic</code> for Serbian, <code>@iqtelif</code>)
-or language dialect (e.g. <code>@saaho</code>, a dialect of Afar, and
-<code>@bokmal</code> and <code>@nynorsk</code>, dialects of Norwegian regarded by
-some OSes as separate languages, <code>no</code> and <code>nn</code>).
+script (<code class="code">@latin</code>, <code class="code">@cyrillic</code> for Serbian, <code class="code">@iqtelif</code>)
+or language dialect (e.g. <code class="code">@saaho</code>, a dialect of Afar, and
+<code class="code">@bokmal</code> and <code class="code">@nynorsk</code>, dialects of Norwegian regarded by
+some OSes as separate languages, <code class="code">no</code> and <code class="code">nn</code>).
 </li></ul>
 
 <p>R is principally concerned with the first (for translations) and
@@ -2873,107 +2869,107 @@
 </p>
 
 <hr>
-<div class="subsection" id="Locales-under-Unix_002dalikes">
-<span id="Locales-under-Unix_002dalikes-1"></span><h4 class="subsection">7.1.1 Locales under Unix-alikes</h4>
+<div class="subsection-level-extent" id="Locales-under-Unix_002dalikes">
+<h4 class="subsection" id="Locales-under-Unix_002dalikes-1"><span>7.1.1 Locales under Unix-alikes<a class="copiable-link" href="#Locales-under-Unix_002dalikes-1"> &para;</a></span></h4>
 
-<p>Modern Linux uses the <abbr>XPG</abbr><a id="DOCF36" href="#FOOT36"><sup>36</sup></a> locale specifications which have the form
-&lsquo;<samp>en_GB</samp>&rsquo;, &lsquo;<samp>en_GB.UTF-8</samp>&rsquo;, &lsquo;<samp>aa_ER.UTF-8@saaho</samp>&rsquo;,
-&lsquo;<samp>de_AT.iso885915@euro</samp>&rsquo;, the components being in the order listed
-above.  (See <code>man locale</code> and <code>locale -a</code> for more
+<p>Modern Linux uses the <abbr class="abbr">XPG</abbr><a class="footnote" id="DOCF36" href="#FOOT36"><sup>36</sup></a> locale specifications which have the form
+&lsquo;<samp class="samp">en_GB</samp>&rsquo;, &lsquo;<samp class="samp">en_GB.UTF-8</samp>&rsquo;, &lsquo;<samp class="samp">aa_ER.UTF-8@saaho</samp>&rsquo;,
+&lsquo;<samp class="samp">de_AT.iso885915@euro</samp>&rsquo;, the components being in the order listed
+above.  (See <code class="command">man locale</code> and <code class="command">locale -a</code> for more
 details.)  Similar schemes are used by most Unix-alikes: some (including
-some distributions of Linux) use &lsquo;<samp>.utf8</samp>&rsquo; rather than &lsquo;<samp>.UTF-8</samp>&rsquo;.
+some distributions of Linux) use &lsquo;<samp class="samp">.utf8</samp>&rsquo; rather than &lsquo;<samp class="samp">.UTF-8</samp>&rsquo;.
 </p>
 <p>Note that whereas UTF-8 locales are nowadays almost universally used,
-locales such as &lsquo;<samp>en_GB</samp>&rsquo; use 8-bit encodings for backwards
+locales such as &lsquo;<samp class="samp">en_GB</samp>&rsquo; use 8-bit encodings for backwards
 compatibility.
 </p>
 <hr>
 </div>
-<div class="subsection" id="Locales-under-Windows">
-<span id="Locales-under-Windows-1"></span><h4 class="subsection">7.1.2 Locales under Windows</h4>
+<div class="subsection-level-extent" id="Locales-under-Windows">
+<h4 class="subsection" id="Locales-under-Windows-1"><span>7.1.2 Locales under Windows<a class="copiable-link" href="#Locales-under-Windows-1"> &para;</a></span></h4>
 
 <p>Windows also uses locales, but specified in a rather less concise way.
 Most users will encounter locales only via drop-down menus, but more
-information and lists can be found by searching for &lsquo;<samp>Windows
+information and lists can be found by searching for &lsquo;<samp class="samp">Windows
 language country strings</samp>&rsquo;).
 </p>
 <p>It offers only one encoding per language.
 </p>
 <p>Some care is needed with Windows&rsquo; locale names.  For example,
-<code>chinese</code> is Traditional Chinese and not Simplified Chinese as used
+<code class="code">chinese</code> is Traditional Chinese and not Simplified Chinese as used
 in most of the Chinese-speaking world.
 </p>
 <hr>
 </div>
-<div class="subsection" id="Locales-under-macOS">
-<span id="Locales-under-macOS-1"></span><h4 class="subsection">7.1.3 Locales under macOS</h4>
+<div class="subsection-level-extent" id="Locales-under-macOS">
+<h4 class="subsection" id="Locales-under-macOS-1"><span>7.1.3 Locales under macOS<a class="copiable-link" href="#Locales-under-macOS-1"> &para;</a></span></h4>
 
 <p>macOS supports locales in its own particular way, but the R GUI tries to
 make this easier for users. See
-<a href="https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPInternational/">https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPInternational/</a>
+<a class="uref" href="https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPInternational/">https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPInternational/</a>
 for how users can set their locales.  End users will
 generally only see lists of languages/territories.  Users of R in a
-terminal may need to set the locale to something like &lsquo;<samp>en_GB.UTF-8</samp>&rsquo;
-if it defaults to &lsquo;<samp>C</samp>&rsquo; (as it sometimes does when logging in
-remotely and for batch jobs: note whether <code>Terminal</code> sets the
-<code>LANG</code> environment variable is an (advanced) preference, but does so
+terminal may need to set the locale to something like &lsquo;<samp class="samp">en_GB.UTF-8</samp>&rsquo;
+if it defaults to &lsquo;<samp class="samp">C</samp>&rsquo; (as it sometimes does when logging in
+remotely and for batch jobs: note whether <code class="command">Terminal</code> sets the
+<code class="env">LANG</code> environment variable is an (advanced) preference, but does so
 by default).
 </p>
 <p>Internally macOS uses a form similar to Linux: the main difference from
 other Unix-alikes is that where a character set is not specified it is
-assumed to be <code>UTF-8</code>.
+assumed to be <code class="code">UTF-8</code>.
 </p>
 
 <hr>
 </div>
 </div>
-<div class="section" id="Localization-of-messages">
-<span id="Localization-of-messages-1"></span><h3 class="section">7.2 Localization of messages</h3>
+<div class="section-level-extent" id="Localization-of-messages">
+<h3 class="section" id="Localization-of-messages-1"><span>7.2 Localization of messages<a class="copiable-link" href="#Localization-of-messages-1"> &para;</a></span></h3>
 
 <p>The preferred language for messages is by default taken from the locale.
 This can be overridden first by the setting of the environment variable
-<span id="index-LANGUAGE"></span>
-<span id="index-LC_005fALL"></span>
-<span id="index-LC_005fMESSAGES"></span>
-<span id="index-LANG"></span>
-<code>LANGUAGE</code> and then<a id="DOCF37" href="#FOOT37"><sup>37</sup></a>
-by the environment variables <code>LC_ALL</code>, <code>LC_MESSAGES</code> and
-<code>LANG</code>. (The last three are normally used to set the locale and so
+<a class="index-entry-id" id="index-LANGUAGE"></a>
+<a class="index-entry-id" id="index-LC_005fALL"></a>
+<a class="index-entry-id" id="index-LC_005fMESSAGES"></a>
+<a class="index-entry-id" id="index-LANG"></a>
+<code class="env">LANGUAGE</code> and then<a class="footnote" id="DOCF37" href="#FOOT37"><sup>37</sup></a>
+by the environment variables <code class="env">LC_ALL</code>, <code class="env">LC_MESSAGES</code> and
+<code class="env">LANG</code>. (The last three are normally used to set the locale and so
 should not be needed, but the first is only used to select the language
 for messages.)  The code tries hard to map locales to languages, but on
 some systems (notably Windows) the locale names needed for the
-environment variable <code>LC_ALL</code> do not all correspond to <abbr>XPG</abbr> language
-names and so <code>LANGUAGE</code> may need to be set.  (One example is
-&lsquo;<samp>LC_ALL=es</samp>&rsquo; on Windows which sets the locale to Estonian and the
+environment variable <code class="env">LC_ALL</code> do not all correspond to <abbr class="abbr">XPG</abbr> language
+names and so <code class="env">LANGUAGE</code> may need to be set.  (One example is
+&lsquo;<samp class="samp">LC_ALL=es</samp>&rsquo; on Windows which sets the locale to Estonian and the
 language to Spanish.)
 </p>
-<p>Environment variable <code>LANGUAGE</code> can be used to specify more than one
+<p>Environment variable <code class="env">LANGUAGE</code> can be used to specify more than one
 language (and optionally territory): see below.
 </p>
 <p>It is usually possible to change the language once R is running
-<em>via</em> (not Windows) <code>Sys.setlocale(&quot;LC_MESSAGES&quot;,
+<em class="emph">via</em> (not Windows) <code class="code">Sys.setlocale(&quot;LC_MESSAGES&quot;,
 &quot;new_locale&quot;)</code>, or by setting an environment variable such as
-<code>LANGUAGE</code>, <em>provided</em><a id="DOCF38" href="#FOOT38"><sup>38</sup></a> the language you are changing to can be output in the current
+<code class="env">LANGUAGE</code>, <em class="emph">provided</em><a class="footnote" id="DOCF38" href="#FOOT38"><sup>38</sup></a> the language you are changing to can be output in the current
 character set.  But this is OS-specific, and has been known to stop
 working on an OS upgrade.  Note that translated messages may be cached,
 so attempting to change the language of an error that has already been
-output in another language may not work.  See also <code>Sys.setLanguage()</code>.
+output in another language may not work.  See also <code class="code">Sys.setLanguage()</code>.
 </p>
-<p>Messages are divided into <em>domains</em>, and translations may be
+<p>Messages are divided into <em class="emph">domains</em>, and translations may be
 available for some or all messages in a domain.  R makes use of the
 following domains.
 </p>
-<ul>
-<li> Domain <code>R</code> for the C-level error and warning messages from the R
+<ul class="itemize mark-bullet">
+<li>Domain <code class="code">R</code> for the C-level error and warning messages from the R
 interpreter.
 
-</li><li> Domain <code>R-<var>pkg</var></code> for the R <code>stop</code>, <code>warning</code> and
-<code>message</code> messages in each package, including <code>R-base</code> for the
-<strong>base</strong> package.
+</li><li>Domain <code class="code">R-<var class="var">pkg</var></code> for the R <code class="code">stop</code>, <code class="code">warning</code> and
+<code class="code">message</code> messages in each package, including <code class="code">R-base</code> for the
+<strong class="strong">base</strong> package.
 
-</li><li> Domain <code><var>pkg</var></code> for the C-level messages in each package.
+</li><li>Domain <code class="code"><var class="var">pkg</var></code> for the C-level messages in each package.
 
-</li><li> Domain <code>RGui</code> for the menus etc of the R for Windows GUI front-end.
+</li><li>Domain <code class="code">RGui</code> for the menus etc of the R for Windows GUI front-end.
 
 </li></ul>
 
@@ -2989,38 +2985,38 @@
 </p>
 <p>Translations are looked for by domain according to the currently
 specified language, as specifically as possible, so for example an
-Austrian (&lsquo;<samp>de_AT</samp>&rsquo;) translation catalogue will be used in preference
-to a generic German one (&lsquo;<samp>de</samp>&rsquo;) for an Austrian user.  However, if a
+Austrian (&lsquo;<samp class="samp">de_AT</samp>&rsquo;) translation catalogue will be used in preference
+to a generic German one (&lsquo;<samp class="samp">de</samp>&rsquo;) for an Austrian user.  However, if a
 specific translation catalogue exists but does not contain a
 translation, the less specific catalogues are consulted.  For example,
-R has catalogues for &lsquo;<samp>en_GB</samp>&rsquo; that translate the Americanisms
-(e.g., &lsquo;<samp>gray</samp>&rsquo;) in the standard messages into English.<a id="DOCF39" href="#FOOT39"><sup>39</sup></a>  Two other examples: there are catalogues
-for &lsquo;<samp>es</samp>&rsquo;, which is Spanish as written in Spain and these will by
+R has catalogues for &lsquo;<samp class="samp">en_GB</samp>&rsquo; that translate the Americanisms
+(e.g., &lsquo;<samp class="samp">gray</samp>&rsquo;) in the standard messages into English.<a class="footnote" id="DOCF39" href="#FOOT39"><sup>39</sup></a>  Two other examples: there are catalogues
+for &lsquo;<samp class="samp">es</samp>&rsquo;, which is Spanish as written in Spain and these will by
 default also be used in Spanish-speaking Latin American countries, and
-also for &lsquo;<samp>pt_BR</samp>&rsquo;, which are used for Brazilian locales but not for
+also for &lsquo;<samp class="samp">pt_BR</samp>&rsquo;, which are used for Brazilian locales but not for
 locales specifying Portugal.
 </p>
 <p>Translations in the right language but the wrong charset are made use of
-<span id="index-LANGUAGE-1"></span>
-by on-the-fly re-encoding.  The <code>LANGUAGE</code> variable can be a
-colon-separated list, for example &lsquo;<samp>se:de</samp>&rsquo; or &lsquo;<samp>es_MX:es</samp>&rsquo;,
+<a class="index-entry-id" id="index-LANGUAGE-1"></a>
+by on-the-fly re-encoding.  The <code class="env">LANGUAGE</code> variable can be a
+colon-separated list, for example &lsquo;<samp class="samp">se:de</samp>&rsquo; or &lsquo;<samp class="samp">es_MX:es</samp>&rsquo;,
 giving a set of languages/territories in decreasing order of preference.
-One special value is &lsquo;<samp>en@quot</samp>&rsquo;, which can be used in a UTF-8
+One special value is &lsquo;<samp class="samp">en@quot</samp>&rsquo;, which can be used in a UTF-8
 locale to have American error messages with pairs of single quotes
 translated to Unicode directional quotes.
 </p>
 <p>If no suitable translation catalogue is found or a particular message is
-not translated in any suitable catalogue, &lsquo;English&rsquo;<a id="DOCF40" href="#FOOT40"><sup>40</sup></a> is used.
+not translated in any suitable catalogue, &lsquo;English&rsquo;<a class="footnote" id="DOCF40" href="#FOOT40"><sup>40</sup></a> is used.
 </p>
-<p>Note that there are several implementations of the <code>libintl</code>
-library used to manage message translations, including in <code>libc</code>
-on GNU and Alpine Linux, and as part of GNU <code>gettext</code> usually used
+<p>Note that there are several implementations of the <code class="code">libintl</code>
+library used to manage message translations, including in <code class="code">libc</code>
+on GNU and Alpine Linux, and as part of GNU <code class="code">gettext</code> usually used
 on macOS and Windows.
 The description here follows the POSIX 2024 standard, but implementations may
-not (and apparently <code>musl</code>&rsquo;s does not support <code>LANGUAGE</code>).
+not (and apparently <code class="code">musl</code>&rsquo;s does not support <code class="env">LANGUAGE</code>).
 </p>
 
-<p>See <a href="https://developer.r-project.org/Translations30.html">https://developer.r-project.org/Translations30.html</a> for how to
+<p>See <a class="uref" href="https://developer.r-project.org/Translations30.html">https://developer.r-project.org/Translations30.html</a> for how to
 prepare and install translation catalogues.
 </p>
 
@@ -3028,8 +3024,8 @@
 <hr>
 </div>
 </div>
-<div class="chapter" id="Choosing-between-32_002d-and-64_002dbit-builds">
-<span id="Choosing-between-32_002d-and-64_002dbit-builds-1"></span><h2 class="chapter">8 Choosing between 32- and 64-bit builds</h2>
+<div class="chapter-level-extent" id="Choosing-between-32_002d-and-64_002dbit-builds">
+<h2 class="chapter" id="Choosing-between-32_002d-and-64_002dbit-builds-1"><span>8 Choosing between 32- and 64-bit builds<a class="copiable-link" href="#Choosing-between-32_002d-and-64_002dbit-builds-1"> &para;</a></span></h2>
 
 <p>As from R 4.4.0 32-bit builds are unsupported.
 </p>
@@ -3037,42 +3033,42 @@
 
 <hr>
 </div>
-<div class="chapter" id="The-standalone-Rmath-library">
-<span id="The-standalone-Rmath-library-1"></span><h2 class="chapter">9 The standalone Rmath library</h2>
+<div class="chapter-level-extent" id="The-standalone-Rmath-library">
+<h2 class="chapter" id="The-standalone-Rmath-library-1"><span>9 The standalone Rmath library<a class="copiable-link" href="#The-standalone-Rmath-library-1"> &para;</a></span></h2>
 
 <p>The routines supporting the distribution and
-special<a id="DOCF41" href="#FOOT41"><sup>41</sup></a> functions in R
-and a few others are declared in C header file <samp>Rmath.h</samp>.  These
+special<a class="footnote" id="DOCF41" href="#FOOT41"><sup>41</sup></a> functions in R
+and a few others are declared in C header file <samp class="file">Rmath.h</samp>.  These
 can be compiled into a standalone library for linking to other
 applications.  (Note that they are not a separate library when R is
 built, and the standalone version differs in several ways.)
 </p>
 <p>The makefiles and other sources needed are in directory
-<samp>src/nmath/standalone</samp>, so the following instructions assume that
+<samp class="file">src/nmath/standalone</samp>, so the following instructions assume that
 is the current working directory (in the build directory tree on a
 Unix-alike if that is separate from the sources).
 </p>
-<p><samp>Rmath.h</samp> contains &lsquo;<samp>R_VERSION_STRING</samp>&rsquo;, which is a character
-string containing the current R version, for example <code>&quot;4.5.0&quot;</code>.
+<p><samp class="file">Rmath.h</samp> contains &lsquo;<samp class="samp">R_VERSION_STRING</samp>&rsquo;, which is a character
+string containing the current R version, for example <code class="code">&quot;4.5.0&quot;</code>.
 </p>
-<p>There is full access to R&rsquo;s handling of <code>NaN</code>, <code>Inf</code> and
-<code>-Inf</code> via special versions of the macros and functions
+<p>There is full access to R&rsquo;s handling of <code class="code">NaN</code>, <code class="code">Inf</code> and
+<code class="code">-Inf</code> via special versions of the macros and functions
 </p>
 <div class="example">
-<pre class="example">    ISNAN, R_FINITE, R_log, R_pow and R_pow_di
+<pre class="example-preformatted">    ISNAN, R_FINITE, R_log, R_pow and R_pow_di
 </pre></div>
 
-<p>and (extern) constants <code>R_PosInf</code>, <code>R_NegInf</code> and <code>NA_REAL</code>.
+<p>and (extern) constants <code class="code">R_PosInf</code>, <code class="code">R_NegInf</code> and <code class="code">NA_REAL</code>.
 </p>
 <p>There is no support for R&rsquo;s notion of missing values, in particular
-not for <code>NA_INTEGER</code> nor the distinction between <code>NA</code> and
-<code>NaN</code> for doubles.
+not for <code class="code">NA_INTEGER</code> nor the distinction between <code class="code">NA</code> and
+<code class="code">NaN</code> for doubles.
 </p>
 <p>A little care is needed to use the random-number routines. You will
 need to supply the uniform random number generator 
 </p>
 <div class="example">
-<pre class="example">    double unif_rand(void)
+<pre class="example-preformatted">    double unif_rand(void)
 </pre></div>
 
 <p>or use the one supplied (and with a shared library or DLL you may
@@ -3080,23 +3076,23 @@
 an entry point
 </p>
 <div class="example">
-<pre class="example">    set_seed(unsigned int, unsigned int)
+<pre class="example-preformatted">    set_seed(unsigned int, unsigned int)
 </pre></div>
 
 <p>to set its seeds and
 </p>
 <div class="example">
-<pre class="example">get_seed(unsigned int *, unsigned int *)
+<pre class="example-preformatted">get_seed(unsigned int *, unsigned int *)
 </pre></div>
 
 <p>to read the seeds).
 </p>
 <p>The facilities to change the normal random number generator are
-available through the constant <code>N01_kind</code>. This takes values
+available through the constant <code class="code">N01_kind</code>. This takes values
 from the enumeration type
 </p>
 <div class="example">
-<pre class="example">typedef enum {
+<pre class="example-preformatted">typedef enum {
     BUGGY_KINDERMAN_RAMAGE,
     AHRENS_DIETER,
     BOX_MULLER,
@@ -3106,136 +3102,136 @@
 } N01type;
 </pre></div>
 
-<p>(and &lsquo;<samp>USER_NORM</samp>&rsquo; is not available).
+<p>(and &lsquo;<samp class="samp">USER_NORM</samp>&rsquo; is not available).
 </p>
 
 <hr>
-<div class="section" id="Unix_002dalike-standalone">
-<span id="Unix_002dalikes"></span><h3 class="section">9.1 Unix-alikes</h3>
+<div class="section-level-extent" id="Unix_002dalike-standalone">
+<h3 class="section" id="Unix_002dalikes"><span>9.1 Unix-alikes<a class="copiable-link" href="#Unix_002dalikes"> &para;</a></span></h3>
 
 <p>If R has not already been made in the directory tree,
-<code>configure</code> must be run as described in the main build
+<code class="command">configure</code> must be run as described in the main build
 instructions.
 </p>
-<p>Then (in <samp>src/nmath/standalone</samp>)
+<p>Then (in <samp class="file">src/nmath/standalone</samp>)
 </p>
 <div class="example">
-<pre class="example">make
+<pre class="example-preformatted">make
 </pre></div>
 
-<p>will make standalone libraries <samp>libRmath.a</samp> and <samp>libRmath.so</samp>
-(<samp>libRmath.dylib</samp> on macOS): &lsquo;<samp>make static</samp>&rsquo; and &lsquo;<samp>make
+<p>will make standalone libraries <samp class="file">libRmath.a</samp> and <samp class="file">libRmath.so</samp>
+(<samp class="file">libRmath.dylib</samp> on macOS): &lsquo;<samp class="samp">make static</samp>&rsquo; and &lsquo;<samp class="samp">make
 shared</samp>&rsquo; will create just one of them.
 </p>
 <p>To use the routines in your own C or C++ programs, include
 </p>
 <div class="example">
-<pre class="example">#define MATHLIB_STANDALONE
+<pre class="example-preformatted">#define MATHLIB_STANDALONE
 #include &lt;Rmath.h&gt;
 </pre></div>
 
-<p>and link against &lsquo;<samp>-lRmath</samp>&rsquo; (and &lsquo;<samp>-lm</samp>&rsquo; if needed on your OS).
-The example file <samp>test.c</samp> does nothing useful, but is provided to
-test the process (via <code>make test</code>).  Note that you will probably
+<p>and link against &lsquo;<samp class="samp">-lRmath</samp>&rsquo; (and &lsquo;<samp class="samp">-lm</samp>&rsquo; if needed on your OS).
+The example file <samp class="file">test.c</samp> does nothing useful, but is provided to
+test the process (via <code class="command">make test</code>).  Note that you will probably
 not be able to run it unless you add the directory containing
-<span id="index-LD_005fLIBRARY_005fPATH"></span>
-<samp>libRmath.so</samp> to the <code>LD_LIBRARY_PATH</code> environment variable
-(<samp>libRmath.dylib</samp>, <code>DYLD_FALLBACK_LIBRARY_PATH</code> on macOS).
+<a class="index-entry-id" id="index-LD_005fLIBRARY_005fPATH"></a>
+<samp class="file">libRmath.so</samp> to the <code class="env">LD_LIBRARY_PATH</code> environment variable
+(<samp class="file">libRmath.dylib</samp>, <code class="env">DYLD_FALLBACK_LIBRARY_PATH</code> on macOS).
 </p>
 <p>The targets
 </p>
 <div class="example">
-<pre class="example">make install
+<pre class="example-preformatted">make install
 make uninstall
 </pre></div>
 
-<p>will (un)install the header <samp>Rmath.h</samp> and shared and static
-<span id="index-DESTDIR-1"></span>
-libraries (if built).  Both <code>prefix=</code> and <code>DESTDIR</code> are
+<p>will (un)install the header <samp class="file">Rmath.h</samp> and shared and static
+<a class="index-entry-id" id="index-DESTDIR-1"></a>
+libraries (if built).  Both <code class="code">prefix=</code> and <code class="env">DESTDIR</code> are
 supported, together with more precise control as described for the main
 build.
 </p>
-<p>&lsquo;<samp>make install</samp>&rsquo; installs a file for <code>pkg-config</code> to use by
+<p>&lsquo;<samp class="samp">make install</samp>&rsquo; installs a file for <code class="command">pkg-config</code> to use by
 e.g.
 </p>
 <div class="example">
-<pre class="example">$(CC) `pkg-config --cflags libRmath` -c test.c
+<pre class="example-preformatted">$(CC) `pkg-config --cflags libRmath` -c test.c
 $(CC) `pkg-config --libs libRmath` test.o -o test
 </pre></div>
 
-<p>On some systems &lsquo;<samp>make install-strip</samp>&rsquo; will install a stripped shared
+<p>On some systems &lsquo;<samp class="samp">make install-strip</samp>&rsquo; will install a stripped shared
 library.
 </p>
 
 <hr>
 </div>
-<div class="section" id="Windows-standalone">
-<span id="Windows-1"></span><h3 class="section">9.2 Windows</h3>
+<div class="section-level-extent" id="Windows-standalone">
+<h3 class="section" id="Windows-1"><span>9.2 Windows<a class="copiable-link" href="#Windows-1"> &para;</a></span></h3>
 
-<p>You need to set up<a id="DOCF42" href="#FOOT42"><sup>42</sup></a> almost all the
+<p>You need to set up<a class="footnote" id="DOCF42" href="#FOOT42"><sup>42</sup></a> almost all the
 tools to make R and then run (in a Unix-like shell)
 </p>
 <div class="example">
-<pre class="example">(cd ../../gnuwin32; make MkRules)
+<pre class="example-preformatted">(cd ../../gnuwin32; make MkRules)
 (cd ../../include; make -f Makefile.win config.h Rconfig.h Rmath.h)
 make -f Makefile.win
 </pre></div>
 
-<p>Alternatively, in a <samp>cmd.exe</samp> shell use
+<p>Alternatively, in a <samp class="file">cmd.exe</samp> shell use
 </p>
 <div class="example">
-<pre class="example">cd ../../include
+<pre class="example-preformatted">cd ../../include
 make -f Makefile.win config.h Rconfig.h Rmath.h
 cd ../nmath/standalone
 make -f Makefile.win
 </pre></div>
 
 
-<p>This creates a static library <samp>libRmath.a</samp> and a DLL
-<samp>Rmath.dll</samp>.  If you want an import library <samp>libRmath.dll.a</samp>
+<p>This creates a static library <samp class="file">libRmath.a</samp> and a DLL
+<samp class="file">Rmath.dll</samp>.  If you want an import library <samp class="file">libRmath.dll.a</samp>
 (you don&rsquo;t need one), use
 </p>
 <div class="example">
-<pre class="example">make -f Makefile.win shared implib
+<pre class="example-preformatted">make -f Makefile.win shared implib
 </pre></div>
 
 <p>To use the routines in your own C or C++ programs using MinGW-w64, include
 </p>
 <div class="example">
-<pre class="example">#define MATHLIB_STANDALONE
+<pre class="example-preformatted">#define MATHLIB_STANDALONE
 #include &lt;Rmath.h&gt;
 </pre></div>
 
-<p>and link against &lsquo;<samp>-lRmath</samp>&rsquo;.  This will use the first found of
-<samp>libRmath.dll.a</samp>, <samp>libRmath.a</samp> and <samp>Rmath.dll</samp> in that
+<p>and link against &lsquo;<samp class="samp">-lRmath</samp>&rsquo;.  This will use the first found of
+<samp class="file">libRmath.dll.a</samp>, <samp class="file">libRmath.a</samp> and <samp class="file">Rmath.dll</samp> in that
 order, so the result depends on which files are present.  You should be
-able to force static or dynamic linking  <em>via</em>
+able to force static or dynamic linking  <em class="emph">via</em>
 </p>
 <div class="example">
-<pre class="example">-Wl,-Bstatic -lRmath -Wl,Bdynamic
+<pre class="example-preformatted">-Wl,-Bstatic -lRmath -Wl,Bdynamic
 -Wl,-Bdynamic -lRmath
 </pre></div>
 
-<p>or by linking to explicit files (as in the &lsquo;<samp>test</samp>&rsquo; target in
-<samp>Makefile.win</samp>: this makes two executables, <samp>test.exe</samp> which
-is dynamically linked, and <samp>test-static.exe</samp>, which is statically
+<p>or by linking to explicit files (as in the &lsquo;<samp class="samp">test</samp>&rsquo; target in
+<samp class="file">Makefile.win</samp>: this makes two executables, <samp class="file">test.exe</samp> which
+is dynamically linked, and <samp class="file">test-static.exe</samp>, which is statically
 linked).
 </p>
-<p>It is possible to link to <samp>Rmath.dll</samp> using other compilers, either
+<p>It is possible to link to <samp class="file">Rmath.dll</samp> using other compilers, either
 directly or via an import library: if you make a MinGW-w64 import library as
-above, you will create a file <samp>Rmath.def</samp> which can be used
+above, you will create a file <samp class="file">Rmath.def</samp> which can be used
 (possibly after editing) to create an import library for other systems
 such as Visual C++.
 </p>
 <p>If you make use of dynamic linking you should use
 </p>
 <div class="example">
-<pre class="example">#define MATHLIB_STANDALONE
+<pre class="example-preformatted">#define MATHLIB_STANDALONE
 #define RMATH_DLL
 #include &lt;Rmath.h&gt;
 </pre></div>
 
-<p>to ensure that the constants like <code>NA_REAL</code> are linked correctly.
+<p>to ensure that the constants like <code class="code">NA_REAL</code> are linked correctly.
 (Auto-import will probably work with MinGW-w64, but it is better to be
 sure. This is likely to also work with VC++, Borland and similar
 compilers.)
@@ -3245,309 +3241,309 @@
 <hr>
 </div>
 </div>
-<div class="appendix" id="Essential-and-useful-other-programs-under-a-Unix_002dalike">
-<span id="Essential-and-useful-other-programs-under-a-Unix_002dalike-1"></span><h2 class="appendix">Appendix A Essential and useful other programs under a Unix-alike</h2>
+<div class="appendix-level-extent" id="Essential-and-useful-other-programs-under-a-Unix_002dalike">
+<h2 class="appendix" id="Essential-and-useful-other-programs-under-a-Unix_002dalike-1"><span>Appendix A Essential and useful other programs under a Unix-alike<a class="copiable-link" href="#Essential-and-useful-other-programs-under-a-Unix_002dalike-1"> &para;</a></span></h2>
 
 <p>This appendix gives details of programs you will need to build R on
 Unix-like platforms, or which will be used by R if found by
-<code>configure</code>.
+<code class="command">configure</code>.
 </p>
-<p>Remember that some package management systems (such as <abbr>RPM</abbr> and
+<p>Remember that some package management systems (such as <abbr class="abbr">RPM</abbr> and
 Debian/Ubuntu&rsquo;s) make a distinction between the user version of a
 package and the development version.  The latter usually has the same
-name but with the extension &lsquo;<samp>-devel</samp>&rsquo; or &lsquo;<samp>-dev</samp>&rsquo;: you need both
+name but with the extension &lsquo;<samp class="samp">-devel</samp>&rsquo; or &lsquo;<samp class="samp">-dev</samp>&rsquo;: you need both
 versions installed.
 </p>
 
 <hr>
-<div class="section" id="Essential-programs-and-libraries">
-<span id="Essential-programs-and-libraries-1"></span><h3 class="section">A.1 Essential programs and libraries</h3>
+<div class="section-level-extent" id="Essential-programs-and-libraries">
+<h3 class="section" id="Essential-programs-and-libraries-1"><span>A.1 Essential programs and libraries<a class="copiable-link" href="#Essential-programs-and-libraries-1"> &para;</a></span></h3>
 
-<p>You need a means of compiling C and Fortran 90 (see <a href="#Using-Fortran">Using Fortran</a>).  Your C compiler should be
-<acronym>ISO</acronym>/<acronym>IEC</acronym>&nbsp;60059<a id="DOCF43" href="#FOOT43"><sup>43</sup></a>, POSIX 1003.1 and C99-compliant.<a id="DOCF44" href="#FOOT44"><sup>44</sup></a> R tries to choose suitable
-flags<a id="DOCF45" href="#FOOT45"><sup>45</sup></a> for the C compilers it knows about, but you may have to
-set <code>CC</code> or <code>CFLAGS</code> suitably. (Note that options essential
+<p>You need a means of compiling C and Fortran 90 (see <a class="ref" href="#Using-Fortran">Using Fortran</a>).  Your C compiler should be
+<abbr class="acronym">ISO</abbr>/<abbr class="acronym">IEC</abbr>&nbsp;60059<a class="footnote" id="DOCF43" href="#FOOT43"><sup>43</sup></a>, POSIX 1003.1 and C99-compliant.<a class="footnote" id="DOCF44" href="#FOOT44"><sup>44</sup></a> R tries to choose suitable
+flags<a class="footnote" id="DOCF45" href="#FOOT45"><sup>45</sup></a> for the C compilers it knows about, but you may have to
+set <code class="code">CC</code> or <code class="code">CFLAGS</code> suitably. (Note that options essential
 to run the compiler even for linking, such as those to set the
-architecture, should be specified as part of <code>CC</code> rather than in
-<code>CFLAGS</code>.)
+architecture, should be specified as part of <code class="code">CC</code> rather than in
+<code class="code">CFLAGS</code>.)
 </p>
 <p>Unless you do not want to view graphs on-screen (or use macOS) you need
-&lsquo;<samp>X11</samp>&rsquo; installed, including its headers and client libraries. For
-recent Fedora/RedHat distributions it means (at least) <abbr>RPM</abbr>s
-&lsquo;<samp>libX11</samp>&rsquo;, &lsquo;<samp>libX11-devel</samp>&rsquo;, &lsquo;<samp>libXt</samp>&rsquo; and &lsquo;<samp>libXt-devel</samp>&rsquo;.
-On Debian/Ubuntu we recommend the meta-package &lsquo;<samp>xorg-dev</samp>&rsquo;.  If you
+&lsquo;<samp class="samp">X11</samp>&rsquo; installed, including its headers and client libraries. For
+recent Fedora/RedHat distributions it means (at least) <abbr class="abbr">RPM</abbr>s
+&lsquo;<samp class="samp">libX11</samp>&rsquo;, &lsquo;<samp class="samp">libX11-devel</samp>&rsquo;, &lsquo;<samp class="samp">libXt</samp>&rsquo; and &lsquo;<samp class="samp">libXt-devel</samp>&rsquo;.
+On Debian/Ubuntu we recommend the meta-package &lsquo;<samp class="samp">xorg-dev</samp>&rsquo;.  If you
 really do not want these you will need to explicitly configure R
-without X11, using <samp>--with-x=no</samp>.
+without X11, using <samp class="option">--with-x=no</samp>.
 </p>
 <p>The command-line editing (and command completion) depends on the
-<acronym>GNU</acronym> <code>readline</code> library (including its headers): version
+<abbr class="acronym">GNU</abbr> <code class="code">readline</code> library (including its headers): version
 6.0 or later is needed for all the features to be enabled.  Otherwise
-you will need to configure with <samp>--with-readline=no</samp> (or
+you will need to configure with <samp class="option">--with-readline=no</samp> (or
 equivalent).
 </p>
-<p>A suitably comprehensive <code>iconv</code> function is essential.  The R
-usage requires <code>iconv</code> to be able to translate between
-<code>&quot;latin1&quot;</code> and <code>&quot;UTF-8&quot;</code>, to recognize <code>&quot;&quot;</code> (as the
-current encoding) and <code>&quot;ASCII&quot;</code>, and to translate to and from the
-Unicode wide-character formats <code>&quot;UCS-[24][BL]E&quot;</code> &mdash; this is true
-by default for <code>glibc</code><a id="DOCF46" href="#FOOT46"><sup>46</sup></a> but not of most commercial Unixes.  However, you
-can make use of <acronym>GNU</acronym> <code>libiconv</code> (as used on macOS: see
-<a href="https://www.gnu.org/software/libiconv/">https://www.gnu.org/software/libiconv/</a>).
+<p>A suitably comprehensive <code class="code">iconv</code> function is essential.  The R
+usage requires <code class="code">iconv</code> to be able to translate between
+<code class="code">&quot;latin1&quot;</code> and <code class="code">&quot;UTF-8&quot;</code>, to recognize <code class="code">&quot;&quot;</code> (as the
+current encoding) and <code class="code">&quot;ASCII&quot;</code>, and to translate to and from the
+Unicode wide-character formats <code class="code">&quot;UCS-[24][BL]E&quot;</code> &mdash; this is true
+by default for <code class="code">glibc</code><a class="footnote" id="DOCF46" href="#FOOT46"><sup>46</sup></a> but not of most commercial Unixes.  However, you
+can make use of <abbr class="acronym">GNU</abbr> <code class="code">libiconv</code> (as used on macOS: see
+<a class="uref" href="https://www.gnu.org/software/libiconv/">https://www.gnu.org/software/libiconv/</a>).
 </p>
-<p>The OS needs to have enough support<a id="DOCF47" href="#FOOT47"><sup>47</sup></a> for wide-character
+<p>The OS needs to have enough support<a class="footnote" id="DOCF47" href="#FOOT47"><sup>47</sup></a> for wide-character
 types: this is checked at configuration.  Some C99
-functions<a id="DOCF48" href="#FOOT48"><sup>48</sup></a> are required and checked for at
-configuration.  A small number of POSIX functions<a id="DOCF49" href="#FOOT49"><sup>49</sup></a> are essential, and others<a id="DOCF50" href="#FOOT50"><sup>50</sup></a> will be used if available.
+functions<a class="footnote" id="DOCF48" href="#FOOT48"><sup>48</sup></a> are required and checked for at
+configuration.  A small number of POSIX functions<a class="footnote" id="DOCF49" href="#FOOT49"><sup>49</sup></a> are essential, and others<a class="footnote" id="DOCF50" href="#FOOT50"><sup>50</sup></a> will be used if available.
 </p>
-<p>Installations of <code>zlib</code> (version 1.2.5 or later), <code>libbz2</code>
-(version 1.0.6 or later: called <strong>bzip2-libs</strong>/<strong>bzip2-devel</strong> or
-<strong>libbz2-1.0</strong>/<strong>libbz2-dev</strong> by some Linux distributions) and
-<code>liblzma</code><a id="DOCF51" href="#FOOT51"><sup>51</sup></a> version 5.0.3 or
-later are required.  Some software distributions<a id="DOCF52" href="#FOOT52"><sup>52</sup></a> replace <code>zlib</code> by
-<code>zlib-ng</code><a id="DOCF53" href="#FOOT53"><sup>53</sup></a> which
+<p>Installations of <code class="code">zlib</code> (version 1.2.5 or later), <code class="code">libbz2</code>
+(version 1.0.6 or later: called <strong class="strong">bzip2-libs</strong>/<strong class="strong">bzip2-devel</strong> or
+<strong class="strong">libbz2-1.0</strong>/<strong class="strong">libbz2-dev</strong> by some Linux distributions) and
+<code class="code">liblzma</code><a class="footnote" id="DOCF51" href="#FOOT51"><sup>51</sup></a> version 5.0.3 or
+later are required.  Some software distributions<a class="footnote" id="DOCF52" href="#FOOT52"><sup>52</sup></a> replace <code class="code">zlib</code> by
+<code class="code">zlib-ng</code><a class="footnote" id="DOCF53" href="#FOOT53"><sup>53</sup></a> which
 has an optional compatibility interface.
 </p>
 <p>Either PCRE1 (version 8.32 or later, formerly known as just PCRE) or
 PCRE2 is required: PCRE2 is preferred and using PCRE1 requires
-<code>configure</code> option <samp>--with-pcre1</samp>.  Only the 8-bit
-library and headers are needed if these are packaged separately. <abbr>JIT</abbr>
+<code class="command">configure</code> option <samp class="option">--with-pcre1</samp>.  Only the 8-bit
+library and headers are needed if these are packaged separately. <abbr class="abbr">JIT</abbr>
 support (optional) is desirable for the best performance.  For PCRE2 &gt;=
 10.30 (which is desirable as matching has been re-written not to use
 recursion and the Unicode tables were updated to version 10)
 </p><div class="example">
-<pre class="example">./configure --enable-jit
+<pre class="example-preformatted">./configure --enable-jit
 </pre></div>
 <p>suffices.  If building PCRE1 for use with R a suitable
-<code>configure</code> command might be
+<code class="command">configure</code> command might be
 </p><div class="example">
-<pre class="example">./configure --enable-utf --enable-unicode-properties --enable-jit --disable-cpp
+<pre class="example-preformatted">./configure --enable-utf --enable-unicode-properties --enable-jit --disable-cpp
 </pre></div>
-<p>The <samp>--enable-jit</samp> flag is supported for most common CPUs but
-does not work (well or at all) for &lsquo;<samp>arm64</samp>&rsquo; macOS.
+<p>The <samp class="option">--enable-jit</samp> flag is supported for most common CPUs but
+does not work (well or at all) for &lsquo;<samp class="samp">arm64</samp>&rsquo; macOS.
 </p>
 <p>Some packages require the &lsquo;Unicode properties&rsquo; which are
-optional for PCRE1: support for this and <abbr>JIT</abbr> can be checked at run-time
-by calling <code>pcre_config()</code>.
+optional for PCRE1: support for this and <abbr class="abbr">JIT</abbr> can be checked at run-time
+by calling <code class="code">pcre_config()</code>.
 </p>
-<p>Library <code>libcurl</code> (version 7.28.0 or later) is required.
-Information on <code>libcurl</code> is found from the <code>curl-config</code>
-script: if that is missing or needs to be overridden<a id="DOCF54" href="#FOOT54"><sup>54</sup></a> there are macros to do so described in file
-<samp>config.site</samp>.
+<p>Library <code class="code">libcurl</code> (version 7.28.0 or later) is required.
+Information on <code class="code">libcurl</code> is found from the <code class="command">curl-config</code>
+script: if that is missing or needs to be overridden<a class="footnote" id="DOCF54" href="#FOOT54"><sup>54</sup></a> there are macros to do so described in file
+<samp class="file">config.site</samp>.
 </p>
-<p>A <code>tar</code> program is needed to unpack the sources and packages
-(including the recommended packages).  A version<a id="DOCF55" href="#FOOT55"><sup>55</sup></a> that can
+<p>A <code class="command">tar</code> program is needed to unpack the sources and packages
+(including the recommended packages).  A version<a class="footnote" id="DOCF55" href="#FOOT55"><sup>55</sup></a> that can
 automagically detect compressed archives is preferred for use with
-<code>untar()</code>: the configure script looks for <code>gtar</code> and
-<code>gnutar</code> before
-<span id="index-TAR"></span>
-<code>tar</code> &ndash; use environment variable <code>TAR</code> to override this.
-(On NetBSD/OpenBSD systems set this to <code>bsdtar</code> if that is
+<code class="code">untar()</code>: the configure script looks for <code class="command">gtar</code> and
+<code class="command">gnutar</code> before
+<a class="index-entry-id" id="index-TAR"></a>
+<code class="command">tar</code> &ndash; use environment variable <code class="env">TAR</code> to override this.
+(On NetBSD/OpenBSD systems set this to <code class="command">bsdtar</code> if that is
 installed.)
 </p>
-<p>There need to be suitable versions of the tools <code>grep</code> and
-<code>sed</code>: the problems are usually with old AT&amp;T and BSD variants.
-<code>configure</code> will try to find suitable versions (including
-looking in <samp>/usr/xpg4/bin</samp> which is used on some commercial
+<p>There need to be suitable versions of the tools <code class="command">grep</code> and
+<code class="command">sed</code>: the problems are usually with old AT&amp;T and BSD variants.
+<code class="command">configure</code> will try to find suitable versions (including
+looking in <samp class="file">/usr/xpg4/bin</samp> which is used on some commercial
 Unixes).
 </p>
 <p>You will not be able to build most of the manuals unless you have
-<code>texi2any</code> version 6.1 or later installed (which requires
-<code>perl</code>), and if not most of the <acronym>HTML</acronym> manuals will be linked
-to a version on <acronym>CRAN</acronym>. To make PDF versions of the manuals you
-will also need file <samp>texinfo.tex</samp> installed (which is part of the
-<acronym>GNU</acronym> Texinfo distribution but is often made part of the
-TeX package <strong>texinfo</strong> in re-distributions) as well as
-<code>texi2dvi</code>.<a id="DOCF56" href="#FOOT56"><sup>56</sup></a>
-Further, the versions of <code>texi2dvi</code> and <samp>texinfo.tex</samp> need
+<code class="command">texi2any</code> version 6.1 or later installed (which requires
+<code class="command">perl</code>), and if not most of the <abbr class="acronym">HTML</abbr> manuals will be linked
+to a version on <abbr class="acronym">CRAN</abbr>. To make PDF versions of the manuals you
+will also need file <samp class="file">texinfo.tex</samp> installed (which is part of the
+<abbr class="acronym">GNU</abbr> Texinfo distribution but is often made part of the
+TeX package <strong class="strong">texinfo</strong> in re-distributions) as well as
+<code class="command">texi2dvi</code>.<a class="footnote" id="DOCF56" href="#FOOT56"><sup>56</sup></a>
+Further, the versions of <code class="command">texi2dvi</code> and <samp class="file">texinfo.tex</samp> need
 to be compatible: we have seen problems with older TeX distributions.
 </p>
-<span id="index-Subversion-1"></span>
+<a class="index-entry-id" id="index-Subversion-1"></a>
 <p>If you want to build from the R Subversion repository then
-<code>texi2any</code> is highly recommended as it is used to create files
+<code class="command">texi2any</code> is highly recommended as it is used to create files
 which are in the tarball but not stored in the Subversion repository.
 </p>
-<span id="index-Vignettes"></span>
-<p>The PDF documentation (including <samp>doc/NEWS.pdf</samp>) and building
-vignettes needs <code>pdftex</code> and <code>pdflatex</code>.  We require
-LaTeX version <code>2005/12/01</code> or later (for UTF-8 support).
+<a class="index-entry-id" id="index-Vignettes"></a>
+<p>The PDF documentation (including <samp class="file">doc/NEWS.pdf</samp>) and building
+vignettes needs <code class="command">pdftex</code> and <code class="command">pdflatex</code>.  We require
+LaTeX version <code class="code">2005/12/01</code> or later (for UTF-8 support).
 Building PDF package manuals (including the R reference manual) and
 vignettes is sensitive to the version of the LaTeX package
-<strong>hyperref</strong> and we recommend that the TeX distribution used is
+<strong class="strong">hyperref</strong> and we recommend that the TeX distribution used is
 kept up-to-date.  A number of standard LaTeX packages are required
 for the PDF manuals
-(including <strong>url</strong> and some of the font packages such as <strong>times</strong>
-and <strong>helvetic</strong> and also <strong>amsfonts</strong>) and others such
-as <strong>hyperref</strong> and <strong>inconsolata</strong> are desirable (and without them
-you may need to change R&rsquo;s defaults: see <a href="#Making-the-manuals">Making the manuals</a>).
-Note that package <strong>hyperref</strong> (currently) requires packages
-<strong>etoolbox</strong>, <strong>kvoptions</strong>, <strong>ltxcmds</strong> and <strong>refcount</strong>,
-and <strong>inconsolata</strong> requires <strong>xkeyval</strong>.
-Building the base vignettes requires <strong>hyperref</strong>, <strong>fancyvrb</strong>,
-<strong>natbib</strong>, <strong>parskip</strong> and <strong>listings</strong>.
+(including <strong class="strong">url</strong> and some of the font packages such as <strong class="strong">times</strong>
+and <strong class="strong">helvetic</strong> and also <strong class="strong">amsfonts</strong>) and others such
+as <strong class="strong">hyperref</strong> and <strong class="strong">inconsolata</strong> are desirable (and without them
+you may need to change R&rsquo;s defaults: see <a class="pxref" href="#Making-the-manuals">Making the manuals</a>).
+Note that package <strong class="strong">hyperref</strong> (currently) requires packages
+<strong class="strong">etoolbox</strong>, <strong class="strong">kvoptions</strong>, <strong class="strong">ltxcmds</strong> and <strong class="strong">refcount</strong>,
+and <strong class="strong">inconsolata</strong> requires <strong class="strong">xkeyval</strong>.
+Building the base vignettes requires <strong class="strong">hyperref</strong>, <strong class="strong">fancyvrb</strong>,
+<strong class="strong">natbib</strong>, <strong class="strong">parskip</strong> and <strong class="strong">listings</strong>.
 For distributions
 based on TeX Live the simplest approach may be to install collections
-<strong>collection-latex</strong>, <strong>collection-fontsrecommended</strong>,
-<strong>collection-latexrecommended</strong>, <strong>collection-fontsextra</strong> and
-<strong>collection-latexextra</strong> (assuming they are not installed by
-default): Fedora uses names like <strong>texlive-collection-fontsextra</strong> and
-Debian/Ubuntu like <strong>texlive-fonts-extra</strong>.
+<strong class="strong">collection-latex</strong>, <strong class="strong">collection-fontsrecommended</strong>,
+<strong class="strong">collection-latexrecommended</strong>, <strong class="strong">collection-fontsextra</strong> and
+<strong class="strong">collection-latexextra</strong> (assuming they are not installed by
+default): Fedora uses names like <strong class="strong">texlive-collection-fontsextra</strong> and
+Debian/Ubuntu like <strong class="strong">texlive-fonts-extra</strong>.
 </p>
-<p>Programs <code>qpdf</code> and Ghostscript (<code>gs</code>) are desirable as
+<p>Programs <code class="command">qpdf</code> and Ghostscript (<code class="command">gs</code>) are desirable as
 these will be used to compact the installed PDF vignettes and any PDF
 manuals.
 </p>
-<span id="index-PATH"></span>
-<p>The essential programs should be in your <code>PATH</code> at the time
-<code>configure</code> is run: this will capture the full paths.
+<a class="index-entry-id" id="index-PATH"></a>
+<p>The essential programs should be in your <code class="env">PATH</code> at the time
+<code class="command">configure</code> is run: this will capture the full paths.
 </p>
 <p>For date-times to work correctly it is essential that the tables
 defining time zones are installed: these are usually in an OS component
-named something like <code>tzdata</code>. On most OSes they are required
+named something like <code class="code">tzdata</code>. On most OSes they are required
 but installations of Alpine Linux have been seen without them.  There is
-a <code>configure</code> check that recent date-times to work correctly in
+a <code class="command">configure</code> check that recent date-times to work correctly in
 different time zones which catches this when installing from source (but
 not for binary distributions).
 </p>
 <p>Those distributing binary versions of R may need to be aware of the
 licences of the external libraries it is linked to (including &lsquo;useful&rsquo;
-libraries from the next section).  The <code>liblzma</code> library is in the
-public domain and X11, <code>libbzip2</code>, <code>libcurl</code> and <code>zlib</code>
+libraries from the next section).  The <code class="code">liblzma</code> library is in the
+public domain and X11, <code class="code">libbzip2</code>, <code class="code">libcurl</code> and <code class="code">zlib</code>
 have MIT-style licences. PCRE1 and PCRE2 have a BSD-style licence which
 requires distribution of the licence (included in R&rsquo;s
-<samp>COPYRIGHTS</samp> file) in binary distributions.  GNU <code>readline</code> is
+<samp class="file">COPYRIGHTS</samp> file) in binary distributions.  GNU <code class="code">readline</code> is
 licensed under GPL (which version(s) of GPL depends on the
-<code>readline</code> version). <code>libzstd</code> is dual-licensed with either a
+<code class="code">readline</code> version). <code class="code">libzstd</code> is dual-licensed with either a
 BSD or GPL licence and used in R under the latter.
 </p>
 
 <hr>
 </div>
-<div class="section" id="Useful-libraries-and-programs">
-<span id="Useful-libraries-and-programs-1"></span><h3 class="section">A.2 Useful libraries and programs</h3>
+<div class="section-level-extent" id="Useful-libraries-and-programs">
+<h3 class="section" id="Useful-libraries-and-programs-1"><span>A.2 Useful libraries and programs<a class="copiable-link" href="#Useful-libraries-and-programs-1"> &para;</a></span></h3>
 
-<p>The ability to use translated messages makes use of <code>gettext</code> and
-most likely needs <acronym>GNU</acronym> <code>gettext</code>: you do need this to work
-with new translations, but otherwise the version of the <code>gettext</code>
+<p>The ability to use translated messages makes use of <code class="code">gettext</code> and
+most likely needs <abbr class="acronym">GNU</abbr> <code class="code">gettext</code>: you do need this to work
+with new translations, but otherwise the version of the <code class="code">gettext</code>
 runtime contained in the R sources will be used if no suitable external
-<code>gettext</code> is found (possibly from <code>libc</code>) and R was not
-configured with <samp>--disable-nls</samp>.  Use of the bundled
-<code>gettext</code> runtime is deprecated and will be removed soon.
-</p>
-<span id="index-Cairo-1"></span>
-<span id="index-Pango"></span>
-<p>The &lsquo;modern&rsquo; version of the <code>X11()</code>, <code>jpeg()</code>, <code>png()</code>
-and <code>tiff()</code> graphics devices uses the Cairo and Pango libraries.
+<code class="code">gettext</code> is found (possibly from <code class="code">libc</code>) and R was not
+configured with <samp class="option">--disable-nls</samp>.  Use of the bundled
+<code class="code">gettext</code> runtime is deprecated and will be removed soon.
+</p>
+<a class="index-entry-id" id="index-Cairo-1"></a>
+<a class="index-entry-id" id="index-Pango"></a>
+<p>The &lsquo;modern&rsquo; version of the <code class="code">X11()</code>, <code class="code">jpeg()</code>, <code class="code">png()</code>
+and <code class="code">tiff()</code> graphics devices uses the Cairo and Pango libraries.
 Cairo version 1.2.0 or later and Pango version 1.10 or later are
 required (but much later versions are current).  R checks for
-<code>pkg-config</code>, and uses that to check first that the
-&lsquo;<samp>pangocairo</samp>&rsquo; package is installed (and if not, &lsquo;<samp>cairo</samp>&rsquo;) then
+<code class="command">pkg-config</code>, and uses that to check first that the
+&lsquo;<samp class="samp">pangocairo</samp>&rsquo; package is installed (and if not, &lsquo;<samp class="samp">cairo</samp>&rsquo;) then
 if suitable code can be compiled.  These tests will fail if
-<code>pkg-config</code> is not installed<a id="DOCF57" href="#FOOT57"><sup>57</sup></a>, and might fail if <code>cairo</code> was built
-statically unless <code>configure</code> option
-<samp>--with-static-cairo</samp> is used.  Most systems with <code>Gtk+</code> 2.8
+<code class="command">pkg-config</code> is not installed<a class="footnote" id="DOCF57" href="#FOOT57"><sup>57</sup></a>, and might fail if <code class="code">cairo</code> was built
+statically unless <code class="command">configure</code> option
+<samp class="option">--with-static-cairo</samp> is used.  Most systems with <code class="code">Gtk+</code> 2.8
 or later installed will have suitable libraries: for Fedora users the
-<code>pango-devel</code> <abbr>RPM</abbr> and its dependencies suffice.
+<code class="code">pango-devel</code> <abbr class="abbr">RPM</abbr> and its dependencies suffice.
 It is possible (but very unusual on a platform with X11) to build Cairo
-without its <code>cairo-xlib</code> module in which case <code>X11(type =
+without its <code class="code">cairo-xlib</code> module in which case <code class="code">X11(type =
 &quot;cairo&quot;)</code> will not be available.  Pango is optional but highly desirable
 as it is likely to give much better text rendering, including kerning.
 </p>
 <p>For the best font experience with these devices you need suitable fonts
-installed: Linux users will want the <code>urw-fonts</code> package.  On
-platforms which have it available, the <code>msttcorefonts</code>
-package<a id="DOCF58" href="#FOOT58"><sup>58</sup></a> provides
+installed: Linux users will want the <code class="code">urw-fonts</code> package.  On
+platforms which have it available, the <code class="code">msttcorefonts</code>
+package<a class="footnote" id="DOCF58" href="#FOOT58"><sup>58</sup></a> provides
 TrueType versions of Monotype fonts such as Arial and Times New Roman.
 Another useful set of fonts is the &lsquo;liberation&rsquo; TrueType fonts available
 at
-<a href="https://pagure.io/liberation-fonts">https://pagure.io/liberation-fonts</a>,<a id="DOCF59" href="#FOOT59"><sup>59</sup></a> which cover the Latin, Greek and Cyrillic alphabets
+<a class="uref" href="https://pagure.io/liberation-fonts">https://pagure.io/liberation-fonts</a>,<a class="footnote" id="DOCF59" href="#FOOT59"><sup>59</sup></a> which cover the Latin, Greek and Cyrillic alphabets
 plus a fair range of signs.  These share metrics with Arial, Times New
 Roman and Courier New, and contain fonts rather similar to the first two
-(<a href="https://en.wikipedia.org/wiki/Liberation_fonts">https://en.wikipedia.org/wiki/Liberation_fonts</a>).  Then there
+(<a class="uref" href="https://en.wikipedia.org/wiki/Liberation_fonts">https://en.wikipedia.org/wiki/Liberation_fonts</a>).  Then there
 is the &lsquo;Free UCS Outline Fonts&rsquo; project
-(<a href="https://www.gnu.org/software/freefont/">https://www.gnu.org/software/freefont/</a>) which are
+(<a class="uref" href="https://www.gnu.org/software/freefont/">https://www.gnu.org/software/freefont/</a>) which are
 OpenType/TrueType fonts based on the URW fonts but with extended Unicode
-coverage.  See the R help on <code>X11</code> on selecting such fonts.
+coverage.  See the R help on <code class="code">X11</code> on selecting such fonts.
 </p>
-<p>The bitmapped graphics devices <code>jpeg()</code>, <code>png()</code> and
-<code>tiff()</code> need the appropriate headers and libraries installed:
-<code>jpeg</code> (version 6b or later, or <code>libjpeg-turbo</code>) or
-<code>libpng</code> (version 1.2.7 or later) and <code>zlib</code> or <code>libtiff</code>
+<p>The bitmapped graphics devices <code class="code">jpeg()</code>, <code class="code">png()</code> and
+<code class="code">tiff()</code> need the appropriate headers and libraries installed:
+<code class="code">jpeg</code> (version 6b or later, or <code class="code">libjpeg-turbo</code>) or
+<code class="code">libpng</code> (version 1.2.7 or later) and <code class="code">zlib</code> or <code class="code">libtiff</code>
 respectively.
-<code>pkg-config</code> is used if available and so needs the appropriate
-<samp>.pc</samp> file (which requires <code>libtiff</code> version 4.x and is not
-available on all platforms for <code>jpeg</code> before version 9c).  They
-also need support for either <code>X11</code> or <code>cairo</code> (see above).
-Should support for these devices <strong>not</strong> be required or broken
-system libraries need to be avoided there are <code>configure</code>
-options <samp>--without-libpng</samp>, <samp>--without-jpeglib</samp> and
-<samp>--without-libtiff</samp>.  The TIFF library has many optional features
-such as <code>jpeg</code>, <code>libz</code>, <code>zstd</code>, <code>lzma</code>, <code>webp</code>,
-<code>jbig</code> and <code>jpeg12</code>, none of which is required for the
-<code>tiff()</code> devices but may need to be present to link the library
-(usually only an issue for static linking).  <code>pkg-config</code> can
+<code class="command">pkg-config</code> is used if available and so needs the appropriate
+<samp class="file">.pc</samp> file (which requires <code class="code">libtiff</code> version 4.x and is not
+available on all platforms for <code class="code">jpeg</code> before version 9c).  They
+also need support for either <code class="code">X11</code> or <code class="code">cairo</code> (see above).
+Should support for these devices <strong class="strong">not</strong> be required or broken
+system libraries need to be avoided there are <code class="command">configure</code>
+options <samp class="option">--without-libpng</samp>, <samp class="option">--without-jpeglib</samp> and
+<samp class="option">--without-libtiff</samp>.  The TIFF library has many optional features
+such as <code class="code">jpeg</code>, <code class="code">libz</code>, <code class="code">zstd</code>, <code class="code">lzma</code>, <code class="code">webp</code>,
+<code class="code">jbig</code> and <code class="code">jpeg12</code>, none of which is required for the
+<code class="code">tiff()</code> devices but may need to be present to link the library
+(usually only an issue for static linking).  <code class="command">pkg-config</code> can
 tell you what other libraries are required for linking, for example by
-<code>pkg-config libtiff-4 --static --libs</code>.
+<code class="code">pkg-config libtiff-4 --static --libs</code>.
 </p>
-<p>Option <samp>--with-system-tre</samp> is also available: it needs a recent
-version of TRE. (The latest sources are in the <code>git</code> repository
-at <a href="https://github.com/laurikari/tre/">https://github.com/laurikari/tre/</a>, but at the time of writing
+<p>Option <samp class="option">--with-system-tre</samp> is also available: it needs a recent
+version of TRE. (The latest sources are in the <code class="command">git</code> repository
+at <a class="url" href="https://github.com/laurikari/tre/">https://github.com/laurikari/tre/</a>, but at the time of writing
 the resulting build did not complete its checks, nor did R built
 against the version supplied by Fedora.)
 </p>
-<p>An implementation of <acronym>XDR</acronym> is required, and the R sources
+<p>An implementation of <abbr class="acronym">XDR</abbr> is required, and the R sources
 contain one which is likely to suffice (although a system version may
-have higher performance).  <acronym>XDR</acronym> is part of <acronym>RPC</acronym> and
-historically has been part of <samp>libc</samp> on a Unix-alike.  (In
-principle <code>man xdr_string</code> should tell you which library is
+have higher performance).  <abbr class="acronym">XDR</abbr> is part of <abbr class="acronym">RPC</abbr> and
+historically has been part of <samp class="file">libc</samp> on a Unix-alike.  (In
+principle <code class="command">man xdr_string</code> should tell you which library is
 needed, but it often does not: on some OSes it is provided by
-<code>libnsl</code>.)  However some builds<a id="DOCF60" href="#FOOT60"><sup>60</sup></a> of <code>glibc</code> omit or hide it with the intention
-that the <acronym>TI-RPC</acronym> library be used, in which case <code>libtirpc</code>
+<code class="code">libnsl</code>.)  However some builds<a class="footnote" id="DOCF60" href="#FOOT60"><sup>60</sup></a> of <code class="code">glibc</code> omit or hide it with the intention
+that the <abbr class="acronym">TI-RPC</abbr> library be used, in which case <code class="code">libtirpc</code>
 (and its development version) should be installed, and its
-headers<a id="DOCF61" href="#FOOT61"><sup>61</sup></a> need to be on
-the C include path or under <samp>/usr/include/tirpc</samp>.
+headers<a class="footnote" id="DOCF61" href="#FOOT61"><sup>61</sup></a> need to be on
+the C include path or under <samp class="file">/usr/include/tirpc</samp>.
 </p>
-<p>The R sources contain an older copy of <code>libintl</code> from GNU
-<code>gettext</code> which is used if this is not part of <code>libc</code> (as it is
-when using <code>glibc</code>) nor found as an external library.  The internal
+<p>The R sources contain an older copy of <code class="code">libintl</code> from GNU
+<code class="code">gettext</code> which is used if this is not part of <code class="code">libc</code> (as it is
+when using <code class="code">glibc</code>) nor found as an external library.  The internal
 copy is deprecated and may be removed in the near
-future&mdash;<code>configure</code> warns when it is used.
+future&mdash;<code class="command">configure</code> warns when it is used.
 </p>
-<p>Library <code>libdeflate</code> (<a href="https://github.com/ebiggers/libdeflate">https://github.com/ebiggers/libdeflate</a>)
-is used by <code>memCompress()</code> and <code>memDecompress()</code> if available.
+<p>Library <code class="code">libdeflate</code> (<a class="url" href="https://github.com/ebiggers/libdeflate">https://github.com/ebiggers/libdeflate</a>)
+is used by <code class="code">memCompress()</code> and <code class="code">memDecompress()</code> if available.
 </p>
-<p>The compression library for <code>zstd</code> is used if available.  It might
-be named <code>libzstd</code> or be part of a package including the
-<code>zstd</code> utilities.
+<p>The compression library for <code class="code">zstd</code> is used if available.  It might
+be named <code class="code">libzstd</code> or be part of a package including the
+<code class="command">zstd</code> utilities.
 </p>
-<p>Use of the X11 clipboard selection requires the <code>Xmu</code> headers and
+<p>Use of the X11 clipboard selection requires the <code class="code">Xmu</code> headers and
 libraries.  These are normally part of an X11 installation (e.g. the
-Debian meta-package &lsquo;<samp>xorg-dev</samp>&rsquo;), but some distributions have split
+Debian meta-package &lsquo;<samp class="samp">xorg-dev</samp>&rsquo;), but some distributions have split
 this into smaller parts, so for example recent versions of Fedora
-require the &lsquo;<samp>libXmu</samp>&rsquo; and &lsquo;<samp>libXmu-devel</samp>&rsquo; <abbr>RPM</abbr>s.
+require the &lsquo;<samp class="samp">libXmu</samp>&rsquo; and &lsquo;<samp class="samp">libXmu-devel</samp>&rsquo; <abbr class="abbr">RPM</abbr>s.
 </p>
 <p>Some systems (notably macOS and some FreeBSD systems) have had
 inadequate support for collation in multibyte locales.  It is possible
 to replace the OS&rsquo;s collation support by that from ICU (International
-Components for Unicode, <a href="https://icu.unicode.org/">https://icu.unicode.org/</a>), and this
+Components for Unicode, <a class="uref" href="https://icu.unicode.org/">https://icu.unicode.org/</a>), and this
 provides much more precise control over collation on all systems.  ICU
 is available as sources and as binary distributions for (at least) most
-Linux distributions, FreeBSD, macOS and <abbr>AIX</abbr>, usually as
-<code>libicu</code> or <code>icu4c</code>.  It will be used by default where
+Linux distributions, FreeBSD, macOS and <abbr class="abbr">AIX</abbr>, usually as
+<code class="code">libicu</code> or <code class="code">icu4c</code>.  It will be used by default where
 available: should a very old or broken version of ICU be found this can
-be suppressed by <samp>--without-ICU</samp>.
+be suppressed by <samp class="option">--without-ICU</samp>.
 </p>
-<p>The <code>bitmap</code> and <code>dev2bitmap</code> devices and function
-<code>embedFonts()</code> use Ghostscript
-(<a href="https://www.ghostscript.com/">https://www.ghostscript.com/</a>).  This should either be in your
+<p>The <code class="code">bitmap</code> and <code class="code">dev2bitmap</code> devices and function
+<code class="code">embedFonts()</code> use Ghostscript
+(<a class="uref" href="https://www.ghostscript.com/">https://www.ghostscript.com/</a>).  This should either be in your
 path when the command is run, or its full path specified by the
-environment variable <code>R_GSCMD</code> at that time.
-<span id="index-R_005fGSCMD"></span>
+environment variable <code class="env">R_GSCMD</code> at that time.
+<a class="index-entry-id" id="index-R_005fGSCMD"></a>
 </p>
 <p>At the time of writing a full installation on Fedora Linux used the
 following packages and their development versions, and this may provide
 a useful checklist for other systems:
 </p><div class="example">
-<pre class="example">bzip2 cairo fontconfig freetype fribidi gcc gcc-gfortran gcc-c++ glib2
+<pre class="example-preformatted">bzip2 cairo fontconfig freetype fribidi gcc gcc-gfortran gcc-c++ glib2
 glibc harfbuzz lapack libX11 libXext libXt libcurl libdeflate libicu
 libjpeg libpng libtiff libtirpc libxcrypt libzstd ncurses pango
 pkgconf-pkg-config pcre2 readline tcl tk xz zlib
@@ -3556,29 +3552,29 @@
 </p>
 
 <hr>
-<div class="subsection" id="Tcl_002fTk">
-<span id="Tcl_002fTk-1"></span><h4 class="subsection">A.2.1 Tcl/Tk</h4>
+<div class="subsection-level-extent" id="Tcl_002fTk">
+<h4 class="subsection" id="Tcl_002fTk-1"><span>A.2.1 Tcl/Tk<a class="copiable-link" href="#Tcl_002fTk-1"> &para;</a></span></h4>
 
-<p>The <strong>tcltk</strong> package needs Tcl/Tk &ge; 8.4 installed: the sources are
-available at <a href="https://www.tcl-lang.org/">https://www.tcl-lang.org/</a>.  To specify the locations of the
+<p>The <strong class="strong">tcltk</strong> package needs Tcl/Tk &ge; 8.4 installed: the sources are
+available at <a class="uref" href="https://www.tcl-lang.org/">https://www.tcl-lang.org/</a>.  To specify the locations of the
 Tcl/Tk files you may need the configuration options
 </p>
-<dl compact="compact">
-<dt><span><samp>--with-tcltk</samp></span></dt>
+<dl class="table">
+<dt><samp class="option">--with-tcltk</samp></dt>
 <dd><p>use Tcl/Tk, or specify its library directory
 </p></dd>
-<dt><span><samp>--with-tcl-config=<var>TCL_CONFIG</var></samp></span></dt>
-<dd><p>specify location of <samp>tclConfig.sh</samp>
+<dt><samp class="option">--with-tcl-config=<var class="var">TCL_CONFIG</var></samp></dt>
+<dd><p>specify location of <samp class="file">tclConfig.sh</samp>
 </p></dd>
-<dt><span><samp>--with-tk-config=<var>TK_CONFIG</var></samp></span></dt>
-<dd><p>specify location of <samp>tkConfig.sh</samp>
+<dt><samp class="option">--with-tk-config=<var class="var">TK_CONFIG</var></samp></dt>
+<dd><p>specify location of <samp class="file">tkConfig.sh</samp>
 </p></dd>
 </dl>
 
-<p>or use the configure variables <code>TCLTK_LIBS</code> and
-<code>TCLTK_CPPFLAGS</code> to specify the flags needed for linking against
-the Tcl and Tk libraries and for finding the <samp>tcl.h</samp> and
-<samp>tk.h</samp> headers, respectively.  If you have both 32- and 64-bit
+<p>or use the configure variables <code class="code">TCLTK_LIBS</code> and
+<code class="code">TCLTK_CPPFLAGS</code> to specify the flags needed for linking against
+the Tcl and Tk libraries and for finding the <samp class="file">tcl.h</samp> and
+<samp class="file">tk.h</samp> headers, respectively.  If you have both 32- and 64-bit
 versions of Tcl/Tk installed, specifying the paths to the correct config
 files may be necessary to avoid confusion between them.
 </p>
@@ -3586,71 +3582,71 @@
 most versions of 8.4.x, but not recently). Tcl/Tk 9 is supported as from
 R 4.5.1.
 </p>
-<p>Note that the <samp>tk.h</samp> header includes<a id="DOCF62" href="#FOOT62"><sup>62</sup></a> X11 headers, so you will need X11 and its
+<p>Note that the <samp class="file">tk.h</samp> header includes<a class="footnote" id="DOCF62" href="#FOOT62"><sup>62</sup></a> X11 headers, so you will need X11 and its
 development files installed.
 </p>
 <hr>
 </div>
-<div class="subsection" id="Java-support">
-<span id="Java-support-1"></span><h4 class="subsection">A.2.2 Java support</h4>
+<div class="subsection-level-extent" id="Java-support">
+<h4 class="subsection" id="Java-support-1"><span>A.2.2 Java support<a class="copiable-link" href="#Java-support-1"> &para;</a></span></h4>
 
 <p>The build process looks for Java support on the host system, and if it
 finds it sets some settings which are useful for Java-using packages
-(such as <a href="https://CRAN.R-project.org/package=rJava"><strong>rJava</strong></a> and <a href="https://CRAN.R-project.org/package=JavaGD"><strong>JavaGD</strong></a>: installing these from
-source requires a full <abbr>JDK</abbr>).  This check can be suppressed by
-configure option <samp>--disable-java</samp>.
-<span id="index-JAVA_005fHOME"></span>
-Configure variable <code>JAVA_HOME</code> can be set to point to a specific
-<abbr>JRE</abbr>/<abbr>JDK</abbr>, on the <code>configure</code> command line or in the environment.
+(such as <a class="url" href="https://CRAN.R-project.org/package=rJava"><strong class="strong">rJava</strong></a> and <a class="url" href="https://CRAN.R-project.org/package=JavaGD"><strong class="strong">JavaGD</strong></a>: installing these from
+source requires a full <abbr class="abbr">JDK</abbr>).  This check can be suppressed by
+configure option <samp class="option">--disable-java</samp>.
+<a class="index-entry-id" id="index-JAVA_005fHOME"></a>
+Configure variable <code class="env">JAVA_HOME</code> can be set to point to a specific
+<abbr class="abbr">JRE</abbr>/<abbr class="abbr">JDK</abbr>, on the <code class="command">configure</code> command line or in the environment.
 </p>
 <p>Principal amongst these settings are some paths to the Java
 libraries and JVM, which are stored in environment variable
-<span id="index-R_005fJAVA_005fLD_005fLIBRARY_005fPATH"></span>
-<code>R_JAVA_LD_LIBRARY_PATH</code> in file <samp><var>R_HOME</var>/etc/ldpaths</samp> (or
+<a class="index-entry-id" id="index-R_005fJAVA_005fLD_005fLIBRARY_005fPATH"></a>
+<code class="env">R_JAVA_LD_LIBRARY_PATH</code> in file <samp class="file"><var class="var">R_HOME</var>/etc/ldpaths</samp> (or
 a sub-architecture-specific version).  A typical setting for
-&lsquo;<samp>x86_64</samp>&rsquo; Linux is
+&lsquo;<samp class="samp">x86_64</samp>&rsquo; Linux is
 </p>
 <div class="example">
-<pre class="example">JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-6.fc34.x86_64/jre
+<pre class="example-preformatted">JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-6.fc34.x86_64/jre
 R_JAVA_LD_LIBRARY_PATH=${JAVA_HOME}/lib/amd64/server
 </pre></div>
 
-<p>Unfortunately this depends on the exact version of the <abbr>JRE</abbr>/<abbr>JDK</abbr>
+<p>Unfortunately this depends on the exact version of the <abbr class="abbr">JRE</abbr>/<abbr class="abbr">JDK</abbr>
 installed, and so may need updating if the Java installation is updated.
-This can be done by running <code>R CMD javareconf</code> which updates
-settings in both <samp><var>R_HOME</var>/etc/Makeconf</samp> and
-<samp><var>R_HOME</var>/etc/ldpaths</samp>. See <code>R CMD javareconf --help</code> for
+This can be done by running <code class="code">R CMD javareconf</code> which updates
+settings in both <samp class="file"><var class="var">R_HOME</var>/etc/Makeconf</samp> and
+<samp class="file"><var class="var">R_HOME</var>/etc/ldpaths</samp>. See <code class="code">R CMD javareconf --help</code> for
 details: note that this needs to be done by the account owning the R
 installation.
 </p>
 <p>Another way of overriding those settings is to set the environment variable
-<span id="index-R_005fJAVA_005fLD_005fLIBRARY_005fPATH-1"></span>
-<code>R_JAVA_LD_LIBRARY_PATH</code> (before R is started, hence not in
-<samp>~/.Renviron</samp>), which suffices to run already-installed
+<a class="index-entry-id" id="index-R_005fJAVA_005fLD_005fLIBRARY_005fPATH-1"></a>
+<code class="env">R_JAVA_LD_LIBRARY_PATH</code> (before R is started, hence not in
+<samp class="file">~/.Renviron</samp>), which suffices to run already-installed
 Java-using packages.  For example
 </p>
 <div class="example">
-<pre class="example">R_JAVA_LD_LIBRARY_PATH=/usr/lib/jvm/java-1.8.0/jre/lib/amd64/server
+<pre class="example-preformatted">R_JAVA_LD_LIBRARY_PATH=/usr/lib/jvm/java-1.8.0/jre/lib/amd64/server
 </pre></div>
 
 <p>It may be possible to avoid this by specifying an invariant link as the
 path when configuring. For example, on that system any of
 </p>
 <div class="example">
-<pre class="example">JAVA_HOME=/usr/lib/jvm/java
+<pre class="example-preformatted">JAVA_HOME=/usr/lib/jvm/java
 JAVA_HOME=/usr/lib/jvm/java-1.8.0
 JAVA_HOME=/usr/lib/jvm/java-1.8.0/jre
 JAVA_HOME=/usr/lib/jvm/jre-1.8.0
 </pre></div>
 
-<p>worked (since the &lsquo;auto&rsquo; setting of <code>/etc/alternatives</code> chose
+<p>worked (since the &lsquo;auto&rsquo; setting of <code class="command">/etc/alternatives</code> chose
 Java 8 aka 1.8.0).
 </p>
 <p>&lsquo;Non-server&rsquo; Oracle distributions of Java as from version 11 are of a
-full <abbr>JDK</abbr>.  However, Linux distributions can be confusing: for example
+full <abbr class="abbr">JDK</abbr>.  However, Linux distributions can be confusing: for example
 Fedora 38 had
 </p><div class="example">
-<pre class="example">java-1.8.0-openjdk
+<pre class="example-preformatted">java-1.8.0-openjdk
 java-1.8.0-openjdk-devel
 java-11-openjdk
 java-11-openjdk-devel
@@ -3659,52 +3655,52 @@
 java-latest-openjdk
 java-latest-openjdk-devel
 </pre></div>
-<p>where the <code>-devel</code> <abbr>RPM</abbr>s are needed to complete the <abbr>JDK</abbr>. Debian/Ubuntu use
-&lsquo;<samp>-jre</samp>&rsquo; and &lsquo;<samp>-jdk</samp>&rsquo;, e.g.
+<p>where the <code class="code">-devel</code> <abbr class="abbr">RPM</abbr>s are needed to complete the <abbr class="abbr">JDK</abbr>. Debian/Ubuntu use
+&lsquo;<samp class="samp">-jre</samp>&rsquo; and &lsquo;<samp class="samp">-jdk</samp>&rsquo;, e.g.
 </p><div class="example">
-<pre class="example">sudo apt install default-jdk
+<pre class="example-preformatted">sudo apt install default-jdk
 </pre></div>
 
 <hr>
 </div>
-<div class="subsection" id="Other-compiled-languages">
-<span id="Other-compiled-languages-1"></span><h4 class="subsection">A.2.3 Other compiled languages</h4>
+<div class="subsection-level-extent" id="Other-compiled-languages">
+<h4 class="subsection" id="Other-compiled-languages-1"><span>A.2.3 Other compiled languages<a class="copiable-link" href="#Other-compiled-languages-1"> &para;</a></span></h4>
 
 <p>Some add-on packages need a C++ compiler.  This is specified by the
-configure variables <code>CXX</code>, <code>CXXFLAGS</code> and similar.
-<code>configure</code> will normally find a suitable compiler.  It is
+configure variables <code class="code">CXX</code>, <code class="code">CXXFLAGS</code> and similar.
+<code class="command">configure</code> will normally find a suitable compiler.  It is
 possible to specify an alternative C++17 compiler by the configure
-variables <code>CXX17</code>, <code>CXX17STD</code>, <code>CXX17FLAGS</code> and similar
-(see <a href="#C_002b_002b-Support">C++ Support</a>).  Again, <code>configure</code> will normally find a
-suitable value for <code>CXX17STD</code> if the compiler given by <code>CXX</code>
+variables <code class="code">CXX17</code>, <code class="code">CXX17STD</code>, <code class="code">CXX17FLAGS</code> and similar
+(see <a class="pxref" href="#C_002b_002b-Support">C++ Support</a>).  Again, <code class="command">configure</code> will normally find a
+suitable value for <code class="code">CXX17STD</code> if the compiler given by <code class="code">CXX</code>
 is capable of compiling C++17 code, but it is possible that a completely
 different compiler will be needed.  (Similar macros are provided for
 C++20.)
 </p>
-<p>For source files with extension <samp>.f90</samp> or <samp>.f95</samp> containing
-free-form Fortran, the compiler defined by the macro <code>FC</code> is used
-by <code>R CMD INSTALL</code>.  Note that it is detected by the name of the
+<p>For source files with extension <samp class="file">.f90</samp> or <samp class="file">.f95</samp> containing
+free-form Fortran, the compiler defined by the macro <code class="code">FC</code> is used
+by <code class="command">R CMD INSTALL</code>.  Note that it is detected by the name of the
 command without a test that it can actually compile Fortran 90 code.
-Set the configure variable <code>FC</code> to override this if necessary:
-variables <code>FCFLAGS</code> and <code>FCLIBS_XTRA</code> might also need to be
+Set the configure variable <code class="code">FC</code> to override this if necessary:
+variables <code class="code">FCFLAGS</code> and <code class="code">FCLIBS_XTRA</code> might also need to be
 set.
 </p>
-<p>See file <samp>config.site</samp> in the R source for more details about
+<p>See file <samp class="file">config.site</samp> in the R source for more details about
 these variables.
 </p>
 
 <hr>
 </div>
 </div>
-<div class="section" id="Linear-algebra">
-<span id="Linear-algebra-1"></span><h3 class="section">A.3 Linear algebra</h3>
-<span id="index-BLAS-library"></span>
+<div class="section-level-extent" id="Linear-algebra">
+<h3 class="section" id="Linear-algebra-1"><span>A.3 Linear algebra<a class="copiable-link" href="#Linear-algebra-1"> &para;</a></span></h3>
+<a class="index-entry-id" id="index-BLAS-library"></a>
 
 
-<p>The linear algebra routines in R make use of <acronym>BLAS</acronym> (Basic
-Linear Algebra Subprograms, <a href="https://netlib.org/blas/faq.html">https://netlib.org/blas/faq.html</a>)
-routines, and most make use of routines from <acronym>LAPACK</acronym> (Linear
-Algebra PACKage, <a href="https://netlib.org/lapack/">https://netlib.org/lapack/</a>).  The R sources
+<p>The linear algebra routines in R make use of <abbr class="acronym">BLAS</abbr> (Basic
+Linear Algebra Subprograms, <a class="uref" href="https://netlib.org/blas/faq.html">https://netlib.org/blas/faq.html</a>)
+routines, and most make use of routines from <abbr class="acronym">LAPACK</abbr> (Linear
+Algebra PACKage, <a class="uref" href="https://netlib.org/lapack/">https://netlib.org/lapack/</a>).  The R sources
 contain reference (Fortran) implementations of these, but they can be
 replaced by external libraries, usually those tuned for speed on
 specific CPUs.  These libraries normally contain all of the pre-2025
@@ -3715,33 +3711,33 @@
 </p>
 <p>Note that the alternative implementations will not give identical
 numeric results.  Some differences may be benign (such the signs of
-<abbr>SVD</abbr>s and eigenvectors), but the optimized routines can be less
+<abbr class="abbr">SVD</abbr>s and eigenvectors), but the optimized routines can be less
 accurate and (particularly for LAPACK) can be from older versions with
 fewer corrections.  Moreover, R relies on
-<acronym>ISO</acronym>/<acronym>IEC</acronym>&nbsp;60559 compliance.  This can be broken
+<abbr class="acronym">ISO</abbr>/<abbr class="acronym">IEC</abbr>&nbsp;60559 compliance.  This can be broken
 if for example the code assumes that terms with a zero factor are always
-zero and do not need to be computed&mdash;whereas <code>x*0</code> can be
-<code>NaN</code>.  The internal BLAS used to be extensively patched to avoid
+zero and do not need to be computed&mdash;whereas <code class="code">x*0</code> can be
+<code class="code">NaN</code>.  The internal BLAS used to be extensively patched to avoid
 this whereas MKL&rsquo;s documentation has warned
-</p><blockquote>
+</p><blockquote class="quotation">
 <p>LAPACK routines assume that input matrices do not contain IEEE 754
 special values such as INF or NaN values. Using these special values may
 cause LAPACK to return unexpected results or become unstable.
 </p></blockquote>
 
 <p>Some of the external libraries are multi-threaded.  One issue is
-that R profiling (which uses the <code>SIGPROF</code> signal) may cause
+that R profiling (which uses the <code class="code">SIGPROF</code> signal) may cause
 problems, and you may want to disable profiling if you use a
-multi-threaded <acronym>BLAS</acronym>.  Note that using a multi-threaded
-<acronym>BLAS</acronym> can result in taking more <acronym>CPU</acronym> time and even
+multi-threaded <abbr class="acronym">BLAS</abbr>.  Note that using a multi-threaded
+<abbr class="acronym">BLAS</abbr> can result in taking more <abbr class="acronym">CPU</abbr> time and even
 more elapsed time (occasionally dramatically so) than using a similar
-single-threaded <acronym>BLAS</acronym>.  On a machine running other tasks, there
+single-threaded <abbr class="acronym">BLAS</abbr>.  On a machine running other tasks, there
 can be contention for CPU caches that reduces the effectiveness of the
-optimization of cache use by a <acronym>BLAS</acronym> implementation: some
+optimization of cache use by a <abbr class="acronym">BLAS</abbr> implementation: some
 people warn that this is especially problematic for hyper-threaded CPUs.
 </p>
 <p>BLAS and LAPACK routines may be used inside threaded code, for example
-in <abbr>OpenMP</abbr> sections in packages such as <a href="https://CRAN.R-project.org/package=mgcv"><strong>mgcv</strong></a>.  The reference
+in <abbr class="abbr">OpenMP</abbr> sections in packages such as <a class="url" href="https://CRAN.R-project.org/package=mgcv"><strong class="strong">mgcv</strong></a>.  The reference
 implementations are thread-safe but external ones may not be (even
 single-threaded ones): this can lead to hard-to-track-down incorrect
 results or segfaults.
@@ -3755,39 +3751,39 @@
 R&nbsp;4.5.0 is expected to be the last update.
 </p>
 <hr>
-<div class="subsection" id="BLAS">
-<span id="BLAS-1"></span><h4 class="subsection">A.3.1 BLAS</h4>
+<div class="subsection-level-extent" id="BLAS">
+<h4 class="subsection" id="BLAS-1"><span>A.3.1 BLAS<a class="copiable-link" href="#BLAS-1"> &para;</a></span></h4>
 
 <p>An external BLAS library has to be explicitly requested at configure
 time.
 </p>
-<p><strong>NB:</strong> For decades<a id="DOCF63" href="#FOOT63"><sup>63</sup></a> the set
+<p><strong class="strong">NB:</strong> For decades<a class="footnote" id="DOCF63" href="#FOOT63"><sup>63</sup></a> the set
 of BLAS routines was unchanged: this changed in Jan 2025 when routines
-such as <code>dgemmtr</code> were added as part of LAPACK 3.12.1 and used in
+such as <code class="code">dgemmtr</code> were added as part of LAPACK 3.12.1 and used in
 some low-level LAPACK routines.  This complicates the idea of swapping
-external <acronym>BLAS</acronym>es.
+external <abbr class="acronym">BLAS</abbr>es.
 </p>
-<p>You can specify a particular <acronym>BLAS</acronym> library <em>via</em> a value
-for the configuration option <samp>--with-blas</samp>.  If this is given
-with no <code>=</code>, its value is taken from the
-<span id="index-BLAS_005fLIBS"></span>
-environment variable <code>BLAS_LIBS</code>, set for example in
-<samp>config.site</samp>.  If neither the option nor the environment variable
-supply a value, a search is made for a suitable<a id="DOCF64" href="#FOOT64"><sup>64</sup></a> <acronym>BLAS</acronym>.  If the
+<p>You can specify a particular <abbr class="acronym">BLAS</abbr> library <em class="emph">via</em> a value
+for the configuration option <samp class="option">--with-blas</samp>.  If this is given
+with no <code class="code">=</code>, its value is taken from the
+<a class="index-entry-id" id="index-BLAS_005fLIBS"></a>
+environment variable <code class="env">BLAS_LIBS</code>, set for example in
+<samp class="file">config.site</samp>.  If neither the option nor the environment variable
+supply a value, a search is made for a suitable<a class="footnote" id="DOCF64" href="#FOOT64"><sup>64</sup></a> <abbr class="acronym">BLAS</abbr>.  If the
 value is not obviously a linker command (starting with a dash or giving
-the path to a library), it is prefixed by &lsquo;<samp>-l</samp>&rsquo;, so
+the path to a library), it is prefixed by &lsquo;<samp class="samp">-l</samp>&rsquo;, so
 </p>
 <div class="example">
-<pre class="example">--with-blas=&quot;foo&quot;
+<pre class="example-preformatted">--with-blas=&quot;foo&quot;
 </pre></div>
 
-<p>is an instruction to link against &lsquo;<samp>-lfoo</samp>&rsquo; to find an external
-<acronym>BLAS</acronym> (which needs to be found both at link time and run time).
+<p>is an instruction to link against &lsquo;<samp class="samp">-lfoo</samp>&rsquo; to find an external
+<abbr class="acronym">BLAS</abbr> (which needs to be found both at link time and run time).
 </p>
-<p>The configure code checks that the external <acronym>BLAS</acronym> is complete
+<p>The configure code checks that the external <abbr class="acronym">BLAS</abbr> is complete
 (as of LAPACK 3.9.1: it must include all double precision and double
-complex routines, as well as <code>LSAME</code>), and appears to be usable.
-However, an external <acronym>BLAS</acronym> has to be usable from a shared
+complex routines, as well as <code class="code">LSAME</code>), and appears to be usable.
+However, an external <abbr class="acronym">BLAS</abbr> has to be usable from a shared
 object (so must contain position-independent code), and that is not
 checked.  Also, the BLAS can be switched after configure is run, either
 as a symbolic link or by the mechanisms mentioned below, and this can
@@ -3795,86 +3791,86 @@
 </p>
 
 <p>Note that under Unix (but not under Windows) if R is compiled against
-a non-default <acronym>BLAS</acronym> and <samp>--enable-BLAS-shlib</samp> is
-<strong>not</strong> used (it is the default on all platforms except <abbr>AIX</abbr>), then
-all <acronym>BLAS</acronym>-using packages must also be.  So if R is re-built
-to use an enhanced <acronym>BLAS</acronym> then packages such as
-<a href="https://CRAN.R-project.org/package=quantreg"><strong>quantreg</strong></a> will need to be re-installed.
+a non-default <abbr class="acronym">BLAS</abbr> and <samp class="option">--enable-BLAS-shlib</samp> is
+<strong class="strong">not</strong> used (it is the default on all platforms except <abbr class="abbr">AIX</abbr>), then
+all <abbr class="acronym">BLAS</abbr>-using packages must also be.  So if R is re-built
+to use an enhanced <abbr class="acronym">BLAS</abbr> then packages such as
+<a class="url" href="https://CRAN.R-project.org/package=quantreg"><strong class="strong">quantreg</strong></a> will need to be re-installed.
 </p>
 <p>Debian/Ubuntu systems provide a system-specific way to switch the BLAS
-in use: Build R with <samp>--with-blas</samp> to select the OS version of
-the reference BLAS, and then use <code>update-alternatives</code> to switch
+in use: Build R with <samp class="option">--with-blas</samp> to select the OS version of
+the reference BLAS, and then use <code class="command">update-alternatives</code> to switch
 between the available BLAS libraries.  See
-<a href="https://wiki.debian.org/DebianScience/LinearAlgebraLibraries">https://wiki.debian.org/DebianScience/LinearAlgebraLibraries</a>.
+<a class="uref" href="https://wiki.debian.org/DebianScience/LinearAlgebraLibraries">https://wiki.debian.org/DebianScience/LinearAlgebraLibraries</a>.
 (ATLAS, MKL and OpenBLAS alternatives are currently available.)
 </p>
 <p>Fedora 33 and later offer &lsquo;FlexiBLAS&rsquo;, a similar mechanism for
 switching the BLAS in use
-(<a href="https://www.mpi-magdeburg.mpg.de/projects/flexiblas">https://www.mpi-magdeburg.mpg.de/projects/flexiblas</a>).  Rather
-than overriding <code>libblas</code>, this requires configuring R with
-option <samp>--with-blas=flexiblas</samp>.  &lsquo;Backend&rsquo; wrappers are available
-for the reference BLAS, ATLAS and serial, threaded and <abbr>OpenMP</abbr>
-builds of OpenBLAS and BLIS, and perhaps others<a id="DOCF65" href="#FOOT65"><sup>65</sup></a>.  This can be controlled
-from a running R session by package <a href="https://CRAN.R-project.org/package=flexiblas"><strong>flexiblas</strong></a>.
+(<a class="uref" href="https://www.mpi-magdeburg.mpg.de/projects/flexiblas">https://www.mpi-magdeburg.mpg.de/projects/flexiblas</a>).  Rather
+than overriding <code class="code">libblas</code>, this requires configuring R with
+option <samp class="option">--with-blas=flexiblas</samp>.  &lsquo;Backend&rsquo; wrappers are available
+for the reference BLAS, ATLAS and serial, threaded and <abbr class="abbr">OpenMP</abbr>
+builds of OpenBLAS and BLIS, and perhaps others<a class="footnote" id="DOCF65" href="#FOOT65"><sup>65</sup></a>.  This can be controlled
+from a running R session by package <a class="url" href="https://CRAN.R-project.org/package=flexiblas"><strong class="strong">flexiblas</strong></a>.
 </p>
 <p>BLAS implementations which use parallel computations can be
 non-deterministic: this is known for ATLAS.
 </p>
 
 <hr>
-<div class="subsubsection" id="ATLAS">
-<span id="ATLAS-1"></span><h4 class="subsubsection">A.3.1.1 ATLAS</h4>
+<div class="subsubsection-level-extent" id="ATLAS">
+<h4 class="subsubsection" id="ATLAS-1"><span>A.3.1.1 ATLAS<a class="copiable-link" href="#ATLAS-1"> &para;</a></span></h4>
 
-<p>ATLAS (<a href="https://math-atlas.sourceforge.net/">https://math-atlas.sourceforge.net/</a>) is a &ldquo;tuned&rdquo;
-<acronym>BLAS</acronym> that runs on a wide range of Unix-alike Intel platforms and can
+<p>ATLAS (<a class="uref" href="https://math-atlas.sourceforge.net/">https://math-atlas.sourceforge.net/</a>) is a &ldquo;tuned&rdquo;
+<abbr class="acronym">BLAS</abbr> that runs on a wide range of Unix-alike Intel platforms and can
 be used on Windows.  At the time of writing it had last been updated in
 2018 (in an unreleased &lsquo;developer (unstable)&rsquo; branch).
 </p>
 <p>Unfortunately it is built by default as a static library that on some
 platforms may not be able to be used with shared objects such as are
 used in R packages.  Be careful when using pre-built versions of
-ATLAS static libraries (they seem to work on &lsquo;<samp>ix86</samp>&rsquo; platforms,
-but not always on &lsquo;<samp>x86_64</samp>&rsquo; ones).
+ATLAS static libraries (they seem to work on &lsquo;<samp class="samp">ix86</samp>&rsquo; platforms,
+but not always on &lsquo;<samp class="samp">x86_64</samp>&rsquo; ones).
 </p>
 <p>ATLAS contains replacements for a small number of LAPACK routines, but
 can be built to merge these with the reference LAPACK sources to include
 a full LAPACK library.
 </p>
 <p>Recent versions of ATLAS can be built as a single shared library, either
-<code>libsatlas</code> or <code>libtatlas</code> (serial or threaded respectively):
+<code class="code">libsatlas</code> or <code class="code">libtatlas</code> (serial or threaded respectively):
 these may even contain a full LAPACK.  Such builds can be used by one of
 </p><div class="example">
-<pre class="example">--with-blas=satlas
+<pre class="example-preformatted">--with-blas=satlas
 --with-blas=tatlas
 </pre></div>
-<p>or, as on &lsquo;<samp>x86_64</samp>&rsquo; Fedora where a path needs to be specified,
+<p>or, as on &lsquo;<samp class="samp">x86_64</samp>&rsquo; Fedora where a path needs to be specified,
 </p><div class="example">
-<pre class="example">--with-blas=&quot;-L/usr/lib64/atlas -lsatlas&quot;
+<pre class="example-preformatted">--with-blas=&quot;-L/usr/lib64/atlas -lsatlas&quot;
 --with-blas=&quot;-L/usr/lib64/atlas -ltatlas&quot;
 </pre></div>
 <p>Distributed ATLAS libraries cannot be tuned to your machine and so are a
-compromise: for example, when checked Fedora tuned<a id="DOCF66" href="#FOOT66"><sup>66</sup></a> &lsquo;<samp>x86_64</samp>&rsquo; <abbr>RPM</abbr>s for
-CPUs with SSE3 extensions, and separate <abbr>RPM</abbr>s may be available for
+compromise: for example, when checked Fedora tuned<a class="footnote" id="DOCF66" href="#FOOT66"><sup>66</sup></a> &lsquo;<samp class="samp">x86_64</samp>&rsquo; <abbr class="abbr">RPM</abbr>s for
+CPUs with SSE3 extensions, and separate <abbr class="abbr">RPM</abbr>s may be available for
 specific CPU families.
 </p>
 <p>Note that building R on Linux against distributed shared libraries
-may need &lsquo;<samp>-devel</samp>&rsquo; or &lsquo;<samp>-dev</samp>&rsquo; packages installed.
+may need &lsquo;<samp class="samp">-devel</samp>&rsquo; or &lsquo;<samp class="samp">-dev</samp>&rsquo; packages installed.
 </p>
 <p>Linking against multiple static libraries requires one of
 </p><div class="example">
-<pre class="example">--with-blas=&quot;-lf77blas -latlas&quot;
+<pre class="example-preformatted">--with-blas=&quot;-lf77blas -latlas&quot;
 --with-blas=&quot;-lptf77blas -lpthread -latlas&quot;
 --with-blas=&quot;-L/path/to/ATLAS/libs -lf77blas -latlas&quot;
 --with-blas=&quot;-L/path/to/ATLAS/libs -lptf77blas -lpthread -latlas&quot;
 </pre></div>
 
 <p>Consult its installation
-guide<a id="DOCF67" href="#FOOT67"><sup>67</sup></a>
+guide<a class="footnote" id="DOCF67" href="#FOOT67"><sup>67</sup></a>
 for how to build ATLAS as a shared library or as a static library with
 position-independent code (on platforms where that matters).
 </p>
 <p>According to the ATLAS
-FAQ<a id="DOCF68" href="#FOOT68"><sup>68</sup></a> the
+FAQ<a class="footnote" id="DOCF68" href="#FOOT68"><sup>68</sup></a> the
 maximum number of threads used by multi-threaded ATLAS is set at compile
 time.  Also, the author advises against using multi-threaded ATLAS on
 hyper-threaded CPUs without restricting affinities at compile-time to one
@@ -3883,66 +3879,66 @@
 </p>
 <hr>
 </div>
-<div class="subsubsection" id="OpenBLAS-and-BLIS">
-<span id="OpenBLAS-and-BLIS-1"></span><h4 class="subsubsection">A.3.1.2 OpenBLAS and BLIS</h4>
+<div class="subsubsection-level-extent" id="OpenBLAS-and-BLIS">
+<h4 class="subsubsection" id="OpenBLAS-and-BLIS-1"><span>A.3.1.2 OpenBLAS and BLIS<a class="copiable-link" href="#OpenBLAS-and-BLIS-1"> &para;</a></span></h4>
 
-<p>Dr Kazushige Goto wrote a tuned <acronym>BLAS</acronym> for several
+<p>Dr Kazushige Goto wrote a tuned <abbr class="acronym">BLAS</abbr> for several
 processors and OSes, which was frozen in 2010.  OpenBLAS
-(<a href="http://www.openmathlib.org/OpenBLAS/">http://www.openmathlib.org/OpenBLAS/</a>) is a descendant project
+(<a class="uref" href="http://www.openmathlib.org/OpenBLAS/">http://www.openmathlib.org/OpenBLAS/</a>) is a descendant project
 with support for some later CPUs, covering some from Intel/AMD, Arm,
 MIPS and RISC-V.
 </p>
 <p>This can be used by configuring R with something like
 </p>
 <div class="example">
-<pre class="example">--with-blas=&quot;openblas&quot;
+<pre class="example-preformatted">--with-blas=&quot;openblas&quot;
 </pre></div>
 
-<p>See see <a href="#Shared-BLAS">Shared BLAS</a> for an alternative (and in many ways preferable)
+<p>See see <a class="pxref" href="#Shared-BLAS">Shared BLAS</a> for an alternative (and in many ways preferable)
 way to use it.
 </p>
 <p>Some platforms provide multiple builds of OpenBLAS: for example Fedora
-has <abbr>RPM</abbr>s<a id="DOCF69" href="#FOOT69"><sup>69</sup></a>
+has <abbr class="abbr">RPM</abbr>s<a class="footnote" id="DOCF69" href="#FOOT69"><sup>69</sup></a>
 </p><div class="example">
-<pre class="example">openblas
+<pre class="example-preformatted">openblas
 openblas-threads
 openblas-openmp
 </pre></div>
 <p>providing shared libraries
 </p><div class="example">
-<pre class="example">libopenblas.so
+<pre class="example-preformatted">libopenblas.so
 libopenblasp.so
 libopenblaso.so
 </pre></div>
 <p>respectively, each of which can be used as a shared BLAS.  For the
 second and third the number of threads is controlled by
-<code>OPENBLAS_NUM_THREADS</code> and <code>OMP_NUM_THREADS</code> (as usual for
-<abbr>OpenMP</abbr>) respectively.
+<code class="env">OPENBLAS_NUM_THREADS</code> and <code class="env">OMP_NUM_THREADS</code> (as usual for
+<abbr class="abbr">OpenMP</abbr>) respectively.
 </p>
 <p>These and their Debian equivalents contain a complete LAPACK
 implementation: that is the default for a build from the sources.
 </p>
 <p>Note that building R on Linux against distributed libraries may need
-&lsquo;<samp>-devel</samp>&rsquo; or &lsquo;<samp>-dev</samp>&rsquo; packages installed.
+&lsquo;<samp class="samp">-devel</samp>&rsquo; or &lsquo;<samp class="samp">-dev</samp>&rsquo; packages installed.
 </p>
-<p>For &lsquo;<samp>ix86</samp>&rsquo; and &lsquo;<samp>x86_64</samp>&rsquo; CPUs most distributed libraries
+<p>For &lsquo;<samp class="samp">ix86</samp>&rsquo; and &lsquo;<samp class="samp">x86_64</samp>&rsquo; CPUs most distributed libraries
 contain several alternatives for different CPU microarchitectures with
 the choice being made at run time.
 </p>
-<p>OpenBLAS provides <code>dgemmtr</code> as from version 0.3.29.
+<p>OpenBLAS provides <code class="code">dgemmtr</code> as from version 0.3.29.
 </p>
 <p>Another descendant project is BLIS
-(<a href="https://github.com/flame/blis">https://github.com/flame/blis</a>).  This has (in Fedora) shared
+(<a class="uref" href="https://github.com/flame/blis">https://github.com/flame/blis</a>).  This has (in Fedora) shared
 libraries
 </p><div class="example">
-<pre class="example">libblis.so
+<pre class="example-preformatted">libblis.so
 libblisp.so
 libbliso.so
 </pre></div>
-<p>(<code>p</code> for &lsquo;threads&rsquo;, <code>o</code> for <abbr>OpenMP</abbr> as for OpenBLAS) which can
+<p>(<code class="code">p</code> for &lsquo;threads&rsquo;, <code class="code">o</code> for <abbr class="abbr">OpenMP</abbr> as for OpenBLAS) which can
 also be used as a shared BLAS.  The Fedora builds do not include LAPACK
 in the BLIS libraries and so cannot currently be used with internal
-LAPACK as they do not provide <code>dgemmtr</code>.
+LAPACK as they do not provide <code class="code">dgemmtr</code>.
 </p>
 <p>AMD maintain a branch of BLIS optimized for their CPUS called
 AOCL.
@@ -3950,79 +3946,79 @@
 
 <hr>
 </div>
-<div class="subsubsection" id="MKL">
-<span id="Intel-MKL"></span><h4 class="subsubsection">A.3.1.3 Intel MKL</h4>
+<div class="subsubsection-level-extent" id="MKL">
+<h4 class="subsubsection" id="Intel-MKL"><span>A.3.1.3 Intel MKL<a class="copiable-link" href="#Intel-MKL"> &para;</a></span></h4>
 <p>For Intel processors (and perhaps others) and some distributions of
-Linux, there is Intel&rsquo;s Math Kernel Library<a id="DOCF70" href="#FOOT70"><sup>70</sup></a>.  You are
+Linux, there is Intel&rsquo;s Math Kernel Library<a class="footnote" id="DOCF70" href="#FOOT70"><sup>70</sup></a>.  You are
 encouraged to read the documentation which is installed with the library
 before attempting to link to MKL.  This includes a &lsquo;link line advisor&rsquo;
 which will suggest appropriate incantations: its use is recommended.  Or
 see
-<a href="https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-link-line-advisor.html#gs.vpt6qp">https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-link-line-advisor.html#gs.vpt6qp</a>
+<a class="uref" href="https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-link-line-advisor.html#gs.vpt6qp">https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-link-line-advisor.html#gs.vpt6qp</a>
 (which at the time of writing selected the Intel library for linking with
 GCC).
 </p>
-<p>There are also versions of MKL for macOS<a id="DOCF71" href="#FOOT71"><sup>71</sup></a> and Windows, but when
+<p>There are also versions of MKL for macOS<a class="footnote" id="DOCF71" href="#FOOT71"><sup>71</sup></a> and Windows, but when
 these have been tried they did not work with the default compilers used
 for R on those platforms.
 </p>
 <p>The following examples have been used with MKL versions 10.3 to
-2023.2.0, for GCC compilers on &lsquo;<samp>x86_64</samp>&rsquo; CPUs.  (See also
-<a href="#Intel-compilers">Intel compilers</a>.)
+2023.2.0, for GCC compilers on &lsquo;<samp class="samp">x86_64</samp>&rsquo; CPUs.  (See also
+<a class="ref" href="#Intel-compilers">Intel compilers</a>.)
 </p>
 <p>To use a sequential version of MKL we used
 </p>
 <div class="example">
-<pre class="example">MKL_LIB_PATH=/path/to/intel_mkl/mkl/lib/intel64
+<pre class="example-preformatted">MKL_LIB_PATH=/path/to/intel_mkl/mkl/lib/intel64
 export LD_LIBRARY_PATH=$MKL_LIB_PATH
 MKL=&quot;-L${MKL_LIB_PATH} -lmkl_gf_lp64 -lmkl_core -lmkl_sequential&quot;
 ./configure --with-blas=&quot;$MKL&quot; --with-lapack
 </pre></div>
 
-<p>The option <samp>--with-lapack</samp> is used since MKL contains a tuned
+<p>The option <samp class="option">--with-lapack</samp> is used since MKL contains a tuned
 copy of LAPACK (often older than the current version) as well as the
-<acronym>BLAS</acronym> (see <a href="#LAPACK">LAPACK</a>).  Also, it does not at the time of
-writing contain the BLAS functions such as <code>dgemmtr</code> and so to
+<abbr class="acronym">BLAS</abbr> (see <a class="pxref" href="#LAPACK">LAPACK</a>).  Also, it does not at the time of
+writing contain the BLAS functions such as <code class="code">dgemmtr</code> and so to
 be used with LAPACK 3.12.1 included in R 4.5.0 and later needs R
-configured with <samp>--with-2025blas</samp>.
+configured with <samp class="option">--with-2025blas</samp>.
 </p>
 <p>Threaded MKL may be used by replacing the line defining the variable
-<code>MKL</code> by
+<code class="code">MKL</code> by
 </p>
 <div class="example">
-<pre class="example">MKL=&quot;-L${MKL_LIB_PATH} -lmkl_gf_lp64 -lmkl_core \
+<pre class="example-preformatted">MKL=&quot;-L${MKL_LIB_PATH} -lmkl_gf_lp64 -lmkl_core \
      -lmkl_gnu_thread -dl -fopenmp&quot;
 </pre></div>
 
 <p>R can also be linked against a single shared library,
-<code>libmkl_rt.so</code>, for both BLAS and LAPACK, but the correct <abbr>OpenMP</abbr> and
+<code class="code">libmkl_rt.so</code>, for both BLAS and LAPACK, but the correct <abbr class="abbr">OpenMP</abbr> and
 MKL interface layer then has to be selected via environment variables.  With
 64-bit builds and the GCC compilers, we used
 </p>
 <div class="example">
-<pre class="example">export MKL_INTERFACE_LAYER=GNU,LP64 
+<pre class="example-preformatted">export MKL_INTERFACE_LAYER=GNU,LP64 
 export MKL_THREADING_LAYER=GNU
 </pre></div>
 
-<p>On Debian/Ubuntu, MKL is provided by package <code>intel-mkl-full</code> and one
-can set <code>libmkl_rt.so</code> as the system-wide implementation of both BLAS
+<p>On Debian/Ubuntu, MKL is provided by package <code class="code">intel-mkl-full</code> and one
+can set <code class="code">libmkl_rt.so</code> as the system-wide implementation of both BLAS
 and LAPACK during installation of the package, so that also R installed
-from Debian/Ubuntu package <code>r-base</code> would use it.  It is, however,
-still essential to set <code>MKL_INTERFACE_LAYER</code> and
-<code>MKL_THREADING_LAYER</code> before running R, otherwise MKL computations
+from Debian/Ubuntu package <code class="code">r-base</code> would use it.  It is, however,
+still essential to set <code class="code">MKL_INTERFACE_LAYER</code> and
+<code class="code">MKL_THREADING_LAYER</code> before running R, otherwise MKL computations
 will produce incorrect results. R does not have to be rebuilt to use MKL,
-but <code>configure</code> includes tests which may discover some errors such as a
-failure to set the correct <abbr>OpenMP</abbr> and MKL interface layer.
+but <code class="code">configure</code> includes tests which may discover some errors such as a
+failure to set the correct <abbr class="abbr">OpenMP</abbr> and MKL interface layer.
 </p>
 <p>Note that the Debian/Ubuntu distribution can be quite old (for example
-<code>2020.4</code> in mid-2023 when <code>2023.1</code> was current): this can be
+<code class="code">2020.4</code> in mid-2023 when <code class="code">2023.1</code> was current): this can be
 important for the LAPACK version included.
 </p>
-<p>The default number of threads will be chosen by the <abbr>OpenMP</abbr> software, but
-can be controlled by setting <code>OMP_NUM_THREADS</code> or
-<code>MKL_NUM_THREADS</code>, and in recent versions seems to default to a
+<p>The default number of threads will be chosen by the <abbr class="abbr">OpenMP</abbr> software, but
+can be controlled by setting <code class="code">OMP_NUM_THREADS</code> or
+<code class="code">MKL_NUM_THREADS</code>, and in recent versions seems to default to a
 sensible value for sole use of the machine.  (Parallel MKL has not
-always passed <code>make check-all</code>, but did with MKL 2019.4 and later.)
+always passed <code class="command">make check-all</code>, but did with MKL 2019.4 and later.)
 </p>
 <p>MKL includes a partial implementation of FFTW3, which causes trouble
 for applications that require some of the FFTW3 functionality
@@ -4031,10 +4027,10 @@
 MKL which excludes the FFTW3 wrappers.
 </p>
 <p>There is Intel documentation for building R with MKL at
-<a href="https://www.intel.com/content/www/us/en/developer/articles/technical/using-onemkl-with-r.html">https://www.intel.com/content/www/us/en/developer/articles/technical/using-onemkl-with-r.html</a>:
+<a class="uref" href="https://www.intel.com/content/www/us/en/developer/articles/technical/using-onemkl-with-r.html">https://www.intel.com/content/www/us/en/developer/articles/technical/using-onemkl-with-r.html</a>:
 that includes
 </p><div class="example">
-<pre class="example">-Wl,--no-as-needed
+<pre class="example-preformatted">-Wl,--no-as-needed
 </pre></div>
 <p>which we have not found necessary.
 </p>
@@ -4043,76 +4039,76 @@
 
 <hr>
 </div>
-<div class="subsubsection" id="Shared-BLAS">
-<span id="Shared-BLAS-1"></span><h4 class="subsubsection">A.3.1.4 Shared BLAS</h4>
+<div class="subsubsection-level-extent" id="Shared-BLAS">
+<h4 class="subsubsection" id="Shared-BLAS-1"><span>A.3.1.4 Shared BLAS<a class="copiable-link" href="#Shared-BLAS-1"> &para;</a></span></h4>
 
-<p>The <acronym>BLAS</acronym> library will be used for many of the add-on packages
+<p>The <abbr class="acronym">BLAS</abbr> library will be used for many of the add-on packages
 as well as for R itself.  This means that it is better to use a
-shared/dynamic <acronym>BLAS</acronym> library, as most of a static library will
-be compiled into the R executable and each <acronym>BLAS</acronym>-using
+shared/dynamic <abbr class="acronym">BLAS</abbr> library, as most of a static library will
+be compiled into the R executable and each <abbr class="acronym">BLAS</abbr>-using
 package.
 </p>
-<p>R offers the option of compiling the <acronym>BLAS</acronym> into a dynamic
-library <code>libRblas</code> stored in <samp><var>R_HOME</var>/lib</samp> and linking
+<p>R offers the option of compiling the <abbr class="acronym">BLAS</abbr> into a dynamic
+library <code class="code">libRblas</code> stored in <samp class="file"><var class="var">R_HOME</var>/lib</samp> and linking
 both R itself and all the add-on packages against that library.
 </p>
-<p>This is the default on all platforms except <abbr>AIX</abbr> unless an external
-<acronym>BLAS</acronym> is specified and found: for the latter it can be used by
-specifying the option <samp>--enable-BLAS-shlib</samp>, and it can always be
-disabled via <samp>--disable-BLAS-shlib</samp>.
+<p>This is the default on all platforms except <abbr class="abbr">AIX</abbr> unless an external
+<abbr class="acronym">BLAS</abbr> is specified and found: for the latter it can be used by
+specifying the option <samp class="option">--enable-BLAS-shlib</samp>, and it can always be
+disabled via <samp class="option">--disable-BLAS-shlib</samp>.
 </p>
 <p>This has both advantages and disadvantages.
 </p>
-<ul>
-<li> It saves space by having only a single copy of the <acronym>BLAS</acronym>
-routines, which is helpful if there is an external static <acronym>BLAS</acronym>
+<ul class="itemize mark-bullet">
+<li>It saves space by having only a single copy of the <abbr class="acronym">BLAS</abbr>
+routines, which is helpful if there is an external static <abbr class="acronym">BLAS</abbr>
 (as used to be standard for ATLAS).
 
-</li><li> There may be performance disadvantages in using a shared <acronym>BLAS</acronym>.
-Probably the most likely is when R&rsquo;s internal <acronym>BLAS</acronym> is used
-and R is <em>not</em> built as a shared library, when it is possible to
-build the <acronym>BLAS</acronym> into <samp>R.bin</samp> (and <samp>libR.a</samp>) without
+</li><li>There may be performance disadvantages in using a shared <abbr class="acronym">BLAS</abbr>.
+Probably the most likely is when R&rsquo;s internal <abbr class="acronym">BLAS</abbr> is used
+and R is <em class="emph">not</em> built as a shared library, when it is possible to
+build the <abbr class="acronym">BLAS</abbr> into <samp class="file">R.bin</samp> (and <samp class="file">libR.a</samp>) without
 using position-independent code.  However, experiments showed that in
-many cases using a shared <acronym>BLAS</acronym> was as fast, provided high
+many cases using a shared <abbr class="acronym">BLAS</abbr> was as fast, provided high
 levels of compiler optimization are used.
 
-</li><li> It is easy to change the <acronym>BLAS</acronym> without needing to re-install
+</li><li>It is easy to change the <abbr class="acronym">BLAS</abbr> without needing to re-install
 R and all the add-on packages, since all references to the
-<acronym>BLAS</acronym> go through <code>libRblas</code>, and that can be replaced.
+<abbr class="acronym">BLAS</abbr> go through <code class="code">libRblas</code>, and that can be replaced.
 Note though that any dynamic libraries the replacement links to will
 need to be found by the linker: this may need the library path to be
-changed in <samp><var>R_HOME</var>/etc/ldpaths</samp>.
+changed in <samp class="file"><var class="var">R_HOME</var>/etc/ldpaths</samp>.
 
 <p>This because less easy in 2025: swapping the BLAS is only possible to
 one compatible with the LAPACK in use.  For the LAPACK shipped with R
-4.5.0 that means one containing <code>dgemmtr</code> and <code>zgemmtr</code>, or
-configuring R with <samp>--with-2025blas</samp>.
+4.5.0 that means one containing <code class="code">dgemmtr</code> and <code class="code">zgemmtr</code>, or
+configuring R with <samp class="option">--with-2025blas</samp>.
 </p></li></ul>
 
-<p>Another option to change the <acronym>BLAS</acronym> in use is to symlink a
-single dynamic <acronym>BLAS</acronym> library to
-<samp><var>R_HOME</var>/lib/libRblas.so</samp>.  For example, just
+<p>Another option to change the <abbr class="acronym">BLAS</abbr> in use is to symlink a
+single dynamic <abbr class="acronym">BLAS</abbr> library to
+<samp class="file"><var class="var">R_HOME</var>/lib/libRblas.so</samp>.  For example, just
 </p>
 <div class="example">
-<pre class="example">mv <var>R_HOME</var>/lib/libRblas.so <var>R_HOME</var>/lib/libRblas.so.keep
-ln -s /usr/lib64/libopenblasp.so.0 <var>R_HOME</var>/lib/libRblas.so
+<pre class="example-preformatted">mv <var class="var">R_HOME</var>/lib/libRblas.so <var class="var">R_HOME</var>/lib/libRblas.so.keep
+ln -s /usr/lib64/libopenblasp.so.0 <var class="var">R_HOME</var>/lib/libRblas.so
 </pre></div>
 
-<p>on &lsquo;<samp>x86_64</samp>&rsquo; Fedora will change the <acronym>BLAS</acronym> used to
+<p>on &lsquo;<samp class="samp">x86_64</samp>&rsquo; Fedora will change the <abbr class="acronym">BLAS</abbr> used to
 multithreaded OpenBLAS.  A similar link works for most versions of the
-OpenBLAS (provided the appropriate <samp>lib</samp> directory is in the
-run-time library path or <code>ld.so</code> cache).  It can also be used
-for a single-library ATLAS, so on &lsquo;<samp>x86_64</samp>&rsquo; Fedora either of
+OpenBLAS (provided the appropriate <samp class="file">lib</samp> directory is in the
+run-time library path or <code class="command">ld.so</code> cache).  It can also be used
+for a single-library ATLAS, so on &lsquo;<samp class="samp">x86_64</samp>&rsquo; Fedora either of
 </p>
 <div class="example">
-<pre class="example">ln -s /usr/lib64/atlas/libsatlas.so.3 <var>R_HOME</var>/lib/libRblas.so
-ln -s /usr/lib64/atlas/libtatlas.so.3 <var>R_HOME</var>/lib/libRblas.so
+<pre class="example-preformatted">ln -s /usr/lib64/atlas/libsatlas.so.3 <var class="var">R_HOME</var>/lib/libRblas.so
+ln -s /usr/lib64/atlas/libtatlas.so.3 <var class="var">R_HOME</var>/lib/libRblas.so
 </pre></div>
 
 <p>can be used with its distributed ATLAS libraries.  (If you have the
-&lsquo;<samp>-devel</samp>&rsquo; <abbr>RPM</abbr>s installed you can omit the <code>.0</code>/<code>.3</code>.)
+&lsquo;<samp class="samp">-devel</samp>&rsquo; <abbr class="abbr">RPM</abbr>s installed you can omit the <code class="code">.0</code>/<code class="code">.3</code>.)
 </p>
-<p>Note that rebuilding or symlinking <samp>libRblas.so</samp> may not suffice
+<p>Note that rebuilding or symlinking <samp class="file">libRblas.so</samp> may not suffice
 if the intention is to use a modified LAPACK contained in an external
 BLAS: the latter could even cause conflicts.  However, on Fedora where
 the OpenBLAS distribution contains a copy of LAPACK, it is the latter
@@ -4122,76 +4118,76 @@
 <hr>
 </div>
 </div>
-<div class="subsection" id="LAPACK">
-<span id="LAPACK-1"></span><h4 class="subsection">A.3.2 LAPACK</h4>
+<div class="subsection-level-extent" id="LAPACK">
+<h4 class="subsection" id="LAPACK-1"><span>A.3.2 LAPACK<a class="copiable-link" href="#LAPACK-1"> &para;</a></span></h4>
 
-<span id="index-LAPACK-library"></span>
+<a class="index-entry-id" id="index-LAPACK-library"></a>
 
 <p>If when configuring R a system LAPACK library is found of version
 3.9.0 or later (and does not contain BLAS routines) it will be used
 instead of compiling the LAPACK code in the package sources.  This can
-be prevented by configuring R with <samp>--without-lapack</samp>.
-Using a static <samp>liblapack.a</samp> is not supported.
+be prevented by configuring R with <samp class="option">--without-lapack</samp>.
+Using a static <samp class="file">liblapack.a</samp> is not supported.
 </p>
-<p>It is assumed that <code>-llapack</code> is the reference LAPACK library but
+<p>It is assumed that <code class="code">-llapack</code> is the reference LAPACK library but
 on Debian/Ubuntu it can be switched, including after R is installed.
-On such a platform it is better to use <samp>--without-lapack</samp> or
-<samp>--with-blas --with-lapack</samp> (see below) explicitly.  The known
-examples<a id="DOCF72" href="#FOOT72"><sup>72</sup></a> of a
+On such a platform it is better to use <samp class="option">--without-lapack</samp> or
+<samp class="option">--with-blas --with-lapack</samp> (see below) explicitly.  The known
+examples<a class="footnote" id="DOCF72" href="#FOOT72"><sup>72</sup></a> of a
 non-reference LAPACK library found at installation all contain BLAS
-routines so are not used by a default <code>configure</code> run.
+routines so are not used by a default <code class="command">configure</code> run.
 </p>
 <p>Provision is made for specifying an external LAPACK library with option
-<samp>--with-lapack</samp>, principally to cope with <acronym>BLAS</acronym>
-libraries which contain a copy of LAPACK (such as <code>Accelerate</code> on
+<samp class="option">--with-lapack</samp>, principally to cope with <abbr class="acronym">BLAS</abbr>
+libraries which contain a copy of LAPACK (such as <code class="code">Accelerate</code> on
 macOS and some builds of ATLAS, FlexiBLAS, MKL and OpenBLAS on
-&lsquo;<samp>ix86</samp>&rsquo;/&lsquo;<samp>x86_64</samp>&rsquo; Linux).  At least LAPACK version 3.2 is
-required.  This can only be done if <samp>--with-blas</samp> has been used.
+&lsquo;<samp class="samp">ix86</samp>&rsquo;/&lsquo;<samp class="samp">x86_64</samp>&rsquo; Linux).  At least LAPACK version 3.2 is
+required.  This can only be done if <samp class="option">--with-blas</samp> has been used.
 </p>
 <p>However, the likely performance gains are thought to be small (and may
 be negative).  The default is not to search for a suitable LAPACK
-library, and this is definitely <strong>not</strong> recommended.  You can
+library, and this is definitely <strong class="strong">not</strong> recommended.  You can
 specify a specific LAPACK library or a search for a generic library by
-the configuration option <samp>--with-lapack</samp> without a value.  The
-default for <samp>--with-lapack</samp> is to check the <acronym>BLAS</acronym>
-library (for function <code>DPSTRF</code>) and then look for an external
-library &lsquo;<samp>-llapack</samp>&rsquo;.  Sites searching for the fastest possible
+the configuration option <samp class="option">--with-lapack</samp> without a value.  The
+default for <samp class="option">--with-lapack</samp> is to check the <abbr class="acronym">BLAS</abbr>
+library (for function <code class="code">DPSTRF</code>) and then look for an external
+library &lsquo;<samp class="samp">-llapack</samp>&rsquo;.  Sites searching for the fastest possible
 linear algebra may want to build a LAPACK library using the
 ATLAS-optimized subset of LAPACK.  Similarly, OpenBLAS can be built to
 contain an optimized subset of LAPACK or a full LAPACK (the latter
 seeming to be the default).
 </p>
-<p>A value for <samp>--with-lapack</samp> can be set <em>via</em> the environment
+<p>A value for <samp class="option">--with-lapack</samp> can be set <em class="emph">via</em> the environment
 variable
-<span id="index-LAPACK_005fLIBS"></span>
-<code>LAPACK_LIBS</code>, but this will only be used if <samp>--with-lapack</samp>
-is specified and the <acronym>BLAS</acronym> library does not contain LAPACK.
+<a class="index-entry-id" id="index-LAPACK_005fLIBS"></a>
+<code class="env">LAPACK_LIBS</code>, but this will only be used if <samp class="option">--with-lapack</samp>
+is specified and the <abbr class="acronym">BLAS</abbr> library does not contain LAPACK.
 </p>
-<p>Please bear in mind that using <samp>--with-lapack</samp> is provided
-<strong>only</strong> because it is necessary on some platforms and because some
+<p>Please bear in mind that using <samp class="option">--with-lapack</samp> is provided
+<strong class="strong">only</strong> because it is necessary on some platforms and because some
 users want to experiment with claimed performance improvements.  In
 practice its main uses are without a value,
 </p>
-<ul>
-<li> with an &lsquo;enhanced&rsquo; BLAS such as ATLAS, MKL or OpenBLAS which
+<ul class="itemize mark-bullet">
+<li>with an &lsquo;enhanced&rsquo; BLAS such as ATLAS, MKL or OpenBLAS which
 contains a full LAPACK (to avoid possible conflicts), or
 
-</li><li> When using an &lsquo;enhanced&rsquo; BLAS such as BLIS that does <strong>not</strong>
+</li><li>When using an &lsquo;enhanced&rsquo; BLAS such as BLIS that does <strong class="strong">not</strong>
 contain a full LAPACK and does not contain the LAPACK 3.12.1 additions
 to BLAS: then an external LAPACK version 3.12.0 or earlier is required.
 
-</li><li> on Debian/Ubuntu systems to select the system <code>liblapack</code> which can
+</li><li>on Debian/Ubuntu systems to select the system <code class="code">liblapack</code> which can
 be switched by the &lsquo;alternatives&rsquo; mechanism.
 </li></ul>
 
-<p>If building LAPACK from its Netlib sources, be aware that <code>make</code>
-with its supplied <samp>Makefile</samp> will make a <em>static</em> library and
-R requires a shared/dynamic one.  To get one, use <code>cmake</code> as
-documented briefly in <samp>README.md</samp>.  Something like (to build only
+<p>If building LAPACK from its Netlib sources, be aware that <code class="command">make</code>
+with its supplied <samp class="file">Makefile</samp> will make a <em class="emph">static</em> library and
+R requires a shared/dynamic one.  To get one, use <code class="command">cmake</code> as
+documented briefly in <samp class="file">README.md</samp>.  Something like (to build only
 the double and double complex subroutines with 32-bit array indices):
 </p>
 <div class="example">
-<pre class="example">mkdir build
+<pre class="example-preformatted">mkdir build
 cd build
 cmake \
 -DCMAKE_INSTALL_PREFIX=/where/you/want/to/install \
@@ -4205,55 +4201,55 @@
 </pre></div>
 <p>This builds the reference BLAS and the reference LAPACK linked to it.
 </p>
-<p>Note that <code>cmake</code> files do not provide an <code>uninstall</code>
-target, but file <samp>build/install_manifest.txt</samp> lists the files
-installed, so you can remove them <em>via</em> shell commands or from
+<p>Note that <code class="command">cmake</code> files do not provide an <code class="code">uninstall</code>
+target, but file <samp class="file">build/install_manifest.txt</samp> lists the files
+installed, so you can remove them <em class="emph">via</em> shell commands or from
 R.
 </p>
 <p>The original release of LAPACK 3.12.1 identifies itself as 3.12.0 (a
 bug).
 </p>
-<p>If using <samp>--with-lapack</samp> to get a reference (&lsquo;generic&rsquo;) LAPACK
+<p>If using <samp class="option">--with-lapack</samp> to get a reference (&lsquo;generic&rsquo;) LAPACK
 (or allowing the default to select one), consider also using
-<samp>--with-blas</samp> (with a path if an enhanced BLAS is installed).
+<samp class="option">--with-blas</samp> (with a path if an enhanced BLAS is installed).
 </p>
 <p>There is also &lsquo;RecursiveLAPACK&rsquo;
-(<a href="https://github.com/HPAC/ReLAPACK?tab=readme-ov-file">https://github.com/HPAC/ReLAPACK?tab=readme-ov-file</a>) which
+(<a class="uref" href="https://github.com/HPAC/ReLAPACK?tab=readme-ov-file">https://github.com/HPAC/ReLAPACK?tab=readme-ov-file</a>) which
 replaces some LAPACK routines.  (This is optionally used by OpenBLAS.)
 </p>
 
 <hr>
 </div>
-<div class="subsection" id="Caveats">
-<span id="Caveats-1"></span><h4 class="subsection">A.3.3 Caveats</h4>
+<div class="subsection-level-extent" id="Caveats">
+<h4 class="subsection" id="Caveats-1"><span>A.3.3 Caveats<a class="copiable-link" href="#Caveats-1"> &para;</a></span></h4>
 
 <p>As with all libraries, you need to ensure that they and R were
 compiled with compatible compilers and flags.  For example, this has
 meant that on Sun Sparc using the Oracle compilers the flag
-<samp>-dalign</samp> was needed if <code>sunperf</code> is to be used.
+<samp class="option">-dalign</samp> was needed if <code class="code">sunperf</code> is to be used.
 </p>
 <p>On some systems it has been necessary that an external
-<acronym>BLAS</acronym>/LAPACK was built with the same Fortran compiler used to
+<abbr class="acronym">BLAS</abbr>/LAPACK was built with the same Fortran compiler used to
 build R.
 </p>
 <p>BLAS and LAPACK libraries built with recent versions of
-<code>gfortran</code> require calls from C/C++ to handle &lsquo;hidden&rsquo; character
+<code class="command">gfortran</code> require calls from C/C++ to handle &lsquo;hidden&rsquo; character
 lengths &mdash; R itself does so but many packages used not to and some
 have segfaulted.  This was largely circumvented by using the Fortran
-flag <samp>-fno-optimize-sibling-calls</samp> (formerly set by
-<code>configure</code> if it detected <code>gfortran</code>&nbsp;7 or later):
+flag <samp class="option">-fno-optimize-sibling-calls</samp> (formerly set by
+<code class="command">configure</code> if it detected <code class="command">gfortran</code>&nbsp;7 or later):
 however use of the R headers which include those character-length
 arguments is no longer optional in packages.
 </p>
-<p>LAPACK 3.9.0 (and probably earlier) had a bug in which the <code>DCOMBSSQ</code>
+<p>LAPACK 3.9.0 (and probably earlier) had a bug in which the <code class="code">DCOMBSSQ</code>
 subroutine may cause NA to be interpreted as zero. This is fixed in the
 R 3.6.3 and later sources, but if you use an external LAPACK, you may
 need to fix it there. (The bug was corrected in 3.9.1 and the routine
 removed in 3.10.1.)
 </p>
-<p>The code (in <code>dlapack.f</code>) should read
+<p>The code (in <code class="code">dlapack.f</code>) should read
 </p><div class="example">
-<pre class="example">*     ..
+<pre class="example-preformatted">*     ..
 *     .. Executable Statements ..
 *
       IF( V1( 1 ).GE.V2( 1 ) ) THEN
@@ -4274,9 +4270,9 @@
 other bugs in the LAPACK sources (or in the posted corrections to those
 sources), seen several times in Linux distributions over the years.  We
 have even seen distributions with missing LAPACK routines from their
-<code>liblapack</code>.
+<code class="code">liblapack</code>.
 </p>
-<p>We rely on limited support in LAPACK for matrices with <em class='math'>2^{31}</em> or
+<p>We rely on limited support in LAPACK for matrices with <em class="math">2^{31}</em> or
 more elements: it is possible that an external LAPACK will not have that
 support.
 </p>
@@ -4286,101 +4282,101 @@
 </div>
 </div>
 </div>
-<div class="appendix" id="Configuration-on-a-Unix_002dalike">
-<span id="Configuration-on-a-Unix_002dalike-1"></span><h2 class="appendix">Appendix B Configuration on a Unix-alike</h2>
+<div class="appendix-level-extent" id="Configuration-on-a-Unix_002dalike">
+<h2 class="appendix" id="Configuration-on-a-Unix_002dalike-1"><span>Appendix B Configuration on a Unix-alike<a class="copiable-link" href="#Configuration-on-a-Unix_002dalike-1"> &para;</a></span></h2>
 
 
 <hr>
-<div class="section" id="Configuration-options">
-<span id="Configuration-options-1"></span><h3 class="section">B.1 Configuration options</h3>
+<div class="section-level-extent" id="Configuration-options">
+<h3 class="section" id="Configuration-options-1"><span>B.1 Configuration options<a class="copiable-link" href="#Configuration-options-1"> &para;</a></span></h3>
 
-<p><code>configure</code> has many options: running
+<p><code class="command">configure</code> has many options: running
 </p>
 <div class="example">
-<pre class="example">./configure --help
+<pre class="example-preformatted">./configure --help
 </pre></div>
 
 <p>will give a list.  Probably the most important ones not covered
 elsewhere are (defaults in brackets)
 </p>
-<dl compact="compact">
-<dt><span><samp>--with-x</samp></span></dt>
+<dl class="table">
+<dt><samp class="option">--with-x</samp></dt>
 <dd><p>use the X Window System [yes]
 </p></dd>
-<dt><span><samp>--x-includes=<var>DIR</var></samp></span></dt>
-<dd><p>X include files are in <var>DIR</var>
+<dt><samp class="option">--x-includes=<var class="var">DIR</var></samp></dt>
+<dd><p>X include files are in <var class="var">DIR</var>
 </p></dd>
-<dt><span><samp>--x-libraries=<var>DIR</var></samp></span></dt>
-<dd><p>X library files are in <var>DIR</var>
+<dt><samp class="option">--x-libraries=<var class="var">DIR</var></samp></dt>
+<dd><p>X library files are in <var class="var">DIR</var>
 </p></dd>
-<dt><span><samp>--with-readline</samp></span></dt>
+<dt><samp class="option">--with-readline</samp></dt>
 <dd><p>use readline library (if available) [yes]
 </p></dd>
-<dt><span><samp>--enable-R-profiling</samp></span></dt>
-<dd><p>attempt to compile support for <code>Rprof()</code> [yes]
+<dt><samp class="option">--enable-R-profiling</samp></dt>
+<dd><p>attempt to compile support for <code class="code">Rprof()</code> [yes]
 </p></dd>
-<dt><span><samp>--enable-memory-profiling</samp></span></dt>
-<dd><p>attempt to compile support for <code>Rprofmem()</code> and <code>tracemem()</code> [no]
+<dt><samp class="option">--enable-memory-profiling</samp></dt>
+<dd><p>attempt to compile support for <code class="code">Rprofmem()</code> and <code class="code">tracemem()</code> [no]
 </p></dd>
-<dt><span><samp>--enable-R-shlib</samp></span></dt>
+<dt><samp class="option">--enable-R-shlib</samp></dt>
 <dd><p>build R as a shared/dynamic library [no]
 </p></dd>
-<dt><span><samp>--enable-BLAS-shlib</samp></span></dt>
-<dd><p>build the <acronym>BLAS</acronym> as a shared/dynamic library [yes, except on <abbr>AIX</abbr>]
+<dt><samp class="option">--enable-BLAS-shlib</samp></dt>
+<dd><p>build the <abbr class="acronym">BLAS</abbr> as a shared/dynamic library [yes, except on <abbr class="abbr">AIX</abbr>]
 </p></dd>
 </dl>
 
-<p>You can use <samp>--without-foo</samp> or <samp>--disable-foo</samp> for the
+<p>You can use <samp class="option">--without-foo</samp> or <samp class="option">--disable-foo</samp> for the
 negatives.
 </p>
-<p>You will want to use <samp>--disable-R-profiling</samp> if you are building
-a profiled executable of R (e.g. with &lsquo;<samp>-pg)</samp>&rsquo;.  Support for R
-profiling requires OS support for POSIX threads (<em>aka</em>
-&lsquo;<samp>pthreads</samp>&rsquo;), which are available on all mainstream Unix-alike
+<p>You will want to use <samp class="option">--disable-R-profiling</samp> if you are building
+a profiled executable of R (e.g. with &lsquo;<samp class="samp">-pg)</samp>&rsquo;.  Support for R
+profiling requires OS support for POSIX threads (<em class="emph">aka</em>
+&lsquo;<samp class="samp">pthreads</samp>&rsquo;), which are available on all mainstream Unix-alike
 platforms.
 </p>
-<p>Flag <samp>--enable-R-shlib</samp> causes the make process to build R as
-a dynamic (shared) library, typically called <samp>libR.so</samp>, and link
-the main R executable <samp>R.bin</samp> against that library.  This can
+<p>Flag <samp class="option">--enable-R-shlib</samp> causes the make process to build R as
+a dynamic (shared) library, typically called <samp class="file">libR.so</samp>, and link
+the main R executable <samp class="file">R.bin</samp> against that library.  This can
 only be done if all the code (including system libraries) can be
 compiled into a dynamic library, and there may be a
-performance<a id="DOCF73" href="#FOOT73"><sup>73</sup></a> penalty.  So you probably
+performance<a class="footnote" id="DOCF73" href="#FOOT73"><sup>73</sup></a> penalty.  So you probably
 only want this if you will be using an application which embeds R.
 Note that C code in packages installed on an R system linked with
-<samp>--enable-R-shlib</samp> is linked against the dynamic library and so
+<samp class="option">--enable-R-shlib</samp> is linked against the dynamic library and so
 such packages cannot be used from an R system built in the default
 way.  Also, because packages are linked against R they are on some
 OSes also linked against the dynamic libraries R itself is linked
 against, and this can lead to symbol conflicts.
 </p>
-<p>For maximally effective use of <code>valgrind</code>, R should be
-compiled with Valgrind instrumentation. The <code>configure</code> option
-is <samp>--with-valgrind-instrumentation=<var>level</var></samp>, where
-<var>level</var> is 0, 1 or 2.  (Level 0 is the default and does not add
-anything.)  The system headers for <code>valgrind</code> are required: on
-Linux they may be in a separate package such as <strong>valgrind-devel</strong>.
+<p>For maximally effective use of <code class="command">valgrind</code>, R should be
+compiled with Valgrind instrumentation. The <code class="command">configure</code> option
+is <samp class="option">--with-valgrind-instrumentation=<var class="var">level</var></samp>, where
+<var class="var">level</var> is 0, 1 or 2.  (Level 0 is the default and does not add
+anything.)  The system headers for <code class="command">valgrind</code> are required: on
+Linux they may be in a separate package such as <strong class="strong">valgrind-devel</strong>.
 </p>
 <p>If you need to re-configure R with different options you may need to run
-<code>make clean</code> or even <code>make distclean</code> before doing so.
+<code class="code">make clean</code> or even <code class="code">make distclean</code> before doing so.
 </p>
-<p>The <samp>configure</samp> script has other generic options added by
-<code>autoconf</code> and which are not supported for R: in particular
+<p>The <samp class="file">configure</samp> script has other generic options added by
+<code class="command">autoconf</code> and which are not supported for R: in particular
 building for one architecture on a different host is not possible.
 </p>
 
 <hr>
 </div>
-<div class="section" id="Internationalization-support">
-<span id="Internationalization-support-1"></span><h3 class="section">B.2 Internationalization support</h3>
+<div class="section-level-extent" id="Internationalization-support">
+<h3 class="section" id="Internationalization-support-1"><span>B.2 Internationalization support<a class="copiable-link" href="#Internationalization-support-1"> &para;</a></span></h3>
 
-<p>Translation of messages is supported via <acronym>GNU</acronym> <code>gettext</code>
-unless disabled by the configure option <samp>--disable-nls</samp>.
-The <code>configure</code> report will show <code>NLS</code> as one of the
+<p>Translation of messages is supported via <abbr class="acronym">GNU</abbr> <code class="code">gettext</code>
+unless disabled by the configure option <samp class="option">--disable-nls</samp>.
+The <code class="code">configure</code> report will show <code class="code">NLS</code> as one of the
 &lsquo;Additional capabilities&rsquo; if support has been compiled in, and running
-in an English locale (but not the <code>C</code> locale) will include
+in an English locale (but not the <code class="code">C</code> locale) will include
 </p>
 <div class="example">
-<pre class="example">  Natural language support but running in an English locale
+<pre class="example-preformatted">  Natural language support but running in an English locale
 </pre></div>
 
 <p>in the greeting on starting R.
@@ -4388,356 +4384,356 @@
 
 <hr>
 </div>
-<div class="section" id="Configuration-variables">
-<span id="Configuration-variables-1"></span><h3 class="section">B.3 Configuration variables</h3>
+<div class="section-level-extent" id="Configuration-variables">
+<h3 class="section" id="Configuration-variables-1"><span>B.3 Configuration variables<a class="copiable-link" href="#Configuration-variables-1"> &para;</a></span></h3>
 
-<span id="index-configure-4"></span>
+<a class="index-entry-id" id="index-configure-4"></a>
 <p>If you need or want to set certain configure variables to something
 other than their default, you can do that by either editing the file
-<samp>config.site</samp> (which documents many of the variables you might want
-to set: others can be seen in file <samp>etc/Renviron.in</samp>) or on the
+<samp class="file">config.site</samp> (which documents many of the variables you might want
+to set: others can be seen in file <samp class="file">etc/Renviron.in</samp>) or on the
 command line as
 </p>
 <div class="example">
-<pre class="example">./configure <var>VAR</var>=<var>value</var>
+<pre class="example-preformatted">./configure <var class="var">VAR</var>=<var class="var">value</var>
 </pre></div>
 
 <p>If you are building in a directory different from the sources, there can
-be copies of <samp>config.site</samp> in the source and the build directories,
+be copies of <samp class="file">config.site</samp> in the source and the build directories,
 and both will be read (in that order).  In addition, if there is a file
-<samp>~/.R/config</samp>, it is read between the <samp>config.site</samp> files in
+<samp class="file">~/.R/config</samp>, it is read between the <samp class="file">config.site</samp> files in
 the source and the build directories.
 </p>
-<p>There is also a general <code>autoconf</code> mechanism for
-<samp>config.site</samp> files, which are read before any of those mentioned
+<p>There is also a general <code class="command">autoconf</code> mechanism for
+<samp class="file">config.site</samp> files, which are read before any of those mentioned
 in the previous paragraph.  This looks first at a file specified by the
-<span id="index-CONFIG_005fSITE"></span>
-environment variable <code>CONFIG_SITE</code>, and if not is set at files such
-as <samp>/usr/local/share/config.site</samp> and
-<samp>/usr/local/etc/config.site</samp> in the area (exemplified by
-<samp>/usr/local</samp>) where R would be installed.
+<a class="index-entry-id" id="index-CONFIG_005fSITE"></a>
+environment variable <code class="env">CONFIG_SITE</code>, and if not is set at files such
+as <samp class="file">/usr/local/share/config.site</samp> and
+<samp class="file">/usr/local/etc/config.site</samp> in the area (exemplified by
+<samp class="file">/usr/local</samp>) where R would be installed.
 </p>
-<p>These variables are <em>precious</em>, implying that they do not have to
+<p>These variables are <em class="emph">precious</em>, implying that they do not have to
 be exported to the environment, are kept in the cache even if not
 specified on the command line, checked for consistency between two
 configure runs (provided that caching is used), and are kept during
 automatic reconfiguration as if having been passed as command line
 arguments, even if no cache is used.
 </p>
-<p>See the variable output section of <code>configure --help</code> for a list of
+<p>See the variable output section of <code class="code">configure --help</code> for a list of
 all these variables.
 </p>
 <p>If you find you need to alter configure variables, it is worth noting
-that some settings may be cached in the file <samp>config.cache</samp>, and it
+that some settings may be cached in the file <samp class="file">config.cache</samp>, and it
 is a good idea to remove that file (if it exists) before re-configuring.
-Note that caching is turned <em>off</em> by default: use the command line
-option <samp>--config-cache</samp> (or <samp>-C</samp>) to enable caching.
+Note that caching is turned <em class="emph">off</em> by default: use the command line
+option <samp class="option">--config-cache</samp> (or <samp class="option">-C</samp>) to enable caching.
 </p>
 
 <hr>
-<div class="subsection" id="Setting-paper-size">
-<span id="Setting-paper-size-1"></span><h4 class="subsection">B.3.1 Setting paper size</h4>
-<span id="index-R_005fPAPERSIZE-2"></span>
-<p>One common variable to change is <code>R_PAPERSIZE</code>, which defaults to
-&lsquo;<samp>a4</samp>&rsquo;, not &lsquo;<samp>letter</samp>&rsquo;.  (Valid values are &lsquo;<samp>a4</samp>&rsquo;,
-&lsquo;<samp>letter</samp>&rsquo;, &lsquo;<samp>legal</samp>&rsquo; and &lsquo;<samp>executive</samp>&rsquo;.)
+<div class="subsection-level-extent" id="Setting-paper-size">
+<h4 class="subsection" id="Setting-paper-size-1"><span>B.3.1 Setting paper size<a class="copiable-link" href="#Setting-paper-size-1"> &para;</a></span></h4>
+<a class="index-entry-id" id="index-R_005fPAPERSIZE-2"></a>
+<p>One common variable to change is <code class="env">R_PAPERSIZE</code>, which defaults to
+&lsquo;<samp class="samp">a4</samp>&rsquo;, not &lsquo;<samp class="samp">letter</samp>&rsquo;.  (Valid values are &lsquo;<samp class="samp">a4</samp>&rsquo;,
+&lsquo;<samp class="samp">letter</samp>&rsquo;, &lsquo;<samp class="samp">legal</samp>&rsquo; and &lsquo;<samp class="samp">executive</samp>&rsquo;.)
 </p>
 <p>This is used both when configuring R to set the default, and when
 running R to override the default.  It is also used to set the
 paper size when making PDF manuals.
 </p>
-<p>The configure default will most often be &lsquo;<samp>a4</samp>&rsquo; if <code>R_PAPERSIZE</code>
-is unset.  (If the program <code>paperconf</code> is found, present in many
+<p>The configure default will most often be &lsquo;<samp class="samp">a4</samp>&rsquo; if <code class="env">R_PAPERSIZE</code>
+is unset.  (If the program <code class="command">paperconf</code> is found, present in many
 Linux distributions,
-<span id="index-PAPERSIZE"></span>
-or the environment variable <code>PAPERSIZE</code> is set, these are used to
+<a class="index-entry-id" id="index-PAPERSIZE"></a>
+or the environment variable <code class="env">PAPERSIZE</code> is set, these are used to
 produce the default.)
 </p>
 <hr>
 </div>
-<div class="subsection" id="Setting-the-browsers">
-<span id="Setting-the-browsers-1"></span><h4 class="subsection">B.3.2 Setting the browsers</h4>
+<div class="subsection-level-extent" id="Setting-the-browsers">
+<h4 class="subsection" id="Setting-the-browsers-1"><span>B.3.2 Setting the browsers<a class="copiable-link" href="#Setting-the-browsers-1"> &para;</a></span></h4>
 
-<span id="index-R_005fBROWSER"></span>
-<p>Another precious variable is <code>R_BROWSER</code>, the default <acronym>HTML</acronym>
+<a class="index-entry-id" id="index-R_005fBROWSER"></a>
+<p>Another precious variable is <code class="env">R_BROWSER</code>, the default <abbr class="acronym">HTML</abbr>
 browser, which should take a value of an executable in the user&rsquo;s path
 or specify a full path.
 </p>
-<span id="index-R_005fPDFVIEWER"></span>
-<p>Its counterpart for PDF files is  <code>R_PDFVIEWER</code>.
+<a class="index-entry-id" id="index-R_005fPDFVIEWER"></a>
+<p>Its counterpart for PDF files is  <code class="env">R_PDFVIEWER</code>.
 </p>
 <hr>
 </div>
-<div class="subsection" id="Compilation-flags">
-<span id="Compilation-flags-1"></span><h4 class="subsection">B.3.3 Compilation flags</h4>
+<div class="subsection-level-extent" id="Compilation-flags">
+<h4 class="subsection" id="Compilation-flags-1"><span>B.3.3 Compilation flags<a class="copiable-link" href="#Compilation-flags-1"> &para;</a></span></h4>
 
-<p>If you have libraries and header files, e.g., for <acronym>GNU</acronym>
-readline, in non-system directories, use the variables <code>LDFLAGS</code>
-(for libraries, using &lsquo;<samp>-L</samp>&rsquo; flags to be passed to the linker) and
-<code>CPPFLAGS</code> (for header files, using &lsquo;<samp>-I</samp>&rsquo; flags to be passed to
+<p>If you have libraries and header files, e.g., for <abbr class="acronym">GNU</abbr>
+readline, in non-system directories, use the variables <code class="code">LDFLAGS</code>
+(for libraries, using &lsquo;<samp class="samp">-L</samp>&rsquo; flags to be passed to the linker) and
+<code class="code">CPPFLAGS</code> (for header files, using &lsquo;<samp class="samp">-I</samp>&rsquo; flags to be passed to
 the C/C++ preprocessors), respectively, to specify these locations.
-These default to &lsquo;<samp>-L/usr/local/lib</samp>&rsquo; (<code>LDFLAGS</code>,
-&lsquo;<samp>-L/usr/local/lib64</samp>&rsquo; on most 64-bit Linux OSes) and
-&lsquo;<samp>-I/usr/local/include</samp>&rsquo; (<code>CPPFLAGS</code>, but note that on most
-systems <samp>/usr/local/include</samp> is regarded as a system include
+These default to &lsquo;<samp class="samp">-L/usr/local/lib</samp>&rsquo; (<code class="code">LDFLAGS</code>,
+&lsquo;<samp class="samp">-L/usr/local/lib64</samp>&rsquo; on most 64-bit Linux OSes) and
+&lsquo;<samp class="samp">-I/usr/local/include</samp>&rsquo; (<code class="code">CPPFLAGS</code>, but note that on most
+systems <samp class="file">/usr/local/include</samp> is regarded as a system include
 directory and so instances in that macro will be skipped) to catch the
 most common cases.  If libraries are still not found, then maybe your
-compiler/linker does not support re-ordering of <samp>-L</samp> and
-<samp>-l</samp> flags.
+compiler/linker does not support re-ordering of <samp class="option">-L</samp> and
+<samp class="option">-l</samp> flags.
 In this case, use a different compiler (or a front-end shell script
 which does the re-ordering).
 </p>
 <p>These flags can also be used to build a faster-running version of R.
-On most platforms using <code>gcc</code>, having &lsquo;<samp>-O3</samp>&rsquo; in
-<code>CFLAGS</code> and <code>FFLAGS</code> produces worthwhile
-performance gains with <code>gcc</code> and <code>gfortran</code>, but may
+On most platforms using <code class="command">gcc</code>, having &lsquo;<samp class="samp">-O3</samp>&rsquo; in
+<code class="code">CFLAGS</code> and <code class="code">FFLAGS</code> produces worthwhile
+performance gains with <code class="command">gcc</code> and <code class="command">gfortran</code>, but may
 result in a less reliable build (both segfaults and incorrect numeric
-computations have been seen).  On systems using the <acronym>GNU</acronym> linker
+computations have been seen).  On systems using the <abbr class="acronym">GNU</abbr> linker
 (especially those using R as a shared library), it is likely that
-including &lsquo;<samp>-Wl,-O1</samp>&rsquo; in <code>LDFLAGS</code> is worthwhile, and
-&lsquo;<samp>'-Bdirect,--hash-style=both,-Wl,-O1'</samp>&rsquo; is recommended at
-<a href="https://lwn.net/Articles/192624/">https://lwn.net/Articles/192624/</a>.  Tuning compilation to a
-specific <acronym>CPU</acronym> family (e.g. &lsquo;<samp>-mtune=native</samp>&rsquo; for
-<code>gcc</code>) can give worthwhile performance gains, especially on
-older architectures such as &lsquo;<samp>ix86</samp>&rsquo;.
+including &lsquo;<samp class="samp">-Wl,-O1</samp>&rsquo; in <code class="code">LDFLAGS</code> is worthwhile, and
+&lsquo;<samp class="samp">'-Bdirect,--hash-style=both,-Wl,-O1'</samp>&rsquo; is recommended at
+<a class="uref" href="https://lwn.net/Articles/192624/">https://lwn.net/Articles/192624/</a>.  Tuning compilation to a
+specific <abbr class="acronym">CPU</abbr> family (e.g. &lsquo;<samp class="samp">-mtune=native</samp>&rsquo; for
+<code class="command">gcc</code>) can give worthwhile performance gains, especially on
+older architectures such as &lsquo;<samp class="samp">ix86</samp>&rsquo;.
 </p>
 <hr>
 </div>
-<div class="subsection" id="Making-manuals">
-<span id="Making-manuals-1"></span><h4 class="subsection">B.3.4 Making manuals</h4>
+<div class="subsection-level-extent" id="Making-manuals">
+<h4 class="subsection" id="Making-manuals-1"><span>B.3.4 Making manuals<a class="copiable-link" href="#Making-manuals-1"> &para;</a></span></h4>
 
-<span id="index-R_005fRD4PDF-1"></span>
-<span id="index-R_005fPAPERSIZE-3"></span>
+<a class="index-entry-id" id="index-R_005fRD4PDF-1"></a>
+<a class="index-entry-id" id="index-R_005fPAPERSIZE-3"></a>
 <p>The default settings for making the manuals are controlled by
-<code>R_RD4PDF</code> and <code>R_PAPERSIZE</code>.
+<code class="env">R_RD4PDF</code> and <code class="env">R_PAPERSIZE</code>.
 </p>
 
 <hr>
 </div>
 </div>
-<div class="section" id="Setting-the-shell">
-<span id="Setting-the-shell-1"></span><h3 class="section">B.4 Setting the shell</h3>
+<div class="section-level-extent" id="Setting-the-shell">
+<h3 class="section" id="Setting-the-shell-1"><span>B.4 Setting the shell<a class="copiable-link" href="#Setting-the-shell-1"> &para;</a></span></h3>
 
-<p>By default the shell scripts such as <samp>R</samp> will be &lsquo;<samp>#!/bin/sh</samp>&rsquo;
-scripts (or using the <code>SHELL</code> chosen by <samp>configure</samp>).  This is
-almost always satisfactory, but on a few systems <samp>/bin/sh</samp> is not a
+<p>By default the shell scripts such as <samp class="file">R</samp> will be &lsquo;<samp class="samp">#!/bin/sh</samp>&rsquo;
+scripts (or using the <code class="env">SHELL</code> chosen by <samp class="file">configure</samp>).  This is
+almost always satisfactory, but on a few systems <samp class="file">/bin/sh</samp> is not a
 Bourne shell or clone, and the shell to be used can be changed by
-setting the configure variable <code>R_SHELL</code> to a suitable value (a full
-path to a shell, e.g. <samp>/usr/local/bin/bash</samp>).
+setting the configure variable <code class="env">R_SHELL</code> to a suitable value (a full
+path to a shell, e.g. <samp class="file">/usr/local/bin/bash</samp>).
 </p>
 
 <hr>
 </div>
-<div class="section" id="Using-make">
-<span id="Using-make-1"></span><h3 class="section">B.5 Using make</h3>
-<span id="index-make"></span>
+<div class="section-level-extent" id="Using-make">
+<h3 class="section" id="Using-make-1"><span>B.5 Using make<a class="copiable-link" href="#Using-make-1"> &para;</a></span></h3>
+<a class="index-entry-id" id="index-make"></a>
 
-<p>To build in a separate directory you need a <code>make</code> that supports
-the <code>VPATH</code> variable, for example <acronym>GNU</acronym> <code>make</code> and
-<code>dmake</code>.
+<p>To build in a separate directory you need a <code class="command">make</code> that supports
+the <code class="code">VPATH</code> variable, for example <abbr class="acronym">GNU</abbr> <code class="command">make</code> and
+<code class="command">dmake</code>.
 </p>
-<p>If you want to use a <code>make</code> by another name, for example
-<code>bmake</code> (a port of NetBSD make) on Linux or if your
-<acronym>GNU</acronym> <code>make</code> is called &lsquo;<samp>gmake</samp>&rsquo;, you need to set the
-variable <code>MAKE</code> at configure time, for example
+<p>If you want to use a <code class="command">make</code> by another name, for example
+<code class="command">bmake</code> (a port of NetBSD make) on Linux or if your
+<abbr class="acronym">GNU</abbr> <code class="command">make</code> is called &lsquo;<samp class="samp">gmake</samp>&rsquo;, you need to set the
+variable <code class="code">MAKE</code> at configure time, for example
 </p>
-<span id="index-configure-5"></span>
+<a class="index-entry-id" id="index-configure-5"></a>
 <div class="example">
-<pre class="example">./configure MAKE=gmake
+<pre class="example-preformatted">./configure MAKE=gmake
 </pre></div>
 
 
 <hr>
 </div>
-<div class="section" id="Using-Fortran">
-<span id="Using-Fortran-1"></span><h3 class="section">B.6 Using Fortran</h3>
-<span id="index-Fortran"></span>
+<div class="section-level-extent" id="Using-Fortran">
+<h3 class="section" id="Using-Fortran-1"><span>B.6 Using Fortran<a class="copiable-link" href="#Using-Fortran-1"> &para;</a></span></h3>
+<a class="index-entry-id" id="index-Fortran"></a>
 
 <p>To compile R, you need a Fortran 90 compiler.  The current default
 is to search for
-<code>gfortran</code>, <code>g95</code>, <code>xlf95</code> <code>f95</code>,
-<code>fort</code>, <code>ifort</code>, <code>ifc</code>, <code>efc</code>,
-<code>pgfortran</code>, <code>pgf95</code> <code>lf95</code>, <code>ftn</code>,
-<code>nagfor</code>, <code>xlf90</code>, <code>f90</code>, <code>pgf90</code>,
-<code>pghpf</code>, <code>epcf90</code>.  (Note that these are searched for by
+<code class="command">gfortran</code>, <code class="command">g95</code>, <code class="command">xlf95</code> <code class="command">f95</code>,
+<code class="command">fort</code>, <code class="command">ifort</code>, <code class="command">ifc</code>, <code class="command">efc</code>,
+<code class="command">pgfortran</code>, <code class="command">pgf95</code> <code class="command">lf95</code>, <code class="command">ftn</code>,
+<code class="command">nagfor</code>, <code class="command">xlf90</code>, <code class="command">f90</code>, <code class="command">pgf90</code>,
+<code class="command">pghpf</code>, <code class="command">epcf90</code>.  (Note that these are searched for by
 name, without checking the standard of Fortran they support.)  The
 command and flags used should support fixed-form Fortran with extension
-<samp>.f</samp>: in the unusual case that a specific flag is needed for
-free-form Fortran with extension <samp>.f90</samp> or <samp>.f95</samp>, this can be
-specified as part of <code>FCFLAGS</code>.
+<samp class="file">.f</samp>: in the unusual case that a specific flag is needed for
+free-form Fortran with extension <samp class="file">.f90</samp> or <samp class="file">.f95</samp>, this can be
+specified as part of <code class="code">FCFLAGS</code>.
 </p>
 <p>The search mechanism can be changed using the configure variable
-<code>FC</code> which specifies the command that runs the Fortran compiler.
+<code class="code">FC</code> which specifies the command that runs the Fortran compiler.
 If your Fortran compiler is in a non-standard location, you
-<span id="index-PATH-1"></span>
-should set the environment variable <code>PATH</code> accordingly before
-running <code>configure</code>, or use the configure variable <code>FC</code> to
+<a class="index-entry-id" id="index-PATH-1"></a>
+should set the environment variable <code class="env">PATH</code> accordingly before
+running <code class="command">configure</code>, or use the configure variable <code class="code">FC</code> to
 specify its full path.
 </p>
 <p>If your Fortran libraries are in slightly peculiar places, you should
-<span id="index-LD_005fLIBRARY_005fPATH-1"></span>
-also look at <code>LD_LIBRARY_PATH</code> (or your system&rsquo;s equivalent) to make
+<a class="index-entry-id" id="index-LD_005fLIBRARY_005fPATH-1"></a>
+also look at <code class="env">LD_LIBRARY_PATH</code> (or your system&rsquo;s equivalent) to make
 sure that all libraries are on this path.
 </p>
 <p>Note that only Fortran compilers which convert identifiers to lower case
 are supported.
 </p>
 <p>You must set whatever compilation flags (if any) are needed to ensure
-that Fortran <code>integer</code> is equivalent to a C <code>int</code> pointer and
-Fortran <code>double precision</code> is equivalent to a C <code>double</code>
+that Fortran <code class="code">integer</code> is equivalent to a C <code class="code">int</code> pointer and
+Fortran <code class="code">double precision</code> is equivalent to a C <code class="code">double</code>
 pointer.  This is checked during the configuration process.
 </p>
-<p>Some of the Fortran code makes use of <code>DOUBLE COMPLEX</code> and
-<code>COMPLEX*16</code> variables.  This is checked for at configure time, as
-well as its equivalence to the <code>Rcomplex</code> C structure defined in
-<samp>R_ext/Complex.h</samp>.
+<p>Some of the Fortran code makes use of <code class="code">DOUBLE COMPLEX</code> and
+<code class="code">COMPLEX*16</code> variables.  This is checked for at configure time, as
+well as its equivalence to the <code class="code">Rcomplex</code> C structure defined in
+<samp class="file">R_ext/Complex.h</samp>.
 </p>
-<p><code>gfortran</code>&nbsp;10 by default gives a compilation error for the
+<p><code class="command">gfortran</code>&nbsp;10 by default gives a compilation error for the
 previously widespread practice of passing a Fortran array element where
 an array is expected, or a scalar instead of a length-one array.  See
-<a href="https://gcc.gnu.org/gcc-10/porting_to.html">https://gcc.gnu.org/gcc-10/porting_to.html</a>. <code>gfortran</code>&nbsp;12
+<a class="uref" href="https://gcc.gnu.org/gcc-10/porting_to.html">https://gcc.gnu.org/gcc-10/porting_to.html</a>. <code class="command">gfortran</code>&nbsp;12
 errors in more cases of this.
 </p>
 
 <hr>
 </div>
-<div class="section" id="Compile-and-load-flags">
-<span id="Compile-and-load-flags-1"></span><h3 class="section">B.7 Compile and load flags</h3>
+<div class="section-level-extent" id="Compile-and-load-flags">
+<h3 class="section" id="Compile-and-load-flags-1"><span>B.7 Compile and load flags<a class="copiable-link" href="#Compile-and-load-flags-1"> &para;</a></span></h3>
 
-<p>A wide range of flags can be set in the file <samp>config.site</samp> or as
+<p>A wide range of flags can be set in the file <samp class="file">config.site</samp> or as
 configure variables on the command line.  We have already mentioned
 </p>
-<dl compact="compact">
-<dt><span><code>CPPFLAGS</code></span></dt>
-<dd><p>header file search directory (<samp>-I</samp>) and any other miscellaneous
+<dl class="table">
+<dt><code class="code">CPPFLAGS</code></dt>
+<dd><p>header file search directory (<samp class="option">-I</samp>) and any other miscellaneous
 options for the C and C++ preprocessors and compilers
 </p></dd>
-<dt><span><code>LDFLAGS</code></span></dt>
-<dd><p>path (<samp>-L</samp>), stripping (<samp>-s</samp>) and any other miscellaneous
+<dt><code class="code">LDFLAGS</code></dt>
+<dd><p>path (<samp class="option">-L</samp>), stripping (<samp class="option">-s</samp>) and any other miscellaneous
 options for the linker
 </p></dd>
 </dl>
 
 <p>and others include
 </p>
-<dl compact="compact">
-<dt><span><code>CFLAGS</code></span></dt>
+<dl class="table">
+<dt><code class="code">CFLAGS</code></dt>
 <dd><p>debugging and optimization flags, C
 </p></dd>
-<dt><span><code>MAIN_CFLAGS</code></span></dt>
+<dt><code class="code">MAIN_CFLAGS</code></dt>
 <dd><p>ditto, for compiling the main program (e.g. when profiling)
 </p></dd>
-<dt><span><code>SHLIB_CFLAGS</code></span></dt>
+<dt><code class="code">SHLIB_CFLAGS</code></dt>
 <dd><p>for shared objects (no known examples)
 </p></dd>
-<dt><span><code>FFLAGS</code></span></dt>
+<dt><code class="code">FFLAGS</code></dt>
 <dd><p>debugging and optimization flags, fixed-form Fortran
 </p></dd>
-<dt><span><code>FCFLAGS</code></span></dt>
+<dt><code class="code">FCFLAGS</code></dt>
 <dd><p>debugging and optimization flags, free-form Fortran
 </p></dd>
-<dt><span><code>SAFE_FFLAGS</code></span></dt>
+<dt><code class="code">SAFE_FFLAGS</code></dt>
 <dd><p>ditto for source files which need exact floating point behaviour
 </p></dd>
-<dt><span><code>MAIN_FFLAGS</code></span></dt>
+<dt><code class="code">MAIN_FFLAGS</code></dt>
 <dd><p>ditto, for compiling the main program (e.g. when profiling)
 </p></dd>
-<dt><span><code>SHLIB_FFLAGS</code></span></dt>
+<dt><code class="code">SHLIB_FFLAGS</code></dt>
 <dd><p>for shared objects (no known examples)
 </p></dd>
-<dt><span><code>MAIN_LDFLAGS</code></span></dt>
+<dt><code class="code">MAIN_LDFLAGS</code></dt>
 <dd><p>additional flags for the main link
 </p></dd>
-<dt><span><code>SHLIB_LDFLAGS</code></span></dt>
+<dt><code class="code">SHLIB_LDFLAGS</code></dt>
 <dd><p>additional flags for linking the shared objects
 </p></dd>
-<dt><span><code>LIBnn</code></span></dt>
-<dd><p>the primary library directory, <samp>lib</samp> or <samp>lib64</samp>
+<dt><code class="code">LIBnn</code></dt>
+<dd><p>the primary library directory, <samp class="file">lib</samp> or <samp class="file">lib64</samp>
 </p></dd>
-<dt><span><code>CPICFLAGS</code></span></dt>
+<dt><code class="code">CPICFLAGS</code></dt>
 <dd><p>special flags for compiling C code to be turned into a shared object
 </p></dd>
-<dt><span><code>FPICFLAGS</code></span></dt>
+<dt><code class="code">FPICFLAGS</code></dt>
 <dd><p>special flags for compiling Fortran code to be turned into a shared object
 </p></dd>
-<dt><span><code>CXXPICFLAGS</code></span></dt>
+<dt><code class="code">CXXPICFLAGS</code></dt>
 <dd><p>special flags for compiling C++ code to be turned into a shared object
 </p></dd>
-<dt><span><code>DEFS</code></span></dt>
+<dt><code class="code">DEFS</code></dt>
 <dd><p>defines to be used when compiling C code in R itself
 </p></dd>
 </dl>
 
-<p>Library paths specified as <samp>-L/lib/path</samp> in <code>LDFLAGS</code> are
-<span id="index-LD_005fLIBRARY_005fPATH-2"></span>
-collected together and prepended to <code>LD_LIBRARY_PATH</code> (or your
-system&rsquo;s equivalent), so there should be no need for <samp>-R</samp> or
-<samp>-rpath</samp> flags.
-</p>
-<p>Variables such as <code>CPICFLAGS</code> are determined where possible by
-<code>configure</code>.  Some systems allows two types of PIC flags, for
-example &lsquo;<samp>-fpic</samp>&rsquo; and &lsquo;<samp>-fPIC</samp>&rsquo;, and if they differ the first
+<p>Library paths specified as <samp class="option">-L/lib/path</samp> in <code class="code">LDFLAGS</code> are
+<a class="index-entry-id" id="index-LD_005fLIBRARY_005fPATH-2"></a>
+collected together and prepended to <code class="env">LD_LIBRARY_PATH</code> (or your
+system&rsquo;s equivalent), so there should be no need for <samp class="option">-R</samp> or
+<samp class="option">-rpath</samp> flags.
+</p>
+<p>Variables such as <code class="env">CPICFLAGS</code> are determined where possible by
+<code class="command">configure</code>.  Some systems allows two types of PIC flags, for
+example &lsquo;<samp class="samp">-fpic</samp>&rsquo; and &lsquo;<samp class="samp">-fPIC</samp>&rsquo;, and if they differ the first
 allows only a limited number of symbols in a shared object.  Since R
 as a shared library has about 6200 symbols, if in doubt use the larger
 version.
 </p>
-<p>Other variables often set by <code>configure</code> include
-&lsquo;<samp>MAIN_LDFLAGS</samp>&rsquo;, &lsquo;<samp>SAFE_FFLAGS</samp>&rsquo;, &lsquo;<samp>SHLIB_LDFLAGS</samp>&rsquo; and
-&lsquo;<samp>SHLIB_CXXLDFLAGS</samp>&rsquo;: see file <samp>config.site</samp> in the sources for
+<p>Other variables often set by <code class="command">configure</code> include
+&lsquo;<samp class="samp">MAIN_LDFLAGS</samp>&rsquo;, &lsquo;<samp class="samp">SAFE_FFLAGS</samp>&rsquo;, &lsquo;<samp class="samp">SHLIB_LDFLAGS</samp>&rsquo; and
+&lsquo;<samp class="samp">SHLIB_CXXLDFLAGS</samp>&rsquo;: see file <samp class="file">config.site</samp> in the sources for
 more documentation on these and others.
 </p>
 <p>To compile a profiling version of R, one might for example want to
-use &lsquo;<samp>MAIN_CFLAGS=-pg</samp>&rsquo;, &lsquo;<samp>MAIN_FFLAGS=-pg</samp>&rsquo;,
-&lsquo;<samp>MAIN_LDFLAGS=-pg</samp>&rsquo; on platforms where &lsquo;<samp>-pg</samp>&rsquo; cannot be used
+use &lsquo;<samp class="samp">MAIN_CFLAGS=-pg</samp>&rsquo;, &lsquo;<samp class="samp">MAIN_FFLAGS=-pg</samp>&rsquo;,
+&lsquo;<samp class="samp">MAIN_LDFLAGS=-pg</samp>&rsquo; on platforms where &lsquo;<samp class="samp">-pg</samp>&rsquo; cannot be used
 with position-independent code.
 </p>
-<p><strong>Beware</strong>: it may be necessary to set <code>CFLAGS</code> and
-<code>FFLAGS</code> in ways compatible with the libraries to be used: one
+<p><strong class="strong">Beware</strong>: it may be necessary to set <code class="code">CFLAGS</code> and
+<code class="code">FFLAGS</code> in ways compatible with the libraries to be used: one
 possible issue is the alignment of doubles, another is the way
 structures are passed.
 </p>
-<p>On some platforms <code>configure</code> will select additional flags for
-<code>CFLAGS</code>, <code>CPPFLAGS</code> and <code>LIBS</code> in <code>R_XTRA_CFLAGS</code>
+<p>On some platforms <code class="command">configure</code> will select additional flags for
+<code class="code">CFLAGS</code>, <code class="code">CPPFLAGS</code> and <code class="code">LIBS</code> in <code class="code">R_XTRA_CFLAGS</code>
 (and so on).  These are for options which are always required, for
-example to force <acronym>IEC</acronym>&nbsp;60559 compliance.
+example to force <abbr class="acronym">IEC</abbr>&nbsp;60559 compliance.
 </p>
 
 <hr>
 </div>
-<div class="section" id="Maintainer-mode">
-<span id="Maintainer-mode-1"></span><h3 class="section">B.8 Maintainer mode</h3>
+<div class="section-level-extent" id="Maintainer-mode">
+<h3 class="section" id="Maintainer-mode-1"><span>B.8 Maintainer mode<a class="copiable-link" href="#Maintainer-mode-1"> &para;</a></span></h3>
 
 <p>There are several files that are part of the R sources but can be
 re-generated from their own sources by configuring with option
-<samp>--enable-maintainer-mode</samp> and then running <code>make</code> in the
+<samp class="option">--enable-maintainer-mode</samp> and then running <code class="command">make</code> in the
 build directory.  This requires other tools to be installed, discussed
 in the rest of this section.
 </p>
-<p>File <samp>configure</samp> is created from <samp>configure.ac</samp> and the files
-under <samp>m4</samp> by <code>autoconf</code> and <code>aclocal</code> (part of the
-<strong>automake</strong> package).  There is a formal version requirement on
-<code>autoconf</code> of 2.72 or later, but it is unlikely that anything
-other than the most recent versions<a id="DOCF74" href="#FOOT74"><sup>74</sup></a>
+<p>File <samp class="file">configure</samp> is created from <samp class="file">configure.ac</samp> and the files
+under <samp class="file">m4</samp> by <code class="command">autoconf</code> and <code class="command">aclocal</code> (part of the
+<strong class="strong">automake</strong> package).  There is a formal version requirement on
+<code class="command">autoconf</code> of 2.72 or later, but it is unlikely that anything
+other than the most recent versions<a class="footnote" id="DOCF74" href="#FOOT74"><sup>74</sup></a>
 have been thoroughly tested.
 </p>
-<p>File <samp>src/include/config.h</samp> is created by <code>autoheader</code>
-(part of <strong>autoconf</strong>).
+<p>File <samp class="file">src/include/config.h</samp> is created by <code class="command">autoheader</code>
+(part of <strong class="strong">autoconf</strong>).
 </p>
-<p>Grammar files <samp>*.y</samp> are converted to C sources by an implementation
-of <code>yacc</code>, usually <code>bison -y</code>: these are found in
-<samp>src/main</samp> and <samp>src/library/tools/src</samp>.  It is known that
-earlier versions of <code>bison</code> generate code which reads (and in
-some cases writes) outside array bounds: <code>bison</code> 3.8.2 is
+<p>Grammar files <samp class="file">*.y</samp> are converted to C sources by an implementation
+of <code class="command">yacc</code>, usually <code class="command">bison -y</code>: these are found in
+<samp class="file">src/main</samp> and <samp class="file">src/library/tools/src</samp>.  It is known that
+earlier versions of <code class="command">bison</code> generate code which reads (and in
+some cases writes) outside array bounds: <code class="command">bison</code> 3.8.2 is
 currently used.
 </p>
-<p>The ultimate sources for package <strong>compiler</strong> are in its <samp>noweb</samp>
+<p>The ultimate sources for package <strong class="strong">compiler</strong> are in its <samp class="file">noweb</samp>
 directory.  To re-create the sources from
-<samp>src/library/compiler/noweb/compiler.nw</samp>, the command
-<code>notangle</code> is required.  Some Linux distributions include this
-command in package <strong>noweb</strong>.  It can also be installed from the
-sources at <a href="https://www.cs.tufts.edu/~nr/noweb/">https://www.cs.tufts.edu/~nr/noweb/</a><a id="DOCF75" href="#FOOT75"><sup>75</sup></a>.  The package
+<samp class="file">src/library/compiler/noweb/compiler.nw</samp>, the command
+<code class="command">notangle</code> is required.  Some Linux distributions include this
+command in package <strong class="strong">noweb</strong>.  It can also be installed from the
+sources at <a class="url" href="https://www.cs.tufts.edu/~nr/noweb/">https://www.cs.tufts.edu/~nr/noweb/</a><a class="footnote" id="DOCF75" href="#FOOT75"><sup>75</sup></a>.  The package
 sources are only re-created even in maintainer mode if
-<samp>src/library/compiler/noweb/compiler.nw</samp> has been updated.
+<samp class="file">src/library/compiler/noweb/compiler.nw</samp> has been updated.
 </p>
 
 
@@ -4745,8 +4741,8 @@
 <hr>
 </div>
 </div>
-<div class="appendix" id="Platform-notes">
-<span id="Platform-notes-1"></span><h2 class="appendix">Appendix C Platform notes</h2>
+<div class="appendix-level-extent" id="Platform-notes">
+<h2 class="appendix" id="Platform-notes-1"><span>Appendix C Platform notes<a class="copiable-link" href="#Platform-notes-1"> &para;</a></span></h2>
 
 <p>This section provides some notes on building R on different Unix-alike
 platforms.  These notes are based on tests run on one or two systems in
@@ -4756,17 +4752,17 @@
 of compilers and support libraries.
 </p>
 <p>Older versions of this manual contain notes on platforms such as
-HP-UX, <abbr>IRIX</abbr>, Alpha/OSF1 (for R &lt; 2.10.0, and support
-has since been removed for all of these) and <abbr>AIX</abbr> (for R &lt; =
+HP-UX, <abbr class="abbr">IRIX</abbr>, Alpha/OSF1 (for R &lt; 2.10.0, and support
+has since been removed for all of these) and <abbr class="abbr">AIX</abbr> (for R &lt; =
 3.5.x) for which we have had no recent reports.
 </p>
 <p>C macros to select particular platforms can be tricky to track down
 (there is a fair amount of misinformation on the Web).  The Wiki
-(currently) at <a href="https://sourceforge.net/p/predef/wiki/Home/">https://sourceforge.net/p/predef/wiki/Home/</a>
+(currently) at <a class="uref" href="https://sourceforge.net/p/predef/wiki/Home/">https://sourceforge.net/p/predef/wiki/Home/</a>
 can be helpful.  The R sources have used (often in included software
-under <samp>src/extra</samp>)
+under <samp class="file">src/extra</samp>)
 </p><div class="example">
-<pre class="example">AIX: _AIX
+<pre class="example-preformatted">AIX: _AIX
 Cygwin: __CYGWIN__
 FreeBSD: __FreeBSD__
 HP-UX: __hpux__, __hpux
@@ -4779,91 +4775,91 @@
 Windows on 64-but ARM: _M_ARM64 or _WIN32 plus __aarch64__
 </pre></div>
 
-<p>Identifying compilers can be very tricky.  GCC defines <code>__GNUC__</code>,
+<p>Identifying compilers can be very tricky.  GCC defines <code class="code">__GNUC__</code>,
 but so do other compilers claiming conformance with it, notably (LLVM
-and Apple) <code>clang</code> and Intel compilers.  Further, some use the
-value of <code>__GNUC__</code> for their version, not the version of GCC they
-claim to be compatible with.<a id="DOCF76" href="#FOOT76"><sup>76</sup></a>  <code>clang</code>-based
-compilers define <code>__clang__</code>.  Both LLVM and Apple <code>clang</code>
-define <code>__clang_major__</code> as a string giving their major version,
+and Apple) <code class="command">clang</code> and Intel compilers.  Further, some use the
+value of <code class="code">__GNUC__</code> for their version, not the version of GCC they
+claim to be compatible with.<a class="footnote" id="DOCF76" href="#FOOT76"><sup>76</sup></a>  <code class="command">clang</code>-based
+compilers define <code class="code">__clang__</code>.  Both LLVM and Apple <code class="command">clang</code>
+define <code class="code">__clang_major__</code> as a string giving their major version,
 but for example Apple&rsquo;s 13.x.y is very different from LLVM&rsquo;s 13.x.y.
-And compilers based on LLVM <code>clang</code>, for example from Intel and
+And compilers based on LLVM <code class="command">clang</code>, for example from Intel and
 IBM, will define these.  Some of the included software uses
-<code>__APPLE_CC__</code> to identify an Apple compiler (which used to include
-Apple builds of GCC), but Apple <code>clang</code> is better identified by
-the <code>__apple_build_version__</code> macro.
+<code class="code">__APPLE_CC__</code> to identify an Apple compiler (which used to include
+Apple builds of GCC), but Apple <code class="command">clang</code> is better identified by
+the <code class="code">__apple_build_version__</code> macro.
 </p>
 
 <hr>
-<div class="section" id="X11-issues">
-<span id="X11-issues-1"></span><h3 class="section">C.1 X11 issues</h3>
+<div class="section-level-extent" id="X11-issues">
+<h3 class="section" id="X11-issues-1"><span>C.1 X11 issues<a class="copiable-link" href="#X11-issues-1"> &para;</a></span></h3>
 
-<p>The &lsquo;<samp>X11()</samp>&rsquo; graphics device is the one started automatically on
+<p>The &lsquo;<samp class="samp">X11()</samp>&rsquo; graphics device is the one started automatically on
 Unix-alikes (except most macOS builds) when plotting.  As its name
 implies, it displays on a (local or remote) X server, and relies on the
 services provided by the X server.
 </p>
-<span id="index-Cairo-2"></span>
-<p>The &lsquo;modern&rsquo; version of the &lsquo;<samp>X11()</samp>&rsquo; device is based on &lsquo;<samp>cairo</samp>&rsquo;
-graphics and (in most implementations) uses &lsquo;<samp>fontconfig</samp>&rsquo; to pick and
+<a class="index-entry-id" id="index-Cairo-2"></a>
+<p>The &lsquo;modern&rsquo; version of the &lsquo;<samp class="samp">X11()</samp>&rsquo; device is based on &lsquo;<samp class="samp">cairo</samp>&rsquo;
+graphics and (in most implementations) uses &lsquo;<samp class="samp">fontconfig</samp>&rsquo; to pick and
 render fonts.  This is done on the server, and although there can be
 selection issues, they are more amenable than the issues with
-&lsquo;<samp>X11()</samp>&rsquo; discussed in the rest of this section.
+&lsquo;<samp class="samp">X11()</samp>&rsquo; discussed in the rest of this section.
 </p>
 <p>When X11 was designed, most displays were around 75dpi, whereas today
 they are of the order of 100dpi or more.  If you find that X11()
-is reporting<a id="DOCF77" href="#FOOT77"><sup>77</sup></a> missing font sizes, especially larger ones, it is likely
+is reporting<a class="footnote" id="DOCF77" href="#FOOT77"><sup>77</sup></a> missing font sizes, especially larger ones, it is likely
 that you are not using scalable fonts and have not installed the 100dpi
 versions of the X11 fonts.  The names and details differ by system, but
 will likely have something like Fedora&rsquo;s
 </p><div class="example">
-<pre class="example">xorg-x11-fonts-75dpi
+<pre class="example-preformatted">xorg-x11-fonts-75dpi
 xorg-x11-fonts-100dpi
 xorg-x11-fonts-ISO8859-2-75dpi
 xorg-x11-fonts-Type1
 xorg-x11-fonts-cyrillic
 </pre></div>
 
-<p>and you need to ensure that the &lsquo;<samp>-100dpi</samp>&rsquo; versions are installed
-and on the X11 font path (check via <code>xset -q</code>).  The
-&lsquo;<samp>X11()</samp>&rsquo; device does try to set a pointsize and not a pixel size:
+<p>and you need to ensure that the &lsquo;<samp class="samp">-100dpi</samp>&rsquo; versions are installed
+and on the X11 font path (check via <code class="command">xset -q</code>).  The
+&lsquo;<samp class="samp">X11()</samp>&rsquo; device does try to set a pointsize and not a pixel size:
 laptop users may find the default setting of 12 too large (although very
 frequently laptop screens are set to a fictitious dpi to appear like a
 scaled-down desktop screen).
 </p>
 <p>More complicated problems can occur in non-Western-European locales, so
 if you are using one, the first thing to check is that things work in
-the <code>C</code> locale.  The likely issues are a failure to find any fonts
-or glyphs being rendered incorrectly (often as a pair of <acronym>ASCII</acronym>
+the <code class="code">C</code> locale.  The likely issues are a failure to find any fonts
+or glyphs being rendered incorrectly (often as a pair of <abbr class="acronym">ASCII</abbr>
 characters).  X11 works by being asked for a font specification and
 coming up with its idea of a close match.  For text (as distinct from
 the symbols used by plotmath), the specification is the first element of
-the option <code>&quot;X11fonts&quot;</code> which defaults to
+the option <code class="code">&quot;X11fonts&quot;</code> which defaults to
 </p>
 <div class="example">
-<pre class="example">&quot;-adobe-helvetica-%s-%s-*-*-%d-*-*-*-*-*-*-*&quot;
+<pre class="example-preformatted">&quot;-adobe-helvetica-%s-%s-*-*-%d-*-*-*-*-*-*-*&quot;
 </pre></div>
 
 <p>If you are using a single-byte encoding, for example ISO 8859-2 in
-Eastern Europe or KOI8-R in Russian, use <code>xlsfonts</code> to find an
+Eastern Europe or KOI8-R in Russian, use <code class="command">xlsfonts</code> to find an
 appropriate family of fonts in your encoding (the last field in the
 listing).  If you find none, it is likely that you need to install
-further font packages, such as &lsquo;<samp>xorg-x11-fonts-ISO8859-2-75dpi</samp>&rsquo; and
-&lsquo;<samp>xorg-x11-fonts-cyrillic</samp>&rsquo; shown in the listing above.
+further font packages, such as &lsquo;<samp class="samp">xorg-x11-fonts-ISO8859-2-75dpi</samp>&rsquo; and
+&lsquo;<samp class="samp">xorg-x11-fonts-cyrillic</samp>&rsquo; shown in the listing above.
 </p>
 <p>Multi-byte encodings (most commonly UTF-8) are even more complicated.
-There are few fonts in &lsquo;<samp>iso10646-1</samp>&rsquo;, the Unicode encoding, and they
+There are few fonts in &lsquo;<samp class="samp">iso10646-1</samp>&rsquo;, the Unicode encoding, and they
 only contain a subset of the available glyphs (and are often fixed-width
-designed for use in terminals).  In such locales <em>fontsets</em> are
+designed for use in terminals).  In such locales <em class="emph">fontsets</em> are
 used, made up of fonts encoded in other encodings.  If the locale you
-are using has an entry in the &lsquo;<samp>XLC_LOCALE</samp>&rsquo; directory (typically
-<samp>/usr/share/X11/locale</samp>), it is likely that all you need to do is to
+are using has an entry in the &lsquo;<samp class="samp">XLC_LOCALE</samp>&rsquo; directory (typically
+<samp class="file">/usr/share/X11/locale</samp>), it is likely that all you need to do is to
 pick a suitable font specification that has fonts in the encodings
 specified there.  If not, you may have to get hold of a suitable locale
 entry for X11.  This may mean that, for example, Japanese text can be
-displayed when running in &lsquo;<samp>ja_JP.UTF-8</samp>&rsquo; but not when running in
-&lsquo;<samp>en_GB.UTF-8</samp>&rsquo; on the same machine (although on some systems many
-UTF-8 X11 locales are aliased to &lsquo;<samp>en_US.UTF-8</samp>&rsquo; which covers several
+displayed when running in &lsquo;<samp class="samp">ja_JP.UTF-8</samp>&rsquo; but not when running in
+&lsquo;<samp class="samp">en_GB.UTF-8</samp>&rsquo; on the same machine (although on some systems many
+UTF-8 X11 locales are aliased to &lsquo;<samp class="samp">en_US.UTF-8</samp>&rsquo; which covers several
 character sets, e.g. ISO 8859-1 (Western European), JISX0208 (Kanji),
 KSC5601 (Korean), GB2312 (Chinese Han) and JISX0201 (Kana)).
 </p>
@@ -4873,82 +4869,82 @@
 provides standard typefaces such as Helvetica with a larger coverage of
 Unicode glyphs than the standard X11 bitmaps, including Cyrillic.  These
 are generally not part of the default install, and the X server may need
-to be configured to use them.  They might be under the X11 <samp>fonts</samp>
+to be configured to use them.  They might be under the X11 <samp class="file">fonts</samp>
 directory or elsewhere, for example,
 </p>
 <div class="example">
-<pre class="example">/usr/share/fonts/default/Type1
+<pre class="example-preformatted">/usr/share/fonts/default/Type1
 /usr/share/fonts/ja/TrueType
 </pre></div>
 
 
 <hr>
 </div>
-<div class="section" id="Linux">
-<span id="Linux-1"></span><h3 class="section">C.2 Linux</h3>
-<span id="index-Linux-1"></span>
+<div class="section-level-extent" id="Linux">
+<h3 class="section" id="Linux-1"><span>C.2 Linux<a class="copiable-link" href="#Linux-1"> &para;</a></span></h3>
+<a class="index-entry-id" id="index-Linux-1"></a>
 
 <p>Linux is the main development platform for R, so compilation from the
 sources is normally straightforward with the most common compilers and
-libraries.<a id="DOCF78" href="#FOOT78"><sup>78</sup></a>
+libraries.<a class="footnote" id="DOCF78" href="#FOOT78"><sup>78</sup></a>
 </p>
 <p>This section is about the GCC compilers:
-<code>gcc</code>/<code>gfortran</code>/<code>g++</code>.
+<code class="command">gcc</code>/<code class="command">gfortran</code>/<code class="command">g++</code>.
 </p>
-<p>Recall that some package management systems (such as <acronym>RPM</acronym> and
+<p>Recall that some package management systems (such as <abbr class="acronym">RPM</abbr> and
 deb) make a distinction between the user version of a package and the
 developer version.  The latter usually has the same name but with the
-extension &lsquo;<samp>-devel</samp>&rsquo; or &lsquo;<samp>-dev</samp>&rsquo;: you need both versions
-installed.  So please check the <code>configure</code> output to see if the
-expected features are detected: if for example &lsquo;<samp>readline</samp>&rsquo; is
+extension &lsquo;<samp class="samp">-devel</samp>&rsquo; or &lsquo;<samp class="samp">-dev</samp>&rsquo;: you need both versions
+installed.  So please check the <code class="code">configure</code> output to see if the
+expected features are detected: if for example &lsquo;<samp class="samp">readline</samp>&rsquo; is
 missing add the developer package.  (On most systems you will also need
-&lsquo;<samp>ncurses</samp>&rsquo; and its developer package, although these should be
-dependencies of the &lsquo;<samp>readline</samp>&rsquo; package(s).)  You should expect to
-see in the <code>configure</code> summary
+&lsquo;<samp class="samp">ncurses</samp>&rsquo; and its developer package, although these should be
+dependencies of the &lsquo;<samp class="samp">readline</samp>&rsquo; package(s).)  You should expect to
+see in the <code class="command">configure</code> summary
 </p>
 <div class="example">
-<pre class="example">  Interfaces supported:      X11, tcltk
+<pre class="example-preformatted">  Interfaces supported:      X11, tcltk
   External libraries:        pcre2, readline, curl
   Additional capabilities:   PNG, JPEG, TIFF, NLS, cairo, ICU
 </pre></div>
 
 <p>When R has been installed from a binary distribution there are
 sometimes problems with missing components such as the Fortran
-compiler.  Searching the &lsquo;<samp>R-help</samp>&rsquo; archives will normally reveal
+compiler.  Searching the &lsquo;<samp class="samp">R-help</samp>&rsquo; archives will normally reveal
 what is needed.
 </p>
-<p>It seems that &lsquo;<samp>ix86</samp>&rsquo; Linux accepts non-PIC code in shared
+<p>It seems that &lsquo;<samp class="samp">ix86</samp>&rsquo; Linux accepts non-PIC code in shared
 libraries, but this is not necessarily so on other platforms, in
-particular on 64-bit <acronym>CPU</acronym>s such as &lsquo;<samp>x86_64</samp>&rsquo;.  So care
-can be needed with <acronym>BLAS</acronym> libraries and when building R as a
+particular on 64-bit <abbr class="acronym">CPU</abbr>s such as &lsquo;<samp class="samp">x86_64</samp>&rsquo;.  So care
+can be needed with <abbr class="acronym">BLAS</abbr> libraries and when building R as a
 shared library to ensure that position-independent code is used in any
-static libraries (such as the Tcl/Tk libraries, <code>libpng</code>,
-<code>libjpeg</code> and <code>zlib</code>) which might be linked against.
+static libraries (such as the Tcl/Tk libraries, <code class="code">libpng</code>,
+<code class="code">libjpeg</code> and <code class="code">zlib</code>) which might be linked against.
 Fortunately these are normally built as shared libraries with the
-exception of the ATLAS <acronym>BLAS</acronym> libraries.
+exception of the ATLAS <abbr class="acronym">BLAS</abbr> libraries.
 </p>
-<p>The default optimization settings chosen for <code>CFLAGS</code> etc are
-conservative.  It is likely that using <samp>-mtune</samp> will result in
+<p>The default optimization settings chosen for <code class="code">CFLAGS</code> etc are
+conservative.  It is likely that using <samp class="option">-mtune</samp> will result in
 significant performance improvements on recent CPUs: one possibility is
-to add <samp>-mtune=native</samp> for the best possible performance on the
+to add <samp class="option">-mtune=native</samp> for the best possible performance on the
 machine on which R is being installed.  It is also possible to
-increase the optimization levels to <samp>-O3</samp>: however for many
+increase the optimization levels to <samp class="option">-O3</samp>: however for many
 versions of the compilers this has caused problems in at least one
-<acronym>CRAN</acronym> package.
+<abbr class="acronym">CRAN</abbr> package.
 </p>
-<p>Do not use <samp>-O3</samp> with <code>gcc</code> 11.0 or 11.1: it mis-compiles
+<p>Do not use <samp class="option">-O3</samp> with <code class="command">gcc</code> 11.0 or 11.1: it mis-compiles
 code resulting in plausible but
-incorrect results.  (This was seen in package <a href="https://CRAN.R-project.org/package=MASS"><strong>MASS</strong></a> but has
+incorrect results.  (This was seen in package <a class="url" href="https://CRAN.R-project.org/package=MASS"><strong class="strong">MASS</strong></a> but has
 been worked around there as from version 3.1-57.)
 </p>
-<p>For comments on &lsquo;<samp>ix86</samp>&rsquo; builds (including 32-bit builds on
-&lsquo;<samp>x86_64</samp>&rsquo;) see the version of this manual for R 4.3.x.
+<p>For comments on &lsquo;<samp class="samp">ix86</samp>&rsquo; builds (including 32-bit builds on
+&lsquo;<samp class="samp">x86_64</samp>&rsquo;) see the version of this manual for R 4.3.x.
 </p>
-<p>To build a 64-bit version of R on &lsquo;<samp>ppc64</samp>&rsquo; (also known as
-&lsquo;<samp>powerpc64</samp>&rsquo;) with <code>gcc</code>&nbsp;4.1.1, Ei-ji Nakama used
+<p>To build a 64-bit version of R on &lsquo;<samp class="samp">ppc64</samp>&rsquo; (also known as
+&lsquo;<samp class="samp">powerpc64</samp>&rsquo;) with <code class="command">gcc</code>&nbsp;4.1.1, Ei-ji Nakama used
 </p>
 <div class="example">
-<pre class="example">CC=&quot;gcc -m64&quot;
+<pre class="example-preformatted">CC=&quot;gcc -m64&quot;
 CXX=&quot;gxx -m64&quot;
 FC=&quot;gfortran -m64&quot;
 CFLAGS=&quot;-mminimal-toc -fno-optimize-sibling-calls -g -O2&quot;
@@ -4956,89 +4952,89 @@
 </pre></div>
 
 <p>the additional flags being needed to resolve problems linking against
-<samp>libnmath.a</samp> and when linking R as a shared library.
+<samp class="file">libnmath.a</samp> and when linking R as a shared library.
 </p>
-<p>The setting of the macro &lsquo;<samp>SAFE_FFLAGS</samp>&rsquo; may need some help.  It
-should not need additional flags on platforms other than &lsquo;<samp>68000</samp>&rsquo;
-(not likely to be encountered) and &lsquo;<samp>ix86</samp>&rsquo;.  For the latter, if
-the Fortran compiler is GNU (<code>gfortran</code> or possibly
-<code>g77</code>) the flags
-</p><div class="example">
-<pre class="example">-msse2 -mfpmath=sse
-</pre></div>
-<p>are added: earlier versions of R added <samp>-ffloat-store</samp> and
-this might still be needed if a &lsquo;<samp>ix86</samp>&rsquo; CPU is encountered
-without SSE2 support.  Note that it is a <em>replacement</em> for
-&lsquo;<samp>FFLAGS</samp>&rsquo;, so should include all the flags in that macro (except
+<p>The setting of the macro &lsquo;<samp class="samp">SAFE_FFLAGS</samp>&rsquo; may need some help.  It
+should not need additional flags on platforms other than &lsquo;<samp class="samp">68000</samp>&rsquo;
+(not likely to be encountered) and &lsquo;<samp class="samp">ix86</samp>&rsquo;.  For the latter, if
+the Fortran compiler is GNU (<code class="command">gfortran</code> or possibly
+<code class="command">g77</code>) the flags
+</p><div class="example">
+<pre class="example-preformatted">-msse2 -mfpmath=sse
+</pre></div>
+<p>are added: earlier versions of R added <samp class="option">-ffloat-store</samp> and
+this might still be needed if a &lsquo;<samp class="samp">ix86</samp>&rsquo; CPU is encountered
+without SSE2 support.  Note that it is a <em class="emph">replacement</em> for
+&lsquo;<samp class="samp">FFLAGS</samp>&rsquo;, so should include all the flags in that macro (except
 perhaps the optimization level).
 </p>
 <p>Additional compilation flags can be specified for added safety/security
 checks.  For example Fedora adds
 </p>
 <div class="example">
-<pre class="example">-Werror=format-security -Wp,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS
+<pre class="example-preformatted">-Werror=format-security -Wp,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS
 -Fexceptions -fstack-protector-strong -fasynchronous-unwind-tables
 -fstack-clash-protection -fcf-protection
 </pre></div>
 
 <p>to all the C, C++ and Fortran compiler flags (even though
-<code>_GLIBCXX_ASSERTIONS</code> is only for C++ in current GCC and
-<code>glibc</code> and none of these are documented for <code>gfortran</code>).
-Use of <code>_GLIBCXX_ASSERTIONS</code> will link <code>abort</code> and
-<code>printf</code> into almost all C++ code, and <code>R CMD check
+<code class="code">_GLIBCXX_ASSERTIONS</code> is only for C++ in current GCC and
+<code class="code">glibc</code> and none of these are documented for <code class="code">gfortran</code>).
+Use of <code class="code">_GLIBCXX_ASSERTIONS</code> will link <code class="code">abort</code> and
+<code class="code">printf</code> into almost all C++ code, and <code class="command">R CMD check
 --as-cran</code> will warn.
 </p>
 
 <hr>
-<div class="subsection" id="Clang">
-<span id="Clang-1"></span><h4 class="subsection">C.2.1 Clang</h4>
+<div class="subsection-level-extent" id="Clang">
+<h4 class="subsection" id="Clang-1"><span>C.2.1 Clang<a class="copiable-link" href="#Clang-1"> &para;</a></span></h4>
 
-<p>R has been built with Linux &lsquo;<samp>ix86</samp>&rsquo; and &lsquo;<samp>x86_64</samp>&rsquo; C and
-C++ compilers (<a href="https://clang.llvm.org">https://clang.llvm.org</a>) based on the Clang
-front-ends, invoked by <code>CC=clang CXX=clang++</code>, together with
-<code>gfortran</code>.  These take very similar options to the
+<p>R has been built with Linux &lsquo;<samp class="samp">ix86</samp>&rsquo; and &lsquo;<samp class="samp">x86_64</samp>&rsquo; C and
+C++ compilers (<a class="uref" href="https://clang.llvm.org">https://clang.llvm.org</a>) based on the Clang
+front-ends, invoked by <code class="code">CC=clang CXX=clang++</code>, together with
+<code class="command">gfortran</code>.  These take very similar options to the
 corresponding GCC compilers.
 </p>
 <p>This has to be used in conjunction with a Fortran compiler: the
-<code>configure</code> code will remove <samp>-lgcc</samp> from <code>FLIBS</code>,
-which is needed for some versions of <code>gfortran</code>.
+<code class="command">configure</code> code will remove <samp class="option">-lgcc</samp> from <code class="env">FLIBS</code>,
+which is needed for some versions of <code class="command">gfortran</code>.
 </p>
-<p>The current out-of-the-box default for <code>clang++</code> is to use the
-C++ runtime from the installed <code>g++</code>.  Using the runtime from
-the <a href="https://libcxx.llvm.org/"><code>libc++</code></a> project (Fedora <acronym>RPM</acronym>
-<code>libcxx-devel</code>) <em>via</em> <samp>-stdlib=libc++</samp> has also been
+<p>The current out-of-the-box default for <code class="command">clang++</code> is to use the
+C++ runtime from the installed <code class="command">g++</code>.  Using the runtime from
+the <a class="url" href="https://libcxx.llvm.org/"><code class="code">libc++</code></a> project (Fedora <abbr class="acronym">RPM</abbr>
+<code class="code">libcxx-devel</code>) <em class="emph">via</em> <samp class="option">-stdlib=libc++</samp> has also been
 tested.
 </p>
-<p>Recent versions have (optional when built) <abbr>OpenMP</abbr> support.<a id="DOCF79" href="#FOOT79"><sup>79</sup></a>
+<p>Recent versions have (optional when built) <abbr class="abbr">OpenMP</abbr> support.<a class="footnote" id="DOCF79" href="#FOOT79"><sup>79</sup></a>
 </p>
-<p>There are problems mixing <code>clang</code> 15.0.0 and later built as
-default on Linux to produce PIE code and <code>gfortran</code> 11 or later,
-which does not.  One symptom is that <code>configure</code> does not detect
-<code>FC_LEN_T</code>, which can be overcome by setting
+<p>There are problems mixing <code class="command">clang</code> 15.0.0 and later built as
+default on Linux to produce PIE code and <code class="command">gfortran</code> 11 or later,
+which does not.  One symptom is that <code class="command">configure</code> does not detect
+<code class="code">FC_LEN_T</code>, which can be overcome by setting
 </p><div class="example">
-<pre class="example">FPIEFLAGS=-fPIE
+<pre class="example-preformatted">FPIEFLAGS=-fPIE
 </pre></div>
-<p>in <samp>config.site</samp>. (<code>configure</code> tries that value if it is
+<p>in <samp class="file">config.site</samp>. (<code class="command">configure</code> tries that value if it is
 unset.)
 </p>
 <hr>
 </div>
-<div class="subsection" id="flang">
-<span id="flang-1"></span><h4 class="subsection">C.2.2 flang</h4>
+<div class="subsection-level-extent" id="flang">
+<h4 class="subsection" id="flang-1"><span>C.2.2 flang<a class="copiable-link" href="#flang-1"> &para;</a></span></h4>
 
-<p>The name <code>flang</code> has been used for two projects: this is about
+<p>The name <code class="command">flang</code> has been used for two projects: this is about
 the sub-project of LLVM which builds a Fortran compiler and runtime
-libraries.  The compiler command was <code>flang-new</code> prior to
+libraries.  The compiler command was <code class="command">flang-new</code> prior to
 version 20.
 </p>
-<p>The version in LLVM 16 and later was able to build R on &lsquo;<samp>x86_64</samp>&rsquo; Linux
+<p>The version in LLVM 16 and later was able to build R on &lsquo;<samp class="samp">x86_64</samp>&rsquo; Linux
 with
 </p><div class="example">
-<pre class="example">FC=/path/to/flang
+<pre class="example-preformatted">FC=/path/to/flang
 </pre></div>
-<p>with the matching <code>clang</code> used as the C compiler, and the build
-passed <code>make check-all</code>.  There is also support for
-&lsquo;<samp>aarch64</samp>&rsquo; and &lsquo;<samp>ppc64le</samp>&rsquo; Linux, but these have not been
+<p>with the matching <code class="command">clang</code> used as the C compiler, and the build
+passed <code class="command">make check-all</code>.  There is also support for
+&lsquo;<samp class="samp">aarch64</samp>&rsquo; and &lsquo;<samp class="samp">ppc64le</samp>&rsquo; Linux, but these have not been
 tested with R.
 </p>
 
@@ -5049,34 +5045,34 @@
 
 <hr>
 </div>
-<div class="subsection" id="Intel-compilers">
-<span id="Intel-compilers-1"></span><h4 class="subsection">C.2.3 Intel compilers</h4>
+<div class="subsection-level-extent" id="Intel-compilers">
+<h4 class="subsection" id="Intel-compilers-1"><span>C.2.3 Intel compilers<a class="copiable-link" href="#Intel-compilers-1"> &para;</a></span></h4>
 
 <p>In late 2020 Intel revamped their C/C++ compilers (and later their
 Fortran compiler) to use an LLVM back-end (and for the C/C++ compilers,
-a modified version of <code>clang</code> as the front-end).  Those
-compilers are only for &lsquo;<samp>x86_64</samp>&rsquo;: the earlier (now called
+a modified version of <code class="command">clang</code> as the front-end).  Those
+compilers are only for &lsquo;<samp class="samp">x86_64</samp>&rsquo;: the earlier (now called
 &lsquo;Classic&rsquo;) C/C++ compilers were discontinued in late 2023 (and are covered in
 the version of this manual for R 4.3.x: the Fortran compiler
-<code>ifort</code> remains part of the Fortran distribution)..
+<code class="command">ifort</code> remains part of the Fortran distribution)..
 </p>
 <p>The compilers are now all under Intel&rsquo;s &lsquo;oneAPI&rsquo; brand. The revamped
-ones are <code>icx</code>, <code>icpx</code> and <code>ifx</code>; they are
-identified by the C/C++ macro <code>__INTEL_LLVM_COMPILER</code> (and do not
-define <code>__INTEL_COMPILER</code>: they also define <code>__clang__</code> and
-<code>__clang_major__</code>).
+ones are <code class="command">icx</code>, <code class="command">icpx</code> and <code class="command">ifx</code>; they are
+identified by the C/C++ macro <code class="code">__INTEL_LLVM_COMPILER</code> (and do not
+define <code class="code">__INTEL_COMPILER</code>: they also define <code class="code">__clang__</code> and
+<code class="code">__clang_major__</code>).
 </p>
-<p>The C++ compiler uses the system&rsquo;s <code>libstdc++</code> as its runtime
-library rather than LLVM&rsquo;s <code>libc++</code>.
+<p>The C++ compiler uses the system&rsquo;s <code class="code">libstdc++</code> as its runtime
+library rather than LLVM&rsquo;s <code class="code">libc++</code>.
 </p>
 <p>Standalone installers (which are free-of-charge) are available from
-<a href="https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html">https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html</a>:
+<a class="uref" href="https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html">https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html</a>:
 they are also part of the oneAPI Base and HPC (for Fortran) toolkits.
 </p>
 <p>We tried the compilers in oneAPI 2025.1.0, 2024.2.1 and 2023.x.y
 using (the paths do differ by compiler version)
 </p><div class="example">
-<pre class="example">IP=/path/to/compilers/bin/
+<pre class="example-preformatted">IP=/path/to/compilers/bin/
 CC=$IP/icx
 CXX=$IP/icpx
 FC=$IP/ifx
@@ -5088,50 +5084,50 @@
 LDFLAGS=&quot;-L/path/to/compilers/compiler/lib -L/usr/local/lib64&quot;
 </pre></div>
 <p>but the build segfaulted in the checks (in complex arithmetic in
-<samp>tests/lapack.R</samp>).
+<samp class="file">tests/lapack.R</samp>).
 </p>
 <p>Intel document building R with MKL: for the Intel compilers this needed
 something like
 </p><div class="example">
-<pre class="example">MKL_LIB_PATH=/path/to/intel_mkl/mkl/lib/intel64
+<pre class="example-preformatted">MKL_LIB_PATH=/path/to/intel_mkl/mkl/lib/intel64
 export LD_LIBRARY_PATH=&quot;$MKL_LIB_PATH&quot;
 MKL=&quot;-L${MKL_LIB_PATH} -lmkl_intel_lp64 -lmkl_core -lmkl_sequential&quot;
 ./configure --with-blas=&quot;$MKL&quot; --with-lapack
 </pre></div>
 <p>and the build passed its checks with MKL 2023.2.0 (but not 2024.x on the
 hardware tested).  It may also be possible to use a compiler option like
-<samp>-qmkl=sequential</samp>.
+<samp class="option">-qmkl=sequential</samp>.
 </p>
-<p>One quirk is that the Intel Fortran compilers do not accept <samp>.f95</samp>
-files, only <samp>.f90</samp>, for free-format Fortran.  <code>configure</code>
-adds <samp>-Tf</samp> which tells the compiler this is indeed a Fortran file
-(and needs to immediately precede the file name), but <samp>-free</samp> is
-needed to say it is free-format.  Hence setting the <code>FCFLAGS</code>
+<p>One quirk is that the Intel Fortran compilers do not accept <samp class="file">.f95</samp>
+files, only <samp class="file">.f90</samp>, for free-format Fortran.  <code class="command">configure</code>
+adds <samp class="option">-Tf</samp> which tells the compiler this is indeed a Fortran file
+(and needs to immediately precede the file name), but <samp class="option">-free</samp> is
+needed to say it is free-format.  Hence setting the <code class="code">FCFLAGS</code>
 macro.
 </p>
 <p>The compilers have many options: as the C/C++ and Fortran compilers have
 different origins for their front-ends, there is little consistency in
 their options.
-(The C/C++ compilers support &lsquo;all&rsquo; <code>clang</code> options even if
-undocumented for <code>icx</code>/<code>icpc</code>, such as
-<samp>-Wno-strict-prototypes</samp> above, However it is unclear for which
-version of <code>clang</code>: the Intel manual suggests checking
-<code>icx -help</code>.)  The C/C++ compilers support clang-style
-<abbr>LTO</abbr>: it is not clear if the Fortran one does.
+(The C/C++ compilers support &lsquo;all&rsquo; <code class="command">clang</code> options even if
+undocumented for <code class="command">icx</code>/<code class="command">icpc</code>, such as
+<samp class="option">-Wno-strict-prototypes</samp> above, However it is unclear for which
+version of <code class="command">clang</code>: the Intel manual suggests checking
+<code class="command">icx -help</code>.)  The C/C++ compilers support clang-style
+<abbr class="abbr">LTO</abbr>: it is not clear if the Fortran one does.
 </p>
 
-<p>The preferred Fortran standard for <code>ifx</code> can be set by one of
-<samp>-std90</samp>, <samp>-std95</samp>, <samp>-std03</samp>, <samp>-std08</samp> or
-<samp>-std18</samp> (and variants).  However, this is documented to only
+<p>The preferred Fortran standard for <code class="command">ifx</code> can be set by one of
+<samp class="option">-std90</samp>, <samp class="option">-std95</samp>, <samp class="option">-std03</samp>, <samp class="option">-std08</samp> or
+<samp class="option">-std18</samp> (and variants).  However, this is documented to only
 affect warnings on non-standard features: the default is no such
 warnings.
 </p>
 <p>Warning to package maintainers: the Intel Fortran compiler interprets
-comments intended for Visual Fortran<a id="DOCF80" href="#FOOT80"><sup>80</sup></a> like
+comments intended for Visual Fortran<a class="footnote" id="DOCF80" href="#FOOT80"><sup>80</sup></a> like
 </p><div class="example">
-<pre class="example">!DEC$ ATTRIBUTES DLLEXPORT,C,REFERENCE,ALIAS:'kdenestmlcvb' :: kdenestmlcvb
+<pre class="example-preformatted">!DEC$ ATTRIBUTES DLLEXPORT,C,REFERENCE,ALIAS:'kdenestmlcvb' :: kdenestmlcvb
 </pre></div>
-<p>The <code>DLLEXPORT</code> gives a warning but the remainder silently
+<p>The <code class="code">DLLEXPORT</code> gives a warning but the remainder silently
 generates incorrectly named entry points.  Such comment lines need to be
 removed from code for use with R (even if using Intel Fortran on
 Windows).
@@ -5142,134 +5138,134 @@
 <hr>
 </div>
 </div>
-<div class="section" id="macOS">
-<span id="macOS-2"></span><h3 class="section">C.3 macOS</h3>
-<span id="index-macOS-2"></span>
+<div class="section-level-extent" id="macOS">
+<h3 class="section" id="macOS-2"><span>C.3 macOS<a class="copiable-link" href="#macOS-2"> &para;</a></span></h3>
+<a class="index-entry-id" id="index-macOS-2"></a>
 
-<p>The instructions here are for &lsquo;Apple Silicon&rsquo; (&lsquo;<samp>arm64</samp>&rsquo;) or Intel
-64-bit (&lsquo;<samp>x86_64</samp>&rsquo;) builds on macOS 11 (Big Sur), 12
+<p>The instructions here are for &lsquo;Apple Silicon&rsquo; (&lsquo;<samp class="samp">arm64</samp>&rsquo;) or Intel
+64-bit (&lsquo;<samp class="samp">x86_64</samp>&rsquo;) builds on macOS 11 (Big Sur), 12
 (Monterey), 13 (Ventura), 14 (Sonoma) and likely later.
 (They may well work on Intel macOS 10.14 or 10.15, but are untested
 there.)
 </p>
 
 <hr>
-<div class="subsection" id="Prerequisites">
-<span id="Prerequisites-1"></span><h4 class="subsection">C.3.1 Prerequisites</h4>
+<div class="subsection-level-extent" id="Prerequisites">
+<h4 class="subsection" id="Prerequisites-1"><span>C.3.1 Prerequisites<a class="copiable-link" href="#Prerequisites-1"> &para;</a></span></h4>
 
-<p>The Apple silicon components install into <samp>/opt/R/arm64</samp>, the
-Intel ones into <samp>/opt/R/x86_64</samp>.  That may not exist<a id="DOCF81" href="#FOOT81"><sup>81</sup></a>
+<p>The Apple silicon components install into <samp class="file">/opt/R/arm64</samp>, the
+Intel ones into <samp class="file">/opt/R/x86_64</samp>.  That may not exist<a class="footnote" id="DOCF81" href="#FOOT81"><sup>81</sup></a>
 so it is simplest to first create the directory and adjust its ownership
 if desired: for example by
 </p>
 <div class="example">
-<pre class="example">sudo mkdir -p /opt/R/arm64
+<pre class="example-preformatted">sudo mkdir -p /opt/R/arm64
 sudo chown -R $USER /opt/R
 </pre></div>
-<p>Also, add <samp>/opt/R/arm64/bin</samp> or <samp>/opt/R/x86_64/bin</samp> to your path.
+<p>Also, add <samp class="file">/opt/R/arm64/bin</samp> or <samp class="file">/opt/R/x86_64/bin</samp> to your path.
 </p>
 <p>Define an appropriate variable in your Terminal:
 </p><div class="example">
-<pre class="example">set LOCAL=/opt/R/arm64  # Apple Silicon
+<pre class="example-preformatted">set LOCAL=/opt/R/arm64  # Apple Silicon
 set LOCAL=/opt/R/x86_64 # Intel
 </pre></div>
 <p>to use the code snippets here.
 </p>
 <p>The following are essential to build R:
 </p>
-<ul>
-<li> Apple&rsquo;s &lsquo;Command Line Tools&rsquo;: these can be (re-)installed by running
-<code>xcode-select --install</code> in a terminal.
+<ul class="itemize mark-bullet">
+<li>Apple&rsquo;s &lsquo;Command Line Tools&rsquo;: these can be (re-)installed by running
+<code class="command">xcode-select --install</code> in a terminal.
 
-<p>If you have a fresh OS installation, running e.g. <code>make</code> in a
+<p>If you have a fresh OS installation, running e.g. <code class="command">make</code> in a
 terminal will offer the installation of the command-line tools.  If you
 have installed Xcode, this provides the command-line tools.  The tools
 may need to be reinstalled when macOS is upgraded, as upgrading may
 partially or completely remove them.
 </p>
 <p>The Command Line Tools provide C and C++ compilers derived from LLVM&rsquo;s
-<code>clang</code> but nowadays known as &lsquo;Apple clang&rsquo; with different
+<code class="command">clang</code> but nowadays known as &lsquo;Apple clang&rsquo; with different
 versioning (so Apple clang 15 is unrelated to LLVM clang 15).
 </p>
-</li><li> A Fortran compiler. See <a href="#Fortran-compilers">Fortran compiler</a>.
+</li><li>A Fortran compiler. See <a class="xref" href="#Fortran-compilers">Fortran compiler</a>.
 
-</li><li> Binary components <code>pcre2</code><a id="DOCF82" href="#FOOT82"><sup>82</sup></a> and
-<code>xz</code> (for <code>liblzma</code>) from
-<a href="https://mac.r-project.org/bin/">https://mac.r-project.org/bin/</a>.  There is an R script there to
+</li><li>Binary components <code class="code">pcre2</code><a class="footnote" id="DOCF82" href="#FOOT82"><sup>82</sup></a> and
+<code class="code">xz</code> (for <code class="code">liblzma</code>) from
+<a class="uref" href="https://mac.r-project.org/bin/">https://mac.r-project.org/bin/</a>.  There is an R script there to
 help with installing all the needed components.  (At the time of writing
-<code>install.libs(&quot;r-base-dev&quot;)</code> installed neither <code>readline5</code> nor
+<code class="code">install.libs(&quot;r-base-dev&quot;)</code> installed neither <code class="code">readline5</code> nor
 those needed to support Pango.)
 
-<p>Intel users want the <code>darwin20</code> components: the <code>darwin17</code>
+<p>Intel users want the <code class="code">darwin20</code> components: the <code class="code">darwin17</code>
 ones are for macOS 10.13&ndash;10.15.
 </p>
 <p>Or this can be done manually, by for example
 </p><div class="example">
-<pre class="example">curl -OL https://mac.r-project.org/bin/darwin20/arm64/pcre2-10.44-darwin.20-arm64.tar.xz
+<pre class="example-preformatted">curl -OL https://mac.r-project.org/bin/darwin20/arm64/pcre2-10.44-darwin.20-arm64.tar.xz
 sudo tar -xvzf pcre2-10.44-darwin.20-arm64.tar.gz -C /
 curl -OL https://mac.r-project.org/bin/darwin20/arm64/xz-5.6.3-darwin.20-arm64.tar.xz
 sudo tar -xvzf xz-5.6.3-darwin.20-arm64.tar.xz -C /
 </pre></div>
-<p>(<code>sudo</code> is not needed if your account owns <samp>/opt/R/arm64</samp> or
-<samp>/opt/R/x86_64</samp> as appropriate.)
+<p>(<code class="command">sudo</code> is not needed if your account owns <samp class="file">/opt/R/arm64</samp> or
+<samp class="file">/opt/R/x86_64</samp> as appropriate.)
 </p>
-<p>Messages like &lsquo;<samp>opt/R/: Can't restore time</samp>&rsquo; should be ignored.
+<p>Messages like &lsquo;<samp class="samp">opt/R/: Can't restore time</samp>&rsquo; should be ignored.
 </p></li></ul>
 <p>and desirable
-</p><ul>
-<li> Component <code>readline5</code>.<a id="DOCF83" href="#FOOT83"><sup>83</sup></a>  If <code>readline</code> is
-not present, the emulation in Apple&rsquo;s version of <code>libedit</code> (aka
-<code>editline</code>) will be used: if you wish to avoid that, configure with
-<samp>--without-readline</samp>.
+</p><ul class="itemize mark-bullet">
+<li>Component <code class="code">readline5</code>.<a class="footnote" id="DOCF83" href="#FOOT83"><sup>83</sup></a>  If <code class="code">readline</code> is
+not present, the emulation in Apple&rsquo;s version of <code class="code">libedit</code> (aka
+<code class="code">editline</code>) will be used: if you wish to avoid that, configure with
+<samp class="option">--without-readline</samp>.
 
-</li><li> Components <code>jpeg</code>, <code>libpng</code>, <code>pkgconfig</code>, <code>tiff</code> and
-<code>zlib-system-stub</code> from <a href="https://mac.r-project.org/bin//">https://mac.r-project.org/bin//</a> for
+</li><li>Components <code class="code">jpeg</code>, <code class="code">libpng</code>, <code class="code">pkgconfig</code>, <code class="code">tiff</code> and
+<code class="code">zlib-system-stub</code> from <a class="uref" href="https://mac.r-project.org/bin//">https://mac.r-project.org/bin//</a> for
 the full range of bitmapped graphics devices.  (Some builds of
-<code>tiff</code> may require <code>libwebp</code> and/or <code>openjpeg</code>.)
+<code class="code">tiff</code> may require <code class="code">libwebp</code> and/or <code class="code">openjpeg</code>.)
 
-</li><li> Component <code>libdeflate</code> for faster internal (de)compression and
-<code>zstd</code> for support for that type of compression.
+</li><li>Component <code class="code">libdeflate</code> for faster internal (de)compression and
+<code class="code">zstd</code> for support for that type of compression.
 
-</li><li> Component <code>gettext</code> for <code>libintl</code>.
+</li><li>Component <code class="code">gettext</code> for <code class="code">libintl</code>.
 
-</li><li> An X sub-system unless configuring using <samp>--without-x</samp>: see
-<a href="https://www.xquartz.org/">https://www.xquartz.org/</a>. R&rsquo;s <code>configure</code>
-script can be told to look for <code>X11</code> in XQuartz&rsquo;s main
-location of <samp>/opt/X11</samp>, e.g. by
+</li><li>An X sub-system unless configuring using <samp class="option">--without-x</samp>: see
+<a class="uref" href="https://www.xquartz.org/">https://www.xquartz.org/</a>. R&rsquo;s <code class="command">configure</code>
+script can be told to look for <code class="code">X11</code> in XQuartz&rsquo;s main
+location of <samp class="file">/opt/X11</samp>, e.g. by
 <div class="example">
-<pre class="example">--x-includes=/opt/X11/include --x-libraries=/opt/X11/lib
+<pre class="example-preformatted">--x-includes=/opt/X11/include --x-libraries=/opt/X11/lib
 </pre></div>
 
 <p>Be wary of pre-release versions of XQuartz, which may be offered as an
 update.
 </p>
-</li><li> An Objective-C compiler, as provided by <code>clang</code> in the Command
-Line Tools: this is needed for the <code>quartz()</code> graphics device.
+</li><li>An Objective-C compiler, as provided by <code class="command">clang</code> in the Command
+Line Tools: this is needed for the <code class="code">quartz()</code> graphics device.
 
-<p>Use <samp>--without-aqua</samp> if you want a standard Unix-alike build:
-apart from disabling <code>quartz()</code> and the ability to use the build
-with <small>R.APP</small>, it also changes the default location of the personal
-library (see <code>?.libPaths</code>).
+<p>Use <samp class="option">--without-aqua</samp> if you want a standard Unix-alike build:
+apart from disabling <code class="code">quartz()</code> and the ability to use the build
+with <small class="sc">R.APP</small>, it also changes the default location of the personal
+library (see <code class="code">?.libPaths</code>).
 </p>
-</li><li> A Tcl/Tk installation,  See <a href="#Tcl_002fTk-headers-and-libraries">Tcl/Tk headers and libraries</a>.
+</li><li>A Tcl/Tk installation,  See <a class="xref" href="#Tcl_002fTk-headers-and-libraries">Tcl/Tk headers and libraries</a>.
 
-</li><li> Support for Cairo-based graphics devices. See <a href="#Cairo-graphics">Cairo graphics</a>.
+</li><li>Support for Cairo-based graphics devices. See <a class="xref" href="#Cairo-graphics">Cairo graphics</a>.
 
-</li><li> A TeX installation. See <a href="#Other-libraries">Other libraries</a>.
+</li><li>A TeX installation. See <a class="xref" href="#Other-libraries">Other libraries</a>.
 
-</li><li> <code>texi2any</code> from a Texinfo distribution, which requires
-<code>perl</code> (currently a default part of macOS but it has been
+</li><li><code class="command">texi2any</code> from a Texinfo distribution, which requires
+<code class="command">perl</code> (currently a default part of macOS but it has been
 announced that it may not be in future).
-A version of <code>texi2any</code> has been included in the binary
-distribution of R and there is a &lsquo;<samp>texinfo</samp>&rsquo; component at
-<a href="https://mac.r-project.org/bin/">https://mac.r-project.org/bin/</a>.
+A version of <code class="command">texi2any</code> has been included in the binary
+distribution of R and there is a &lsquo;<samp class="samp">texinfo</samp>&rsquo; component at
+<a class="uref" href="https://mac.r-project.org/bin/">https://mac.r-project.org/bin/</a>.
 </li></ul>
 
 <p>To build R itself from the sources with the C/C++ compilers in the
-Command Line Tools (or Xcode) and <code>gfortran</code> from the installer
-mentioned below, use a file <samp>config.site</samp> containing
+Command Line Tools (or Xcode) and <code class="command">gfortran</code> from the installer
+mentioned below, use a file <samp class="file">config.site</samp> containing
 </p><div class="example">
-<pre class="example">CC=clang
+<pre class="example-preformatted">CC=clang
 OBJC=$CC
 FC=&quot;/opt/gfortran/bin/gfortran -mtune=native&quot;
 CPPFLAGS='-isystem $LOCAL/include'
@@ -5277,72 +5273,72 @@
 </pre></div>
 <p>and configure by something like
 </p><div class="example">
-<pre class="example">./configure -C \
+<pre class="example-preformatted">./configure -C \
 --enable-R-shlib --enable-memory-profiling \
 --x-includes=/opt/X11/include --x-libraries=/opt/X11/lib \
 --with-tcl-config=$LOCAL/lib/tclConfig.sh \
 --with-tk-config=$LOCAL/lib/tkConfig.sh \
 PKG_CONFIG_PATH=$LOCAL/lib/pkgconfig:/usr/lib/pkgconfig
 </pre></div>
-<p>(See below for other options for Tcl/Tk.)  For an &lsquo;<samp>arm64</samp>&rsquo; build
-further flags are desirable in <samp>config.site</samp>:
+<p>(See below for other options for Tcl/Tk.)  For an &lsquo;<samp class="samp">arm64</samp>&rsquo; build
+further flags are desirable in <samp class="file">config.site</samp>:
 </p><div class="example">
-<pre class="example">CFLAGS=&quot;-falign-functions=8 -g -O2&quot;
+<pre class="example-preformatted">CFLAGS=&quot;-falign-functions=8 -g -O2&quot;
 </pre></div>
-<p>is needed to inter-work with <code>gfortran</code> without segfaulting in
-some packages.  Some builds of <code>gfortran</code> have targetted the
-current version of macOS (unlike <code>clang</code>), causing linker
+<p>is needed to inter-work with <code class="command">gfortran</code> without segfaulting in
+some packages.  Some builds of <code class="command">gfortran</code> have targetted the
+current version of macOS (unlike <code class="command">clang</code>), causing linker
 warnings: to avoid these use
 </p><div class="example">
-<pre class="example">FFLAGS=&quot;-g -O2 -mmacosx-version-min=11.0&quot;
+<pre class="example-preformatted">FFLAGS=&quot;-g -O2 -mmacosx-version-min=11.0&quot;
 FCFLAGS=&quot;-g -O2 -mmacosx-version-min=11.0&quot;
 </pre></div>
 <p>or perhaps
 </p><div class="example">
-<pre class="example">FFLAGS=&quot;-g -O2 -mmacos-version-min=11.0&quot;
+<pre class="example-preformatted">FFLAGS=&quot;-g -O2 -mmacos-version-min=11.0&quot;
 FCFLAGS=&quot;-g -O2 -mmacos-version-min=11.0&quot;
 </pre></div>
-<p>where <code>11.0</code> can be replaced by <code>12.0</code>, <code>13.0</code>,
-<code>14.0</code> or <code>15.0</code>
+<p>where <code class="code">11.0</code> can be replaced by <code class="code">12.0</code>, <code class="code">13.0</code>,
+<code class="code">14.0</code> or <code class="code">15.0</code>
 </p>
 <p>To install packages using compiled code one needs the Command Line Tools
 (or Xcode) and appropriate compilers, e.g. the C/C++ compilers from
-those tools and/or <code>gfortran</code>. Some packages have further
-requirements such as component <code>pkgconfig</code> (and to set
-<code>PKG_CONFIG_PATH=</code> as above).
+those tools and/or <code class="command">gfortran</code>. Some packages have further
+requirements such as component <code class="command">pkgconfig</code> (and to set
+<code class="env">PKG_CONFIG_PATH=</code> as above).
 </p>
 <p>A subversion client can be obtained from
-<a href="https://mac.r-project.org/tools/">https://mac.r-project.org/tools/</a>, for example by (Apple Silicon)
+<a class="uref" href="https://mac.r-project.org/tools/">https://mac.r-project.org/tools/</a>, for example by (Apple Silicon)
 </p><div class="example">
-<pre class="example">curl -OL https://mac.r-project.org/tools/subversion-1.14.3-darwin.20-arm64.tar.gz
+<pre class="example-preformatted">curl -OL https://mac.r-project.org/tools/subversion-1.14.3-darwin.20-arm64.tar.gz
 tar xf subversion-1.14.3-darwin.20-arm64.tar.gz 
 sudo cp subversion-1.14.3-darwin-20-arm64/svn $LOCAL/bin
 </pre></div>
 <p>or (Intel)
 </p><div class="example">
-<pre class="example">curl -OL https://mac.r-project.org/tools/subversion-1.14.3-darwin15.6.tar.gz
+<pre class="example-preformatted">curl -OL https://mac.r-project.org/tools/subversion-1.14.3-darwin15.6.tar.gz
 tar xf subversion-1.14.3-darwin15.6.tar.gz
 sudo cp subversion-1.14.3-darwin15.6/svn $LOCAL/bin
 </pre></div>
 
-<p>If building software or installing source packages with <code>cmake</code>
-(or a non-Apple <code>make</code>) for &lsquo;Apple Silicon&rsquo; ensure it contains
-the &lsquo;<samp>arm64</samp>&rsquo; architecture (use <code>file</code> to be sure).
-Running Apple compilers from an &lsquo;<samp>x86_64</samp>&rsquo; executable will
-generate &lsquo;<samp>x86_64</samp>&rsquo; code &hellip;.
+<p>If building software or installing source packages with <code class="command">cmake</code>
+(or a non-Apple <code class="command">make</code>) for &lsquo;Apple Silicon&rsquo; ensure it contains
+the &lsquo;<samp class="samp">arm64</samp>&rsquo; architecture (use <code class="command">file</code> to be sure).
+Running Apple compilers from an &lsquo;<samp class="samp">x86_64</samp>&rsquo; executable will
+generate &lsquo;<samp class="samp">x86_64</samp>&rsquo; code &hellip;.
 </p>
 
-<p>Updating an &lsquo;<samp>arm64</samp>&rsquo; build may fail because of the bug described
-at <a href="https://openradar.appspot.com/FB8914243">https://openradar.appspot.com/FB8914243</a> but <em>ab initio</em>
+<p>Updating an &lsquo;<samp class="samp">arm64</samp>&rsquo; build may fail because of the bug described
+at <a class="uref" href="https://openradar.appspot.com/FB8914243">https://openradar.appspot.com/FB8914243</a> but <em class="emph">ab initio</em>
 builds work.  This has been far rarer since macOS 13.
 </p>
-<p>If you are using the macOS 13 <abbr>SDK</abbr><a id="DOCF84" href="#FOOT84"><sup>84</sup></a>,
-you may need to add something like <code>-mmacos-version-min=12.0</code> to
-&lsquo;<samp>CFLAGS</samp>&rsquo;.
+<p>If you are using the macOS 13 <abbr class="abbr">SDK</abbr><a class="footnote" id="DOCF84" href="#FOOT84"><sup>84</sup></a>,
+you may need to add something like <code class="code">-mmacos-version-min=12.0</code> to
+&lsquo;<samp class="samp">CFLAGS</samp>&rsquo;.
 </p>
 <p>Linker warnings like
 </p><div class="example">
-<pre class="example">ld: warning: could not create compact unwind for _sort_:
+<pre class="example-preformatted">ld: warning: could not create compact unwind for _sort_:
    register 26 saved somewhere other than in frame
 ld: warning: ld: warning:
    could not create compact unwind for _arcoef_: registers 23 and 24 not saved contiguously in frame
@@ -5353,84 +5349,84 @@
 run-time libraries.
 </p>
 <p>The default security settings can make it difficult to install Apple
-packages which have not been &lsquo;notarized&rsquo;<a id="DOCF85" href="#FOOT85"><sup>85</sup></a>
+packages which have not been &lsquo;notarized&rsquo;<a class="footnote" id="DOCF85" href="#FOOT85"><sup>85</sup></a>
 by Apple.  And not just packages, as this has been seen for executables
-contained in tarballs/zipfiles (for example, for <code>pandoc</code>).
-Usually one can use &lsquo;<samp>Open With</samp>&rsquo; (Control/right/two-finger-click in
-Finder), then select &lsquo;<samp>Installer</samp>&rsquo; and &lsquo;<samp>Open</samp>&rsquo; if you get a
+contained in tarballs/zipfiles (for example, for <code class="command">pandoc</code>).
+Usually one can use &lsquo;<samp class="samp">Open With</samp>&rsquo; (Control/right/two-finger-click in
+Finder), then select &lsquo;<samp class="samp">Installer</samp>&rsquo; and &lsquo;<samp class="samp">Open</samp>&rsquo; if you get a
 further warning message.
 </p>
 <p>If you run into problems with &lsquo;quarantine&rsquo; for tarballs downloaded in a
-browser, consider using <code>curl -OL</code> to download (as illustrated
-above) or <code>xattr -c</code> to remove extended attributes.
+browser, consider using <code class="command">curl -OL</code> to download (as illustrated
+above) or <code class="command">xattr -c</code> to remove extended attributes.
 </p>
-<p><code>configure</code> defaults to <samp>--with-internal-tzcode</samp> on
+<p><code class="command">configure</code> defaults to <samp class="option">--with-internal-tzcode</samp> on
 macOS.  The native implementation used to be unusable on earlier
-versions (with a 32-bit <code>time_t</code> and/or timezone tables missing
+versions (with a 32-bit <code class="code">time_t</code> and/or timezone tables missing
 information beyond the 32-bit range).  As from macOS 12.6, option
-<samp>--without-internal-tzcode</samp> can be used to override this and R
+<samp class="option">--without-internal-tzcode</samp> can be used to override this and R
 contains sufficient workarounds (for example, the native code fails to
-recognize dates with a negative <code>tm_year</code>, that is dates before
+recognize dates with a negative <code class="code">tm_year</code>, that is dates before
 1900) for R to pass its checks.  However, there are discrepancies,
 notably in Europe in the 1900s and 1940s, even though the Olson database
 contains the correct information.
 </p>
 <hr>
 </div>
-<div class="subsection" id="Fortran-compilers">
-<span id="Fortran-compiler"></span><h4 class="subsection">C.3.2 Fortran compiler</h4>
+<div class="subsection-level-extent" id="Fortran-compilers">
+<h4 class="subsection" id="Fortran-compiler"><span>C.3.2 Fortran compiler<a class="copiable-link" href="#Fortran-compiler"> &para;</a></span></h4>
 
-<p>There is a &lsquo;universal&rsquo; (<code>arm64</code> and Intel) build of
-<code>gfortran</code> 14.2 at
-<a href="https://mac.r-project.org/tools/gfortran-14.2-universal.pkg">https://mac.r-project.org/tools/gfortran-14.2-universal.pkg</a>/
-This installs into <samp>/opt/gfortran</samp>.
-</p>
-<p>The <samp>/opt/gfortran/SDK</samp> symlink should point to the desired path to
-the <abbr>SDK</abbr> (defaults to the command line tools <abbr>SDK</abbr>). This can be updated by
-running <samp>/opt/gfortran/bin/gfortran-update-sdk</samp> or manually. If the
-symlink is broken, the driver will issue a warning and use <code>xcrun
--show-sdk-path</code> to try to find an <abbr>SDK</abbr> and use its path.  (The <abbr>SDK</abbr> path
-is used when using <code>gfortran</code> to link, so not when building R
+<p>There is a &lsquo;universal&rsquo; (<code class="code">arm64</code> and Intel) build of
+<code class="command">gfortran</code> 14.2 at
+<a class="uref" href="https://mac.r-project.org/tools/gfortran-14.2-universal.pkg">https://mac.r-project.org/tools/gfortran-14.2-universal.pkg</a>/
+This installs into <samp class="file">/opt/gfortran</samp>.
+</p>
+<p>The <samp class="file">/opt/gfortran/SDK</samp> symlink should point to the desired path to
+the <abbr class="abbr">SDK</abbr> (defaults to the command line tools <abbr class="abbr">SDK</abbr>). This can be updated by
+running <samp class="file">/opt/gfortran/bin/gfortran-update-sdk</samp> or manually. If the
+symlink is broken, the driver will issue a warning and use <code class="code">xcrun
+-show-sdk-path</code> to try to find an <abbr class="abbr">SDK</abbr> and use its path.  (The <abbr class="abbr">SDK</abbr> path
+is used when using <code class="command">gfortran</code> to link, so not when building R
 but when installing a few packages.)
 </p>
-<p>Other builds of <code>gfortran</code> for <code>arm64</code> macOS 14 are
+<p>Other builds of <code class="command">gfortran</code> for <code class="code">arm64</code> macOS 14 are
 available at
-<a href="https://github.com/fxcoudert/gfortran-for-macOS/releases">https://github.com/fxcoudert/gfortran-for-macOS/releases</a>. To use
-one of the pre-built compilers with Apple <code>clang</code> needs
+<a class="uref" href="https://github.com/fxcoudert/gfortran-for-macOS/releases">https://github.com/fxcoudert/gfortran-for-macOS/releases</a>. To use
+one of the pre-built compilers with Apple <code class="command">clang</code> needs
 something like
 </p><div class="example">
-<pre class="example">LDFLAGS=&quot;-L/opt/R/arm64/lib -rpath /usr/local/gfortran/lib&quot;
+<pre class="example-preformatted">LDFLAGS=&quot;-L/opt/R/arm64/lib -rpath /usr/local/gfortran/lib&quot;
 </pre></div>
-<p>in <samp>config.site</samp> to ensure the matching Fortran run-time libraries are
+<p>in <samp class="file">config.site</samp> to ensure the matching Fortran run-time libraries are
 found.
 </p>
 <hr>
 </div>
-<div class="subsection" id="Cairo-graphics">
-<span id="Cairo-graphics-1"></span><h4 class="subsection">C.3.3 Cairo graphics</h4>
+<div class="subsection-level-extent" id="Cairo-graphics">
+<h4 class="subsection" id="Cairo-graphics-1"><span>C.3.3 Cairo graphics<a class="copiable-link" href="#Cairo-graphics-1"> &para;</a></span></h4>
 
-<span id="index-Cairo-3"></span>
-<p>Cairo-based graphics devices such as <code>cairo_ps</code>, <code>cairo_pdf</code>,
-<code>X11(type = &quot;cairo&quot;)</code> and the Cairo-based types of devices
-<code>bmp</code> <code>jpeg</code>, <code>png</code> and <code>tiff</code> are not the default
+<a class="index-entry-id" id="index-Cairo-3"></a>
+<p>Cairo-based graphics devices such as <code class="code">cairo_ps</code>, <code class="code">cairo_pdf</code>,
+<code class="code">X11(type = &quot;cairo&quot;)</code> and the Cairo-based types of devices
+<code class="code">bmp</code> <code class="code">jpeg</code>, <code class="code">png</code> and <code class="code">tiff</code> are not the default
 on macOS, and much less used than the Quartz-based devices.  However,
-the only SVG device in the R distribution, <code>svg</code>, is based on
+the only SVG device in the R distribution, <code class="code">svg</code>, is based on
 Cairo.
 </p>
 <p>Support for Cairo is optional and can be added in several ways, all of
-which need <code>pkg-config</code>. <code>configure</code> will add Cairo support
-if <code>pkg-config</code> finds package <code>cairo</code> unless
-<code>--without-cairo</code> is used.
+which need <code class="code">pkg-config</code>. <code class="command">configure</code> will add Cairo support
+if <code class="code">pkg-config</code> finds package <code class="code">cairo</code> unless
+<code class="code">--without-cairo</code> is used.
 </p>
 <p>A way to statically link Cairo is by downloading and unpacking
-components <code>cairo</code>, <code>fontconfig</code>, <code>freetype</code>,
-<code>pixman</code> and <code>zlib-system-stub</code> (and do not have
-<samp>/opt/X11/lib/pkgconfig</samp> in <code>PKG_CONFIG_PATH</code>).  Some static
-builds of <code>fontconfig</code> need <code>libxml2</code> (from component
-<code>xml2</code>) and others <code>expat</code>, supplied by macOS but needing a
-file <samp>$LOCAL/lib/pkgconfig/expat.pc</samp> along the lines of
+components <code class="code">cairo</code>, <code class="code">fontconfig</code>, <code class="code">freetype</code>,
+<code class="code">pixman</code> and <code class="code">zlib-system-stub</code> (and do not have
+<samp class="file">/opt/X11/lib/pkgconfig</samp> in <code class="env">PKG_CONFIG_PATH</code>).  Some static
+builds of <code class="code">fontconfig</code> need <code class="code">libxml2</code> (from component
+<code class="code">xml2</code>) and others <code class="code">expat</code>, supplied by macOS but needing a
+file <samp class="file">$LOCAL/lib/pkgconfig/expat.pc</samp> along the lines of
 </p><div class="example">
-<pre class="example">Name: expat
+<pre class="example-preformatted">Name: expat
 Version: 2.2.8
 Description: expat XML parser
 URL: http://www.libexpat.org
@@ -5438,39 +5434,39 @@
 Cflags: 
 </pre></div>
 <p>Note that the list of components is liable to change: running
-<code>pkg-config cairo --exists --print-errors</code> should tell you if
+<code class="command">pkg-config cairo --exists --print-errors</code> should tell you if
 any others are required.
 </p>
 
 
-<span id="index-Pango-1"></span>
+<a class="index-entry-id" id="index-Pango-1"></a>
 <p>The best font experience of Cairo graphics will be to use it in
 combination with Pango which will match that supported on most other
-Unix-alikes.  <code>configure</code> uses <code>pkg-config</code> to determine
+Unix-alikes.  <code class="command">configure</code> uses <code class="command">pkg-config</code> to determine
 if all the external software required by both Pango and Cairo is
-available: running <code>pkg-config pangocairo --exists
+available: running <code class="command">pkg-config pangocairo --exists
 --print-errors</code> should show if the installation suffices and if not,
 what is missing.  At the time of writing using pre-built components
-<code>cairo</code>, <code>fontconfig</code>, <code>freetype</code>, <code>ffi</code>,
-<code>fribidi</code>, <code>gettext</code>, <code>icu</code>, <code>glib</code>,
-<code>harfbuzz</code>, <code>pango</code>, <code>pcre</code>, <code>pixman</code> and
-<code>xml2</code> sufficed.
+<code class="code">cairo</code>, <code class="code">fontconfig</code>, <code class="code">freetype</code>, <code class="code">ffi</code>,
+<code class="code">fribidi</code>, <code class="code">gettext</code>, <code class="code">icu</code>, <code class="code">glib</code>,
+<code class="code">harfbuzz</code>, <code class="code">pango</code>, <code class="code">pcre</code>, <code class="code">pixman</code> and
+<code class="code">xml2</code> sufficed.
 </p>
 <hr>
 </div>
-<div class="subsection" id="Other-C_002fC_002b_002b-compilers">
-<span id="Other-C_002fC_002b_002b-compilers-1"></span><h4 class="subsection">C.3.4 Other C/C++ compilers</h4>
+<div class="subsection-level-extent" id="Other-C_002fC_002b_002b-compilers">
+<h4 class="subsection" id="Other-C_002fC_002b_002b-compilers-1"><span>C.3.4 Other C/C++ compilers<a class="copiable-link" href="#Other-C_002fC_002b_002b-compilers-1"> &para;</a></span></h4>
 
-<p>Other pre-compiled distributions of <code>clang</code> may be available
-from <a href="https://github.com/llvm/llvm-project/releases/">https://github.com/llvm/llvm-project/releases/</a> (recently
-only for <code>arm64</code> and usually unsigned/not notarized which makes
+<p>Other pre-compiled distributions of <code class="command">clang</code> may be available
+from <a class="uref" href="https://github.com/llvm/llvm-project/releases/">https://github.com/llvm/llvm-project/releases/</a> (recently
+only for <code class="code">arm64</code> and usually unsigned/not notarized which makes
 them hard to use).  In particular, these include support for
-<abbr>OpenMP</abbr> which Apple <code>clang</code> does not.
+<abbr class="abbr">OpenMP</abbr> which Apple <code class="command">clang</code> does not.
 </p>
 <p>Suppose one of these distributions is installed under
-<samp>$LOCAL/llvm</samp>. Use a file <samp>config.site</samp> containing
+<samp class="file">$LOCAL/llvm</samp>. Use a file <samp class="file">config.site</samp> containing
 </p><div class="example">
-<pre class="example">SDK=`xcrun -show-sdk-path`
+<pre class="example-preformatted">SDK=`xcrun -show-sdk-path`
 CC=&quot;$LOCAL/llvm/bin/clang -isysroot $SDK&quot;
 CXX=&quot;$LOCAL/llvm/bin/clang++ -isysroot $SDK&quot;
 OBJC=$CC
@@ -5479,25 +5475,25 @@
 R_LD_LIBRARY_PATH=$LOCAL/llvm/lib:$LOCAL/lib
 </pre></div>
 
-<p>The care to specify library paths is to ensure that the <abbr>OpenMP</abbr> runtime
-library, here <samp>$LOCAL/llvm/lib/libomp.dylib</samp>, is found when needed.
+<p>The care to specify library paths is to ensure that the <abbr class="abbr">OpenMP</abbr> runtime
+library, here <samp class="file">$LOCAL/llvm/lib/libomp.dylib</samp>, is found when needed.
 If this works, you should see the line
 </p><div class="example">
-<pre class="example">checking whether OpenMP SIMD reduction is supported... yes
+<pre class="example-preformatted">checking whether OpenMP SIMD reduction is supported... yes
 </pre></div>
-<p>in the <code>configure</code> output.  Also, &lsquo;<samp>R_LD_LIBRARY_PATH</samp>&rsquo; needs
+<p>in the <code class="command">configure</code> output.  Also, &lsquo;<samp class="samp">R_LD_LIBRARY_PATH</samp>&rsquo; needs
 to be set to find the latest version of the C++ run-time libraries
 rather than the system ones.
 </p>
 <p>It is normally possible to build R with GCC (built from the sources,
-from a <code>gfortran</code> distribution, from Homebrew, &hellip;).
-When last tested it was not possible to use <code>gcc</code> to build the
-<code>quartz()</code> device, so <code>configure --without-aqua</code> may be
+from a <code class="command">gfortran</code> distribution, from Homebrew, &hellip;).
+When last tested it was not possible to use <code class="command">gcc</code> to build the
+<code class="code">quartz()</code> device, so <code class="command">configure --without-aqua</code> may be
 required.  R was built and tested with the GCC 14.2 compilers in the
-<code>arm64</code> <code>gfortran</code> distribution mentioned above using a
-<samp>config.site</samp> containing
+<code class="code">arm64</code> <code class="command">gfortran</code> distribution mentioned above using a
+<samp class="file">config.site</samp> containing
 </p><div class="example">
-<pre class="example">CC=/opt/gfortran/bin/gcc
+<pre class="example-preformatted">CC=/opt/gfortran/bin/gcc
 CXX=/opt/gfortran/bin/g++
 FC=/opt/gfortran/bin/gfortran
 CFLAGS=&quot;-g -O2 -Wall -pedantic -Wstrict-prototypes&quot;
@@ -5509,130 +5505,130 @@
 LDFLAGS=-L/opt/R/arm64/lib
 </pre></div>
 
-<p>It is usually possible to add some <abbr>OpenMP</abbr> support to the Apple
-<code>clang</code> compilers: see <a href="https://mac.r-project.org/openmp/">https://mac.r-project.org/openmp/</a>.
+<p>It is usually possible to add some <abbr class="abbr">OpenMP</abbr> support to the Apple
+<code class="command">clang</code> compilers: see <a class="uref" href="https://mac.r-project.org/openmp/">https://mac.r-project.org/openmp/</a>.
 Note that that approach is somewhat fragile as it needs a
-<samp>libomp.dylib</samp> library matching the version of the compiler
+<samp class="file">libomp.dylib</samp> library matching the version of the compiler
 used.
 </p>
 <hr>
 </div>
-<div class="subsection" id="Other-libraries">
-<span id="Other-libraries-1"></span><h4 class="subsection">C.3.5 Other libraries</h4>
+<div class="subsection-level-extent" id="Other-libraries">
+<h4 class="subsection" id="Other-libraries-1"><span>C.3.5 Other libraries<a class="copiable-link" href="#Other-libraries-1"> &para;</a></span></h4>
 
 
-<p>Pre-compiled versions of many of the <a href="#Useful-libraries-and-programs">Useful libraries and programs</a>
-are available from <a href="https://mac.r-project.org/bin//">https://mac.r-project.org/bin//</a>.
+<p>Pre-compiled versions of many of the <a class="ref" href="#Useful-libraries-and-programs">Useful libraries and programs</a>
+are available from <a class="uref" href="https://mac.r-project.org/bin//">https://mac.r-project.org/bin//</a>.
 </p>
 
 <p>Looking at the top of
-<samp>/Library/Frameworks/R.framework/Resources/etc/Makeconf</samp>
+<samp class="file">/Library/Frameworks/R.framework/Resources/etc/Makeconf</samp>
 will show the compilers and configuration options used for the
-<acronym>CRAN</acronym> binary package for R: at the time of writing the
+<abbr class="acronym">CRAN</abbr> binary package for R: at the time of writing the
 non-default options
 </p><div class="example">
-<pre class="example">--enable-memory-profiling --enable-R-framework
+<pre class="example-preformatted">--enable-memory-profiling --enable-R-framework
 --x-libraries=/opt/X11/lib --x-includes=/opt/X11/include
 </pre></div>
-<p>were used. (<samp>--enable-R-framework</samp> implies <samp>--enable-R-shlib</samp>.)
+<p>were used. (<samp class="option">--enable-R-framework</samp> implies <samp class="option">--enable-R-shlib</samp>.)
 </p>
 <p>The main TeX implementation used by the developers is
-MacTeX<a id="DOCF86" href="#FOOT86"><sup>86</sup></a>
-(<a href="https://www.tug.org/mactex/">https://www.tug.org/mactex/</a>): the full installation is about
+MacTeX<a class="footnote" id="DOCF86" href="#FOOT86"><sup>86</sup></a>
+(<a class="uref" href="https://www.tug.org/mactex/">https://www.tug.org/mactex/</a>): the full installation is about
 8.5GB, but a much smaller version (&lsquo;Basic TeX&rsquo;) is available at
-<a href="https://www.tug.org/mactex/morepackages.html">https://www.tug.org/mactex/morepackages.html</a> to which you will
+<a class="uref" href="https://www.tug.org/mactex/morepackages.html">https://www.tug.org/mactex/morepackages.html</a> to which you will
 need to add some packages to build R, e.g. for the 2022 version we
-needed to add<a id="DOCF87" href="#FOOT87"><sup>87</sup></a> <strong>helvetic</strong>, <strong>inconsolata</strong> and
-<strong>texinfo</strong> which brought this to about 310MB.<a id="DOCF88" href="#FOOT88"><sup>88</sup></a>
-&lsquo;<samp>TeX Live Utility</samp>&rsquo; (available <em>via</em> the MacTeX front page)
+needed to add<a class="footnote" id="DOCF87" href="#FOOT87"><sup>87</sup></a> <strong class="strong">helvetic</strong>, <strong class="strong">inconsolata</strong> and
+<strong class="strong">texinfo</strong> which brought this to about 310MB.<a class="footnote" id="DOCF88" href="#FOOT88"><sup>88</sup></a>
+&lsquo;<samp class="samp">TeX Live Utility</samp>&rsquo; (available <em class="emph">via</em> the MacTeX front page)
 provides a graphical means to manage TeX packages.  These contain
-executables which run natively on both &lsquo;<samp>arm64</samp>&rsquo; and
-&lsquo;<samp>x86_64</samp>&rsquo;.
+executables which run natively on both &lsquo;<samp class="samp">arm64</samp>&rsquo; and
+&lsquo;<samp class="samp">x86_64</samp>&rsquo;.
 </p>
 <p>Checking packages thoroughly requires Ghostscript (part of the full
 MacTeX distribution or separately from
-<a href="https://www.tug.org/mactex/morepackages.html">https://www.tug.org/mactex/morepackages.html</a>) and <code>qpdf</code>
-(from <a href="https://mac.r-project.org/bin//">https://mac.r-project.org/bin//</a>, a version of which is in
-the <samp>bin</samp> directory of a binary installation of R, usually
-<samp>/Library/Frameworks/R.framework/Resources/bin/qpdf</samp>).
+<a class="uref" href="https://www.tug.org/mactex/morepackages.html">https://www.tug.org/mactex/morepackages.html</a>) and <code class="command">qpdf</code>
+(from <a class="uref" href="https://mac.r-project.org/bin//">https://mac.r-project.org/bin//</a>, a version of which is in
+the <samp class="file">bin</samp> directory of a binary installation of R, usually
+<samp class="file">/Library/Frameworks/R.framework/Resources/bin/qpdf</samp>).
 </p>
-<p><code>R CMD check --as-cran</code> makes use of &lsquo;HTML Tidy&rsquo;.  macOS at the
-time of writing has a version in <samp>/usr/bin/tidy</samp> dating from 2006
+<p><code class="command">R CMD check --as-cran</code> makes use of &lsquo;HTML Tidy&rsquo;.  macOS at the
+time of writing has a version in <samp class="file">/usr/bin/tidy</samp> dating from 2006
 which is far too old.  Up-to-date versions can be
-installed from <a href="http://binaries.html-tidy.org/">http://binaries.html-tidy.org/</a>.
+installed from <a class="uref" href="http://binaries.html-tidy.org/">http://binaries.html-tidy.org/</a>.
 </p>
-<p>One macOS quirk is that the default path has <samp>/usr/local/bin</samp> after
-<samp>/usr/bin</samp>, contrary to common practice on Unix-alikes.  This means
+<p>One macOS quirk is that the default path has <samp class="file">/usr/local/bin</samp> after
+<samp class="file">/usr/bin</samp>, contrary to common practice on Unix-alikes.  This means
 that if you install tools from the sources they will by default be
-installed under <samp>/usr/local</samp> and not supersede the system
+installed under <samp class="file">/usr/local</samp> and not supersede the system
 versions.
 </p>
 <p>Parallel installation of packages will make use of the utility
-<code>timeout</code> if available.  A &lsquo;universal&rsquo;  build can be
-downloaded from <a href="https://www.stats.ox.ac.uk/pub/bdr/timeout">https://www.stats.ox.ac.uk/pub/bdr/timeout</a>: make
-it executable (<code>chmod 755 timeout</code>) and put it somewhere on your
+<code class="command">timeout</code> if available.  A &lsquo;universal&rsquo;  build can be
+downloaded from <a class="uref" href="https://www.stats.ox.ac.uk/pub/bdr/timeout">https://www.stats.ox.ac.uk/pub/bdr/timeout</a>: make
+it executable (<code class="code">chmod 755 timeout</code>) and put it somewhere on your
 path.
 </p>
 
 <hr>
-<div class="subsubsection" id="Accelerate">
-<span id="Accelerate-1"></span><h4 class="subsubsection">C.3.5.1 Accelerate</h4>
+<div class="subsubsection-level-extent" id="Accelerate">
+<h4 class="subsubsection" id="Accelerate-1"><span>C.3.5.1 Accelerate<a class="copiable-link" href="#Accelerate-1"> &para;</a></span></h4>
 
-<span id="index-BLAS-library-1"></span>
-<span id="index-LAPACK-library-1"></span>
-<p>The <code>Accelerate</code>
-library<a id="DOCF89" href="#FOOT89"><sup>89</sup></a>
-can be used <em>via</em> the configuration option
-</p>
-<div class="example">
-<pre class="example">--with-blas=&quot;-framework Accelerate&quot;
-</pre></div>
-
-<p>to provide potentially higher-performance versions of the <acronym>BLAS</acronym>
-and LAPACK routines.<a id="DOCF90" href="#FOOT90"><sup>90</sup></a>
-This includes a full LAPACK which can be used <em>via</em>
-<samp>--with-lapack</samp>: however, the version of LAPACK it contains has
-often been seriously old (and is not used unless <samp>--with-lapack</samp>
-is specified).  Some <acronym>CRAN</acronym> builds of R can be
-switched<a id="DOCF91" href="#FOOT91"><sup>91</sup></a>
+<a class="index-entry-id" id="index-BLAS-library-1"></a>
+<a class="index-entry-id" id="index-LAPACK-library-1"></a>
+<p>The <code class="code">Accelerate</code>
+library<a class="footnote" id="DOCF89" href="#FOOT89"><sup>89</sup></a>
+can be used <em class="emph">via</em> the configuration option
+</p>
+<div class="example">
+<pre class="example-preformatted">--with-blas=&quot;-framework Accelerate&quot;
+</pre></div>
+
+<p>to provide potentially higher-performance versions of the <abbr class="acronym">BLAS</abbr>
+and LAPACK routines.<a class="footnote" id="DOCF90" href="#FOOT90"><sup>90</sup></a>
+This includes a full LAPACK which can be used <em class="emph">via</em>
+<samp class="option">--with-lapack</samp>: however, the version of LAPACK it contains has
+often been seriously old (and is not used unless <samp class="option">--with-lapack</samp>
+is specified).  Some <abbr class="acronym">CRAN</abbr> builds of R can be
+switched<a class="footnote" id="DOCF91" href="#FOOT91"><sup>91</sup></a>
 to use Accelerate&rsquo;s BLAS.
 </p>
 <p>As from macOS 13.3, the BLAS and LAPACK libraries under the Accelerate
 framework are &lsquo;now inline with reference version
-3.9.1&rsquo;.<a id="DOCF92" href="#FOOT92"><sup>92</sup></a> However, this has been done by
-naming new entry points and so only accessible <em>via</em> their C
-headers.  That version can be used for BLAS calls <em>via</em>
-<code>configure</code> option <samp>--with-newAccelerate</samp>: it requires at
-least macOS 13.3 and <abbr>SDK</abbr> 13.3 (from Xcode CLT 14.3).  To use it for both
+3.9.1&rsquo;.<a class="footnote" id="DOCF92" href="#FOOT92"><sup>92</sup></a> However, this has been done by
+naming new entry points and so only accessible <em class="emph">via</em> their C
+headers.  That version can be used for BLAS calls <em class="emph">via</em>
+<code class="command">configure</code> option <samp class="option">--with-newAccelerate</samp>: it requires at
+least macOS 13.3 and <abbr class="abbr">SDK</abbr> 13.3 (from Xcode CLT 14.3).  To use it for both
 BLAS and LAPACK calls, configure with
-<samp>--with-newAccelerate=lapack</samp>.  These options cannot be used with
-others such as <samp>--with-blas</samp> and <samp>--with-lapack</samp>.
+<samp class="option">--with-newAccelerate=lapack</samp>.  These options cannot be used with
+others such as <samp class="option">--with-blas</samp> and <samp class="option">--with-lapack</samp>.
 </p>
-<p>As from R&nbsp;4.5.0, specifying <samp>--with-newAccelerate</samp> also
-requires the option <samp>--with-2025blas</samp>.  (Using
-<samp>--with-newAccelerate=lapack</samp> does not.)
+<p>As from R&nbsp;4.5.0, specifying <samp class="option">--with-newAccelerate</samp> also
+requires the option <samp class="option">--with-2025blas</samp>.  (Using
+<samp class="option">--with-newAccelerate=lapack</samp> does not.)
 </p>
 <p>Threading in Accelerate is controlled by &lsquo;Grand Central
-Dispatch&rsquo;<a id="DOCF93" href="#FOOT93"><sup>93</sup></a> and is
-said not to need user control.  Test <samp>nls.R</samp> in package <strong>stats</strong>
+Dispatch&rsquo;<a class="footnote" id="DOCF93" href="#FOOT93"><sup>93</sup></a> and is
+said not to need user control.  Test <samp class="file">nls.R</samp> in package <strong class="strong">stats</strong>
 has often failed with the Accelerate BLAS on Intel macOS.  All versions
 of Accelerate show differences from the reference BLAS (and most others)
-in the use of <code>NA</code> <em>vs</em> <code>NaN</code> and a substantial number of
+in the use of <code class="code">NA</code> <em class="emph">vs</em> <code class="code">NaN</code> and a substantial number of
 R packages fail their checks.
 </p>
 <hr>
 </div>
-<div class="subsubsection" id="OpenBLAS-_0028macOS_0029">
-<span id="OpenBLAS"></span><h4 class="subsubsection">C.3.5.2 OpenBLAS</h4>
+<div class="subsubsection-level-extent" id="OpenBLAS-_0028macOS_0029">
+<h4 class="subsubsection" id="OpenBLAS"><span>C.3.5.2 OpenBLAS<a class="copiable-link" href="#OpenBLAS"> &para;</a></span></h4>
 
-<p>R has been built on &lsquo;<samp>arm64</samp>&rsquo; using OpenBLAS 0.3.29 (sources
-from <a href="https://github.com/OpenMathLib/OpenBLAS/releases">https://github.com/OpenMathLib/OpenBLAS/releases</a>) by
-symlinking <samp>/opt/OpenBLAS/lib/libopenblas.dylib</samp> to
-<samp>lib/libRblas.dylib</samp> (see <a href="#Shared-BLAS">Shared BLAS</a>).
-</p>
-<p>On macOS, a default build of OpenBLAS uses <code>pthreads</code> (as macOS
-does not have <abbr>OpenMP</abbr>) with the number of threads controlled by
-environment variable <code>OPENBLAS_NUM_THREADS</code>.  On an M1 Pro this
+<p>R has been built on &lsquo;<samp class="samp">arm64</samp>&rsquo; using OpenBLAS 0.3.29 (sources
+from <a class="uref" href="https://github.com/OpenMathLib/OpenBLAS/releases">https://github.com/OpenMathLib/OpenBLAS/releases</a>) by
+symlinking <samp class="file">/opt/OpenBLAS/lib/libopenblas.dylib</samp> to
+<samp class="file">lib/libRblas.dylib</samp> (see <a class="ref" href="#Shared-BLAS">Shared BLAS</a>).
+</p>
+<p>On macOS, a default build of OpenBLAS uses <code class="code">pthreads</code> (as macOS
+does not have <abbr class="abbr">OpenMP</abbr>) with the number of threads controlled by
+environment variable <code class="env">OPENBLAS_NUM_THREADS</code>.  On an M1 Pro this
 defaulted to 10 threads (there are 8 &lsquo;performance&rsquo; cores and 2
 &lsquo;efficiency cores&lsquo;) and we saw a 9x speedup over the reference BLAS on a
 large SVD (which was slightly faster than Accelerate).
@@ -5641,321 +5637,321 @@
 <hr>
 </div>
 </div>
-<div class="subsection" id="Tcl_002fTk-headers-and-libraries">
-<span id="Tcl_002fTk-headers-and-libraries-1"></span><h4 class="subsection">C.3.6 Tcl/Tk headers and libraries</h4>
+<div class="subsection-level-extent" id="Tcl_002fTk-headers-and-libraries">
+<h4 class="subsection" id="Tcl_002fTk-headers-and-libraries-1"><span>C.3.6 Tcl/Tk headers and libraries<a class="copiable-link" href="#Tcl_002fTk-headers-and-libraries-1"> &para;</a></span></h4>
 
-<p>If you plan to use the <code>tcltk</code> package for R, you will need to
+<p>If you plan to use the <code class="code">tcltk</code> package for R, you will need to
 install a distribution of Tcl/Tk.  There are two alternatives.  If you
-use <small>R.APP</small> you will want to use X11-based Tcl/Tk (as used on other
-Unix-alikes), which is installed under <samp>$LOCAL/lib</samp> as part of the <acronym>CRAN</acronym> binary for
-R.<a id="DOCF94" href="#FOOT94"><sup>94</sup></a>  This may need <code>configure</code>
+use <small class="sc">R.APP</small> you will want to use X11-based Tcl/Tk (as used on other
+Unix-alikes), which is installed under <samp class="file">$LOCAL/lib</samp> as part of the <abbr class="acronym">CRAN</abbr> binary for
+R.<a class="footnote" id="DOCF94" href="#FOOT94"><sup>94</sup></a>  This may need <code class="command">configure</code>
 options
 </p><div class="example">
-<pre class="example">--with-tcltk=$LOCAL/lib
+<pre class="example-preformatted">--with-tcltk=$LOCAL/lib
 </pre></div>
 <p>or
 </p><div class="example">
-<pre class="example">--with-tcl-config=$LOCAL/lib/tclConfig.sh
+<pre class="example-preformatted">--with-tcl-config=$LOCAL/lib/tclConfig.sh
 --with-tk-config=$LOCAL/lib/tkConfig.sh
 </pre></div>
 <p>Note that this requires a matching XQuartz installation.
 </p>
 <p>There is also a native (&lsquo;Aqua&rsquo;) version of Tcl/Tk which produces widgets
-in the native macOS style: this will not work with <small>R.APP</small> because of
+in the native macOS style: this will not work with <small class="sc">R.APP</small> because of
 conflicts over the macOS menu, but for those only using command-line
 R this provides a much more intuitive interface to Tk for experienced
 Mac users.  Earlier versions of macOS came with an Aqua Tcl/Tk
 distribution but these were often not at all recent versions of Tcl/Tk.
-It is better to install Tcl/Tk 8.6.x from the sources<a id="DOCF95" href="#FOOT95"><sup>95</sup></a> or a binary distribution from
-<a href="https://www.activestate.com/platform/supported-languages/tcl/">https://www.activestate.com/platform/supported-languages/tcl/</a>.
+It is better to install Tcl/Tk 8.6.x from the sources<a class="footnote" id="DOCF95" href="#FOOT95"><sup>95</sup></a> or a binary distribution from
+<a class="uref" href="https://www.activestate.com/platform/supported-languages/tcl/">https://www.activestate.com/platform/supported-languages/tcl/</a>.
 For the latter,
 configure R with
 </p><div class="example">
-<pre class="example">--with-tcl-config=/Library/Frameworks/Tcl.framework/tclConfig.sh 
+<pre class="example-preformatted">--with-tcl-config=/Library/Frameworks/Tcl.framework/tclConfig.sh 
 --with-tk-config=/Library/Frameworks/Tk.framework/tkConfig.sh
 </pre></div>
 
 <p>If you need to find out which distribution of Tk is in use at run time,
 use
 </p><div class="example">
-<pre class="example">library(tcltk)
+<pre class="example-preformatted">library(tcltk)
 tclvalue(.Tcl(&quot;tk windowingsystem&quot;))  # &quot;x11&quot; or &quot;aqua&quot;
 </pre></div>
 
 <p>Note that some Tcl/Tk extensions only support the X11 interface: this
-includes <code>Tktable</code> and the <acronym>CRAN</acronym> package
-<a href="https://CRAN.R-project.org/package=tkrplot"><strong>tkrplot</strong></a>.
+includes <code class="code">Tktable</code> and the <abbr class="acronym">CRAN</abbr> package
+<a class="url" href="https://CRAN.R-project.org/package=tkrplot"><strong class="strong">tkrplot</strong></a>.
 </p>
 <hr>
 </div>
-<div class="subsection" id="Java-_0028macOS_0029">
-<span id="Java"></span><h4 class="subsection">C.3.7 Java</h4>
+<div class="subsection-level-extent" id="Java-_0028macOS_0029">
+<h4 class="subsection" id="Java"><span>C.3.7 Java<a class="copiable-link" href="#Java"> &para;</a></span></h4>
 
 
-<p>macOS does not comes with an installed Java runtime (<abbr>JRE</abbr>) and a
+<p>macOS does not comes with an installed Java runtime (<abbr class="abbr">JRE</abbr>) and a
 macOS upgrade may remove one if already installed: it is intended to be
-installed at first use.  Check if a <abbr>JRE</abbr> is installed by running
-<code>java -version</code> in a <code>Terminal</code> window: if Java is not
-installed this may prompt you to install it from Oracle<a id="DOCF96" href="#FOOT96"><sup>96</sup></a>
+installed at first use.  Check if a <abbr class="abbr">JRE</abbr> is installed by running
+<code class="command">java -version</code> in a <code class="command">Terminal</code> window: if Java is not
+installed this may prompt you to install it from Oracle<a class="footnote" id="DOCF96" href="#FOOT96"><sup>96</sup></a>
 (but see the next paragraph).  We recommend you install a version with
-long-term support, e.g. 17 or 21<a id="DOCF97" href="#FOOT97"><sup>97</sup></a>  but not 18&ndash;20, 22&ndash;24
+long-term support, e.g. 17 or 21<a class="footnote" id="DOCF97" href="#FOOT97"><sup>97</sup></a>  but not 18&ndash;20, 22&ndash;24
 with a 6-month lifetime. 
 </p>
 <p>The currently simplest way to install Java is from
-<a href="https://adoptium.net">Adoptium</a><a id="DOCF98" href="#FOOT98"><sup>98</sup></a>: this installs into an
-Apple-standard location and so works with <code>/usr/bin/java</code>. Other
+<a class="uref" href="https://adoptium.net">Adoptium</a><a class="footnote" id="DOCF98" href="#FOOT98"><sup>98</sup></a>: this installs into an
+Apple-standard location and so works with <code class="command">/usr/bin/java</code>. Other
 builds of OpenJDK are available from
-<a href="https://www.azul.com/downloads/zulu-community/?os=macos&amp;architecture=arm-64-bit&amp;package=jdk">https://www.azul.com/downloads/zulu-community/?os=macos&amp;architecture=arm-64-bit&amp;package=jdk</a>
-and from OpenJDK at <a href="https://jdk.java.net/">https://jdk.java.net/</a>, for which
-<code>JAVA_HOME</code> may need to be set both when configuring R and at
+<a class="uref" href="https://www.azul.com/downloads/zulu-community/?os=macos&amp;architecture=arm-64-bit&amp;package=jdk">https://www.azul.com/downloads/zulu-community/?os=macos&amp;architecture=arm-64-bit&amp;package=jdk</a>
+and from OpenJDK at <a class="uref" href="https://jdk.java.net/">https://jdk.java.net/</a>, for which
+<code class="env">JAVA_HOME</code> may need to be set both when configuring R and at
 runtime.  Note that Java distribution sites may use unusual designations
-for macOS CPUs such as <code>AArch64</code>, <code>x64</code> or <code>x86
+for macOS CPUs such as <code class="code">AArch64</code>, <code class="code">x64</code> or <code class="code">x86
 64-bit</code>.
 </p>
 
 <p>Binary distributions of R are built against a specific version
 (e.g. 11.0.18 or 17.0.1) of Java so
 </p><div class="example">
-<pre class="example">sudo R CMD javareconf
+<pre class="example-preformatted">sudo R CMD javareconf
 </pre></div>
 <p>will likely be needed to be run before using Java-using packages.
 </p>
 <p>To see what compatible versions of Java are currently installed, run the
 appropriate one of
 </p><div class="example">
-<pre class="example">/usr/libexec/java_home -V -a arm64
+<pre class="example-preformatted">/usr/libexec/java_home -V -a arm64
 /usr/libexec/java_home -V -a x86_64
 </pre></div>
-<p>If needed, set the environment variable <code>JAVA_HOME</code> to choose
+<p>If needed, set the environment variable <code class="env">JAVA_HOME</code> to choose
 between these, both when R is built from the sources and when
-<code>R CMD javareconf</code> is run.
+<code class="command">R CMD javareconf</code> is run.
 </p>
-<p>Configuring and building R both looks for a <abbr>JRE</abbr> and for support for
-compiling <abbr>JNI</abbr> programs (used to install packages <a href="https://CRAN.R-project.org/package=rJava"><strong>rJava</strong></a> and
-<a href="https://CRAN.R-project.org/package=JavaGD"><strong>JavaGD</strong></a>); the latter requires a <abbr>JDK</abbr> (Java <abbr>SDK</abbr>).  Most
-distributions of Java 11 or later are of a full <abbr>JDK</abbr>.
+<p>Configuring and building R both looks for a <abbr class="abbr">JRE</abbr> and for support for
+compiling <abbr class="abbr">JNI</abbr> programs (used to install packages <a class="url" href="https://CRAN.R-project.org/package=rJava"><strong class="strong">rJava</strong></a> and
+<a class="url" href="https://CRAN.R-project.org/package=JavaGD"><strong class="strong">JavaGD</strong></a>); the latter requires a <abbr class="abbr">JDK</abbr> (Java <abbr class="abbr">SDK</abbr>).  Most
+distributions of Java 11 or later are of a full <abbr class="abbr">JDK</abbr>.
 </p>
-<p>The build process tries to fathom out what <abbr>JRE</abbr>/<abbr>JDK</abbr> to use,
+<p>The build process tries to fathom out what <abbr class="abbr">JRE</abbr>/<abbr class="abbr">JDK</abbr> to use,
 but it may need some help, e.g. by setting environment variable
-<code>JAVA_HOME</code>.  To select a build from <a href="https://adoptium.net">Adoptium</a> set e.g.
+<code class="env">JAVA_HOME</code>.  To select a build from <a class="uref" href="https://adoptium.net">Adoptium</a> set e.g.
 </p><div class="example">
-<pre class="example">JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home
+<pre class="example-preformatted">JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home
 </pre></div>
-<p>in <samp>config.site</samp>.  For Java 21 from <a href="https://jdk.java.net/">https://jdk.java.net/</a>
+<p>in <samp class="file">config.site</samp>.  For Java 21 from <a class="uref" href="https://jdk.java.net/">https://jdk.java.net/</a>
 (which might no longer be available), use
 </p><div class="example">
-<pre class="example">JAVA_HOME=/path/to/jdk-21.jdk/Contents/Home
+<pre class="example-preformatted">JAVA_HOME=/path/to/jdk-21.jdk/Contents/Home
 </pre></div>
 
 
 
-<p>Note that it is necessary to set the environment variable <code>NOAWT</code> to
-<code>1</code> to install many of the Java-using packages.
+<p>Note that it is necessary to set the environment variable <code class="env">NOAWT</code> to
+<code class="code">1</code> to install many of the Java-using packages.
 </p>
 <hr>
 </div>
-<div class="subsection" id="Frameworks">
-<span id="Frameworks-1"></span><h4 class="subsection">C.3.8 Frameworks</h4>
+<div class="subsection-level-extent" id="Frameworks">
+<h4 class="subsection" id="Frameworks-1"><span>C.3.8 Frameworks<a class="copiable-link" href="#Frameworks-1"> &para;</a></span></h4>
 
-<p>The <acronym>CRAN</acronym> build of R is installed as a framework, which is
+<p>The <abbr class="acronym">CRAN</abbr> build of R is installed as a framework, which is
 selected by the option
 </p>
 <div class="example">
-<pre class="example">./configure --enable-R-framework
+<pre class="example-preformatted">./configure --enable-R-framework
 </pre></div>
 <p>(This is intended to be used with an Apple toolchain: others may not
 support frameworks correctly but those from LLVM have done so.)
 </p>
-<p>It is only needed if you want to build R for use with the <small>R.APP</small>
-console, and implies <samp>--enable-R-shlib</samp> to build R as a
+<p>It is only needed if you want to build R for use with the <small class="sc">R.APP</small>
+console, and implies <samp class="option">--enable-R-shlib</samp> to build R as a
 dynamic library.  This option configures R to be built and installed
-as a framework called <samp>R.framework</samp>.  The default installation path
-for <samp>R.framework</samp> is <samp>/Library/Frameworks</samp> but this can be
+as a framework called <samp class="file">R.framework</samp>.  The default installation path
+for <samp class="file">R.framework</samp> is <samp class="file">/Library/Frameworks</samp> but this can be
 changed at configure time by specifying the flag
-<samp>--enable-R-framework[=<var>DIR</var>]</samp> (or <samp>--prefix</samp>) or at
-install time <em>via</em>
+<samp class="option">--enable-R-framework[=<var class="var">DIR</var>]</samp> (or <samp class="option">--prefix</samp>) or at
+install time <em class="emph">via</em>
 </p>
 <div class="example">
-<pre class="example">make prefix=/where/you/want/R.framework/to/go install
+<pre class="example-preformatted">make prefix=/where/you/want/R.framework/to/go install
 </pre></div>
 
 <p>Note that installation as a framework is non-standard (especially to a
 non-standard location) and Unix utilities may not support it (e.g. the
-<code>pkg-config</code> file <samp>libR.pc</samp> will be put somewhere unknown
-to <code>pkg-config</code>).
+<code class="command">pkg-config</code> file <samp class="file">libR.pc</samp> will be put somewhere unknown
+to <code class="command">pkg-config</code>).
 </p>
 <hr>
 </div>
-<div class="subsection" id="Building-R_002eapp">
-<span id="Building-R_002eapp-1"></span><h4 class="subsection">C.3.9 Building R.app</h4>
+<div class="subsection-level-extent" id="Building-R_002eapp">
+<h4 class="subsection" id="Building-R_002eapp-1"><span>C.3.9 Building R.app<a class="copiable-link" href="#Building-R_002eapp-1"> &para;</a></span></h4>
 
-<p>Building the <small>R.APP</small> GUI console is a separate project, using Xcode.
-Before compiling <small>R.APP</small> make sure the current version of R is
-installed in <samp>/Library/Frameworks/R.framework</samp> and is working at the
+<p>Building the <small class="sc">R.APP</small> GUI console is a separate project, using Xcode.
+Before compiling <small class="sc">R.APP</small> make sure the current version of R is
+installed in <samp class="file">/Library/Frameworks/R.framework</samp> and is working at the
 command-line (this can be a binary install).
 </p>
 <p>The current sources can be checked out by
 </p><div class="example">
-<pre class="example">svn co https://svn.r-project.org/R-packages/trunk/Mac-GUI
+<pre class="example-preformatted">svn co https://svn.r-project.org/R-packages/trunk/Mac-GUI
 </pre></div>
-<p>and built by loading the <code>R.xcodeproj</code> project (select the
-<code>R</code> target and a suitable configuration), or from the command-line
+<p>and built by loading the <code class="code">R.xcodeproj</code> project (select the
+<code class="code">R</code> target and a suitable configuration), or from the command-line
 by e.g.
 </p><div class="example">
-<pre class="example">xcodebuild -target R -configuration Release
+<pre class="example-preformatted">xcodebuild -target R -configuration Release
 </pre></div>
-<p>See also the <samp>INSTALL</samp> file in the checkout or directly at
-<a href="https://svn.r-project.org/R-packages/trunk/Mac-GUI/INSTALL">https://svn.r-project.org/R-packages/trunk/Mac-GUI/INSTALL</a>.
+<p>See also the <samp class="file">INSTALL</samp> file in the checkout or directly at
+<a class="uref" href="https://svn.r-project.org/R-packages/trunk/Mac-GUI/INSTALL">https://svn.r-project.org/R-packages/trunk/Mac-GUI/INSTALL</a>.
 </p>
-<p><small>R.APP</small> does not need to be installed in any specific way. Building
-<small>R.APP</small> results in the <small>R.APP</small> bundle which appears as one R
+<p><small class="sc">R.APP</small> does not need to be installed in any specific way. Building
+<small class="sc">R.APP</small> results in the <small class="sc">R.APP</small> bundle which appears as one R
 icon. This application bundle can be run from anywhere and it is
-customary to place it in the <samp>/Applications</samp> folder.
+customary to place it in the <samp class="file">/Applications</samp> folder.
 </p>
 <hr>
 </div>
-<div class="subsection" id="Building-binary-packages">
-<span id="Building-binary-packages-1"></span><h4 class="subsection">C.3.10 Building binary packages</h4>
+<div class="subsection-level-extent" id="Building-binary-packages">
+<h4 class="subsection" id="Building-binary-packages-1"><span>C.3.10 Building binary packages<a class="copiable-link" href="#Building-binary-packages-1"> &para;</a></span></h4>
 
-<p><acronym>CRAN</acronym> macOS binary packages are distributed as tarballs with
-suffix <samp>.tgz</samp> to distinguish them from source tarballs.  One can
-<code>tar</code> an existing installed package, or use <code>R CMD
+<p><abbr class="acronym">CRAN</abbr> macOS binary packages are distributed as tarballs with
+suffix <samp class="file">.tgz</samp> to distinguish them from source tarballs.  One can
+<code class="command">tar</code> an existing installed package, or use <code class="command">R CMD
 INSTALL --build</code>.
 </p>
 <p>However, there are some important details.
-</p><ul>
-<li> Current <acronym>CRAN</acronym> macOS distributions are targeted at Big Sur
+</p><ul class="itemize mark-bullet">
+<li>Current <abbr class="acronym">CRAN</abbr> macOS distributions are targeted at Big Sur
 so it is wise to ensure that the compilers generate code that will run
 on Big Sur or later.  With the recommended compilers we can use
 <div class="example">
-<pre class="example">CC=&quot;clang -mmacos-version-min=11.0&quot;
+<pre class="example-preformatted">CC=&quot;clang -mmacos-version-min=11.0&quot;
 CXX=&quot;clang++ -mmacos-version-min=11.0&quot;
 FC=&quot;/opt//gfortran/bin/gfortran -mmacosx-version-min=11.0&quot;
 </pre></div>
 <p>or set the environment variable
 </p><div class="example">
-<pre class="example">export MACOSX_DEPLOYMENT_TARGET=11.0
+<pre class="example-preformatted">export MACOSX_DEPLOYMENT_TARGET=11.0
 </pre></div>
 
-</li><li> Using the flag <samp>-Werror=partial-availability</samp> can help trigger
+</li><li>Using the flag <samp class="option">-Werror=partial-availability</samp> can help trigger
 compilation errors on functionality not in Big Sur.
 
-</li><li> Check that any compiled code is not dynamically linked to libraries only
-on your machine, for example by using <code>otool -L</code> or
-<code>objdump -macho -dylibs-used</code>.  This can include C++ and Fortran
-run-time libraries under <samp>/opt/R/x86_64/lib</samp> or
-<samp>/opt/R/arm64/lib</samp>: one can use <code>install_name_tool</code> to
+</li><li>Check that any compiled code is not dynamically linked to libraries only
+on your machine, for example by using <code class="command">otool -L</code> or
+<code class="command">objdump -macho -dylibs-used</code>.  This can include C++ and Fortran
+run-time libraries under <samp class="file">/opt/R/x86_64/lib</samp> or
+<samp class="file">/opt/R/arm64/lib</samp>: one can use <code class="command">install_name_tool</code> to
 point these at system versions or those shipped with R, for example
 <div class="example">
-<pre class="example">install_name_tool -change /usr/local/llvm/lib/libc++.1.dylib \
+<pre class="example-preformatted">install_name_tool -change /usr/local/llvm/lib/libc++.1.dylib \
 /usr/lib/libc++.1.dylib \
-<var>pkg</var>.so
+<var class="var">pkg</var>.so
 
 install_name_tool -change
 /opt/gfortran/lib/gcc/aarch64-apple-darwin20.0/14.2.0/libgfortran.5.dylib \
 /Library/Frameworks/R.framework/Resources/lib/libgfortran.5.dylib \
-<var>pkg</var>.so
+<var class="var">pkg</var>.so
 
 install_name_tool -change
 /opt/gfortran/lib/gcc/aarch64-apple-darwin20.0/14.2.0/libquadmath.0.dylib \
 /Library/Frameworks/R.framework/Resources/lib/libquadmath.0.dylib \
-<var>pkg</var>.so
+<var class="var">pkg</var>.so
 </pre></div>
 
-<p>(where the details depend on the compilers and <acronym>CRAN</acronym> macOS R
+<p>(where the details depend on the compilers and <abbr class="acronym">CRAN</abbr> macOS R
 release).
 </p>
-</li><li> For C++ code there is the possibility that calls will be generated to
-entry points not in the system <samp>/usr/lib/libc++.1.dylib</samp>.  The
+</li><li>For C++ code there is the possibility that calls will be generated to
+entry points not in the system <samp class="file">/usr/lib/libc++.1.dylib</samp>.  The
 previous step allows this to be tested against the system library on the
 build OS, but not against earlier ones.  It may be possible to
-circumvent that by static linking to <samp>libc++.a</samp> and
-<samp>libc++abi.a</samp> by something like
+circumvent that by static linking to <samp class="file">libc++.a</samp> and
+<samp class="file">libc++abi.a</samp> by something like
 <div class="example">
-<pre class="example">SHLIB_CXXLD = /usr/local/llvm/bin/clang
+<pre class="example-preformatted">SHLIB_CXXLD = /usr/local/llvm/bin/clang
 PKG_LIBS = /usr/local/llvm/lib/libc++.a /usr/local/llvm/lib/libc++abi.a
 </pre></div>
-<p>in <samp>src/Makevars</samp>.  It would also be possible to static link the
-Fortran runtime libraries <samp>libgfortran.a</samp> and <samp>libquadmath.a</samp>
-should the Fortran compiler have later versions (but <code>gfortran</code>
-8&ndash;14 all have version <code>5</code>).
+<p>in <samp class="file">src/Makevars</samp>.  It would also be possible to static link the
+Fortran runtime libraries <samp class="file">libgfortran.a</samp> and <samp class="file">libquadmath.a</samp>
+should the Fortran compiler have later versions (but <code class="command">gfortran</code>
+8&ndash;14 all have version <code class="code">5</code>).
 </p></li></ul>
-<p>The <acronym>CRAN</acronym> binary packages are built with the Apple compiler on
+<p>The <abbr class="acronym">CRAN</abbr> binary packages are built with the Apple compiler on
 the oldest supported version of macOS, which avoids the first two and
 any issues with C++ libraries.
 </p>
 <hr>
 </div>
-<div class="subsection" id="Building-for-Intel-on-arm64">
-<span id="Building-for-Intel-on-arm64-1"></span><h4 class="subsection">C.3.11 Building for Intel on &lsquo;<samp>arm64</samp>&rsquo;</h4>
+<div class="subsection-level-extent" id="Building-for-Intel-on-arm64">
+<h4 class="subsection" id="Building-for-Intel-on-arm64-1"><span>C.3.11 Building for Intel on &lsquo;<samp class="samp">arm64</samp>&rsquo;<a class="copiable-link" href="#Building-for-Intel-on-arm64-1"> &para;</a></span></h4>
 
-<p>Should one want to build R for Intel on an &lsquo;<samp>arm64</samp>&rsquo; Big Sur
+<p>Should one want to build R for Intel on an &lsquo;<samp class="samp">arm64</samp>&rsquo; Big Sur
 Mac, add the target for the compilers:
 </p>
 <div class="example">
-<pre class="example">CC=&quot;clang -arch x86_64
+<pre class="example-preformatted">CC=&quot;clang -arch x86_64
 OBJC=$CC
 CXX=&quot;clang++ -arch x86_64&quot;
 FC=&quot;/opt//gfortran/bin/gfortran -arch x86_64 -mtune=native -mmacosx-version-min=11&quot;
 </pre></div>
 
 <p>and install the Fortran compiler and external software described above
-for Intel builds (and have <samp>/opt/R/x86_64/bin</samp> before
-<samp>/opt/R/arm64/bin</samp> in your path).
+for Intel builds (and have <samp class="file">/opt/R/x86_64/bin</samp> before
+<samp class="file">/opt/R/arm64/bin</samp> in your path).
 </p>
 <p>To set the correct architecture (which will be auto-detected as
-<code>aarch64</code>), use something like
+<code class="code">aarch64</code>), use something like
 </p>
 <div class="example">
-<pre class="example">/path/to/configure --build=x86_64-apple-darwin20
+<pre class="example-preformatted">/path/to/configure --build=x86_64-apple-darwin20
 </pre></div>
 
 <hr>
 </div>
-<div class="subsection" id="Installer">
-<span id="Installer-1"></span><h4 class="subsection">C.3.12 Installer</h4>
+<div class="subsection-level-extent" id="Installer">
+<h4 class="subsection" id="Installer-1"><span>C.3.12 Installer<a class="copiable-link" href="#Installer-1"> &para;</a></span></h4>
 
-<p>The scripts for the <acronym>CRAN</acronym> packaging of R can be found under
-<a href="https://svn.r-project.org/R-dev-web/trunk/QA/Simon/R4/">https://svn.r-project.org/R-dev-web/trunk/QA/Simon/R4/</a>: start
-with the <samp>README</samp> file in that directory.
+<p>The scripts for the <abbr class="acronym">CRAN</abbr> packaging of R can be found under
+<a class="uref" href="https://svn.r-project.org/R-dev-web/trunk/QA/Simon/R4/">https://svn.r-project.org/R-dev-web/trunk/QA/Simon/R4/</a>: start
+with the <samp class="file">README</samp> file in that directory.
 </p>
 
 <hr>
 </div>
 </div>
-<div class="section" id="FreeBSD">
-<span id="FreeBSD-1"></span><h3 class="section">C.4 FreeBSD</h3>
-<span id="index-FreeBSD"></span>
+<div class="section-level-extent" id="FreeBSD">
+<h3 class="section" id="FreeBSD-1"><span>C.4 FreeBSD<a class="copiable-link" href="#FreeBSD-1"> &para;</a></span></h3>
+<a class="index-entry-id" id="index-FreeBSD"></a>
 
 <p>There have been few recent reports on FreeBSD: there is a &lsquo;port&rsquo; at
-<a href="https://svnweb.freebsd.org/ports/head/math/R">https://svnweb.freebsd.org/ports/head/math/R</a>, currently last
+<a class="uref" href="https://svnweb.freebsd.org/ports/head/math/R">https://svnweb.freebsd.org/ports/head/math/R</a>, currently last
 updated for R 4.0.4.  Recent versions of FreeBSD use Clang and the
-<code>libc++</code> C++ headers and runtime, but the &lsquo;port&rsquo; has been
+<code class="code">libc++</code> C++ headers and runtime, but the &lsquo;port&rsquo; has been
 configured to use GCC.
 </p>
-<p>Use of ICU for collation and the <code>configure</code> option
-<samp>--with-internal-tzcode</samp> are desirable workarounds.
+<p>Use of ICU for collation and the <code class="command">configure</code> option
+<samp class="option">--with-internal-tzcode</samp> are desirable workarounds.
 </p>
 
 <hr>
 </div>
-<div class="section" id="OpenBSD">
-<span id="OpenBSD-1"></span><h3 class="section">C.5 OpenBSD</h3>
-<span id="index-OpenBSD"></span>
+<div class="section-level-extent" id="OpenBSD">
+<h3 class="section" id="OpenBSD-1"><span>C.5 OpenBSD<a class="copiable-link" href="#OpenBSD-1"> &para;</a></span></h3>
+<a class="index-entry-id" id="index-OpenBSD"></a>
 
 <p>Ingo Feinerer installed R version 3.2.2 on OpenBSD 5.8 arch
-&lsquo;<samp>amd64</samp>&rsquo; (their name for &lsquo;<samp>x86_64</samp>&rsquo;).  Details of the build
+&lsquo;<samp class="samp">amd64</samp>&rsquo; (their name for &lsquo;<samp class="samp">x86_64</samp>&rsquo;).  Details of the build
 (and patches applied) are at
-<a href="https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/math/R/">https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/math/R/</a>,
+<a class="uref" href="https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/math/R/">https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/math/R/</a>,
 currently updated for R 4.2.3.
 </p>
 
 <hr>
 </div>
-<div class="section" id="Cygwin">
-<span id="Cygwin-1"></span><h3 class="section">C.6 Cygwin</h3>
+<div class="section-level-extent" id="Cygwin">
+<h3 class="section" id="Cygwin-1"><span>C.6 Cygwin<a class="copiable-link" href="#Cygwin-1"> &para;</a></span></h3>
 
-<p>The 32-bit version never worked well enough to pass R&rsquo;s <code>make
+<p>The 32-bit version never worked well enough to pass R&rsquo;s <code class="command">make
 check</code>, and residual support from earlier experiments was removed in
 R 3.3.0.
 </p>
@@ -5964,22 +5960,22 @@
 
 <hr>
 </div>
-<div class="section" id="New-platforms">
-<span id="New-platforms-1"></span><h3 class="section">C.7 New platforms</h3>
+<div class="section-level-extent" id="New-platforms">
+<h3 class="section" id="New-platforms-1"><span>C.7 New platforms<a class="copiable-link" href="#New-platforms-1"> &para;</a></span></h3>
 
 <p>There are a number of sources of problems when installing R on a new
 hardware/OS platform.  These include
 </p>
-<p><strong>Floating Point Arithmetic</strong>: R requires arithmetic compliant
-with <acronym>IEC</acronym>&nbsp;60559, also known as <acronym>IEEE</acronym>&nbsp;754.
-This mandates the use of plus and minus infinity and <code>NaN</code> (not a
+<p><strong class="strong">Floating Point Arithmetic</strong>: R requires arithmetic compliant
+with <abbr class="acronym">IEC</abbr>&nbsp;60559, also known as <abbr class="acronym">IEEE</abbr>&nbsp;754.
+This mandates the use of plus and minus infinity and <code class="code">NaN</code> (not a
 number) as well as specific details of rounding.  Although almost all
-current <abbr>FPU</abbr>s can support this, selecting such support can be a pain.
+current <abbr class="abbr">FPU</abbr>s can support this, selecting such support can be a pain.
 The problem is that there is no agreement on how to set the signalling
-behaviour; Sun/Sparc, SGI/IRIX and &lsquo;<samp>ix86</samp>&rsquo; Linux require no
+behaviour; Sun/Sparc, SGI/IRIX and &lsquo;<samp class="samp">ix86</samp>&rsquo; Linux require no
 special action, FreeBSD requires a call to (the macro)
-<code>fpsetmask(0)</code> and OSF1 required that computation be done with a
-<samp>-ieee_with_inexact</samp> flag etc. With Intel compilers on 32-bit and
+<code class="code">fpsetmask(0)</code> and OSF1 required that computation be done with a
+<samp class="option">-ieee_with_inexact</samp> flag etc. With Intel compilers on 32-bit and
 64-bit Intel machines, one has to explicitly disable flush-to-zero and
 denormals-are-zero modes.  Some ARM processors including A12Z and M1
 (Apple Silicon) by default use runfast mode, which includes
@@ -5987,36 +5983,36 @@
 default-nan mode, the NaN payload used for representation of numeric NA
 values is lost even on simple operations with finite values. On a new
 platform you must find out the magic recipe and add some code to make it
-work.  This can often be done via the file <samp>config.site</samp> which
+work.  This can often be done via the file <samp class="file">config.site</samp> which
 resides in the top level directory.
 </p>
 <p>Beware of using high levels of optimization, at least initially.  On
 many compilers these reduce the degree of compliance to the
-<acronym>IEEE</acronym> model.  For example, using <samp>-fast</samp> on the Oracle
-compilers has caused R&rsquo;s <code>NaN</code> to be set incorrectly, and
-<code>gcc</code>&rsquo;s <samp>-ffast-math</samp> and <code>clang</code>&rsquo;s
-<samp>-Ofast</samp> have given incorrect results.
+<abbr class="acronym">IEEE</abbr> model.  For example, using <samp class="option">-fast</samp> on the Oracle
+compilers has caused R&rsquo;s <code class="code">NaN</code> to be set incorrectly, and
+<code class="command">gcc</code>&rsquo;s <samp class="option">-ffast-math</samp> and <code class="command">clang</code>&rsquo;s
+<samp class="option">-Ofast</samp> have given incorrect results.
 </p>
-<p><strong>Shared Objects</strong>: There seems to be very little agreement
+<p><strong class="strong">Shared Objects</strong>: There seems to be very little agreement
 across platforms on what needs to be done to build shared objects.
 there are many different combinations of flags for the compilers and
-loaders.  <acronym>GNU</acronym> libtool cannot be used (yet), as it currently
+loaders.  <abbr class="acronym">GNU</abbr> libtool cannot be used (yet), as it currently
 does not fully support Fortran: one would need a shell wrapper for
 this).  The technique we use is to first interrogate the X window system
-about what it does (using <code>xmkmf</code>), and then override this in
-situations where we know better (for tools from the <acronym>GNU</acronym>
+about what it does (using <code class="command">xmkmf</code>), and then override this in
+situations where we know better (for tools from the <abbr class="acronym">GNU</abbr>
 Compiler Collection and/or platforms we know about).  This typically
 works, but you may have to manually override the results.  Scanning the
-manual entries for <code>cc</code> and <code>ld</code> usually reveals the
+manual entries for <code class="command">cc</code> and <code class="command">ld</code> usually reveals the
 correct incantation.  Once you know the recipe you can modify the file
-<samp>config.site</samp> (following the instructions therein) so that the
+<samp class="file">config.site</samp> (following the instructions therein) so that the
 build will use these options.
 </p>
-<p>It seems that <code>gcc</code>&nbsp;3.4.x and later on &lsquo;<samp>ix86</samp>&rsquo; Linux
+<p>It seems that <code class="command">gcc</code>&nbsp;3.4.x and later on &lsquo;<samp class="samp">ix86</samp>&rsquo; Linux
 defeat attempts by the LAPACK code to avoid computations entirely in
-extended-precision registers, so file <samp>src/modules/lapack/dlamc.f</samp>
+extended-precision registers, so file <samp class="file">src/modules/lapack/dlamc.f</samp>
 may need to be compiled without optimization or with additional flags.
-Set the configure variable <code>SAFE_FFLAGS</code> to the flags to be used for
+Set the configure variable <code class="env">SAFE_FFLAGS</code> to the flags to be used for
 this file.
 </p>
 <p>If you do manage to get R running on a new platform please let us
@@ -6024,663 +6020,669 @@
 that platform.
 </p>
 <p>If you are having trouble getting R to work on your platform please
-feel free to use the &lsquo;<samp>R-devel</samp>&rsquo; mailing list to ask questions.  We
+feel free to use the &lsquo;<samp class="samp">R-devel</samp>&rsquo; mailing list to ask questions.  We
 have had a fair amount of practice at porting R to new platforms
 <small class="enddots">...</small>
 </p>
 <p>One thing you might want to add for a new platform is the mapping of
-C/C++/Fortran calls to entry point names used for <code>R CMD check</code>.
-See <a href="https://svn.r-project.org/R-dev-web/trunk/sotools.txt">https://svn.r-project.org/R-dev-web/trunk/sotools.txt</a> for how
+C/C++/Fortran calls to entry point names used for <code class="command">R CMD check</code>.
+See <a class="uref" href="https://svn.r-project.org/R-dev-web/trunk/sotools.txt">https://svn.r-project.org/R-dev-web/trunk/sotools.txt</a> for how
 to do so.
 </p>
 
 <hr>
 </div>
 </div>
-<div class="unnumbered" id="Function-and-variable-index">
-<span id="Function-and-variable-index-1"></span><h2 class="unnumbered">Function and variable index</h2>
+<div class="unnumbered-level-extent" id="Function-and-variable-index">
+<h2 class="unnumbered" id="Function-and-variable-index-1"><span>Function and variable index<a class="copiable-link" href="#Function-and-variable-index-1"> &para;</a></span></h2>
 
-<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="#Function-and-variable-index_vr_letter-C"><b>C</b></a>
+<div class="printindex vr-printindex">
+<table class="vr-letters-header-printindex"><tr><th>Jump to: &nbsp; </th><td><a class="summary-letter-printindex" href="#Function-and-variable-index_vr_letter-C"><b>C</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Function-and-variable-index_vr_letter-I"><b>I</b></a>
+<a class="summary-letter-printindex" href="#Function-and-variable-index_vr_letter-I"><b>I</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Function-and-variable-index_vr_letter-M"><b>M</b></a>
+<a class="summary-letter-printindex" href="#Function-and-variable-index_vr_letter-M"><b>M</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Function-and-variable-index_vr_letter-R"><b>R</b></a>
+<a class="summary-letter-printindex" href="#Function-and-variable-index_vr_letter-R"><b>R</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Function-and-variable-index_vr_letter-U"><b>U</b></a>
+<a class="summary-letter-printindex" href="#Function-and-variable-index_vr_letter-U"><b>U</b></a>
  &nbsp; 
 </td></tr></table>
-<table class="index-vr" border="0">
-<tr><td></td><th align="left">Index Entry</th><td>&nbsp;</td><th align="left"> Section</th></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Function-and-variable-index_vr_letter-C">C</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-configure"><code>configure</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Simple-compilation">Simple compilation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-configure-1"><code>configure</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Simple-compilation">Simple compilation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-configure-2"><code>configure</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installation">Installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-configure-3"><code>configure</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installation">Installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-configure-4"><code>configure</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-variables">Configuration variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-configure-5"><code>configure</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Using-make">Using make</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Function-and-variable-index_vr_letter-I">I</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-install_002epackages"><code>install.packages</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installing-packages">Installing packages</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Function-and-variable-index_vr_letter-M">M</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-make"><code>make</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Using-make">Using make</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Function-and-variable-index_vr_letter-R">R</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-remove_002epackages"><code>remove.packages</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Removing-packages">Removing packages</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fHOME"><code>R_HOME</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Simple-compilation">Simple compilation</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Function-and-variable-index_vr_letter-U">U</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-update_002epackages"><code>update.packages</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Updating-packages">Updating packages</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
+<table class="vr-entries-printindex">
+<tr><td></td><th class="entries-header-printindex">Index Entry</th><th class="sections-header-printindex">Section</th></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Function-and-variable-index_vr_letter-C">C</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-configure"><code>configure</code></a></td><td class="printindex-index-section"><a href="#Simple-compilation">Simple compilation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-1"><code>configure</code></a></td><td class="printindex-index-section"><a href="#Simple-compilation">Simple compilation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-2"><code>configure</code></a></td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-3"><code>configure</code></a></td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-4"><code>configure</code></a></td><td class="printindex-index-section"><a href="#Configuration-variables">Configuration variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-5"><code>configure</code></a></td><td class="printindex-index-section"><a href="#Using-make">Using make</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Function-and-variable-index_vr_letter-I">I</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-install_002epackages"><code>install.packages</code></a></td><td class="printindex-index-section"><a href="#Installing-packages">Installing packages</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Function-and-variable-index_vr_letter-M">M</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-make"><code>make</code></a></td><td class="printindex-index-section"><a href="#Using-make">Using make</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Function-and-variable-index_vr_letter-R">R</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fHOME"><code>R_HOME</code></a></td><td class="printindex-index-section"><a href="#Simple-compilation">Simple compilation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-remove_002epackages"><code>remove.packages</code></a></td><td class="printindex-index-section"><a href="#Removing-packages">Removing packages</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Function-and-variable-index_vr_letter-U">U</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-update_002epackages"><code>update.packages</code></a></td><td class="printindex-index-section"><a href="#Updating-packages">Updating packages</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
 </table>
-<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="#Function-and-variable-index_vr_letter-C"><b>C</b></a>
+<table class="vr-letters-footer-printindex"><tr><th>Jump to: &nbsp; </th><td><a class="summary-letter-printindex" href="#Function-and-variable-index_vr_letter-C"><b>C</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Function-and-variable-index_vr_letter-I"><b>I</b></a>
+<a class="summary-letter-printindex" href="#Function-and-variable-index_vr_letter-I"><b>I</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Function-and-variable-index_vr_letter-M"><b>M</b></a>
+<a class="summary-letter-printindex" href="#Function-and-variable-index_vr_letter-M"><b>M</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Function-and-variable-index_vr_letter-R"><b>R</b></a>
+<a class="summary-letter-printindex" href="#Function-and-variable-index_vr_letter-R"><b>R</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Function-and-variable-index_vr_letter-U"><b>U</b></a>
+<a class="summary-letter-printindex" href="#Function-and-variable-index_vr_letter-U"><b>U</b></a>
  &nbsp; 
 </td></tr></table>
+</div>
 
 
 <hr>
 </div>
-<div class="unnumbered" id="Environment-variable-index">
-<span id="Environment-variable-index-1"></span><h2 class="unnumbered">Environment variable index</h2>
+<div class="unnumbered-level-extent" id="Environment-variable-index">
+<h2 class="unnumbered" id="Environment-variable-index-1"><span>Environment variable index<a class="copiable-link" href="#Environment-variable-index-1"> &para;</a></span></h2>
 
-<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="#Environment-variable-index_en_letter-B"><b>B</b></a>
+<div class="printindex en-printindex">
+<table class="en-letters-header-printindex"><tr><th>Jump to: &nbsp; </th><td><a class="summary-letter-printindex" href="#Environment-variable-index_en_letter-B"><b>B</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Environment-variable-index_en_letter-C"><b>C</b></a>
+<a class="summary-letter-printindex" href="#Environment-variable-index_en_letter-C"><b>C</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Environment-variable-index_en_letter-D"><b>D</b></a>
+<a class="summary-letter-printindex" href="#Environment-variable-index_en_letter-D"><b>D</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Environment-variable-index_en_letter-J"><b>J</b></a>
+<a class="summary-letter-printindex" href="#Environment-variable-index_en_letter-J"><b>J</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Environment-variable-index_en_letter-L"><b>L</b></a>
+<a class="summary-letter-printindex" href="#Environment-variable-index_en_letter-L"><b>L</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Environment-variable-index_en_letter-P"><b>P</b></a>
+<a class="summary-letter-printindex" href="#Environment-variable-index_en_letter-P"><b>P</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Environment-variable-index_en_letter-R"><b>R</b></a>
+<a class="summary-letter-printindex" href="#Environment-variable-index_en_letter-R"><b>R</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Environment-variable-index_en_letter-T"><b>T</b></a>
+<a class="summary-letter-printindex" href="#Environment-variable-index_en_letter-T"><b>T</b></a>
  &nbsp; 
 </td></tr></table>
-<table class="index-en" border="0">
-<tr><td></td><th align="left">Index Entry</th><td>&nbsp;</td><th align="left"> Section</th></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Environment-variable-index_en_letter-B">B</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-BLAS_005fLIBS"><code>BLAS_LIBS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#BLAS">BLAS</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Environment-variable-index_en_letter-C">C</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-CONFIG_005fSITE"><code>CONFIG_SITE</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configuration-variables">Configuration variables</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Environment-variable-index_en_letter-D">D</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-DESTDIR"><code>DESTDIR</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installation">Installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-DESTDIR-1"><code>DESTDIR</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Unix_002dalike-standalone">Unix-alike standalone</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Environment-variable-index_en_letter-J">J</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-JAVA_005fHOME"><code>JAVA_HOME</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Java-support">Java support</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Environment-variable-index_en_letter-L">L</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-LANG"><code>LANG</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Localization-of-messages">Localization of messages</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-LANGUAGE"><code>LANGUAGE</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Localization-of-messages">Localization of messages</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-LANGUAGE-1"><code>LANGUAGE</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Localization-of-messages">Localization of messages</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-LAPACK_005fLIBS"><code>LAPACK_LIBS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#LAPACK">LAPACK</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-LC_005fALL"><code>LC_ALL</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Localization-of-messages">Localization of messages</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-LC_005fCOLLATE"><code>LC_COLLATE</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Testing-a-Unix_002dalike-Installation">Testing a Unix-alike Installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-LC_005fMESSAGES"><code>LC_MESSAGES</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Localization-of-messages">Localization of messages</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-LD_005fLIBRARY_005fPATH"><code>LD_LIBRARY_PATH</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Unix_002dalike-standalone">Unix-alike standalone</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-LD_005fLIBRARY_005fPATH-1"><code>LD_LIBRARY_PATH</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Using-Fortran">Using Fortran</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-LD_005fLIBRARY_005fPATH-2"><code>LD_LIBRARY_PATH</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Compile-and-load-flags">Compile and load flags</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Environment-variable-index_en_letter-P">P</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PAPERSIZE"><code>PAPERSIZE</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Setting-paper-size">Setting paper size</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PATH"><code>PATH</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Essential-programs-and-libraries">Essential programs and libraries</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-PATH-1"><code>PATH</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Using-Fortran">Using Fortran</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Environment-variable-index_en_letter-R">R</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fARCH"><code>R_ARCH</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Sub_002darchitectures">Sub-architectures</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fBROWSER"><code>R_BROWSER</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Setting-the-browsers">Setting the browsers</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fDEFAULT_005fPACKAGES"><code>R_DEFAULT_PACKAGES</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Default-packages">Default packages</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fDISABLE_005fHTTPD"><code>R_DISABLE_HTTPD</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Help-options">Help options</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fGSCMD"><code>R_GSCMD</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Useful-libraries-and-programs">Useful libraries and programs</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fINSTALL_005fTAR"><code>R_INSTALL_TAR</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Windows-packages">Windows packages</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fJAVA_005fLD_005fLIBRARY_005fPATH"><code>R_JAVA_LD_LIBRARY_PATH</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Java-support">Java support</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fJAVA_005fLD_005fLIBRARY_005fPATH-1"><code>R_JAVA_LD_LIBRARY_PATH</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Java-support">Java support</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fLIBS"><code>R_LIBS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Add_002don-packages">Add-on packages</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fLIBS_005fSITE"><code>R_LIBS_SITE</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Managing-libraries">Managing libraries</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fLIBS_005fUSER"><code>R_LIBS_USER</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Managing-libraries">Managing libraries</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fPAPERSIZE"><code>R_PAPERSIZE</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Making-the-manuals">Making the manuals</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fPAPERSIZE-1"><code>R_PAPERSIZE</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Running-R">Running R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fPAPERSIZE-2"><code>R_PAPERSIZE</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Setting-paper-size">Setting paper size</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fPAPERSIZE-3"><code>R_PAPERSIZE</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Making-manuals">Making manuals</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fPDFVIEWER"><code>R_PDFVIEWER</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Setting-the-browsers">Setting the browsers</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fRD4PDF"><code>R_RD4PDF</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Making-the-manuals">Making the manuals</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fRD4PDF-1"><code>R_RD4PDF</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Making-manuals">Making manuals</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fSCRIPT_005fDEFAULT_005fPACKAGES"><code>R_SCRIPT_DEFAULT_PACKAGES</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Default-packages">Default packages</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-R_005fUSER"><code>R_USER</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Running-R">Running R</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Environment-variable-index_en_letter-T">T</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TAR"><code>TAR</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Essential-programs-and-libraries">Essential programs and libraries</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TAR_005fOPTIONS"><code>TAR_OPTIONS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Getting-and-unpacking-the-sources">Getting and unpacking the sources</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TEMP"><code>TEMP</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Running-R">Running R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TMP"><code>TMP</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Running-R">Running R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TMPDIR"><code>TMPDIR</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Simple-compilation">Simple compilation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TMPDIR-1"><code>TMPDIR</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Running-R">Running R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TMPDIR-2"><code>TMPDIR</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Running-R">Running R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-TMPDIR-3"><code>TMPDIR</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installing-packages">Installing packages</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
+<table class="en-entries-printindex">
+<tr><td></td><th class="entries-header-printindex">Index Entry</th><th class="sections-header-printindex">Section</th></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Environment-variable-index_en_letter-B">B</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-BLAS_005fLIBS"><code>BLAS_LIBS</code></a></td><td class="printindex-index-section"><a href="#BLAS">BLAS</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Environment-variable-index_en_letter-C">C</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-CONFIG_005fSITE"><code>CONFIG_SITE</code></a></td><td class="printindex-index-section"><a href="#Configuration-variables">Configuration variables</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Environment-variable-index_en_letter-D">D</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-DESTDIR"><code>DESTDIR</code></a></td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-DESTDIR-1"><code>DESTDIR</code></a></td><td class="printindex-index-section"><a href="#Unix_002dalike-standalone">Unix-alike standalone</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Environment-variable-index_en_letter-J">J</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-JAVA_005fHOME"><code>JAVA_HOME</code></a></td><td class="printindex-index-section"><a href="#Java-support">Java support</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Environment-variable-index_en_letter-L">L</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-LANG"><code>LANG</code></a></td><td class="printindex-index-section"><a href="#Localization-of-messages">Localization of messages</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-LANGUAGE"><code>LANGUAGE</code></a></td><td class="printindex-index-section"><a href="#Localization-of-messages">Localization of messages</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-LANGUAGE-1"><code>LANGUAGE</code></a></td><td class="printindex-index-section"><a href="#Localization-of-messages">Localization of messages</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-LAPACK_005fLIBS"><code>LAPACK_LIBS</code></a></td><td class="printindex-index-section"><a href="#LAPACK">LAPACK</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-LC_005fALL"><code>LC_ALL</code></a></td><td class="printindex-index-section"><a href="#Localization-of-messages">Localization of messages</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-LC_005fCOLLATE"><code>LC_COLLATE</code></a></td><td class="printindex-index-section"><a href="#Testing-a-Unix_002dalike-Installation">Testing a Unix-alike Installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-LC_005fMESSAGES"><code>LC_MESSAGES</code></a></td><td class="printindex-index-section"><a href="#Localization-of-messages">Localization of messages</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-LD_005fLIBRARY_005fPATH"><code>LD_LIBRARY_PATH</code></a></td><td class="printindex-index-section"><a href="#Unix_002dalike-standalone">Unix-alike standalone</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-LD_005fLIBRARY_005fPATH-1"><code>LD_LIBRARY_PATH</code></a></td><td class="printindex-index-section"><a href="#Using-Fortran">Using Fortran</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-LD_005fLIBRARY_005fPATH-2"><code>LD_LIBRARY_PATH</code></a></td><td class="printindex-index-section"><a href="#Compile-and-load-flags">Compile and load flags</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Environment-variable-index_en_letter-P">P</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PAPERSIZE"><code>PAPERSIZE</code></a></td><td class="printindex-index-section"><a href="#Setting-paper-size">Setting paper size</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PATH"><code>PATH</code></a></td><td class="printindex-index-section"><a href="#Essential-programs-and-libraries">Essential programs and libraries</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-PATH-1"><code>PATH</code></a></td><td class="printindex-index-section"><a href="#Using-Fortran">Using Fortran</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Environment-variable-index_en_letter-R">R</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fARCH"><code>R_ARCH</code></a></td><td class="printindex-index-section"><a href="#Sub_002darchitectures">Sub-architectures</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fBROWSER"><code>R_BROWSER</code></a></td><td class="printindex-index-section"><a href="#Setting-the-browsers">Setting the browsers</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fDEFAULT_005fPACKAGES"><code>R_DEFAULT_PACKAGES</code></a></td><td class="printindex-index-section"><a href="#Default-packages">Default packages</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fDISABLE_005fHTTPD"><code>R_DISABLE_HTTPD</code></a></td><td class="printindex-index-section"><a href="#Help-options">Help options</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fGSCMD"><code>R_GSCMD</code></a></td><td class="printindex-index-section"><a href="#Useful-libraries-and-programs">Useful libraries and programs</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fINSTALL_005fTAR"><code>R_INSTALL_TAR</code></a></td><td class="printindex-index-section"><a href="#Windows-packages">Windows packages</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fJAVA_005fLD_005fLIBRARY_005fPATH"><code>R_JAVA_LD_LIBRARY_PATH</code></a></td><td class="printindex-index-section"><a href="#Java-support">Java support</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fJAVA_005fLD_005fLIBRARY_005fPATH-1"><code>R_JAVA_LD_LIBRARY_PATH</code></a></td><td class="printindex-index-section"><a href="#Java-support">Java support</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fLIBS"><code>R_LIBS</code></a></td><td class="printindex-index-section"><a href="#Add_002don-packages">Add-on packages</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fLIBS_005fSITE"><code>R_LIBS_SITE</code></a></td><td class="printindex-index-section"><a href="#Managing-libraries">Managing libraries</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fLIBS_005fUSER"><code>R_LIBS_USER</code></a></td><td class="printindex-index-section"><a href="#Managing-libraries">Managing libraries</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fPAPERSIZE"><code>R_PAPERSIZE</code></a></td><td class="printindex-index-section"><a href="#Making-the-manuals">Making the manuals</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fPAPERSIZE-1"><code>R_PAPERSIZE</code></a></td><td class="printindex-index-section"><a href="#Running-R">Running R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fPAPERSIZE-2"><code>R_PAPERSIZE</code></a></td><td class="printindex-index-section"><a href="#Setting-paper-size">Setting paper size</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fPAPERSIZE-3"><code>R_PAPERSIZE</code></a></td><td class="printindex-index-section"><a href="#Making-manuals">Making manuals</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fPDFVIEWER"><code>R_PDFVIEWER</code></a></td><td class="printindex-index-section"><a href="#Setting-the-browsers">Setting the browsers</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fRD4PDF"><code>R_RD4PDF</code></a></td><td class="printindex-index-section"><a href="#Making-the-manuals">Making the manuals</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fRD4PDF-1"><code>R_RD4PDF</code></a></td><td class="printindex-index-section"><a href="#Making-manuals">Making manuals</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fSCRIPT_005fDEFAULT_005fPACKAGES"><code>R_SCRIPT_DEFAULT_PACKAGES</code></a></td><td class="printindex-index-section"><a href="#Default-packages">Default packages</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-R_005fUSER"><code>R_USER</code></a></td><td class="printindex-index-section"><a href="#Running-R">Running R</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Environment-variable-index_en_letter-T">T</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TAR"><code>TAR</code></a></td><td class="printindex-index-section"><a href="#Essential-programs-and-libraries">Essential programs and libraries</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TAR_005fOPTIONS"><code>TAR_OPTIONS</code></a></td><td class="printindex-index-section"><a href="#Getting-and-unpacking-the-sources">Getting and unpacking the sources</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TEMP"><code>TEMP</code></a></td><td class="printindex-index-section"><a href="#Running-R">Running R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TMP"><code>TMP</code></a></td><td class="printindex-index-section"><a href="#Running-R">Running R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TMPDIR"><code>TMPDIR</code></a></td><td class="printindex-index-section"><a href="#Simple-compilation">Simple compilation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TMPDIR-1"><code>TMPDIR</code></a></td><td class="printindex-index-section"><a href="#Running-R">Running R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TMPDIR-2"><code>TMPDIR</code></a></td><td class="printindex-index-section"><a href="#Running-R">Running R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-TMPDIR-3"><code>TMPDIR</code></a></td><td class="printindex-index-section"><a href="#Installing-packages">Installing packages</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
 </table>
-<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="#Environment-variable-index_en_letter-B"><b>B</b></a>
+<table class="en-letters-footer-printindex"><tr><th>Jump to: &nbsp; </th><td><a class="summary-letter-printindex" href="#Environment-variable-index_en_letter-B"><b>B</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Environment-variable-index_en_letter-C"><b>C</b></a>
+<a class="summary-letter-printindex" href="#Environment-variable-index_en_letter-C"><b>C</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Environment-variable-index_en_letter-D"><b>D</b></a>
+<a class="summary-letter-printindex" href="#Environment-variable-index_en_letter-D"><b>D</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Environment-variable-index_en_letter-J"><b>J</b></a>
+<a class="summary-letter-printindex" href="#Environment-variable-index_en_letter-J"><b>J</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Environment-variable-index_en_letter-L"><b>L</b></a>
+<a class="summary-letter-printindex" href="#Environment-variable-index_en_letter-L"><b>L</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Environment-variable-index_en_letter-P"><b>P</b></a>
+<a class="summary-letter-printindex" href="#Environment-variable-index_en_letter-P"><b>P</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Environment-variable-index_en_letter-R"><b>R</b></a>
+<a class="summary-letter-printindex" href="#Environment-variable-index_en_letter-R"><b>R</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Environment-variable-index_en_letter-T"><b>T</b></a>
+<a class="summary-letter-printindex" href="#Environment-variable-index_en_letter-T"><b>T</b></a>
  &nbsp; 
 </td></tr></table>
+</div>
 
 
 <hr>
 </div>
-<div class="unnumbered" id="Concept-index">
-<span id="Concept-index-1"></span><h2 class="unnumbered">Concept index</h2>
+<div class="unnumbered-level-extent" id="Concept-index">
+<h2 class="unnumbered" id="Concept-index-1"><span>Concept index<a class="copiable-link" href="#Concept-index-1"> &para;</a></span></h2>
 
-<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="#Concept-index_cp_letter-B"><b>B</b></a>
+<div class="printindex cp-printindex">
+<table class="cp-letters-header-printindex"><tr><th>Jump to: &nbsp; </th><td><a class="summary-letter-printindex" href="#Concept-index_cp_letter-B"><b>B</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-C"><b>C</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-C"><b>C</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-F"><b>F</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-F"><b>F</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-I"><b>I</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-I"><b>I</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-L"><b>L</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-L"><b>L</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-M"><b>M</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-M"><b>M</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-O"><b>O</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-O"><b>O</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-P"><b>P</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-P"><b>P</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-R"><b>R</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-R"><b>R</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-S"><b>S</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-S"><b>S</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-U"><b>U</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-U"><b>U</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-V"><b>V</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-V"><b>V</b></a>
  &nbsp; 
 </td></tr></table>
-<table class="index-cp" border="0">
-<tr><td></td><th align="left">Index Entry</th><td>&nbsp;</td><th align="left"> Section</th></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Concept-index_cp_letter-B">B</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-BLAS-library">BLAS library</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Linear-algebra">Linear algebra</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-BLAS-library-1">BLAS library</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Accelerate">Accelerate</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Concept-index_cp_letter-C">C</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Cairo">Cairo</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installing-R-under-macOS">Installing R under macOS</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Cairo-1">Cairo</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Useful-libraries-and-programs">Useful libraries and programs</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Cairo-2">Cairo</a>:</td><td>&nbsp;</td><td valign="top"><a href="#X11-issues">X11 issues</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Cairo-3">Cairo</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Cairo-graphics">Cairo graphics</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Concept-index_cp_letter-F">F</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Fortran">Fortran</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Using-Fortran">Using Fortran</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-FreeBSD">FreeBSD</a>:</td><td>&nbsp;</td><td valign="top"><a href="#FreeBSD">FreeBSD</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Concept-index_cp_letter-I">I</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Installation">Installation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installation">Installation</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Installing-under-Unix_002dalikes">Installing under Unix-alikes</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installing-R-under-Unix_002dalikes">Installing R under Unix-alikes</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Installing-under-Windows">Installing under Windows</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installing-R-under-Windows">Installing R under Windows</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Internationalization">Internationalization</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Internationalization">Internationalization</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Concept-index_cp_letter-L">L</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-LAPACK-library">LAPACK library</a>:</td><td>&nbsp;</td><td valign="top"><a href="#LAPACK">LAPACK</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-LAPACK-library-1">LAPACK library</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Accelerate">Accelerate</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Libraries">Libraries</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Add_002don-packages">Add-on packages</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Libraries_002c-managing">Libraries, managing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Managing-libraries">Managing libraries</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Libraries_002c-site">Libraries, site</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Managing-libraries">Managing libraries</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Libraries_002c-user">Libraries, user</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Managing-libraries">Managing libraries</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Linux">Linux</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installing-R-under-Unix_002dalikes">Installing R under Unix-alikes</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Linux-1">Linux</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Linux">Linux</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Locale">Locale</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Internationalization">Internationalization</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Locale-1">Locale</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Locales">Locales</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Localization">Localization</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Internationalization">Internationalization</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Concept-index_cp_letter-M">M</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-macOS">macOS</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installing-R-under-Unix_002dalikes">Installing R under Unix-alikes</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-macOS-1">macOS</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installing-R-under-macOS">Installing R under macOS</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-macOS-2">macOS</a>:</td><td>&nbsp;</td><td valign="top"><a href="#macOS">macOS</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Manuals">Manuals</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Making-the-manuals">Making the manuals</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Manuals_002c-installing">Manuals, installing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installation">Installation</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Concept-index_cp_letter-O">O</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Obtaining-R">Obtaining R</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Obtaining-R">Obtaining R</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-OpenBSD">OpenBSD</a>:</td><td>&nbsp;</td><td valign="top"><a href="#OpenBSD">OpenBSD</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Concept-index_cp_letter-P">P</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Packages">Packages</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Add_002don-packages">Add-on packages</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Packages_002c-default">Packages, default</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Default-packages">Default packages</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Packages_002c-installing">Packages, installing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installing-packages">Installing packages</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Packages_002c-removing">Packages, removing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Removing-packages">Removing packages</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Packages_002c-updating">Packages, updating</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Updating-packages">Updating packages</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Pango">Pango</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Useful-libraries-and-programs">Useful libraries and programs</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Pango-1">Pango</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Cairo-graphics">Cairo graphics</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Concept-index_cp_letter-R">R</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Repositories">Repositories</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Setting-up-a-package-repository">Setting up a package repository</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Concept-index_cp_letter-S">S</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Site-libraries">Site libraries</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Managing-libraries">Managing libraries</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Sources-for-R">Sources for R</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Getting-and-unpacking-the-sources">Getting and unpacking the sources</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Subversion">Subversion</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Using-Subversion-and-rsync">Using Subversion and rsync</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Subversion-1">Subversion</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Essential-programs-and-libraries">Essential programs and libraries</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Concept-index_cp_letter-U">U</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-User-libraries">User libraries</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Managing-libraries">Managing libraries</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Concept-index_cp_letter-V">V</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-Vignettes">Vignettes</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Essential-programs-and-libraries">Essential programs and libraries</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
+<table class="cp-entries-printindex">
+<tr><td></td><th class="entries-header-printindex">Index Entry</th><th class="sections-header-printindex">Section</th></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Concept-index_cp_letter-B">B</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-BLAS-library">BLAS library</a></td><td class="printindex-index-section"><a href="#Linear-algebra">Linear algebra</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-BLAS-library-1">BLAS library</a></td><td class="printindex-index-section"><a href="#Accelerate">Accelerate</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Concept-index_cp_letter-C">C</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Cairo">Cairo</a></td><td class="printindex-index-section"><a href="#Installing-R-under-macOS">Installing R under macOS</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Cairo-1">Cairo</a></td><td class="printindex-index-section"><a href="#Useful-libraries-and-programs">Useful libraries and programs</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Cairo-2">Cairo</a></td><td class="printindex-index-section"><a href="#X11-issues">X11 issues</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Cairo-3">Cairo</a></td><td class="printindex-index-section"><a href="#Cairo-graphics">Cairo graphics</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Concept-index_cp_letter-F">F</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Fortran">Fortran</a></td><td class="printindex-index-section"><a href="#Using-Fortran">Using Fortran</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-FreeBSD">FreeBSD</a></td><td class="printindex-index-section"><a href="#FreeBSD">FreeBSD</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Concept-index_cp_letter-I">I</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Installation">Installation</a></td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Installing-under-Unix_002dalikes">Installing under Unix-alikes</a></td><td class="printindex-index-section"><a href="#Installing-R-under-Unix_002dalikes">Installing R under Unix-alikes</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Installing-under-Windows">Installing under Windows</a></td><td class="printindex-index-section"><a href="#Installing-R-under-Windows">Installing R under Windows</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Internationalization">Internationalization</a></td><td class="printindex-index-section"><a href="#Internationalization">Internationalization</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Concept-index_cp_letter-L">L</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-LAPACK-library">LAPACK library</a></td><td class="printindex-index-section"><a href="#LAPACK">LAPACK</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-LAPACK-library-1">LAPACK library</a></td><td class="printindex-index-section"><a href="#Accelerate">Accelerate</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Libraries">Libraries</a></td><td class="printindex-index-section"><a href="#Add_002don-packages">Add-on packages</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Libraries_002c-managing">Libraries, managing</a></td><td class="printindex-index-section"><a href="#Managing-libraries">Managing libraries</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Libraries_002c-site">Libraries, site</a></td><td class="printindex-index-section"><a href="#Managing-libraries">Managing libraries</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Libraries_002c-user">Libraries, user</a></td><td class="printindex-index-section"><a href="#Managing-libraries">Managing libraries</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Linux">Linux</a></td><td class="printindex-index-section"><a href="#Installing-R-under-Unix_002dalikes">Installing R under Unix-alikes</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Linux-1">Linux</a></td><td class="printindex-index-section"><a href="#Linux">Linux</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Locale">Locale</a></td><td class="printindex-index-section"><a href="#Internationalization">Internationalization</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Locale-1">Locale</a></td><td class="printindex-index-section"><a href="#Locales">Locales</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Localization">Localization</a></td><td class="printindex-index-section"><a href="#Internationalization">Internationalization</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Concept-index_cp_letter-M">M</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-macOS">macOS</a></td><td class="printindex-index-section"><a href="#Installing-R-under-Unix_002dalikes">Installing R under Unix-alikes</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-macOS-1">macOS</a></td><td class="printindex-index-section"><a href="#Installing-R-under-macOS">Installing R under macOS</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-macOS-2">macOS</a></td><td class="printindex-index-section"><a href="#macOS">macOS</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Manuals">Manuals</a></td><td class="printindex-index-section"><a href="#Making-the-manuals">Making the manuals</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Manuals_002c-installing">Manuals, installing</a></td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Concept-index_cp_letter-O">O</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Obtaining-R">Obtaining R</a></td><td class="printindex-index-section"><a href="#Obtaining-R">Obtaining R</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-OpenBSD">OpenBSD</a></td><td class="printindex-index-section"><a href="#OpenBSD">OpenBSD</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Concept-index_cp_letter-P">P</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Packages">Packages</a></td><td class="printindex-index-section"><a href="#Add_002don-packages">Add-on packages</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Packages_002c-default">Packages, default</a></td><td class="printindex-index-section"><a href="#Default-packages">Default packages</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Packages_002c-installing">Packages, installing</a></td><td class="printindex-index-section"><a href="#Installing-packages">Installing packages</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Packages_002c-removing">Packages, removing</a></td><td class="printindex-index-section"><a href="#Removing-packages">Removing packages</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Packages_002c-updating">Packages, updating</a></td><td class="printindex-index-section"><a href="#Updating-packages">Updating packages</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Pango">Pango</a></td><td class="printindex-index-section"><a href="#Useful-libraries-and-programs">Useful libraries and programs</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Pango-1">Pango</a></td><td class="printindex-index-section"><a href="#Cairo-graphics">Cairo graphics</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Concept-index_cp_letter-R">R</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Repositories">Repositories</a></td><td class="printindex-index-section"><a href="#Setting-up-a-package-repository">Setting up a package repository</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Concept-index_cp_letter-S">S</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Site-libraries">Site libraries</a></td><td class="printindex-index-section"><a href="#Managing-libraries">Managing libraries</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Sources-for-R">Sources for R</a></td><td class="printindex-index-section"><a href="#Getting-and-unpacking-the-sources">Getting and unpacking the sources</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Subversion">Subversion</a></td><td class="printindex-index-section"><a href="#Using-Subversion-and-rsync">Using Subversion and rsync</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Subversion-1">Subversion</a></td><td class="printindex-index-section"><a href="#Essential-programs-and-libraries">Essential programs and libraries</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Concept-index_cp_letter-U">U</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-User-libraries">User libraries</a></td><td class="printindex-index-section"><a href="#Managing-libraries">Managing libraries</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Concept-index_cp_letter-V">V</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-Vignettes">Vignettes</a></td><td class="printindex-index-section"><a href="#Essential-programs-and-libraries">Essential programs and libraries</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
 </table>
-<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="#Concept-index_cp_letter-B"><b>B</b></a>
+<table class="cp-letters-footer-printindex"><tr><th>Jump to: &nbsp; </th><td><a class="summary-letter-printindex" href="#Concept-index_cp_letter-B"><b>B</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-C"><b>C</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-C"><b>C</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-F"><b>F</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-F"><b>F</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-I"><b>I</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-I"><b>I</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-L"><b>L</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-L"><b>L</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-M"><b>M</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-M"><b>M</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-O"><b>O</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-O"><b>O</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-P"><b>P</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-P"><b>P</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-R"><b>R</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-R"><b>R</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-S"><b>S</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-S"><b>S</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-U"><b>U</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-U"><b>U</b></a>
  &nbsp; 
-<a class="summary-letter" href="#Concept-index_cp_letter-V"><b>V</b></a>
+<a class="summary-letter-printindex" href="#Concept-index_cp_letter-V"><b>V</b></a>
  &nbsp; 
 </td></tr></table>
+</div>
 
 
 </div>
 </div>
-<div class="footnote">
+<div class="footnotes-segment">
 <hr>
 <h4 class="footnotes-heading">Footnotes</h4>
 
-<h5><a id="FOOT1" href="#DOCF1">(1)</a></h5>
-<p>e.g. <acronym>GNU</acronym>
-<code>tar</code> version 1.15 or later, or that from the &lsquo;<samp>libarchive</samp>&rsquo;
+<h5 class="footnote-body-heading"><a id="FOOT1" href="#DOCF1">(1)</a></h5>
+<p>e.g. <abbr class="acronym">GNU</abbr>
+<code class="command">tar</code> version 1.15 or later, or that from the &lsquo;<samp class="samp">libarchive</samp>&rsquo;
 (as used on macOS) or &lsquo;Heirloom Toolchest&rsquo; distributions.</p>
-<h5><a id="FOOT2" href="#DOCF2">(2)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT2" href="#DOCF2">(2)</a></h5>
 <p>for some Subversion clients
-&lsquo;<samp>http:</samp>&rsquo; may appear to work, but requires continual redirection.</p>
-<h5><a id="FOOT3" href="#DOCF3">(3)</a></h5>
+&lsquo;<samp class="samp">http:</samp>&rsquo; may appear to work, but requires continual redirection.</p>
+<h5 class="footnote-body-heading"><a id="FOOT3" href="#DOCF3">(3)</a></h5>
 <p>aka &lsquo;Apple Silicon&rsquo;, known to
-some as &lsquo;<samp>arm64-apple-darwin</samp>&rsquo;.</p>
-<h5><a id="FOOT4" href="#DOCF4">(4)</a></h5>
+some as &lsquo;<samp class="samp">arm64-apple-darwin</samp>&rsquo;.</p>
+<h5 class="footnote-body-heading"><a id="FOOT4" href="#DOCF4">(4)</a></h5>
 <p>such as Ubuntu. These use
-<samp>lib</samp> rather than <samp>lib64</samp> for their primary 64-bit library
+<samp class="file">lib</samp> rather than <samp class="file">lib64</samp> for their primary 64-bit library
 directories: attempts are made to detect such systems.</p>
-<h5><a id="FOOT5" href="#DOCF5">(5)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT5" href="#DOCF5">(5)</a></h5>
 <p>not by the version
 supplied by macOS.</p>
-<h5><a id="FOOT6" href="#DOCF6">(6)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT6" href="#DOCF6">(6)</a></h5>
 <p>Instructions
 on how to install the latest version are at
-<a href="https://www.ctan.org/tex-archive/fonts/inconsolata/">https://www.ctan.org/tex-archive/fonts/inconsolata/</a>.
-TeX Live bundles <strong>inconsolata</strong> in <strong>collection-fontsextra</strong>.</p>
-<h5><a id="FOOT7" href="#DOCF7">(7)</a></h5>
+<a class="uref" href="https://www.ctan.org/tex-archive/fonts/inconsolata/">https://www.ctan.org/tex-archive/fonts/inconsolata/</a>.
+TeX Live bundles <strong class="strong">inconsolata</strong> in <strong class="strong">collection-fontsextra</strong>.</p>
+<h5 class="footnote-body-heading"><a id="FOOT7" href="#DOCF7">(7)</a></h5>
 <p>on a
-Unix-alike, &lsquo;<samp>inconsolata</samp>&rsquo; is omitted if not found by
-<code>configure</code>.</p>
-<h5><a id="FOOT8" href="#DOCF8">(8)</a></h5>
+Unix-alike, &lsquo;<samp class="samp">inconsolata</samp>&rsquo; is omitted if not found by
+<code class="command">configure</code>.</p>
+<h5 class="footnote-body-heading"><a id="FOOT8" href="#DOCF8">(8)</a></h5>
 <p>This will be needed if more than one
 sub-architecture is to be installed.</p>
-<h5><a id="FOOT9" href="#DOCF9">(9)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT9" href="#DOCF9">(9)</a></h5>
 <p>How to prepare such a directory is described in file
-<samp>src/extra/tzone/Notes</samp> in the R sources.</p>
-<h5><a id="FOOT10" href="#DOCF10">(10)</a></h5>
+<samp class="file">src/extra/tzone/Notes</samp> in the R sources.</p>
+<h5 class="footnote-body-heading"><a id="FOOT10" href="#DOCF10">(10)</a></h5>
 <p>But on
 Windows problems have been seen with case-changing functions on accented
 Latin-1 characters.</p>
-<h5><a id="FOOT11" href="#DOCF11">(11)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT11" href="#DOCF11">(11)</a></h5>
 <p>for
-example, <samp>-fopenmp</samp>, <samp>-fiopenmp</samp>, <samp>-xopenmp</samp> or
-<samp>-qopenmp</samp>.  This includes for <code>clang</code> and the Intel and
+example, <samp class="option">-fopenmp</samp>, <samp class="option">-fiopenmp</samp>, <samp class="option">-xopenmp</samp> or
+<samp class="option">-qopenmp</samp>.  This includes for <code class="command">clang</code> and the Intel and
 Oracle compilers.</p>
-<h5><a id="FOOT12" href="#DOCF12">(12)</a></h5>
-<p>This does not necessarily disable <em>use</em> of
-<abbr>OpenMP</abbr> &ndash; the <code>configure</code> code allows for platforms where <abbr>OpenMP</abbr>
-is used without a flag. For the <code>flang</code> compiler in late 2017,
-the Fortran runtime always used <abbr>OpenMP</abbr>.</p>
-<h5><a id="FOOT13" href="#DOCF13">(13)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT12" href="#DOCF12">(12)</a></h5>
+<p>This does not necessarily disable <em class="emph">use</em> of
+<abbr class="abbr">OpenMP</abbr> &ndash; the <code class="command">configure</code> code allows for platforms where <abbr class="abbr">OpenMP</abbr>
+is used without a flag. For the <code class="command">flang</code> compiler in late 2017,
+the Fortran runtime always used <abbr class="abbr">OpenMP</abbr>.</p>
+<h5 class="footnote-body-heading"><a id="FOOT13" href="#DOCF13">(13)</a></h5>
 <p>this is part of C23, but part of the C library
 not the compiler.</p>
-<h5><a id="FOOT14" href="#DOCF14">(14)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT14" href="#DOCF14">(14)</a></h5>
 <p>At least 13&ndash;15: 15
 defaults to C23</p>
-<h5><a id="FOOT15" href="#DOCF15">(15)</a></h5>
-<p>including LLVM clang 18&ndash;20
-and Apple clang 15&ndash;17.</p>
-<h5><a id="FOOT16" href="#DOCF16">(16)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT15" href="#DOCF15">(15)</a></h5>
+<p>including LLVM clang
+18&ndash;20 and Apple clang 15&ndash;17.</p>
+<h5 class="footnote-body-heading"><a id="FOOT16" href="#DOCF16">(16)</a></h5>
 <p>Then
 all add-on packages, including recommended packages are not installed
-with <abbr>LTO</abbr>.</p>
-<h5><a id="FOOT17" href="#DOCF17">(17)</a></h5>
-<p>A complete <acronym>CRAN</acronym> installation reduced from 50
+with <abbr class="abbr">LTO</abbr>.</p>
+<h5 class="footnote-body-heading"><a id="FOOT17" href="#DOCF17">(17)</a></h5>
+<p>A complete <abbr class="acronym">CRAN</abbr> installation reduced from 50
 to 35GB.</p>
-<h5><a id="FOOT18" href="#DOCF18">(18)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT18" href="#DOCF18">(18)</a></h5>
 <p>although there is the possibility to
 exclude Fortran but that misses some of the benefits.</p>
-<h5><a id="FOOT19" href="#DOCF19">(19)</a></h5>
-<p>not <code>NM</code> as we found <code>make</code>
+<h5 class="footnote-body-heading"><a id="FOOT19" href="#DOCF19">(19)</a></h5>
+<p>not <code class="env">NM</code> as we found <code class="command">make</code>
 overriding that.</p>
-<h5><a id="FOOT20" href="#DOCF20">(20)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT20" href="#DOCF20">(20)</a></h5>
 <p>probably
 also 8.4 and later.</p>
-<h5><a id="FOOT21" href="#DOCF21">(21)</a></h5>
-<p>There are reports of segfaults when &lsquo;<samp>MiKTeX</samp>&rsquo;
-installs additional packages when making <samp>NEWS.pdf</samp>: re-running
-<code>make</code> seems to solve this.</p>
-<h5><a id="FOOT22" href="#DOCF22">(22)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT21" href="#DOCF21">(21)</a></h5>
+<p>There are reports of segfaults when &lsquo;<samp class="samp">MiKTeX</samp>&rsquo;
+installs additional packages when making <samp class="file">NEWS.pdf</samp>: re-running
+<code class="command">make</code> seems to solve this.</p>
+<h5 class="footnote-body-heading"><a id="FOOT22" href="#DOCF22">(22)</a></h5>
 <p>At the time of
 writing, version 2.8.5 or later.</p>
-<h5><a id="FOOT23" href="#DOCF23">(23)</a></h5>
-<p>The installer puts links to <code>R</code> and
-<code>Rscript</code> in <samp>/usr/local/bin</samp>.  If these are missing or
+<h5 class="footnote-body-heading"><a id="FOOT23" href="#DOCF23">(23)</a></h5>
+<p>The installer puts links to <code class="command">R</code> and
+<code class="command">Rscript</code> in <samp class="file">/usr/local/bin</samp>.  If these are missing or
 that is not on your path, you can run directly the copies in
-<samp>/Library/Frameworks/R.framework/Resources/bin</samp> or link those
+<samp class="file">/Library/Frameworks/R.framework/Resources/bin</samp> or link those
 yourself to somewhere on your path.</p>
-<h5><a id="FOOT24" href="#DOCF24">(24)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT24" href="#DOCF24">(24)</a></h5>
 <p>Formerly known as the
 Trash.</p>
-<h5><a id="FOOT25" href="#DOCF25">(25)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT25" href="#DOCF25">(25)</a></h5>
 <p>At the
-time of writing: use <code>pkgutil --pkgs | grep -i org.r-project</code> to
+time of writing: use <code class="command">pkgutil --pkgs | grep -i org.r-project</code> to
 check.</p>
-<h5><a id="FOOT26" href="#DOCF26">(26)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT26" href="#DOCF26">(26)</a></h5>
 <p>More precisely,
 of the Apple package of the same name: this means that ARM and Intel
 versions can be installed together.</p>
-<h5><a id="FOOT27" href="#DOCF27">(27)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT27" href="#DOCF27">(27)</a></h5>
 <p>Including GCC 9 on Linux.</p>
-<h5><a id="FOOT28" href="#DOCF28">(28)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT28" href="#DOCF28">(28)</a></h5>
 <p>On Windows a path containing spaces will be
 replaced by the &lsquo;short path&rsquo; version if available and that does not
 contain spaces.</p>
-<h5><a id="FOOT29" href="#DOCF29">(29)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT29" href="#DOCF29">(29)</a></h5>
 <p>unless they were excluded in the build.</p>
-<h5><a id="FOOT30" href="#DOCF30">(30)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT30" href="#DOCF30">(30)</a></h5>
 <p>its binding is locked once the startup files have been
-read, so users cannot easily change it. See <code>?.libPaths</code> for how
+read, so users cannot easily change it. See <code class="code">?.libPaths</code> for how
 to make use of the new value.</p>
-<h5><a id="FOOT31" href="#DOCF31">(31)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT31" href="#DOCF31">(31)</a></h5>
 <p>If a proxy needs to be set, see
-<code>?download.file</code>.</p>
-<h5><a id="FOOT32" href="#DOCF32">(32)</a></h5>
+<code class="command">?download.file</code>.</p>
+<h5 class="footnote-body-heading"><a id="FOOT32" href="#DOCF32">(32)</a></h5>
 <p>for a small number of
-<acronym>CRAN</acronym> packages where this is known to be safe and is needed by
+<abbr class="acronym">CRAN</abbr> packages where this is known to be safe and is needed by
 the autobuilder this is the default.  Look at the source of
-<samp>tools:::.install_packages</samp> for the list.  It can also be specified
-in the package&rsquo;s <samp>DESCRIPTION</samp> file.</p>
-<h5><a id="FOOT33" href="#DOCF33">(33)</a></h5>
+<samp class="file">tools:::.install_packages</samp> for the list.  It can also be specified
+in the package&rsquo;s <samp class="file">DESCRIPTION</samp> file.</p>
+<h5 class="footnote-body-heading"><a id="FOOT33" href="#DOCF33">(33)</a></h5>
 <p>Note that capitalization and versioning may
 differ from the Open Source project.</p>
-<h5><a id="FOOT34" href="#DOCF34">(34)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT34" href="#DOCF34">(34)</a></h5>
 <p>using a path containing spaces is likely to cause
 problems</p>
-<h5><a id="FOOT35" href="#DOCF35">(35)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT35" href="#DOCF35">(35)</a></h5>
 <p>They need
-to have been created using <samp>-headerpad_max_install_names</samp>, which
+to have been created using <samp class="option">-headerpad_max_install_names</samp>, which
 is the default for an R package.</p>
-<h5><a id="FOOT36" href="#DOCF36">(36)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT36" href="#DOCF36">(36)</a></h5>
 <p>&lsquo;X/Open Portability Guide&rsquo;, which has
 had several versions.</p>
-<h5><a id="FOOT37" href="#DOCF37">(37)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT37" href="#DOCF37">(37)</a></h5>
 <p>On most systems setting
-<code>LC_ALL</code> or <code>LC_MESSAGES</code> to &lsquo;<samp>C</samp>&rsquo; disables
-<code>LANGUAGE</code>. This is allowed but not required by POSIX.</p>
-<h5><a id="FOOT38" href="#DOCF38">(38)</a></h5>
+<code class="env">LC_ALL</code> or <code class="env">LC_MESSAGES</code> to &lsquo;<samp class="samp">C</samp>&rsquo; disables
+<code class="env">LANGUAGE</code>. This is allowed but not required by POSIX.</p>
+<h5 class="footnote-body-heading"><a id="FOOT38" href="#DOCF38">(38)</a></h5>
 <p>If you try changing from French
 to Russian except in a UTF-8 locale, you may find messages change to
 English.</p>
-<h5><a id="FOOT39" href="#DOCF39">(39)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT39" href="#DOCF39">(39)</a></h5>
 <p>the
 language written in England: some people living in the USA appropriate
 this name for their language.</p>
-<h5><a id="FOOT40" href="#DOCF40">(40)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT40" href="#DOCF40">(40)</a></h5>
 <p>with
 Americanisms.</p>
-<h5><a id="FOOT41" href="#DOCF41">(41)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT41" href="#DOCF41">(41)</a></h5>
 <p>e.g. Bessel, beta and gamma functions</p>
-<h5><a id="FOOT42" href="#DOCF42">(42)</a></h5>
-<p>including copying <samp>MkRules.dist</samp> to
-<samp>MkRule.local</samp> and selecting the architecture.</p>
-<h5><a id="FOOT43" href="#DOCF43">(43)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT42" href="#DOCF42">(42)</a></h5>
+<p>including copying <samp class="file">MkRules.dist</samp> to
+<samp class="file">MkRule.local</samp> and selecting the architecture.</p>
+<h5 class="footnote-body-heading"><a id="FOOT43" href="#DOCF43">(43)</a></h5>
 <p>also known as
-<acronym>IEEE</acronym>&nbsp;754</p>
-<h5><a id="FOOT44" href="#DOCF44">(44)</a></h5>
+<abbr class="acronym">IEEE</abbr>&nbsp;754</p>
+<h5 class="footnote-body-heading"><a id="FOOT44" href="#DOCF44">(44)</a></h5>
 <p>Note
 that C11 compilers need not be C99-compliant: R requires support for
-<code>double complex</code> and variable-length arrays which are optional in
+<code class="code">double complex</code> and variable-length arrays which are optional in
 C11 but are mandatory in C99.  C17 (also known as C18 as it was
 published in 2018) is a &lsquo;bugfix release&rsquo; of C11, clarifying the
 standard. However, all known recent compilers in C11 or C17 mode are
 C99-compliant, and most default to C17.</p>
-<h5><a id="FOOT45" href="#DOCF45">(45)</a></h5>
-<p>Examples are <samp>-std=gnu99</samp>, <samp>-std=c99</samp> and
-<samp>-c99</samp>.</p>
-<h5><a id="FOOT46" href="#DOCF46">(46)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT45" href="#DOCF45">(45)</a></h5>
+<p>Examples are <samp class="option">-std=gnu99</samp>, <samp class="option">-std=c99</samp> and
+<samp class="option">-c99</samp>.</p>
+<h5 class="footnote-body-heading"><a id="FOOT46" href="#DOCF46">(46)</a></h5>
 <p>However, it is possible to break
-the default behaviour of <code>glibc</code> by re-specifying the <code>gconv</code>
+the default behaviour of <code class="code">glibc</code> by re-specifying the <code class="code">gconv</code>
 modules to be loaded.</p>
-<h5><a id="FOOT47" href="#DOCF47">(47)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT47" href="#DOCF47">(47)</a></h5>
 <p>specifically, the C99
-functionality of headers <samp>wchar.h</samp> and <samp>wctype.h</samp>, types
-<code>wctans_t</code> and <code>mbstate_t</code> and functions <code>mbrtowc</code>,
-<code>mbstowcs</code>, <code>wcrtomb</code>, <code>wcscoll</code>, <code>wcstombs</code>,
-<code>wctrans</code>, <code>wctype</code>, and <code>iswctype</code>.</p>
-<h5><a id="FOOT48" href="#DOCF48">(48)</a></h5>
-<p>including <code>expm1</code>, <code>hypot</code>, <code>log1p</code>,
-<code>nearbyint</code> and <code>va_copy</code>.</p>
-<h5><a id="FOOT49" href="#DOCF49">(49)</a></h5>
+functionality of headers <samp class="file">wchar.h</samp> and <samp class="file">wctype.h</samp>, types
+<code class="code">wctans_t</code> and <code class="code">mbstate_t</code> and functions <code class="code">mbrtowc</code>,
+<code class="code">mbstowcs</code>, <code class="code">wcrtomb</code>, <code class="code">wcscoll</code>, <code class="code">wcstombs</code>,
+<code class="code">wctrans</code>, <code class="code">wctype</code>, and <code class="code">iswctype</code>.</p>
+<h5 class="footnote-body-heading"><a id="FOOT48" href="#DOCF48">(48)</a></h5>
+<p>including <code class="code">expm1</code>, <code class="code">hypot</code>, <code class="code">log1p</code>,
+<code class="code">nearbyint</code> and <code class="code">va_copy</code>.</p>
+<h5 class="footnote-body-heading"><a id="FOOT49" href="#DOCF49">(49)</a></h5>
 <p>including
-<code>opendir</code>, <code>readdir</code>, <code>closedir</code>, <code>popen</code>,
-<code>stat</code>, <code>glob</code>, <code>access</code>, <code>getcwd</code> and <code>chdir</code>
-system calls, <code>select</code> on a Unix-alike, and either <code>putenv</code> or
-<code>setenv</code>.</p>
-<h5><a id="FOOT50" href="#DOCF50">(50)</a></h5>
+<code class="code">opendir</code>, <code class="code">readdir</code>, <code class="code">closedir</code>, <code class="code">popen</code>,
+<code class="code">stat</code>, <code class="code">glob</code>, <code class="code">access</code>, <code class="code">getcwd</code> and <code class="code">chdir</code>
+system calls, <code class="code">select</code> on a Unix-alike, and either <code class="code">putenv</code> or
+<code class="code">setenv</code>.</p>
+<h5 class="footnote-body-heading"><a id="FOOT50" href="#DOCF50">(50)</a></h5>
 <p>such as
-<code>realpath</code>, <code>symlink</code>.</p>
-<h5><a id="FOOT51" href="#DOCF51">(51)</a></h5>
-<p>most often distributed as part of <code>xz</code>:
+<code class="code">realpath</code>, <code class="code">symlink</code>.</p>
+<h5 class="footnote-body-heading"><a id="FOOT51" href="#DOCF51">(51)</a></h5>
+<p>most often distributed as part of <code class="code">xz</code>:
 possible names in Linux distributions include
-<code>xz-devel</code>/<code>xz-libs</code> and <code>liblzma-dev</code>.</p>
-<h5><a id="FOOT52" href="#DOCF52">(52)</a></h5>
+<code class="code">xz-devel</code>/<code class="code">xz-libs</code> and <code class="code">liblzma-dev</code>.</p>
+<h5 class="footnote-body-heading"><a id="FOOT52" href="#DOCF52">(52)</a></h5>
 <p>for example,
 Fedora 40</p>
-<h5><a id="FOOT53" href="#DOCF53">(53)</a></h5>
-<p><a href="https://github.com/zlib-ng/zlib-ng">https://github.com/zlib-ng/zlib-ng</a></p>
-<h5><a id="FOOT54" href="#DOCF54">(54)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT53" href="#DOCF53">(53)</a></h5>
+<p><a class="uref" href="https://github.com/zlib-ng/zlib-ng">https://github.com/zlib-ng/zlib-ng</a></p>
+<h5 class="footnote-body-heading"><a id="FOOT54" href="#DOCF54">(54)</a></h5>
 <p>for
 example to specify static linking with a build which has both shared and
 static libraries.</p>
-<h5><a id="FOOT55" href="#DOCF55">(55)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT55" href="#DOCF55">(55)</a></h5>
 <p>Such as
-<acronym>GNU</acronym> <code>tar</code> 1.15 or later, <code>bsdtar</code> (from
-<a href="https://github.com/libarchive/libarchive/">https://github.com/libarchive/libarchive/</a>, used as
-<code>tar</code> by FreeBSD and macOS 10.6 and later) or <code>tar</code> from
+<abbr class="acronym">GNU</abbr> <code class="command">tar</code> 1.15 or later, <code class="command">bsdtar</code> (from
+<a class="uref" href="https://github.com/libarchive/libarchive/">https://github.com/libarchive/libarchive/</a>, used as
+<code class="command">tar</code> by FreeBSD and macOS 10.6 and later) or <code class="command">tar</code> from
 the Heirloom Toolchest
-(<a href="https://heirloom.sourceforge.net/tools.html">https://heirloom.sourceforge.net/tools.html</a>), although the
-latter does not support <code>xz</code> compression.</p>
-<h5><a id="FOOT56" href="#DOCF56">(56)</a></h5>
-<p><code>texi2dvi</code> is normally a shell
+(<a class="uref" href="https://heirloom.sourceforge.net/tools.html">https://heirloom.sourceforge.net/tools.html</a>), although the
+latter does not support <code class="command">xz</code> compression.</p>
+<h5 class="footnote-body-heading"><a id="FOOT56" href="#DOCF56">(56)</a></h5>
+<p><code class="command">texi2dvi</code> is normally a shell
 script.  Some of the issues which have been observed with broken
-versions of <code>texi2dvi</code> can be circumvented by setting the
-environment variable <code>R_TEXI2DVICMD</code> to the value <code>emulation</code>.</p>
-<h5><a id="FOOT57" href="#DOCF57">(57)</a></h5>
+versions of <code class="command">texi2dvi</code> can be circumvented by setting the
+environment variable <code class="env">R_TEXI2DVICMD</code> to the value <code class="code">emulation</code>.</p>
+<h5 class="footnote-body-heading"><a id="FOOT57" href="#DOCF57">(57)</a></h5>
 <p>If necessary the path to
-<code>pkg-config</code> can be specified by setting <code>PKG_CONFIG</code> in
-<samp>config.site</samp>, on the <code>configure</code> command line or in the
+<code class="command">pkg-config</code> can be specified by setting <code class="env">PKG_CONFIG</code> in
+<samp class="file">config.site</samp>, on the <code class="command">configure</code> command line or in the
 environment. There is a compatible re-implementation of
-<code>pkg-config</code> called <code>pkgconf</code> which can be used in the
+<code class="command">pkg-config</code> called <code class="command">pkgconf</code> which can be used in the
 unlikely event that is installed but not linked to
-<code>pkg-config</code>.</p>
-<h5><a id="FOOT58" href="#DOCF58">(58)</a></h5>
-<p>also known as <code>ttf-mscorefonts-installer</code> in the
+<code class="command">pkg-config</code>.</p>
+<h5 class="footnote-body-heading"><a id="FOOT58" href="#DOCF58">(58)</a></h5>
+<p>also known as <code class="code">ttf-mscorefonts-installer</code> in the
 Debian/Ubuntu world: see also
-<a href="https://en.wikipedia.org/wiki/Core_fonts_for_the_Web">https://en.wikipedia.org/wiki/Core_fonts_for_the_Web</a>.</p>
-<h5><a id="FOOT59" href="#DOCF59">(59)</a></h5>
-<p><code>ttf-liberation</code>
+<a class="uref" href="https://en.wikipedia.org/wiki/Core_fonts_for_the_Web">https://en.wikipedia.org/wiki/Core_fonts_for_the_Web</a>.</p>
+<h5 class="footnote-body-heading"><a id="FOOT59" href="#DOCF59">(59)</a></h5>
+<p><code class="code">ttf-liberation</code>
 in Debian/Ubuntu.</p>
-<h5><a id="FOOT60" href="#DOCF60">(60)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT60" href="#DOCF60">(60)</a></h5>
 <p>Including that used by
 Fedora 28 and later</p>
-<h5><a id="FOOT61" href="#DOCF61">(61)</a></h5>
-<p>R uses <samp>rpc/xdr.h</samp> but that includes
-<samp>netconfig.h</samp> from the top <samp>tirpc</samp> directory.</p>
-<h5><a id="FOOT62" href="#DOCF62">(62)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT61" href="#DOCF61">(61)</a></h5>
+<p>R uses <samp class="file">rpc/xdr.h</samp> but that includes
+<samp class="file">netconfig.h</samp> from the top <samp class="file">tirpc</samp> directory.</p>
+<h5 class="footnote-body-heading"><a id="FOOT62" href="#DOCF62">(62)</a></h5>
 <p>This is true even for
 the &lsquo;Aqua&rsquo; version of Tk on macOS, but distributions of that include a
 copy of the X11 files needed.</p>
-<h5><a id="FOOT63" href="#DOCF63">(63)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT63" href="#DOCF63">(63)</a></h5>
 <p>The level 3 routines were added in
 1988.  A 2001 &lsquo;standard&rsquo; is available at
-<a href="https://www.netlib.org/blas/blast-forum/blas-report.pdf">https://www.netlib.org/blas/blast-forum/blas-report.pdf</a>.</p>
-<h5><a id="FOOT64" href="#DOCF64">(64)</a></h5>
+<a class="uref" href="https://www.netlib.org/blas/blast-forum/blas-report.pdf">https://www.netlib.org/blas/blast-forum/blas-report.pdf</a>.</p>
+<h5 class="footnote-body-heading"><a id="FOOT64" href="#DOCF64">(64)</a></h5>
 <p>The search
 order is currently OpenBLAS, BLIS, ATLAS, platform-specific choices (see
-below) and finally a generic <samp>libblas</samp>.</p>
-<h5><a id="FOOT65" href="#DOCF65">(65)</a></h5>
+below) and finally a generic <samp class="file">libblas</samp>.</p>
+<h5 class="footnote-body-heading"><a id="FOOT65" href="#DOCF65">(65)</a></h5>
 <p>for
 example, Intel MKL not packaged by Fedora.</p>
-<h5><a id="FOOT66" href="#DOCF66">(66)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT66" href="#DOCF66">(66)</a></h5>
 <p>The only way
 to see exactly which CPUs the distributed libraries have been tuned for
-is to read the <samp>atlas.spec</samp> file.</p>
-<h5><a id="FOOT67" href="#DOCF67">(67)</a></h5>
-<p><a href="https://math-atlas.sourceforge.net/atlas_install/">https://math-atlas.sourceforge.net/atlas_install/</a></p>
-<h5><a id="FOOT68" href="#DOCF68">(68)</a></h5>
-<p><a href="https://math-atlas.sourceforge.net/faq.html#tnum">https://math-atlas.sourceforge.net/faq.html#tnum</a></p>
-<h5><a id="FOOT69" href="#DOCF69">(69)</a></h5>
+is to read the <samp class="file">atlas.spec</samp> file.</p>
+<h5 class="footnote-body-heading"><a id="FOOT67" href="#DOCF67">(67)</a></h5>
+<p><a class="uref" href="https://math-atlas.sourceforge.net/atlas_install/">https://math-atlas.sourceforge.net/atlas_install/</a></p>
+<h5 class="footnote-body-heading"><a id="FOOT68" href="#DOCF68">(68)</a></h5>
+<p><a class="uref" href="https://math-atlas.sourceforge.net/faq.html#tnum">https://math-atlas.sourceforge.net/faq.html#tnum</a></p>
+<h5 class="footnote-body-heading"><a id="FOOT69" href="#DOCF69">(69)</a></h5>
 <p>(and more, e.g. for 64-bit ints and static versions).</p>
-<h5><a id="FOOT70" href="#DOCF70">(70)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT70" href="#DOCF70">(70)</a></h5>
 <p>Nowadays known as
 &lsquo;Intel oneAPI Math Kernel Library&rsquo; or even &lsquo;oneMKL&rsquo;.</p>
-<h5><a id="FOOT71" href="#DOCF71">(71)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT71" href="#DOCF71">(71)</a></h5>
 <p>The issue for macOS
 has been the use of double-complex routines.</p>
-<h5><a id="FOOT72" href="#DOCF72">(72)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT72" href="#DOCF72">(72)</a></h5>
 <p>ATLAS, MKL, OpenBLAS and Accelerate.</p>
-<h5><a id="FOOT73" href="#DOCF73">(73)</a></h5>
-<p>We have measured 15&ndash;20% on &lsquo;<samp>i686</samp>&rsquo; Linux
-and around 10% on &lsquo;<samp>x86_64</samp>&rsquo; Linux.</p>
-<h5><a id="FOOT74" href="#DOCF74">(74)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT73" href="#DOCF73">(73)</a></h5>
+<p>We have measured 15&ndash;20% on &lsquo;<samp class="samp">i686</samp>&rsquo; Linux
+and around 10% on &lsquo;<samp class="samp">x86_64</samp>&rsquo; Linux.</p>
+<h5 class="footnote-body-heading"><a id="FOOT74" href="#DOCF74">(74)</a></h5>
 <p>at the time of revision of
-this para in early 2024, <strong>autoconf-2.72</strong> and
-<strong>automake-1.16.5</strong>. Previously <strong>autoconf-2.71</strong> was used.</p>
-<h5><a id="FOOT75" href="#DOCF75">(75)</a></h5>
+this para in early 2024, <strong class="strong">autoconf-2.72</strong> and
+<strong class="strong">automake-1.16.5</strong>. Previously <strong class="strong">autoconf-2.71</strong> was used.</p>
+<h5 class="footnote-body-heading"><a id="FOOT75" href="#DOCF75">(75)</a></h5>
 <p>The links
 there have proved difficult to access, in which case grab the copy
 made available at
-<a href="https://developer.r-project.org/noweb-2.11b.tgz">https://developer.r-project.org/noweb-2.11b.tgz</a>.</p>
-<h5><a id="FOOT76" href="#DOCF76">(76)</a></h5>
-<p>Most <code>clang</code>-based
-compilers give <code>4</code>, but not those distributed by FreeBSD.  Intel&rsquo;s
-<code>icx</code> reported <code>12</code> in 2023.</p>
-<h5><a id="FOOT77" href="#DOCF77">(77)</a></h5>
-<p>for example, <code>X11 font at size 14 could not
+<a class="uref" href="https://developer.r-project.org/noweb-2.11b.tgz">https://developer.r-project.org/noweb-2.11b.tgz</a>.</p>
+<h5 class="footnote-body-heading"><a id="FOOT76" href="#DOCF76">(76)</a></h5>
+<p>Most <code class="command">clang</code>-based
+compilers give <code class="code">4</code>, but not those distributed by FreeBSD.  Intel&rsquo;s
+<code class="command">icx</code> reported <code class="code">12</code> in 2023.</p>
+<h5 class="footnote-body-heading"><a id="FOOT77" href="#DOCF77">(77)</a></h5>
+<p>for example, <code class="code">X11 font at size 14 could not
 be loaded</code>.</p>
-<h5><a id="FOOT78" href="#DOCF78">(78)</a></h5>
-<p>For example, <code>glibc</code>: other C libraries such as
-<code>musl</code> (as used by Alpine Linux) have been used but are not
+<h5 class="footnote-body-heading"><a id="FOOT78" href="#DOCF78">(78)</a></h5>
+<p>For example, <code class="code">glibc</code>: other C libraries such as
+<code class="code">musl</code> (as used by Alpine Linux) have been used but are not
 routinely tested.</p>
-<h5><a id="FOOT79" href="#DOCF79">(79)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT79" href="#DOCF79">(79)</a></h5>
 <p>This
-also needs the <abbr>OpenMP</abbr> runtime which has sometimes been distributed
+also needs the <abbr class="abbr">OpenMP</abbr> runtime which has sometimes been distributed
 separately.</p>
-<h5><a id="FOOT80" href="#DOCF80">(80)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT80" href="#DOCF80">(80)</a></h5>
 <p>as the &lsquo;Classic&rsquo; compiler
 has been known on Windows.</p>
-<h5><a id="FOOT81" href="#DOCF81">(81)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT81" href="#DOCF81">(81)</a></h5>
 <p>it
-will if R has been installed from <acronym>CRAN</acronym> since R 4.3.0.</p>
-<h5><a id="FOOT82" href="#DOCF82">(82)</a></h5>
+will if R has been installed from <abbr class="acronym">CRAN</abbr> since R 4.3.0.</p>
+<h5 class="footnote-body-heading"><a id="FOOT82" href="#DOCF82">(82)</a></h5>
 <p>If compiling it from source on
-&lsquo;<samp>arm64</samp>&rsquo;, <code>pcre2</code> (at least up to version 10.39) needs to
+&lsquo;<samp class="samp">arm64</samp>&rsquo;, <code class="code">pcre2</code> (at least up to version 10.39) needs to
 be built without JIT support (the default) as the R build segfaults
-if that is enabled, so do run <code>make check</code> on your build.</p>
-<h5><a id="FOOT83" href="#DOCF83">(83)</a></h5>
+if that is enabled, so do run <code class="code">make check</code> on your build.</p>
+<h5 class="footnote-body-heading"><a id="FOOT83" href="#DOCF83">(83)</a></h5>
 <p>For licence reasons this is version
-5.2 of <code>readline</code>: for those who want a more recent version it is
+5.2 of <code class="code">readline</code>: for those who want a more recent version it is
 straightforward to compile it from its sources.</p>
-<h5><a id="FOOT84" href="#DOCF84">(84)</a></h5>
-<p><code>ls -l `xcrun
--show-sdk-path`</code> in a terminal will show you which <abbr>SDK</abbr> is selected.</p>
-<h5><a id="FOOT85" href="#DOCF85">(85)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT84" href="#DOCF84">(84)</a></h5>
+<p><code class="command">ls -l `xcrun
+-show-sdk-path`</code> in a terminal will show you which <abbr class="abbr">SDK</abbr> is selected.</p>
+<h5 class="footnote-body-heading"><a id="FOOT85" href="#DOCF85">(85)</a></h5>
 <p>See
-<a href="https://developer.apple.com/documentation/xcode/notarizing_macos_software_before_distribution">https://developer.apple.com/documentation/xcode/notarizing_macos_software_before_distribution</a>.</p>
-<h5><a id="FOOT86" href="#DOCF86">(86)</a></h5>
+<a class="uref" href="https://developer.apple.com/documentation/xcode/notarizing_macos_software_before_distribution">https://developer.apple.com/documentation/xcode/notarizing_macos_software_before_distribution</a>.</p>
+<h5 class="footnote-body-heading"><a id="FOOT86" href="#DOCF86">(86)</a></h5>
 <p>An essentially equivalent TeX installation can be
 obtained by the Unix TeX Live installation scripts.</p>
-<h5><a id="FOOT87" href="#DOCF87">(87)</a></h5>
-<p>E.g. <em>via</em> <code>tlmgr install helvetic
+<h5 class="footnote-body-heading"><a id="FOOT87" href="#DOCF87">(87)</a></h5>
+<p>E.g. <em class="emph">via</em> <code class="command">tlmgr install helvetic
 inconsolata texinfo</code> .</p>
-<h5><a id="FOOT88" href="#DOCF88">(88)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT88" href="#DOCF88">(88)</a></h5>
 <p>Adding all the
-packages needed to check <acronym>CRAN</acronym> increased this to about 600MB.</p>
-<h5><a id="FOOT89" href="#DOCF89">(89)</a></h5>
-<p><a href="https://developer.apple.com/documentation/accelerate">https://developer.apple.com/documentation/accelerate</a>.</p>
-<h5><a id="FOOT90" href="#DOCF90">(90)</a></h5>
+packages needed to check <abbr class="acronym">CRAN</abbr> increased this to about 600MB.</p>
+<h5 class="footnote-body-heading"><a id="FOOT89" href="#DOCF89">(89)</a></h5>
+<p><a class="uref" href="https://developer.apple.com/documentation/accelerate">https://developer.apple.com/documentation/accelerate</a>.</p>
+<h5 class="footnote-body-heading"><a id="FOOT90" href="#DOCF90">(90)</a></h5>
 <p>It has been reported that for some
-non-Apple toolchains <code>CPPFLAGS</code> needed to contain
-<code>-D__ACCELERATE__</code>: not needed for <code>clang</code> from LLVM.</p>
-<h5><a id="FOOT91" href="#DOCF91">(91)</a></h5>
-<p><a href="https://cran.r-project.org/bin/macosx/RMacOSX-FAQ.html#Which-BLAS-is-used-and-how-can-it-be-changed_003f">https://cran.r-project.org/bin/macosx/RMacOSX-FAQ.html#Which-BLAS-is-used-and-how-can-it-be-changed_003f</a></p>
-<h5><a id="FOOT92" href="#DOCF92">(92)</a></h5>
+non-Apple toolchains <code class="code">CPPFLAGS</code> needed to contain
+<code class="code">-D__ACCELERATE__</code>: not needed for <code class="command">clang</code> from LLVM.</p>
+<h5 class="footnote-body-heading"><a id="FOOT91" href="#DOCF91">(91)</a></h5>
+<p><a class="url" href="https://cran.r-project.org/bin/macosx/RMacOSX-FAQ.html#Which-BLAS-is-used-and-how-can-it-be-changed_003f">https://cran.r-project.org/bin/macosx/RMacOSX-FAQ.html#Which-BLAS-is-used-and-how-can-it-be-changed_003f</a></p>
+<h5 class="footnote-body-heading"><a id="FOOT92" href="#DOCF92">(92)</a></h5>
 <p>Released 2021-04-01.</p>
-<h5><a id="FOOT93" href="#DOCF93">(93)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT93" href="#DOCF93">(93)</a></h5>
 <p>E.g.,
-<a href="https://en.wikipedia.org/wiki/Grand_Central_Dispatch">https://en.wikipedia.org/wiki/Grand_Central_Dispatch</a> .</p>
-<h5><a id="FOOT94" href="#DOCF94">(94)</a></h5>
+<a class="url" href="https://en.wikipedia.org/wiki/Grand_Central_Dispatch">https://en.wikipedia.org/wiki/Grand_Central_Dispatch</a> .</p>
+<h5 class="footnote-body-heading"><a id="FOOT94" href="#DOCF94">(94)</a></h5>
 <p>Just that component can be selected from the installer
 for R: at the &lsquo;Installation Type&rsquo; screen select &lsquo;Customise&rsquo; and then
 just the &lsquo;Tcl/Tk 8.6.11&rsquo; component.</p>
-<h5><a id="FOOT95" href="#DOCF95">(95)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT95" href="#DOCF95">(95)</a></h5>
 <p>Configure
-Tk with <samp>--enable-aqua</samp>.</p>
-<h5><a id="FOOT96" href="#DOCF96">(96)</a></h5>
+Tk with <samp class="option">--enable-aqua</samp>.</p>
+<h5 class="footnote-body-heading"><a id="FOOT96" href="#DOCF96">(96)</a></h5>
 <p>Oracle
 Java has a restrictive licence, unlike distributions based on OpenJDK.</p>
-<h5><a id="FOOT97" href="#DOCF97">(97)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT97" href="#DOCF97">(97)</a></h5>
 <p>The planned next LTS
-release is 25 in September 2025.  Java 8 <em>aka</em> 1.8.0 is still
+release is 25 in September 2025.  Java 8 <em class="emph">aka</em> 1.8.0 is still
 LTS but some packages require 11 or later.</p>
-<h5><a id="FOOT98" href="#DOCF98">(98)</a></h5>
+<h5 class="footnote-body-heading"><a id="FOOT98" href="#DOCF98">(98)</a></h5>
 <p>which website works with
 Safari but not some other browsers.</p>
 </div>
diff -ru -P -x .mirror -x ls_lR -x Old R-release-orig/doc/html/resources.html R-patched/doc/html/resources.html
--- R-release-orig/doc/html/resources.html	2025-10-31 15:14:05.000000000 +0100
+++ R-patched/doc/html/resources.html	2025-11-21 01:32:24.364303450 +0100
@@ -1,6 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html>
 <html>
-<!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ -->
+<!-- Created by GNU Texinfo 7.2, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <title>R Resources</title>
@@ -16,21 +16,8 @@
 <link href="#Mailing-lists" rel="next" title="Mailing lists">
 <style type="text/css">
 <!--
-a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em}
-a.summary-letter {text-decoration: none}
-blockquote.indentedblock {margin-right: 0em}
-div.display {margin-left: 3.2em}
-div.example {margin-left: 3.2em}
-kbd {font-style: oblique}
-pre.display {font-family: inherit}
-pre.format {font-family: inherit}
-pre.menu-comment {font-family: serif}
-pre.menu-preformatted {font-family: serif}
-span.nolinebreak {white-space: nowrap}
-span.roman {font-family: initial; font-weight: normal}
-span.sansserif {font-family: sans-serif; font-weight: normal}
-span:hover a.copiable-anchor {visibility: visible}
-ul.no-bullet {list-style: none}
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+span:hover a.copiable-link {visibility: visible}
 @media screen {
     .container {
 	padding-right: 10px;
@@ -169,7 +156,6 @@
 </head>
 
 <body lang="en">
-<h1 class="settitle" align="center">R Resources</h1>
 
 
 
@@ -179,30 +165,30 @@
 <hr>
 
 
-<div class="chapter" id="FAQ">
-<span id="FAQ-1"></span><h3 class="section">1 FAQ</h3>
+<div class="section-level-extent" id="FAQ">
+<h3 class="section chapter-level-set-section" id="FAQ-1"><span>1 FAQ<a class="copiable-link" href="#FAQ-1"> &para;</a></span></h3>
 
 <p>A collection of Frequently Asked Questions and their
-answers is maintained by <a href="mailto:Kurt.Hornik@R-project.org">Kurt Hornik</a>
-and can be found at the <acronym>URL</acronym>
+answers is maintained by <a class="email" href="mailto:Kurt.Hornik@R-project.org">Kurt Hornik</a>
+and can be found at the <abbr class="acronym">URL</abbr>
 </p>
-<blockquote>
-<p><a href="https://CRAN.R-project.org/doc/FAQ/R-FAQ.html">https://CRAN.R-project.org/doc/FAQ/R-FAQ.html</a>
+<blockquote class="quotation">
+<p><a class="uref" href="https://CRAN.R-project.org/doc/FAQ/R-FAQ.html">https://CRAN.R-project.org/doc/FAQ/R-FAQ.html</a>
 </p></blockquote>
 
 
 
 <hr>
 </div>
-<div class="chapter" id="Mailing-lists">
-<span id="Mailing-lists-1"></span><h3 class="section">2 Mailing lists</h3>
+<div class="section-level-extent" id="Mailing-lists">
+<h3 class="section chapter-level-set-section" id="Mailing-lists-1"><span>2 Mailing lists<a class="copiable-link" href="#Mailing-lists-1"> &para;</a></span></h3>
 
-<p>Thanks to <a href="mailto:Martin.Maechler@R-project.org">Martin Maechler</a> there
+<p>Thanks to <a class="email" href="mailto:Martin.Maechler@R-project.org">Martin Maechler</a> there
 are a number of mailing lists which are used by R users and developers.
 See
 </p>
-<blockquote>
-<p><a href="https://www.R-project.org/mail.html">https://www.R-project.org/mail.html</a>
+<blockquote class="quotation">
+<p><a class="uref" href="https://www.R-project.org/mail.html">https://www.R-project.org/mail.html</a>
 </p></blockquote>
 
 <p>for details.
@@ -210,30 +196,30 @@
 
 <hr>
 </div>
-<div class="chapter" id="Archives">
-<span id="Archives-1"></span><h3 class="section">3 Archives</h3>
+<div class="section-level-extent" id="Archives">
+<h3 class="section chapter-level-set-section" id="Archives-1"><span>3 Archives<a class="copiable-link" href="#Archives-1"> &para;</a></span></h3>
 
-<p>The Comprehensive R Archive Network (<acronym>CRAN</acronym>) is a collection of
+<p>The Comprehensive R Archive Network (<abbr class="acronym">CRAN</abbr>) is a collection of
 sites which carry identical material, consisting of the R
 distribution(s), the contributed extensions, documentation for R, and
-binaries, with the master site at <a href="https://CRAN.R-project.org/">https://CRAN.R-project.org/</a> and
+binaries, with the master site at <a class="uref" href="https://CRAN.R-project.org/">https://CRAN.R-project.org/</a> and
 information on daily mirrors available from
 </p>
-<blockquote>
-<p><a href="https://CRAN.R-project.org/mirrors.html">https://CRAN.R-project.org/mirrors.html</a>
+<blockquote class="quotation">
+<p><a class="uref" href="https://CRAN.R-project.org/mirrors.html">https://CRAN.R-project.org/mirrors.html</a>
 </p></blockquote>
 
 
 <hr>
 </div>
-<div class="chapter" id="Bug_002dtracking-system">
-<span id="Bug_002dtracking-system-1"></span><h3 class="section">4 Bug-tracking system</h3>
+<div class="section-level-extent" id="Bug_002dtracking-system">
+<h3 class="section chapter-level-set-section" id="Bug_002dtracking-system-1"><span>4 Bug-tracking system<a class="copiable-link" href="#Bug_002dtracking-system-1"> &para;</a></span></h3>
 
 <p>R has a bug-tracking system (or perhaps a bug-filing system is a more
 precise description) available on the net at
 </p>
-<blockquote>
-<p><a href="https://bugs.R-project.org/">https://bugs.R-project.org/</a>
+<blockquote class="quotation">
+<p><a class="uref" href="https://bugs.R-project.org/">https://bugs.R-project.org/</a>
 </p></blockquote>
 
 
diff -ru -P -x .mirror -x ls_lR -x Old R-release-orig/doc/manual/R-admin.texi R-patched/doc/manual/R-admin.texi
--- R-release-orig/doc/manual/R-admin.texi	2025-04-25 00:15:01.000000000 +0200
+++ R-patched/doc/manual/R-admin.texi	2025-11-17 17:45:07.617139036 +0100
@@ -1098,9 +1098,9 @@
 Compiling @R{} requires C99 or later: C11 and C17 are minor updates, but
 the substantial update `C23' (finally published in October 2024) is also
 supported for recent versions of GCC@footnote{At least 13--15: 15
-defaults to C23},  @command{clang}@footnote{including @I{LLVM} clang 18--20
-and Apple clang 15--17.} and Intel @command{icx}.  @R{} 4.5.0 defaults
-to C23 if supported by the chosen compiler.
+defaults to C23}, @command{clang}@footnote{including @I{LLVM} clang
+18--20 and Apple clang 15--17.} and Intel @command{icx}.  @R{} 4.5.0 and
+later default to C23 if supported by the chosen compiler.
 
 As from @R{} 4.3.0 there is support for packages to indicate their
 preferred C version.  Macros @code{CC17}, @code{C17FLAGS}, @code{CC23}
diff -ru -P -x .mirror -x ls_lR -x Old R-release-orig/doc/manual/R-exts.texi R-patched/doc/manual/R-exts.texi
--- R-release-orig/doc/manual/R-exts.texi	2025-10-19 00:15:01.000000000 +0200
+++ R-patched/doc/manual/R-exts.texi	2025-11-19 17:45:06.513287305 +0100
@@ -2951,8 +2951,7 @@
 @subsection Using C++ code
 
 @R{} can be built without a C++ compiler although one is available (but
-not necessarily installed) on all known @R{} platforms.  As from @R{}
-4.0.0 a C++ compiler will be selected only if it conforms to the 2011
+not necessarily installed) on all known @R{} platforms. 
 standard (`C++11').  A minor update@footnote{Some changes are linked
 from
 @uref{https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations}:
@@ -2989,11 +2988,11 @@
 @c @I{LLVM} clang 14, 15 default to C++14, 16-20 to C++17
 @c g++ 11-15 default to C++17
 
-The webpage @uref{https://en.cppreference.com/w/cpp/compiler_support}
+The webpage @uref{https://en.cppreference.com/w/cpp/compiler_support.html}
 gives some information on which compiler versions are known to support
 recent C++ features.
 
-https://en.wikipedia.org/wiki/C%2B%2B17
+@c https://en.wikipedia.org/wiki/C%2B%2B17
 @c https://en.wikipedia.org/wiki/C%2B%2B20
 C++ standards have deprecated and later removed features (such as
 headers, types and functions).  Be aware that some current compilers
@@ -3006,40 +3005,24 @@
 
 For maximal portability a package should specify the standard it
 requires for code in its @file{src} directory by including something
-like @samp{C++14} in the @samp{SystemRequirements} field of the
+like @samp{C++23} in the @samp{SystemRequirements} field of the
 @file{DESCRIPTION} file, e.g.
 
 @example
-SystemRequirements: C++14
+SystemRequirements: C++23
 @end example
 @noindent
 If it has a @file{Makevars} file (or @file{Makevars.win} or
 @file{Makevars.ucrt} on Windows) this should include the line
 @example
-CXX_STD = CXX14
+CXX_STD = CXX23
 @end example
-@noindent
-On the other hand, specifying C++11@footnote{Often historically
-used to mean `not C++98'} when the code is valid under C++14 or C++17
-reduces future portability.
 
-Code needing C++14 or later features can check for their presence @emph{via}
+Code needing C++20 or later features can check for their presence @emph{via}
 `SD-6 feature tests'@footnote{See
 @uref{https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations}
 or
-@uref{https://en.cppreference.com/w/cpp/experimental/feature_test}.
-It seems a reasonable assumption that any compiler promising some C++14
-conformance will provide these---e.g.@: @command{g++} 4.9.x did but
-4.8.5 did not.}.  Such a check could be
-
-@example
-#include <memory> // header where this is defined
-#if defined(__cpp_lib_make_unique) && (__cpp_lib_make_unique >= 201304)
-using std::make_unique;
-#else
-// your emulation
-#endif
-@end example
+@uref{https://en.cppreference.com/w/cpp/experimental/feature_test.html}.}
 
 @c Ubuntu LTS releases now have 10 years of support even if announced
 @c with 8 years.
@@ -3054,12 +3037,13 @@
 @c RHEL 8 (8.x, 9.x available. full support 2024-05 + 8 more years)
 @c RHEL 9 (11.x available, full support 2027-05 + 8 more years)
 
-C++17, C++20, C++23 and C++26 (from @R{} 4.5.0) can be specified in an
-analogous way.
+C++20, C++23 and C++26 (from @R{} 4.5.0) can be specified in an
+analogous way.  Currently so can C++11 and C++14, but support for those
+is likely to be removed in 2026.
 
 Note that C++17 or later `support' does not mean complete support: use
 feature tests as well as resources such as
-@uref{https://en.cppreference.com/w/cpp/compiler_support},
+@uref{https://en.cppreference.com/w/cpp/compiler_support.html},
 @uref{https://gcc.gnu.org/projects/cxx-status.html} and
 @uref{https://clang.llvm.org/cxx_status.html} to see if the features you
 want to use are widely implemented.
@@ -3115,25 +3099,25 @@
 For a package with a @file{src/Makefile} (or a Windows analogue),
 a non-default C++ compiler can be selected by including something like
 @example
-CXX14 = `"$@{R_HOME@}/bin/R" CMD config CXX14`
-CXX14STD = `"$@{R_HOME@}/bin/R" CMD config CXX14STD`
-CXX = $@{CXX14@} $@{CXX14STD@}
-CXXFLAGS = `"$@{R_HOME@}/bin/R" CMD config CXX14FLAGS`
-CXXPICFLAGS = `"$@{R_HOME@}/bin/R" CMD config CXX14PICFLAGS`
-SHLIB_LD = "$@{R_HOME@}/bin/R" CMD config SHLIB_CXX14LD`
-SHLIB_LDFLAGS = "$@{R_HOME@}/bin/R" CMD config SHLIB_CXX14LDFLAGS`
+CXX20 = `"$@{R_HOME@}/bin/R" CMD config CXX20`
+CXX20STD = `"$@{R_HOME@}/bin/R" CMD config CXX20STD`
+CXX = $@{CXX20@} $@{CXX20STD@}
+CXXFLAGS = `"$@{R_HOME@}/bin/R" CMD config CXX20FLAGS`
+CXXPICFLAGS = `"$@{R_HOME@}/bin/R" CMD config CXX20PICFLAGS`
+SHLIB_LD = "$@{R_HOME@}/bin/R" CMD config SHLIB_CXX20LD`
+SHLIB_LDFLAGS = "$@{R_HOME@}/bin/R" CMD config SHLIB_CXX20LDFLAGS`
 @end example
 @noindent
 and ensuring these values are used in relevant compilations, after
 checking they are non-empty.  A common use of @file{src/Makefile} is to
 compile an executable, when likely something like (for example for
-C++14)
+C++20)
 @example
-if test -z "$CXX14"; then
-  AC_MSG_ERROR([No C++14 compiler is available])
+if test -z "$CXX20"; then
+  AC_MSG_ERROR([No C++20 compiler is available])
 fi
-CXX = $@{CXX14@} $@{CXX14STD@}
-CXXFLAGS = $@{CXX14FLAGS@}
+CXX = $@{CXX20@} $@{CXX20STD@}
+CXXFLAGS = $@{CXX20FLAGS@}
 @end example
 @noindent
 suffices.
@@ -3161,7 +3145,7 @@
 parameter list to now mean no parameters.@footnote{The latter has been
 implemented in @command{gcc} but not currently in @I{LLVM} nor Apple
 @command{clang}.}(There are many other additions: see for example
-@uref{https://en.cppreference.com/w/c/23}.)
+@uref{https://en.cppreference.com/w/c/23.html}.)
 
 As from @R{} 4.5.0, @R{}'s @command{configure} script chooses a compiler
 option which selects C23 if one is available.  Some compilers (including
@@ -4241,7 +4225,9 @@
 
 For packages with many variables to export it may be more convenient to
 specify the names to export with a regular expression using
-@code{exportPattern}.  The directive
+@code{exportPattern}. This pattern should be POSIX 1003.2 extended regular
+expression (see the help for @code{regexp} in @R{} for the precise details).
+The directive
 
 @findex exportPattern
 @example
@@ -6441,7 +6427,7 @@
 @end itemize
 
 Some additional information for C++ is available at
-@uref{https://journal.r-project.org/archive/2011-2/RJournal_2011-2_Plummer.pdf}
+@uref{https://journal.R-project.org/articles/RJ-2011-020/RJ-2011-020.pdf}
 by @I{Martyn Plummer}.
 
 Several OSes have or currently do provide multiple C++ runtimes ---
@@ -6569,8 +6555,8 @@
 the default of GCC 15, and @R{} will default to it if available from
 @R{} 4.5.0.
 
-Some of the more significant changes are
-@c https://en.cppreference.com/w/c/23
+@c Some of the more significant changes are
+@c https://en.cppreference.com/w/c/23.html
 
 @itemize
 
@@ -9442,7 +9428,8 @@
 in @code{initialize} (and the note ``called from internal dispatch''
 tells us so).  In this case we searched the @R{} sources for the quoted
 call, which occurred in only one place,
-@code{methods:::.asEnvironmentPackage}.  So now we knew where the
+@c @code{methods:::.asEnvironmentPackage}  @c long removed (c76155)
+so now we knew where the
 error was occurring.  (This was an unusually opaque example.)
 
 The error message
@@ -9494,7 +9481,8 @@
 1: glm(resp ~ 0 + predictor, family = binomial(link = "log"))
 2: glm.fit(x = X, y = Y, weights = weights, start = start, etastart = etastart, mus
 3: stop("no valid set of coefficients has been found: please supply starting values
-Enter an environment number, or 0 to exit  Selection:
+Enter an environment number, or 0 to exit
+Selection:
 @end smallexample
 
 @noindent
diff -ru -P -x .mirror -x ls_lR -x Old R-release-orig/doc/manual/R-ints.texi R-patched/doc/manual/R-ints.texi
--- R-release-orig/doc/manual/R-ints.texi	2025-07-27 09:02:01.000000000 +0200
+++ R-patched/doc/manual/R-ints.texi	2025-11-09 17:45:06.277105087 +0100
@@ -3701,9 +3701,8 @@
 @file{/Library/Frameworks/R.framework/R}.  This is a symbolic link, as
 frameworks can contain multiple versions of @R{}.  It eventually
 resolves to
-@file{/Library/Frameworks/R.framework/Versions/Current/Resources/lib/libR.dylib},
-which is (in the @acronym{CRAN} distribution) a `fat' binary containing
-multiple sub-architectures.
+@file{/Library/Frameworks/R.framework/Versions/Current/Resources/lib/libR.dylib}.
+
 
 macOS applications are directory trees: each @command{R.app} contains
 a front-end written in Objective-C for one sub-architecture: in the
@@ -4866,7 +4865,68 @@
 [To be revised: use @command{make check-devel}, check the write barrier
 if you change internal structures.]
 
+@node Building the source distribution
+@chapter Building the source distribution
 
+The primary distribtution of the @R{} sources is as a tarball of an SVN
+checkout of the source tree with some (text, HTML, PDF) documentation
+pre-built.
+
+This is prepared by running @command{make dist} at the top level of an
+@R{} build directory, after @command{make all} and appropriate checks
+have been run.  This creates a @command{gzip}-compressed tarball named
+something like
+@example
+R_2025-11-04_r88984.tar.gz
+@end example
+@noindent
+which can be re-named and re-compressed as desired.
+(@command{xz}-compressed tarballs are also offered for the release and
+snapshot distributions; they are around 25% smaller.)
+
+This can be done on macOS, but features of its file system can lead to
+unwanted files and headers being included.  So for safety use
+@example
+make dist TAR='/usr/bin/tar --no-xattrs --no-mac-metadata'
+@end example
+
+If adding files to the @R{} sources it is important to check that they
+are included in the tarball distoibution.  To do so use something like
+@example
+make dist
+tar -xf R-devel_*
+diff -r R-devel SVN_SRCDIR
+rm -rf R-devel
+@end example
+@noindent
+Some differences are to be expected such as
+@example
+Only in SVN_SRCDIR: .svn
+Only in R-devel: SVN-REVISION
+Only in R-devel/doc: FAQ
+Only in R-devel/doc: NEWS
+Only in R-devel/doc: NEWS.pdf
+Only in R-devel/doc: RESOURCES
+Only in R-devel/doc/html: NEWS.html
+Only in R-devel/doc/html: R-admin.html
+Only in R-devel/doc/html: resources.html
+Only in R-devel/src/library/grid/inst/doc: displaylist.pdf
+Only in R-devel/src/library/grid/inst/doc: frame.pdf
+Only in R-devel/src/library/grid/inst/doc: grid.pdf
+Only in R-devel/src/library/grid/inst/doc: grobs.pdf
+Only in R-devel/src/library/grid/inst/doc: interactive.pdf
+Only in R-devel/src/library/grid/inst/doc: locndimn.pdf
+Only in R-devel/src/library/grid/inst/doc: moveline.pdf
+Only in R-devel/src/library/grid/inst/doc: nonfinite.pdf
+Only in R-devel/src/library/grid/inst/doc: plotexample.pdf
+Only in R-devel/src/library/grid/inst/doc: rotated.pdf
+Only in R-devel/src/library/grid/inst/doc: saveload.pdf
+Only in R-devel/src/library/grid/inst/doc: sharing.pdf
+Only in R-devel/src/library/grid/inst/doc: viewports.pdf
+Only in R-devel/src/library/parallel: inst
+Only in R-devel/src/library/stats: inst
+Only in R-devel/src/library/utils/inst: doc
+@end example
 
 @node Use of TeX dialects
 @chapter Use of TeX dialects
@@ -4909,7 +4969,7 @@
 @file{Renviron} file.  This used to record @samp{false} if no command
 was found, but it nowadays records the name for looking up on the path
 at run time.  The latter can be important for binary distributions: one
-does not want to be tied to, for example, TeX Live 2007.
+does not want to be tied to, for example, TeX Live 2024.
 
 
 
diff -ru -P -x .mirror -x ls_lR -x Old R-release-orig/doc/NEWS R-patched/doc/NEWS
--- R-release-orig/doc/NEWS	2025-10-31 15:14:05.000000000 +0100
+++ R-patched/doc/NEWS	2025-11-21 01:35:32.656078229 +0100
@@ -270,6 +270,13 @@
       over what gets added to the search path.  (Actually already
       available since R 4.4.0.)
 
+    • New connection type zstdfile for files compressed by zstd if R
+      was built with such support.  file() and gzfile() can
+      automagically read such files.
+
+    • memCompress() and memDecompress() have options to use zstd
+      compression if R was built with support for it.
+
     • There is some support for zstd compression of tarballs in tar()
       and untar().  (This depends on OS support of libzstd or by tar.)
 
Binary files R-release-orig/doc/NEWS.pdf and R-patched/doc/NEWS.pdf differ
diff -ru -P -x .mirror -x ls_lR -x Old R-release-orig/doc/NEWS.Rd R-patched/doc/NEWS.Rd
--- R-release-orig/doc/NEWS.Rd	2025-10-22 00:15:02.000000000 +0200
+++ R-patched/doc/NEWS.Rd	2025-11-17 17:45:07.562120836 +0100
@@ -312,6 +312,14 @@
       full control over what gets added to the search path.  (Actually
       already available since \R 4.4.0.)
 
+      \item New connection type \code{zstdfile} for files compressed by
+      \command{zstd} if \R{} was built with such support.  \code{file()}
+      and \code{gzfile()} can automagically read such files.
+
+      \item \code{memCompress()} and \code{memDecompress()} have options
+      to use \command{zstd} compression if \R{} was built with support
+      for it.
+
       \item There is some support for \command{zstd} compression of
       tarballs in \code{tar()} and \code{untar()}.  (This depends on OS
       support of \code{libzstd} or by \command{tar}.)
diff -ru -P -x .mirror -x ls_lR -x Old R-release-orig/doc/RESOURCES R-patched/doc/RESOURCES
--- R-release-orig/doc/RESOURCES	2025-10-31 15:14:05.000000000 +0100
+++ R-patched/doc/RESOURCES	2025-11-21 01:32:23.222504652 +0100
@@ -9,9 +9,9 @@
 
      <https://CRAN.R-project.org/doc/FAQ/R-FAQ.html>
 
-A text version is in file 'FAQ' in this directory, and an HTML version is
-available as file 'doc/manual/R-FAQ.html' and via the on-line help (on the
-index page given by 'help.start()').
+A text version is in file ‘FAQ’ in this directory, and an HTML version is
+available as file ‘doc/manual/R-FAQ.html’ and via the on-line help (on the
+index page given by ‘help.start()’).
 
 2 Mailing lists
 ***************
diff -ru -P -x .mirror -x ls_lR -x Old R-release-orig/Makefile.in R-patched/Makefile.in
--- R-release-orig/Makefile.in	2025-03-14 00:02:02.000000000 +0100
+++ R-patched/Makefile.in	2025-11-04 17:45:06.901920445 +0100
@@ -191,7 +191,7 @@
             mv $(distdir) $${dirname}; \
           fi ; \
 	  rm -f $${distname}.tar.gz; \
-	  $(TAR) cf $${distname}.tar $${dirname} && $(R_GZIPCMD) $(GZIP) $${distname}.tar; \
+	  $(TAR) -cf $${distname}.tar $${dirname} && $(R_GZIPCMD) $(GZIP) $${distname}.tar; \
 	  rm -Rf $${dirname}
 dist-win:
 distdir: $(DISTFILES) docs vignettes
diff -ru -P -x .mirror -x ls_lR -x Old R-release-orig/src/library/base/man/lazyload.Rd R-patched/src/library/base/man/lazyload.Rd
--- R-release-orig/src/library/base/man/lazyload.Rd	2024-12-04 15:08:15.000000000 +0100
+++ R-patched/src/library/base/man/lazyload.Rd	2025-11-17 17:45:07.000000000 +0100
@@ -17,7 +17,7 @@
 \arguments{
   \item{filebase}{The file path to the database, with no extension.}
   \item{envir}{The environment into which objects are loaded.}
-  \item{filter}{An optional function which when called on a a character
+  \item{filter}{An optional function which when called on a character
     vector of object names returns a logical vector: only objects for
     which this is true will be loaded.}
   \item{fun}{Function of one argument, an environment.}
Binary files R-release-orig/src/library/grid/inst/doc/displaylist.pdf and R-patched/src/library/grid/inst/doc/displaylist.pdf differ
Binary files R-release-orig/src/library/grid/inst/doc/frame.pdf and R-patched/src/library/grid/inst/doc/frame.pdf differ
Binary files R-release-orig/src/library/grid/inst/doc/grid.pdf and R-patched/src/library/grid/inst/doc/grid.pdf differ
Binary files R-release-orig/src/library/grid/inst/doc/grobs.pdf and R-patched/src/library/grid/inst/doc/grobs.pdf differ
Binary files R-release-orig/src/library/grid/inst/doc/interactive.pdf and R-patched/src/library/grid/inst/doc/interactive.pdf differ
Binary files R-release-orig/src/library/grid/inst/doc/locndimn.pdf and R-patched/src/library/grid/inst/doc/locndimn.pdf differ
Binary files R-release-orig/src/library/grid/inst/doc/moveline.pdf and R-patched/src/library/grid/inst/doc/moveline.pdf differ
Binary files R-release-orig/src/library/grid/inst/doc/nonfinite.pdf and R-patched/src/library/grid/inst/doc/nonfinite.pdf differ
Binary files R-release-orig/src/library/grid/inst/doc/plotexample.pdf and R-patched/src/library/grid/inst/doc/plotexample.pdf differ
Binary files R-release-orig/src/library/grid/inst/doc/rotated.pdf and R-patched/src/library/grid/inst/doc/rotated.pdf differ
Binary files R-release-orig/src/library/grid/inst/doc/saveload.pdf and R-patched/src/library/grid/inst/doc/saveload.pdf differ
Binary files R-release-orig/src/library/grid/inst/doc/sharing.pdf and R-patched/src/library/grid/inst/doc/sharing.pdf differ
Binary files R-release-orig/src/library/grid/inst/doc/viewports.pdf and R-patched/src/library/grid/inst/doc/viewports.pdf differ
diff -ru -P -x .mirror -x ls_lR -x Old R-release-orig/src/library/Makefile.in R-patched/src/library/Makefile.in
--- R-release-orig/src/library/Makefile.in	2025-03-14 00:02:03.000000000 +0100
+++ R-patched/src/library/Makefile.in	2025-11-04 17:45:06.929016775 +0100
@@ -121,7 +121,7 @@
 	@$(ECHO) "installing packages ..."
 	@cp -R $(top_builddir)/library "$(DESTDIR)$(rhome)" || \
 	  (cd $(top_builddir)/library; \
-	    $(TAR) cf - . | (cd "$(DESTDIR)$(rhome)/library"; $(TAR) xmof -))
+	    $(TAR) -cf - . | (cd "$(DESTDIR)$(rhome)/library"; $(TAR) -xmof -))
 	@$(ECHO) "  building HTML index ..."
 	@$(ECHO) "utils:::make.packages.html(.Library, verbose=FALSE, docdir=\"$(DESTDIR)${rdocdir}\")" | \
           R_DEFAULT_PACKAGES=NULL LC_ALL=C ${R_EXE} >/dev/null
Binary files R-release-orig/src/library/parallel/inst/doc/parallel.pdf and R-patched/src/library/parallel/inst/doc/parallel.pdf differ
diff -ru -P -x .mirror -x ls_lR -x Old R-release-orig/src/library/Recommended/Makefile.in R-patched/src/library/Recommended/Makefile.in
--- R-release-orig/src/library/Recommended/Makefile.in	2025-03-14 00:02:03.000000000 +0100
+++ R-patched/src/library/Recommended/Makefile.in	2025-11-04 17:45:06.948322217 +0100
@@ -78,7 +78,7 @@
 	 abs_MKINSTALLDIRS=`echo "$(MKINSTALLDIRS)" | sed "s:$(top_srcdir):$${abs_top_srcdir}:"` ; \
 	 cd "$${tmp}"; \
 	 for pkg in $(R_PKGS_RECOMMENDED); do \
-	   gzip -dc "$(abs_top_srcdir)/src/library/Recommended/$${pkg}.tgz" | $(TAR) xf - ; \
+	   gzip -dc "$(abs_top_srcdir)/src/library/Recommended/$${pkg}.tgz" | $(TAR) -xf - ; \
 	 done ; \
 	 for pkg in $(R_PKGS_RECOMMENDED); do \
 	  if test -d $${pkg}/tests; then \
Only in R-release-orig/src/library/Recommended: mgcv_1.9-3.tar.gz
Binary files R-release-orig/src/library/Recommended/mgcv_1.9-4.tar.gz and R-patched/src/library/Recommended/mgcv_1.9-4.tar.gz differ
Binary files R-release-orig/src/library/Recommended/mgcv.tgz and R-patched/src/library/Recommended/mgcv.tgz differ
Binary files R-release-orig/src/library/stats/inst/doc/reshape.pdf and R-patched/src/library/stats/inst/doc/reshape.pdf differ
diff -ru -P -x .mirror -x ls_lR -x Old R-release-orig/src/library/tools/R/check.R R-patched/src/library/tools/R/check.R
--- R-release-orig/src/library/tools/R/check.R	2025-06-23 00:15:01.000000000 +0200
+++ R-patched/src/library/tools/R/check.R	2025-11-13 17:45:06.000000000 +0100
@@ -6450,8 +6450,8 @@
                         noteLog(Log,
                                 sprintf("  Specified C++%d: please drop specification unless essential", std))
                     ## since R 4.4.0 C++17 support is required, but
-                    ## C++20/23} support is patchy
-                    } else if (std >= 20) {
+                    ## C++23/26} support is patchy
+                    } else if (std >= 23) {
                          resultLog(Log, "OK")
                          printLog(Log,
                                   sprintf("  Not all R platforms support C++%s\n", std))
Binary files R-release-orig/src/library/utils/inst/doc/Sweave.pdf and R-patched/src/library/utils/inst/doc/Sweave.pdf differ
diff -ru -P -x .mirror -x ls_lR -x Old R-release-orig/src/modules/lapack/Lapack.c R-patched/src/modules/lapack/Lapack.c
--- R-release-orig/src/modules/lapack/Lapack.c	2025-03-14 00:02:16.000000000 +0100
+++ R-patched/src/modules/lapack/Lapack.c	2025-11-13 17:45:06.577277058 +0100
@@ -173,7 +173,8 @@
     double vl = 0.0, vu = 0.0, abstol = 0.0;
     /* valgrind seems to think vu should be set, but it is documented
        not to be used if range='a' */
-    int il, iu, *isuppz;
+    int il = 0, iu = 0, *isuppz;
+    /* il and iu are unused if range='a', but clang-21 warns */
 
     xdims = INTEGER(coerceVector(getAttrib(x, R_DimSymbol), INTSXP));
     n = xdims[0];
diff -ru -P -x .mirror -x ls_lR -x Old R-release-orig/SVN-REVISION R-patched/SVN-REVISION
--- R-release-orig/SVN-REVISION	2025-10-31 15:14:05.000000000 +0100
+++ R-patched/SVN-REVISION	2025-11-21 01:32:22.977354320 +0100
@@ -1,2 +1,2 @@
-Revision: 88974
-Last Changed Date: 2025-10-31
+Revision: 89043
+Last Changed Date: 2025-11-19
Only in R-release-orig/tests/Pkgs: ._pkgA
diff -ru -P -x .mirror -x ls_lR -x Old R-release-orig/VERSION R-patched/VERSION
--- R-release-orig/VERSION	2025-10-31 09:00:09.000000000 +0100
+++ R-patched/VERSION	2025-10-31 17:45:06.838339206 +0100
@@ -1 +1 @@
-4.5.2
+4.5.2 Patched
openSUSE Build Service is sponsored by