Seite 1 von 1

Abbildungsverzeichnis Name ändern

Verfasst: Do 28. Feb 2019, 11:05
von emeran
Hallo Zusammen,
ich möchte im Abbildungsverzeichnis den Namen ändern, funktioniert auch mit

Code: Alles auswählen

\renewcommand{\listfigurename}{Abbildungen}
Wenn ich jedoch das Paket

Code: Alles auswählen

 \usepackage[ngerman]{babel} 
verwende anstatt

Code: Alles auswählen

 \usepackage{german} 
dann wird die Anweisung für das Ändern des Namens unwirksam.
Aber beim german Paket wird die Referenz auf die Abbildung nicht mehr übersetzt.

Weiß jemand eine Möglichkeit, die Übersetzung hinzubekommen oder den Namen zu ändern, bei Verwendung des jeweiligen Pakets?

Code: Alles auswählen

\documentclass[11pt,a4paper]{article}
\usepackage[utf8]{inputenc}
%\usepackage[ngerman]{babel}
\usepackage{german}

\usepackage{tocloft}
\renewcommand{\cftfigpresnum}{Abbildung }  % Abbildungen sollen nicht nur nummeriert sein
\setlength{\cftfignumwidth}{2.5cm}         % Abstand Text zu Nummerierung einstellen

\renewcommand{\listfigurename}{Abbildungen} % Name des Abbildungsverzeichnisses ändern

\usepackage[colorlinks=true,linkcolor=blue,urlcolor=black]{hyperref}
\begin{document}
\tableofcontents
\newpage
\section{eins}
\begin{figure}[h]
  \caption{erstes Bild} \label{fig:eins}
\end{figure}
\newpage
\section{zwei}
%Hier ein bisschen Text. ä ö \glqq hdsjghlkdsf\grqq fff
Und auch noch eine Referenz auf \autoref{fig:eins} auf \autopageref{fig:eins}, das solls dann gewesen sein.
\section{Anhang}
\subsection{Abbildungsverzeichnis}
\listoffigures
\end{document}

Verfasst: Do 28. Feb 2019, 11:38
von Gast
Bei der Verwendung von babel (das meiner Meinung nach auf jeden Fall dem Paket ngerman vorzuziehen ist) musst Du die Strings etwas anders umdefinieren. Das Zauberwort heißt \addto\captionsngerman Siehe https://tex.stackexchange.com/q/82993/35864 und https://tex.stackexchange.com/q/28516/35864

Code: Alles auswählen

