# Latex Document Writer

> LaTeX 论文写作助手，专注一切有关latex文档创作。

- Skill: `majiayu000/latex-document-writer-2` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add majiayu000/latex-document-writer-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/latex-document-writer-2/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/majiayu000/latex-document-writer-2

---


# latex-document-writer


## 1. 核心限制 ⚠️
- **禁止**执行任何编译命令（`pdflatex`, `xelatex`, `latexmk` 等）
- 仅编辑 `.tex` 文件并保存即可。


## 2. 目录结构规范
| 路径 | 用途 |
|------|------|
| `latex/chapter[n]/n.tex` | 第 n 章内容（如 `latex/chapter1/1.tex`） |
| `figures/` | 图片资源 |
| `bib/` | 参考文献 |
| `main.tex` | 主文件（勿放内容） |
| `latex/config.tex` | 配置文件（严禁修改） |


## 3. 写作风格规范
### 3.1 层次结构与内容组织

**核心原则**：连贯段落优先，列表为辅。

**标题层级**：`\section` → `\subsection` → `\subsubsection` → `enumerate [label={(\arabic*)}]`（作为第四级）

**逐级决策**：

在任意层级下组织内容时，按以下顺序判断：

(1) **能否用连贯段落**？若内容有连贯的逻辑推导、因果关系或叙事性质 → 使用完整段落，到此结束。

(2) **需要细分但内容厚重**？各分支含长句、技术推导或需多段展开 → 使用下一级标题。

(3) **需要细分且内容轻量**？各项简短独立、天然并列 → 使用列表：
   - 有序枚举：`enumerate [label={(\arabic*)}]`
   - 无序快速列举：`itemize`

**硬性约束**：
- 禁止将连贯句子拆解为 `\item`
- 禁止连续两个列表分点之间无实质过渡段（至少一个完整段落）
- 第四级标题后不再允许使用 `enumerate [label={(\arabic*)}]` ，只准用
  pifont 宏包或 `itemize`
- 禁止 `\item` 开头加 `\textbf{}`（除非用户明确要求）

📁 示例 → `references/writing-style.md`


### 3.2 源码行宽

为提升源码可读性，段落文字每行建议控制在 **"30个汉字"或"60个字符（含空格）**左右后手动换行。

**例外**：LaTeX 命令行、`lstlisting` 代码块、表格、公式、长URL、文件路径这些必须在同一行的功能性代码除外。



## 4. 浮动体规范

### 代码块
使用 `lstlisting` 环境，必须指定 `language=`、`caption`、`label=lst:xxx`。
📁 模板 → `snippets/code-block.tex`



### 图形
**决策**：简单示意图 → TikZ | 复杂/外部图 → `includegraphics`

**TikZ 模板** 📁 `snippets/figure-tikz/`：
| 文件 | 适用场景 |
|------|----------|
| `_index.tex` | 基础模板 + 样式参考 |
| `flowchart.tex` | 流程图（条件、循环、步骤） |
| `block.tex` | 框图（架构、模块、布局） |
| `tree.tex` | 树状结构（二叉树、目录、组织） |
| `relation.tex` | 关系图（ER、拓扑、时序、状态机、类图） |
| `data-struct.tex` | 数据结构（内存、指针、链表、数组） |
| `chart.tex` | 图表（坐标系、韦恩图、饼图、柱状图） |

**外部图片** 📁 模板 → `snippets/figure-image.tex`

**约束**：
- 必须 `[H]` 固定位置
- `caption` 在图下方
- `label=fig:xxx`


### 表格
使用三线表（`toprule/midrule/bottomrule`），禁止 `\hline`。

**约束**：
- `caption` 在表上方
- `label=tab:xxx`
- 表头用 `\textbf{}`
- 代码用 `\texttt{}`

📁 模板 → `snippets/table.tex`


## 5. 术语与引用

### 术语格式
中英对照用 `中文 (English)` 格式。
📁 术语表 → `references/glossary.tex`

### 交叉引用
| 引用对象 | 格式 |
|---------|------|
| 章节 | `\ref{sec:xxx}` |
| 代码 | `\ref{lst:xxx}` |
| 图片 | `\ref{fig:xxx}` |
| 表格 | `\ref{tab:xxx}` |

**禁止**：引用不存在的标签。引用前必须确认标签已定义。

