使用包静默禁用“具有相同标识符的目的地”

使用包静默禁用“具有相同标识符的目的地”

我正在尝试禁用警告

pdfTeX warning (ext4): destination with the same identifier (name{thm.1}) has been already used, duplicate ignored"

silence按照这里建议的方式使用包:我如何摆脱特定的 pdftex 警告信息?

上面链接中的示例:

\documentclass{article}

\usepackage{amsthm}
\usepackage{hyperref}
\usepackage{cleveref}

\usepackage{silence}
\WarningFilter{pdftex}{destination with the same}

\newtheorem{thm}{Theorem}
\newtheorem{lem}[thm]{Lemma}

\begin{document}

\begin{lem}
Lemma
\end{lem}

\end{document}

警告未被过滤。使用 MiKTeX。

编辑:此示例仅用于说明目的,我有一个完全不同的文档,它让我很头疼。它非常庞大,可能导入了 50-100 个包,因此无法从中获取 MWE。它涉及的是图形,而不是定理。我想要的不是修改文档,不是重新排序 \usepackage 命令,而只是禁用警告。对于这一点,上面的例子就足够了。

有办法吗?要么使用静默,要么使用等效方法,要么使用乳胶构建包装器。

答案1

您无法通过软件包来消除这些警告silence,因为它们直接来自pdftex引擎,而不是由软件包发出的。它的行为与Overfull \hbox警告相同,无法消除。

您可以通过更改包的加载顺序来解决问题:

\documentclass{article}

\usepackage{hyperref}
\usepackage{amsthm}
\usepackage{cleveref}

\newtheorem{thm}{Theorem}
\newtheorem{lem}[thm]{Lemma}

\begin{document}

\begin{lem}\label{x}
Lemma
\end{lem}

\newpage

\ref{x}

\cref{x}

\end{document}

以下是终端的记录

This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
(./bogdanas.tex
LaTeX2e <2014/05/01>
Babel <3.9l> and hyphenation patterns for 79 languages loaded.
(/usr/local/texlive/2014/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2014/texmf-dist/tex/latex/base/size10.clo))
(/usr/local/texlive/2014/texmf-dist/tex/latex/hyperref/hyperref.sty
(/usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
(/usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty))
(/usr/local/texlive/2014/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/local/texlive/2014/texmf-dist/tex/generic/ifxetex/ifxetex.sty)
(/usr/local/texlive/2014/texmf-dist/tex/latex/oberdiek/auxhook.sty)
(/usr/local/texlive/2014/texmf-dist/tex/latex/oberdiek/kvoptions.sty)
(/usr/local/texlive/2014/texmf-dist/tex/latex/hyperref/pd1enc.def)
(/usr/local/texlive/2014/texmf-dist/tex/latex/latexconfig/hyperref.cfg)
(/usr/local/texlive/2014/texmf-dist/tex/latex/url/url.sty))

Package hyperref Message: Driver (autodetected): hpdftex.

(/usr/local/texlive/2014/texmf-dist/tex/latex/hyperref/hpdftex.def
(/usr/local/texlive/2014/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty))
(/usr/local/texlive/2014/texmf-dist/tex/latex/amscls/amsthm.sty)
(/usr/local/texlive/2014/texmf-dist/tex/latex/cleveref/cleveref.sty)
(./bogdanas.aux)
(/usr/local/texlive/2014/texmf-dist/tex/latex/hyperref/nameref.sty
(/usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/gettitlestring.sty))
(./bogdanas.out) (./bogdanas.out) [1{/usr/local/texlive/2014/texmf-var/fonts/ma
p/pdftex/updmap/pdftex.map}] [2] (./bogdanas.aux) )</usr/local/texlive/2014/tex
mf-dist/fonts/type1/public/amsfonts/cm/cmbx10.pfb></usr/local/texlive/2014/texm
f-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/local/texlive/2014/texmf-
dist/fonts/type1/public/amsfonts/cm/cmti10.pfb>
Output written on bogdanas.pdf (2 pages, 30387 bytes).
Transcript written on bogdanas.log.

您还可以检查链接是否正确形成。

相关内容