
Eu adiciono marcadores a todas as seções do meu projeto da seguinte maneira:
\section{Introduction}
\hypertarget{intro}{}
Some text.
Eu uso esses marcadores posteriormente em links de URL https://example.com/my-document.pdf#intro
.
Cada vez que crio uma URL referente a uma determinada seção, preciso voltar ao meu projeto LaTeX e procurar o nome do favorito, pois tenho muitos deles. Gostaria de ter uma lista de todos os meus favoritos (de preferência justapostos aos nomes das seções que eles marcam).
Eu sei que a lista de todos os favoritos pode ser gerada compdfinfona linha de comando. No entanto, junto com os marcadores de que preciso, recebo todos os tipos de outros marcadores adicionados pelo LaTeX e irrelevantes para mim:
1 [ XYZ 57 785 null ] "Doc-Start"
1 [ XYZ 56 823 null ] "page.1"
2 [ XYZ 57 711 null ] "section.1"
3 [ XYZ 57 751 null ] "intro"
5 [ XYZ 57 666 null ] "lstlisting.-1"
5 [ XYZ 104 668 null ] "lstnumber.-1.1"
6 [ XYZ 57 785 null ] "subsection.1.1"
Então é possível gerar uma lista de favoritos criados por mim com \hypertarget
? Ficarei feliz com qualquer uma: a solução de linha de comando ou uma macro LaTeX.
Responder1
Eu tentei mexer em mim mesmo e descobri algunssujomas solução funcional graças aeste tópicoeeste tópico. Eu gostaria de poder encontrar um melhor, mas preciso de mais experiência. Ainda espero que alguém possa oferecer uma solução mais elegante.
Minha solução suja:
\documentclass{article}
% Corrects issues with compatibility of XeLaTeX
% and hyperref to create bookmarks
\special{dvipdfmx:config C 0x0010}
\usepackage{hyperref}
\usepackage{newfloat}% for listof
\usepackage{comment}
%\begin{comment}
% temp code for list of bookmarks
\DeclareFloatingEnvironment[fileext=bkmrk]{bookmark}
\makeatletter
\newcommand*{\currentname}{\@currentlabelname}
\renewcommand*{\hypertarget}[2]{
\addcontentsline{bkmrk}{bookmark}{\currentname \qquad | \qquad #1}%
}
\makeatother
\AtBeginDocument{\listofbookmarks}
% end of temp code
%\end{comment}
\begin{document}
\newpage
\section{First Section}
\hypertarget{first}{}
\newpage
\section{Second Section}
\hypertarget{second}{}
\newpage
\section{Third Section}
\hypertarget{third}{}
\end{document}
Isso me dá isso:
Pouco antes de compilar meu PDF final, faço o seguinte:
- Remova o comentário do código da lista de favoritos
- Compile o PDF para gerar a lista de favoritos
- Copie os favoritos para o Excel (esta etapa requer muita edição de texto)
- Comente o código da lista de favoritos
Depois compilo o PDF para publicação.