# 技术报告 LaTeX 模板 [简体中文](README.md) | [English](README_en.md) 这是一个面向中文技术报告的 LaTeX 模板,适合整理项目设计、实现说明、测试结果、问题排查、常见问题和后续规划等内容。仓库同时提供空白模板与两个完整示例,可直接复制后修改。 如果不想在本地安装和配置 LaTeX 环境,推荐直接使用 [Overleaf](https://www.overleaf.com/) 在线编辑和编译。Overleaf 提供免费版,无需安装软件,注册后上传模板即可使用。 ## 模板特点 - A4 纸张、12 pt 字号、2.5 cm 页边距和 1.5 倍行距 - 包含封面、自动目录、页眉页脚和版本信息 - 预设多级章节标题、超链接和配色 - 支持代码块、数学公式、表格、图片和列表 - 提供文件说明框、问答框等技术文档常用样式 - 已配置 Python 与 Bash 代码高亮样式 ## 目录结构 ```text . ├─ 模板/ │ ├─ main.tex # 可直接修改的空白模板 │ └─ 模板.pdf # 模板编译效果 ├─ example/ │ ├─ 停车机器人example/ │ │ ├─ main.tex # 技术问题排查类报告示例 │ │ ├─ *.png # 示例使用的图片 │ │ └─ *.pdf # 已编译的示例文档 │ └─ 旧版个人example/ │ ├─ main.tex # 较完整的个人技术报告示例 │ ├─ *.png # 示例使用的图片 │ └─ *.pdf # 已编译的示例文档 ├─ README.md └─ README_en.md ``` ## 推荐方式:Overleaf 在线编译 对于初次使用 LaTeX 或不方便配置本地环境的用户,Overleaf 免费版通常足以编辑和编译本模板。 1. 将 `模板` 目录中的 `main.tex` 压缩为 ZIP 文件。请让 `main.tex` 位于压缩包根目录。 2. 登录 Overleaf,选择 **New Project → Upload Project**,上传 ZIP 文件。 3. 打开项目左上角的 **Menu**,将 **Compiler** 设置为 **XeLaTeX**。 4. 修改 `main.tex`,然后点击 **Recompile** 生成 PDF。 5. 需要本地保存时,在 Overleaf 中下载生成的 PDF 或整个项目源码。 使用示例文档时,应将对应目录下的 `main.tex` 和 PNG 图片一起压缩上传,否则图片无法显示。具体上传方法可参考 [Overleaf 官方上传指南](https://www.overleaf.com/learn/latex/Kb/Uploading_a_project)。 > Overleaf 免费版存在编译时长等资源限制,但对本仓库中的普通技术报告通常已经够用。较大的图片、复杂内容或较长文档如果触发限制,可以压缩图片或改用本地编译。 ## 本地编译环境 只有需要离线编译时,才需要安装带有 XeLaTeX 的 LaTeX 发行版,例如 TeX Live 或 MiKTeX。模板使用 `ctex` 处理中文,并依赖以下宏包: ```text ctex, geometry, titlesec, titletoc, fancyhdr, listings, xcolor, graphicx, amsmath, amssymb, booktabs, enumitem, tcolorbox, fontawesome5, setspace, hyperref ``` 完整安装的 TeX Live 通常已包含这些宏包;使用精简安装时,可能需要通过发行版的包管理器补充安装。 ## 快速开始 1. 复制 `模板/main.tex` 到新的文档目录。 2. 修改文件开头“可修改的文档信息”区域: ```tex \newcommand{\doctitle}{XXXX技术文档} \newcommand{\docsubtitle}{XXXX系统设计与实现} \newcommand{\projectname}{XXXX项目} \newcommand{\docauthor}{XXXX} \newcommand{\docversion}{v1.0} \newcommand{\docdescription}{文档简介} ``` 3. 按需修改、复制或删除正文中的示例章节。 4. 将文档上传至 Overleaf,并将编译器设置为 XeLaTeX;或者在本地使用 XeLaTeX 编译两次,以正确生成目录和交叉引用: ```powershell xelatex main.tex xelatex main.tex ``` 如果已安装 `latexmk`,也可以使用: ```powershell latexmk -xelatex main.tex ``` 5. 编译完成后,在 Overleaf 的 PDF 预览区查看或下载结果;本地编译时可在当前目录查看 `main.pdf`。 ## 常用内容 ### 插入图片 将图片放在 `.tex` 文件所在目录或其子目录中,然后使用: ```tex \begin{figure}[htbp] \centering \includegraphics[width=0.8\linewidth]{images/example.png} \caption{图片说明} \label{fig:example} \end{figure} ``` 图片路径相对于当前 `.tex` 文件。复制示例文档时,请同时复制其引用的图片。 ### 插入代码 模板预设了 `pythonstyle` 和 `bashstyle`: ```tex \begin{lstlisting}[style=pythonstyle, caption={Python 示例}] def main(): print("Hello") \end{lstlisting} ``` 将 `style` 改为 `bashstyle` 可展示终端命令。其他语言可以通过 `listings` 的 `language` 参数自行配置。 ### 插入问答框 ```tex \begin{qabox}{这里填写问题} \begin{answerbox} 这里填写原因、排查过程和解决方法。 \end{answerbox} \end{qabox} ``` ### 调整章节 空白模板目前包含以下内容,可根据实际报告自由删改: - 文档概述 - 系统设计 - 程序文件说明 - 关键方法与原理 - 实现说明 - 测试与结果 - 常见问题 - 后续规划与版本记录 ## 示例说明 - `example/停车机器人example`:展示问题描述、原因分析、解决思路、代码片段、公式、测试计划和图片排版。 - `example/旧版个人example`:展示篇幅较长的技术报告,包括流程说明、算法原理、表格、双图排版、问答记录和附录。 两个示例目录均保留了已编译 PDF,可在未安装 LaTeX 环境时先查看最终排版效果。 ## 常见问题 ### 中文无法正常显示 在 Overleaf 项目菜单或本地编译命令中确认使用的是 XeLaTeX,而不是传统 LaTeX 编译器。本地编译时还需确认 TeX 发行版已安装中文支持和 `ctex`。 ### 提示找不到宏包 根据错误信息,通过 TeX Live 或 MiKTeX 的包管理器安装对应宏包。若缺少图标相关命令,请重点检查 `fontawesome5`。 ### 目录或引用没有更新 连续编译两次,或使用 `latexmk -xelatex main.tex` 自动处理多轮编译。 ### 图片无法找到 检查文件名、扩展名和相对路径是否一致。移动或复制示例的 `main.tex` 时,也需要带上它引用的 PNG 文件。 ## 说明 仓库中未提供许可证文件。使用或分发前,请根据实际归属补充许可证或内部使用说明。