Probleme mit listof=entryprefix und Anhangsverzeichnis

Klassen und Pakete zur einfachen Umsetzung individueller Vorstellungen


markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Probleme mit listof=entryprefix und Anhangsverzeichnis

Beitrag von markusv »

Hallo liebes Forum.

Im Zusammenhang mit dem durch M. Kohm bereit gestellten Code zum Anhangsverzeichnis (https://komascript.de/comment/5578#comment-5578) bin ich auf einen kleinen aber feinen Fehler gestoßen. In Verbindung mit der Option listof=entryprefix erscheint in den Verzeichniseinträgen für Abb. und Tab. ein Alot statt "Abbildung" und "Tabelle".

Wie kann man dies beheben?

Crosspost: https://komascript.de/comment/5609#comment-5609

Zur leichteren Ansicht der Code, wie erwähnt nach M.Kohm (siehe Link oben):
\documentclass[listof=totoc,index=totoc,listof=entryprefix]{scrbook}
 
\usepackage{ifxetex,ifluatex}
\ifcase \ifxetex 1\else\ifluatex 1\else 0\fi\fi\usepackage[utf8]{inputenc}\fi
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern}
 
\usepackage{makeidx}\makeindex% Nur als Beispiel
 
\usepackage{mwe}
\usepackage{hyperref}% Weil es so in der Frage enthalten war.
\usepackage{bookmark}% Weil das hyperref deutlich verbesser.
 
\DeclareNewTOC[%
  owner=\jobname,
  listname={Inhalt des Anhangs},% Titel des Verzeichnisses
]{atoc}% Dateierweiterung (a=appendix, toc=table of contents)
\DeclareNewTOC[%
  listname={Abbildungen im Anhang},% Titel des Verzeichnisses
]{alof}% Dateierweiterung (a=appendix, lof=list of figures)
\DeclareNewTOC[%
  listname={Tabellen im Anhang},% Titel des Verzeichnisses
]{alot}% Dateierweiterung (a=appendix, lot=list of tables)
 
\makeatletter
\newcommand*{\useappendixtocs}{%
  \renewcommand*{\ext@toc}{atoc}%
  \scr@ifundefinedorrelax{hypersetup}{}{% damit es auch ohne hyperref funktioniert
    \hypersetup{bookmarkstype=atoc}%
  }%
  \renewcommand*{\ext@figure}{alof}%
  \renewcommand*{\ext@table}{alot}%
}
\newcommand*{\usestandardtocs}{%
  \renewcommand*{\ext@toc}{toc}%
  \scr@ifundefinedorrelax{hypersetup}{}{% damit es auch ohne hyperref funktioniert
    \hypersetup{bookmarkstype=toc}%
  }%
  \renewcommand*{\ext@figure}{lof}%
  \renewcommand*{\ext@table}{lot}%
}
\ifundefinedorrelax{ext@toc}{%
  \newcommand*{\ext@toc}{toc}
  \renewcommand{\addtocentrydefault}[3]{%
    \expandafter\tocbasic@addxcontentsline\expandafter{\ext@toc}{#1}{#2}{#3}%
  }
}{}
\makeatother
 
\usepackage{xpatch}
\xapptocmd\appendix{%
  \addpart{\appendixname}
  \useappendixtocs
  \listofatocs
  \listofalofs
  \listofalots
}{}{}
 
\begin{document}
\tableofcontents
\listoffigures
\listoftables
\blinddocument
 
% Es folgen Modifikationen des Originalcodes:
\begin{figure}[!h]
\centering
\rule{5cm}{2cm}
\caption{test-fig-main}
\end{figure}
 
\begin{table}[h]
  \caption{test-tab-main\index{main}}
  \noindent
  \centering
    \begin{tabular}{|c|c|}
      \hline
      a & b\tabularnewline
      \hline\hline
      1 & 2\tabularnewline
      \hline
    \end{tabular}
\end{table}
 
\appendix
\blinddocument
 
\begin{figure}[!h]
  \centering
  \rule{5cm}{2cm}
  \caption{test-fig-appendix}
\end{figure}
 
\begin{table}[h]
  \caption{test-tab-appendix}
  \noindent
  \centering
    \begin{tabular}{|c|c|}
      \hline
      a & b\tabularnewline
      \hline\hline
      1 & 2\tabularnewline
      \hline
    \end{tabular}
\end{table}
 
\usestandardtocs
\bookmarksetup{startatroot}% siehe bookmark-Anleitung
\printindex% nur als Beispiel
 
\end{document} 
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Indem du z.B. name=Abbildung benutzt. Oder den toc-Style änderst.

markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

Im verlinkten Crosspost wurde von esdd eine Antwort mit mehreren Varianten hinterlegt. Ich schließe hiermit das Thema.
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

Gesperrt