Seite 1 von 1

Wie ändert man das Label bei Subfigures?

Verfasst: So 11. Dez 2022, 13:38
von White_Fox
Moin allerseits

Ich habe nun vieles ausprobiert und komme nicht weiter: Ich habe einige Subpictures (etwas mehr als im MWE, das geht über mehr als eine Seite), und ich möchte nun erreichen daß in der Caption "Abbildung 1a" oder meinetwegen "Abbildung 1.a" steht. Jedenfalls möchte ich den kompletten Labeltext, und nicht nur (a).

Die Lösung \renewcommand\thesubfigure kenne ich bereits. Die macht zwar was ich will, macht aber auch Verweise im Text kaputt. Anstelle von "Abbildung 1a" steht dann "Abbildung 1Abbildung 1a" im Text.

Wenn die Formatierung der Captions komplett in Ruhe lasse und gar nichts daran ändere, funktioniert es, aber ein paar Dinge möchte ich da schon gerne anders haben. Jetzt versuche ich, den Labeltext über die Formatierung anzupassen, aber das gelingt mir bisher nicht. Hat jemand eine Idee wie das geht?

Gruß und einen schönen dritten Advent

Minimalbeispiel

Re: Wie ändert man das Label bei Subfigures?

Verfasst: So 11. Dez 2022, 13:53
von White_Fox
PS: Hab den MWE-Button im Editor wohl falsch verstanden...
\documentclass{report}
\usepackage{german}
\usepackage[
	a4paper,
	twoside=true,
	top = 2cm,
	inner = 1.5cm,
	outer = 3cm,
	bottom = 4cm
	]{geometry}
\usepackage{pdflscape}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage[most]{tcolorbox}
\usepackage{titlesec}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{fp}
\usepackage{tikz}
\usepackage[german]{hyperref}
\usepackage{float}
\usepackage{colortbl}


\DeclareCaptionFont{standardcaptionfont}{\color{green}}
\captionsetup[figure]{
	labelfont = {
		standardcaptionfont, 
		it
	}, 
	justification = raggedright,
%	margin = 0.9\textwidth ,
	textfont = {
		standardcaptionfont, 
		it
	}
}
%\renewcommand\thesubfigure{\figurename\thefigure\alph{subfigure}}

\newcommand{\printGrid}{
	\draw[very thin, step = 0.5, color = lightgray] (-0.1, -0.1) grid (3, 3);
	 %Achsen
   	\draw[thin, ->] (-0.1, 0)  -- (3.2, 0) node(xline)[below] {$x$};
   	\draw[thin, ->] (0, 0) -- (0,3.2) node(yline)[left] {$y$};  	
    %Linien
    \draw[very thin, color = red] (0, 0) -- (3, 3);	
    %Text
    \draw (3, 2.75) node[right, color = red, align = left, font = \tiny]{};	
}

\begin{document}

Siehe \autoref{fig:LabelEins}

\begin{figure}[h]
	\begin{subfigure}[htbp]{\textwidth}
		\begin{minipage}[][][c]{0.55\textwidth}
			\begin{align}
			\begin{split}
				y_1\left( x\right) &= mx + n \\
			\end{split}
			\end{align}
			%\caption{}
			%\label{fig:}
		\end{minipage}
		\hfill
		\begin{minipage}[][][c]{0.4\textwidth}
			\begin{tikzpicture}[scale=1]
		    	\printGrid
			\end{tikzpicture}
			%\caption{}
			%\label{fig:}
		\end{minipage}
		\caption{\lipsum[1]}
		\label{fig:LabelEins}
	\end{subfigure}
\end{figure}

\begin{figure}[h]
	\ContinuedFloat	
	\begin{subfigure}[htbp]{\textwidth}
		\begin{minipage}[][][c]{0.55\textwidth}
			\begin{align}
			\begin{split}
				y_2\left( x\right) &= mx + n \\
			\end{split}
			\end{align}
			%\caption{}
			%\label{fig:}
		\end{minipage}
		\hfill
		\begin{minipage}[][][c]{0.4\textwidth}
			\begin{tikzpicture}[scale=1]
		    	\printGrid
			\end{tikzpicture}
			%\caption{}
			%\label{fig:}
		\end{minipage}
		\caption{\lipsum[1]}
		\label{fig:LabelZwei}
	\end{subfigure}
\end{figure}
\end{document}

Re: Wie ändert man das Label bei Subfigures?

Verfasst: So 11. Dez 2022, 14:55
von Stefan Kottwitz
Hallo,

ich habe den MWE-Button mal umbenannt, sollte besser sein, wenngleich etwas lang. Die Kurzcodes [m][/m] und [mwe][/mwe] funktionieren weiterhin, wenn man lieber tippt als den Button klickt.

Stefan

Re: Wie ändert man das Label bei Subfigures?

Verfasst: Di 13. Dez 2022, 20:08
von White_Fox
Prima, danke, jetzt ist es eindeutiger.

Wenn mir jetzt nur noch jemand mit den Subcaptions helfen könnte, wäre das phantastisch.

Re: Wie ändert man das Label bei Subfigures?

Verfasst: Mi 14. Dez 2022, 07:33
von Bartman
Meine beiden Lösungsvorschläge dürften geeignet sein, um Deinen Wunsch zu erfüllen.
\documentclass[ngerman]{report}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage{xcolor}
\usepackage{subcaption}
\usepackage{hyperref}

\captionsetup[figure]{
  font={color=green,it},
  justification=raggedright
}

\DeclareCaptionSubType*{figure}
\renewcommand\thesubfigure{\thefigure\alph{subfigure}}
\renewcommand{\subfigurename}{\figurename}
\DeclareCaptionLabelFormat{subfigure}{#1~#2}
\captionsetup[subfigure]{labelformat=subfigure, labelsep=colon}

\begin{document}
\chapter{Kapitelüberschrift}
\autoref{fig:LabelEins}

\begin{figure}[ht]
  \begin{subfigure}{\textwidth}
      \caption{Text}
      \label{fig:LabelEins}
  \end{subfigure}
\end{figure}
\end{document}
\documentclass[ngerman]{report}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage{xcolor}
\usepackage{subcaption}
\usepackage{hyperref}

\captionsetup[figure]{
  font={color=green,it},
  justification=raggedright
}

\renewcommand{\subfigurename}{\figurename}
\DeclareCaptionLabelFormat{subfigure}{#1~\thefigure#2}
\captionsetup[subfigure]{labelformat=subfigure, labelsep=colon}

\begin{document}
\chapter{Kapitelüberschrift}
\autoref{fig:LabelEins}

\begin{figure}[ht]
  \begin{subfigure}{\textwidth}
      \caption{Text}
      \label{fig:LabelEins}
  \end{subfigure}
\end{figure}
\end{document}

Re: Wie ändert man das Label bei Subfigures?

Verfasst: Do 22. Dez 2022, 14:44
von White_Fox
Danke. Ich kann es momentan leider nicht ausprobieren, ich gebe Bescheid ob es geklappt hat.

Re: Wie ändert man das Label bei Subfigures?

Verfasst: Mi 28. Dez 2022, 17:54
von White_Fox
So, ich habe es eben getestet. Die zweite Variante funktioniert hervorragend und so gut, daß ich die erste gar nicht ausprobiert habe.

Herzlichen Dank, und einen guten Rutsch ins neue Jahr dann. :)