rxiv-maker 1.18.1__tar.gz → 1.18.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 (382) hide show
  1. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/CHANGELOG.md +10 -0
  2. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/PKG-INFO +1 -1
  3. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/__version__.py +1 -1
  4. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/converters/table_processor.py +61 -32
  5. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/cli/test_changelog_command.py +8 -2
  6. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/.gitignore +0 -0
  7. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/LICENSE +0 -0
  8. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/README.md +0 -0
  9. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/pyproject.toml +0 -0
  10. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/docs/api/README.md +0 -0
  11. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/docs/api/index.md +0 -0
  12. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/logo/logo-rxiv-maker.afdesign +0 -0
  13. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/logo/logo-rxiv-maker.png +0 -0
  14. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/logo/logo-rxiv-maker.svg +0 -0
  15. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/__init__.py +0 -0
  16. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/__init__.py +0 -0
  17. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/__main__.py +0 -0
  18. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/__init__.py +0 -0
  19. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/arxiv.py +0 -0
  20. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/bibliography.py +0 -0
  21. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/build.py +0 -0
  22. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/cache_management.py +0 -0
  23. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/changelog.py +0 -0
  24. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/check_installation.py +0 -0
  25. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/clean.py +0 -0
  26. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/completion.py +0 -0
  27. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/config.py +0 -0
  28. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/create_repo.py +0 -0
  29. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/docx.py +0 -0
  30. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/figures.py +0 -0
  31. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/get_rxiv_preprint.py +0 -0
  32. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/init.py +0 -0
  33. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/install_deps.py +0 -0
  34. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/repo_init.py +0 -0
  35. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/repos.py +0 -0
  36. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/repos_search.py +0 -0
  37. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/setup.py +0 -0
  38. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/track_changes.py +0 -0
  39. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/upgrade.py +0 -0
  40. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/validate.py +0 -0
  41. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/commands/version.py +0 -0
  42. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/framework/__init__.py +0 -0
  43. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/framework/base.py +0 -0
  44. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/framework/cache_commands.py +0 -0
  45. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/framework/config_commands.py +0 -0
  46. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/framework/content_commands.py +0 -0
  47. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/framework/decorators.py +0 -0
  48. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/framework/utility_commands.py +0 -0
  49. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/framework/workflow_commands.py +0 -0
  50. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/framework.py +0 -0
  51. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/interactive.py +0 -0
  52. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/interactive_prompts.py +0 -0
  53. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/cli/main.py +0 -0
  54. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/config/defaults.py +0 -0
  55. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/config/validator.py +0 -0
  56. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/converters/__init__.py +0 -0
  57. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/converters/citation_processor.py +0 -0
  58. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/converters/code_processor.py +0 -0
  59. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/converters/comment_processor.py +0 -0
  60. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/converters/custom_command_processor.py +0 -0
  61. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/converters/figure_processor.py +0 -0
  62. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/converters/html_processor.py +0 -0
  63. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/converters/list_processor.py +0 -0
  64. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/converters/math_processor.py +0 -0
  65. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/converters/md2tex.py +0 -0
  66. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/converters/python_executor.py +0 -0
  67. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/converters/section_processor.py +0 -0
  68. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/converters/supplementary_note_processor.py +0 -0
  69. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/converters/text_formatters.py +0 -0
  70. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/converters/types.py +0 -0
  71. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/converters/url_processor.py +0 -0
  72. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/cache/__init__.py +0 -0
  73. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/cache/advanced_cache.py +0 -0
  74. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/cache/bibliography_cache.py +0 -0
  75. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/cache/cache_utils.py +0 -0
  76. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/cache/doi_cache.py +0 -0
  77. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/cache/secure_cache_utils.py +0 -0
  78. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/content_processor.py +0 -0
  79. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/environment_bootstrap.py +0 -0
  80. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/environment_manager.py +0 -0
  81. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/error_codes.py +0 -0
  82. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/error_recovery.py +0 -0
  83. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/logging_config.py +0 -0
  84. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/managers/__init__.py +0 -0
  85. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/managers/cache_manager.py +0 -0
  86. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/managers/config_manager.py +0 -0
  87. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/managers/dependency_manager.py +0 -0
  88. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/managers/execution_manager.py +0 -0
  89. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/managers/file_manager.py +0 -0
  90. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/managers/install_manager.py +0 -0
  91. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/managers/state_manager.py +0 -0
  92. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/managers/unified_config_manager.py +0 -0
  93. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/managers/validation_manager.py +0 -0
  94. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/managers/workflow_manager.py +0 -0
  95. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/path_manager.py +0 -0
  96. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/progress_framework.py +0 -0
  97. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/repo_config.py +0 -0
  98. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/repository.py +0 -0
  99. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/session_optimizer.py +0 -0
  100. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/core/validation_framework.py +0 -0
  101. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/data/tips.yaml +0 -0
  102. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/engines/__init__.py +0 -0
  103. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/engines/operations/__init__.py +0 -0
  104. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/engines/operations/add_bibliography.py +0 -0
  105. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/engines/operations/build_manager.py +0 -0
  106. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/engines/operations/cleanup.py +0 -0
  107. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/engines/operations/fix_bibliography.py +0 -0
  108. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/engines/operations/generate_docs.py +0 -0
  109. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/engines/operations/generate_figures.py +0 -0
  110. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/engines/operations/generate_preprint.py +0 -0
  111. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/engines/operations/prepare_arxiv.py +0 -0
  112. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/engines/operations/setup_environment.py +0 -0
  113. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/engines/operations/track_changes.py +0 -0
  114. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/engines/operations/validate.py +0 -0
  115. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/engines/operations/validate_pdf.py +0 -0
  116. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/exporters/__init__.py +0 -0
  117. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/exporters/docx_citation_mapper.py +0 -0
  118. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/exporters/docx_content_processor.py +0 -0
  119. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/exporters/docx_exporter.py +0 -0
  120. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/exporters/docx_writer.py +0 -0
  121. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/install/__init__.py +0 -0
  122. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/install/dependency_handlers/__init__.py +0 -0
  123. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/install/dependency_handlers/latex.py +0 -0
  124. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/install/dependency_handlers/r_lang.py +0 -0
  125. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/install/dependency_handlers/system_libs.py +0 -0
  126. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/install/platform_installers/__init__.py +0 -0
  127. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/install/platform_installers/base.py +0 -0
  128. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/install/platform_installers/linux.py +0 -0
  129. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/install/platform_installers/macos.py +0 -0
  130. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/install/platform_installers/windows.py +0 -0
  131. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/install/utils/__init__.py +0 -0
  132. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/install/utils/logging.py +0 -0
  133. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/install/utils/progress.py +0 -0
  134. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/install/utils/verification.py +0 -0
  135. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/manuscript_utils/__init__.py +0 -0
  136. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/manuscript_utils/figure_utils.py +0 -0
  137. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/processors/__init__.py +0 -0
  138. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/processors/author_processor.py +0 -0
  139. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/processors/markdown_preprocessor.py +0 -0
  140. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/processors/template_processor.py +0 -0
  141. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/processors/yaml_processor.py +0 -0
  142. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/rxiv_maker_cli.py +0 -0
  143. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/scripts/__init__.py +0 -0
  144. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/scripts/custom_doc_generator.py +0 -0
  145. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/scripts/validate_manuscript.py +0 -0
  146. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/services/__init__.py +0 -0
  147. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/services/base.py +0 -0
  148. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/services/build_service.py +0 -0
  149. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/services/configuration_service.py +0 -0
  150. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/services/manuscript_service.py +0 -0
  151. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/services/publication_service.py +0 -0
  152. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/services/validation_service.py +0 -0
  153. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/templates/__init__.py +0 -0
  154. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/templates/manager.py +0 -0
  155. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/templates/registry.py +0 -0
  156. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/tex/python_execution_section.tex +0 -0
  157. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/__init__.py +0 -0
  158. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/accent_character_map.py +0 -0
  159. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/author_affiliation_processor.py +0 -0
  160. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/author_name_formatter.py +0 -0
  161. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/bibliography_checksum.py +0 -0
  162. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/bibliography_parser.py +0 -0
  163. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/bst_generator.py +0 -0
  164. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/changelog_parser.py +0 -0
  165. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/citation_range_formatter.py +0 -0
  166. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/citation_utils.py +0 -0
  167. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/comment_filter.py +0 -0
  168. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/dependency_checker.py +0 -0
  169. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/docx_helpers.py +0 -0
  170. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/doi_resolver.py +0 -0
  171. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/email_encoder.py +0 -0
  172. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/figure_checksum.py +0 -0
  173. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/file_helpers.py +0 -0
  174. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/github.py +0 -0
  175. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/homebrew_checker.py +0 -0
  176. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/install_detector.py +0 -0
  177. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/label_extractor.py +0 -0
  178. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/operation_ids.py +0 -0
  179. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/pdf_splitter.py +0 -0
  180. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/pdf_utils.py +0 -0
  181. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/performance.py +0 -0
  182. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/platform.py +0 -0
  183. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/python_execution_reporter.py +0 -0
  184. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/retry.py +0 -0
  185. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/rich_upgrade_notifier.py +0 -0
  186. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/text_utils.py +0 -0
  187. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/tips.py +0 -0
  188. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/title_sync.py +0 -0
  189. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/unicode_safe.py +0 -0
  190. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/update_checker.py +0 -0
  191. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/utils/url_to_doi.py +0 -0
  192. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/validate.py +0 -0
  193. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/validators/__init__.py +0 -0
  194. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/validators/base_validator.py +0 -0
  195. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/validators/citation_validator.py +0 -0
  196. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/validators/doi/__init__.py +0 -0
  197. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/validators/doi/api_clients.py +0 -0
  198. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/validators/doi/metadata_comparator.py +0 -0
  199. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/validators/doi_validator.py +0 -0
  200. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/validators/figure_validator.py +0 -0
  201. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/validators/latex_error_parser.py +0 -0
  202. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/validators/math_validator.py +0 -0
  203. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/validators/pdf_validator.py +0 -0
  204. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/validators/reference_validator.py +0 -0
  205. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/rxiv_maker/validators/syntax_validator.py +0 -0
  206. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/tex/style/rxiv_maker_style.bst +0 -0
  207. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/tex/style/rxiv_maker_style.cls +0 -0
  208. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/src/tex/template.tex +0 -0
  209. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/__init__.py +0 -0
  210. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/cli/__init__.py +0 -0
  211. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/cli/test_build.py +0 -0
  212. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/cli/test_init_command.py +0 -0
  213. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/cli/test_main.py +0 -0
  214. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/conftest.py +0 -0
  215. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/e2e/__init__.py +0 -0
  216. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/e2e/test_dummy_manuscript_generator.py +0 -0
  217. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/e2e/test_figure_workflow_validation.py +0 -0
  218. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/fixtures/00_CONFIG.yml +0 -0
  219. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/fixtures/01_MAIN.md +0 -0
  220. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/fixtures/03_REFERENCES.bib +0 -0
  221. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/fixtures/FIGURES/Fig1.png +0 -0
  222. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/fixtures/FIGURES/Fig2.png +0 -0
  223. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/fixtures/FIGURES/Fig3.png +0 -0
  224. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/fixtures/README.md +0 -0
  225. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/fixtures/docx_export/sample_manuscript/01_MAIN.md +0 -0
  226. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/fixtures/docx_export/sample_manuscript/02_SUPPLEMENTARY_INFO.md +0 -0
  227. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/fixtures/docx_export/sample_manuscript/03_REFERENCES.bib +0 -0
  228. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/fixtures/docx_export/sample_manuscript/2025__unknown_et_al__rxiv.docx +0 -0
  229. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/fixtures/docx_export/sample_manuscript/sample_manuscript.docx +0 -0
  230. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/__init__.py +0 -0
  231. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_article_generation.py +0 -0
  232. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_bibliography_author_format_docx.py +0 -0
  233. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_binary_distribution.py +0 -0
  234. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_centralized_components.py +0 -0
  235. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_citation_injection.py +0 -0
  236. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_comment_system_integration.py +0 -0
  237. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_docx_export_integration.py +0 -0
  238. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_doi_fallback_integration.py +0 -0
  239. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_doi_validation_integration.py +0 -0
  240. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_example_manuscript.py +0 -0
  241. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_guillaume_fixtures.py +0 -0
  242. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_homebrew_workflow_validation.py +0 -0
  243. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_infrastructure_suite.py +0 -0
  244. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_init_build_workflow.py +0 -0
  245. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_install_verification_integration.py +0 -0
  246. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_latex_dependency_integration.py +0 -0
  247. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_manuscript_directory_integration.py +0 -0
  248. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_manuscript_python_execution_reporting.py +0 -0
  249. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_practical_manuscript_workflows.py +0 -0
  250. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_pypi_package_integration.py +0 -0
  251. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_python_execution_integration.py +0 -0
  252. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_repository_cli_integration.py +0 -0
  253. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_supplementary_formatting.py +0 -0
  254. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_user_reported_issue.py +0 -0
  255. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/integration/test_validation_workflow.py +0 -0
  256. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/regression/README.md +0 -0
  257. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/regression/conftest.py +0 -0
  258. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/regression/test_cli_argument_parsing.py +0 -0
  259. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/regression/test_discord_reported_issues.py +0 -0
  260. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/regression/test_error_message_quality.py +0 -0
  261. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/regression/test_google_colab_integration.py +0 -0
  262. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/regression/test_guillaume_edge_cases.py +0 -0
  263. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/regression/test_guillaume_pr131_rewrite.py +0 -0
  264. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/regression/test_path_resolution.py +0 -0
  265. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/regression/test_widget_author_behavior.py +0 -0
  266. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/regression/test_widget_interactions_playwright.py +0 -0
  267. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/smoke/__init__.py +0 -0
  268. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/smoke/test_basic_functionality.py +0 -0
  269. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/smoke/test_cli_smoke.py +0 -0
  270. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/system/__init__.py +0 -0
  271. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/system/test_ci_matrix.py +0 -0
  272. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/system/test_cli_workflows.py +0 -0
  273. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/system/test_end_to_end.py +0 -0
  274. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/test_homebrew_checker.py +0 -0
  275. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/test_install_detector.py +0 -0
  276. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/__init__.py +0 -0
  277. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/exporters/__init__.py +0 -0
  278. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/exporters/test_docx_citation_mapper.py +0 -0
  279. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/exporters/test_docx_content_processor.py +0 -0
  280. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_add_bibliography.py +0 -0
  281. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_arxiv_command.py +0 -0
  282. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_async_execution_manager.py +0 -0
  283. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_author_name_formatter.py +0 -0
  284. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_author_processor.py +0 -0
  285. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_bst_generator.py +0 -0
  286. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_build_command.py +0 -0
  287. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_build_manager.py +0 -0
  288. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_build_manager_manuscript_path.py +0 -0
  289. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_cache_security.py +0 -0
  290. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_cache_utils.py +0 -0
  291. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_check_installation_command.py +0 -0
  292. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_citation_processor.py +0 -0
  293. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_citation_rendering.py +0 -0
  294. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_citation_style.py +0 -0
  295. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_citation_utils.py +0 -0
  296. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_cli_cleanup_integration.py +0 -0
  297. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_cli_structure.py +0 -0
  298. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_comment_processor.py +0 -0
  299. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_conda_installation_manager.py +0 -0
  300. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_conda_platform_detection.py +0 -0
  301. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_cross_platform_optimizations.py +0 -0
  302. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_custom_command_processor.py +0 -0
  303. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_dependency_manager.py +0 -0
  304. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_dependency_package_names.py +0 -0
  305. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_docx_doi_resolution.py +0 -0
  306. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_docx_helpers.py +0 -0
  307. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_doi_fallback_system.py +0 -0
  308. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_doi_resolver.py +0 -0
  309. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_doi_validator.py +0 -0
  310. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_email_encoder.py +0 -0
  311. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_environment_manager.py +0 -0
  312. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_error_handling_scenarios.py +0 -0
  313. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_execution_manager_comprehensive.py +0 -0
  314. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_figure_generator.py +0 -0
  315. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_figure_processor.py +0 -0
  316. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_figure_processor_error_handling.py +0 -0
  317. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_file_helpers.py +0 -0
  318. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_fix_bibliography.py +0 -0
  319. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_generate_docs.py +0 -0
  320. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_generate_preprint.py +0 -0
  321. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_github.py +0 -0
  322. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_github_actions_integration.py +0 -0
  323. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_importlib_edge_cases.py +0 -0
  324. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_install_platform_installers.py +0 -0
  325. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_install_system_libs.py +0 -0
  326. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_install_verification.py +0 -0
  327. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_interactive_path_change.py +0 -0
  328. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_interactive_validators.py +0 -0
  329. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_latex_dependency_handler.py +0 -0
  330. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_manuscript_figure_utils.py +0 -0
  331. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_manuscript_repository.py +0 -0
  332. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_math_processor.py +0 -0
  333. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_md2tex.py +0 -0
  334. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_mermaid_fallback.py +0 -0
  335. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_path_manager.py +0 -0
  336. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_pdf_validator.py +0 -0
  337. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_platform_comprehensive.py +0 -0
  338. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_platform_detector.py +0 -0
  339. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_processor_suite.py +0 -0
  340. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_python_execution_reporter.py +0 -0
  341. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_python_executor.py +0 -0
  342. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_release_orchestrator.py +0 -0
  343. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_repository_manager.py +0 -0
  344. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_rich_upgrade_notifier.py +0 -0
  345. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_rxiv_setup_command.py +0 -0
  346. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_security_features.py +0 -0
  347. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_security_scanner.py +0 -0
  348. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_setup_environment.py +0 -0
  349. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_style_file_resolution.py +0 -0
  350. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_supplementary_note_processor.py +0 -0
  351. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_table_rotation.py +0 -0
  352. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_template_processor.py +0 -0
  353. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_text_formatters.py +0 -0
  354. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_text_utils.py +0 -0
  355. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_tips.py +0 -0
  356. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_title_sync.py +0 -0
  357. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_title_sync_validation.py +0 -0
  358. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_track_changes.py +0 -0
  359. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_trailing_slash_regression.py +0 -0
  360. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_upgrade_command.py +0 -0
  361. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_url_to_doi.py +0 -0
  362. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_utils.py +0 -0
  363. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_validate_backticks.py +0 -0
  364. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_validate_command_fixed.py +0 -0
  365. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_validate_manuscript.py +0 -0
  366. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_validation_suite.py +0 -0
  367. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_validators.py +0 -0
  368. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/unit/test_yaml_processor.py +0 -0
  369. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/visual/README.md +0 -0
  370. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/visual/figure-positioning/00_CONFIG.yml +0 -0
  371. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/visual/figure-positioning/01_MAIN.md +0 -0
  372. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/visual/figure-positioning/03_REFERENCES.bib +0 -0
  373. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/visual/figure-positioning/FIGURES/Figure__positioning_test.png +0 -0
  374. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/visual/figure-positioning/FIGURES/Figure__positioning_test.py +0 -0
  375. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/visual/figure-positioning/FIGURES/ReadyFig.png +0 -0
  376. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/visual/figure-positioning/FIGURES/ReadyFig.py +0 -0
  377. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/visual/figure-positioning/README.md +0 -0
  378. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/visual/methods-placement/00_CONFIG.yml +0 -0
  379. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/visual/methods-placement/01_MAIN.md +0 -0
  380. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/visual/methods-placement/02_SUPPLEMENTARY_INFO.md +0 -0
  381. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/visual/methods-placement/03_REFERENCES.bib +0 -0
  382. {rxiv_maker-1.18.1 → rxiv_maker-1.18.2}/tests/visual/methods-placement/README.md +0 -0
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.18.2] - 2026-01-06
11
+
12
+ ### Fixed
13
+
14
+ - **Table Caption Parser Enhancement**: Improved robustness of table caption detection
15
+ - Flexible whitespace handling: Parser now skips blank lines and HTML comments between tables and captions
16
+ - Cross-reference support: Table captions can now include references to figures, tables, and equations
17
+ - Dynamic line-skipping logic: Intelligently determines how many lines to skip based on actual content
18
+ - Fixes issues where captions separated from tables by comments or extra whitespace were not detected
19
+
10
20
  ## [1.18.1] - 2024-12-24
