Marcadores de PDF de acordo com títulos ou rótulos de figuras

Marcadores de PDF de acordo com títulos ou rótulos de figuras

Tenho dezenas de figuras que irei incluir em um arquivo PDF usando a seguinte combinação de código:

% allpdfs.tex
\documentclass{article}
\usepackage{pdfpages}
\newcommand{\myimagelist}[2]{\includepdf[fitpaper=true]{#2}}

\begin{document}
\input{filelist}
\end{document}

onde minha lista de arquivos contém figuras em PDF e suas localizações:

% filelist.tex
\myimagelist{some label}{some path/pdffile1}
\myimagelist{some other label}{some path/pdffile2}
% ....

minha pergunta é: como modifico o primeiro código para incluir marcadores no PDF de acordo com os títulos ou rótulos das figuras que estou incluindo nele?

Responder1

Opção linkde \includepdfadicionar um link <file name>.<page number>para cada página incluída. Isso pode ser usado para especificar o destino de um link de marcador:

\documentclass{article}
\usepackage{pdfpages}
\usepackage{hyperref}
\usepackage{bookmark}

\bookmarksetup{
  numbered,
  open,
}

\newcommand*{\myimagelist}[2]{%
  \bookmark[
    dest={#2.1},% see option `linkname' of \includepdf
    keeplevel,
    rellevel=1,
  ]{#1 (\detokenize{#2})}%
  \includepdf[
    fitpaper,
    link,
    % linkname={#2},% see option `dest' of \bookmark
  ]{#2}%
}

\begin{document}

\section{Images}

\myimagelist{some label}{some path/pdffile1}
\myimagelist{some other label}{some path/pdffile2}

\end{document}

No exemplo acima, o marcador contém o rótulo e o nome do arquivo é anexado entre parênteses. Também é possível colocar o nome do arquivo em outro marcador:

\newcommand*{\myimagelist}[2]{%
  \bookmark[
    dest={#2.1},% see option `linkname' of \includepdf
    keeplevel,
    rellevel=1,
  ]{#1}%
  \bookmark[
    dest={#2.1},% see option `linkname' of \includepdf
    keeplevel,
    rellevel=2,
  ]{\detokenize{#2}}%
  \includepdf[
    fitpaper,
    link,
    % linkname={#2},% see option `dest' of \bookmark
  ]{#2}%
}

Coloquei o nome do arquivo \detokenizepara evitar problemas com _.

informação relacionada