Abbildungsverzeichnis Name ändern

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


emeran
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Do 28. Feb 2019, 10:08
Wohnort: Bamberg

Abbildungsverzeichnis Name ändern

Beitrag 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}

Gast

Beitrag 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.

emeran
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Do 28. Feb 2019, 10:08
Wohnort: Bamberg

Beitrag 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.

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

Beitrag 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}
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

emeran
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Do 28. Feb 2019, 10:08
Wohnort: Bamberg

Beitrag 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}

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

Beitrag 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.
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

esdd
Forum-Meister
Forum-Meister
Beiträge: 2481
Registriert: So 7. Feb 2010, 16:36

Beitrag 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}

Antworten