Seite 1 von 1
Abbildungsnummer zwei Punkte nach Section
Verfasst: Mi 18. Mär 2020, 15:38
von LaLaText
Hallo zusammen,
ich habe ein Dokument der Klasse article, bei dem ich mir 1. Introduction etc ausgeben lasse, also mit einem Punkt hiner der Nummer.
Wenn ich nun bei Abbildungen section.Nummer. haben möchte, erhalte ich leider 1..1. mit zwei Punkten. Das Problem habe ich denke ich erkannt, Latex erstellt einen zusätzlichen Punkt, da ich section. eingestellt habe. Was kann ich tun, dass mit Abb. 1.1. ausgegeben wird?
Danke schon mal für eure Hilfe!
\documentclass[12pt,a4paper, twoside]{article}
\renewcommand{\thesection}{\arabic{section}.}
\renewcommand{\thesubsection}{\thesection\arabic{subsection}.}
\usepackage{graphicx}
\usepackage{float}
\usepackage[labelfont={bf,sf},font={small}, labelsep=period]{caption}
\usepackage{chngcntr} %package für nächsten Befehle, dass Abb./Tab./Eq. innerhalb einer Section nummeriert werden
\counterwithin{figure}{section}
\counterwithin{table}{section}
\counterwithin{equation}{section}
\begin{document}
\section{Introduction}
\begin{figure} [H]
\centering
\includegraphics[width=1\textwidth]{Setup}
\label{fig:Setup}
\caption{Ths is the setup.}
\end{figure}
\end{document}
Verfasst: Mi 18. Mär 2020, 15:53
von oft gesehener
Du kannst natürlich \thefigure und \thetable umdefinieren, ähnlich wie du das mit \thesubsection schon gemacht hast.
Einfacher ist aber, eine Klasse zu verwenden, die dergleichen direkt beherrscht:
\documentclass[emulatestandardclasses,12pt,twoside,a4paper,numbers=withenddot]{scrartcl}
\usepackage{graphicx}
\setkomafont{caption}{\small}
\setkomafont{captionlabel}{\small\sffamily\bfseries}
\renewcommand*{\captionformat}{. }
\counterwithin{figure}{section}
\counterwithin{table}{section}
\counterwithin{equation}{section}
\begin{document}
\tableofcontents
\listoffigures
\section{Introduction}
\subsection{Example}
\begin{minipage}{\linewidth}
\centering
\includegraphics[width=1\textwidth]{example-image}
\label{fig:Setup}
\captionof{figure}{Ths is the setup.}
\end{minipage}
\end{document}
Zum Vergleich sei auch noch empfohlen, einmal die Option emulatestandarclasses weg zu lassen.
BTW: Das Paket
chngcntr wird schon seit fast zwei Jahren nicht mehr benötigt, weil dessen Funktionalität in LaTeX integriert wurde.
Verfasst: Mi 18. Mär 2020, 16:11
von LaLaText
Danke für deine schnelle Antwort. Die Dokumentenklasse würde ich gerne bei article belassen, da ich sonst an anderen Stellen Probleme bekomme.
Wie genau kann ich \thefigure und \thetable umdefinieren? Ich habe gerade ein paar Befehle ausprobiert, aber die haben nicht funktioniert.
Verfasst: Mi 18. Mär 2020, 17:01
von LaLaText
Sorry, hätte ich gleich dazuschreiben sollen. Ich verwende british english (\usepackage[british]{babel}). Die Abbildungen sollen mit Figure 1.1. usw. beschriftet werden.
Danke für deinen Vorschlag, Bartman, aber dieser ist für mich leider ungeeignet. Ich muss
\renewcommand{\thesection}{\arabic{section}.}
mit Punkt verwenden, da sonst weder im Fließtext, noch in der Kopfzeile, noch im Inhaltsverzeichnis das Kapitel 1. Introduction heißt. Und es soll stringend überall mit Punkt erscheinen. Gibt es noch einen anderen Lösungsweg?
Verfasst: Mi 18. Mär 2020, 17:09
von Bartman
In meinem gelöschten Beitrag hatte ich etwas übersehen. Mein neuer Vorschlag:
\documentclass[12pt,a4paper, twoside]{article}
\usepackage[british]{babel}
\renewcommand{\thesection}{\arabic{section}.}
\renewcommand{\thesubsection}{\thesection\arabic{subsection}.}
\usepackage[demo]{graphicx}
\usepackage[
labelfont={bf,sf},
font={small},
labelsep=period,
figurename=Fig.% Abkürzung
]{caption}
\counterwithin{figure}{section}
\counterwithin{table}{section}
\counterwithin{equation}{section}
\renewcommand{\thefigure}{\thesection\arabic{figure}}
\begin{document}
\section{Introduction}
\subsection{Example}
\begin{minipage}{\linewidth}
\centering
\includegraphics[width=1\textwidth]{example-image}
\captionof{figure}{Ths is the setup.}% https://texwelt.de/fragen/21
\label{fig:Setup}
\end{minipage}
\end{document}
Verfasst: Mi 18. Mär 2020, 17:27
von LaLaText
Das hat funktioniert, vielen Dank Bartman!
Verfasst: Mi 18. Mär 2020, 17:40
von Bartman
Ja, aber dann fehlt der Punkt am Ende der Nummer im Abbildungsverzeichnis. Im Beispiel des oft gesehenen Gastes geht das problemlos, aber bei der Standardklasse gelingt es mir nur, wenn ich den Punkt bei der Anpassung von \thefigure ergänze und die
caption-Option labelsep ändere:
\documentclass[12pt,a4paper, twoside]{article}
\usepackage[english]{babel}
\usepackage{graphicx}
\usepackage[
labelfont={bf,sf},
font={small},
labelsep=space,% <- geändert
figurename=Fig.% Abkürzung
]{caption}
\renewcommand{\thesection}{\arabic{section}.}
\renewcommand{\thesubsection}{\thesection\arabic{subsection}.}
\counterwithin{figure}{section}
\counterwithin{table}{section}
\counterwithin{equation}{section}
\renewcommand{\thefigure}{\thesection\arabic{figure}.}
\begin{document}
\tableofcontents
\listoffigures
\section{Introduction}
\subsection{Example}
\begin{minipage}{\linewidth}
\centering
\includegraphics[width=\textwidth]{example-image}
\captionof{figure}{This is the setup.}% https://texwelt.de/fragen/21
\label{fig:Setup}
\end{minipage}
\end{document}
Verfasst: Mi 18. Mär 2020, 17:56
von LaLaText
Du hast recht, mit deinem letzten Vorschlag ist auch im Abbildungsverzeichnis ein Punkt, der vorher gefehlt hat.
Danke!
Verfasst: Mi 18. Mär 2020, 19:28
von Gast
Es sei darauf hingewiesen, dass du so in neue Probleme läufst. Man zitiert nämlich nicht »section 1.«, sondern »section 1«. Da du aber \thesection einen Punkt angefügt hast, wird der dann auch beim Referenzieren mit \ref wieder ausgegeben. Bei scrartcl hat man genau dieses Problem nicht. Es wäre also eventuell besser, wenn du das Problem, das sich aus dem Wechsel der Klasse ergibt, löst, statt immer neue Krücken an die Standardklassen anzubauen. Du wurdest ja auch nicht zum ersten Mal darauf hingewiesen, dass viele Dinge mit KOMA-Script direkt gehen. Und natürlich wird es umso schwieriger das alles wieder aufzutröseln, je mehr du an die Standardklassen anbaust. Der oft gesehene Gast hat ja sogar gezeigt, wie man das Aussehen der KOMA-Script-Klassen mit einer einzigen Option an das der Standardklassen anpasst.