Re: tableof/hyperref-Problem

Ulrike Fischer <[email protected]>
Newsgroups gmane.comp.tex.german
Message-ID <[email protected]>
Am Fri, 23 Aug 2024 15:18:20 +0200 schrieb Ekkart Kleinod:

> Hallöle, 
> 
> ich habe das Problem, dass tableof nicht mehr funktioniert, seit
> ich mein TeX aktualisiert habe (TeXLive 2023 auf 2024). 
> 
> Ich hab es schon soweit eingegrenzt, dass hyperref nicht mehr mit
> tableof zusammenarbeitet (siehe Minimalbeispiel). 
> 
> Meine Frage jetzt: was tun? Sollte ich tableof nicht mehr
> verwenden? Schreib ich den Maintainer von tableof oder von
> hyperref an? Oder ist das ein ganz anderes Problem und ich bin
> auf dem Holzweg?
 
tableof tested ob \hyper@last definiert ist, aber da seit einiger
Zeit sowohl im Kernel also auch in hyperref \contentsline immer 4
Argumente hat, wurde das nicht mehr gebraucht und wurde in hyperref
entfernt. 

Ein vorläufiger Workaround ist einfach das in die Präambel zu
schreiben:

\makeatletter\def\hyper@last{}\makeatother

Grundsätzlich sollte tableof aber ansonsten seinen hyperref Test
entfernen, der ist nicht mehr nötig. Also 

\AtBeginDocument{
    \addtocontents{toc}{\string\@ifundefined{tof@begin}%
       {\global\let\string\tof@begin\relax
        \global\let\string\tof@finish\string\@empty
        \global\let\string\tof@starttags\string\@gobble
        \global\let\string\tof@stoptags\string\@gobble
        \global\let\string\tof@tagthis\string\@gobble
        \global\let\string\tof@untagthis\string\@gobble}\relax}
    \addtocontents{toc}{\string\tof@begin}
    \@ifpackageloaded{hyperref}
       {\def\tof@gobblethree@orfour#1#2#3#4{}%
        \ifx\hyper@last\@undefined\tof@toctoks{}\fi}
       {\def\tof@gobblethree@orfour#1#2#3{}}}

kann m.E. nun so aussehen

\AtBeginDocument{
    \addtocontents{toc}{\string\@ifundefined{tof@begin}%
       {\global\let\string\tof@begin\relax
        \global\let\string\tof@finish\string\@empty
        \global\let\string\tof@starttags\string\@gobble
        \global\let\string\tof@stoptags\string\@gobble
        \global\let\string\tof@tagthis\string\@gobble
        \global\let\string\tof@untagthis\string\@gobble}\relax}
    \addtocontents{toc}{\string\tof@begin}
    \def\tof@gobblethree@orfour#1#2#3#4{}}

Also schreibe dem Autor. (Er könnte auch \tof@gobblethree@orfour in 
\tof@gobblefour unbenennen, oder direct \@gobblefour benutzen).



-- 
Ulrike Fischer 
http://www.troubleshooting-tex.de/

-- 
FAQ: http://texfragen.de/
Durchsuchbares Archiv: https://www.listserv.dfn.de/sympa/arc/tex-d-l 
Unsubscribe/Verwaltung: https://www.listserv.dfn.de/sympa/info/tex-d-l
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.