# sdtemplate **Repository Path**: nathanhn/sdtemplate ## Basic Information - **Project Name**: sdtemplate - **Description**: 一套专业的软件开发文档 LaTeX 模板 - **Primary Language**: TeX/LaTeX - **License**: LPPL-1.3c - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-04-03 - **Last Updated**: 2025-04-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # sdtemplate > 一套专业的软件开发文档 LaTeX 模板 ![PoweredBy](https://img.shields.io/badge/powered_by-BlueWingTan-blue?style=flat-square) ![Language](https://img.shields.io/badge/language-LaTeX-blueviolet?style=flat-square) ![License](https://img.shields.io/badge/license-LPPL_v1.3-green?style=flat-square) 很荣幸能为软件开发人员节省撰写文档的时间。 版权所有 © 2021 BlueWingTan。保留所有权利。 ## 目录 - [sdtemplate](#sdtemplate) - [目录](#目录) - [简介](#简介) - [变更](#变更) - [兼容性](#兼容性) - [编译](#编译) - [文件组织](#文件组织) - [基本使用](#基本使用) - [贡献](#贡献) - [Issues](#issues) - [Workflow](#workflow) - [版权及许可](#版权及许可) ## 简介 **sdtemplate** 最初源自于偶然获得的 GJB 438B-2009 技术文档的 word 模板,其中涵盖了 28 种文档的基本原型,某次开发应用时需要撰写过程文档,便基于该模板进行文档设计。 在设计过程中,我们发现 word 模板存在以下几点局限性: - 数据管理散乱,无法有效组织。例如,封面上的*密级*、*编码*等元数据散见于各角落,撰写文档时较为繁琐。而 Word 中通过域组织元数据的方法,普通用户难以掌握并熟练运用。 - 格式调整复杂,无法精细设置。例如,在*文档修订记录*和*文档审批信息*两个表格中输入相关信息,需要注意每个单元格的字体名称、字体大小、文字位置等。 - 标题嵌套繁琐,无法自动填充。例如,各项详细论述各指标小点,需要在 word 模板中逐个设置选项编号,特别是在数据库结构设计中,对各字段说明尤为复杂。 - 信息要素缺失,无法展现全貌。例如,没有对算法、表格和插图进行归类,当项目文档较大时难以有效索引关键信息。同时,缺失知识产权声明页,无法有效保护文档知识产权。 因此,我们在参考 word 模板的基础上,深入研究 GJB 438B-2009 的相关格式要求,参考合肥工业大学学位论文 `LaTeX` 模板 [hfutthesis](https://github.com/HFUTTUG/HFUT_Thesis) 和上海交通大学学位论文 `LaTeX` 模板 [sjtuthesis](https://github.com/sjtug/SJTUThesis)的部分代码实现,编写了基于 `LaTeX2e` 的 **sdtemplate** 模板,未来计划迁移到 `LaTeX3`。 **sdtemplate** 之名是由英文 **s**oftware **d**ocument 和 **template**结合而成的。 ## 变更 最新版本是 **v1.0.3**。 - 修复了 `\ref` 命令在引用嵌套 `enumerate` 环境中 `item` 显示不正确的问题。 更多变更日志请参阅[说明文档](https://gitee.com/bluewingtan/sdtemplate/blob/master/sdtemplate-doc.pdf)。 ## 兼容性 **sdtemplate** 支持跨平台编译,下列 平台/LaTeX编译器 预期能够完成编译: - **Windows (32/64-bit)** - XeLaTeX 2017 及以上版本 - **Linux (32/64-bit)** - XeLaTeX 2017 及以上版本 影响跨平台编译的重要因素是系统字体不同。虽然自动配置的字体可以使得编译通过,但除 Windows 以外平台字体可能与 Windows 平台字体有微小差异,在某些情况下无法通过专家评审。**因此我们建议在启用 `\opt{press}` 选项输出正式版之前,使用 Windows 操作系统编译文件。** 经过测试的平台为Windows 10 (64-bit)/`TexLive` 2021。 ## 编译 本模板目前支持在主流操作系统上编译,如你已安装最常见的 `TeX` 发行版 `TeXLive` 和 `MiKTeX`,则相关依赖已经安装完毕。如果本地安装的 `TeXLive` 或 `MiKTeX` 不是完整版本,则可能需要通过这两个发行版提供的**包管理器**来安装宏包。 主要包括依赖项的安装、搭建开发环境、开始编译等三个环节,具体请参阅[说明文档](https://gitee.com/bluewingtan/sdtemplate/blob/master/sdtemplate-doc.pdf)。 ## 文件组织 **sdtemplate** 文件组织如下表所示: ​
类别 文件 说明
模板文件使用说明 sdtemplate.cls 模板文件,基于 CTeXctexart 开发
sdtemplate-doc.tex 模板使用说明的源代码
sdtemplate-doc.pdf 模板使用说明
示例文档 document.tex 示例文档源代码
sdsetup.tex 配置文件
sections/*.tex 示例文档的各节
figures/ 放置插图的目录
其他 README.md 文档简要说明
CHANGELOG.md 更新日志
## 基本使用 包括编码与字体设置、元数据及样式设置、文档结构等,详情参见 `sdtemplate-doc.pdf`。 ## 贡献 `sdtemplate` 欢迎您的贡献。在贡献时,请遵循以下规则: ### Issues 欢迎随时提交问题和增强要求。 - 请通过提供**最少的可复现示例**来帮助我们,因为源代码更容易让其他人理解会发生什么。对于某些平台上的崩溃问题,请提交 `LaTeX` output 内容以及操作系统,编译器等的详细信息。 - 请先尝试断点调试,告诉我们您发现了什么,看看我们是否可以根据准备的更多信息开始探索。 ### Workflow 通常,我们遵循`fork-and-pull`的 Workflow: 1. `fork`本 repo 2. 将项目`clone`到您自己的计算机上 3. 在您的`fork`上签出一个新分支,开始在该分支上进行开发 4. 在提交之前测试更改,确保更改通过所有测试,请为每个新功能或错误修复添加测试用例(如果需要) 5. 将更改`commit`到您自己的分支 6. `push`您的本地更改到`fork` 7. 提交`pull request`,以便我们可以检查您的更改 在发出拉取请求之前,请确保合并来自“上游”的最新消息! ## 版权及许可 您可以从下面复制并粘贴许可证摘要。 ```latex %% Copyright 2021 BlueWingTan % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 % of this license or (at your option) any later version. % The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.3 or later is part of all distributions of LaTeX % version 2005/12/01 or later. % % This work has the LPPL maintenance status `maintained'. % % The Current Maintainer of this work is BlueWingTan. ```