diff --git a/src/doc/en/developer/sage_manuals.rst b/src/doc/en/developer/sage_manuals.rst index e57a4e13996..986d3c83a75 100644 --- a/src/doc/en/developer/sage_manuals.rst +++ b/src/doc/en/developer/sage_manuals.rst @@ -200,6 +200,66 @@ by Sage, you can link toward it without specifying its full path: - ``:mathscinet:`MR0100971``` - :mathscinet:`MR0100971` + * - :ref:`ECL ` + - ``:ecl:`Manipulating-Lisp-objects``` + - :ecl:`Manipulating-Lisp-objects` + + * - + - ``:common_lisp:`RENAME-PACKAGE ``` + - :common_lisp:`RENAME-PACKAGE ` + + * - :ref:`GAP ` + - ``:gap:`Groups ``` + - :gap:`Groups ` + + * - + - ``:gap_package:`GAP package QuaGroup ``` + - :gap_package:`GAP package QuaGroup ` + + * - :ref:`Giac ` + - ``:giac_cascmd:`gbasis ``` + - :giac_cascmd:`gbasis ` + + * - + - ``:giac_us:`Unary-functions``` + - :giac_us:`Unary-functions` + + * - :ref:`Maxima ` + - ``:maxima:`struve_h ``` + - :maxima:`struve_h ` + + * - :ref:`Meson ` + - ``:meson:`install_subdir ``` + - :meson:`install_subdir ` + + * - :ref:`Pari ` + - ``:pari:`lfungenus2``` + - :pari:`lfungenus2` + + * - :ref:`polymake ` + - ``:polymake:`matroid``` + - :polymake:`matroid` + + * - :ref:`PPL ` + - ``:ppl:`Linear_Expression ``` + - :ppl:`Linear_Expression ` + + * - :ref:`QEPCAD ` + - ``:qepcad:`QEPCAD: Entering formulas ``` + - :qepcad:`QEPCAD: Entering formulas ` + + * - :ref:`SCIP ` + - ``:scip:`SCIPsolve ``` + - :scip:`SCIPsolve ` + + * - :ref:`Singular ` + - ``:singular:`stdfglm ``` + - :singular:`stdfglm ` + + * - :ref:`SoPlex ` + - ``:soplex:`soplex::LinSolverRational ``` + - :soplex:`soplex::LinSolverRational ` + **http links:** copy/pasting a http link in the documentation works. If you want a specific link name, use ```link name `_`` diff --git a/src/sage/algebras/quantum_groups/quantum_group_gap.py b/src/sage/algebras/quantum_groups/quantum_group_gap.py index 0c92355503c..997fe0f3b04 100644 --- a/src/sage/algebras/quantum_groups/quantum_group_gap.py +++ b/src/sage/algebras/quantum_groups/quantum_group_gap.py @@ -6,9 +6,8 @@ - Travis Scrimshaw (03-2017): initial version -The documentation for GAP's QuaGroup package, originally authored by -Willem Adriaan de Graaf, can be found at -https://www.gap-system.org/Packages/quagroup.html. +See the :gap_package:`documentation for GAP's QuaGroup package `, +originally authored by Willem Adriaan de Graaf. """ # **************************************************************************** diff --git a/src/sage/combinat/designs/incidence_structures.py b/src/sage/combinat/designs/incidence_structures.py index 839006798a0..79c95d2c4fb 100644 --- a/src/sage/combinat/designs/incidence_structures.py +++ b/src/sage/combinat/designs/incidence_structures.py @@ -1810,8 +1810,7 @@ def dual(self, algorithm=None): REFERENCE: - - Soicher, Leonard, Design package manual, available at - https://www.gap-system.org/Manuals/pkg/design/htm/CHAP003.htm + - Leonard Soicher, :gap_package:`Design package manual ` """ if algorithm == "gap": libgap.load_package("design") diff --git a/src/sage/groups/cubic_braid.py b/src/sage/groups/cubic_braid.py index e2b49edf867..9dd59e069f9 100644 --- a/src/sage/groups/cubic_braid.py +++ b/src/sage/groups/cubic_braid.py @@ -274,8 +274,8 @@ def _richcmp_(self, other, op): :class:`FinitelyPresentedGroupElement` (via Gap) does not terminate in the case of more than 5 strands (not only infinite cases). On less than 5 strands comparison is not assumed to be deterministic - (see the :issue:`33498` and section 47.3-2 of the - `Gap Reference manual `__). + (see the :issue:`33498` and :gap:`section 47.3-2 of the + Gap Reference manual `). Therefore, the comparison is done via the Burau representation. diff --git a/src/sage/groups/generic.py b/src/sage/groups/generic.py index 84d3cd89436..cb406b444af 100644 --- a/src/sage/groups/generic.py +++ b/src/sage/groups/generic.py @@ -1625,8 +1625,7 @@ def structure_description(G, latex=False): This methods wraps GAP's ``StructureDescription`` method. For full details, including the form of the returned string and the - algorithm to build it, see `GAP's documentation - `_. + algorithm to build it, see :gap:`GAP's documentation `. INPUT: diff --git a/src/sage/groups/matrix_gps/finitely_generated_gap.py b/src/sage/groups/matrix_gps/finitely_generated_gap.py index 5dd566a96c2..14bf551789f 100644 --- a/src/sage/groups/matrix_gps/finitely_generated_gap.py +++ b/src/sage/groups/matrix_gps/finitely_generated_gap.py @@ -223,8 +223,7 @@ def module_composition_factors(self, algorithm=None): Type ``G.module_composition_factors(algorithm='verbose')`` to get a more verbose version. - For more on MeatAxe notation, see - https://www.gap-system.org/Manuals/doc/ref/chap69.html + For more on MeatAxe notation, see :gap:`chap69`. """ from sage.libs.gap.libgap import libgap F = self.base_ring() diff --git a/src/sage/libs/gap/util.pyx b/src/sage/libs/gap/util.pyx index 8685dc08fa5..81df83a6e0d 100644 --- a/src/sage/libs/gap/util.pyx +++ b/src/sage/libs/gap/util.pyx @@ -188,8 +188,8 @@ cdef initialize() noexcept: """ Initialize the GAP library, if it hasn't already been initialized. It is safe to call this multiple times. One can set - :envvar:`SAGE_GAP_MEMORY` to a particular value, as desribed in - `GAP Manual `_ + :envvar:`SAGE_GAP_MEMORY` to a particular value, as described in + the :gap:`GAP Manual `. Specifically, the value is for `-s` and `-o` options. TESTS:: diff --git a/src/sage/misc/sagedoc.py b/src/sage/misc/sagedoc.py index 215939604d7..1f30fc2b3f6 100644 --- a/src/sage/misc/sagedoc.py +++ b/src/sage/misc/sagedoc.py @@ -512,7 +512,21 @@ def process_dollars(s): 'oeis': ('https://oeis.org/%s', 'OEIS sequence %s'), 'doi': ('https://doi.org/%s', 'doi:%s'), 'pari': ('https://pari.math.u-bordeaux.fr/dochtml/help/%s', 'pari:%s'), - 'mathscinet': ('https://www.ams.org/mathscinet-getitem?mr=%s', 'MathSciNet %s') + 'mathscinet': ('https://www.ams.org/mathscinet-getitem?mr=%s', 'MathSciNet %s'), + 'common_lisp': ('https://www.lispworks.com/documentation/lw50/CLHS/Body/%s.htm', 'Common Lisp: %s'), + 'ecl': ('https://ecl.common-lisp.dev/static/manual/%s.html', 'ECL: %s'), + 'gap': ('https://docs.gap-system.org/doc/ref/%s_mj.html', 'GAP: %s'), + 'gap_package': ('https://docs.gap-system.org/pkg/%s', 'GAP package %s'), + 'giac_cascmd': ('https://www-fourier.ujf-grenoble.fr/~parisse/giac/doc/en/cascmd_en/%s.html', 'Giac: %s'), + 'giac_us': ('https://www-fourier.ujf-grenoble.fr/~parisse/giac_us.html#%s', 'Giac API: %s'), + 'maxima': ('https://maxima.sourceforge.io/docs/manual/maxima_singlepage.html#%s', 'Maxima: %s'), + 'meson': ('https://mesonbuild.com/%s', 'Meson: %s'), + 'polymake': ('https://polymake.org/doku.php/documentation/latest/%s', 'polymake: %s'), + 'ppl': ('https://www.bugseng.com/products/ppl/documentation/user/ppl-user-1.2-html/%s.html', 'PPL: %s'), + 'qepcad': ('https://www.usna.edu/CS/qepcadweb/B/%s.html', 'QEPCAD: %s'), + 'scip': ('https://scipopt.org/doc/html/%s.php', 'SCIP: %s'), + 'singular': ('https://www.singular.uni-kl.de/Manual/4-3-2/%s.htm', 'Singular: %s'), + 'soplex': ('https://soplex.zib.de/doc/html/%s.php', 'SoPlex: %s'), }