{"id":51449887,"url":"https://github.com/wangling-miao/mathmodel-latex-skill","last_synced_at":"2026-07-05T19:30:43.367Z","repository":{"id":368316376,"uuid":"1255259812","full_name":"wangling-miao/mathmodel-latex-skill","owner":"wangling-miao","description":"Codex / Claude Code skill for MCM/ICM and CUMCM mathematical modeling LaTeX papers, including reusable templates, XeLaTeX/latexmk setup, BibTeX options, and PDF preflight checks.","archived":false,"fork":false,"pushed_at":"2026-06-30T02:10:24.000Z","size":18,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-30T04:08:13.448Z","etag":null,"topics":["claude-code","codex","cumcm","icm","latex","mathematical-modeling","mcm","skill","xelatex"],"latest_commit_sha":null,"homepage":"","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wangling-miao.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-31T15:56:57.000Z","updated_at":"2026-06-30T02:07:53.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/wangling-miao/mathmodel-latex-skill","commit_stats":null,"previous_names":["wangling-miao/mathmodel-latex-skill"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/wangling-miao/mathmodel-latex-skill","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wangling-miao%2Fmathmodel-latex-skill","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wangling-miao%2Fmathmodel-latex-skill/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wangling-miao%2Fmathmodel-latex-skill/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wangling-miao%2Fmathmodel-latex-skill/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wangling-miao","download_url":"https://codeload.github.com/wangling-miao/mathmodel-latex-skill/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wangling-miao%2Fmathmodel-latex-skill/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35167259,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-05T02:00:06.290Z","response_time":100,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude-code","codex","cumcm","icm","latex","mathematical-modeling","mcm","skill","xelatex"],"created_at":"2026-07-05T19:30:41.451Z","updated_at":"2026-07-05T19:30:43.338Z","avatar_url":"https://github.com/wangling-miao.png","language":"TeX","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 数学建模 LaTeX 论文 Skill\n\n版本：1.0.8。此版本在 1.0.7 的终校验基础上，修复 CUMCM 中文图表题名冒号和附录编号显示；同时保留 1.0.5 的 ref.bib 与交叉引用修复基础上，进一步移除 CUMCM 模板中的“总体思路”小节，并新增关键词约束：关键词必须优先选用数学建模教材和竞赛论文中常见的模型、方法、算法、评价或检验术语，避免把题目对象或行业场景直接作为关键词。\n\n这是一个给 Codex 和 Claude Code 使用的 skill，用来生成和检查美赛 MCM/ICM、国赛 CUMCM 的 LaTeX 数学建模论文项目。\n\n它不是一个单独发布的 LaTeX 模板包，而是一组给 AI 编程助手读取的工作规则、模板和检查脚本。安装后，你可以直接让 Codex 或 Claude Code 按比赛类型生成论文项目，并让它处理模板选择、引用方式、匿名信息检查和编译前检查。\n\n## 适合做什么\n\n- 生成 MCM/ICM 英文论文项目。\n- 生成 CUMCM 中文论文项目，并默认采用优秀论文常见章节命名与写法，避免教学式或说明文式章节。\n- 在 `mcmthesis`、`cumcmthesis` 兼容类、`ctexart` fallback 之间做稳定选择。\n- 默认使用 `ref.bib` / BibTeX 管理参考文献，并提供引用键检查；模板不再放置活动的手写参考文献块。\n- 检查摘要关键词是否为数学建模相关术语，避免使用“农作物种植策略”等题目对象词作为关键词。\n- 避免默认写入学校、队员、导师、赛区等真实身份信息。\n- 提供 PDF 页数、大小和身份关键词风险的提交前检查脚本，默认预警，最终提交前可切到严格模式。\n\n## 安装\n\n把整个 `mathmodel-latex-skill` 文件夹复制到对应助手的 skills 目录下。文件夹名建议保持为 `mathmodel-latex-skill`。\n\n### Codex\n\nWindows PowerShell 示例：\n\n```powershell\n$skills = \"$env:USERPROFILE\\.codex\\skills\"\nNew-Item -ItemType Directory -Force $skills | Out-Null\nCopy-Item -Recurse -Force . \"$skills\\mathmodel-latex-skill\"\n```\n\nWSL / macOS / Linux 示例：\n\n```bash\nmkdir -p \"${CODEX_HOME:-$HOME/.codex}/skills\"\ncp -R . \"${CODEX_HOME:-$HOME/.codex}/skills/mathmodel-latex-skill\"\n```\n\n### Claude Code / cc-switch\n\n如果你使用 `cc-switch` 管理 Claude Code skills，放到 `.cc-switch/skills`。\n\nWindows PowerShell 示例：\n\n```powershell\n$skills = \"$env:USERPROFILE\\.cc-switch\\skills\"\nNew-Item -ItemType Directory -Force $skills | Out-Null\nCopy-Item -Recurse -Force . \"$skills\\mathmodel-latex-skill\"\n```\n\nWSL / macOS / Linux 示例：\n\n```bash\nmkdir -p \"$HOME/.cc-switch/skills\"\ncp -R . \"$HOME/.cc-switch/skills/mathmodel-latex-skill\"\n```\n\n如果你的 Claude Code 使用其他 skills 目录，请复制到你实际配置的 skills 路径。\n\n安装后建议开启一个新会话，让新 skill 被重新发现。\n\n## 如何触发\n\n在 Codex 或 Claude Code 里直接描述你的数学建模论文任务即可。可以显式提到 skill 名，也可以只描述比赛类型。\n\n示例：\n\n```text\n使用 mathmodel-latex-skill，给我创建一份 MCM/ICM A 题论文项目，启用 ref.bib。\n```\n\n```text\n使用 mathmodel-latex-skill，生成国赛 CUMCM 电子版论文模板；如果没有 cumcmthesis，就用 ctexart fallback。\n```\n\n```text\n用这个 skill 检查我的 CUMCM 论文 PDF，确认页数、大小和身份信息风险。\n```\n\n## 推荐工作流\n\n1. 复制整个 `mathmodel-latex-skill` 文件夹到 Codex 或 Claude Code 的 skills 目录。\n2. 新建一个空论文项目目录，让助手按比赛类型复制对应模板。\n3. 检查 LaTeX 环境：\n\n```bash\npython scripts/check_latex_env.py --contest mcm-icm\npython scripts/check_latex_env.py --contest cumcm\npython scripts/check_latex_env.py --contest cumcm --strict-class\npython scripts/check_latex_env.py --contest mcm-icm --use-ref-bib\npython scripts/check_latex_refs.py main.tex --bib ref.bib\npython scripts/check_latex_keywords.py main.tex\n```\n\n4. 根据检查结果选择 `mcmthesis`、内置轻量 `cumcmthesis` 兼容类，或 CUMCM 的 `ctexart` fallback。\n5. 编译：MCM/ICM 可用 `latexmk -pdf main.tex`；CUMCM 中文模板应使用 `latexmk -xelatex main.tex`，或在携带本 skill 的 `latexmkrc` 时使用 `latexmk main.tex`。不要用 `latexmk -pdf` 编译 CUMCM 中文模板，因为它会强制走 pdfLaTeX。\n6. 运行 PDF preflight：\n\n```bash\npython scripts/check_pdf.py main.pdf --identity-mode warn\npython scripts/check_pdf.py main.pdf --identity-mode strict\npython scripts/check_pdf.py main.pdf --ignore-keyword University --ignore-keyword 大学\n```\n\n7. 人工核查匿名信息、当年官方规则、页数/大小限制、AI 使用说明和支撑材料清单。\n\n## 使用时可以指定的关键选项\n\n`contest`：比赛类型。常用值是 `MCM/ICM` 或 `CUMCM`。\n\n参考文献模式：默认且推荐使用 `ref.bib`。正文用 `\\cite{...}` 引用，文献信息统一写入 `ref.bib`；若用户明确要求不用 BibTeX，再由助手另行生成手写 `thebibliography`，不要在同一主文件中混用两套模式。\n\n`strict_class`：是否严格要求类文件。CUMCM 模板目录内置一个轻量 `cumcmthesis.cls` 兼容类；如果项目中删除或替换了它，仍可回退到 `ctexart` fallback。若你要求使用第三方/官方风格的完整 `cumcmthesis`，应自行提供并核验其授权、字体依赖和当年格式适配。\n\n`identity-mode`：PDF 身份关键词检查模式。默认 `warn` 只提示风险；真正提交前可以改成 `strict`，让关键词命中直接失败。\n\n`ignore-keyword`：对已经人工确认的误报关键词做临时忽略，例如参考文献或数据来源里的 `University`、`大学`。\n\n## 内置内容\n\n- `SKILL.md`：AI 助手实际读取的工作规则。\n- `templates/mcm-icm/`：MCM/ICM 模板，优先使用 `mcmthesis`。\n- `templates/cumcm/`：CUMCM 模板，包含轻量 `cumcmthesis.cls` 兼容类、`cumcmthesis` 入口和 `ctexart` fallback。\n- `scripts/check_latex_env.py`：按比赛类型检查本机 LaTeX 类文件、fallback 和 BibTeX 环境。\n- `scripts/check_pdf.py`：检查 PDF 页数、文件大小和身份关键词风险，支持 `warn` / `strict` 模式。\n- `scripts/check_latex_refs.py`：检查 `\\ref` / `\\eqref` / `\\cite` 是否存在未定义标签或未定义文献键。\n- `scripts/check_latex_keywords.py`：检查摘要关键词是否属于数学建模方法、模型、算法、评价或检验术语。\n- `latexmkrc`：默认使用 XeLaTeX 的构建配置。\n\n## 注意事项\n\n- 本仓库现在内置一个轻量 `cumcmthesis.cls` 兼容类，目的是保证 CUMCM 默认入口可离线编译；它不是上游 CUMCMThesis 模板的逐字复制，也不包含字体文件。\n- `mcmthesis` 通常由 TeX Live / MiKTeX 管理。\n- 若需要第三方完整 `cumcmthesis` 模板，请自行提供或安装，并核验许可证、字体依赖和当年格式规则；不要假设 `tlmgr` 一定能安装。\n- CUMCM 模板新增 `templates/cumcm/STYLE_GUIDE.md`，用于约束“数据预处理”“模型假设：解释”等优秀论文风格写法。\n- 最终比赛提交前，应以当年官方规则为准。\n- 任何由 AI 生成的论文内容都需要人工核验。\n\n\n## 1.0.5 引用管理约定\n\n- 默认使用 `ref.bib` 作为唯一参考文献数据库。\n- 正文文献引用只使用 `\\cite{key}`，不要用 `\\ref{key}` 引用文献。\n- 图、表、公式引用只使用 `\\ref{label}` 或 `\\eqref{label}`，不要用 `\\cite{label}`。\n- 不主动使用 `\\nocite{...}`；没有被正文引用的 `.bib` 条目不应出现在最终参考文献中。\n- 交付前运行：`python scripts/check_latex_refs.py main.tex --bib ref.bib`；若为 CUMCM 项目，再运行 `python scripts/check_latex_keywords.py main.tex`。\n\n\n## 1.0.8 CUMCM 结构与关键词约定\n\n- CUMCM 正文不单独设置“总体思路”小节；问题分析节按小问展开，例如 `2.1 问题一的分析`、`2.2 问题二的分析`。\n- 若需要展示模型路线，优先使用“模型流程图”并放入问题分析或模型建立部分的自然段中，不另起 `2.4 总体思路`。\n- 关键词必须优先选择数学建模教材和竞赛论文中常见的术语，例如：优化模型、线性规划、混合整数规划、目标规划、动态规划、蒙特卡洛模拟、回归分析、聚类分析、主成分分析、层次分析法、综合评价、风险决策、灵敏度分析、敏感性分析、鲁棒性分析、时间序列、灰色预测等。\n- 关键词不要直接使用题目对象、行业背景或宽泛任务词，例如：农作物种植策略、乡村农业、蔬菜销售、企业生产、交通问题、研究方法。\n- 交付前运行：`python scripts/check_latex_keywords.py main.tex`。\n\n## 1.0.8 终校验修正\n\n- 在 `templates/cumcm/` 和 `templates/mcm-icm/` 内分别加入模板本地 `latexmkrc`，使用户单独复制模板目录时也能使用 BibTeX fallback，不依赖 skill 根目录的 `latexmkrc`。\n- CUMCM 模板本地 `latexmkrc` 默认 XeLaTeX；MCM/ICM 模板本地 `latexmkrc` 仅处理 BibTeX fallback，保留 `latexmk -pdf main.tex` 工作流。\n- BibTeX 检测从“命令存在”升级为“命令存在且可执行 `--version`”，避免损坏的 `bibtex` 替代项导致编译失败。\n\n\n## 1.0.8 图表题名与附录编号修正\n\n- CUMCM 模板现在默认将图表题名渲染为 `表 1 标题`、`图 1 标题`，去掉 `表 1: 标题` 中的英文冒号。\n- 附录一级标题现在渲染为 `附录A 支撑材料文件列表`、`附录B 源程序代码说明`、`附录C AI 工具使用详情说明`。\n- 该修正已同时应用到 `main.tex`、`main-cumcmthesis.tex` 和 `main-ctexart-fallback.tex`。","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwangling-miao%2Fmathmodel-latex-skill","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwangling-miao%2Fmathmodel-latex-skill","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwangling-miao%2Fmathmodel-latex-skill/lists"}