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}