我正在撰写论文,正在使用命令\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*
和命令也不起作用。我做错了什么?我该如何避免这些警告?\WarningFilter
silence
答案1
\includeonly
由于您似乎只在处理一个章节时使用,hyperref
因此您可能不需要任何生成的链接。因此请考虑使用draft
包选项。
另一个更笨拙的可能性:\renewcommand
为包中的宏编写 s(或包装器)hyperref
。将它们放在序言中紧挨着 的地方\includeonly
,这样在编译整个论文时,您就会记得将这些东西全部注释掉。
答案2
这是来自包裹的警告hyperref
。
使用时,您创建的指向其他章节的超链接不存在\includeonly
,但引用本身当然仍然有效。
你会注意到,当你编译整个文档时,你不会收到警告,因为超链接做在这种情况下存在。
答案3
我发现这种方法非常实用:
\includeonly{mainchapter} \hypersetup{draft}
因此,当您从完整文档切换到单个章节时,您可以注释/取消注释整行。