Skip to content

Examples in different files have same labels (e.g., 'example-0') #79

Open
@photong

Description

@photong

Describe the bug

When I add the prf:example directive in two different files (foo.rst and bar.rst), the first
example for each file is labeled 'example-0'.

This leads to

foo.rst: WARNING: duplicate example label 'example-0', other instance in bar.rst

when I run "make html". The examples have correct labels in the HTML output, so the main problem is the large number of warnings during compile time (with hundreds of examples, it becomes difficult to see other warnings).

The duplication seems to be caused by the use of serial_no = env.new_serialno() in directive.py. According to the Sphinx documentation for new_serialno:

The number is guaranteed to be unique in the current document.

Is it possible to get a unique number per example in a project?

Reproduce the bug

  1. Create a file with prf:example directive.
  2. Create another file with prf:example directive.
  3. Add both files to a toctree.
  4. Note warning during sphinx-build.

List your environment

Sphinx 4.5
sphinx_proof extension (no other extensions)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions