【Latex第三方文档类standalone】standalone类介绍及应用

1.standalone介绍

standalone 是 LaTeX 的一个第三方文档类(也包含一个同名宏包)。它不是像article、book那样的标准类,而是针对特定场景设计的专用工具,其核心设计理念是:一处编写,多处使用

2.standalone工作机制

standalone的设计主要解决一个特定问题:将大型文档拆分成多个可以独立编译和预览的"零件"。其工作机制大致如下

①在子文件中,作为文档类:你把一张图或一个章节的代码放在一个 .tex 文件中,并将文档类设为 standalone。这样,这个子文件就能独立编译,方便反复修改和预览,同时不会影响主文档的编译效率

②在主文件中,作为宏包:在主体文档(如一篇论文)中,通过 \usepackage{standalone} 加载宏包,它就会自动忽略子文件中与主文件重复的"导言区"(\documentclass, \usepackage 等),只把实质内容部分包含进来

3.standalone核心功能

①独立编译与预览:编写包含 TikZ 绘图、表格或任意文本的 .tex 文件时,可以直接将其作为一个独立的文档来编译。所以可以先在独立的.tex 文件中进行调试,确定无误后再集成到主文档中

②自动裁剪与多格式转换:默认standalone 类会自动裁剪掉页面四周多余的空白,使生成的 PDF 尺寸与内容紧密贴合。通过

border 选项还能精细控制边距

③主文档智能包含:在主文档中,可以使用 \includestandalone或\input命令来包含子文件。比如当主文档的导言区加载了\standalone 宏包后,这些命令会自动忽略子文件中的导言区(如\documentclass 和\usepackage 命令),仅提取内容,有效避免了宏包冲突

4.standalone主要应用场景

①创建独立的矢量插图:这是最流行的用法。特别是用 TikZ、PGFPlots 绘制复杂的科学图表或数据可视化时

②模块化管理大型文档:写学位论文或长篇书籍时,可以将每章内容放在一个独立的 standalone 文件中,分别调试和编译,再可通过\input或\include 命令整合到主文档里,项目管理更方便清晰

③加速编译过程:对于计算量大的复杂图表(如函数图像),standalone 可以配置成只编译一次并保存为 PDF 图片,之后主文档编译时直接插入该图片,能显著缩短编译时间

5.standalone类位置及简洁代码示例

·下面位置表示主程序和存放图象的figures文件夹同级(处于同一文件夹下);图象文件名为myplot,处于figures文件夹下

(1)独立图形代码

bash 复制代码
% 使用 standalone 文档类,并启用 tikz 选项
\documentclass[tikz, border=2pt]{standalone} % 文档类:standalone,自动加载tikz,保留2磅白边
\begin{document}                             
\begin{tikzpicture}                          
  \draw[fill=blue!20] (0,0) circle (1.5cm);  %绘制填充浅蓝色的圆,圆心(0,0),半径1.5cm
  \node at (0,0) {Hello}; %在圆心处放置文字节点"Hello"
\end{tikzpicture}                            
\end{document}                               

(2)主文档

bash 复制代码
\documentclass[UTF8]{ctexart}             
\usepackage{standalone} %加载standalone宏包,用于智能包含子文件
\usepackage{tikz}                            
\begin{document}                             
\section{包含 standalone 图形} 
下方图形来自独立文件,可直接用 \verb|\includestandalone| 插入:
    \begin{figure}[h] %浮动体环境,[h]表示尽量放在此处
      \centering  %内容居中
      \includestandalone{figures/myplot} % 包含子文件(不写.tex扩展名)
      \caption{一个独立的 TikZ 图形} %添加图标题
    \end{figure} 
\end{document}                               

经测试可正常运行显示

相关推荐
得物技术1 小时前
从狂野代码到按目标生产:得物推荐 AI Harness 的工程化实践|AICon 演讲整理
人工智能·算法·架构
AI小老六4 小时前
SkillOpt 架构拆解:把 Skill 文本当参数,用执行轨迹训练 Agent
后端·算法·ai编程
胡萝卜术5 小时前
从“分数打架”到“排名投票”:为什么你的ChatBI必须用RRF?
算法·设计模式·面试
Asize5 小时前
初识DFS 与 BFS:递归、队列与图遍历
算法
罗西的思考19 小时前
机器人 / 强化学习】HIL-SERL:人类在环驱动的具身智能进化框架
人工智能·算法·机器学习
美团技术团队1 天前
LongCat 开源 VitaBench 2.0:长期动态智能体基准新标杆
人工智能·算法
To_OC2 天前
LC 207 课程表:刚学图论那会儿,我连这是拓扑排序都没看出来
javascript·算法·leetcode
To_OC2 天前
LC 208 实现 Trie 前缀树:曾被名字劝退,写完发现是送分题
javascript·算法·leetcode
BadBadBad__AK2 天前
线段树维护区间 k 次方和
c++·数学·算法·stl