Caption in eigener Umgebung

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Akilotta
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Fr 15. Jul 2022, 20:21

Caption in eigener Umgebung

Beitrag von Akilotta »

Hallo zusammen,

ich bin ziemlich unerfahren im Umgang mit Latex und versuche gerade meine Bachelorarbeit damit zu schreiben.
In der Arbeit muss ich die Formeln in einem Formelverzeichnis darstellen.
Durch viel Recherche in einigen Foren habe ich das mit einer eigenen Float Umgebung gelöst.
Soweit funktioniert auch alles so, wie es soll. Das einzige Problem, welches ist nicht gelöst bekomme ist die Beschriftung.
Meine Überschriften werden immer unter der Formel anzeigt. Bei den Tabellen und Abbildungen taucht die Beschriftung wie gewünscht oben auf. Auch der Quellenverweis steht über meiner Formel:
[attachment=0]Bild 15.07.22 um 20.39.jpg[\attachment]

Ich habe so ziemlich jeden Hinweis den ich finden konnte, ausprobiert.
Hat noch jemand eine Idee?

Ich wäre euch sehr dankbar.

Hier mein Minimalbeispiel:
\documentclass[parskip=half+,listof=totoc, numbers=noendperiod, 11pt] {scrreprt}
\usepackage{float}
\usepackage{newfloat}
\usepackage[format=hang, position= top, justification=centering,singlelinecheck=off]{caption}
\usepackage{amsmath}

\newfloat{Formel}{H}{}
\floatname{Formel}{Formel}
\floatstyle{plaintop}
\captionsetup[Formel]{position=top}
%\listof{Formel}{Formelverzeichnis}

\begin{document}

Hier steht dann mein Text gefolgt von der Quelle. 

\begin{Formel}
\begin{minipage}{\linewidth}
\renewcommand{\footnoterule}{}
\caption{Verbrennungsgleichung Erdgas}%\footcite[Quelle: in Anlehnung an Grofe und Rubner,  ''Power to Gas''][]{G260}
\begin{center}
\begin{align}\label{Verbrennungsgleichung Erdgas}
\text{Methan  + 2 Sauerstoffatome} & \rightarrow \text{ Kohlenstoffdioxid + 2 Wasserstoffatome}\\\nonumber
CH_{4} + 2O_{2}  & \rightarrow CO_{2} + 2H_{2}
\end{align}
\end{center}
\end{minipage}
\end{Formel}


\end{document}

Dateianhänge
Bild 15.07.22 um 20.39.jpg
Zuletzt geändert von Akilotta am So 17. Jul 2022, 11:26, insgesamt 12-mal geändert.
Liebe Grüße
Akilotta

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Re: Caption in eigener Umgebung

Beitrag von u_fischer »

dein Beispiel kompiliert nicht ohne Fehler. \newfloat ist nicht definiert, \captionsetup ist nicht definiert, \footcite ist nicht definiert.

Akilotta
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Fr 15. Jul 2022, 20:21

Re: Caption in eigener Umgebung

Beitrag von Akilotta »

Hallo Ulrike,

wie definiere ich die denn richtig?
Fehlt nur etwas in meinem Beispiel? Bei mir tritt keine Fehlermeldung auf.

Dachte die Definitionen sind hier:
\newfloat{Formel}{H}{}
\captionsetup[Formel]{position=top}
und \footcite über meine Quelle.
Liebe Grüße
Akilotta

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Re: Caption in eigener Umgebung

Beitrag von u_fischer »

Bei mir tritt keine Fehlermeldung auf.
Das glaube ich nicht. Wenn du oben auf "LaTeX-Ausgabe klickst, bekommst du eine Fehlermeldung. Und bei dir wird das auch der Fall sein. Finde raus, wie dein System Fehlermeldungen anzeigt und ignoriere sie nicht.

Akilotta
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Fr 15. Jul 2022, 20:21

Re: Caption in eigener Umgebung

Beitrag von Akilotta »

ah, du meinst hier im Forum.
Jetzt dürften keine Fehlermeldungen mehr auftreten.
Ich habe nun alles korrigiert, bis mir die PDF angezeigt wurde.
Liebe Grüße
Akilotta

gast.

Re: Caption in eigener Umgebung

Beitrag von gast. »

