# chinese-patent-latex-template **Repository Path**: thiswind/chinese-patent-latex-template ## Basic Information - **Project Name**: chinese-patent-latex-template - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-30 - **Last Updated**: 2025-12-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 专利申请的 Latex 模板 ## 模板来源 本模板基于 [CanYellow/LatexPatentTemplate](https://github.com/CanYellow/LatexPatentTemplate) 进行深度优化和重构,感谢原作者的开源贡献。 ### 主要改进 - **代码结构优化**:重构了文件组织方式,提高了可维护性 - **开发环境配置**:添加了完整的 VSCode/Cursor 开发环境支持 - **字体优化**:针对 macOS M 系列芯片优化了中文字体配置 - **自动化工具**:提供了快速编译脚本和自动清理功能 - **错误处理**:增强了编译时的错误检查和调试信息 ## 使用说明 这是一个用于撰写专利申请文件的基于 LaTex 专利申请模板。 在以往已经长期使用了几年了,但是考虑到国知局推动专利申请文件 xml 化的进程逐渐加速,由于不存在从 LaTex 到 xml 或 Word 的无损转换,该模板已经逐步放弃,现公开出来,供其他人参考。 ## 模板优化说明 (2025 年 1 月) ### 第一次优化:代码结构重构 本模板已进行代码质量优化,主要改进包括: - **统一配置管理**:创建 `patconfig.tex` 统一管理所有编译配置和宏定义 - **消除代码重复**:移除各子文件中重复的宏定义和变量定义 - **集中变量管理**:将 `fignum` 等变量集中到 `patvar.tex` 管理 - **提高可维护性**:减少维护成本,降低出错风险 ### 第二次优化:代码风格和错误处理 (2025 年 10 月) 本模板进一步进行了代码风格和健壮性优化,主要改进包括: - **统一注释风格**:全部使用中文注释,采用 `% --- 章节名 ---` 标准格式 - **规范 TODO 标记**:统一使用 `% TODO: 描述内容` 格式,替换所有不规范标记 - **增强错误检查**:添加关键变量的存在性检查和默认值设置 - **完善调试信息**:使用 `\typeout` 输出详细的编译信息和警告 - **提高代码健壮性**:自动处理未定义变量,提供友好的错误提示 - **版本控制优化**:添加 `.gitignore` 文件,自动忽略 LaTeX 编译产生的临时文件 - **自动化工具完善**:优化 `quick_build.sh` 脚本,提供一键编译和自动清理功能 ### 开发环境优化 本模板针对 **Cursor/VSCode** 进行了专门优化,提供了完整的开发环境配置: #### 🔧 **快速编译脚本** - **`quick_build.sh`**:一键编译脚本,自动执行两次 XeLaTeX 编译 - 自动清理临时文件,保持工作目录整洁 - 支持错误检测和友好的状态提示 **使用方法:** ```bash # 在项目根目录下执行 ./quick_build.sh ``` **脚本功能:** - 自动检查 `main.tex` 文件是否存在 - 执行两次 XeLaTeX 编译(确保交叉引用正确) - 自动清理所有临时文件(`.aux`, `.log`, `.synctex*` 等) - 提供友好的状态提示和错误信息 - 编译成功后生成 `main.pdf` 文件 #### ⚙️ **VSCode/Cursor 配置** - **LaTeX Workshop 插件优化**:专门配置了 XeLaTeX 编译链 - **自动构建**:保存时自动编译,构建后自动清理 - **PDF 预览**:内置 PDF 查看器,支持同步滚动 - **文件关联**:自动识别`.tex`、`.cls`、`.sty`等 LaTeX 文件 - **智能排除**:自动隐藏临时文件,保持文件浏览器整洁 #### 🎨 **字体优化** - **中文字体**:使用 macOS 系统字体 `Songti SC`、`Heiti SC`、`STFangsong` - **字体兼容性**:针对 macOS M 系列芯片优化,确保字体渲染效果 - **字体回退**:提供多种字体选择,确保跨平台兼容性 ### 编译选项与文件选择 本项目在生成 pdf 文件时,选择 XeLaTex 引擎,使用其他引擎编译会出错。 ### 附图标记与文档变量 #### 附图标记 附图标记保存在 numbering.csv 中,在其他的章节文件中被引用,因此只需要在 numbering.csv 中更新全部的附图标记。 #### 文档变量 文档变量存储于 patvar.tex 中,定义了申请类型、申请名称、主题名称以及附图数量等。 ### 附图引用 所有的附图保存在 figures 文件夹下,以 `figure*.png` 依次编号命名,在《说明书附图》章节由一个循环自动调用,在编译时自动更新附图。 **重要**:附图数量现在统一在 `patvar.tex` 中定义: ```latex % 修改这里的数字确定附图数量 \def\fignum{3} ``` ### 宏定义与格式控制 主要在 `main.tex` 与 `patconfig.tex` 中定义了一些宏,这些宏用于控制编译后的 pdf 文件格式。具体的, ```latex %控制注释是否显示,默认是显示注释的 %将下一行注释掉,则不显示草稿的注释 \def\DRAFT{} %控制说明书行号是否显示 %将下一行注释掉,则不显示行号 \def\DRAFTNUM{} % 控制是否显示修订的内容 % 将下一行注释掉,则不显示修订的内容,以最终的版本显示 \def\REV{} ``` ### 命令行编译 在项目文件夹下(Application 目录)运行 ```bash latexmk -pvc -xelatex *.tex ``` 其中,`main.tex`用于生成完整的申请文件,即五书的整合,`100001-claim.tex`用于生成权利要求书,`100002-description.tex`用于生成说明书,`100003-figure4desc.tex`用于生成说明书附图,`100004-abstract.tex`用于生成说明书摘要,`100005-figure4abstract.tex`用于生成摘要附图。 ### 目录结构说明 ```bash APPLICATION │ 100001-claim.tex #权利要求书源文件 │ 100002-description.tex #说明书源文件 │ 100003-figure4desc.tex #说明书附图源文件 │ 100004-abstract.tex #说明书摘要源文件 │ 100005-figure4abstract.tex #摘要附图源文件 │ clean.lua #用于清理目录的lua脚本,需要安装luafilesystem库 │ main.tex #用于生成全文的源文件,是引用上面的源文件,最多只需要修改里面的宏定义即可 │ numbering.csv #附图标记定义文件 │ numberingNoShow.csv #目前可以不用 │ patstyle.tex #格式定义文件 │ patconfig.tex #统一配置文件(新增) │ patvar.tex #文档变量定义文件 └─figures #附图目录 figure*.png #附图 ``` ### 其他 支持表格、数学公式等。 一些文档中需要用到的自定义命令需要对照 `patstyle.tex`。包括文档修订命令、文档注释命令、附图编号引用命令以及文档变量掉用命令等。