\documentclass[11pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{tocloft}
\renewcommand{\cftfigpresnum}{Abbildung }  % Abbildungen sollen nicht nur nummeriert sein
\setlength{\cftfignumwidth}{2.5cm}         % Abstand Text zu Nummerierung einstellen


\addto\captionsngerman{%
  \renewcommand{\listfigurename}%
    {Abbildungen}%
}

\usepackage[colorlinks=true,linkcolor=blue,urlcolor=black]{hyperref}
\begin{document}
\tableofcontents
\newpage
\section{eins}
\begin{figure}[h]
  \caption{erstes Bild} \label{fig:eins}
\end{figure}
\newpage
\section{zwei}
%Hier ein bisschen Text. ä ö \glqq hdsjghlkdsf\grqq fff
Und auch noch eine Referenz auf \autoref{fig:eins} auf \autopageref{fig:eins}, das solls dann gewesen sein.
\section{Anhang}
\subsection{Abbildungsverzeichnis}
\listoffigures
\end{document}
Ich finde es etwas befremdlich, \subsection{Abbildungsverzeichnis} und die Überschrift von \listoffigures zu kombinieren, das sieht doch etwas redundant aus. Mit tocloft ist es aber anscheinend etwas tricky, die Standardlösung tocbibind zu nutzen https://tex.stackexchange.com/q/150608/35864 Die KOMA-Klassen böten da out of the box mehr Möglichkeiten, die auch untereinander vernünftig kompatibel sind.

Ferner suggeriert der Aufruf von \newpage vor den \sections, dass Du eigentlich eher \chapters (von report oder book) möchtest, die beginnen nämlich von sich aus auf einer neuen Seite.

Verfasst: Do 28. Feb 2019, 11:57
von emeran
Besten Dank für die Lösung und auch für die Links.

Das mit dem redundanten Abbildungsverzeichnis ist tatsächlich nicht schön, aber Vorgabe ist, alle Tabellen und Abbildungen in der \subsection mit Namen Abbildungsverzeichnis unterzubringen.

Verfasst: Do 28. Feb 2019, 11:59
von markusv
Mit einer [d]KOMA-Script[/d]-Klasse kannst du auf tocloft verzichten.

Hier böte sich dann auch

Code: Alles auswählen

\renewcaptionname{ngerman}{\listfigurename}{Abbildungen}
an.
emeran hat geschrieben:Das mit dem redundanten Abbildungsverzeichnis ist tatsächlich nicht schön, aber Vorgabe ist, alle Tabellen und Abbildungen in der \subsection mit Namen Abbildungsverzeichnis unterzubringen.
Dann verzichte doch einfach auf die Umbenennung:

Code: Alles auswählen

\documentclass[
ngerman,%global laden ist besser
listof=leveldown,%Verzeichnisse als subsection
listof=totocnumbered,%Verzeichnisse nummeriert
listof=entryprefix %Mit Bezeichnung im Verzeichnis
]{scrartcl}
\usepackage[utf8]{inputenc}%für aktuelle LaTeX-Version überflüssig,
                           %für Overleaf noch notwendig

\usepackage{babel}
\usepackage[colorlinks=true,linkcolor=blue,urlcolor=black]{hyperref}
\begin{document}
\tableofcontents
\section{eins}
\begin{figure}[h]
  \caption{erstes Bild} \label{fig:eins}
\end{figure}
\section{zwei}
Und auch noch eine Referenz auf \autoref{fig:eins} auf \autopageref{fig:eins}, das solls dann gewesen sein.
\section{Anhang}
\listoffigures
%\listoftables
\end{document}

Verfasst: Do 28. Feb 2019, 12:33
von emeran
Auch Dir Besten Dank markusv. Das werde ich sicherlich beim nächsten Dokument so verwenden.


Dieses Mal wirds aber bei dem hier bleiben, so soll es in etwa aussehen. Unter dem Punkt Abbildungsverzeichnis sollen beide Verzeichnisse erscheinen, Tabellen und Abbildungen.

Code: Alles auswählen

\documentclass[11pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
%\usepackage{german}

\usepackage{tocloft}
\renewcommand{\cftfigpresnum}{Abbildung }  % Abbildungen sollen nicht nur nummeriert sein
\setlength{\cftfignumwidth}{2.5cm}         % Abstand Text zu Nummerierung einstellen
\renewcommand{\cfttabpresnum}{Tabelle }  
\setlength{\cfttabnumwidth}{2.5cm}         

\addto\captionsngerman{%
  \renewcommand{\listfigurename}%
    {}%
}

\addto\captionsngerman{%
  \renewcommand{\listtablename}%
    {}%
}

\usepackage[colorlinks=true,linkcolor=blue,urlcolor=black]{hyperref}
\begin{document}
\tableofcontents
\newpage
\section{eins}
\begin{figure}[h]
  \caption{erstes Bild} \label{fig:eins}
\end{figure}
\newpage
\section{zwei}
\begin{table}[h]
\caption{erste Tabelle} \label{tab:ersteTabelle}
\end{table}
Hier ein bisschen Text. ä ö \glqq hdsjghlkdsf\grqq fff
Und auch noch eine Referenz auf \autoref{fig:eins} auf \autopageref{fig:eins}, das solls dann gewesen sein.
\section{Anhang}
\subsection{Abbildungsverzeichnis}
\listoffigures
\listoftables
\end{document}

Verfasst: Do 28. Feb 2019, 13:39
von markusv
Gern. Man muss übrigens auch nicht jede Vorgabe ohne weiteres übernehmen, besonders, wenn es sich um solch eine -- entschuldige meine Direktheit -- schwachsinnige Vorgabe handelt, Tabellen unter dem Abbildungsverzeichnis zu führen.

Übrigens wäre dies mit KOMA-Script auch sauberer möglich:

Code: Alles auswählen

\documentclass[listof=entryprefix]{scrartcl} 
\usepackage[utf8]{inputenc} 
\usepackage[ngerman]{babel} 

\makeatletter
\renewcommand{\listoffigures}{%
  \tocbasic@starttoc{lof}}
\renewcommand{\listoftables}{%
  \tocbasic@starttoc{lot}}
\makeatother

\usepackage[colorlinks=true,linkcolor=blue,urlcolor=black]{hyperref} 

\begin{document} 
\tableofcontents 
\section{eins} 
\captionof{figure}{erstes Bild} %eine Bildunterschrift
\captionof{table}{erste Tabelle}  %eine Tabellenunterschrift
\section{Anhang} 
\subsection{Abbildungsverzeichnis} 
\listoffigures
\listoftables
\end{document}
Dies würde die Überschriften aus den Befehlen entfernen und wäre damit sauberer, als die Namen leer zu lassen (was an anderer Stelle problematisch werden kann, bspw. bei Kolumnen oder Querverweisen), aber den vertikalen Raum trotzdem zu haben.

Verfasst: Do 28. Feb 2019, 14:41
von esdd
Das geht auch ohne die Verwendung von internen Befehlen:

Code: Alles auswählen

\documentclass[listof=entryprefix]{scrartcl} 
\usepackage[utf8]{inputenc} 
\usepackage[ngerman]{babel} 

\renewcommand*{\listoffigures}{\listoftoc*{lof}} 
\renewcommand*{\listoftables}{\listoftoc*{lot}} 

\usepackage[colorlinks=true,linkcolor=blue,urlcolor=black]{hyperref} 

\begin{document} 
\tableofcontents 
\section{eins} 
\captionof{figure}{erstes Bild} %eine Bildunterschrift 
\captionof{table}{erste Tabelle}  %eine Tabellenunterschrift 
\section{zwei} 
\captionof{figure}{zweites Bild} %noch eine Bildunterschrift 
\section{Anhang} 
\subsection{Abbildungsverzeichnis} 
\listoffigures 
\listoftables 
\end{document}
Falls die Ausgabe der Zwischenüberschriften »Abbildungen« und »Tabllen« gewünscht ist, dann geht das mit

Code: Alles auswählen

\documentclass[listof=entryprefix]{scrartcl} 
\usepackage[utf8]{inputenc} 
\usepackage[ngerman]{babel} 

\deftocheading{lof}{\minisec{Abbildungen}}
\deftocheading{lot}{\minisec{Tabellen}}

\usepackage[colorlinks=true,linkcolor=blue,urlcolor=black]{hyperref} 

\begin{document} 
\tableofcontents 
\section{eins} 
\captionof{figure}{erstes Bild} %eine Bildunterschrift 
\captionof{table}{erste Tabelle}  %eine Tabellenunterschrift 
\section{zwei} 
\captionof{figure}{zweites Bild} %eine Bildunterschrift 
\section{Anhang} 
\subsection{Abbildungsverzeichnis} 
\listoffigures 
\listoftables 
\end{document}
Die KOMA-Script Klassen verwenden das Paket tocbasic, um Verzeichnisse zu verwalten. Dieses Paket lässt sich aber auch mit den Standardklassen verwenden:

Code: Alles auswählen

\documentclass[11pt,a4paper]{article} 
\usepackage[utf8]{inputenc} 
\usepackage[ngerman]{babel} 

\usepackage{tocbasic}
\addtotoclist[float]{lof}
\addtotoclist[float]{lot}
\renewcommand*\listoffigures{\listoftoc*{lof}}
\renewcommand*\listoftables{\listoftoc*{lot}}

\DeclareTOCStyleEntries[numsep=1em,numwidth=2.5cm,indent=0pt]{tocline}{figure,table}

\newcommand*\entrywithprefix[2]{#1 #2}
\DeclareTOCStyleEntry[entrynumberformat=\entrywithprefix{\figurename}]{tocline}{figure}
\DeclareTOCStyleEntry[entrynumberformat=\entrywithprefix{\tablename}]{tocline}{table}

\usepackage[colorlinks=true,linkcolor=blue,urlcolor=black]{hyperref} 
\begin{document} 
\tableofcontents 
\newpage 
\section{eins} 
\begin{figure}[hb] 
  \caption{erstes Bild} \label{fig:eins} 
\end{figure} 
\clearpage 
\section{zwei} 
Und auch noch eine Referenz auf \autoref{fig:eins} auf \autopageref{fig:eins}, das solls dann gewesen sein. 
\begin{table}[hb] 
  \caption{erste Tabelle} \label{tab:eins} 
\end{table}
\begin{figure}[hb] 
  \caption{zweites Bild}
\end{figure}
\section{Anhang}
\subsection{Abbildungsverzeichnis}
\listoffigures
\listoftables
\end{document}
Ersetzt man hier numwidth=2.5cm durch dynnumwidth wird ebenfalls die tatsächlich für die Abbildungen bzw. Tabellen benötigte Nummernbreite ermittelt. Dafür ist aber ein zusätzlicher Lauf nötig.

Möchte man auch hier Zwischenüberschriften haben, geht das mit

Code: Alles auswählen

\documentclass[11pt,a4paper]{article} 
\usepackage[utf8]{inputenc} 
\usepackage[ngerman]{babel} 

\usepackage{tocbasic}
\addtotoclist[float]{lof}
\addtotoclist[float]{lot}
\renewcommand*\listoffigures{\subsubsection*{Abbildungen}\listoftoc*{lof}}
\renewcommand*\listoftables{\subsubsection*{Tabellen}\listoftoc*{lot}}

\DeclareTOCStyleEntries[numsep=1em,dynnumwidth,indent=0pt]{tocline}{figure,table}

\newcommand*\entrywithprefix[2]{#1 #2}
\DeclareTOCStyleEntry[entrynumberformat=\entrywithprefix{\figurename}]{tocline}{figure}
\DeclareTOCStyleEntry[entrynumberformat=\entrywithprefix{\tablename}]{tocline}{table}

\usepackage[colorlinks=true,linkcolor=blue,urlcolor=black]{hyperref} 
\begin{document} 
\tableofcontents 
\newpage 
\section{eins} 
\begin{figure}[hb] 
  \caption{erstes Bild} \label{fig:eins} 
\end{figure} 
\clearpage 
\section{zwei} 
Und auch noch eine Referenz auf \autoref{fig:eins} auf \autopageref{fig:eins}, das solls dann gewesen sein. 
\begin{table}[hb] 
  \caption{erste Tabelle} \label{tab:eins} 
\end{table}
\begin{figure}[hb] 
  \caption{zweites Bild}
\end{figure}
\section{Anhang}
\subsection{Abbildungsverzeichnis}
\listoffigures
\listoftables
\end{document}