Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Anordnung bei subfig

  1. #1
    Registrierter Benutzer
    Registriert seit
    16.03.2010
    Beiträge
    8

    Question Anordnung bei subfig

    Hallo allerseits,
    ich habe ein kleines Problem mit der Anordnung von einigen subfigs. Ich hätte gerne, dass in einer Zeile die Inhalte jeweils oben ausgerichtet sind und unten die Captions auf einer Linie stehen.
    Außerdem sollte der Abstand der Spalten auch der gleiche sein.
    Bislang habe ich ein bisschen rumgebastelt, aber bin nicht wirklich mit dem Ergebnis zufrieden.

    Für Ideen wäre ich sehr dankbar. Vielen Dank schon mal im Voraus.

    Grüße,

    Wurst

    Code:
    \documentclass{article}
    
    \usepackage{subfig}
    \usepackage{amsmath}
    \usepackage{amssymb}
    
    \newlength{\OptProblemTemp}
    \newcommand{\OProb}[3]{
       \ensuremath{
       \setlength{\arraycolsep}{2pt}
       \begin{array}{cl}
       #1 & #2 \\
       \operatorname{s.t.} & #3
       \end{array}
       \setlength{\arraycolsep}{\OptProblemTemp}
       }
    }
    \newcommand{\ZZ}{\mathbb{Z}}
    
    \begin{document}
    TextText
    
    \begin{figure*}[htb]% 
    \centering 
    \subfloat[Lineares Programm]{
    \OProb{\min}{x_1+x_2}{
    \begin{array}[t]{rccccccl}
    2x_1 & + & 3x_2 & \leq & 2\\
    x_1 & + & 2x_2 & \leq & 2\\
    x_1 &&& \geq &0
    \end{array}
    }
    }% 
    \qquad 
    \subfloat[Mixed Integer Programm]{
    \OProb{\min}{x_1+x_2}{
    \begin{array}[t]{rccccccl}
    2x_1 & + & 3x_2 & \leq & 2\\
    x_1 & + & 2x_2 & \leq & 2\\
    x_1 &&& \geq &0\\
    & &x_2 & \in & \ZZ
    \end{array}
    }
    } 
    \\
    \subfloat[Integer Programm]{
    \OProb{\min}{x_1+x_2}{
    \begin{array}[t]{rccccccl}
    2x_1 & + & 3x_2 & \leq & 2\\
    x_1 & + & 2x_2 & \leq & 2\\
    x_1 &&& \geq &0\\
    &&x_1, x_2 & \in & \ZZ
    \end{array}
    }
    }
    \qquad
    \subfloat[Binary Programm]{
    \OProb{\min}{x_1+x_2}{
    \begin{array}[t]{rccccccl}
    2x_1 & + & 3x_2 & \leq & 2\\
    x_1 & + & 2x_2 & \leq & 2\\
    &&x_1, x_2 & \in & \{0,1\}
    \end{array}
    }
    }
    \end{figure*}
    
    TextText
    
    \end{document}

  2. #2
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Eine Quick & Dirty Lösung:
    Code:
    \documentclass{article}
    
    \usepackage{caption,subcaption}
    \usepackage{amsmath}
    \usepackage{amssymb}
    
    \newlength{\OptProblemTemp}
    \newcommand{\OProb}[3]{
       \ensuremath{
       \setlength{\arraycolsep}{2pt}
       \begin{array}{cl}
       #1 & #2 \\
       \operatorname{s.t.} & #3
       \end{array}
       \setlength{\arraycolsep}{\OptProblemTemp}
       }
    }
    \newcommand{\ZZ}{\mathbb{Z}}
    
    \begin{document}
    TextText
    
    \begin{figure*}[htb]% 
    \centering
    \captionsetup[sub]{singlelinecheck=off}
    \begin{subfigure}[b][2.5cm]{4.5cm}
    \OProb{\min}{x_1+x_2}{
    \begin{array}[t]{rccccccl}
    2x_1 & + & 3x_2 & \leq & 2\\
    x_1 & + & 2x_2 & \leq & 2\\
    x_1 &&& \geq &0
    \end{array}
    }\vfill
    \caption{Lineares Programm}%
    \end{subfigure}
    \qquad 
    \begin{subfigure}[b][2.5cm]{4.5cm}
    \OProb{\min}{x_1+x_2}{
    \begin{array}[t]{rccccccl}
    2x_1 & + & 3x_2 & \leq & 2\\
    x_1 & + & 2x_2 & \leq & 2\\
    x_1 &&& \geq &0\\
    & &x_2 & \in & \ZZ
    \end{array}
    }\vfill
    \caption{Mixed Integer Programm}%
    \end{subfigure}
    \par\vspace{20pt}% vertikaler Abstand
    \begin{subfigure}[b][2.5cm]{4.5cm}
    \OProb{\min}{x_1+x_2}{
    \begin{array}[t]{rccccccl}
    2x_1 & + & 3x_2 & \leq & 2\\
    x_1 & + & 2x_2 & \leq & 2\\
    x_1 &&& \geq &0\\
    &&x_1, x_2 & \in & \ZZ
    \end{array}
    }\vfill
    \caption{Integer Programm}%
    \end{subfigure}
    \qquad
    \begin{subfigure}[b][2.5cm]{4.5cm}
    \OProb{\min}{x_1+x_2}{
    \begin{array}[t]{rccccccl}
    2x_1 & + & 3x_2 & \leq & 2\\
    x_1 & + & 2x_2 & \leq & 2\\
    &&x_1, x_2 & \in & \{0,1\}
    \end{array}
    }\vfill
    \caption{Binary Programm}%
    \end{subfigure}
    \end{figure*}
    
    TextText
    
    \end{document}
    Eleganter geht das sicherlich irgendwie mit dem floatrow-Paket, einfach mal in der Dokumentation ab Kapitel 6 "The floatrow Package and The caption Package" lesen.

    Liebe Grüße,
    Axel
    Geändert von sommerfee (04-08-2010 um 07:32 Uhr) Grund: Code überarbeitet, verwendet jetzt subfigure statt minipage

  3. #3
    Registrierter Benutzer
    Registriert seit
    16.03.2010
    Beiträge
    8

    Thumbs up

    Hallo Alex,

    danke für deine Antwort. Sie funktioniert zwar, jedoch kann ich aus anderen Gründen das subcaption Paket nicht verwenden, da es Komplikationen mit einem anderen Paket gibt. Außerdem wäre ich glücklicher mit einer Lösung mit den subfig und floatrow Paketen. Falls jemand noch einen Vorschlag hat würde ich mich freuen.

    Schöne Grüße,

    Wurst

  4. #4
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Zitat Zitat von Wurst09 Beitrag anzeigen
    Sie funktioniert zwar, jedoch kann ich aus anderen Gründen das subcaption Paket nicht verwenden, da es Komplikationen mit einem anderen Paket gibt.
    Mit welchem Paket gibt es Komplikationen und welche? Wenn ich das weiß, kann ich mir das ansehen und beheben.

    Liebe Grüße,
    Axel

  5. #5
    Registrierter Benutzer
    Registriert seit
    16.03.2010
    Beiträge
    8

    Post

    Hallo Alex,
    danke, dass du dich so meinem Problem annimmst.
    Um die Komplikationen zu erläutern muss ich etwas ausholen. Ich schreibe grade meine Diplomarbeit und benutze dazu ein Paket, was von meine Uni rausgegeben wird (also zumindest ist es von Leuten erstellt worden, die an der Uni arbeiten... Vorlagen von den Designern gabs nur für Word ).
    Zu finden ist es unter http://exp1.fkp.physik.tu-darmstadt.de/tuddesign/,
    es gibt dort auch ein Forum http://tuddesign-latex.fs-etit.de/ auf dem einige Dinge besprochen werden.

    Nach einigem Rumprobieren bin ich darauf gekommen, dass wohl das hyperref-Paket für die Inkompatibilitäten verantwortlich ist. Leider wird bei einem Minimalbeispiel, das article verwendet, keine Fehlermeldung erzeugt. Ich befürchte, dass wohl in der Vorlage irgendwas rumgebastelt worden ist und es deshalb zu Inkompatibilitäten kommt... Wenn ich hyperref weglasse, läuft es zwar durch, aber man erkennt bereits Unterschiede zu deinem obigen Beispiel (siehe Anhang). Leider bin ich nicht wirklich in der Lage mich in die Tiefen der Vorlage zu begeben und nachzuschauen, was den Fehler verursacht. Als letzte Rettung könnte ich die einzelnen Probleme als Bilder exportieren und dann einbinden. Das ist zwar ZIEMLICH gemogelt, aber vielleicht klappts.

    Schöne Grüße,

    Wurst

    PS: Ich hab noch einen Logfile mit den Fehlermeldungen angehängt. Vielleicht sieht ja jemand spontan, woran es liegt.
    Geändert von Wurst09 (05-08-2010 um 22:32 Uhr) Grund: Logfile angehängt

  6. #6
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Ich schaue mir das am Samstag alles mal an und gebe dann bescheid.

    Liebe Grüße,
    Axel

    P.S.: Ich sehe gerade, daß du subcaption und subfig lädst. Kannst du mal das Laden von subfig auskommentieren, geht es dann besser?
    Geändert von sommerfee (06-08-2010 um 06:46 Uhr)

  7. #7
    Registrierter Benutzer
    Registriert seit
    16.03.2010
    Beiträge
    8
    Zitat Zitat von sommerfee Beitrag anzeigen
    P.S.: Ich sehe gerade, daß du subcaption und subfig lädst. Kannst du mal das Laden von subfig auskommentieren, geht es dann besser?
    Hallo Axel,
    ja, dann bekomme ich keinen Fehler mehr... Müsste dann aber meine ganzen Subfigs umbauen in subfigures (was ja eigentlich veraltet ist und nicht mehr genutzt werden solle )

    Schöne Grüße,

    Wurst

    PS: Hab gerade ein bisschen im floatrow-Handbuch gelesen... Kapitel 3.1.9: Vertical Alignment of Float Elements sieht ziemlich erfolgversprechend aus.
    Geändert von Wurst09 (07-08-2010 um 16:57 Uhr) Grund: Kapitel 3.1.9 von floatrow könnte hilfreich sein, Axel :D

  8. #8
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Zitat Zitat von Wurst09 Beitrag anzeigen
    Hallo Alex
    http://www.mrunix.de/forums/showthre...36130&p=233100

    Müsste dann aber meine ganzen Subfigs umbauen in subfigures
    Nein, nicht unbedingt, das subcaption-Paket kann auch \subfloat. Ich habe es aber nicht dokumentiert, weil es nicht 100% kompatibel zum subfloat-Paket implementiert ist.

    (was ja eigentlich veraltet ist und nicht mehr genutzt werden solle )
    Das subfigure-Paket ist veraltet und wurde vom Autor durch das subfig-Paket ersetzt.

    Die subfigure-Umgebung meines subcaption-Paketes ist (hoffentlich ;-)) noch nicht veraltet.

    Liebe Grüße,
    Axel
    Geändert von sommerfee (07-08-2010 um 06:39 Uhr)

Lesezeichen

Berechtigungen

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