sphinx-exercise 1.2.0__tar.gz → 1.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/.github/workflows/ci.yml +1 -1
  2. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/CHANGELOG.md +21 -0
  3. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/PKG-INFO +2 -2
  4. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/docs/source/releases/index.md +2 -0
  5. sphinx_exercise-1.2.2/docs/source/releases/v1.2.1.md +69 -0
  6. sphinx_exercise-1.2.2/docs/source/releases/v1.2.2.md +65 -0
  7. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/__init__.py +1 -1
  8. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/nodes.py +18 -6
  9. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/post_transforms.py +2 -1
  10. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-gateddirective/conf.py +5 -1
  11. sphinx_exercise-1.2.2/tests/books/test-latexfigure/conf.py +11 -0
  12. sphinx_exercise-1.2.2/tests/books/test-latexfigure/index.rst +57 -0
  13. sphinx_exercise-1.2.2/tests/books/test-latexfigure/notebook.ipynb +85 -0
  14. sphinx_exercise-1.2.2/tests/books/test-latexfigure/plot.png +0 -0
  15. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/conftest.py +9 -0
  16. sphinx_exercise-1.2.2/tests/test_latex.py +71 -0
  17. sphinx_exercise-1.2.0/tests/test_latex.py +0 -23
  18. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/.flake8 +0 -0
  19. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/.github/copilot-instructions.md +0 -0
  20. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/.gitignore +0 -0
  21. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/.pre-commit-config.yaml +0 -0
  22. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/.readthedocs.yml +0 -0
  23. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/LICENSE +0 -0
  24. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/MANIFEST.in +0 -0
  25. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/README.md +0 -0
  26. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/RELEASE.md +0 -0
  27. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/codecov.yml +0 -0
  28. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/docs/Makefile +0 -0
  29. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/docs/_static/custom.css +0 -0
  30. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/docs/make.bat +0 -0
  31. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/docs/runtime.txt +0 -0
  32. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/docs/source/conf.py +0 -0
  33. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/docs/source/developer-design.md +0 -0
  34. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/docs/source/developer.md +0 -0
  35. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/docs/source/img/gated-directive-example.png +0 -0
  36. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/docs/source/index.md +0 -0
  37. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/docs/source/install.md +0 -0
  38. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/docs/source/releases/v1.1.0.md +0 -0
  39. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/docs/source/releases/v1.1.1.md +0 -0
  40. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/docs/source/releases/v1.2.0.md +0 -0
  41. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/docs/source/syntax.md +0 -0
  42. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/pyproject.toml +0 -0
  43. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/pytest.ini +0 -0
  44. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/_compat.py +0 -0
  45. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/assets/html/exercise.css +0 -0
  46. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/directive.py +0 -0
  47. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/latex.py +0 -0
  48. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/transforms.py +0 -0
  49. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/README.md +0 -0
  50. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/_convert.py +0 -0
  51. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/jsons/Exercise.json +0 -0
  52. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/jsons/Solution.json +0 -0
  53. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/ar/LC_MESSAGES/exercise.mo +0 -0
  54. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/ar/LC_MESSAGES/exercise.po +0 -0
  55. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/bn/LC_MESSAGES/exercise.mo +0 -0
  56. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/bn/LC_MESSAGES/exercise.po +0 -0
  57. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/cs/LC_MESSAGES/exercise.mo +0 -0
  58. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/cs/LC_MESSAGES/exercise.po +0 -0
  59. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/de/LC_MESSAGES/exercise.mo +0 -0
  60. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/de/LC_MESSAGES/exercise.po +0 -0
  61. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/el/LC_MESSAGES/exercise.mo +0 -0
  62. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/el/LC_MESSAGES/exercise.po +0 -0
  63. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/es/LC_MESSAGES/exercise.mo +0 -0
  64. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/es/LC_MESSAGES/exercise.po +0 -0
  65. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/fr/LC_MESSAGES/exercise.mo +0 -0
  66. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/fr/LC_MESSAGES/exercise.po +0 -0
  67. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/hi/LC_MESSAGES/exercise.mo +0 -0
  68. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/hi/LC_MESSAGES/exercise.po +0 -0
  69. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/hu/LC_MESSAGES/exercise.mo +0 -0
  70. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/hu/LC_MESSAGES/exercise.po +0 -0
  71. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/id/LC_MESSAGES/exercise.mo +0 -0
  72. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/id/LC_MESSAGES/exercise.po +0 -0
  73. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/it/LC_MESSAGES/exercise.mo +0 -0
  74. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/it/LC_MESSAGES/exercise.po +0 -0
  75. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/ja/LC_MESSAGES/exercise.mo +0 -0
  76. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/ja/LC_MESSAGES/exercise.po +0 -0
  77. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/ko/LC_MESSAGES/exercise.mo +0 -0
  78. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/ko/LC_MESSAGES/exercise.po +0 -0
  79. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/ms/LC_MESSAGES/exercise.mo +0 -0
  80. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/ms/LC_MESSAGES/exercise.po +0 -0
  81. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/nl/LC_MESSAGES/exercise.mo +0 -0
  82. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/nl/LC_MESSAGES/exercise.po +0 -0
  83. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/no/LC_MESSAGES/exercise.mo +0 -0
  84. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/no/LC_MESSAGES/exercise.po +0 -0
  85. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/pl/LC_MESSAGES/exercise.mo +0 -0
  86. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/pl/LC_MESSAGES/exercise.po +0 -0
  87. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/pt/LC_MESSAGES/exercise.mo +0 -0
  88. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/pt/LC_MESSAGES/exercise.po +0 -0
  89. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/ro/LC_MESSAGES/exercise.mo +0 -0
  90. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/ro/LC_MESSAGES/exercise.po +0 -0
  91. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/ru/LC_MESSAGES/exercise.mo +0 -0
  92. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/ru/LC_MESSAGES/exercise.po +0 -0
  93. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/sv/LC_MESSAGES/exercise.mo +0 -0
  94. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/sv/LC_MESSAGES/exercise.po +0 -0
  95. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/ta/LC_MESSAGES/exercise.mo +0 -0
  96. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/ta/LC_MESSAGES/exercise.po +0 -0
  97. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/tr/LC_MESSAGES/exercise.mo +0 -0
  98. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/tr/LC_MESSAGES/exercise.po +0 -0
  99. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/uk/LC_MESSAGES/exercise.mo +0 -0
  100. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/uk/LC_MESSAGES/exercise.po +0 -0
  101. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/vi/LC_MESSAGES/exercise.mo +0 -0
  102. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/vi/LC_MESSAGES/exercise.po +0 -0
  103. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/zh_CN/LC_MESSAGES/exercise.mo +0 -0
  104. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/translations/locales/zh_CN/LC_MESSAGES/exercise.po +0 -0
  105. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/sphinx_exercise/utils.py +0 -0
  106. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-duplicatelabel/Makefile +0 -0
  107. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-duplicatelabel/conf.py +0 -0
  108. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-duplicatelabel/index.rst +0 -0
  109. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-duplicatelabel/make.bat +0 -0
  110. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-gateddirective/Makefile +0 -0
  111. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-gateddirective/exercise-gated.md +0 -0
  112. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-gateddirective/exercise.md +0 -0
  113. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-gateddirective/exercise_errors_1.md +0 -0
  114. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-gateddirective/exercise_errors_2.md +0 -0
  115. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-gateddirective/exercise_errors_3.md +0 -0
  116. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-gateddirective/index.md +0 -0
  117. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-gateddirective/make.bat +0 -0
  118. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-gateddirective/solution-exercise-gated.md +0 -0
  119. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-gateddirective/solution-exercise.md +0 -0
  120. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-gateddirective/solution_errors_1.md +0 -0
  121. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-gateddirective/solution_errors_2.md +0 -0
  122. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-gateddirective/solution_errors_3.md +0 -0
  123. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-gateddirective/sphx_glr_cohere_001_2_0x.png +0 -0
  124. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-hiddendirectives/Makefile +0 -0
  125. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-hiddendirectives/_enum_duplicatelabel_hidden.rst +0 -0
  126. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-hiddendirectives/_enum_hidden.rst +0 -0
  127. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-hiddendirectives/_linked_enum_hidden.rst +0 -0
  128. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-hiddendirectives/_linked_unenum_hidden.rst +0 -0
  129. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-hiddendirectives/_unenum_hidden.rst +0 -0
  130. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-hiddendirectives/conf.py +0 -0
  131. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-hiddendirectives/index.rst +0 -0
  132. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-hiddendirectives/make.bat +0 -0
  133. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/Makefile +0 -0
  134. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/conf.py +0 -0
  135. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_enum_duplicate_label.rst +0 -0
  136. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_enum_mathtitle_label.rst +0 -0
  137. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_enum_notitle_label.rst +0 -0
  138. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_enum_numref_mathtitle.rst +0 -0
  139. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_enum_numref_notitle.rst +0 -0
  140. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_enum_numref_placeholders.rst +0 -0
  141. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_enum_numref_title.rst +0 -0
  142. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_enum_ref_mathtitle.rst +0 -0
  143. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_enum_ref_notitle.rst +0 -0
  144. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_enum_ref_title.rst +0 -0
  145. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_enum_title_class_label.rst +0 -0
  146. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_enum_title_nolabel.rst +0 -0
  147. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_unenum_mathtitle_label.rst +0 -0
  148. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_unenum_notitle_label.rst +0 -0
  149. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_unenum_numref_mathtitle.rst +0 -0
  150. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_unenum_numref_notitle.rst +0 -0
  151. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_unenum_numref_title.rst +0 -0
  152. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_unenum_ref_mathtitle.rst +0 -0
  153. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_unenum_ref_notitle.rst +0 -0
  154. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_unenum_ref_title.rst +0 -0
  155. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_unenum_title_class_label.rst +0 -0
  156. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/exercise/_unenum_title_nolabel.rst +0 -0
  157. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/index.rst +0 -0
  158. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/make.bat +0 -0
  159. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/solution/_linked_duplicate_label.rst +0 -0
  160. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/solution/_linked_enum.rst +0 -0
  161. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/solution/_linked_enum_class.rst +0 -0
  162. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/solution/_linked_missing_arg.rst +0 -0
  163. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/solution/_linked_ref_enum.rst +0 -0
  164. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/solution/_linked_ref_unenum_mathtitle.rst +0 -0
  165. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/solution/_linked_ref_unenum_mathtitle2.rst +0 -0
  166. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/solution/_linked_ref_unenum_notitle.rst +0 -0
  167. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/solution/_linked_ref_unenum_title.rst +0 -0
  168. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/solution/_linked_ref_wronglabel.rst +0 -0
  169. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/solution/_linked_unenum_mathtitle.rst +0 -0
  170. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/solution/_linked_unenum_mathtitle2.rst +0 -0
  171. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/solution/_linked_unenum_notitle.rst +0 -0
  172. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/solution/_linked_unenum_title.rst +0 -0
  173. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-mybook/solution/_linked_wrong_targetlabel.rst +0 -0
  174. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-simplebook/Makefile +0 -0
  175. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-simplebook/conf.py +0 -0
  176. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-simplebook/exercise.rst +0 -0
  177. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-simplebook/index.rst +0 -0
  178. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-simplebook/make.bat +0 -0
  179. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/books/test-simplebook/solution.rst +0 -0
  180. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_build.py +0 -0
  181. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_duplicatelabel.py +0 -0
  182. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise/_enum_duplicate_label.xml +0 -0
  183. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise/_enum_mathtitle_label.html +0 -0
  184. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise/_enum_mathtitle_label.xml +0 -0
  185. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise/_enum_notitle_label.html +0 -0
  186. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise/_enum_notitle_label.xml +0 -0
  187. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise/_enum_title_class_label.html +0 -0
  188. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise/_enum_title_class_label.xml +0 -0
  189. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise/_enum_title_nolabel.html +0 -0
  190. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise/_enum_title_nolabel.xml +0 -0
  191. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise/_unenum_mathtitle_label.html +0 -0
  192. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise/_unenum_mathtitle_label.xml +0 -0
  193. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise/_unenum_notitle_label.html +0 -0
  194. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise/_unenum_notitle_label.xml +0 -0
  195. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise/_unenum_title_class_label.html +0 -0
  196. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise/_unenum_title_class_label.xml +0 -0
  197. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise/_unenum_title_nolabel.html +0 -0
  198. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise/_unenum_title_nolabel.xml +0 -0
  199. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise.py +0 -0
  200. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_mathtitle.html +0 -0
  201. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_mathtitle.sphinx6.html +0 -0
  202. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_mathtitle.sphinx7.html +0 -0
  203. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_mathtitle.sphinx8.1.html +0 -0
  204. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_mathtitle.sphinx8.html +0 -0
  205. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_mathtitle.xml +0 -0
  206. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_notitle.html +0 -0
  207. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_notitle.sphinx6.html +0 -0
  208. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_notitle.sphinx7.html +0 -0
  209. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_notitle.sphinx8.1.html +0 -0
  210. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_notitle.sphinx8.html +0 -0
  211. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_notitle.xml +0 -0
  212. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_placeholders.html +0 -0
  213. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_placeholders.sphinx6.html +0 -0
  214. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_placeholders.sphinx7.html +0 -0
  215. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_placeholders.sphinx8.1.html +0 -0
  216. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_placeholders.sphinx8.html +0 -0
  217. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_placeholders.xml +0 -0
  218. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_title.html +0 -0
  219. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_title.sphinx6.html +0 -0
  220. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_title.sphinx7.html +0 -0
  221. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_title.sphinx8.1.html +0 -0
  222. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_title.sphinx8.html +0 -0
  223. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_numref_title.xml +0 -0
  224. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_ref_mathtitle.html +0 -0
  225. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_ref_mathtitle.sphinx6.html +0 -0
  226. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_ref_mathtitle.sphinx7.html +0 -0
  227. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_ref_mathtitle.sphinx8.1.html +0 -0
  228. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_ref_mathtitle.sphinx8.html +0 -0
  229. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_ref_mathtitle.xml +0 -0
  230. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_ref_notitle.html +0 -0
  231. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_ref_notitle.sphinx6.html +0 -0
  232. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_ref_notitle.sphinx7.html +0 -0
  233. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_ref_notitle.sphinx8.1.html +0 -0
  234. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_ref_notitle.sphinx8.html +0 -0
  235. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_ref_notitle.xml +0 -0
  236. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_ref_title.html +0 -0
  237. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_ref_title.sphinx6.html +0 -0
  238. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_ref_title.sphinx7.html +0 -0
  239. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_ref_title.sphinx8.1.html +0 -0
  240. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_ref_title.sphinx8.html +0 -0
  241. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_enum_ref_title.xml +0 -0
  242. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_numref_mathtitle.html +0 -0
  243. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_numref_mathtitle.sphinx6.html +0 -0
  244. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_numref_mathtitle.sphinx7.html +0 -0
  245. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_numref_mathtitle.sphinx8.1.html +0 -0
  246. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_numref_mathtitle.sphinx8.html +0 -0
  247. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_numref_mathtitle.xml +0 -0
  248. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_numref_notitle.html +0 -0
  249. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_numref_notitle.sphinx6.html +0 -0
  250. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_numref_notitle.sphinx7.html +0 -0
  251. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_numref_notitle.sphinx8.1.html +0 -0
  252. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_numref_notitle.sphinx8.html +0 -0
  253. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_numref_notitle.xml +0 -0
  254. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_numref_title.html +0 -0
  255. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_numref_title.sphinx6.html +0 -0
  256. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_numref_title.sphinx7.html +0 -0
  257. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_numref_title.sphinx8.1.html +0 -0
  258. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_numref_title.sphinx8.html +0 -0
  259. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_numref_title.xml +0 -0
  260. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_ref_mathtitle.html +0 -0
  261. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_ref_mathtitle.sphinx6.html +0 -0
  262. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_ref_mathtitle.sphinx7.html +0 -0
  263. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_ref_mathtitle.sphinx8.1.html +0 -0
  264. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_ref_mathtitle.sphinx8.html +0 -0
  265. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_ref_mathtitle.xml +0 -0
  266. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_ref_notitle.html +0 -0
  267. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_ref_notitle.sphinx6.html +0 -0
  268. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_ref_notitle.sphinx7.html +0 -0
  269. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_ref_notitle.sphinx8.1.html +0 -0
  270. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_ref_notitle.sphinx8.html +0 -0
  271. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_ref_notitle.xml +0 -0
  272. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_ref_title.html +0 -0
  273. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_ref_title.sphinx6.html +0 -0
  274. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_ref_title.sphinx7.html +0 -0
  275. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_ref_title.sphinx8.1.html +0 -0
  276. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_ref_title.sphinx8.html +0 -0
  277. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references/_unenum_ref_title.xml +0 -0
  278. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_references.py +0 -0
  279. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_exercise_style.py +0 -0
  280. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/exercise-gated-0.html +0 -0
  281. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/exercise-gated-0.sphinx6.html +0 -0
  282. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/exercise-gated-0.sphinx7.html +0 -0
  283. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/exercise-gated-0.sphinx8.1.html +0 -0
  284. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/exercise-gated-0.sphinx8.html +0 -0
  285. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/exercise-gated-1.html +0 -0
  286. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/exercise-gated-1.sphinx6.html +0 -0
  287. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/exercise-gated-1.sphinx7.html +0 -0
  288. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/exercise-gated-1.sphinx8.1.html +0 -0
  289. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/exercise-gated-1.sphinx8.html +0 -0
  290. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/exercise-gated.sphinx6.xml +0 -0
  291. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/exercise-gated.sphinx7.xml +0 -0
  292. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/exercise-gated.sphinx8.1.xml +0 -0
  293. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/exercise-gated.sphinx8.xml +0 -0
  294. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/exercise-gated.xml +0 -0
  295. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-0.sphinx4.html +0 -0
  296. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-0.sphinx5.html +0 -0
  297. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-0.sphinx6.html +0 -0
  298. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-0.sphinx7.html +0 -0
  299. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-0.sphinx8.1.html +0 -0
  300. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-0.sphinx8.html +0 -0
  301. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-1.sphinx4.html +0 -0
  302. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-1.sphinx5.html +0 -0
  303. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-1.sphinx6.html +0 -0
  304. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-1.sphinx7.html +0 -0
  305. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-1.sphinx8.1.html +0 -0
  306. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-1.sphinx8.html +0 -0
  307. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-gated-0.sphinx4.html +0 -0
  308. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-gated-0.sphinx5.html +0 -0
  309. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-gated-0.sphinx6.html +0 -0
  310. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-gated-0.sphinx7.html +0 -0
  311. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-gated-0.sphinx8.1.html +0 -0
  312. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-gated-0.sphinx8.html +0 -0
  313. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-gated-1.sphinx4.html +0 -0
  314. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-gated-1.sphinx5.html +0 -0
  315. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-gated-1.sphinx6.html +0 -0
  316. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-gated-1.sphinx7.html +0 -0
  317. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-gated-1.sphinx8.1.html +0 -0
  318. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-gated-1.sphinx8.html +0 -0
  319. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-gated.sphinx4.xml +0 -0
  320. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-gated.sphinx5.xml +0 -0
  321. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-gated.sphinx6.xml +0 -0
  322. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-gated.sphinx7.xml +0 -0
  323. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-gated.sphinx8.1.xml +0 -0
  324. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise-gated.sphinx8.xml +0 -0
  325. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise.sphinx4.xml +0 -0
  326. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise.sphinx5.xml +0 -0
  327. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise.sphinx6.xml +0 -0
  328. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise.sphinx7.xml +0 -0
  329. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise.sphinx8.1.xml +0 -0
  330. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise.sphinx8.xml +0 -0
  331. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective/solution-exercise.xml +0 -0
  332. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_gateddirective.py +0 -0
  333. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_hiddendirective/_enum_hidden.html +0 -0
  334. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_hiddendirective/_enum_hidden.xml +0 -0
  335. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_hiddendirective/_linked_enum_hidden.xml +0 -0
  336. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_hiddendirective/_linked_unenum_hidden.xml +0 -0
  337. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_hiddendirective/_unenum_hidden.html +0 -0
  338. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_hiddendirective/_unenum_hidden.xml +0 -0
  339. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_hiddendirective.py +0 -0
  340. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_latex/test_latex_build.sphinx4.tex +0 -0
  341. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_latex/test_latex_build.sphinx5.tex +0 -0
  342. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_latex/test_latex_build.sphinx6.tex +0 -0
  343. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_latex/test_latex_build.sphinx7.tex +0 -0
  344. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_latex/test_latex_build.sphinx8.1.tex +0 -0
  345. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_latex/test_latex_build.sphinx8.tex +0 -0
  346. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_order_validation.py +0 -0
  347. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_duplicate_label.sphinx6.xml +0 -0
  348. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_duplicate_label.sphinx7.xml +0 -0
  349. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_duplicate_label.sphinx8.1.xml +0 -0
  350. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_duplicate_label.sphinx8.xml +0 -0
  351. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_duplicate_label.xml +0 -0
  352. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_enum.html +0 -0
  353. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_enum.sphinx6.xml +0 -0
  354. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_enum.sphinx7.xml +0 -0
  355. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_enum.sphinx8.1.xml +0 -0
  356. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_enum.sphinx8.xml +0 -0
  357. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_enum.xml +0 -0
  358. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_enum_class.html +0 -0
  359. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_enum_class.sphinx6.xml +0 -0
  360. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_enum_class.sphinx7.xml +0 -0
  361. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_enum_class.sphinx8.1.xml +0 -0
  362. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_enum_class.sphinx8.xml +0 -0
  363. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_enum_class.xml +0 -0
  364. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_missing_arg.sphinx6.xml +0 -0
  365. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_missing_arg.sphinx7.xml +0 -0
  366. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_missing_arg.sphinx8.1.xml +0 -0
  367. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_missing_arg.sphinx8.xml +0 -0
  368. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_missing_arg.xml +0 -0
  369. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_mathtitle.html +0 -0
  370. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_mathtitle.sphinx6.xml +0 -0
  371. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_mathtitle.sphinx7.xml +0 -0
  372. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_mathtitle.sphinx8.1.xml +0 -0
  373. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_mathtitle.sphinx8.xml +0 -0
  374. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_mathtitle.xml +0 -0
  375. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_mathtitle2.html +0 -0
  376. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_mathtitle2.sphinx6.xml +0 -0
  377. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_mathtitle2.sphinx7.xml +0 -0
  378. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_mathtitle2.sphinx8.1.xml +0 -0
  379. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_mathtitle2.sphinx8.xml +0 -0
  380. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_mathtitle2.xml +0 -0
  381. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_notitle.html +0 -0
  382. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_notitle.sphinx6.xml +0 -0
  383. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_notitle.sphinx7.xml +0 -0
  384. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_notitle.sphinx8.1.xml +0 -0
  385. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_notitle.sphinx8.xml +0 -0
  386. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_notitle.xml +0 -0
  387. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_title.html +0 -0
  388. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_title.sphinx6.xml +0 -0
  389. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_title.sphinx7.xml +0 -0
  390. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_title.sphinx8.1.xml +0 -0
  391. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_title.sphinx8.xml +0 -0
  392. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_unenum_title.xml +0 -0
  393. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_wrong_targetlabel.html +0 -0
  394. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_wrong_targetlabel.sphinx6.xml +0 -0
  395. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_wrong_targetlabel.sphinx7.xml +0 -0
  396. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_wrong_targetlabel.sphinx8.1.xml +0 -0
  397. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_wrong_targetlabel.sphinx8.xml +0 -0
  398. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/_linked_wrong_targetlabel.xml +0 -0
  399. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_duplicate_label.sphinx6.xml +0 -0
  400. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_duplicate_label.sphinx7.xml +0 -0
  401. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_duplicate_label.sphinx8.1.xml +0 -0
  402. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_duplicate_label.sphinx8.xml +0 -0
  403. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_enum.sphinx6.xml +0 -0
  404. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_enum.sphinx7.xml +0 -0
  405. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_enum.sphinx8.1.xml +0 -0
  406. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_enum.sphinx8.xml +0 -0
  407. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_enum_class.sphinx6.xml +0 -0
  408. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_enum_class.sphinx7.xml +0 -0
  409. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_enum_class.sphinx8.1.xml +0 -0
  410. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_enum_class.sphinx8.xml +0 -0
  411. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_missing_arg.sphinx6.xml +0 -0
  412. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_missing_arg.sphinx7.xml +0 -0
  413. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_missing_arg.sphinx8.1.xml +0 -0
  414. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_missing_arg.sphinx8.xml +0 -0
  415. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_unenum_mathtitle.sphinx6.xml +0 -0
  416. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_unenum_mathtitle.sphinx7.xml +0 -0
  417. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_unenum_mathtitle.sphinx8.1.xml +0 -0
  418. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_unenum_mathtitle.sphinx8.xml +0 -0
  419. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_unenum_mathtitle2.sphinx6.xml +0 -0
  420. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_unenum_mathtitle2.sphinx7.xml +0 -0
  421. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_unenum_mathtitle2.sphinx8.1.xml +0 -0
  422. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_unenum_mathtitle2.sphinx8.xml +0 -0
  423. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_unenum_notitle.sphinx6.xml +0 -0
  424. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_unenum_notitle.sphinx7.xml +0 -0
  425. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_unenum_notitle.sphinx8.1.xml +0 -0
  426. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_unenum_notitle.sphinx8.xml +0 -0
  427. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_unenum_title.sphinx6.xml +0 -0
  428. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_unenum_title.sphinx7.xml +0 -0
  429. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_unenum_title.sphinx8.1.xml +0 -0
  430. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_unenum_title.sphinx8.xml +0 -0
  431. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_wrong_targetlabel.sphinx6.xml +0 -0
  432. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_wrong_targetlabel.sphinx7.xml +0 -0
  433. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_wrong_targetlabel.sphinx8.1.xml +0 -0
  434. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution/solution/_linked_wrong_targetlabel.sphinx8.xml +0 -0
  435. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution.py +0 -0
  436. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_enum.html +0 -0
  437. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_enum.sphinx6.html +0 -0
  438. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_enum.sphinx7.html +0 -0
  439. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_enum.sphinx8.1.html +0 -0
  440. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_enum.sphinx8.html +0 -0
  441. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_enum.xml +0 -0
  442. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_mathtitle.html +0 -0
  443. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_mathtitle.sphinx6.html +0 -0
  444. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_mathtitle.sphinx7.html +0 -0
  445. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_mathtitle.sphinx8.1.html +0 -0
  446. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_mathtitle.sphinx8.html +0 -0
  447. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_mathtitle.xml +0 -0
  448. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_mathtitle2.html +0 -0
  449. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_mathtitle2.sphinx6.html +0 -0
  450. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_mathtitle2.sphinx7.html +0 -0
  451. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_mathtitle2.sphinx8.1.html +0 -0
  452. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_mathtitle2.sphinx8.html +0 -0
  453. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_mathtitle2.xml +0 -0
  454. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_notitle.html +0 -0
  455. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_notitle.sphinx6.html +0 -0
  456. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_notitle.sphinx7.html +0 -0
  457. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_notitle.sphinx8.1.html +0 -0
  458. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_notitle.sphinx8.html +0 -0
  459. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_notitle.xml +0 -0
  460. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_title.html +0 -0
  461. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_title.sphinx6.html +0 -0
  462. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_title.sphinx7.html +0 -0
  463. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_title.sphinx8.1.html +0 -0
  464. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_title.sphinx8.html +0 -0
  465. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_unenum_title.xml +0 -0
  466. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references/_linked_ref_wronglabel.xml +0 -0
  467. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tests/test_solution_references.py +0 -0
  468. {sphinx_exercise-1.2.0 → sphinx_exercise-1.2.2}/tox.ini +0 -0
