ShareLaTeX中如何为公式自动添加编号?导言区问题解决
公式编号失效的原因与解决方法
基础逻辑说明
- 你当前使用的
\[ ... \]是LaTeX原生的无编号行间公式环境,该环境从设计上就不会生成自动公式编号,哪怕导言区完全正常,用这个写法也不会出现编号。 - 你提供的导言区存在多处语法错误和宏包冲突,会直接中断编译流程,导致包括
equation环境在内的所有正文环境无法正常运行。
导言区必须修正的问题
- 存在未完成的语法错误:导言区独立一行的
\usepackage[utf8]没有指定要加载的宏包名称,会直接触发编译报错,让文档停在导言区环节无法继续编译,所有正文内容(公式、章节、表格等)都无法正常渲染。 - 宏包重复加载、选项互相冲突:
- natbib累计加载3次,先后设置了
[round]、方括号引用样式、[numbers]三套完全冲突的引用格式 - caption累计加载4次,每次都携带不同的格式参数
- geometry累计加载4次,先后设置a4纸、1.1英寸边距、信纸尺寸、1英寸边距等互相冲突的页面参数
- graphicx、amsmath、subcaption、float、nomencl等宏包都存在2-3次的重复加载
重复加载带参数的宏包会直接触发编译错误或排版逻辑混乱,是公式环境无法运行的核心诱因。
- natbib累计加载3次,先后设置了
- 存在命令书写粘连问题:自定义
\mcl宏的代码行末尾直接接了geometry的加载命令,没有换行分隔,属于容易引发语法歧义的冗余代码。
自动编号的实现步骤
- 先清理导言区:删掉所有重复加载的宏包、未写完的错误代码行,每个宏包只保留一次加载记录,统一保留你最终需要的格式参数即可。
- 将原有公式替换为标准带编号的
equation环境:
\begin{equation} \frac{\delta u}{\delta x} + \frac{\delta v}{\delta y} = 0 \end{equation}
该环境会自动按文档顺序为公式生成连续编号,不需要额外添加配置。
3. 临时替代方案:如果不想修改原有公式的书写结构,可在\[ ... \]块内的公式末尾添加\tag{编号内容}实现编号展示,但该方式无法和文档的公式计数逻辑联动,不推荐长期使用。
内容的提问来源于stack exchange,提问作者Zahra
相关产品推荐
相关产品推荐