11
21
 
12
22
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rxiv-maker
3
- Version: 1.18.1
3
+ Version: 1.18.2
4
4
  Summary: Write scientific preprints in Markdown. Generate publication-ready PDFs efficiently.
5
5
  Project-URL: Homepage, https://github.com/HenriquesLab/rxiv-maker
6
6
  Project-URL: Documentation, https://github.com/HenriquesLab/rxiv-maker#readme
@@ -1,3 +1,3 @@
1
1
  """Version information."""
2
2
 
3
- __version__ = "1.18.1"
3
+ __version__ = "1.18.2"
@@ -139,9 +139,9 @@ def convert_tables_to_latex(
139
139
  result_lines.pop() # Remove caption line
140
140
 
141
141
  # Check for new format table caption after the table
142
- new_format_caption, table_id, rotation_angle = _parse_table_caption(lines, i)
143
- if new_format_caption:
144
- i += 2 # Skip blank line and caption line
142
+ new_format_caption, table_id, rotation_angle, lines_to_skip = _parse_table_caption(lines, i)
143
+ if new_format_caption and lines_to_skip:
144
+ i += lines_to_skip # Skip blank lines, comments, and caption line
145
145
 
146
146
  # Generate LaTeX table with the processed caption
147
147
  latex_table = generate_latex_table(
@@ -844,39 +844,68 @@ def _is_table_row(line: str) -> bool:
844
844
  return "|" in line and line.startswith("|") and line.endswith("|")
845
845
 
846
846
 
847
- def _parse_table_caption(lines: list[str], i: int) -> tuple[str | None, str | None, int | None]:
848
- """Parse table caption in new format after table."""
847
+ def _parse_table_caption(lines: list[str], i: int) -> tuple[str | None, str | None, int | None, int | None]:
848
+ """Parse table caption in new format after table.
849
+
850
+ Returns:
851
+ tuple of (caption, table_id, rotation_angle, lines_to_skip)
852
+ lines_to_skip indicates how many lines after position i should be skipped
853
+ """
849
854
  new_format_caption = None
850
855
  table_id = None
851
856
  rotation_angle = None
857
+ lines_to_skip = None
852
858
 
853
- if (
854
- i < len(lines)
855
- and lines[i].strip() == ""
856
- and i + 1 < len(lines)
857
- and re.match(r"^\{#[a-zA-Z0-9_:-]+.*\}\s*\*\*.*\*\*", lines[i + 1].strip())
858
- ):
859
- # Found new format caption, parse it
860
- caption_line = lines[i + 1].strip()
861
-
862
- # Parse caption with optional attributes like rotate=90
863
- caption_match = re.match(r"^\{#([a-zA-Z0-9_:-]+)([^}]*)\}\s*(.+)$", caption_line)
864
- if caption_match:
865
- table_id = caption_match.group(1)
866
- attributes_str = caption_match.group(2).strip()
867
- caption_text = caption_match.group(3)
868
-
869
- # Extract rotation attribute if present
870
- if attributes_str:
871
- rotation_match = re.search(r"rotate=(\d+)", attributes_str)
872
- if rotation_match:
873
- rotation_angle = int(rotation_match.group(1))
874
-
875
- # Process caption text to handle markdown formatting
876
- new_format_caption = re.sub(r"\*\*([^*]+)\*\*", r"\\textbf{\1}", caption_text)
877
- new_format_caption = re.sub(r"\*([^*]+)\*", r"\\textit{\1}", new_format_caption)
878
-
879
- return new_format_caption, table_id, rotation_angle
859
+ # Look ahead for caption, skipping blank lines and HTML comments
860
+ # Search up to 5 lines ahead to be flexible
861
+ search_limit = min(i + 5, len(lines))
862
+
863
+ for offset in range(search_limit - i):
864
+ check_line = lines[i + offset].strip()
865
+
866
+ # Skip blank lines and HTML comments
867
+ if check_line == "" or (check_line.startswith("<!--") and check_line.endswith("-->")):
868
+ continue
869
+
870
+ # Check if this is a new-format caption
871
+ if re.match(r"^\{#[a-zA-Z0-9_:-]+.*\}\s*\*\*.*\*\*", check_line):
872
+ caption_line = check_line
873
+
874
+ # Parse caption with optional attributes like rotate=90
875
+ caption_match = re.match(r"^\{#([a-zA-Z0-9_:-]+)([^}]*)\}\s*(.+)$", caption_line)
876
+ if caption_match:
877
+ table_id = caption_match.group(1)
878
+ attributes_str = caption_match.group(2).strip()
879
+ caption_text = caption_match.group(3)
880
+
881
+ # Extract rotation attribute if present
882
+ if attributes_str:
883
+ rotation_match = re.search(r"rotate=(\d+)", attributes_str)
884
+ if rotation_match:
885
+ rotation_angle = int(rotation_match.group(1))
886
+
887
+ # Process caption text to handle markdown formatting
888
+ new_format_caption = re.sub(r"\*\*([^*]+)\*\*", r"\\textbf{\1}", caption_text)
889
+ new_format_caption = re.sub(r"\*([^*]+)\*", r"\\textit{\1}", new_format_caption)
890
+
891
+ # Convert cross-references (figures, tables, equations) in caption
892
+ from .figure_processor import (
893
+ convert_equation_references_to_latex,
894
+ convert_figure_references_to_latex,
895
+ )
896
+
897
+ new_format_caption = convert_figure_references_to_latex(new_format_caption)
898
+ new_format_caption = convert_table_references_to_latex(new_format_caption)
899
+ new_format_caption = convert_equation_references_to_latex(new_format_caption)
900
+
901
+ # Return how many lines to skip (all lines from i to caption, inclusive)
902
+ lines_to_skip = offset + 1
903
+ break
904
+ else:
905
+ # Found a non-blank, non-comment, non-caption line - stop searching
906
+ break
907
+
908
+ return new_format_caption, table_id, rotation_angle, lines_to_skip
880
909
 
881
910
 
882
911
  def _split_table_row_respecting_backticks(row: str) -> list[str]:
@@ -27,6 +27,12 @@ def sample_changelog():
27
27
  # Include current version to match __version__
28
28
  return """# Changelog
29
29
 
30
+ ## [v1.18.2] - 2026-01-06
31
+
32
+ ### Fixed
33
+ - Table caption parser enhancement with flexible whitespace handling
34
+ - Cross-reference support in table captions
35
+
30
36
  ## [v1.18.0] - 2025-12-23
31
37
 
32
38
  ### Added
@@ -144,7 +150,7 @@ class TestChangelogCommand:
144
150
  """Test --breaking-only flag."""
145
151
  mock_fetch.return_value = sample_changelog
146
152
 
147
- result = runner.invoke(changelog, ["--recent", "7", "--breaking-only"])
153
+ result = runner.invoke(changelog, ["--recent", "8", "--breaking-only"])
148
154
 
149
155
  assert result.exit_code == 0
150
156
  # Should show v1.12.0 which has breaking changes
@@ -199,7 +205,7 @@ class TestChangelogCommand:
199
205
  mock_fetch.return_value = sample_changelog
200
206
 
201
207
  # Use the latest version to ensure no versions after it
202
- result = runner.invoke(changelog, ["--since", "v1.18.0"])
208
+ result = runner.invoke(changelog, ["--since", "v1.18.2"])
203
209
 
204
210
  assert result.exit_code == 0
205
211
  output = strip_ansi(result.output)
File without changes
File without changes
File without changes
File without changes