@@ -91,7 +91,7 @@ jobs:
91
91
  pip install wheel build
92
92
  python -m build
93
93
  - name: Publish
94
- uses: pypa/gh-action-pypi-publish@v1.3.1
94
+ uses: pypa/gh-action-pypi-publish@v1.14.3
95
95
  with:
96
96
  user: __token__
97
97
  password: ${{ secrets.PYPI_KEY }}
@@ -1,5 +1,26 @@
1
1
  # Changelog
2
2
 
3
+ ## [v1.2.2](https://github.com/executablebooks/sphinx-exercise/tree/v1.2.2) (2026-11-10)
4
+
5
+ ### Fixes 🐛
6
+
7
+ - Fixed `LaTeX Error: Not in outer par mode` when building LaTeX/PDF output with a captioned figure inside an exercise or solution ([#95](https://github.com/executablebooks/sphinx-exercise/pull/95))
8
+ - Figures inside exercise and solution boxes, including gated `exercise-start` / `solution-start` blocks, are now written as `\begin{figure}[H]` so they stay in place, as Sphinx already does for figures inside its own admonitions
9
+ - This also fixes `code-cell` outputs with `mystnb: figure: caption:` metadata inside a solution
10
+ - HTML output is unchanged
11
+ - Fixed CI test failures on Sphinx 6 and 7 caused by a newer `pydata-sphinx-theme`, by switching the gated directive test root to the `alabaster` theme ([#88](https://github.com/executablebooks/sphinx-exercise/pull/88))
12
+
13
+ ## [v1.2.1](https://github.com/executablebooks/sphinx-exercise/tree/v1.2.1) (2025-11-17)
14
+
15
+ ### Fixes 🐛
16
+
17
+ - Fixed `ValueError: list.remove(x): x not in list` when building LaTeX/PDF output ([#82](https://github.com/executablebooks/sphinx-exercise/pull/82))
18
+ - Added defensive check before removing 'std-ref' class in `UpdateReferencesToEnumerated` transform
19
+ - The 'std-ref' class may not be present in all build scenarios (particularly LaTeX/PDF builds)
20
+ - Fix ensures compatibility across different Sphinx builders and versions
21
+ - Fixed flaky CI tests caused by matplotlib font cache warning appearing in test output
22
+ - Added regex patterns to strip matplotlib font cache stderr messages from test regression fixtures
23
+
3
24
  ## [v1.2.0](https://github.com/executablebooks/sphinx-exercise/tree/v1.2.0) (2025-11-05)
4
25
 
5
26
  ### New ✨
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: sphinx-exercise
3
- Version: 1.2.0
3
+ Version: 1.2.2
4
4
  Summary: A Sphinx extension for producing exercises and solutions.
5
5
  Project-URL: Homepage, https://github.com/executablebooks/sphinx-exercise
6
6
  Project-URL: Source, https://github.com/executablebooks/sphinx-exercise
@@ -5,6 +5,8 @@ This section contains detailed release notes for sphinx-exercise versions.
5
5
  ```{toctree}
6
6
  :maxdepth: 1
7
7
 
8
+ v1.2.2
9
+ v1.2.1
8
10
  v1.2.0
9
11
  v1.1.1
10
12
  v1.1.0
@@ -0,0 +1,69 @@
1
+ # Release v1.2.1
2
+
3
+ **Release Date**: November 17, 2025
4
+
5
+ This is a patch release that fixes a bug causing build failures in LaTeX/PDF output.
6
+
7
+ ## 🐛 Bug Fixes
8
+
9
+ ### LaTeX/PDF Build Failure
10
+
11
+ Fixed a `ValueError: list.remove(x): x not in list` error that occurred when building LaTeX/PDF documentation with sphinx-exercise v1.2.0 (#82).
12
+
13
+ ### CI Test Reliability
14
+
15
+ Fixed flaky test failures in GitHub Actions CI caused by matplotlib font cache initialization warnings appearing in test output.
16
+
17
+ **Issue:**
18
+ - The `UpdateReferencesToEnumerated` transform attempted to remove the `'std-ref'` CSS class from inline reference nodes
19
+ - In LaTeX/PDF builds (and potentially other build scenarios), this class may not be present
20
+ - Python's `list.remove()` raises a `ValueError` when the item doesn't exist, causing the build to fail
21
+
22
+ **Fix:**
23
+ - Added a defensive check: `if "std-ref" in classes:` before attempting removal
24
+ - The transform now safely handles cases where the class is absent
25
+ - Preserves the intended behavior: converting textual references to numeric references for enumerated exercises
26
+
27
+ **Impact:**
28
+ - Fixes build failures in projects using sphinx-exercise with LaTeX/PDF output
29
+ - No functional changes to existing behavior
30
+ - All existing tests continue to pass
31
+
32
+ **Example Error (before fix):**
33
+ ```
34
+ Exception occurred:
35
+ File ".../sphinx_exercise/post_transforms.py", line 69, in run
36
+ classes.remove("std-ref")
37
+ ValueError: list.remove(x): x not in list
38
+ ```
39
+
40
+ ## 📦 Installation
41
+
42
+ Install or upgrade via pip:
43
+
44
+ ```bash
45
+ pip install --upgrade sphinx-exercise
46
+ ```
47
+
48
+ ## 🔄 Migration Notes
49
+
50
+ **If you're upgrading from v1.2.0:**
51
+ - No breaking changes
52
+ - No action required
53
+ - If you encountered LaTeX/PDF build failures with v1.2.0, this release fixes that issue
54
+
55
+ **Compatibility:**
56
+ - Python 3.10, 3.11, 3.12, 3.13
57
+ - Sphinx 6, 7, 8
58
+ - All existing directives and configurations continue to work
59
+
60
+ ## 🔗 Related Issues
61
+
62
+ - PR [#82](https://github.com/executablebooks/sphinx-exercise/pull/82) - Fix std-ref class removal
63
+ - Issue discovered in [QuantEcon/continuous_time_mcs CI build](https://github.com/QuantEcon/continuous_time_mcs/actions/runs/19413054039/job/55537214078?pr=144)
64
+
65
+ ## 📚 Documentation
66
+
67
+ For complete documentation, see:
68
+ - [Configuration Options](../syntax.md)
69
+ - [Installation Guide](../install.md)
@@ -0,0 +1,65 @@
1
+ # Release v1.2.2
2
+
3
+ **Release Date**: November 10, 2026
4
+
5
+ This is a patch release that fixes LaTeX/PDF build failures when a captioned figure is placed inside an exercise or solution.
6
+
7
+ ## 🐛 Bug Fixes
8
+
9
+ ### Figures inside exercises and solutions in LaTeX/PDF output
10
+
11
+ A figure with a caption inside an `exercise` or `solution` directive, including the gated `exercise-start` / `solution-start` forms, stopped the LaTeX build with `LaTeX Error: Not in outer par mode` (#94). In Jupyter Book projects this usually came from a `code-cell` with `mystnb: figure: caption:` metadata inside a solution. HTML output was not affected.
12
+
13
+ **Cause:**
14
+ - Sphinx writes figures inside its own admonitions as non-floating `\begin{figure}[H]`, because LaTeX does not allow a floating figure inside the admonition box
15
+ - sphinx-exercise draws exercises and solutions with the same box, but did not tell Sphinx's LaTeX writer that it had opened one, so figures inside were written as floating `\begin{figure}[htbp]`
16
+
17
+ **Fix:**
18
+ - Exercise and solution boxes now update the same counter that Sphinx uses for its own admonitions, so figures inside them are written as `\begin{figure}[H]` and stay in place inside the box (#95)
19
+
20
+ **Impact:**
21
+ - LaTeX/PDF builds with captioned figures inside exercises or solutions now succeed
22
+ - Figures outside exercise and solution boxes still float as before
23
+ - HTML output is unchanged
24
+
25
+ **Example Error (before fix):**
26
+ ```
27
+ ! LaTeX Error: Not in outer par mode.
28
+ l.107 \begin{figure}[htbp]
29
+ ```
30
+
31
+ ### CI Test Reliability
32
+
33
+ Fixed CI test failures on Sphinx 6 and 7 caused by a newer `pydata-sphinx-theme` release, by switching the gated directive test root to the `alabaster` theme (#88). This change only affects the test suite.
34
+
35
+ ## 📦 Installation
36
+
37
+ Install or upgrade via pip:
38
+
39
+ ```bash
40
+ pip install --upgrade sphinx-exercise
41
+ ```
42
+
43
+ ## 🔄 Migration Notes
44
+
45
+ **If you're upgrading from v1.2.1:**
46
+ - No breaking changes
47
+ - No action required
48
+ - If you removed figure captions inside exercises or solutions to work around this LaTeX error, you can now restore them
49
+
50
+ **Compatibility:**
51
+ - Python 3.10, 3.11, 3.12, 3.13
52
+ - Sphinx 6, 7, 8
53
+ - Sphinx 9 is not yet covered by the test suite (see #96)
54
+
55
+ ## 🔗 Related Issues
56
+
57
+ - Issue [#94](https://github.com/executablebooks/sphinx-exercise/issues/94) - Figures inside exercise and solution boxes are written as floats in LaTeX
58
+ - PR [#95](https://github.com/executablebooks/sphinx-exercise/pull/95) - Keep figures inside exercise and solution boxes from floating in LaTeX
59
+ - PR [#88](https://github.com/executablebooks/sphinx-exercise/pull/88) - Use alabaster in the gated test root to unbreak CI
60
+
61
+ ## 📚 Documentation
62
+
63
+ For complete documentation, see:
64
+ - [Configuration Options](../syntax.md)
65
+ - [Installation Guide](../install.md)
@@ -7,7 +7,7 @@ This package is an extension for sphinx to support exercise and solutions.
7
7
  :license: MIT, see LICENSE for details.
8
8
  """
9
9
 
10
- __version__ = "1.2.0"
10
+ __version__ = "1.2.2"
11
11
 
12
12
  from pathlib import Path
13
13
  from typing import Any, Dict, Set, Union, cast
@@ -110,13 +110,25 @@ def is_extension_node(node):
110
110
  # Visit and Depart Functions
111
111
 
112
112
 
113
+ def visit_latex_admonition(self) -> None:
114
+ self.body.append(LaTeX.visit_admonition())
115
+ # Write figures inside the box as [H] rather than floats, which LaTeX
116
+ # rejects there, as Sphinx does for its own admonitions
117
+ self.no_latex_floats += 1
118
+
119
+
120
+ def depart_latex_admonition(self) -> None:
121
+ self.body.append(LaTeX.depart_admonition())
122
+ self.no_latex_floats -= 1
123
+
124
+
113
125
  def visit_exercise_node(self, node: Node) -> None:
114
126
  if isinstance(self, LaTeXTranslator):
115
127
  label = (
116
128
  "\\phantomsection \\label{" + f"exercise:{node.attributes['label']}" + "}"
117
129
  ) # TODO: Check this resolves.
118
130
  self.body.append(label)
119
- self.body.append(LaTeX.visit_admonition())
131
+ visit_latex_admonition(self)
120
132
  else:
121
133
  self.body.append(self.starttag(node, "div", CLASS="admonition"))
122
134
  self.body.append("\n")
@@ -124,7 +136,7 @@ def visit_exercise_node(self, node: Node) -> None:
124
136
 
125
137
  def depart_exercise_node(self, node: Node) -> None:
126
138
  if isinstance(self, LaTeXTranslator):
127
- self.body.append(LaTeX.depart_admonition())
139
+ depart_latex_admonition(self)
128
140
  else:
129
141
  self.body.append("</div>")
130
142
 
@@ -139,7 +151,7 @@ def visit_exercise_enumerable_node(self, node: Node) -> None:
139
151
  "\\phantomsection \\label{" + f"exercise:{node.attributes['label']}" + "}\n"
140
152
  )
141
153
  self.body.append(label)
142
- self.body.append(LaTeX.visit_admonition())
154
+ visit_latex_admonition(self)
143
155
  else:
144
156
  self.body.append(self.starttag(node, "div", CLASS="admonition"))
145
157
  self.body.append("\n")
@@ -147,7 +159,7 @@ def visit_exercise_enumerable_node(self, node: Node) -> None:
147
159
 
148
160
  def depart_exercise_enumerable_node(self, node: Node) -> None:
149
161
  if isinstance(self, LaTeXTranslator):
150
- self.body.append(LaTeX.depart_admonition())
162
+ depart_latex_admonition(self)
151
163
  else:
152
164
  self.body.append("</div>")
153
165
  self.body.append("\n")
@@ -167,7 +179,7 @@ def visit_solution_node(self, node: Node) -> None:
167
179
  + "}\n"
168
180
  )
169
181
  self.body.append(label)
170
- self.body.append(LaTeX.visit_admonition())
182
+ visit_latex_admonition(self)
171
183
  else:
172
184
  self.body.append(self.starttag(node, "div", CLASS="admonition"))
173
185
  self.body.append("\n")
@@ -175,7 +187,7 @@ def visit_solution_node(self, node: Node) -> None:
175
187
 
176
188
  def depart_solution_node(self, node: Node) -> None:
177
189
  if isinstance(self, LaTeXTranslator):
178
- self.body.append(LaTeX.depart_admonition())
190
+ depart_latex_admonition(self)
179
191
  else:
180
192
  self.body.append("</div>")
181
193
  self.body.append("\n")
@@ -66,7 +66,8 @@ class UpdateReferencesToEnumerated(SphinxPostTransform):
66
66
  # Get Metadata from Inline
67
67
  inline = node.children[0]
68
68
  classes = inline["classes"]
69
- classes.remove("std-ref")
69
+ if "std-ref" in classes:
70
+ classes.remove("std-ref")
70
71
  classes.append("std-numref")
71
72
  # Construct a Literal Node
72
73
  literal = docutil_nodes.literal()
@@ -48,7 +48,11 @@ exclude_patterns = [
48
48
  # The theme to use for HTML and HTML Help pages. See the documentation for
49
49
  # a list of builtin themes.
50
50
  #
51
- html_theme = "sphinx_book_theme"
51
+ # Use the built-in alabaster theme, as the other HTML test roots do.
52
+ # The regression fixtures only capture the exercise/solution markup this
53
+ # extension generates, so no third-party theme is needed to exercise them,
54
+ # and depending on one couples the suite to that theme's Sphinx support.
55
+ html_theme = "alabaster"
52
56
 
53
57
  # Add any paths that contain custom static files (such as style sheets) here,
54
58
  # relative to this directory. They are copied after the builtin static files,
@@ -0,0 +1,11 @@
1
+ # Test root for captioned figures inside exercise and solution boxes in
2
+ # LaTeX output (https://github.com/executablebooks/sphinx-exercise/issues/94)
3
+
4
+ project = "sphinx-exercise Test"
5
+ copyright = "2020, QuantEcon Developers"
6
+ author = "QuantEcon Developers"
7
+
8
+ extensions = ["sphinx_exercise", "myst_nb"]
9
+
10
+ # notebook.ipynb stores its outputs, so the test does not need a kernel
11
+ nb_execution_mode = "off"
@@ -0,0 +1,57 @@
1
+ Figures in exercise and solution boxes
2
+ ======================================
3
+
4
+ .. exercise:: A numbered exercise
5
+ :label: ex-numbered
6
+
7
+ .. figure:: plot.png
8
+ :name: fig-numbered-exercise
9
+
10
+ Figure in a numbered exercise
11
+
12
+ .. exercise:: An unnumbered exercise
13
+ :label: ex-nonumber
14
+ :nonumber:
15
+
16
+ .. figure:: plot.png
17
+ :name: fig-unnumbered-exercise
18
+
19
+ Figure in an unnumbered exercise
20
+
21
+ .. solution:: ex-numbered
22
+ :label: sol-numbered
23
+
24
+ .. figure:: plot.png
25
+ :name: fig-solution
26
+
27
+ Figure in a solution
28
+
29
+ .. exercise-start:: A gated exercise
30
+ :label: ex-gated
31
+
32
+ .. figure:: plot.png
33
+ :name: fig-gated-exercise
34
+
35
+ Figure in a gated exercise
36
+
37
+ .. exercise-end::
38
+
39
+ .. solution-start:: ex-gated
40
+ :label: sol-gated
41
+
42
+ .. figure:: plot.png
43
+ :name: fig-gated-solution
44
+
45
+ Figure in a gated solution
46
+
47
+ .. solution-end::
48
+
49
+ .. figure:: plot.png
50
+ :name: fig-outside
51
+
52
+ Figure outside any box
53
+
54
+ .. toctree::
55
+ :hidden:
56
+
57
+ notebook
@@ -0,0 +1,85 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "id": "cell-0",
6
+ "metadata": {},
7
+ "source": [
8
+ "# Figures from code cells"
9
+ ]
10
+ },
11
+ {
12
+ "cell_type": "markdown",
13
+ "id": "cell-1",
14
+ "metadata": {},
15
+ "source": [
16
+ "```{exercise} A notebook exercise\n",
17
+ ":label: ex-notebook\n",
18
+ "\n",
19
+ "Plot a line.\n",
20
+ "```"
21
+ ]
22
+ },
23
+ {
24
+ "cell_type": "markdown",
25
+ "id": "cell-2",
26
+ "metadata": {},
27
+ "source": [
28
+ "```{solution-start} ex-notebook\n",
29
+ ":label: sol-notebook\n",
30
+ "```"
31
+ ]
32
+ },
33
+ {
34
+ "cell_type": "code",
35
+ "execution_count": 1,
36
+ "id": "cell-3",
37
+ "metadata": {
38
+ "mystnb": {
39
+ "figure": {
40
+ "caption": "Figure in a code-cell output",
41
+ "name": "fig-code-cell"
42
+ }
43
+ }
44
+ },
45
+ "outputs": [
46
+ {
47
+ "data": {
48
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAAAAADhZOFXAAAADklEQVR42mNogAIGyhgAgIQgARDoahcAAAAASUVORK5CYII=",
49
+ "text/plain": [
50
+ "<Figure size 640x480 with 1 Axes>"
51
+ ]
52
+ },
53
+ "metadata": {},
54
+ "output_type": "display_data"
55
+ }
56
+ ],
57
+ "source": [
58
+ "import matplotlib.pyplot as plt\n",
59
+ "\n",
60
+ "plt.plot([0, 1], [0, 1]);"
61
+ ]
62
+ },
63
+ {
64
+ "cell_type": "markdown",
65
+ "id": "cell-4",
66
+ "metadata": {},
67
+ "source": [
68
+ "```{solution-end}\n",
69
+ "```"
70
+ ]
71
+ }
72
+ ],
73
+ "metadata": {
74
+ "kernelspec": {
75
+ "display_name": "Python 3",
76
+ "language": "python",
77
+ "name": "python3"
78
+ },
79
+ "language_info": {
80
+ "name": "python"
81
+ }
82
+ },
83
+ "nbformat": 4,
84
+ "nbformat_minor": 5
85
+ }
@@ -99,6 +99,15 @@ class FileRegression:
99
99
  (r"ipykernel_\d+", "ipykernel_XXXXX"),
100
100
  # Normalize matplotlib image hashes (platform/version dependent)
101
101
  (r"[a-f0-9]{64}\.png", "IMAGEHASH.png"),
102
+ # Strip matplotlib font cache warning (appears in CI on first run)
103
+ (
104
+ r'<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>Matplotlib is building the font cache; this may take a moment\.\n</pre></div>\n</div>\n',
105
+ "",
106
+ ),
107
+ (
108
+ r'<literal_block classes="output stderr" language="myst-ansi" xml:space="preserve">\s*Matplotlib is building the font cache; this may take a moment\.\n\s*',
109
+ "",
110
+ ),
102
111
  )
103
112
 
104
113
  def __init__(self, file_regression):
@@ -0,0 +1,71 @@
1
+ import re
2
+
3
+ from TexSoup import TexSoup
4
+ import pytest
5
+ import sphinx
6
+
7
+ # Sphinx 8.1.x (Python 3.10 only) has different XML output than 8.2+
8
+ # Use .sphinx8.1 for 8.1.x, .sphinx8 for 8.2+ (the standard)
9
+ if sphinx.version_info[0] == 8 and sphinx.version_info[1] == 1:
10
+ SPHINX_VERSION = f".sphinx{sphinx.version_info[0]}.{sphinx.version_info[1]}"
11
+ else:
12
+ SPHINX_VERSION = f".sphinx{sphinx.version_info[0]}"
13
+
14
+
15
+ @pytest.mark.sphinx("latex", testroot="simplebook")
16
+ def test_latex_build(app, file_regression):
17
+ app.build()
18
+ path_exer_directive = app.outdir / "sphinx-exercisetest.tex"
19
+ assert path_exer_directive.exists()
20
+
21
+ # get content markup
22
+ file_content = TexSoup(path_exer_directive.read_text(encoding="utf8"))
23
+ file_regression.check(
24
+ str(file_content.document), extension=f"{SPHINX_VERSION}.tex", encoding="utf8"
25
+ )
26
+
27
+
28
+ LATEX_FIGURE = re.compile(
29
+ r"\\begin\{figure\}\[(?P<align>[^\]]*)\](?P<body>.*?)\\end\{figure\}", re.DOTALL
30
+ )
31
+ # A figure's :name: becomes \label{\detokenize{<docname>:<name>}}
32
+ LATEX_FIGURE_NAME = re.compile(r"\\label\{\\detokenize\{[^:}]*:(?P<name>[^}]+)\}\}")
33
+
34
+
35
+ def latex_figures(tex):
36
+ """Map each figure's name to (figure placement, sphinxadmonition depth).
37
+
38
+ A figure without a name is collected under None.
39
+ """
40
+ figures = {}
41
+ for figure in LATEX_FIGURE.finditer(tex):
42
+ before = tex[: figure.start()]
43
+ depth = before.count(r"\begin{sphinxadmonition}") - before.count(
44
+ r"\end{sphinxadmonition}"
45
+ )
46
+ name = LATEX_FIGURE_NAME.search(figure["body"])
47
+ figures[name["name"] if name else None] = (figure["align"], depth)
48
+ return figures
49
+
50
+
51
+ @pytest.mark.sphinx("latex", testroot="latexfigure")
52
+ def test_latex_figure_in_admonition(app):
53
+ """Figures inside exercise and solution boxes must not float (#94).
54
+
55
+ A floating figure environment inside the sphinxadmonition box stops
56
+ LaTeX with "Not in outer par mode".
57
+ """
58
+ app.build()
59
+ tex = (app.outdir / "sphinx-exercisetest.tex").read_text(encoding="utf8")
60
+
61
+ assert latex_figures(tex) == {
62
+ "fig-numbered-exercise": ("H", 1),
63
+ "fig-unnumbered-exercise": ("H", 1),
64
+ "fig-solution": ("H", 1),
65
+ "fig-gated-exercise": ("H", 1),
66
+ "fig-gated-solution": ("H", 1),
67
+ # Figures after the boxes float again, so the counter was restored
68
+ "fig-outside": ("htbp", 0),
69
+ # A code-cell output with mystnb figure metadata in a gated solution
70
+ "fig-code-cell": ("H", 1),
71
+ }
@@ -1,23 +0,0 @@
1
- from TexSoup import TexSoup
2
- import pytest
3
- import sphinx
4
-
5
- # Sphinx 8.1.x (Python 3.10 only) has different XML output than 8.2+
6
- # Use .sphinx8.1 for 8.1.x, .sphinx8 for 8.2+ (the standard)
7
- if sphinx.version_info[0] == 8 and sphinx.version_info[1] == 1:
8
- SPHINX_VERSION = f".sphinx{sphinx.version_info[0]}.{sphinx.version_info[1]}"
9
- else:
10
- SPHINX_VERSION = f".sphinx{sphinx.version_info[0]}"
11
-
12
-
13
- @pytest.mark.sphinx("latex", testroot="simplebook")
14
- def test_latex_build(app, file_regression):
15
- app.build()
16
- path_exer_directive = app.outdir / "sphinx-exercisetest.tex"
17
- assert path_exer_directive.exists()
18
-
19
- # get content markup
20
- file_content = TexSoup(path_exer_directive.read_text(encoding="utf8"))
21
- file_regression.check(
22
- str(file_content.document), extension=f"{SPHINX_VERSION}.tex", encoding="utf8"
23
- )
File without changes
File without changes