Non era per custodire informazioni, solo che confidavo in una soluzione generale. Il pacchetto è songs, serve per scrivere canzoni con accordi (http://songs.sourceforge.net/, se lo avete nella TeXlive è probabilmente vecchio, l’ultima versione è la 2.13).
Un esempio minimo compilabile è questo:
`% !TEX encoding = UTF-8 Unicode
\documentclass[10pt]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage[noindexes]{songs} % carico SONGS
\MultiwordChords % accordi sopra più sillabe
%\renewcommand\makeprelude{%
%\resettitles%
%\addcontentsline{toc}{section}{\songtitle}
%\Large\bfseries\sffamily\songtitle
%\nexttitle%
%\foreachtitle{(\songtitle)\par}}
\newcommand{\canzone}{%
\beginchorus
\[G]Can\[Am/G]tiamo \[G]can\[F/G]tiamo
\[C]cantia\[Em]mo \[Am]Cantia\[D]mo. \[G]
\endchorus
\endsong}
\usepackage{hyperref}
\begin{document}
\begin{songs}{}
\songcolumns{2}
\beginsong{canto1}[by={auth1}]
\canzone
\sclearpage
\beginsong{canto2}[by={auth2}]
\canzone
\sclearpage
\beginsong{canto3}[by={auth3}]
\canzone
\sclearpage
\beginsong{canto4}[by={auth4}]
\canzone
\end{songs}
\tableofcontents
\end{document}`
Il codice del pacchetto è, per me, molto complesso. I bookmark in questione sono quelli dei titoli delle canzoni. Il codice che li genera sta nella definizione del comando \SB@endsong.
Se commento le righe in questione:`\ifpdfindex\begingroup%
\ifx\pdfbookmark\undefined\else%
\ifx\pdfbookmark\relax\else%
\resettitles%
\pdfbookmark[\ifnum\c@section=\z@1\else2\fi]%
{\thesongnum. \songtitle}%
{song\theSB@songsnum-\thesongnum}%
\fi\fi%
\endgroup\fi%`
i bookmark non vengono generati e non ottengo errori.
Se poi decommento le 6 righe del mio e.m.c. ottengo una tableofcontents corretta e dei bookmark sbagliati, che rimandano tutti alla prima canzone. Si potrebbe aggiustare questa soluzione, ma in realtà volevo evitare di modificare eccessivamente il codice del pacchetto.
Fran