@synsci/cli-darwin-x64 1.1.70 → 1.1.72
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.
- package/bin/skills/citation-management/SKILL.md +1109 -0
- package/bin/skills/citation-management/assets/bibtex_template.bib +264 -0
- package/bin/skills/citation-management/assets/citation_checklist.md +386 -0
- package/bin/skills/citation-management/references/bibtex_formatting.md +908 -0
- package/bin/skills/citation-management/references/citation_validation.md +794 -0
- package/bin/skills/citation-management/references/google_scholar_search.md +725 -0
- package/bin/skills/citation-management/references/metadata_extraction.md +870 -0
- package/bin/skills/citation-management/references/pubmed_search.md +839 -0
- package/bin/skills/citation-management/scripts/doi_to_bibtex.py +182 -0
- package/bin/skills/citation-management/scripts/extract_metadata.py +570 -0
- package/bin/skills/citation-management/scripts/format_bibtex.py +349 -0
- package/bin/skills/citation-management/scripts/search_google_scholar.py +251 -0
- package/bin/skills/citation-management/scripts/search_pubmed.py +348 -0
- package/bin/skills/citation-management/scripts/validate_citations.py +494 -0
- package/bin/skills/clinical-decision-support/README.md +129 -0
- package/bin/skills/clinical-decision-support/SKILL.md +506 -0
- package/bin/skills/clinical-decision-support/assets/biomarker_report_template.tex +380 -0
- package/bin/skills/clinical-decision-support/assets/clinical_pathway_template.tex +222 -0
- package/bin/skills/clinical-decision-support/assets/cohort_analysis_template.tex +359 -0
- package/bin/skills/clinical-decision-support/assets/color_schemes.tex +149 -0
- package/bin/skills/clinical-decision-support/assets/example_gbm_cohort.md +208 -0
- package/bin/skills/clinical-decision-support/assets/recommendation_strength_guide.md +328 -0
- package/bin/skills/clinical-decision-support/assets/treatment_recommendation_template.tex +529 -0
- package/bin/skills/clinical-decision-support/references/biomarker_classification.md +719 -0
- package/bin/skills/clinical-decision-support/references/clinical_decision_algorithms.md +604 -0
- package/bin/skills/clinical-decision-support/references/evidence_synthesis.md +840 -0
- package/bin/skills/clinical-decision-support/references/outcome_analysis.md +640 -0
- package/bin/skills/clinical-decision-support/references/patient_cohort_analysis.md +427 -0
- package/bin/skills/clinical-decision-support/references/treatment_recommendations.md +521 -0
- package/bin/skills/clinical-decision-support/scripts/biomarker_classifier.py +383 -0
- package/bin/skills/clinical-decision-support/scripts/build_decision_tree.py +417 -0
- package/bin/skills/clinical-decision-support/scripts/create_cohort_tables.py +509 -0
- package/bin/skills/clinical-decision-support/scripts/generate_survival_analysis.py +441 -0
- package/bin/skills/clinical-decision-support/scripts/validate_cds_document.py +326 -0
- package/bin/skills/clinical-reports/IMPLEMENTATION_SUMMARY.md +641 -0
- package/bin/skills/clinical-reports/README.md +236 -0
- package/bin/skills/clinical-reports/SKILL.md +1127 -0
- package/bin/skills/clinical-reports/assets/case_report_template.md +352 -0
- package/bin/skills/clinical-reports/assets/clinical_trial_csr_template.md +353 -0
- package/bin/skills/clinical-reports/assets/clinical_trial_sae_template.md +359 -0
- package/bin/skills/clinical-reports/assets/consult_note_template.md +305 -0
- package/bin/skills/clinical-reports/assets/discharge_summary_template.md +453 -0
- package/bin/skills/clinical-reports/assets/hipaa_compliance_checklist.md +395 -0
- package/bin/skills/clinical-reports/assets/history_physical_template.md +305 -0
- package/bin/skills/clinical-reports/assets/lab_report_template.md +309 -0
- package/bin/skills/clinical-reports/assets/pathology_report_template.md +249 -0
- package/bin/skills/clinical-reports/assets/quality_checklist.md +338 -0
- package/bin/skills/clinical-reports/assets/radiology_report_template.md +318 -0
- package/bin/skills/clinical-reports/assets/soap_note_template.md +253 -0
- package/bin/skills/clinical-reports/references/case_report_guidelines.md +570 -0
- package/bin/skills/clinical-reports/references/clinical_trial_reporting.md +693 -0
- package/bin/skills/clinical-reports/references/data_presentation.md +530 -0
- package/bin/skills/clinical-reports/references/diagnostic_reports_standards.md +629 -0
- package/bin/skills/clinical-reports/references/medical_terminology.md +588 -0
- package/bin/skills/clinical-reports/references/patient_documentation.md +744 -0
- package/bin/skills/clinical-reports/references/peer_review_standards.md +585 -0
- package/bin/skills/clinical-reports/references/regulatory_compliance.md +577 -0
- package/bin/skills/clinical-reports/scripts/check_deidentification.py +332 -0
- package/bin/skills/clinical-reports/scripts/compliance_checker.py +78 -0
- package/bin/skills/clinical-reports/scripts/extract_clinical_data.py +97 -0
- package/bin/skills/clinical-reports/scripts/format_adverse_events.py +97 -0
- package/bin/skills/clinical-reports/scripts/generate_report_template.py +149 -0
- package/bin/skills/clinical-reports/scripts/terminology_validator.py +126 -0
- package/bin/skills/clinical-reports/scripts/validate_case_report.py +323 -0
- package/bin/skills/clinical-reports/scripts/validate_trial_report.py +88 -0
- package/bin/skills/fireworks-ai/SKILL.md +665 -0
- package/bin/skills/generate-image/SKILL.md +178 -0
- package/bin/skills/generate-image/scripts/generate_image.py +254 -0
- package/bin/skills/groq/SKILL.md +347 -0
- package/bin/skills/hypothesis-generation/SKILL.md +293 -0
- package/bin/skills/hypothesis-generation/assets/FORMATTING_GUIDE.md +672 -0
- package/bin/skills/hypothesis-generation/assets/hypothesis_generation.sty +307 -0
- package/bin/skills/hypothesis-generation/assets/hypothesis_report_template.tex +572 -0
- package/bin/skills/hypothesis-generation/references/experimental_design_patterns.md +329 -0
- package/bin/skills/hypothesis-generation/references/hypothesis_quality_criteria.md +198 -0
- package/bin/skills/hypothesis-generation/references/literature_search_strategies.md +622 -0
- package/bin/skills/latex-posters/README.md +417 -0
- package/bin/skills/latex-posters/SKILL.md +1602 -0
- package/bin/skills/latex-posters/assets/baposter_template.tex +257 -0
- package/bin/skills/latex-posters/assets/beamerposter_template.tex +244 -0
- package/bin/skills/latex-posters/assets/poster_quality_checklist.md +358 -0
- package/bin/skills/latex-posters/assets/tikzposter_template.tex +251 -0
- package/bin/skills/latex-posters/references/latex_poster_packages.md +745 -0
- package/bin/skills/latex-posters/references/poster_content_guide.md +748 -0
- package/bin/skills/latex-posters/references/poster_design_principles.md +806 -0
- package/bin/skills/latex-posters/references/poster_layout_design.md +900 -0
- package/bin/skills/latex-posters/scripts/review_poster.sh +214 -0
- package/bin/skills/literature-review/SKILL.md +641 -0
- package/bin/skills/literature-review/assets/review_template.md +412 -0
- package/bin/skills/literature-review/references/citation_styles.md +166 -0
- package/bin/skills/literature-review/references/database_strategies.md +455 -0
- package/bin/skills/literature-review/scripts/generate_pdf.py +184 -0
- package/bin/skills/literature-review/scripts/search_databases.py +310 -0
- package/bin/skills/literature-review/scripts/verify_citations.py +218 -0
- package/bin/skills/market-research-reports/SKILL.md +904 -0
- package/bin/skills/market-research-reports/assets/FORMATTING_GUIDE.md +428 -0
- package/bin/skills/market-research-reports/assets/market_report_template.tex +1380 -0
- package/bin/skills/market-research-reports/assets/market_research.sty +564 -0
- package/bin/skills/market-research-reports/references/data_analysis_patterns.md +548 -0
- package/bin/skills/market-research-reports/references/report_structure_guide.md +999 -0
- package/bin/skills/market-research-reports/references/visual_generation_guide.md +1077 -0
- package/bin/skills/market-research-reports/scripts/generate_market_visuals.py +472 -0
- package/bin/skills/markitdown/INSTALLATION_GUIDE.md +318 -0
- package/bin/skills/markitdown/LICENSE.txt +22 -0
- package/bin/skills/markitdown/OPENROUTER_INTEGRATION.md +359 -0
- package/bin/skills/markitdown/QUICK_REFERENCE.md +309 -0
- package/bin/skills/markitdown/README.md +184 -0
- package/bin/skills/markitdown/SKILL.md +486 -0
- package/bin/skills/markitdown/SKILL_SUMMARY.md +307 -0
- package/bin/skills/markitdown/assets/example_usage.md +463 -0
- package/bin/skills/markitdown/references/api_reference.md +399 -0
- package/bin/skills/markitdown/references/file_formats.md +542 -0
- package/bin/skills/markitdown/scripts/batch_convert.py +195 -0
- package/bin/skills/markitdown/scripts/convert_literature.py +262 -0
- package/bin/skills/markitdown/scripts/convert_with_ai.py +224 -0
- package/bin/skills/ml-paper-writing/SKILL.md +937 -0
- package/bin/skills/ml-paper-writing/references/checklists.md +361 -0
- package/bin/skills/ml-paper-writing/references/citation-workflow.md +562 -0
- package/bin/skills/ml-paper-writing/references/reviewer-guidelines.md +367 -0
- package/bin/skills/ml-paper-writing/references/sources.md +159 -0
- package/bin/skills/ml-paper-writing/references/writing-guide.md +476 -0
- package/bin/skills/ml-paper-writing/templates/README.md +251 -0
- package/bin/skills/ml-paper-writing/templates/aaai2026/README.md +534 -0
- package/bin/skills/ml-paper-writing/templates/aaai2026/aaai2026-unified-supp.tex +144 -0
- package/bin/skills/ml-paper-writing/templates/aaai2026/aaai2026-unified-template.tex +952 -0
- package/bin/skills/ml-paper-writing/templates/aaai2026/aaai2026.bib +111 -0
- package/bin/skills/ml-paper-writing/templates/aaai2026/aaai2026.bst +1493 -0
- package/bin/skills/ml-paper-writing/templates/aaai2026/aaai2026.sty +315 -0
- package/bin/skills/ml-paper-writing/templates/acl/README.md +50 -0
- package/bin/skills/ml-paper-writing/templates/acl/acl.sty +312 -0
- package/bin/skills/ml-paper-writing/templates/acl/acl_latex.tex +377 -0
- package/bin/skills/ml-paper-writing/templates/acl/acl_lualatex.tex +101 -0
- package/bin/skills/ml-paper-writing/templates/acl/acl_natbib.bst +1940 -0
- package/bin/skills/ml-paper-writing/templates/acl/anthology.bib.txt +26 -0
- package/bin/skills/ml-paper-writing/templates/acl/custom.bib +70 -0
- package/bin/skills/ml-paper-writing/templates/acl/formatting.md +326 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/README.md +3 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/colm2025_conference.bib +11 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/colm2025_conference.bst +1440 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/colm2025_conference.pdf +0 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/colm2025_conference.sty +218 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/colm2025_conference.tex +305 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/fancyhdr.sty +485 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/math_commands.tex +508 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/natbib.sty +1246 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/fancyhdr.sty +485 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/iclr2026_conference.bib +24 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/iclr2026_conference.bst +1440 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/iclr2026_conference.pdf +0 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/iclr2026_conference.sty +246 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/iclr2026_conference.tex +414 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/math_commands.tex +508 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/natbib.sty +1246 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/algorithm.sty +79 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/algorithmic.sty +201 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/example_paper.bib +75 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/example_paper.pdf +0 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/example_paper.tex +662 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/fancyhdr.sty +864 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/icml2026.bst +1443 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/icml2026.sty +767 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/icml_numpapers.pdf +0 -0
- package/bin/skills/ml-paper-writing/templates/neurips2025/Makefile +36 -0
- package/bin/skills/ml-paper-writing/templates/neurips2025/extra_pkgs.tex +53 -0
- package/bin/skills/ml-paper-writing/templates/neurips2025/main.tex +38 -0
- package/bin/skills/ml-paper-writing/templates/neurips2025/neurips.sty +382 -0
- package/bin/skills/paper-2-web/SKILL.md +491 -0
- package/bin/skills/paper-2-web/references/installation.md +141 -0
- package/bin/skills/paper-2-web/references/paper2poster.md +346 -0
- package/bin/skills/paper-2-web/references/paper2video.md +305 -0
- package/bin/skills/paper-2-web/references/paper2web.md +187 -0
- package/bin/skills/paper-2-web/references/usage_examples.md +436 -0
- package/bin/skills/peer-review/SKILL.md +702 -0
- package/bin/skills/peer-review/references/calibration_guidelines.md +196 -0
- package/bin/skills/peer-review/references/common_issues.md +552 -0
- package/bin/skills/peer-review/references/paper_mechanics.md +269 -0
- package/bin/skills/peer-review/references/reporting_standards.md +290 -0
- package/bin/skills/peer-review/references/scoring_rubric.md +239 -0
- package/bin/skills/pptx-posters/SKILL.md +410 -0
- package/bin/skills/pptx-posters/assets/poster_html_template.html +257 -0
- package/bin/skills/pptx-posters/assets/poster_quality_checklist.md +358 -0
- package/bin/skills/pptx-posters/references/poster_content_guide.md +748 -0
- package/bin/skills/pptx-posters/references/poster_design_principles.md +806 -0
- package/bin/skills/pptx-posters/references/poster_layout_design.md +900 -0
- package/bin/skills/research-grants/README.md +285 -0
- package/bin/skills/research-grants/SKILL.md +938 -0
- package/bin/skills/research-grants/assets/budget_justification_template.md +453 -0
- package/bin/skills/research-grants/assets/nih_specific_aims_template.md +166 -0
- package/bin/skills/research-grants/assets/nsf_project_summary_template.md +92 -0
- package/bin/skills/research-grants/references/broader_impacts.md +392 -0
- package/bin/skills/research-grants/references/darpa_guidelines.md +636 -0
- package/bin/skills/research-grants/references/doe_guidelines.md +586 -0
- package/bin/skills/research-grants/references/nih_guidelines.md +851 -0
- package/bin/skills/research-grants/references/nsf_guidelines.md +570 -0
- package/bin/skills/research-grants/references/specific_aims_guide.md +458 -0
- package/bin/skills/research-lookup/README.md +156 -0
- package/bin/skills/research-lookup/SKILL.md +606 -0
- package/bin/skills/research-lookup/examples.py +174 -0
- package/bin/skills/research-lookup/lookup.py +187 -0
- package/bin/skills/research-lookup/research_lookup.py +483 -0
- package/bin/skills/research-lookup/scripts/research_lookup.py +483 -0
- package/bin/skills/scholar-evaluation/SKILL.md +289 -0
- package/bin/skills/scholar-evaluation/references/evaluation_framework.md +663 -0
- package/bin/skills/scholar-evaluation/scripts/calculate_scores.py +366 -0
- package/bin/skills/scientific-critical-thinking/SKILL.md +566 -0
- package/bin/skills/scientific-critical-thinking/references/common_biases.md +364 -0
- package/bin/skills/scientific-critical-thinking/references/evidence_hierarchy.md +484 -0
- package/bin/skills/scientific-critical-thinking/references/experimental_design.md +496 -0
- package/bin/skills/scientific-critical-thinking/references/logical_fallacies.md +478 -0
- package/bin/skills/scientific-critical-thinking/references/scientific_method.md +169 -0
- package/bin/skills/scientific-critical-thinking/references/statistical_pitfalls.md +506 -0
- package/bin/skills/scientific-schematics/QUICK_REFERENCE.md +207 -0
- package/bin/skills/scientific-schematics/README.md +327 -0
- package/bin/skills/scientific-schematics/SKILL.md +615 -0
- package/bin/skills/scientific-schematics/example_usage.sh +89 -0
- package/bin/skills/scientific-schematics/references/best_practices.md +559 -0
- package/bin/skills/scientific-schematics/scripts/generate_schematic.py +135 -0
- package/bin/skills/scientific-schematics/scripts/generate_schematic_ai.py +807 -0
- package/bin/skills/scientific-schematics/test_ai_generation.py +243 -0
- package/bin/skills/scientific-slides/SKILL.md +942 -0
- package/bin/skills/scientific-slides/assets/timing_guidelines.md +597 -0
- package/bin/skills/scientific-slides/references/data_visualization_slides.md +708 -0
- package/bin/skills/scientific-slides/references/presentation_structure.md +642 -0
- package/bin/skills/scientific-slides/references/slide_design_principles.md +849 -0
- package/bin/skills/scientific-slides/references/talk_types_guide.md +687 -0
- package/bin/skills/scientific-slides/references/visual_review_workflow.md +775 -0
- package/bin/skills/scientific-slides/scripts/generate_slide_image.py +143 -0
- package/bin/skills/scientific-slides/scripts/generate_slide_image_ai.py +748 -0
- package/bin/skills/scientific-slides/scripts/pdf_to_images.py +201 -0
- package/bin/skills/scientific-slides/scripts/slides_to_pdf.py +220 -0
- package/bin/skills/scientific-slides/scripts/validate_presentation.py +367 -0
- package/bin/skills/scientific-writing/SKILL.md +714 -0
- package/bin/skills/scientific-writing/assets/REPORT_FORMATTING_GUIDE.md +574 -0
- package/bin/skills/scientific-writing/assets/scientific_report.sty +606 -0
- package/bin/skills/scientific-writing/assets/scientific_report_template.tex +449 -0
- package/bin/skills/scientific-writing/references/citation_styles.md +720 -0
- package/bin/skills/scientific-writing/references/figures_tables.md +806 -0
- package/bin/skills/scientific-writing/references/imrad_structure.md +686 -0
- package/bin/skills/scientific-writing/references/professional_report_formatting.md +664 -0
- package/bin/skills/scientific-writing/references/reporting_guidelines.md +748 -0
- package/bin/skills/scientific-writing/references/writing_principles.md +824 -0
- package/bin/skills/tinker/SKILL.md +2 -3
- package/bin/skills/together-ai/SKILL.md +722 -0
- package/bin/skills/treatment-plans/README.md +488 -0
- package/bin/skills/treatment-plans/SKILL.md +1579 -0
- package/bin/skills/treatment-plans/assets/STYLING_QUICK_REFERENCE.md +185 -0
- package/bin/skills/treatment-plans/assets/chronic_disease_management_plan.tex +665 -0
- package/bin/skills/treatment-plans/assets/general_medical_treatment_plan.tex +547 -0
- package/bin/skills/treatment-plans/assets/medical_treatment_plan.sty +222 -0
- package/bin/skills/treatment-plans/assets/mental_health_treatment_plan.tex +774 -0
- package/bin/skills/treatment-plans/assets/one_page_treatment_plan.tex +193 -0
- package/bin/skills/treatment-plans/assets/pain_management_plan.tex +799 -0
- package/bin/skills/treatment-plans/assets/perioperative_care_plan.tex +753 -0
- package/bin/skills/treatment-plans/assets/quality_checklist.md +471 -0
- package/bin/skills/treatment-plans/assets/rehabilitation_treatment_plan.tex +756 -0
- package/bin/skills/treatment-plans/references/goal_setting_frameworks.md +411 -0
- package/bin/skills/treatment-plans/references/intervention_guidelines.md +507 -0
- package/bin/skills/treatment-plans/references/regulatory_compliance.md +476 -0
- package/bin/skills/treatment-plans/references/specialty_specific_guidelines.md +655 -0
- package/bin/skills/treatment-plans/references/treatment_plan_standards.md +485 -0
- package/bin/skills/treatment-plans/scripts/check_completeness.py +322 -0
- package/bin/skills/treatment-plans/scripts/generate_template.py +233 -0
- package/bin/skills/treatment-plans/scripts/timeline_generator.py +385 -0
- package/bin/skills/treatment-plans/scripts/validate_treatment_plan.py +369 -0
- package/bin/skills/unsloth/SKILL.md +565 -47
- package/bin/skills/unsloth/docs/advanced-rl.md +222 -0
- package/bin/skills/unsloth/docs/chat-templates.md +141 -0
- package/bin/skills/unsloth/docs/datasets.md +489 -0
- package/bin/skills/unsloth/docs/docker-extended.md +99 -0
- package/bin/skills/unsloth/docs/dynamic-ggufs-2.0.md +116 -0
- package/bin/skills/unsloth/docs/dynamic-ggufs-aider.md +118 -0
- package/bin/skills/unsloth/docs/faq.md +91 -0
- package/bin/skills/unsloth/docs/fp16-vs-bf16.md +61 -0
- package/bin/skills/unsloth/docs/fp8-rl.md +224 -0
- package/bin/skills/unsloth/docs/glm-4.7-flash.md +997 -0
- package/bin/skills/unsloth/docs/inference-deployment-overview.md +17 -0
- package/bin/skills/unsloth/docs/inference.md +27 -0
- package/bin/skills/unsloth/docs/installation-docker.md +155 -0
- package/bin/skills/unsloth/docs/installation-pip.md +148 -0
- package/bin/skills/unsloth/docs/kernels-packing.md +190 -0
- package/bin/skills/unsloth/docs/kimi-k2.5.md +634 -0
- package/bin/skills/unsloth/docs/lm-studio.md +235 -0
- package/bin/skills/unsloth/docs/lora-hot-swapping.md +75 -0
- package/bin/skills/unsloth/docs/lora-hyperparameters.md +363 -0
- package/bin/skills/unsloth/docs/memory-efficient-rl.md +267 -0
- package/bin/skills/unsloth/docs/model-selection.md +70 -0
- package/bin/skills/unsloth/docs/models.md +532 -0
- package/bin/skills/unsloth/docs/multi-gpu-ddp.md +90 -0
- package/bin/skills/unsloth/docs/notebooks.md +223 -0
- package/bin/skills/unsloth/docs/overview.md +110 -0
- package/bin/skills/unsloth/docs/qwen3-coder-next-extended.md +900 -0
- package/bin/skills/unsloth/docs/qwen3-coder-next.md +900 -0
- package/bin/skills/unsloth/docs/requirements.md +45 -0
- package/bin/skills/unsloth/docs/reward-hacking.md +25 -0
- package/bin/skills/unsloth/docs/saving-to-gguf.md +138 -0
- package/bin/skills/unsloth/docs/saving-to-ollama.md +46 -0
- package/bin/skills/unsloth/docs/sglang-guide.md +278 -0
- package/bin/skills/unsloth/docs/speculative-decoding.md +70 -0
- package/bin/skills/unsloth/docs/tool-calling.md +334 -0
- package/bin/skills/unsloth/docs/troubleshooting-faq.md +204 -0
- package/bin/skills/unsloth/docs/troubleshooting-inference.md +26 -0
- package/bin/skills/unsloth/docs/tts-fine-tuning.md +149 -0
- package/bin/skills/unsloth/docs/tutorial-grpo.md +273 -0
- package/bin/skills/unsloth/docs/tutorial-llama3-ollama.md +356 -0
- package/bin/skills/unsloth/docs/vision-fine-tuning.md +135 -0
- package/bin/skills/unsloth/docs/vision-rl.md +170 -0
- package/bin/skills/unsloth/docs/vllm-engine-arguments.md +43 -0
- package/bin/skills/unsloth/docs/vllm-guide.md +98 -0
- package/bin/skills/venue-templates/SKILL.md +686 -0
- package/bin/skills/venue-templates/assets/examples/cell_summary_example.md +247 -0
- package/bin/skills/venue-templates/assets/examples/medical_structured_abstract.md +313 -0
- package/bin/skills/venue-templates/assets/examples/nature_abstract_examples.md +213 -0
- package/bin/skills/venue-templates/assets/examples/neurips_introduction_example.md +245 -0
- package/bin/skills/venue-templates/assets/grants/nih_specific_aims.tex +235 -0
- package/bin/skills/venue-templates/assets/grants/nsf_proposal_template.tex +375 -0
- package/bin/skills/venue-templates/assets/journals/nature_article.tex +171 -0
- package/bin/skills/venue-templates/assets/journals/neurips_article.tex +283 -0
- package/bin/skills/venue-templates/assets/journals/plos_one.tex +317 -0
- package/bin/skills/venue-templates/assets/posters/beamerposter_academic.tex +311 -0
- package/bin/skills/venue-templates/references/cell_press_style.md +483 -0
- package/bin/skills/venue-templates/references/conferences_formatting.md +564 -0
- package/bin/skills/venue-templates/references/cs_conference_style.md +463 -0
- package/bin/skills/venue-templates/references/grants_requirements.md +787 -0
- package/bin/skills/venue-templates/references/journals_formatting.md +486 -0
- package/bin/skills/venue-templates/references/medical_journal_styles.md +535 -0
- package/bin/skills/venue-templates/references/ml_conference_style.md +556 -0
- package/bin/skills/venue-templates/references/nature_science_style.md +405 -0
- package/bin/skills/venue-templates/references/posters_guidelines.md +628 -0
- package/bin/skills/venue-templates/references/reviewer_expectations.md +417 -0
- package/bin/skills/venue-templates/references/venue_writing_styles.md +321 -0
- package/bin/skills/venue-templates/scripts/customize_template.py +195 -0
- package/bin/skills/venue-templates/scripts/query_template.py +266 -0
- package/bin/skills/venue-templates/scripts/validate_format.py +250 -0
- package/bin/synsc +0 -0
- package/package.json +1 -1
- package/bin/skills/unsloth/references/index.md +0 -7
- package/bin/skills/unsloth/references/llms-full.md +0 -16799
- package/bin/skills/unsloth/references/llms-txt.md +0 -12044
- package/bin/skills/unsloth/references/llms.md +0 -82
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
# Venue Writing Styles: Master Guide
|
|
2
|
+
|
|
3
|
+
This guide provides an overview of how writing style varies across publication venues. Understanding these differences is essential for crafting papers that read like authentic publications at each venue.
|
|
4
|
+
|
|
5
|
+
**Last Updated**: 2024
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## The Style Spectrum
|
|
10
|
+
|
|
11
|
+
Scientific writing style exists on a spectrum from **broadly accessible** to **deeply technical**:
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
Accessible ◄─────────────────────────────────────────────► Technical
|
|
15
|
+
|
|
16
|
+
Nature/Science PNAS Cell IEEE Trans NeurIPS Specialized
|
|
17
|
+
│ │ │ │ │ Journals
|
|
18
|
+
│ │ │ │ │ │
|
|
19
|
+
▼ ▼ ▼ ▼ ▼ ▼
|
|
20
|
+
General Mixed Deep Field Dense ML Expert
|
|
21
|
+
audience depth biology experts researchers only
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Quick Style Reference
|
|
25
|
+
|
|
26
|
+
| Venue Type | Audience | Tone | Voice | Abstract Style |
|
|
27
|
+
|------------|----------|------|-------|----------------|
|
|
28
|
+
| **Nature/Science** | Educated non-specialists | Accessible, engaging | Active, first-person OK | Flowing paragraphs, no jargon |
|
|
29
|
+
| **Cell Press** | Biologists | Mechanistic, precise | Mixed | Summary + eTOC blurb + Highlights |
|
|
30
|
+
| **Medical (NEJM/Lancet)** | Clinicians | Evidence-focused | Formal | Structured (Background/Methods/Results/Conclusions) |
|
|
31
|
+
| **PLOS/BMC** | Researchers | Standard academic | Neutral | IMRaD structured or flowing |
|
|
32
|
+
| **IEEE/ACM** | Engineers/CS | Technical | Passive common | Concise, technical |
|
|
33
|
+
| **ML Conferences** | ML researchers | Dense technical | Mixed | Numbers upfront, key results |
|
|
34
|
+
| **NLP Conferences** | NLP researchers | Technical | Varied | Task-focused, benchmarks |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## High-Impact Journals (Nature, Science, Cell)
|
|
39
|
+
|
|
40
|
+
### Core Philosophy
|
|
41
|
+
|
|
42
|
+
High-impact multidisciplinary journals prioritize **broad significance** over technical depth. The question is not "Is this technically sound?" but "Why should a scientist outside this field care?"
|
|
43
|
+
|
|
44
|
+
### Key Writing Principles
|
|
45
|
+
|
|
46
|
+
1. **Start with the big picture**: Open with why this matters to science/society
|
|
47
|
+
2. **Minimize jargon**: Define specialized terms; prefer common words
|
|
48
|
+
3. **Tell a story**: Results should flow as a narrative, not a data dump
|
|
49
|
+
4. **Emphasize implications**: What does this change about our understanding?
|
|
50
|
+
5. **Accessible figures**: Schematics and models over raw data plots
|
|
51
|
+
|
|
52
|
+
### Structural Differences
|
|
53
|
+
|
|
54
|
+
**Nature/Science** vs. **Specialized Journals**:
|
|
55
|
+
|
|
56
|
+
| Element | Nature/Science | Specialized Journal |
|
|
57
|
+
|---------|---------------|---------------------|
|
|
58
|
+
| Introduction | 3-4 paragraphs, broad → specific | Extensive literature review |
|
|
59
|
+
| Methods | Often in supplement or brief | Full detail in main text |
|
|
60
|
+
| Results | Organized by finding/story | Organized by experiment |
|
|
61
|
+
| Discussion | Implications first, then caveats | Detailed comparison to literature |
|
|
62
|
+
| Figures | Conceptual schematics valued | Raw data emphasized |
|
|
63
|
+
|
|
64
|
+
### Example: Same Finding, Different Styles
|
|
65
|
+
|
|
66
|
+
**Nature style**:
|
|
67
|
+
> "We discovered that protein X acts as a molecular switch controlling cell fate decisions during development, resolving a longstanding question about how stem cells choose their destiny."
|
|
68
|
+
|
|
69
|
+
**Specialized journal style**:
|
|
70
|
+
> "Using CRISPR-Cas9 knockout in murine embryonic stem cells (mESCs), we demonstrate that protein X (encoded by gene ABC1) regulates the expression of pluripotency factors Oct4, Sox2, and Nanog through direct promoter binding, as confirmed by ChIP-seq analysis (n=3 biological replicates, FDR < 0.05)."
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Medical Journals (NEJM, Lancet, JAMA, BMJ)
|
|
75
|
+
|
|
76
|
+
### Core Philosophy
|
|
77
|
+
|
|
78
|
+
Medical journals prioritize **clinical relevance** and **patient outcomes**. Every finding must connect to practice.
|
|
79
|
+
|
|
80
|
+
### Key Writing Principles
|
|
81
|
+
|
|
82
|
+
1. **Patient-centered language**: "Patients receiving treatment X" not "Treatment X subjects"
|
|
83
|
+
2. **Evidence strength**: Careful hedging based on study design
|
|
84
|
+
3. **Clinical actionability**: "So what?" for practicing physicians
|
|
85
|
+
4. **Absolute numbers**: Report absolute risk reduction, not just relative
|
|
86
|
+
5. **Structured abstracts**: Required with labeled sections
|
|
87
|
+
|
|
88
|
+
### Structured Abstract Format (Medical)
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
Background: [1-2 sentences on problem and rationale]
|
|
92
|
+
|
|
93
|
+
Methods: [Study design, setting, participants, intervention, outcomes, analysis]
|
|
94
|
+
|
|
95
|
+
Results: [Primary outcome with confidence intervals, secondary outcomes, adverse events]
|
|
96
|
+
|
|
97
|
+
Conclusions: [Clinical implications, limitations acknowledged]
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Evidence Language Conventions
|
|
101
|
+
|
|
102
|
+
| Study Design | Appropriate Language |
|
|
103
|
+
|-------------|---------------------|
|
|
104
|
+
| RCT | "Treatment X reduced mortality by..." |
|
|
105
|
+
| Observational | "Treatment X was associated with reduced mortality..." |
|
|
106
|
+
| Case series | "These findings suggest that treatment X may..." |
|
|
107
|
+
| Case report | "This case illustrates that treatment X can..." |
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## ML/AI Conferences (NeurIPS, ICML, ICLR, CVPR)
|
|
112
|
+
|
|
113
|
+
### Core Philosophy
|
|
114
|
+
|
|
115
|
+
ML conferences value **novelty**, **rigorous experiments**, and **reproducibility**. The focus is on advancing the state of the art with empirical evidence.
|
|
116
|
+
|
|
117
|
+
### Key Writing Principles
|
|
118
|
+
|
|
119
|
+
1. **Contribution bullets**: Numbered list in introduction stating exactly what's new
|
|
120
|
+
2. **Baselines are critical**: Compare against strong, recent baselines
|
|
121
|
+
3. **Ablations expected**: Show what parts of your method matter
|
|
122
|
+
4. **Reproducibility**: Seeds, hyperparameters, compute requirements
|
|
123
|
+
5. **Limitations section**: Honest acknowledgment (increasingly required)
|
|
124
|
+
|
|
125
|
+
### Introduction Structure (ML Conferences)
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
[Paragraph 1: Problem motivation - why this matters]
|
|
129
|
+
|
|
130
|
+
[Paragraph 2: Limitations of existing approaches]
|
|
131
|
+
|
|
132
|
+
[Paragraph 3: Our approach at high level]
|
|
133
|
+
|
|
134
|
+
Our contributions are as follows:
|
|
135
|
+
• We propose [method name], a novel approach to [problem] that [key innovation].
|
|
136
|
+
• We provide theoretical analysis showing [guarantees/properties].
|
|
137
|
+
• We demonstrate state-of-the-art results on [benchmarks], improving over [baseline] by [X%].
|
|
138
|
+
• We release code and models at [anonymous URL for review].
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Abstract Style (ML Conferences)
|
|
142
|
+
|
|
143
|
+
ML abstracts are **dense and numbers-focused**:
|
|
144
|
+
|
|
145
|
+
> "We present TransformerX, a novel architecture for long-range sequence modeling that achieves O(n log n) complexity while maintaining expressivity. On the Long Range Arena benchmark, TransformerX achieves 86.2% average accuracy, outperforming Transformer (65.4%) and Performer (78.1%). On language modeling, TransformerX matches GPT-2 perplexity (18.4) using 40% fewer parameters. We provide theoretical analysis showing TransformerX can approximate any continuous sequence-to-sequence function."
|
|
146
|
+
|
|
147
|
+
### Experiment Section Expectations
|
|
148
|
+
|
|
149
|
+
1. **Datasets**: Standard benchmarks, dataset statistics
|
|
150
|
+
2. **Baselines**: Recent strong methods, fair comparisons
|
|
151
|
+
3. **Main results table**: Clear, comprehensive
|
|
152
|
+
4. **Ablation studies**: Remove/modify components systematically
|
|
153
|
+
5. **Analysis**: Error analysis, qualitative examples, failure cases
|
|
154
|
+
6. **Computational cost**: Training time, inference speed, memory
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## CS Conferences (ACL, EMNLP, CHI, SIGKDD)
|
|
159
|
+
|
|
160
|
+
### ACL/EMNLP (NLP)
|
|
161
|
+
|
|
162
|
+
- **Task-focused**: Clear problem definition
|
|
163
|
+
- **Benchmark-heavy**: Standard datasets (GLUE, SQuAD, etc.)
|
|
164
|
+
- **Error analysis valued**: Where does it fail?
|
|
165
|
+
- **Human evaluation**: Often expected alongside automatic metrics
|
|
166
|
+
- **Ethical considerations**: Bias, fairness, environmental cost
|
|
167
|
+
|
|
168
|
+
### CHI (Human-Computer Interaction)
|
|
169
|
+
|
|
170
|
+
- **User-centered**: Focus on humans, not just technology
|
|
171
|
+
- **Study design details**: Participant recruitment, IRB approval
|
|
172
|
+
- **Qualitative accepted**: Interview studies, ethnography valid
|
|
173
|
+
- **Design implications**: Concrete takeaways for practitioners
|
|
174
|
+
- **Accessibility**: Consider diverse user populations
|
|
175
|
+
|
|
176
|
+
### SIGKDD (Data Mining)
|
|
177
|
+
|
|
178
|
+
- **Scalability emphasis**: Handle large data
|
|
179
|
+
- **Real-world applications**: Industry datasets valued
|
|
180
|
+
- **Efficiency metrics**: Time and space complexity
|
|
181
|
+
- **Novelty in methods or applications**: Both paths valid
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Adapting Between Venue Types
|
|
186
|
+
|
|
187
|
+
### Journal → ML Conference
|
|
188
|
+
|
|
189
|
+
When converting a journal paper to conference format:
|
|
190
|
+
|
|
191
|
+
1. **Condense introduction**: Remove extensive background
|
|
192
|
+
2. **Add contribution list**: Explicitly enumerate contributions
|
|
193
|
+
3. **Restructure results**: Organize as experiments, add ablations
|
|
194
|
+
4. **Remove separate discussion**: Integrate interpretation briefly
|
|
195
|
+
5. **Add reproducibility section**: Seeds, hyperparameters, code
|
|
196
|
+
|
|
197
|
+
### ML Conference → Journal
|
|
198
|
+
|
|
199
|
+
When expanding a conference paper to journal:
|
|
200
|
+
|
|
201
|
+
1. **Expand related work**: Comprehensive literature review
|
|
202
|
+
2. **Detailed methods**: Full algorithmic description
|
|
203
|
+
3. **More experiments**: Additional datasets, analyses
|
|
204
|
+
4. **Extended discussion**: Implications, limitations, future work
|
|
205
|
+
5. **Appendix → main text**: Move important details up
|
|
206
|
+
|
|
207
|
+
### Specialized → High-Impact Journal
|
|
208
|
+
|
|
209
|
+
When targeting Nature/Science/Cell from a specialized venue:
|
|
210
|
+
|
|
211
|
+
1. **Lead with significance**: Why does this matter broadly?
|
|
212
|
+
2. **Reduce jargon by 80%**: Replace technical terms
|
|
213
|
+
3. **Add conceptual figures**: Schematics, models, not just data
|
|
214
|
+
4. **Story-driven results**: Narrative flow, not experiment-by-experiment
|
|
215
|
+
5. **Broaden discussion**: Implications beyond the subfield
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Voice and Tone Guidelines
|
|
220
|
+
|
|
221
|
+
### Active vs. Passive Voice
|
|
222
|
+
|
|
223
|
+
| Venue | Preference | Example |
|
|
224
|
+
|-------|-----------|---------|
|
|
225
|
+
| Nature/Science | Active encouraged | "We discovered that..." |
|
|
226
|
+
| Cell | Mixed | "Our results demonstrate..." |
|
|
227
|
+
| Medical | Passive common | "Patients were randomized to..." |
|
|
228
|
+
| IEEE | Passive traditional | "The algorithm was implemented..." |
|
|
229
|
+
| ML Conferences | Active preferred | "We propose a method that..." |
|
|
230
|
+
|
|
231
|
+
### First Person Usage
|
|
232
|
+
|
|
233
|
+
| Venue | First Person | Example |
|
|
234
|
+
|-------|-------------|---------|
|
|
235
|
+
| Nature/Science | Yes (we) | "We show that..." |
|
|
236
|
+
| Cell | Yes (we) | "We found that..." |
|
|
237
|
+
| Medical | Sometimes | "We conducted a trial..." |
|
|
238
|
+
| IEEE | Less common | Prefer "This paper presents..." |
|
|
239
|
+
| ML Conferences | Yes (we) | "We introduce..." |
|
|
240
|
+
|
|
241
|
+
### Hedging and Certainty
|
|
242
|
+
|
|
243
|
+
| Claim Strength | Language |
|
|
244
|
+
|---------------|----------|
|
|
245
|
+
| Strong | "X causes Y" (only with causal evidence) |
|
|
246
|
+
| Moderate | "X is associated with Y" / "X leads to Y" |
|
|
247
|
+
| Tentative | "X may contribute to Y" / "X suggests that..." |
|
|
248
|
+
| Speculative | "It is possible that X..." / "One interpretation is..." |
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## Common Style Errors by Venue
|
|
253
|
+
|
|
254
|
+
### Nature/Science Submissions
|
|
255
|
+
|
|
256
|
+
❌ Too technical: "We used CRISPR-Cas9 with sgRNAs targeting exon 3..."
|
|
257
|
+
✅ Accessible: "Using gene-editing technology, we disabled the gene..."
|
|
258
|
+
|
|
259
|
+
❌ Dry opening: "Protein X is involved in cellular signaling..."
|
|
260
|
+
✅ Engaging opening: "How do cells decide their fate? We discovered that..."
|
|
261
|
+
|
|
262
|
+
### ML Conference Submissions
|
|
263
|
+
|
|
264
|
+
❌ Vague contributions: "We present a new method for X"
|
|
265
|
+
✅ Specific contributions: "We propose Method Y that achieves Z% improvement on benchmark W"
|
|
266
|
+
|
|
267
|
+
❌ Missing ablations: Only showing full method results
|
|
268
|
+
✅ Complete: Table showing contribution of each component
|
|
269
|
+
|
|
270
|
+
### Medical Journal Submissions
|
|
271
|
+
|
|
272
|
+
❌ Missing absolute numbers: "50% reduction in risk"
|
|
273
|
+
✅ Complete: "50% relative reduction (ARR 2.5%, NNT 40)"
|
|
274
|
+
|
|
275
|
+
❌ Causal language for observational data: "Treatment caused improvement"
|
|
276
|
+
✅ Appropriate: "Treatment was associated with improvement"
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## Quick Checklist Before Submission
|
|
281
|
+
|
|
282
|
+
### All Venues
|
|
283
|
+
- [ ] Abstract matches venue style (flowing vs. structured)
|
|
284
|
+
- [ ] Voice/tone appropriate for audience
|
|
285
|
+
- [ ] Jargon level appropriate
|
|
286
|
+
- [ ] Figures match venue expectations
|
|
287
|
+
- [ ] Citation style correct
|
|
288
|
+
|
|
289
|
+
### High-Impact Journals (Nature/Science/Cell)
|
|
290
|
+
- [ ] Broad significance clear in first paragraph
|
|
291
|
+
- [ ] Non-specialist can understand abstract
|
|
292
|
+
- [ ] Story-driven results narrative
|
|
293
|
+
- [ ] Conceptual figures included
|
|
294
|
+
- [ ] Implications emphasized
|
|
295
|
+
|
|
296
|
+
### ML Conferences
|
|
297
|
+
- [ ] Contribution list in introduction
|
|
298
|
+
- [ ] Strong baselines included
|
|
299
|
+
- [ ] Ablation studies present
|
|
300
|
+
- [ ] Reproducibility information complete
|
|
301
|
+
- [ ] Limitations acknowledged
|
|
302
|
+
|
|
303
|
+
### Medical Journals
|
|
304
|
+
- [ ] Structured abstract (if required)
|
|
305
|
+
- [ ] Patient-centered language
|
|
306
|
+
- [ ] Evidence strength appropriate
|
|
307
|
+
- [ ] Absolute numbers reported
|
|
308
|
+
- [ ] CONSORT/STROBE compliance
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## See Also
|
|
313
|
+
|
|
314
|
+
- `nature_science_style.md` - Detailed Nature/Science writing guide
|
|
315
|
+
- `cell_press_style.md` - Cell family journal conventions
|
|
316
|
+
- `medical_journal_styles.md` - NEJM, Lancet, JAMA, BMJ guide
|
|
317
|
+
- `ml_conference_style.md` - NeurIPS, ICML, ICLR, CVPR conventions
|
|
318
|
+
- `cs_conference_style.md` - ACL, CHI, SIGKDD guide
|
|
319
|
+
- `reviewer_expectations.md` - What reviewers look for by venue
|
|
320
|
+
|
|
321
|
+
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Customize Template Script
|
|
4
|
+
Customize LaTeX templates with author information and project details.
|
|
5
|
+
|
|
6
|
+
Usage:
|
|
7
|
+
python customize_template.py --template nature_article.tex --output my_paper.tex
|
|
8
|
+
python customize_template.py --template nature_article.tex --title "My Research" --output my_paper.tex
|
|
9
|
+
python customize_template.py --interactive
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
import argparse
|
|
13
|
+
import re
|
|
14
|
+
from pathlib import Path
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def get_skill_path():
|
|
18
|
+
"""Get the path to the venue-templates skill directory."""
|
|
19
|
+
script_dir = Path(__file__).parent
|
|
20
|
+
skill_dir = script_dir.parent
|
|
21
|
+
return skill_dir
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def find_template(template_name):
|
|
25
|
+
"""Find template file in assets directory."""
|
|
26
|
+
skill_path = get_skill_path()
|
|
27
|
+
assets_path = skill_path / "assets"
|
|
28
|
+
|
|
29
|
+
# Search in all subdirectories
|
|
30
|
+
for subdir in ["journals", "posters", "grants"]:
|
|
31
|
+
template_path = assets_path / subdir / template_name
|
|
32
|
+
if template_path.exists():
|
|
33
|
+
return template_path
|
|
34
|
+
|
|
35
|
+
return None
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def customize_template(template_path, output_path, **kwargs):
|
|
39
|
+
"""Customize a template with provided information."""
|
|
40
|
+
|
|
41
|
+
# Read template
|
|
42
|
+
with open(template_path, 'r') as f:
|
|
43
|
+
content = f.read()
|
|
44
|
+
|
|
45
|
+
# Replace placeholders
|
|
46
|
+
replacements = {
|
|
47
|
+
'title': ([r'Insert Your Title Here[^}]*', r'Your [^}]*Title[^}]*Here[^}]*'], kwargs.get('title', '')),
|
|
48
|
+
'authors': (
|
|
49
|
+
[r'First Author\\textsuperscript\{1\}, Second Author[^}]*', r'First Author.*Second Author.*Third Author'],
|
|
50
|
+
kwargs.get('authors', ''),
|
|
51
|
+
),
|
|
52
|
+
'affiliations': (
|
|
53
|
+
[r'Department Name, Institution Name, City, State[^\\]*', r'Department of [^,]*, University Name[^\\]*'],
|
|
54
|
+
kwargs.get('affiliations', ''),
|
|
55
|
+
),
|
|
56
|
+
'email': ([r'first\.author@university\.edu', r'\[email protected\]'], kwargs.get('email', '')),
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
# Apply replacements
|
|
60
|
+
modified = False
|
|
61
|
+
for key, (patterns, replacement) in replacements.items():
|
|
62
|
+
if replacement:
|
|
63
|
+
for pattern in patterns:
|
|
64
|
+
if re.search(pattern, content):
|
|
65
|
+
content = re.sub(pattern, replacement, content, count=1)
|
|
66
|
+
modified = True
|
|
67
|
+
print(f"✓ Replaced {key}")
|
|
68
|
+
|
|
69
|
+
# Write output
|
|
70
|
+
with open(output_path, 'w') as f:
|
|
71
|
+
f.write(content)
|
|
72
|
+
|
|
73
|
+
if modified:
|
|
74
|
+
print(f"\n✓ Customized template saved to: {output_path}")
|
|
75
|
+
else:
|
|
76
|
+
print(f"\n⚠️ Template copied to: {output_path}")
|
|
77
|
+
print(" No customizations applied (no matching placeholders found or no values provided)")
|
|
78
|
+
|
|
79
|
+
print("\nNext steps:")
|
|
80
|
+
print(f"1. Open {output_path} in your LaTeX editor")
|
|
81
|
+
print("2. Replace remaining placeholders")
|
|
82
|
+
print("3. Add your content")
|
|
83
|
+
print("4. Compile with pdflatex or your preferred LaTeX compiler")
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
def interactive_mode():
|
|
87
|
+
"""Run in interactive mode."""
|
|
88
|
+
print("\n=== Template Customization (Interactive Mode) ===\n")
|
|
89
|
+
|
|
90
|
+
# List available templates
|
|
91
|
+
skill_path = get_skill_path()
|
|
92
|
+
assets_path = skill_path / "assets"
|
|
93
|
+
|
|
94
|
+
print("Available templates:\n")
|
|
95
|
+
templates = []
|
|
96
|
+
for i, subdir in enumerate(["journals", "posters", "grants"], 1):
|
|
97
|
+
subdir_path = assets_path / subdir
|
|
98
|
+
if subdir_path.exists():
|
|
99
|
+
print(f"{subdir.upper()}:")
|
|
100
|
+
for j, template_file in enumerate(sorted(subdir_path.glob("*.tex")), 1):
|
|
101
|
+
templates.append(template_file)
|
|
102
|
+
print(f" {len(templates)}. {template_file.name}")
|
|
103
|
+
|
|
104
|
+
print()
|
|
105
|
+
|
|
106
|
+
# Select template
|
|
107
|
+
while True:
|
|
108
|
+
try:
|
|
109
|
+
choice = int(input(f"Select template (1-{len(templates)}): "))
|
|
110
|
+
if 1 <= choice <= len(templates):
|
|
111
|
+
template_path = templates[choice - 1]
|
|
112
|
+
break
|
|
113
|
+
else:
|
|
114
|
+
print(f"Please enter a number between 1 and {len(templates)}")
|
|
115
|
+
except ValueError:
|
|
116
|
+
print("Please enter a valid number")
|
|
117
|
+
|
|
118
|
+
print(f"\nSelected: {template_path.name}\n")
|
|
119
|
+
|
|
120
|
+
# Get customization info
|
|
121
|
+
title = input("Paper title (press Enter to skip): ").strip()
|
|
122
|
+
authors = input("Authors (e.g., 'John Doe, Jane Smith') (press Enter to skip): ").strip()
|
|
123
|
+
affiliations = input("Affiliations (press Enter to skip): ").strip()
|
|
124
|
+
email = input("Corresponding email (press Enter to skip): ").strip()
|
|
125
|
+
|
|
126
|
+
# Output file
|
|
127
|
+
default_output = f"my_{template_path.stem}.tex"
|
|
128
|
+
output = input(f"Output filename [{default_output}]: ").strip()
|
|
129
|
+
if not output:
|
|
130
|
+
output = default_output
|
|
131
|
+
|
|
132
|
+
output_path = Path(output)
|
|
133
|
+
|
|
134
|
+
# Customize
|
|
135
|
+
print()
|
|
136
|
+
customize_template(template_path, output_path, title=title, authors=authors, affiliations=affiliations, email=email)
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
def main():
|
|
140
|
+
parser = argparse.ArgumentParser(
|
|
141
|
+
description="Customize LaTeX templates with author and project information",
|
|
142
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
143
|
+
epilog="""
|
|
144
|
+
Examples:
|
|
145
|
+
%(prog)s --interactive
|
|
146
|
+
%(prog)s --template nature_article.tex --output my_paper.tex
|
|
147
|
+
%(prog)s --template neurips_article.tex --title "My ML Research" --output my_neurips.tex
|
|
148
|
+
""",
|
|
149
|
+
)
|
|
150
|
+
|
|
151
|
+
parser.add_argument('--template', type=str, help='Template filename')
|
|
152
|
+
parser.add_argument('--output', type=str, help='Output filename')
|
|
153
|
+
parser.add_argument('--title', type=str, help='Paper title')
|
|
154
|
+
parser.add_argument('--authors', type=str, help='Author names')
|
|
155
|
+
parser.add_argument('--affiliations', type=str, help='Institutions/affiliations')
|
|
156
|
+
parser.add_argument('--email', type=str, help='Corresponding author email')
|
|
157
|
+
parser.add_argument('--interactive', action='store_true', help='Run in interactive mode')
|
|
158
|
+
|
|
159
|
+
args = parser.parse_args()
|
|
160
|
+
|
|
161
|
+
# Interactive mode
|
|
162
|
+
if args.interactive:
|
|
163
|
+
interactive_mode()
|
|
164
|
+
return
|
|
165
|
+
|
|
166
|
+
# Command-line mode
|
|
167
|
+
if not args.template or not args.output:
|
|
168
|
+
print("Error: --template and --output are required (or use --interactive)")
|
|
169
|
+
parser.print_help()
|
|
170
|
+
return
|
|
171
|
+
|
|
172
|
+
# Find template
|
|
173
|
+
template_path = find_template(args.template)
|
|
174
|
+
if not template_path:
|
|
175
|
+
print(f"Error: Template '{args.template}' not found")
|
|
176
|
+
print("\nSearched in:")
|
|
177
|
+
skill_path = get_skill_path()
|
|
178
|
+
for subdir in ["journals", "posters", "grants"]:
|
|
179
|
+
print(f" - {skill_path}/assets/{subdir}/")
|
|
180
|
+
return
|
|
181
|
+
|
|
182
|
+
# Customize
|
|
183
|
+
output_path = Path(args.output)
|
|
184
|
+
customize_template(
|
|
185
|
+
template_path,
|
|
186
|
+
output_path,
|
|
187
|
+
title=args.title,
|
|
188
|
+
authors=args.authors,
|
|
189
|
+
affiliations=args.affiliations,
|
|
190
|
+
email=args.email,
|
|
191
|
+
)
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
if __name__ == "__main__":
|
|
195
|
+
main()
|