Abbildungsnummer zwei Punkte nach Section

Tabellen und Grafiken erstellen und anordnen


LaLaText
Forum-Anfänger
Forum-Anfänger
Beiträge: 18
Registriert: Mo 16. Mär 2020, 17:27

Abbildungsnummer zwei Punkte nach Section

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

Code: Alles auswählen

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

oft gesehener

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

Code: Alles auswählen

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

LaLaText
Forum-Anfänger
Forum-Anfänger
Beiträge: 18
Registriert: Mo 16. Mär 2020, 17:27

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

LaLaText
Forum-Anfänger
Forum-Anfänger
Beiträge: 18
Registriert: Mo 16. Mär 2020, 17:27

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

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2228
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

In meinem gelöschten Beitrag hatte ich etwas übersehen. Mein neuer Vorschlag:

Code: Alles auswählen

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

LaLaText
Forum-Anfänger
Forum-Anfänger
Beiträge: 18
Registriert: Mo 16. Mär 2020, 17:27

Beitrag von LaLaText »

Das hat funktioniert, vielen Dank Bartman!

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2228
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

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

Code: Alles auswählen

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

LaLaText
Forum-Anfänger
Forum-Anfänger
Beiträge: 18
Registriert: Mo 16. Mär 2020, 17:27

Beitrag von LaLaText »

Du hast recht, mit deinem letzten Vorschlag ist auch im Abbildungsverzeichnis ein Punkt, der vorher gefehlt hat.
Danke!

Gast

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

Antworten