删除 LOT(LOF)中表格(图)号的超链接

删除 LOT(LOF)中表格(图)号的超链接

etoc是否可以使用该包以类似于章节、节和小节的方式从表格列表(或图表列表)中的表格编号(或图表编号)中删除超链接?

例如,

\usepackage{etoc}
\makeatletter
\let\latchapter\l@chapter
\etocsetstyle{chapter}{}{}{\latchapter{\numberline{\etocthenumber}\etocname}{\etocpage}}{}
\makeatother

为简介章节生成以下内容:

这样超链接就从左侧的数字“1”中删除了,这正是我想要的。

但是,图表列表中仍然有该数字的超链接:

在此处输入图片描述

那么,我怎样才能删除“1.1”中的超链接?

[编辑] 这是一个最小的工作示例:

\documentclass{book}
\usepackage{xcolor}
\usepackage[colorlinks=true, linkcolor=purple]{hyperref}

\usepackage{etoc}
\makeatletter
\let\latchapter\l@chapter
\etocsetstyle{chapter}{}{}
{\latchapter{\numberline{\etocthenumber}\etocname}{\etocpage}}{}
\makeatother

\begin{document}

\tableofcontents
\listoffigures

\chapter{Introduction}
\begin{figure}
    \caption[Arp~220 SED]{}
\end{figure}

\end{document}

答案1

显然,etoc 仅影响 TOC,而不影响 LOF。

事实证明,有一个 hyperref 选项可以禁用页面引用,所以我能够使用我的解决方案从这里没有任何变化。

\documentclass{book}
\usepackage{xcolor}
\usepackage[colorlinks=true, linkcolor=purple, linktocpage=false]{hyperref}

% begin code to remove section numbers from the TOC
\makeatletter
\newcommand{\@savenumber}{}% reserve global names
\newcommand{\@savetitle}{}

\def\contentsline#1#2#3#4{%
  %\hypertarget{toc.#4}{}% set up backlink
  \bgroup% separate \numberline from title
    \renewcommand{\numberline}[1]{\xdef\@savenumber{##1}}%
    \sbox0{#2}%
    \let\numberline=\@gobble
    \xdef\@savetitle{#2}%
  \egroup
  \begingroup
    \Hy@safe@activestrue
  \edef\x{\endgroup
    \def\noexpand\Hy@tocdestname{#4}%
  }\x
  \ifx\Hy@tocdestname\ltx@empty
    \csname l@#1\endcsname{#2}{#3}%
  \else
    \ifcase\Hy@linktoc % none
      \csname l@#1\endcsname{#2}{#3}%
    \or % section
      \csname l@#1\endcsname{\numberline{\@savenumber}%
        \hyper@linkstart{link}{\Hy@tocdestname}{\@savetitle}\hyper@linkend
      }{#3}%
    \or % page
      \def\Hy@temp{#3}%
      \ifx\Hy@temp\ltx@empty
        \csname l@#1\endcsname{#2}{#3}%
      \else
        \csname l@#1\endcsname{{#2}}{%
          \hyper@linkstart{link}{\Hy@tocdestname}{#3}\hyper@linkend
        }%
      \fi
    \else % all
      \def\Hy@temp{#3}%
      \ifx\Hy@temp\ltx@empty
        \csname l@#1\endcsname{\numberline{\@savenumber}%
          \hyper@linkstart{link}{\Hy@tocdestname}{\@savetitle}\hyper@linkend
        \egroup}{}%
      \else
        \csname l@#1\endcsname{\numberline{\@savenumber}%
          \hyper@linkstart{link}{\Hy@tocdestname}{\@savetitle}\hyper@linkend
        }{%
          \hyper@linkstart{link}{\Hy@tocdestname}{#3}\hyper@linkend
        }%
      \fi
    \fi
  \fi
}
\makeatother

\begin{document}

\tableofcontents
\listoffigures

\chapter{Introduction}
\begin{figure}
    \caption[Arp~220 SED]{}
\end{figure}

\end{document}

相关内容