Files

175 lines
6.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 技术报告 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 文件。
## 说明
仓库中未提供许可证文件。使用或分发前,请根据实际归属补充许可证或内部使用说明。