刪除 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}

相關內容