Subject: Re: bug#73530: [PATCH] Add imenu index function for Djvu files in doc-view

From: Tassilo Horn <[email-masked]>
Date: Wed, 02 Oct 2024 16:53:33 +0200

Visuwesh <[email-masked]> writes:

>> Unfortunately, I didn't find a PDF nor DjVu document on my computer
>> where an index can be built.  I have the relevant tools installed but
>> get the message that no index can be built for that document and
>> doc-view--outline becomes 'unavailable.
>>
>> I've tried various PDFs generated by LaTeX with many section,
>> subsections, etc.
>
> The PDF generated by LaTeX can have a wildly different outline than
> matched by doc-view's regexp:
>
>     % mutool show test.pdf outline
>     |	"Text"	#nameddest=section.1
>     |	"Annotations"	#nameddest=section.2
>
> Compare it with:
>
>     % mutool show atkins_physical_chemistry.pdf outline
>     |	"Cover"	#page=1&view=Fit
>     |	"PREFACE"	#page=7&view=Fit
>     |	"USING THE BOOK"	#page=8&view=Fit

Ok, I see.  All my LaTeX PDFs have #nameddest=section.x values instead
of #page=X values, so that's the reason they don't work.  It would be
good if we could mention that it won't work because there are no page
references in the outline in the error message.

>> For DjVu, my sample size is 1, and that's a presentation, so at least
>> here I'm not sure if there should be an index available...
>
> I will send the link to the DjVu file that I wrote the feature for
> off-list.  I will send a link to a PDF file too.

Thanks, will try with those two files.

> On this note, should we use doc-view-pdfdraw-program in place of mutool
> in doc-view--pdf-outline?

Yes, but only if the older names pdfdraw and mudraw already had the
"show <file> outline" feature.

>> Well, I actually have no strong opinion here.  Technically, I like
>> your approach better because of its simplicity.  I would like to test
>> with some larger documents to see how long index building takes,
>> though.
>
> I tried the function with a large PDF file:

Will try with the large two you've linked later.

Thanks,
  Tassilo