Overleaf下LaTeX两个非主.tex子文件的交叉引用实现问题
跨子文件交叉引用实现方法
分两种项目场景对应处理:
场景1:子文件随主文件统一编译(普通项目默认场景)
如果你的table.tex和results.tex都是通过\input{}或\include{}命令插入到main.tex正文区,最终编译main.tex生成完整文档,无需使用xr包,所有子文件定义的标签全局生效,按常规流程操作即可:
- 在
table.tex的表格环境末尾添加标签:\label{tab:自定义表格标识} - 直接在
results.tex对应位置通过\ref{tab:自定义表格标识}引用即可
需至少编译2次主文件,确保交叉引用编号正常更新。
场景2:子文件需单独编译生成独立PDF
如果需要单独编译两个子文件得到独立输出,使用xr包的操作如下:
- 在
main.tex导言区全局声明\usepackage{xr},无需在子文件重复加载,包的作用范围覆盖整个项目 - 在
results.tex的开头(若子文件有单独导言,放在\documentclass之后)添加命令:\externaldocument{table},无需加.tex后缀 - 正常在
results.tex中使用\ref命令引用table.tex内的标签即可
需先完整编译一次
table.tex生成对应的.aux文件,再编译results.tex才能正确读取引用编号。
内容的提问来源于stack exchange,提问作者Samiur Rahman
相关产品推荐
相关产品推荐

