goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

LATEX: long captions across pages required

 

Wuchtbrumme
Forum-Newbie
Forum-Newbie

Beiträge: 2
Anmeldedatum: 22.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.11.2017, 18:30     Titel: LATEX: long captions across pages required
  Antworten mit Zitat      
Hallo zusammen,

ich schreibe gerade meine PHD Thesis und habe öfter den Fall, dass ich große Abbildungen (etwa halbseitige Größe) mit sehr langen Bildunterschriften (auch etwa halbseitige Länge) einbinden muss.
Das Problem besteht darin, dass Latex standardmäßig nicht in der Lage ist, eine Bildunterschrift auf der nächsten Seite fortzusetzen, falls diese das Ende einer Seite erreicht.

Problembild

Das folgende Minimalbeispiel zeigt das Fehlerverhalten (Im Anhang befindet sich noch das entsprechende PDF, das in Texmaker erzeugt wurde):

Code • Öffne in Overleaf

\RequirePackage{fix-cm}
\documentclass[a4paper,twoside,openright,headsepline,parskip]{scrreprt}
\usepackage[scaled=0.92]{helvet}
\usepackage{setspace}
\onehalfspacing
\usepackage[a4paper]{geometry}
\geometry{width=16cm, left=3cm, top=2.5cm, bottom=2.5cm}
\usepackage[headsepline]{scrpage2}
\pagestyle{scrheadings}
\lehead{\fontfamily{cmr}\textsc{Results}}
\rohead{\fontfamily{cmr}\textsc{Results}}
\usepackage[english]{babel}
\usepackage[nooneline]{caption}
\usepackage{graphicx}  
\usepackage[format=plain, font={small, singlespacing}, labelfont=bf]{caption}
\usepackage{kantlipsum}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

\kant[1-2]

\begin{figure}%
\includegraphics[scale=1.1]{example-image-c}
\caption{\kant[1-5]}
\end{figure}

\kant[2-5]

\end{document}
 


Hoffnungsvollste Lösung

Beim Durchforsten des Internets nach diesem Problem stieß ich auf einen Beitrag, der mein Problem fast lösen konnte: https://groups.google.com/forum/#!topic/latexusersgroup/9Dz1cXtJZHA.
Ich verstehe zwar nicht genau, wie der zusätzliche Codeblock das Problem umgeht, aber ich lese heraus, dass die Art der Erzeugung von Captions neu definiert wurde und damit die Float-Umgebung ignoriert wurde. Wenn ich mein Minimalbeispiel von oben entsprechend anpasse ergibt sich der folgende Code. Das gerenderte PDF befindet sich auch im Anhang.

Code • Öffne in Overleaf

\RequirePackage{fix-cm}
\documentclass[a4paper,twoside,openright,headsepline,parskip]{scrreprt}
\usepackage[scaled=0.92]{helvet}
\usepackage{setspace}
\onehalfspacing
\usepackage[a4paper]{geometry}
\geometry{width=16cm, left=3cm, top=2.5cm, bottom=2.5cm}
\usepackage[headsepline]{scrpage2}
\pagestyle{scrheadings}
\lehead{\fontfamily{cmr}\textsc{Results}}
\rohead{\fontfamily{cmr}\textsc{Results}}
\usepackage[english]{babel}
\usepackage[nooneline]{caption}
\usepackage{graphicx}  
\usepackage[format=plain, font={small, singlespacing}, labelfont=bf]{caption}
\usepackage{kantlipsum}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% LONG CAPTIONS Configuration
% to be inserted before \begin{document}
% source: https://groups.google.com/forum/#!topic/latexusersgroup/9Dz1cXtJZHA

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\makeatletter

%Figure environment without an float format
\newenvironment{Figure}{%
   \par\addvspace{12pt plus2pt}%
   \def\@captype{figure}%
}{%
   \par\addvspace{12pt plus2pt}%
}%

%taken from article.cls
\long\def\@makecaption#1#2{%
  \vskip\abovecaptionskip
  \sbox\@tempboxa{#1: #2}%
  \ifdim \wd\@tempboxa >\hsize
    #1: #2\par
  \else
    \global \@minipagefalse
    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
  \fi
  \vskip\belowcaptionskip}

%% If you are having all the figures with huge caption then use thebelow commands:
%% Otherwise, just comment the below two lines and
%% use "\begin{Figure}...\end{Figure}" instead of "\begin{figure}...\end{figure}"
\let\figure\Figure% replacing by default
\let\endfigure\endFigure%
%%

\makeatother

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\begin{document}

\kant[1]

\begin{figure}%
\includegraphics[scale=1.1]{example-image-c}
\caption{\kant[1-3]}
\end{figure}

\kant[2-5]

\end{document}

 


Sieht erstmal gut aus, jedoch habe ich hier das Problem, dass nun meine Formatierungen der captions über das Paket caption nicht mehr funktionieren. Durch die Gestaltungsrichtlinie meiner Arbeit muss ich folgende Formatierung bei Bildunterschriften erreichen:

