Skip to content

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

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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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