Skip to content

Duplicate labels in the manual #133

@stertooy

Description

@stertooy

CI tests for the manual currently fail due to multiply-defined labels. It seems there are a total of 329 duplicates.

The reason behind this, is that any GAPDoc declaration of a function/operation/method/attribute/... without a label, will be given an automatically generated label that equals its Name field. But if there are multiple declarations with the same name, each of them without a label assigned manually, then they all get the same auto-generated label, see e.g. below.

<ManSection> <Func Name="ModPCohomologyRing" Arg="G,n"/> <Func Name="ModPCohomologyRing" Arg="G,n,level"/> <Func Name="ModPCohomologyRing" Arg="R"/> <Func Name="ModPCohomologyRing" Arg="R,level"/> <Description> <P/> Inputs either a <M>p</M>-group <M>G</M> and positive integer <M>n</M>, or else <M>n</M> terms of a minimal <M>Z_pG</M>-resolution <M>R</M> of <M>Z_p</M>. It returns the cohomology ring <M>A=H^*(G,Z_p)</M> modulo all elements in degree greater than <M>n</M>. <P/> The ring is returned as a structure constant algebra <M>A</M>. <P/> The ring <M>A</M> is graded. It has a component <M>A!.degree(x)</M> which is a function returning the degree of each (homogeneous) element <M>x</M> in <M>GeneratorsOfAlgebra(A)</M>. <P/> An optional input variable "level" can be set to one of the strings "medium" or "high". These settings determine parameters in the algorithm. The default setting is "medium". <P/> When "level" is set to "high" the ring <M>A</M> is returned with a component <M>A!.niceBasis</M>. This component is a pair <M>[Coeff,Bas]</M>. Here <M>Bas</M> is a list of integer lists; a "nice" basis for the vector space <M>A</M> can be constructed using the command <M>List(Bas,x->Product(List(x,i->Basis(A)[i]))</M>. The coefficients of the canonical basis element <M>Basis(A)[i]</M> are stored as <M>Coeff[i]</M>. <P/> If the ring <M>A</M> is computed using the setting "level"="medium" then the component <M>A!.niceBasis</M> can be added to <M>A</M> using the command <M> A:=ModPCohomologyRing_part_2(A) </M>. <P/><B>Examples:</B> <URL><Link>../tutorial/chap8.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutModPRings.html</Link><LinkText>2</LinkText></URL>&nbsp;

Which causes

2025-10-18T11:34:36.4288263Z LaTeX Warning: Label `ModPCohomologyRing' multiply defined.
2025-10-18T11:34:36.4288614Z LaTeX Warning: Label `ModPCohomologyRing' multiply defined.
2025-10-18T11:34:36.4288953Z LaTeX Warning: Label `ModPCohomologyRing' multiply defined.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions