Verwendung von acro + nomentbl + hyperref -> Warnung

Erstellen von Index, Glossar, Symbolverzeichnis, einer Nomenklatur etc. mit MakeIndex oder Xindy


Jonny

Verwendung von acro + nomentbl + hyperref -> Warnung

Beitrag von Jonny »

Hi,

da mir ja geraten wurde einen neuen Fred aufzumachen:

Ich konnte mittlerweile herausfinden, dass die Hyperref-Warnung (Tabelle mit gleichem Identifier) nicht alleine von der longtable des acro-Pakets ausgelöst wird. Ich habe noch ein Symbolverzeichnis mit nomentbl drin, was anscheinend auch eine Tabelle erzeugt. Diese beiden sind für den Konflikt verantwortlich.

Wie löse ich das am besten, ohne den Hyperref-Link auf die beiden Verzeichnisse selbst (vom Inhaltsverzeichnis aus) zu deaktivieren?

Code: Alles auswählen

\documentclass[fontsize=12pt,
			   paper=a4,
			   ngerman,
			  ]{scrreprt}

\usepackage{babel} 
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{array} 
\usepackage[sort=true]{acro} 
\usepackage{longtable}

\DeclareAcroListStyle {tabular} {table} 
   {before=\setlength{\LTleft}{0pt},
    table=longtable, 
    table-spec= @{}>{\bfseries}lp{.7\linewidth}@{}
  } 


\acsetup{list-style = tabular, 
         list-heading = addchap} 


\DeclareAcronym{c}{ 
   short = C, 
   long  = Der Buchstabe C
} 

\usepackage[german, intoc]{nomentbl}
\makenomenclature

\usepackage[hidelinks,
			unicode]
			{hyperref}


\begin{document} 
\nomenclature[Aa]{$A$}{Test}{-}%

\pagenumbering{roman}
\printnomenclature
\clearpage

\printacronyms[name={Abkürzung}] 


\ac{c}


\end{document}
Der code braucht einen Index-run für nomentbl (makeindex -s nomentbl.ist -o <filename>.nls <filename>.nlo)

Danke!

saputello
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 99
Registriert: Do 15. Jan 2015, 08:49

Beitrag von saputello »

Das Problem ist, dass die longtable den table-Zähler erhöht und hyperref gleichzeitig diesen Zähler für einen Anker verwendet. Das führt dann zusammen mit anderen Mechanismen von nomentbl zu dem Problem. Solange du keine Tabellen in einem Kapitel mit derselben Nummer hast, die außerdem referenziert werden sollen, spielt das ganze keine Rolle. Wenn es eine Rolle spielt, kann man hyperref dazu zwingen, den Anker für die longtable von \printacronyms nicht abhängig vom Stand des chapter-Zählers zu benennen, indem man entweder \theHtable oder \theHchapter umdefiniert. Hier einmal letzteres, also beispielsweise:

Code: Alles auswählen

\DeclareAcroListStyle {tabular} {table}
   {before=\setlength{\LTleft}{0pt}\def\theHchapter{acro},
    table=longtable,
    table-spec= @{}>{\bfseries}lp{.7\linewidth}@{}
  }
verwendet.
Für die im der anderen Diskussion gezeigten Lösung mit xltabular geht das übrigens genauso.

Jonny

Beitrag von Jonny »

Danke!

Antworten