Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Bilder nebeneinander, subfig funktioniert nicht

  1. #1
    Registrierter Benutzer
    Registriert seit
    06.02.2014
    Beiträge
    12

    Question Bilder nebeneinander, subfig funktioniert nicht

    Hallo,
    ich weiß das Thema ist sicher schon ausgelutscht, aber ich hab leider immernoch meine Probleme. Ich möchte in einem amsbook 2 Bilder nebeneinander haben, mit captions und am besten sowas wie Abb. 1.1.1 und Abb. 1.1.2 drunter.
    Mit subfig -Paket setzt es mir die Bilder IMMER untereinander, was mir zu viel Platz verschwendet. Und mit der minipage und figureumgebung gemeinsam wird es seltsam verschoben und die captions zusammengequetscht. So wie hier.

    Hier mein Code:
    Code:
    \begin{figure}
    \begin{minipage}[hbt]{4cm}
    	\centering
    \renewcommand*\figurename{Abb.}
    	\includegraphics[width=5cm]{bilder/vorher.jpg}
    	\caption{Flächenstrahler}
    	\label{fig:flaechenstrahler}
    \end{minipage}
    \hfill
    \begin{minipage}[hbt]{4cm}
    	\centering
    \renewcommand*\figurename{Abb.}
    	\includegraphics[width=5cm]{bilder/nachher.jpg}
    	\caption{Temperaturbild eines Flächenstrahlers}
    	\label{fig:temp_flaechenstrahler}
    \end{minipage}
    \end{figure}
    Kann mir bitte einer helfen?

  2. #2
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Zitat Zitat von Ninawe Beitrag anzeigen
    Mit subfig -Paket setzt es mir die Bilder IMMER untereinander
    Das glaube ich einfach 'mal ganz frech nicht. Also: Show me!

    Kann mir bitte einer helfen?
    Hast du ein lauffähiges(!) Beispiel für uns?

    P.S.: amsbook hat einige Eigenarten, was die Behandlung von \caption angeht, u.a. betrifft dies auch die Ränder. subfig übernimmt die Randeinstellungen leider, so daß man sie explizit ausschalten muß, bei subcaption ist hingegen der Default "kein Rand". Wenn du mit minipages arbeitest, mußt du auch selber lokal unerwünschte Einstellungen via \captionsetup abstellen. Siehe auch caption-Dokumentation, Abschnitt über die AMS-Dokumentenklassen.

  3. #3
    Registrierter Benutzer
    Registriert seit
    06.02.2014
    Beiträge
    12
    Ok, ich habs selber rausgefunden. Man muss bei subfigure noch ein \hfill zwischen die beiden Bilder setzen. Also nach dem ersten\end{subfigure}...Da soll man mal drauf kommen!

  4. #4
    Registrierter Benutzer
    Registriert seit
    31.01.2014
    Beiträge
    61
    Das glaube ich nicht, dass ein \hfill das Untereinandersetzen verhindert. Das fügt nämlich einen elastischen horizontalen Zwischenraum ein, es wird also nicht weniger. Eher hast Du es zufällig anders gelöst, das kann man natürlich nur sagen, wenn Du die Codestelle zeigst bzw. wie sie vorher war.

    Studi

  5. #5
    Registrierter Benutzer
    Registriert seit
    06.02.2014
    Beiträge
    12
    Hallo,
    hier das Beispiel, einmal mit der Minipage, dann mit dem Bild ohne hfill und mit hfill. Unten kann man die Testbilder runterladen.
    Code:
    \documentclass[german,11pt,twoside,a4paper,final,titlepage,openany]{amsbook} 
    \usepackage[ngerman]{babel} 
    \usepackage[latin1]{inputenc} 
    \usepackage[pdftex]{graphicx}
    \usepackage{mathrsfs,amssymb} 
    \usepackage{amsbsy,amsmath} 
    \usepackage{float}
    \usepackage{subcaption}
    \begin{document}
    
    \begin{figure}
    \begin{minipage}[hbt]{5cm}
        \centering
    \renewcommand*\figurename{Abb.}
        \includegraphics[width=5cm]{bilder/testbild2.jpg}
        \caption{Blabla}
        \label{fig:Bild1}
    \end{minipage}
    \hfill
    \begin{minipage}[hbt]{5cm}
        \centering
    \renewcommand*\figurename{Abb.}
        \includegraphics[width=5cm]{bilder/testbild3.jpg}
        \caption{Blablablablablablablablablabla}
        \label{fig:Bild2}
    \end{minipage}
    \end{figure}
    
    \begin{figure}[!htb]
    \begin{subfigure}[c]{0.5\textwidth}{
    \includegraphics[scale = 0.7]{bilder/testbild2.jpg}}
    \subcaption{blablabla}
    \end{subfigure}
    \begin{subfigure}[c]{0.5\textwidth}{
    \includegraphics[scale= 0.7]{bilder/testbild3.jpg}}
    \subcaption{blablabla}
    \end{subfigure}
    \caption{Blablablablablbalblablabla}\label{fig:blablabla}
    \end{figure}
    
    \begin{figure}[!htb]
    \begin{subfigure}[c]{0.5\textwidth}{
    \includegraphics[scale = 0.7]{bilder/testbild2.jpg}}
    \subcaption{blablabla}
    \end{subfigure}\hfill
    \begin{subfigure}[c]{0.5\textwidth}{
    \includegraphics[scale= 0.7]{bilder/testbild3.jpg}}
    \subcaption{blablabla}
    \end{subfigure}
    \caption{Blablablablablbalblablabla}\label{fig:stoergroessen}
    \end{figure}
    
    \end{document}
    Bis jetzt hat es aber bei allen funktioniert. Bei einem meiner Bilder macht es einfach gar keinen Platz zwischen den Bildern sondern klebt die Kante an kante, das passt mir da aber ganz gut.
    Keine Ahnung woher das jetzt so gut funktioniert, aber bis jetzt bin ich zufrieden!

  6. #6
    Registrierter Benutzer
    Registriert seit
    06.01.2014
    Beiträge
    108
    Du hast es tatsächlich mit \hfill beheben können, das ist jedoch ein Nebeneffekt. Du hast 2 Bilder mit 0.5\textwidth Breite drin, das ist exakt Textbreite. Ohne \hfill hast Du einen Zeilenumbruch im Quelltext, und das wirkt wie ein Leerzeichen. Dadurch wird es auf einmal zu breit, und ein Umbruch kommt vor der Abbildung. Mit \hfill hingegen wirkt der Zeilenumbruch nicht wie ein Leerzeichen, dadurch ist es wieder Textbreite.

    Es hätte an der Stelle daher sogar % genügt statt \hfill, zum Auskommentieren des Zeilenumbruchs/Leerzeichens. Daher sieht man sowas öfter in Quelltexten, falls Du Dich sowas schonmal gefragt hättest.

    Hier auch thematisiert: Was sollen die Kommentar-Zeichen (%) am Ende der Zeilen?

    Felix
    TeXwelt User

  7. #7
    Registrierter Benutzer
    Registriert seit
    06.02.2014
    Beiträge
    12
    Super, danke für die Antwort! Hätte ich das ganze auch mit 0.45 textwidth beheben können, statt zweimal 0.5?

  8. #8
    Registrierter Benutzer
    Registriert seit
    06.01.2014
    Beiträge
    108
    Ja, 0.45\textwidth hätte es auch behoben. Dann ist auch \hfill zwischendrin gut, so wird der Zwischenraum gestreckt, so dass die Breite voll ausgenutzt wird. Deshalb wird \hfill auch gern genommen, so muss man nicht auf den Pixel genau rechnen, hat Symmetrie und gute Platzausnutzung. Oder man will eh was harmonisch mit gleichen Abständen auf der Seite aufteilen, etwa 3 Objekte mit jeweils einem \hfill dazwischen.

    Felix
    TeXwelt User

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •