executablebooks / sphinx-proof

A Sphinx extension for producing proof, theorem, lemma, definition, remark, conjecture, corollary and algorithm directives.
https://sphinx-proof.readthedocs.io/en/latest/
MIT License
30 stars 16 forks source link

Hide Content Only Works For Non-Proof Directives, here #86

Open schwabts opened 2 years ago

schwabts commented 2 years ago

Describe the bug

context When I add the class dropdown to any directive except

````{prf:proof}
:class: dropdown
the directives become collapsible in the HTML output opened in a browser.

**expectation**
I expected the feature to work for actual proofs, too.

**bug**
* But instead I only succeed creating collapsible remarks, corollaries, notes, lemmas, theorems, ....
* Additional tests suggest the feature may not work in these two situations, either:
    1. anywhere in the markdown file after a `prf:proof` directive had been used
    2. directives that have a caption as in ``` ````{prf:lemma} caption ``` to be shown as `Lemma 1 (caption)`
* I did not find any error message possibly related to this.

**problem**
This is a problem for people creating lectures or slides for talks because hiding proofs is often of greater interest than hiding theorems when we want to convey the concepts.

### Reproduce the bug

1. Create a Jupyter Book making use of `sphinx-proof`
2. Add the directives
:class: dropdown

All natural numbers are small.
and
:class: dropdown

* $1$ Is small.
* If $n$ is small then $S(n)$, the successor of $n$ is small.
* By induction, all natural numbers are small.

3. `jb build book/`

### List your environment

Jupyter Book      : 0.13.0
External ToC      : 0.2.4
MyST-Parser       : 0.15.2
MyST-NB           : 0.13.2
Sphinx Book Theme : 0.3.3
Jupyter-Cache     : 0.4.3
NbClient          : 0.5.3
lellmann commented 2 years ago

Same issue here. I think it might be because "proof" doesn't have a title line that can be made clickable? Maybe it would be useful to add an option to provide a title to the "Proof" block.