Bei \newfloat hängt die \caption-Ausgabe von den Einstellungen dies Pakets caption ab. Ich empfehle, stattdessen entweder \DeclareNewTOC von KOMA-Script oder \DeclareFloatingEnvironment von Paket newfloat zu verwenden. Bei \DeclareNewTOC kann man von vornherein neben einer Gleitumgebung (Option float) auch eine nicht gleitende Umgebung (Option nonfloat) definieren. Wie das mit Paket newfloat geht, weiß ich nicht. Sowohl bei KOMA-Script als auch caption kann man allerdings auch einfach \captionof ganz ohne zusätzliche Umgebung verwenden.

Alle genannten Anweisungen sind in den jeweiligen Anleitungen dokumentiert. In der float-Anleitung ist sicher auch dokumentiert, wie man die Position der Ausgabe ändert. Aber ich verwende das Paket schon seit Jahren nicht mehr (ist einfach überflüssig) und weiß das daher nicht auswendig. Nachlesen kannst du bei Bedarf so gut wie ich.

Akilotta
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Fr 15. Jul 2022, 20:21

Re: Caption in eigener Umgebung

Beitrag von Akilotta »

Mit dem \DeclareNewTOC[ Befehl bin ich meinem Ziel schon ein ganzes Stück näher bekommen.

Nun hat sich ein anderes Problem ergeben:
Wie kann ich den Abstand zwischen meiner Überschrift und der Formel verkleinern?

Der Quellenverweis soll nur bei der Formel angezeigt werden nicht im Formelverzeichnis.
Wenn ich den Befehle aus aus dem Caption Befehl raus nehmen, wird der Verweis unter der Überschrift angezeigt. Nehme ich den Befehl für die Quelle mit in die Captionbeschreibung, wird die Quelle auch im Verzeichnis angezeigt.
\documentclass[parskip=half+,listof=totoc, numbers=noendperiod, 11pt] {scrreprt}
\usepackage{float}
\usepackage{newfloat}
\usepackage[format=hang, position= top, justification=centering,singlelinecheck=off]{caption}
\usepackage{amsmath}

\DeclareNewTOC[
  type=Formel,                        
  types=Formel,                       
  float,                              
  floatpos=h,                        
  name=Formel,                       
  listname={Formelverzeichnis},       
  tocentrystyle=tocline,               
  tocentrylevel=0,                          
]{los}

\begin{document}

\begin{Formel}
\begin{minipage}{\linewidth}
\renewcommand{\footnoterule}{}
\caption{Verbrennungsgleichung Erdgas} %\footcite[Quelle: in Anlehnung an Grofe und Rubner,  ''Power to Gas''][]{G260}
\begin{center}
\begin{align}\label{Verbrennungsgleichung Erdgas}
\text{Methan  + 2 Sauerstoffatome} & \rightarrow \text{ Kohlenstoffdioxid + 2 Wasserstoffatome}\\\nonumber
CH_{4} + 2O_{2}  & \rightarrow CO_{2} + 2H_{2}
\end{align}
\end{center}
\end{minipage}
\end{Formel}

\end{document}
Liebe Grüße
Akilotta

gast.

Re: Caption in eigener Umgebung

Beitrag von gast. »

Akilotta hat geschrieben:
So 17. Jul 2022, 13:38
Wie kann ich den Abstand zwischen meiner Überschrift und der Formel verkleinern?
Der große Abstand kommt ja davon, dass sich hier Abstände nach Überschrift und um abgesetzte Formeln addieren und zusätzlich auch noch die Abstände der center-Umgebung von der in Gleitumgebungen aus gutem Grund abgeraten wird. Eine Möglichkeit besteht also darin den Abstand vor abgesetzten Formeln zu verändern und center zu vermeiden. Beispielweise so:
\documentclass[parskip=half+,listof=totoc, numbers=noendperiod, 11pt,captions=above] {scrreprt}
\usepackage{float}
\usepackage{newfloat}
\usepackage[format=hang, position= top, justification=centering,singlelinecheck=off]{caption}
\usepackage{amsmath}

\DeclareNewTOC[
  type=Formel,                        
  types=Formel,                       
  float,                              
  floatpos=h,% Hinweis: Eine alleine Option h wird von LaTeX zu ht erweitert. Außerdem sollte man für Notfälle immer p mit angeben. Für nicht gleitende Umgebungen verwendet man besser Option nonfloat. Siehe dazu die Anleitung.
  name=Formel,                       
  listname={Formelverzeichnis},       
  tocentrystyle=tocline,               
  tocentrylevel=0,% <-- Hinweis: Bei figure und table ist der Wert 1 und wäre es hier eventuell auch besser. 
  atbegin={\setlength{\abovedisplayskip}{0pt}\setfootnoterule{0pt}}
]{los}

\begin{document}

\begin{Formel}
\centering% Im Beispiel eigentlich gänzlich überflüssig, aber um zu zeigen, wie man in Gleitumgebungen ggf. korrekt zentriert.
\caption{Verbrennungsgleichung Erdgas}
\begin{align}\label{Verbrennungsgleichung Erdgas}
\text{Methan  + 2 Sauerstoffatome} & \rightarrow \text{ Kohlenstoffdioxid + 2 Wasserstoffatome}\\\nonumber
CH_{4} + 2O_{2}  & \rightarrow CO_{2} + 2H_{2}
\end{align}
\end{Formel}

\end{document}
Akilotta hat geschrieben:
So 17. Jul 2022, 13:38
Der Quellenverweis soll nur bei der Formel angezeigt werden nicht im Formelverzeichnis.
Wenn ich den Befehle aus aus dem Caption Befehl raus nehmen, wird der Verweis unter der Überschrift angezeigt. Nehme ich den Befehl für die Quelle mit in die Captionbeschreibung, wird die Quelle auch im Verzeichnis angezeigt.
Da hierzu kein lauffähigere Code im Beispiel enthalten ist, kann ich nur darauf hinweisen, dass in der KOMA-Script-Anleitung und im KOMA-Script-Buch für \caption ein optionales Argument zu finden ist.

Akilotta
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Fr 15. Jul 2022, 20:21

Re: Caption in eigener Umgebung

Beitrag von Akilotta »

das hat geklappt, vielen Dank.

Jetzt dachte ich, alles passt und dann ist mir die Nummerierung aufgefallen.

Ich möchte diese gerne wie bei Tabellen mit [Kapitel].[Nummer innerhalb des Kapitels] nummeriert haben. Latex zählt gerade einfach immer nur aufwärts ohne bei neuen Kapitel auf 0 zu setzen.
In der Überschrift wird mir nur die Zahl angezeigt und neben der Formel steht zwar das Kapitel mit aber die Zahl wird einfach hochgezählt.

Hast du da auch noch einen Tipp?
\documentclass[parskip=half+,listof=totoc, numbers=noendperiod, 11pt] {scrreprt}
\usepackage{float}
\usepackage{newfloat}
\usepackage[format=hang, position= top, justification=centering,singlelinecheck=off]{caption}
\usepackage{amsmath}

\DeclareNewTOC[
  type=Formel,                        
  types=Formel,                       
 float,        
    floatpos=h,                                            %mit dem nonfloat Befehl bekomme ich hier Fehlermeldungen
  name=Formel,                       
  listname={Formelverzeichnis},       
  tocentrystyle=tocline,               
  tocentrylevel=1,                       
  atbegin={\setlength{\abovedisplayskip}{0pt}\setfootnoterule{0pt}}
]{los}

\begin{document}

\begin{Formel}
\begin{minipage}{\linewidth}
\renewcommand{\footnoterule}{}
\caption[Berechnung des Energiestroms]{Berechnung des Energiestroms}
\label{Energie}
\begin{align}
E & = H_{s,n} \cdot V_{n}
\end{align}
\end{minipage}
\end{Formel}
\end{document}[code]
Zuletzt geändert von Akilotta am Mo 18. Jul 2022, 12:45, insgesamt 6-mal geändert.
Liebe Grüße
Akilotta

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Re: Caption in eigener Umgebung

Beitrag von u_fischer »

Teste doch mal deinen letzten Code, indem du auf LaTeX-Ausgabe klickst.

Die Beispiele, die du hier reinkopierst, sind keine Deko, damit deine Frage hübscher aussieht. Die verwenden wir zum Verstehen der Frage und zum Testen von Lösungen, und wenn die dauernd Fehler produzieren, dann verliert man die Lust zu helfen, selbst wenn der Fehler einfach zu korrigieren ist.

Antworten