Skip to main content

5writing

数学建模竞赛论文撰写阶段,支持 Typst 和 LaTeX 双引擎。根据 ANALYSIS_MODELING_REPORT.md、RESULTS_REPORT.md 和 figures/*.pdf 选择比赛模板、排版引擎、组织章节,并在论文正文中按章节直接插入图表。

소스 정보

저장소
jihe520/MathModelAgent
최근 소스 활동
2026년 9월 13일 07:37
감지된 SKILL.md 언어
중국어
스타
6,258
포크
446

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
100 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
5writing
description
数学建模竞赛论文撰写阶段,支持 Typst 和 LaTeX 双引擎。根据 ANALYSIS_MODELING_REPORT.md、RESULTS_REPORT.md 和 figures/*.pdf 选择比赛模板、排版引擎、组织章节,并在论文正文中按章节直接插入图表。
allowed-tools
Bash(*), Read, Write, Edit, Grep, Glob, Agent, WebSearch, WebFetch
# 竞赛论文撰写(Typst / LaTeX) 本 skill 承接 `3coding-visual` 和 `4drawio`。前序阶段只提供真实数据、图表 PDF 和记录文件;本阶段负责选择比赛模板和排版引擎、组织论文结构,并决定每张图表放入哪个章节。 **Typst 引擎**下可调用 typst-author skill 学习 typst 写法;**LaTeX 引擎**参考本文件末尾的"LaTeX 写作要点"小节。 ## 数学建模规范参考 如需领域判断,读取 `../_references/math_modeling_norms.md` 中的“论文写作”“图表与可视化”和“非数据图工具选择”小节。该文件只作为规范知识库,论文结构仍按比赛模板和当前赛题内容决定。 ## 模板族 本技能内捆绑的模板位于: ```text templates/zh/<竞赛>/main.typ # Typst 模板 templates/zh/<竞赛>-latex/main.tex # LaTeX 模板 templates/en/<竞赛>/main.typ # Typst 模板 templates/en/<竞赛>-latex/main.tex # LaTeX 模板 ``` **LaTeX 模板覆盖范围**:所有中文模板和英文模板均已提供 LaTeX 版本(`-latex` 后缀),使用 xelatex 编译。 支持的中文模板(Typst + LaTeX 双版本): ```text apmcm, changsanjiao, cumcm, default, diangongbei, dongsansheng, huashubei, huaweibei, huazhongbei, mathorcup, mcm, shuweibei, stats, wuyibei ``` 华为杯、华中杯、五一杯统一使用 `huaweibei`、`huazhongbei`、`wuyibei` 作为模板。 支持的英文模板(Typst + LaTeX 双版本): ```text apmcm, default, mcm ``` 论文中的所有数值图表结论必须来自 `reports/RESULTS_REPORT.md` 或 `figures/*`。不得编造、估算或使用不同的四舍五入方式。 ## 工作流 ### 步骤 0:确定排版引擎 **撰写论文前必须让用户选择排版引擎。** 引擎决定后续所有步骤(模板路径、章节文件扩展名、图片插入语法、编译命令),选错会导致整篇论文格式错误。 使用 AskUserQuestion 工具向用户询问:"撰写论文使用哪种排版引擎?" - 选项 1:LaTeX(xelatex 编译,数学建模竞赛主流,模板已全部就绪)— 推荐选项放第一位 - 选项 2:Typst(typst 编译,调用 typst-author skill 辅助写作) 询问前先读取 `plan.md` 的"用户偏好 → 排版引擎"字段作为预选项: - 若 plan.md 已记录引擎选择,向用户确认:"检测到之前选择的引擎是 <LaTeX/Typst>,是否沿用?" - 若 plan.md 不存在或未记录引擎选择,直接询问用户选择。 - 若用户未明确指定或跳过,**默认使用 LaTeX**。 根据确定的引擎选择对应模板族: - **Typst 引擎**:使用 `templates/<lang>/<竞赛>/main.typ`,调用 typst-author skill。编译命令 `typst compile main.typ`。 - **LaTeX 引擎**:使用 `templates/<lang>/<竞赛>-latex/main.tex`,xelatex 编译(中文和英文均需跑两遍解决交叉引用)。编译命令 `xelatex -interaction=nonstopmode main.tex`(执行两次)。 **后续步骤中的所有代码示例、文件扩展名、图片插入语法都必须按所选引擎选择对应版本,不要混用。** ### 步骤 1:选择语言和模板 除非用户明确要求中文,否则 MCM/ICM/COMAP 一律使用英文。所有中文竞赛名称使用中文。 模板键示例(Typst 引擎): ```text 长三角 -> zh/changsanjiao APMCM 英文版 -> en/apmcm 全国赛/国赛/CUMCM -> zh/cumcm 统计建模 -> zh/stats MCM/ICM/COMAP -> en/mcm ``` 模板键示例(LaTeX 引擎): ```text 全国赛/国赛/CUMCM -> zh/cumcm-latex MCM/ICM/COMAP -> en/mcm-latex ``` ### 步骤 2:准备模板 用以下命令检查捆绑模板是否可访问(`SKILL_DIR` 为本 skill 所在目录): **Typst 模板**: ```bash ls "$SKILL_DIR/templates/zh/<竞赛>/main.typ" 2>/dev/null && echo "OK" || echo "MISSING" ``` - **文件存在(OK)**:直接将 `templates/zh/<竞赛>/` 整目录复制到 `paper/`。这些模板是自包含入口文件,不依赖额外共享样式文件。 - **文件不存在(MISSING)**:说明 skill 未完整安装或在沙箱中,此时依照本 SKILL.md 步骤 3 列出的对应节文件结构,从零重建最小可编译 Typst 框架,并在 `paper/` 内注明"重建自 default 结构"。 存在匹配模板时,绝不从零开始写论文。 **LaTeX 模板**: ```bash ls "$SKILL_DIR/templates/zh/<竞赛>-latex/main.tex" 2>/dev/null && echo "OK" || echo "MISSING" ``` - **文件存在(OK)**:将 `templates/zh/<竞赛>-latex/` 整目录复制到 `paper/`。 - **文件不存在(MISSING)**:说明 skill 未完整安装或在沙箱中,此时依照本 SKILL.md 步骤 3 列出的对应节文件结构,从零重建最小可编译 LaTeX 框架,并在 `paper/` 内注明"重建自 default-latex 结构"。 ### 步骤 3:构建图表规划 在写正文各节之前,根据 `figures/*.pdf`、`reports/RESULTS_REPORT.md`,以及 `reports/DRAWIO_REPORT.md`(如果存在)构建图表规划: ```text 图表规划 fig_roadmap.pdf -> 引言/问题重述 fig_flow_q1.pdf -> 问题一模型构建 fig_flow_q2.pdf -> 问题二模型构建 fig_pipeline.pdf -> 数据预处理/方法节 结果图 -> 对应的结果节 ``` 图片路径相对于写入该图片的文件:写在 `paper/main.typ` 或 `paper/main.tex` 中通常用 `../figures/xxx.pdf`,写在 `paper/sections/*.typ` 或 `paper/sections/*.tex` 中通常用 `../../figures/xxx.pdf`。 **Typst 引擎**图片插入: ```typst #figure( image("../../figures/fig_q1_error_dist.pdf", width: 85%), caption: [问题一预测误差分布], ) ``` **LaTeX 引擎**图片插入: ```latex \begin{figure}[H] \centering \includegraphics[width=0.85\textwidth]{../../figures/fig_q1_error_dist.pdf} \caption{问题一预测误差分布} \label{fig:q1_error} \end{figure} ``` 英文论文使用英文图注。 ### 步骤 4:撰写各节 **以下章节文件名按所选引擎使用 `.typ`(Typst)或 `.tex`(LaTeX)扩展名。** 例如 Typst 引擎用 `1_restatement.typ`,LaTeX 引擎用 `1_restatement.tex`。文件名主体保持一致。 中文数学建模通用模板各节文件(`changsanjiao`、`diangongbei`、`huashubei`、`mathorcup`、`wuyibei`): ```text 1_restatement.typ - 问题重述与分析 2_analysis.typ - 数据理解与总体思路 3_assumptions.typ - 模型假设 4_symbols.typ - 符号说明 5_problem1.typ - 问题一建模与求解 6_problem2.typ - 问题二建模与求解 7_problem3.typ - 问题三建模与求解 ... - 根据题目调整问题数量 8_evaluation.typ - 灵敏度分析、模型评价与推广 A_code.typ - 附录代码 ``` 国赛/华中杯/华为杯(`cumcm`、`huazhongbei`、`huaweibei`)按以下章节结构: ```text 1_restatement.typ 2_analysis.typ 3_assumptions.typ 4_symbols.typ 5_problem1.typ 6_problem2.typ 7_problem3.typ ... - 根据题目调整问题数量 8_sensitivity.typ 9_evaluation.typ A_code.typ ``` 东三省模板(`dongsansheng`)额外使用单独摘要文件: ```text abstract.typ 1_restatement.typ 2_analysis.typ 3_assumptions.typ 4_symbols.typ 5_problem1.typ 6_problem2.typ 7_problem3.typ ... - 根据题目调整问题数量 8_evaluation.typ A_code.typ ``` 数维杯模板(`shuweibei`)保留原 LaTeX 的示例入口命名: ```text Abstract.typ Introduction.typ 2_analysis.typ 3_assumptions.typ 4_symbols.typ 5_problem1.typ 6_problem2.typ 7_problem3.typ ... - 根据题目调整问题数量 8_evaluation.typ Appendices1.typ A_code.typ ``` 中文默认模板(`default`): ```text 1_restatement.typ 2_assumptions.typ 3_symbols.typ 4_problem1.typ 5_problem2.typ 6_problem3.typ ... - 根据题目调整问题数量 7_sensitivity.typ 8_evaluation.typ A_code.typ ``` 中文统计建模各节文件: ```text 1_introduction.typ 2_method.typ 3_data.typ 4_analysis.typ 5_results.typ 6_conclusion.typ A_code.typ ``` 英文 MCM/APMCM 各节文件(`en/mcm`、`en/apmcm`、`zh/mcm`、`zh/apmcm`): ```text 1_introduction.typ 2_assumptions.typ 3_model_design.typ 4_solution.typ 5_sensitivity.typ 6_strengths_weaknesses.typ 7_conclusions.typ A_code.typ ``` **LaTeX 模板章节文件**(对应 `-latex` 后缀模板,结构与 Typst 版本一一对应): 国赛 LaTeX 模板(`zh/cumcm-latex`,对应 `cumcm` Typst 版本): ```text 1_restatement.tex 2_analysis.tex 3_assumptions.tex 4_symbols.tex 5_problem1.tex 6_problem2.tex 7_problem3.tex 8_sensitivity.tex 9_evaluation.tex A_code.tex ``` MCM/ICM LaTeX 模板(`en/mcm-latex`): ```text 1_introduction.tex 2_assumptions.tex 3_model_design.tex 4_solution.tex 5_sensitivity.tex 6_strengths_weaknesses.tex 7_conclusions.tex A_code.tex ``` 其余 LaTeX 模板(`changsanjiao-latex`、`default-latex`、`huashubei-latex`、`mathorcup-latex`、`wuyibei-latex`、`huazhongbei-latex`、`huaweibei-latex`、`diangongbei-latex`、`dongsansheng-latex`、`shuweibei-latex`、`stats-latex`、`apmcm-latex`、`mcm-latex`、`en/apmcm-latex`、`en/default-latex`)的章节文件命名与上述结构类似,以 `main.tex` 中 `\input{}` 引用的文件名为准。 英文默认模板(`en/default`): ```text 1_introduction.typ 2_assumptions.typ 3_notations.typ 4_model.typ 5_sensitivity.typ 6_evaluation.typ 7_conclusions.typ A_code.typ ``` **正文写作应使用连贯的学术段落。避免在最终论文中出现工作流内部名称,如 `reports/`、`figures/` 或 `CLAUDE.md`。** ### 步骤 5:参考文献 只使用真实存在的参考文献。文件名按引擎选择:Typst 用 `paper/references.typ`,LaTeX 用 `paper/references.tex`。 **Typst 引擎**: ```typst #set enum(numbering: "[1]") #enum[ 作者. 题名[J]. 期刊名, 年份, 卷(期): 页码. Author. "Title." Journal or Conference, year. ] ``` 正文上标引用:`相关研究已用于物流网络优化#super("[1]")。` **LaTeX 引擎**: ```latex \begin{thebibliography}{99} \bibitem{ref1} 作者. 题名[J]. 期刊名, 年份, 卷(期): 页码. \bibitem{ref2} Author. "Title." Journal, year. \end{thebibliography} ``` 正文引用用 `\cite{ref1}` 或 `\cite{ref1,ref2}`。 ### 步骤 6:最后撰写摘要或总结 在所有章节完成后撰写中文摘要或英文 Summary Sheet。必须包含每个子问题的方法和精确的数值结果。 ## LaTeX 写作要点 以下要点供 **LaTeX 引擎**使用。Typst 引擎请调用 typst-author skill 获取语法帮助。 ### 编译命令 ```bash # 中文模板(xelatex,跑两遍解决交叉引用) xelatex main.tex && xelatex main.tex # 英文模板(xelatex,同样跑两遍) xelatex main.tex && xelatex main.tex ``` ### 文档结构 ```latex \documentclass[a4paper,12pt]{article} % 英文 \documentclass[a4paper,12pt]{ctexart} % 中文 \usepackage{...} % 宏包加载 \usepackage{graphicx} % 图片支持 \usepackage{booktabs} % 三线表 \usepackage{amsmath,amssymb} % 数学公式 \usepackage{hyperref} % 交叉引用(需两遍编译) ``` ### 图表插入 ```latex \begin{figure}[H] \centering \includegraphics[width=0.85\textwidth]{../../figures/fig_q1.pdf} \caption{图注} \label{fig:q1} \end{figure} % 三线表 \begin{table}[htbp] \centering \caption{表注} \begin{tabular}{ccc} \toprule \textbf{列1} & \textbf{列2} & \textbf{列3} \\ \midrule 数据 & 数据 & 数据 \\ \bottomrule \end{tabular} \end{table} ``` ### 交叉引用 ```latex 如图~\ref{fig:q1}所示,... % 图片引用 式~(\ref{eq:objective}) 给出... % 公式引用 见第~\pageref{fig:q1} 页 % 页码引用 ``` ### 数学公式 ```latex 行内公式:$f(x) = \sum_{i=1}^n \theta_i \phi_i(x)$ 行间公式: \begin{equation} \mathcal{L}(\theta) = \frac{1}{N}\sum_{i=1}^N (y_i - \hat{y}_i)^2 \label{eq:objective} \end{equation} ``` ### 章节和强调 ```latex \section{问题重述} \subsection{问题背景} \textbf{问题一:} xxx % 对应 Typst 的 #strong ```
GitHub에서 보기