scientific-writer 2.1.1__py3-none-any.whl → 2.2.2__py3-none-any.whl
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.
Potentially problematic release.
This version of scientific-writer might be problematic. Click here for more details.
- scientific_writer/.claude/settings.local.json +30 -0
- scientific_writer/.claude/skills/citation-management/SKILL.md +1046 -0
- scientific_writer/.claude/skills/citation-management/assets/bibtex_template.bib +264 -0
- scientific_writer/.claude/skills/citation-management/assets/citation_checklist.md +386 -0
- scientific_writer/.claude/skills/citation-management/references/bibtex_formatting.md +908 -0
- scientific_writer/.claude/skills/citation-management/references/citation_validation.md +794 -0
- scientific_writer/.claude/skills/citation-management/references/google_scholar_search.md +725 -0
- scientific_writer/.claude/skills/citation-management/references/metadata_extraction.md +870 -0
- scientific_writer/.claude/skills/citation-management/references/pubmed_search.md +839 -0
- scientific_writer/.claude/skills/citation-management/scripts/doi_to_bibtex.py +204 -0
- scientific_writer/.claude/skills/citation-management/scripts/extract_metadata.py +569 -0
- scientific_writer/.claude/skills/citation-management/scripts/format_bibtex.py +349 -0
- scientific_writer/.claude/skills/citation-management/scripts/search_google_scholar.py +282 -0
- scientific_writer/.claude/skills/citation-management/scripts/search_pubmed.py +398 -0
- scientific_writer/.claude/skills/citation-management/scripts/validate_citations.py +497 -0
- scientific_writer/.claude/skills/clinical-reports/IMPLEMENTATION_SUMMARY.md +641 -0
- scientific_writer/.claude/skills/clinical-reports/README.md +236 -0
- scientific_writer/.claude/skills/clinical-reports/SKILL.md +1088 -0
- scientific_writer/.claude/skills/clinical-reports/assets/case_report_template.md +352 -0
- scientific_writer/.claude/skills/clinical-reports/assets/clinical_trial_csr_template.md +353 -0
- scientific_writer/.claude/skills/clinical-reports/assets/clinical_trial_sae_template.md +359 -0
- scientific_writer/.claude/skills/clinical-reports/assets/consult_note_template.md +305 -0
- scientific_writer/.claude/skills/clinical-reports/assets/discharge_summary_template.md +453 -0
- scientific_writer/.claude/skills/clinical-reports/assets/hipaa_compliance_checklist.md +395 -0
- scientific_writer/.claude/skills/clinical-reports/assets/history_physical_template.md +305 -0
- scientific_writer/.claude/skills/clinical-reports/assets/lab_report_template.md +309 -0
- scientific_writer/.claude/skills/clinical-reports/assets/pathology_report_template.md +249 -0
- scientific_writer/.claude/skills/clinical-reports/assets/quality_checklist.md +338 -0
- scientific_writer/.claude/skills/clinical-reports/assets/radiology_report_template.md +318 -0
- scientific_writer/.claude/skills/clinical-reports/assets/soap_note_template.md +253 -0
- scientific_writer/.claude/skills/clinical-reports/references/case_report_guidelines.md +570 -0
- scientific_writer/.claude/skills/clinical-reports/references/clinical_trial_reporting.md +693 -0
- scientific_writer/.claude/skills/clinical-reports/references/data_presentation.md +530 -0
- scientific_writer/.claude/skills/clinical-reports/references/diagnostic_reports_standards.md +629 -0
- scientific_writer/.claude/skills/clinical-reports/references/medical_terminology.md +588 -0
- scientific_writer/.claude/skills/clinical-reports/references/patient_documentation.md +744 -0
- scientific_writer/.claude/skills/clinical-reports/references/peer_review_standards.md +585 -0
- scientific_writer/.claude/skills/clinical-reports/references/regulatory_compliance.md +577 -0
- scientific_writer/.claude/skills/clinical-reports/scripts/check_deidentification.py +346 -0
- scientific_writer/.claude/skills/clinical-reports/scripts/compliance_checker.py +78 -0
- scientific_writer/.claude/skills/clinical-reports/scripts/extract_clinical_data.py +102 -0
- scientific_writer/.claude/skills/clinical-reports/scripts/format_adverse_events.py +103 -0
- scientific_writer/.claude/skills/clinical-reports/scripts/generate_report_template.py +163 -0
- scientific_writer/.claude/skills/clinical-reports/scripts/terminology_validator.py +133 -0
- scientific_writer/.claude/skills/clinical-reports/scripts/validate_case_report.py +334 -0
- scientific_writer/.claude/skills/clinical-reports/scripts/validate_trial_report.py +89 -0
- scientific_writer/.claude/skills/document-skills/docx/LICENSE.txt +30 -0
- scientific_writer/.claude/skills/document-skills/docx/SKILL.md +197 -0
- scientific_writer/.claude/skills/document-skills/docx/docx-js.md +350 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/pack.py +159 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/unpack.py +29 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/validate.py +69 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/validation/__init__.py +15 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/validation/base.py +951 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/validation/docx.py +274 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/validation/pptx.py +315 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/validation/redlining.py +279 -0
- scientific_writer/.claude/skills/document-skills/docx/ooxml.md +610 -0
- scientific_writer/.claude/skills/document-skills/docx/scripts/__init__.py +1 -0
- scientific_writer/.claude/skills/document-skills/docx/scripts/document.py +1276 -0
- scientific_writer/.claude/skills/document-skills/docx/scripts/templates/comments.xml +3 -0
- scientific_writer/.claude/skills/document-skills/docx/scripts/templates/commentsExtended.xml +3 -0
- scientific_writer/.claude/skills/document-skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- scientific_writer/.claude/skills/document-skills/docx/scripts/templates/commentsIds.xml +3 -0
- scientific_writer/.claude/skills/document-skills/docx/scripts/templates/people.xml +3 -0
- scientific_writer/.claude/skills/document-skills/docx/scripts/utilities.py +374 -0
- scientific_writer/.claude/skills/document-skills/pdf/LICENSE.txt +30 -0
- scientific_writer/.claude/skills/document-skills/pdf/SKILL.md +294 -0
- scientific_writer/.claude/skills/document-skills/pdf/forms.md +205 -0
- scientific_writer/.claude/skills/document-skills/pdf/reference.md +612 -0
- scientific_writer/.claude/skills/document-skills/pdf/scripts/check_bounding_boxes.py +70 -0
- scientific_writer/.claude/skills/document-skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
- scientific_writer/.claude/skills/document-skills/pdf/scripts/check_fillable_fields.py +12 -0
- scientific_writer/.claude/skills/document-skills/pdf/scripts/convert_pdf_to_images.py +35 -0
- scientific_writer/.claude/skills/document-skills/pdf/scripts/create_validation_image.py +41 -0
- scientific_writer/.claude/skills/document-skills/pdf/scripts/extract_form_field_info.py +152 -0
- scientific_writer/.claude/skills/document-skills/pdf/scripts/fill_fillable_fields.py +114 -0
- scientific_writer/.claude/skills/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- scientific_writer/.claude/skills/document-skills/pptx/LICENSE.txt +30 -0
- scientific_writer/.claude/skills/document-skills/pptx/SKILL.md +484 -0
- scientific_writer/.claude/skills/document-skills/pptx/html2pptx.md +625 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/pack.py +159 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/unpack.py +29 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/validate.py +69 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/validation/base.py +951 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/validation/docx.py +274 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
- scientific_writer/.claude/skills/document-skills/pptx/ooxml.md +427 -0
- scientific_writer/.claude/skills/document-skills/pptx/scripts/html2pptx.js +979 -0
- scientific_writer/.claude/skills/document-skills/pptx/scripts/inventory.py +1020 -0
- scientific_writer/.claude/skills/document-skills/pptx/scripts/rearrange.py +231 -0
- scientific_writer/.claude/skills/document-skills/pptx/scripts/replace.py +385 -0
- scientific_writer/.claude/skills/document-skills/pptx/scripts/thumbnail.py +450 -0
- scientific_writer/.claude/skills/document-skills/xlsx/LICENSE.txt +30 -0
- scientific_writer/.claude/skills/document-skills/xlsx/SKILL.md +289 -0
- scientific_writer/.claude/skills/document-skills/xlsx/recalc.py +178 -0
- scientific_writer/.claude/skills/hypothesis-generation/SKILL.md +155 -0
- scientific_writer/.claude/skills/hypothesis-generation/assets/hypothesis_output_template.md +302 -0
- scientific_writer/.claude/skills/hypothesis-generation/references/experimental_design_patterns.md +327 -0
- scientific_writer/.claude/skills/hypothesis-generation/references/hypothesis_quality_criteria.md +196 -0
- scientific_writer/.claude/skills/hypothesis-generation/references/literature_search_strategies.md +505 -0
- scientific_writer/.claude/skills/latex-posters/README.md +417 -0
- scientific_writer/.claude/skills/latex-posters/SKILL.md +919 -0
- scientific_writer/.claude/skills/latex-posters/assets/baposter_template.tex +257 -0
- scientific_writer/.claude/skills/latex-posters/assets/beamerposter_template.tex +244 -0
- scientific_writer/.claude/skills/latex-posters/assets/poster_quality_checklist.md +358 -0
- scientific_writer/.claude/skills/latex-posters/assets/tikzposter_template.tex +251 -0
- scientific_writer/.claude/skills/latex-posters/references/latex_poster_packages.md +745 -0
- scientific_writer/.claude/skills/latex-posters/references/poster_content_guide.md +748 -0
- scientific_writer/.claude/skills/latex-posters/references/poster_design_principles.md +806 -0
- scientific_writer/.claude/skills/latex-posters/references/poster_layout_design.md +900 -0
- scientific_writer/.claude/skills/latex-posters/scripts/review_poster.sh +214 -0
- scientific_writer/.claude/skills/literature-review/SKILL.md +546 -0
- scientific_writer/.claude/skills/literature-review/assets/review_template.md +412 -0
- scientific_writer/.claude/skills/literature-review/references/citation_styles.md +166 -0
- scientific_writer/.claude/skills/literature-review/references/database_strategies.md +381 -0
- scientific_writer/.claude/skills/literature-review/scripts/generate_pdf.py +176 -0
- scientific_writer/.claude/skills/literature-review/scripts/search_databases.py +303 -0
- scientific_writer/.claude/skills/literature-review/scripts/verify_citations.py +222 -0
- scientific_writer/.claude/skills/markitdown/INSTALLATION_GUIDE.md +318 -0
- scientific_writer/.claude/skills/markitdown/LICENSE.txt +22 -0
- scientific_writer/.claude/skills/markitdown/OPENROUTER_INTEGRATION.md +359 -0
- scientific_writer/.claude/skills/markitdown/QUICK_REFERENCE.md +309 -0
- scientific_writer/.claude/skills/markitdown/README.md +184 -0
- scientific_writer/.claude/skills/markitdown/SKILL.md +450 -0
- scientific_writer/.claude/skills/markitdown/SKILL_SUMMARY.md +307 -0
- scientific_writer/.claude/skills/markitdown/assets/example_usage.md +463 -0
- scientific_writer/.claude/skills/markitdown/references/api_reference.md +399 -0
- scientific_writer/.claude/skills/markitdown/references/file_formats.md +542 -0
- scientific_writer/.claude/skills/markitdown/scripts/batch_convert.py +228 -0
- scientific_writer/.claude/skills/markitdown/scripts/convert_literature.py +283 -0
- scientific_writer/.claude/skills/markitdown/scripts/convert_with_ai.py +243 -0
- scientific_writer/.claude/skills/paper-2-web/SKILL.md +455 -0
- scientific_writer/.claude/skills/paper-2-web/references/installation.md +141 -0
- scientific_writer/.claude/skills/paper-2-web/references/paper2poster.md +346 -0
- scientific_writer/.claude/skills/paper-2-web/references/paper2video.md +305 -0
- scientific_writer/.claude/skills/paper-2-web/references/paper2web.md +187 -0
- scientific_writer/.claude/skills/paper-2-web/references/usage_examples.md +436 -0
- scientific_writer/.claude/skills/peer-review/SKILL.md +375 -0
- scientific_writer/.claude/skills/peer-review/references/common_issues.md +552 -0
- scientific_writer/.claude/skills/peer-review/references/reporting_standards.md +290 -0
- scientific_writer/.claude/skills/research-grants/README.md +285 -0
- scientific_writer/.claude/skills/research-grants/SKILL.md +896 -0
- scientific_writer/.claude/skills/research-grants/assets/budget_justification_template.md +453 -0
- scientific_writer/.claude/skills/research-grants/assets/nih_specific_aims_template.md +166 -0
- scientific_writer/.claude/skills/research-grants/assets/nsf_project_summary_template.md +92 -0
- scientific_writer/.claude/skills/research-grants/references/broader_impacts.md +392 -0
- scientific_writer/.claude/skills/research-grants/references/darpa_guidelines.md +636 -0
- scientific_writer/.claude/skills/research-grants/references/doe_guidelines.md +586 -0
- scientific_writer/.claude/skills/research-grants/references/nih_guidelines.md +851 -0
- scientific_writer/.claude/skills/research-grants/references/nsf_guidelines.md +570 -0
- scientific_writer/.claude/skills/research-grants/references/specific_aims_guide.md +458 -0
- scientific_writer/.claude/skills/research-lookup/README.md +116 -0
- scientific_writer/.claude/skills/research-lookup/SKILL.md +443 -0
- scientific_writer/.claude/skills/research-lookup/examples.py +174 -0
- scientific_writer/.claude/skills/research-lookup/lookup.py +93 -0
- scientific_writer/.claude/skills/research-lookup/research_lookup.py +335 -0
- scientific_writer/.claude/skills/research-lookup/scripts/research_lookup.py +261 -0
- scientific_writer/.claude/skills/scholar-evaluation/SKILL.md +254 -0
- scientific_writer/.claude/skills/scholar-evaluation/references/evaluation_framework.md +663 -0
- scientific_writer/.claude/skills/scholar-evaluation/scripts/calculate_scores.py +378 -0
- scientific_writer/.claude/skills/scientific-critical-thinking/SKILL.md +530 -0
- scientific_writer/.claude/skills/scientific-critical-thinking/references/common_biases.md +364 -0
- scientific_writer/.claude/skills/scientific-critical-thinking/references/evidence_hierarchy.md +484 -0
- scientific_writer/.claude/skills/scientific-critical-thinking/references/experimental_design.md +496 -0
- scientific_writer/.claude/skills/scientific-critical-thinking/references/logical_fallacies.md +478 -0
- scientific_writer/.claude/skills/scientific-critical-thinking/references/scientific_method.md +169 -0
- scientific_writer/.claude/skills/scientific-critical-thinking/references/statistical_pitfalls.md +506 -0
- scientific_writer/.claude/skills/scientific-schematics/SKILL.md +2035 -0
- scientific_writer/.claude/skills/scientific-schematics/assets/block_diagram_template.tex +199 -0
- scientific_writer/.claude/skills/scientific-schematics/assets/circuit_template.tex +159 -0
- scientific_writer/.claude/skills/scientific-schematics/assets/flowchart_template.tex +161 -0
- scientific_writer/.claude/skills/scientific-schematics/assets/pathway_template.tex +162 -0
- scientific_writer/.claude/skills/scientific-schematics/assets/tikz_styles.tex +422 -0
- scientific_writer/.claude/skills/scientific-schematics/references/best_practices.md +562 -0
- scientific_writer/.claude/skills/scientific-schematics/references/diagram_types.md +637 -0
- scientific_writer/.claude/skills/scientific-schematics/references/python_libraries.md +791 -0
- scientific_writer/.claude/skills/scientific-schematics/references/tikz_guide.md +734 -0
- scientific_writer/.claude/skills/scientific-schematics/scripts/circuit_generator.py +307 -0
- scientific_writer/.claude/skills/scientific-schematics/scripts/compile_tikz.py +292 -0
- scientific_writer/.claude/skills/scientific-schematics/scripts/generate_flowchart.py +281 -0
- scientific_writer/.claude/skills/scientific-schematics/scripts/pathway_diagram.py +406 -0
- scientific_writer/.claude/skills/scientific-writing/SKILL.md +443 -0
- scientific_writer/.claude/skills/scientific-writing/references/citation_styles.md +720 -0
- scientific_writer/.claude/skills/scientific-writing/references/figures_tables.md +806 -0
- scientific_writer/.claude/skills/scientific-writing/references/imrad_structure.md +658 -0
- scientific_writer/.claude/skills/scientific-writing/references/reporting_guidelines.md +748 -0
- scientific_writer/.claude/skills/scientific-writing/references/writing_principles.md +824 -0
- scientific_writer/.claude/skills/treatment-plans/README.md +483 -0
- scientific_writer/.claude/skills/treatment-plans/SKILL.md +817 -0
- scientific_writer/.claude/skills/treatment-plans/assets/chronic_disease_management_plan.tex +636 -0
- scientific_writer/.claude/skills/treatment-plans/assets/general_medical_treatment_plan.tex +616 -0
- scientific_writer/.claude/skills/treatment-plans/assets/mental_health_treatment_plan.tex +745 -0
- scientific_writer/.claude/skills/treatment-plans/assets/pain_management_plan.tex +770 -0
- scientific_writer/.claude/skills/treatment-plans/assets/perioperative_care_plan.tex +724 -0
- scientific_writer/.claude/skills/treatment-plans/assets/quality_checklist.md +471 -0
- scientific_writer/.claude/skills/treatment-plans/assets/rehabilitation_treatment_plan.tex +727 -0
- scientific_writer/.claude/skills/treatment-plans/references/goal_setting_frameworks.md +411 -0
- scientific_writer/.claude/skills/treatment-plans/references/intervention_guidelines.md +507 -0
- scientific_writer/.claude/skills/treatment-plans/references/regulatory_compliance.md +476 -0
- scientific_writer/.claude/skills/treatment-plans/references/specialty_specific_guidelines.md +607 -0
- scientific_writer/.claude/skills/treatment-plans/references/treatment_plan_standards.md +456 -0
- scientific_writer/.claude/skills/treatment-plans/scripts/check_completeness.py +318 -0
- scientific_writer/.claude/skills/treatment-plans/scripts/generate_template.py +244 -0
- scientific_writer/.claude/skills/treatment-plans/scripts/timeline_generator.py +369 -0
- scientific_writer/.claude/skills/treatment-plans/scripts/validate_treatment_plan.py +367 -0
- scientific_writer/.claude/skills/venue-templates/SKILL.md +590 -0
- scientific_writer/.claude/skills/venue-templates/assets/grants/nih_specific_aims.tex +235 -0
- scientific_writer/.claude/skills/venue-templates/assets/grants/nsf_proposal_template.tex +375 -0
- scientific_writer/.claude/skills/venue-templates/assets/journals/nature_article.tex +171 -0
- scientific_writer/.claude/skills/venue-templates/assets/journals/neurips_article.tex +283 -0
- scientific_writer/.claude/skills/venue-templates/assets/journals/plos_one.tex +317 -0
- scientific_writer/.claude/skills/venue-templates/assets/posters/beamerposter_academic.tex +311 -0
- scientific_writer/.claude/skills/venue-templates/references/conferences_formatting.md +564 -0
- scientific_writer/.claude/skills/venue-templates/references/grants_requirements.md +787 -0
- scientific_writer/.claude/skills/venue-templates/references/journals_formatting.md +486 -0
- scientific_writer/.claude/skills/venue-templates/references/posters_guidelines.md +628 -0
- scientific_writer/.claude/skills/venue-templates/scripts/customize_template.py +206 -0
- scientific_writer/.claude/skills/venue-templates/scripts/query_template.py +260 -0
- scientific_writer/.claude/skills/venue-templates/scripts/validate_format.py +255 -0
- scientific_writer/CLAUDE.md +748 -0
- scientific_writer/__init__.py +2 -2
- scientific_writer/api.py +14 -7
- scientific_writer/cli.py +12 -7
- scientific_writer/core.py +27 -5
- {scientific_writer-2.1.1.dist-info → scientific_writer-2.2.2.dist-info}/METADATA +5 -1
- scientific_writer-2.2.2.dist-info/RECORD +312 -0
- scientific_writer-2.1.1.dist-info/RECORD +0 -11
- {scientific_writer-2.1.1.dist-info → scientific_writer-2.2.2.dist-info}/WHEEL +0 -0
- {scientific_writer-2.1.1.dist-info → scientific_writer-2.2.2.dist-info}/entry_points.txt +0 -0
- {scientific_writer-2.1.1.dist-info → scientific_writer-2.2.2.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Convert documents to Markdown with AI-enhanced image descriptions.
|
|
4
|
+
|
|
5
|
+
This script demonstrates how to use MarkItDown with OpenRouter to generate
|
|
6
|
+
detailed descriptions of images in documents (PowerPoint, PDFs with images, etc.)
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
import argparse
|
|
10
|
+
import os
|
|
11
|
+
import sys
|
|
12
|
+
from pathlib import Path
|
|
13
|
+
from markitdown import MarkItDown
|
|
14
|
+
from openai import OpenAI
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# Predefined prompts for different use cases
|
|
18
|
+
PROMPTS = {
|
|
19
|
+
'scientific': """
|
|
20
|
+
Analyze this scientific image or diagram. Provide:
|
|
21
|
+
1. Type of visualization (graph, chart, microscopy, diagram, etc.)
|
|
22
|
+
2. Key data points, trends, or patterns
|
|
23
|
+
3. Axes labels, legends, and scales
|
|
24
|
+
4. Notable features or findings
|
|
25
|
+
5. Scientific context and significance
|
|
26
|
+
Be precise, technical, and detailed.
|
|
27
|
+
""".strip(),
|
|
28
|
+
|
|
29
|
+
'presentation': """
|
|
30
|
+
Describe this presentation slide image. Include:
|
|
31
|
+
1. Main visual elements and their arrangement
|
|
32
|
+
2. Key points or messages conveyed
|
|
33
|
+
3. Data or information presented
|
|
34
|
+
4. Visual hierarchy and emphasis
|
|
35
|
+
Keep the description clear and informative.
|
|
36
|
+
""".strip(),
|
|
37
|
+
|
|
38
|
+
'general': """
|
|
39
|
+
Describe this image in detail. Include:
|
|
40
|
+
1. Main subjects and objects
|
|
41
|
+
2. Visual composition and layout
|
|
42
|
+
3. Text content (if any)
|
|
43
|
+
4. Notable details
|
|
44
|
+
5. Overall context and purpose
|
|
45
|
+
Be comprehensive and accurate.
|
|
46
|
+
""".strip(),
|
|
47
|
+
|
|
48
|
+
'data_viz': """
|
|
49
|
+
Analyze this data visualization. Provide:
|
|
50
|
+
1. Type of chart/graph (bar, line, scatter, pie, etc.)
|
|
51
|
+
2. Variables and axes
|
|
52
|
+
3. Data ranges and scales
|
|
53
|
+
4. Key patterns, trends, or outliers
|
|
54
|
+
5. Statistical insights
|
|
55
|
+
Focus on quantitative accuracy.
|
|
56
|
+
""".strip(),
|
|
57
|
+
|
|
58
|
+
'medical': """
|
|
59
|
+
Describe this medical image. Include:
|
|
60
|
+
1. Type of medical imaging (X-ray, MRI, CT, microscopy, etc.)
|
|
61
|
+
2. Anatomical structures visible
|
|
62
|
+
3. Notable findings or abnormalities
|
|
63
|
+
4. Image quality and contrast
|
|
64
|
+
5. Clinical relevance
|
|
65
|
+
Be professional and precise.
|
|
66
|
+
""".strip()
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def convert_with_ai(
|
|
71
|
+
input_file: Path,
|
|
72
|
+
output_file: Path,
|
|
73
|
+
api_key: str,
|
|
74
|
+
model: str = "anthropic/claude-sonnet-4.5",
|
|
75
|
+
prompt_type: str = "general",
|
|
76
|
+
custom_prompt: str = None
|
|
77
|
+
) -> bool:
|
|
78
|
+
"""
|
|
79
|
+
Convert a file to Markdown with AI image descriptions.
|
|
80
|
+
|
|
81
|
+
Args:
|
|
82
|
+
input_file: Path to input file
|
|
83
|
+
output_file: Path to output Markdown file
|
|
84
|
+
api_key: OpenRouter API key
|
|
85
|
+
model: Model name (default: anthropic/claude-sonnet-4.5)
|
|
86
|
+
prompt_type: Type of prompt to use
|
|
87
|
+
custom_prompt: Custom prompt (overrides prompt_type)
|
|
88
|
+
|
|
89
|
+
Returns:
|
|
90
|
+
True if successful, False otherwise
|
|
91
|
+
"""
|
|
92
|
+
try:
|
|
93
|
+
# Initialize OpenRouter client (OpenAI-compatible)
|
|
94
|
+
client = OpenAI(
|
|
95
|
+
api_key=api_key,
|
|
96
|
+
base_url="https://openrouter.ai/api/v1"
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
# Select prompt
|
|
100
|
+
if custom_prompt:
|
|
101
|
+
prompt = custom_prompt
|
|
102
|
+
else:
|
|
103
|
+
prompt = PROMPTS.get(prompt_type, PROMPTS['general'])
|
|
104
|
+
|
|
105
|
+
print(f"Using model: {model}")
|
|
106
|
+
print(f"Prompt type: {prompt_type if not custom_prompt else 'custom'}")
|
|
107
|
+
print(f"Converting: {input_file}")
|
|
108
|
+
|
|
109
|
+
# Create MarkItDown with AI support
|
|
110
|
+
md = MarkItDown(
|
|
111
|
+
llm_client=client,
|
|
112
|
+
llm_model=model,
|
|
113
|
+
llm_prompt=prompt
|
|
114
|
+
)
|
|
115
|
+
|
|
116
|
+
# Convert file
|
|
117
|
+
result = md.convert(str(input_file))
|
|
118
|
+
|
|
119
|
+
# Create output with metadata
|
|
120
|
+
content = f"# {result.title or input_file.stem}\n\n"
|
|
121
|
+
content += f"**Source**: {input_file.name}\n"
|
|
122
|
+
content += f"**Format**: {input_file.suffix}\n"
|
|
123
|
+
content += f"**AI Model**: {model}\n"
|
|
124
|
+
content += f"**Prompt Type**: {prompt_type if not custom_prompt else 'custom'}\n\n"
|
|
125
|
+
content += "---\n\n"
|
|
126
|
+
content += result.text_content
|
|
127
|
+
|
|
128
|
+
# Write output
|
|
129
|
+
output_file.parent.mkdir(parents=True, exist_ok=True)
|
|
130
|
+
output_file.write_text(content, encoding='utf-8')
|
|
131
|
+
|
|
132
|
+
print(f"✓ Successfully converted to: {output_file}")
|
|
133
|
+
return True
|
|
134
|
+
|
|
135
|
+
except Exception as e:
|
|
136
|
+
print(f"✗ Error: {str(e)}", file=sys.stderr)
|
|
137
|
+
return False
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
def main():
|
|
141
|
+
parser = argparse.ArgumentParser(
|
|
142
|
+
description="Convert documents to Markdown with AI-enhanced image descriptions",
|
|
143
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
144
|
+
epilog=f"""
|
|
145
|
+
Available prompt types:
|
|
146
|
+
scientific - For scientific diagrams, graphs, and charts
|
|
147
|
+
presentation - For presentation slides
|
|
148
|
+
general - General-purpose image description
|
|
149
|
+
data_viz - For data visualizations and charts
|
|
150
|
+
medical - For medical imaging
|
|
151
|
+
|
|
152
|
+
Examples:
|
|
153
|
+
# Convert a scientific paper
|
|
154
|
+
python convert_with_ai.py paper.pdf output.md --prompt-type scientific
|
|
155
|
+
|
|
156
|
+
# Convert a presentation with custom model
|
|
157
|
+
python convert_with_ai.py slides.pptx slides.md --model anthropic/claude-sonnet-4.5 --prompt-type presentation
|
|
158
|
+
|
|
159
|
+
# Use custom prompt with Claude Sonnet 4.5
|
|
160
|
+
python convert_with_ai.py diagram.png diagram.md --model anthropic/claude-sonnet-4.5 --custom-prompt "Describe this technical diagram"
|
|
161
|
+
|
|
162
|
+
# Set API key via environment variable
|
|
163
|
+
export OPENROUTER_API_KEY="sk-or-v1-..."
|
|
164
|
+
python convert_with_ai.py image.jpg image.md
|
|
165
|
+
|
|
166
|
+
Environment Variables:
|
|
167
|
+
OPENROUTER_API_KEY OpenRouter API key (required if not passed via --api-key)
|
|
168
|
+
|
|
169
|
+
Popular Models (use with --model):
|
|
170
|
+
anthropic/claude-sonnet-4.5 - Claude Sonnet 4.5 (recommended, vision support)
|
|
171
|
+
anthropic/claude-3.5-sonnet - Claude 3.5 Sonnet (vision support)
|
|
172
|
+
openai/gpt-4o - GPT-4 Omni (vision support)
|
|
173
|
+
openai/gpt-4-vision - GPT-4 Vision
|
|
174
|
+
google/gemini-pro-vision - Gemini Pro Vision
|
|
175
|
+
"""
|
|
176
|
+
)
|
|
177
|
+
|
|
178
|
+
parser.add_argument('input', type=Path, help='Input file')
|
|
179
|
+
parser.add_argument('output', type=Path, help='Output Markdown file')
|
|
180
|
+
parser.add_argument(
|
|
181
|
+
'--api-key', '-k',
|
|
182
|
+
help='OpenRouter API key (or set OPENROUTER_API_KEY env var)'
|
|
183
|
+
)
|
|
184
|
+
parser.add_argument(
|
|
185
|
+
'--model', '-m',
|
|
186
|
+
default='anthropic/claude-sonnet-4.5',
|
|
187
|
+
help='Model to use via OpenRouter (default: anthropic/claude-sonnet-4.5)'
|
|
188
|
+
)
|
|
189
|
+
parser.add_argument(
|
|
190
|
+
'--prompt-type', '-t',
|
|
191
|
+
choices=list(PROMPTS.keys()),
|
|
192
|
+
default='general',
|
|
193
|
+
help='Type of prompt to use (default: general)'
|
|
194
|
+
)
|
|
195
|
+
parser.add_argument(
|
|
196
|
+
'--custom-prompt', '-p',
|
|
197
|
+
help='Custom prompt (overrides --prompt-type)'
|
|
198
|
+
)
|
|
199
|
+
parser.add_argument(
|
|
200
|
+
'--list-prompts', '-l',
|
|
201
|
+
action='store_true',
|
|
202
|
+
help='List available prompt types and exit'
|
|
203
|
+
)
|
|
204
|
+
|
|
205
|
+
args = parser.parse_args()
|
|
206
|
+
|
|
207
|
+
# List prompts and exit
|
|
208
|
+
if args.list_prompts:
|
|
209
|
+
print("Available prompt types:\n")
|
|
210
|
+
for name, prompt in PROMPTS.items():
|
|
211
|
+
print(f"[{name}]")
|
|
212
|
+
print(prompt)
|
|
213
|
+
print("\n" + "="*60 + "\n")
|
|
214
|
+
sys.exit(0)
|
|
215
|
+
|
|
216
|
+
# Get API key
|
|
217
|
+
api_key = args.api_key or os.environ.get('OPENROUTER_API_KEY')
|
|
218
|
+
if not api_key:
|
|
219
|
+
print("Error: OpenRouter API key required. Set OPENROUTER_API_KEY environment variable or use --api-key")
|
|
220
|
+
print("Get your API key at: https://openrouter.ai/keys")
|
|
221
|
+
sys.exit(1)
|
|
222
|
+
|
|
223
|
+
# Validate input file
|
|
224
|
+
if not args.input.exists():
|
|
225
|
+
print(f"Error: Input file '{args.input}' does not exist")
|
|
226
|
+
sys.exit(1)
|
|
227
|
+
|
|
228
|
+
# Convert file
|
|
229
|
+
success = convert_with_ai(
|
|
230
|
+
input_file=args.input,
|
|
231
|
+
output_file=args.output,
|
|
232
|
+
api_key=api_key,
|
|
233
|
+
model=args.model,
|
|
234
|
+
prompt_type=args.prompt_type,
|
|
235
|
+
custom_prompt=args.custom_prompt
|
|
236
|
+
)
|
|
237
|
+
|
|
238
|
+
sys.exit(0 if success else 1)
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
if __name__ == '__main__':
|
|
242
|
+
main()
|
|
243
|
+
|
|
@@ -0,0 +1,455 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: paper-2-web
|
|
3
|
+
description: This skill should be used when converting academic papers into promotional and presentation formats including interactive websites (Paper2Web), presentation videos (Paper2Video), and conference posters (Paper2Poster). Use this skill for tasks involving paper dissemination, conference preparation, creating explorable academic homepages, generating video abstracts, or producing print-ready posters from LaTeX or PDF sources.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Paper2All: Academic Paper Transformation Pipeline
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
This skill enables the transformation of academic papers into multiple promotional and presentation formats using the Paper2All autonomous pipeline. The system converts research papers (LaTeX or PDF) into three primary outputs:
|
|
11
|
+
|
|
12
|
+
1. **Paper2Web**: Interactive, explorable academic homepages with layout-aware design
|
|
13
|
+
2. **Paper2Video**: Professional presentation videos with narration, slides, and optional talking-head
|
|
14
|
+
3. **Paper2Poster**: Print-ready conference posters with professional layouts
|
|
15
|
+
|
|
16
|
+
The pipeline uses LLM-powered content extraction, design generation, and iterative refinement to create high-quality outputs suitable for conferences, journals, preprint repositories, and academic promotion.
|
|
17
|
+
|
|
18
|
+
## When to Use This Skill
|
|
19
|
+
|
|
20
|
+
Use this skill when:
|
|
21
|
+
|
|
22
|
+
- **Creating conference materials**: Posters, presentation videos, and companion websites for academic conferences
|
|
23
|
+
- **Promoting research**: Converting published papers or preprints into accessible, engaging web formats
|
|
24
|
+
- **Preparing presentations**: Generating video abstracts or full presentation videos from paper content
|
|
25
|
+
- **Disseminating findings**: Creating promotional materials for social media, lab websites, or institutional showcases
|
|
26
|
+
- **Enhancing preprints**: Adding interactive homepages to bioRxiv, arXiv, or other preprint submissions
|
|
27
|
+
- **Batch processing**: Generating promotional materials for multiple papers simultaneously
|
|
28
|
+
|
|
29
|
+
**Trigger phrases**:
|
|
30
|
+
- "Convert this paper to a website"
|
|
31
|
+
- "Generate a conference poster from my LaTeX paper"
|
|
32
|
+
- "Create a video presentation from this research"
|
|
33
|
+
- "Make an interactive homepage for my paper"
|
|
34
|
+
- "Transform my paper into promotional materials"
|
|
35
|
+
- "Generate a poster and video for my conference talk"
|
|
36
|
+
|
|
37
|
+
## Core Capabilities
|
|
38
|
+
|
|
39
|
+
### 1. Paper2Web: Interactive Website Generation
|
|
40
|
+
|
|
41
|
+
Converts papers into layout-aware, interactive academic homepages that go beyond simple HTML conversion.
|
|
42
|
+
|
|
43
|
+
**Key Features**:
|
|
44
|
+
- Responsive, multi-section layouts adapted to paper content
|
|
45
|
+
- Interactive figures, tables, and citations
|
|
46
|
+
- Mobile-friendly design with navigation
|
|
47
|
+
- Automatic logo discovery (with Google Search API)
|
|
48
|
+
- Aesthetic refinement and quality assessment
|
|
49
|
+
|
|
50
|
+
**Best For**: Post-publication promotion, preprint enhancement, lab websites, permanent research showcases
|
|
51
|
+
|
|
52
|
+
→ **See `references/paper2web.md` for detailed documentation**
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
### 2. Paper2Video: Presentation Video Generation
|
|
57
|
+
|
|
58
|
+
Generates professional presentation videos with slides, narration, cursor movements, and optional talking-head video.
|
|
59
|
+
|
|
60
|
+
**Key Features**:
|
|
61
|
+
- Automated slide generation from paper structure
|
|
62
|
+
- Natural-sounding speech synthesis
|
|
63
|
+
- Synchronized cursor movements and highlights
|
|
64
|
+
- Optional talking-head video using Hallo2 (requires GPU)
|
|
65
|
+
- Multi-language support
|
|
66
|
+
|
|
67
|
+
**Best For**: Video abstracts, conference presentations, online talks, course materials, YouTube promotion
|
|
68
|
+
|
|
69
|
+
→ **See `references/paper2video.md` for detailed documentation**
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
### 3. Paper2Poster: Conference Poster Generation
|
|
74
|
+
|
|
75
|
+
Creates print-ready academic posters with professional layouts and visual design.
|
|
76
|
+
|
|
77
|
+
**Key Features**:
|
|
78
|
+
- Custom poster dimensions (any size)
|
|
79
|
+
- Professional design templates
|
|
80
|
+
- Institution branding support
|
|
81
|
+
- QR code generation for links
|
|
82
|
+
- High-resolution output (300+ DPI)
|
|
83
|
+
|
|
84
|
+
**Best For**: Conference poster sessions, symposiums, academic exhibitions, virtual conferences
|
|
85
|
+
|
|
86
|
+
→ **See `references/paper2poster.md` for detailed documentation**
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Quick Start
|
|
91
|
+
|
|
92
|
+
### Prerequisites
|
|
93
|
+
|
|
94
|
+
1. **Install Paper2All**:
|
|
95
|
+
```bash
|
|
96
|
+
git clone https://github.com/YuhangChen1/Paper2All.git
|
|
97
|
+
cd Paper2All
|
|
98
|
+
conda create -n paper2all python=3.11
|
|
99
|
+
conda activate paper2all
|
|
100
|
+
pip install -r requirements.txt
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
2. **Configure API Keys** (create `.env` file):
|
|
104
|
+
```
|
|
105
|
+
OPENAI_API_KEY=your_openai_api_key_here
|
|
106
|
+
# Optional: GOOGLE_API_KEY and GOOGLE_CSE_ID for logo search
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
3. **Install System Dependencies**:
|
|
110
|
+
- LibreOffice (document conversion)
|
|
111
|
+
- Poppler utilities (PDF processing)
|
|
112
|
+
- NVIDIA GPU with 48GB (optional, for talking-head videos)
|
|
113
|
+
|
|
114
|
+
→ **See `references/installation.md` for complete installation guide**
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
### Basic Usage
|
|
119
|
+
|
|
120
|
+
**Generate All Components** (website + poster + video):
|
|
121
|
+
```bash
|
|
122
|
+
python pipeline_all.py \
|
|
123
|
+
--input-dir "path/to/paper" \
|
|
124
|
+
--output-dir "path/to/output" \
|
|
125
|
+
--model-choice 1
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**Generate Website Only**:
|
|
129
|
+
```bash
|
|
130
|
+
python pipeline_all.py \
|
|
131
|
+
--input-dir "path/to/paper" \
|
|
132
|
+
--output-dir "path/to/output" \
|
|
133
|
+
--model-choice 1 \
|
|
134
|
+
--generate-website
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Generate Poster with Custom Size**:
|
|
138
|
+
```bash
|
|
139
|
+
python pipeline_all.py \
|
|
140
|
+
--input-dir "path/to/paper" \
|
|
141
|
+
--output-dir "path/to/output" \
|
|
142
|
+
--model-choice 1 \
|
|
143
|
+
--generate-poster \
|
|
144
|
+
--poster-width-inches 60 \
|
|
145
|
+
--poster-height-inches 40
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**Generate Video** (lightweight pipeline):
|
|
149
|
+
```bash
|
|
150
|
+
python pipeline_light.py \
|
|
151
|
+
--model_name_t gpt-4.1 \
|
|
152
|
+
--model_name_v gpt-4.1 \
|
|
153
|
+
--result_dir "path/to/output" \
|
|
154
|
+
--paper_latex_root "path/to/paper"
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
→ **See `references/usage_examples.md` for comprehensive workflow examples**
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Workflow Decision Tree
|
|
162
|
+
|
|
163
|
+
Use this decision tree to determine which components to generate:
|
|
164
|
+
|
|
165
|
+
```
|
|
166
|
+
User needs promotional materials for paper?
|
|
167
|
+
│
|
|
168
|
+
├─ Need permanent online presence?
|
|
169
|
+
│ └─→ Generate Paper2Web (interactive website)
|
|
170
|
+
│
|
|
171
|
+
├─ Need physical conference materials?
|
|
172
|
+
│ ├─→ Poster session? → Generate Paper2Poster
|
|
173
|
+
│ └─→ Oral presentation? → Generate Paper2Video
|
|
174
|
+
│
|
|
175
|
+
├─ Need video content?
|
|
176
|
+
│ ├─→ Journal video abstract? → Generate Paper2Video (5-10 min)
|
|
177
|
+
│ ├─→ Conference talk? → Generate Paper2Video (15-20 min)
|
|
178
|
+
│ └─→ Social media? → Generate Paper2Video (1-3 min)
|
|
179
|
+
│
|
|
180
|
+
└─ Need complete package?
|
|
181
|
+
└─→ Generate all three components
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## Input Requirements
|
|
185
|
+
|
|
186
|
+
### Supported Input Formats
|
|
187
|
+
|
|
188
|
+
**1. LaTeX Source** (Recommended):
|
|
189
|
+
```
|
|
190
|
+
paper_directory/
|
|
191
|
+
├── main.tex # Main paper file
|
|
192
|
+
├── sections/ # Optional: split sections
|
|
193
|
+
├── figures/ # All figure files
|
|
194
|
+
├── tables/ # Table files
|
|
195
|
+
└── bibliography.bib # References
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
**2. PDF**:
|
|
199
|
+
- High-quality PDF with embedded fonts
|
|
200
|
+
- Selectable text (not scanned images)
|
|
201
|
+
- High-resolution figures (300+ DPI preferred)
|
|
202
|
+
|
|
203
|
+
### Input Organization
|
|
204
|
+
|
|
205
|
+
**Single Paper**:
|
|
206
|
+
```bash
|
|
207
|
+
input/
|
|
208
|
+
└── paper_name/
|
|
209
|
+
├── main.tex (or paper.pdf)
|
|
210
|
+
├── figures/
|
|
211
|
+
└── bibliography.bib
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
**Multiple Papers** (batch processing):
|
|
215
|
+
```bash
|
|
216
|
+
input/
|
|
217
|
+
├── paper1/
|
|
218
|
+
│ └── main.tex
|
|
219
|
+
├── paper2/
|
|
220
|
+
│ └── main.tex
|
|
221
|
+
└── paper3/
|
|
222
|
+
└── main.tex
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
## Common Parameters
|
|
226
|
+
|
|
227
|
+
### Model Selection
|
|
228
|
+
- `--model-choice 1`: GPT-4 (best balance of quality and cost)
|
|
229
|
+
- `--model-choice 2`: GPT-4.1 (latest features, higher cost)
|
|
230
|
+
- `--model_name_t gpt-3.5-turbo`: Faster, lower cost (acceptable quality)
|
|
231
|
+
|
|
232
|
+
### Component Selection
|
|
233
|
+
- `--generate-website`: Enable website generation
|
|
234
|
+
- `--generate-poster`: Enable poster generation
|
|
235
|
+
- `--generate-video`: Enable video generation
|
|
236
|
+
- `--enable-talking-head`: Add talking-head to video (requires GPU)
|
|
237
|
+
|
|
238
|
+
### Customization
|
|
239
|
+
- `--poster-width-inches [width]`: Custom poster width
|
|
240
|
+
- `--poster-height-inches [height]`: Custom poster height
|
|
241
|
+
- `--video-duration [seconds]`: Target video length
|
|
242
|
+
- `--enable-logo-search`: Automatic institution logo discovery
|
|
243
|
+
|
|
244
|
+
## Output Structure
|
|
245
|
+
|
|
246
|
+
Generated outputs are organized by paper and component:
|
|
247
|
+
|
|
248
|
+
```
|
|
249
|
+
output/
|
|
250
|
+
└── paper_name/
|
|
251
|
+
├── website/
|
|
252
|
+
│ ├── index.html
|
|
253
|
+
│ ├── styles.css
|
|
254
|
+
│ └── assets/
|
|
255
|
+
├── poster/
|
|
256
|
+
│ ├── poster_final.pdf
|
|
257
|
+
│ ├── poster_final.png
|
|
258
|
+
│ └── poster_source/
|
|
259
|
+
└── video/
|
|
260
|
+
├── final_video.mp4
|
|
261
|
+
├── slides/
|
|
262
|
+
├── audio/
|
|
263
|
+
└── subtitles/
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
## Best Practices
|
|
267
|
+
|
|
268
|
+
### Input Preparation
|
|
269
|
+
1. **Use LaTeX when possible**: Provides best content extraction and structure
|
|
270
|
+
2. **Organize files properly**: Keep all assets (figures, tables, bibliography) in paper directory
|
|
271
|
+
3. **High-quality figures**: Use vector formats (PDF, SVG) or high-resolution rasters (300+ DPI)
|
|
272
|
+
4. **Clean LaTeX**: Remove compilation artifacts, ensure source compiles successfully
|
|
273
|
+
|
|
274
|
+
### Model Selection Strategy
|
|
275
|
+
- **GPT-4**: Best for production-quality outputs, conferences, publications
|
|
276
|
+
- **GPT-4.1**: Use when you need latest features or best possible quality
|
|
277
|
+
- **GPT-3.5-turbo**: Use for quick drafts, testing, or simple papers
|
|
278
|
+
|
|
279
|
+
### Component Priority
|
|
280
|
+
For tight deadlines, generate in this order:
|
|
281
|
+
1. **Website** (fastest, most versatile, ~15-30 min)
|
|
282
|
+
2. **Poster** (moderate speed, for print deadlines, ~10-20 min)
|
|
283
|
+
3. **Video** (slowest, can be generated later, ~20-60 min)
|
|
284
|
+
|
|
285
|
+
### Quality Assurance
|
|
286
|
+
Before finalizing outputs:
|
|
287
|
+
1. **Website**: Test on multiple devices, verify all links work, check figure quality
|
|
288
|
+
2. **Poster**: Print test page, verify text readability from 3-6 feet, check colors
|
|
289
|
+
3. **Video**: Watch entire video, verify audio synchronization, test on different devices
|
|
290
|
+
|
|
291
|
+
## Resource Requirements
|
|
292
|
+
|
|
293
|
+
### Processing Time
|
|
294
|
+
- **Website**: 15-30 minutes per paper
|
|
295
|
+
- **Poster**: 10-20 minutes per paper
|
|
296
|
+
- **Video (no talking-head)**: 20-60 minutes per paper
|
|
297
|
+
- **Video (with talking-head)**: 60-120 minutes per paper
|
|
298
|
+
|
|
299
|
+
### Computational Requirements
|
|
300
|
+
- **CPU**: Multi-core processor for parallel processing
|
|
301
|
+
- **RAM**: 16GB minimum, 32GB recommended for large papers
|
|
302
|
+
- **GPU**: Optional for standard outputs, required for talking-head (NVIDIA A6000 48GB)
|
|
303
|
+
- **Storage**: 1-5GB per paper depending on components and quality settings
|
|
304
|
+
|
|
305
|
+
### API Costs (Approximate)
|
|
306
|
+
- **Website**: $0.50-2.00 per paper (GPT-4)
|
|
307
|
+
- **Poster**: $0.30-1.00 per paper (GPT-4)
|
|
308
|
+
- **Video**: $1.00-3.00 per paper (GPT-4)
|
|
309
|
+
- **Complete package**: $2.00-6.00 per paper (GPT-4)
|
|
310
|
+
|
|
311
|
+
## Troubleshooting
|
|
312
|
+
|
|
313
|
+
### Common Issues
|
|
314
|
+
|
|
315
|
+
**LaTeX parsing errors**:
|
|
316
|
+
- Ensure LaTeX source compiles successfully: `pdflatex main.tex`
|
|
317
|
+
- Check all referenced files are present
|
|
318
|
+
- Verify no custom packages prevent parsing
|
|
319
|
+
|
|
320
|
+
**Poor figure quality**:
|
|
321
|
+
- Use vector formats (PDF, SVG, EPS) instead of rasters
|
|
322
|
+
- Ensure raster images are 300+ DPI
|
|
323
|
+
- Check figures render correctly in compiled PDF
|
|
324
|
+
|
|
325
|
+
**Video generation failures**:
|
|
326
|
+
- Verify sufficient disk space (5GB+ recommended)
|
|
327
|
+
- Check all dependencies installed (LibreOffice, Poppler)
|
|
328
|
+
- Review error logs in output directory
|
|
329
|
+
|
|
330
|
+
**Poster layout issues**:
|
|
331
|
+
- Verify poster dimensions are reasonable (24"-72" range)
|
|
332
|
+
- Check content length (very long papers may need manual curation)
|
|
333
|
+
- Ensure figures have appropriate resolution for poster size
|
|
334
|
+
|
|
335
|
+
**API errors**:
|
|
336
|
+
- Verify API keys in `.env` file
|
|
337
|
+
- Check API credit balance
|
|
338
|
+
- Ensure no rate limiting (wait and retry)
|
|
339
|
+
|
|
340
|
+
## Platform-Specific Features
|
|
341
|
+
|
|
342
|
+
### Social Media Optimization
|
|
343
|
+
|
|
344
|
+
The system auto-detects target platforms:
|
|
345
|
+
|
|
346
|
+
**Twitter/X** (English, numeric folder names):
|
|
347
|
+
```bash
|
|
348
|
+
mkdir -p input/001_twitter/
|
|
349
|
+
# Generates English promotional content
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
**Xiaohongshu/小红书** (Chinese, alphanumeric folder names):
|
|
353
|
+
```bash
|
|
354
|
+
mkdir -p input/xhs_paper/
|
|
355
|
+
# Generates Chinese promotional content
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
### Conference-Specific Formatting
|
|
359
|
+
|
|
360
|
+
Specify conference requirements:
|
|
361
|
+
- Standard poster sizes (4'×3', 5'×4', A0, A1)
|
|
362
|
+
- Video abstract length limits (typically 3-5 minutes)
|
|
363
|
+
- Institution branding requirements
|
|
364
|
+
- Color scheme preferences
|
|
365
|
+
|
|
366
|
+
## Integration and Deployment
|
|
367
|
+
|
|
368
|
+
### Website Deployment
|
|
369
|
+
Deploy generated websites to:
|
|
370
|
+
- **GitHub Pages**: Free hosting with custom domain
|
|
371
|
+
- **Academic hosting**: University web servers
|
|
372
|
+
- **Personal servers**: AWS, DigitalOcean, etc.
|
|
373
|
+
- **Netlify/Vercel**: Modern hosting with CI/CD
|
|
374
|
+
|
|
375
|
+
### Poster Printing
|
|
376
|
+
Print-ready files work with:
|
|
377
|
+
- Professional poster printing services
|
|
378
|
+
- University print shops
|
|
379
|
+
- Online services (e.g., Spoonflower, VistaPrint)
|
|
380
|
+
- Large format printers (if available)
|
|
381
|
+
|
|
382
|
+
### Video Distribution
|
|
383
|
+
Share videos on:
|
|
384
|
+
- **YouTube**: Public or unlisted for maximum reach
|
|
385
|
+
- **Institutional repositories**: University video platforms
|
|
386
|
+
- **Conference platforms**: Virtual conference systems
|
|
387
|
+
- **Social media**: Twitter, LinkedIn, ResearchGate
|
|
388
|
+
|
|
389
|
+
## Advanced Usage
|
|
390
|
+
|
|
391
|
+
### Batch Processing
|
|
392
|
+
Process multiple papers efficiently:
|
|
393
|
+
```bash
|
|
394
|
+
# Organize papers in batch directory
|
|
395
|
+
for paper in paper1 paper2 paper3; do
|
|
396
|
+
python pipeline_all.py \
|
|
397
|
+
--input-dir input/$paper \
|
|
398
|
+
--output-dir output/$paper \
|
|
399
|
+
--model-choice 1 &
|
|
400
|
+
done
|
|
401
|
+
wait
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
### Custom Branding
|
|
405
|
+
Apply institution or lab branding:
|
|
406
|
+
- Provide logo files in paper directory
|
|
407
|
+
- Specify color schemes in configuration
|
|
408
|
+
- Use custom templates (advanced)
|
|
409
|
+
- Match conference theme requirements
|
|
410
|
+
|
|
411
|
+
### Multi-Language Support
|
|
412
|
+
Generate content in different languages:
|
|
413
|
+
- Specify target language in configuration
|
|
414
|
+
- System translates content appropriately
|
|
415
|
+
- Selects appropriate voice for video narration
|
|
416
|
+
- Adapts design conventions to culture
|
|
417
|
+
|
|
418
|
+
## References and Resources
|
|
419
|
+
|
|
420
|
+
This skill includes comprehensive reference documentation:
|
|
421
|
+
|
|
422
|
+
- **`references/installation.md`**: Complete installation and configuration guide
|
|
423
|
+
- **`references/paper2web.md`**: Detailed Paper2Web documentation with all features
|
|
424
|
+
- **`references/paper2video.md`**: Comprehensive Paper2Video guide including talking-head setup
|
|
425
|
+
- **`references/paper2poster.md`**: Complete Paper2Poster documentation with design templates
|
|
426
|
+
- **`references/usage_examples.md`**: Real-world examples and workflow patterns
|
|
427
|
+
|
|
428
|
+
**External Resources**:
|
|
429
|
+
- GitHub Repository: https://github.com/YuhangChen1/Paper2All
|
|
430
|
+
- Curated Dataset: Available on Hugging Face (13 research categories)
|
|
431
|
+
- Benchmark Suite: Reference websites and evaluation metrics
|
|
432
|
+
|
|
433
|
+
## Evaluation and Quality Metrics
|
|
434
|
+
|
|
435
|
+
The Paper2All system includes built-in quality assessment:
|
|
436
|
+
|
|
437
|
+
### Content Quality
|
|
438
|
+
- **Completeness**: Coverage of paper content
|
|
439
|
+
- **Accuracy**: Faithful representation of findings
|
|
440
|
+
- **Clarity**: Accessibility and understandability
|
|
441
|
+
- **Informativeness**: Key information prominence
|
|
442
|
+
|
|
443
|
+
### Design Quality
|
|
444
|
+
- **Aesthetics**: Visual appeal and professionalism
|
|
445
|
+
- **Layout**: Balance, hierarchy, and organization
|
|
446
|
+
- **Readability**: Text legibility and figure clarity
|
|
447
|
+
- **Consistency**: Uniform styling and branding
|
|
448
|
+
|
|
449
|
+
### Technical Quality
|
|
450
|
+
- **Performance**: Load times, responsiveness
|
|
451
|
+
- **Compatibility**: Cross-browser, cross-device support
|
|
452
|
+
- **Accessibility**: WCAG compliance, screen reader support
|
|
453
|
+
- **Standards**: Valid HTML/CSS, print-ready PDFs
|
|
454
|
+
|
|
455
|
+
All outputs undergo automated quality checks before generation completes.
|