Seite 1 von 1

Zwei Bilder mit zwei Rahmen nebeneinander

Verfasst: Sa 13. Apr 2013, 10:10
von gast84
Guten Morgen zusammen,

ich habe eine LaTeX-Vorlage bekommen die ich anpassen muss. Es geht prinzipiell darum zwei Grafiken nebeneinander mit unterschiedlichen Beschriftungen anzeigen zu lassen. Beide sollen einen eigenen schwarzen Rahmen bekommen.

Das Problem ist, dass bei unterschiedlichen Bildgrößen auch die sichtbaren Rahmen unterschiedlich hoch sind. Hat jemand eine Idee wie ich das lösen kann?

Der Aufruf des folgenden Befehls ist:
\doublepicsmall
{Bild1}{Bildunterschrift1}{Label1}
{Bild2}{Bildunterschrift2}{Label2}

Gruß
Dennis
\newcommand{\doublepicsmall}[6]{%
\begin{figure}
   \parbox[tt]{62.5mm}{%
   \setlength{\fboxsep}{5mm}%
		\setlength\fboxrule{0.25pt}%
		\fbox{\includegraphics[width=62.5mm-2\fboxsep]{#1}}%
     \figcaption{#2}}%
     \label{#3}%
   \hspace{5mm}%
   \parbox[tt]{62.5mm}{%
	 \setlength{\fboxsep}{5mm}%
		\setlength\fboxrule{0.25pt}%
		\fbox{\includegraphics[width=62.5mm-2\fboxsep]{#4}}%
     \figcaption{#5}}
     \label{#6}%
\end{figure}
}

Verfasst: Sa 13. Apr 2013, 12:05
von Epllus
Eine Möglichkeit könnte sein, eine fixe Höhe einzuführen:
\newcommand{\doublepicsmall}[6]{% 
\begin{figure} 
   \parbox[tt]{62.5mm}{% 
   \setlength{\fboxsep}{5mm}% 
      \setlength\fboxrule{0.25pt}% 
      \fbox{\includegraphics[width=62.5mm-2\fboxsep,height=10cm]{#1}}% 
     \figcaption{#2}}% 
     \label{#3}% 
   \hspace{5mm}% 
   \parbox[tt]{62.5mm}{% 
    \setlength{\fboxsep}{5mm}% 
      \setlength\fboxrule{0.25pt}% 
      \fbox{\includegraphics[width=62.5mm-2\fboxsep,height=10cm]{#4}}% 
     \figcaption{#5}} 
     \label{#6}% 
\end{figure} 
} 
Ungetestet wegen fehlendem Minimalbeispiel

Grüße
Epllus

Verfasst: Mi 17. Apr 2013, 09:11
von gast84
Hallo Epllus,

danke für deinen Vorschlag! Ich reiche das Beispiel nach. Im Moment ist das Problem bei deiner Lösung, dass die Bilder auch in die Höhe skaliert werden. Lässt sich das vermeiden? Oder anders ausgedrückt: wie kann ich die Bilder auf die Breite skalieren und dabei das Seitenverhältnis beibehalten?

Gruß Dennis
\documentclass[a4paper, 10pt]{scrbook}

\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[demo]{graphicx}
\usepackage{nonfloat}
\usepackage{calc}

\newcommand{\doublepicsmall}[6]{%
\begin{figure}
   \parbox[tt]{62.5mm}{%
   \setlength{\fboxsep}{5mm}%
      \setlength\fboxrule{0.25pt}%
      \fbox{\includegraphics[width=62.5mm-2\fboxsep,height=10cm]{#1}}%
     \figcaption{#2}}%
     \label{#3}%
   \hspace{5mm}%
   \parbox[tt]{62.5mm}{%
    \setlength{\fboxsep}{5mm}%
      \setlength\fboxrule{0.25pt}%
      \fbox{\includegraphics[width=62.5mm-2\fboxsep,height=10cm]{#4}}%
     \figcaption{#5}}
     \label{#6}%
\end{figure}
}

\begin{document}

\doublepicsmall
	{Bild1}{Unterschrift 1}{fig:Bild1}
	{Bild2}{Unterschrift 2}{fig:Bild2}

\end{document}

Verfasst: Mi 17. Apr 2013, 10:47
von Besserwisser
\includegraphics kennt dafür eine Option (irgendwas mit aspect). Schau einfach mal in die Anleitung zu graphicx.

BTW: Ich würde empfehlen, nicht mit absoluten Längen in mm, sondern für die Breite abhängig von \linewidth (oder \columnwidth oder \textwidth) und für die Höhe abhängig von ex, \baselineskip oder \textheight (oder ggf. ebenfalls \linewidth etc.) zu arbeiten.

Verfasst: Mi 17. Apr 2013, 12:34
von gast84
Hallo,

wenn ich die Option
keepaspectratio
einfüge wird die Höhe des Rahmens wieder ignoriert. Es muss doch möglich sein einen festen Rahmen vozugeben und das Bild darin zu zentrieren ohne dass sich das Seitenverhältnis ändern!? :?

Gruß
Dennis

Verfasst: Mi 17. Apr 2013, 13:40
von Noch so einer
Wenn Du einen Rahmen fester Höhe haben willst, in dem dann vertikal das Bild zentriert werden soll, dann solltest Du schlicht eine \parbox mit gewünschter Höhe (geht per optionalem Argument, siehe usrguide) und vertikal zentriertem Inhalt in die \fbox packen und erst in dieser \parbox dann \includegraphics verwenden.
\documentclass[a4paper, 10pt]{scrbook}

\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[demo]{graphicx}
\usepackage{nonfloat}
\usepackage{calc}

\newcommand{\doublepicsmall}[6]{%
\begin{figure}
   \parbox[tt]{62.5mm}{%
   \setlength{\fboxsep}{5mm}%
      \setlength\fboxrule{0.25pt}%
      \fbox{\includegraphics[width=\linewidth-2\fboxsep-2\fboxrule,height=10cm]{#1}}%
     \figcaption{#2}}%
     \label{#3}%
   \hspace{5mm}%
   \parbox[tt]{62.5mm}{%
    \setlength{\fboxsep}{5mm}%
      \setlength\fboxrule{0.25pt}%
      \fbox{\parbox[b][10cm][c]{\linewidth-2\fboxsep-2\fboxrule}{%
          \includegraphics[width=\linewidth,height=5cm]{#4}}}%
     \figcaption{#5}}
     \label{#6}%
\end{figure}
}

\begin{document}

\doublepicsmall
   {Bild1}{Unterschrift 1}{fig:Bild1}
   {Bild2}{Unterschrift 2}{fig:Bild2}

\end{document}
Ich habe bei der Gelegenheit auch noch die Breite korrigiert.

Verfasst: Mi 17. Apr 2013, 13:46
von Besserwisser
Noch ein klein wenig optimiert:
\documentclass[a4paper,10pt]{scrbook}

\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[demo]{graphicx}
\usepackage{calc}

\newcommand{\doublepicsmall}[6]{%
\begin{figure}
   \parbox[tt]{(\linewidth-5mm)/2}{%
   \setlength{\fboxsep}{5mm}%
      \setlength\fboxrule{0.25pt}%
      \fbox{\includegraphics[width=\linewidth-2\fboxsep-2\fboxrule,height=10cm]{#1}}%
     \caption{#2}}%
     \label{#3}%
   \hfill
   \parbox[tt]{(\linewidth-5mm)/2}{%
    \setlength{\fboxsep}{5mm}%
      \setlength\fboxrule{0.25pt}%
      \fbox{\parbox[b][10cm][c]{\linewidth-2\fboxsep-2\fboxrule}{%
          \includegraphics[width=\linewidth,height=5cm]{#4}}}%
     \caption{#5}}
     \label{#6}%
\end{figure}
}

\begin{document}

\doublepicsmall
   {Bild1}{Unterschrift 1}{fig:Bild1}
   {Bild2}{Unterschrift 2}{fig:Bild2}

\end{document}
Übrigens: Linien mit einer Dicke von 0,4 Punkt sind bereits Haarlinien. 0,25 pt wären nur 0,003 in, also bei 300dpi gerade noch ein Pixel, aber auf dem Bildschirm je nach Viewer bereits wegoptimiert.

Verfasst: Mi 17. Apr 2013, 13:54
von u_fischer
Ich würde \vphantom benutzen, um die Höhe des jeweiligen anderen Bildes in die \fbox zu bekommen:
\documentclass[a4paper, 10pt]{scrbook}

\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{graphicx}
\usepackage{nonfloat}
\usepackage{calc}
\usepackage{mwe} %example images
\newcommand{\doublepicsmall}[6]{%
\begin{figure}    
    \setlength{\fboxsep}{5mm}%
    \setlength\fboxrule{0.25pt}%
    \parbox{62.5mm}{%
    \fbox{\vphantom{\includegraphics[width=62.5mm-2\fboxsep]{#4}}%
                    \includegraphics[width=62.5mm-2\fboxsep]{#1}}%
    \figcaption{#2}%
    \label{#3}}%
    \hspace{5mm}%
    \parbox{62.5mm}{%
    \fbox{\vphantom{\includegraphics[width=62.5mm-2\fboxsep]{#1}}%
                    \includegraphics[width=62.5mm-2\fboxsep]{#4}}%
    \figcaption{#5}
    \label{#6}}%
\end{figure}
}

\begin{document}

\doublepicsmall
    {example-image-a}{Unterschrift 1}{fig:Bild1}
    {example-image-10x16}{Unterschrift 2}{fig:Bild2}

\end{document}

Verfasst: Mo 22. Apr 2013, 20:23
von gast84
Das funktioniert, vielen Dank! :-)

Verfasst: Fr 3. Mai 2013, 09:44
von rtztrzt
Incubus84 hat geschrieben:\usepackage{nonfloat}
Das nonfloat-Paket ist inkompatibel zu KOMA-Script, weil es dessen Abstand-\caption-zum-Bild-Algorithmus kaputt macht. Davon ab ergibt ein \figcaption innerhalb einer figure sowieso wenig Sinn...

Außerdem muß das \label mit in die \parbox, direkt hinter \caption.