使用 \includeonly 时出现“引用不存在”警告

使用 \includeonly 时出现“引用不存在”警告

我正在撰写论文,正在使用命令\include分离文件。但是,当我使用命令\includeonly选择当前章节时,该章节引用了algorithm2e其他章节中的图表、定理和代码块,我在输出 PDF 文件中获得了正确的引用,同时出现了以下警告:

name{..} has been referenced but does not exist, replaced by a fixed one

根据我在 上读到的所有内容\includeonly,我认为这不是其预期的行为。这是我正在使用的 序言。

\documentclass[pdftex,11pt,a4paper,twoside]{book}
\special{papersize=210mm,297mm}
\usepackage[slide,algochapter,linesnumbered,algoruled,vlined]{algorithm2e}
\usepackage{enumitem,IEEEtrantools,graphics,float,amsmath,amssymb,fullpage}
\usepackage{verbatim,tabularx,graphicx,setspace,sectsty,microtype}
\usepackage[a4paper,margin=1in,left=35mm]{geometry}
\usepackage[unicode,colorlinks,linktocpage=true]{hyperref}
\usepackage[all]{hypcap}
\usepackage{amsthm}
\usepackage[nameinlink,capitalise,noabbrev]{cleveref}

由于某种原因,包的\WarningsOff*和命令也不起作用。我做错了什么?我该如何避免这些警告?\WarningFiltersilence

答案1

\includeonly由于您似乎只在处理一个章节时使用,hyperref因此您可能不需要任何生成的链接。因此请考虑使用draft包选项。

另一个更笨拙的可能性:\renewcommand为包中的宏编写 s(或包装器)hyperref。将它们放在序言中紧挨着 的地方\includeonly,这样在编译整个论文时,您就会记得将这些东西全部注释掉。

答案2

这是来自包裹的警告hyperref

使用时,您创建的指向其他章节的超链接不存在\includeonly,但引用本身当然仍然有效。

你会注意到,当你编译整个文档时,你不会收到警告,因为超链接在这种情况下存在。

答案3

我发现这种方法非常实用:

\includeonly{mainchapter} \hypersetup{draft}

因此,当您从完整文档切换到单个章节时,您可以注释/取消注释整行。

相关内容