-> einzeiliger Zeilenabstand
-> Captionnummerierung und Lable ("Figure") müssen fett sein
-> kleinerer Schriftgrad als im Fließtext (z.B. SMALL oder TINY)

Zumindest für die Fettschreibung habe ich einen workaround gefunden. Leider jedoch bekomme ich nun sowohl den einzeiligen Zeilenabstand als auch die kleinere Schriftgröße nicht mehr hin Sad

Weitere getestete Lösungen

Ich habe bereits andere Lösungen für die extralangen Captions gefunden die ich getestet habe um das o.g. Problem zu umgehen. Die meisten davon haben jedoch das Problem, dass sie zwar in der Dokumentenklasse article funktionieren, aber nicht in der für mich verbindlichen Dokumentenklasse scrreprt. Folgende Lösungen habe ich ausprobiert:

- https://tex.stackexchange.com/quest.....tions-span-multiple-pages
-> funktioniert bei mir leider nicht. Wenn die caption zu lang wird, wird sie komplett auf die nächste Seite verschoben, es erfolgt nicht der gewünschte Umbruch, sodass damit zuviel Platz verschenkt wird.

- https://tex.stackexchange.com/quest.....-not-continue-on-new-page
-> funktioniert nur dann, wenn ich die Dokumentenklasse article verwende, was bei mir leider nicht möglich ist (siehe oben)

- https://tex.stackexchange.com/quest.....escription-over-two-pages
-> Funktioniert leider nicht bei mir. Wenn ich die captions hier sehr lang mache, dann wird sie nicht umgebrochen, sie verläuft im Nirvana. Ich bin mir bei der Lösung aber auch nicht ganz sicher, ob sie wirklich mein Problem adresiert.

Zusammengefasst brauche ich also eine Lösung die...

- ...lange captions an der Seitengrenze umbrechen kann
- ...diese langen captions auch mit einzeiligem Zeilenabstand formatieren kann
- ... diese langen captions auch mit einer kleineren Schriftart darstellen kann.
- ... die generell mit langen captions ugehen kann. Eine Lösung alá "mach bitte die captions kürzer" funktioniert bei mir leider nicht. der wissenschaftliche Standard gibt das hier leider so vor Sad

Meine nächsten Schritte (Hinweise sind willkommen!)

- ich werde versuchen manuell den einzeiligen Zeilenabstand und die kleinere Schriftgröße zusammen mit der Lösung oben (https://groups.google.com/forum/#!topic/latexusersgroup/9Dz1cXtJZHA) zu kombinieren. Habe hier schon viele Hacks probiert, jedoch hebelt die mit der genannten Lösung eingeführte Neudefinition von makecaptions diese Lösungen aus, d.h. ich kann de captions nicht mehr von außen formatieren (nutzte bislang dafür das Paket "caption".

- vielleicht ist es möglich sich eine Art "custom caption" zu definieren, die im Grunde normaler Fließtext ist, jedoch die gleiche Formatierung wie die gewünschte Caption mitbringt.

Ich bin Euch sehr dankbar für jeden Vorschlag der zur Lösung meines Problems beiträgt!

liebe Grüße,

Stephan

Code • Öffne in Overleaf
 
Code • Öffne in Overleaf
 


long_captions_issue_almost_solution_min.pdf
 Beschreibung:

Download
 Dateiname:  long_captions_issue_almost_solution_min.pdf
 Dateigröße:  39.43 KB
 Heruntergeladen:  18 mal
long_captions_issue_min.pdf
 Beschreibung:
das Fehlerbild

Download
 Dateiname:  long_captions_issue_min.pdf
 Dateigröße:  52.6 KB
 Heruntergeladen:  14 mal


Zuletzt bearbeitet von Wuchtbrumme am 23.11.2017, 22:03, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.11.2017, 09:12     Titel:
  Antworten mit Zitat      
Dir ist schon klar, dass die Forensprache hier Deutsch ist? Unter den Partnerseiten findest Du auch welche min. eine mit der Forensprache Englisch. Eine weitere Möglichkeit hast Du offenbar schon selbst gefunden.

Stamm-
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.11.2017, 15:30     Titel: Crosspost
  Antworten mit Zitat      
Doppelt gemoppelt!

Wuchtbrumme
Forum-Newbie
Forum-Newbie

Beiträge: 2
Anmeldedatum: 22.11.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.11.2017, 21:38     Titel:
  Antworten mit Zitat      
Hallo,

danke für die schnelle Antwort. Nein, wusste leider nicht, dass das Forum rein Deutsch ist, danke für den Hinweis. Ich werde die Anfrage nochmal auf Deutsch übersetzen und würde mich wirklich über Eure Hilfe freuen. Ich habe es absichtlich sowohl hier als auch bei Stackoverflow/Stackexchange gepostet, da die beiden Foren in Summe für mich die vielversprechendsten waren. Ich bin bdi dem Problem leider echt am verzweifeln und strecke daher meine Fühler in alle Richtungen aus. Bitte um Verständnis.

lG Stephan
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2017 goLaTeX.de