PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bilder in den Rand hinein



Deacon
06-01-2007, 19:37
Hallo!
Mit Hilfe der minipage-Umgebung will ich zwei Bilder nebeneinandersetzen. Jetzt sind die aber etwas klein. Wenn ich sie größer mache, bleibt der linke Rand konstant, das rechte Bild rutscht in den rechten Rand hinein. Der Befehl \centering nützt nichts, denn dann setzt LaTeX die Bilder untereinander. Gibt es eine Möglichkeit, die Bilder links und rechts in den Rand hineinragen zu lassen?

Meine Ausgangslage:

\begin{figure}[!htb]
\begin{minipage}[b]{.5\linewidth}
\includegraphics[width=\linewidth]{Kurvenschar}
\caption{$f_y(x)=yx^2$}
\end{minipage}
\begin{minipage}[b]{.5\linewidth}
\includegraphics[width=\linewidth]{Ebenenspiegelung}
\caption{$f(x,y)=yx^2$}
\end{minipage}
\end{figure}

Vielen Dank!

Sebastian

localghost
06-01-2007, 19:51
In der Dokumentation epslatex (ftp://dante.ctan.org/tex-archive/info/epslatex/english/epslatex.pdf) ist im Abschnitt 23 (Wide Figures) eine Umgebung beschrieben, die es erlaubt, Bilder in den Rand auszudehnen. In diesem Fall würde ich dir auch die Verwendung des Pakets subfig (ftp://dante.ctan.org/tex-archive/help/Catalogue/entries/subfig.html) empfehlen. Damit kannst du bequem zwei Grafiken in einer figure-Umgebung platzieren und mit Unterschriften versehen.

Deacon
06-01-2007, 23:12
Also das Problem bleibt bestehen, trotz subfig Paket.

\usepackage{subfig}

\begin{figure}
\centering
\subfloat[test]{\includegraphics[width=0.6\linewidth]{Kurvenschar}}%
\subfloat[test1]{\includegraphics[width=0.6\linewidth]{Ebenenspiegelung}}
\end{figure}


Die beiden Grafiken sind nicht zentriert, sondern links bündig und stehen nur über den rechten Rand hinaus.
:confused:

sofa-surfer
06-01-2007, 23:20
In der Dokumentation epslatex (ftp://dante.ctan.org/tex-archive/info/epslatex/english/epslatex.pdf) ist im Abschnitt 23 (Wide Figures) eine Umgebung beschrieben, die es erlaubt, Bilder in den Rand auszudehnen.

Mehr gibt es eigentlich nicht zu sagen ... (?)

Matthias

Deacon
07-01-2007, 10:07
localghost hat mir das subfig-Paket empfohlen, deswegen hab ich's ausprobiert.

Mit der narrow-Umgebung klappt's aber auch irgendwie noch nicht:
Ein Minimalbeispiel:

\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{ngerman}
\usepackage{graphicx}

\newenvironment{narrow}[2]{%
\begin{list}{}%
{%
\setlength{\topsep}{0pt}%
\setlength{\leftmargin}{#1}%
\setlength{\rightmargin}{#2}%
\setlength{\listparindent}{\parindent}%
\setlength{\itemindent}{\parindent}%
\setlength{\parsep}{\parskip}%
}%
\item[]}%
{\end{list}}%

\begin{document}

\begin{figure}
\begin{narrow}{-1cm}{-1cm}
\includegraphics[width=0.6\linewidth]{Kurvenschar}%
\includegraphics[width=0.6\linewidth]{Ebenenspiegelung}
\end{narrow}
\end{figure}

\end{document}

Nach wie vor schiebt LaTeX die Bilder nur rechts in den Rand, links sind sie bündig.
Was mache ich falsch?

Sebastian

sofa-surfer
07-01-2007, 10:31
Das ganze funktioniert schon. Das Problem ist nur, dass wenn du zwei Abbildungen hast, die je 0.6\textwidth breit sind, du aber nur 1cm Überstand auf jeder Seite zulässt, dann der Gesamtplatz immer noch nicht reichen wird.

Folgendes abgewandeltes Beispiel zeigt, dass es prinzipiell geht:


\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{ngerman}
\usepackage{graphicx}
\usepackage{blindtext,calc}
\usepackage{subfig}

\newenvironment{narrow}[2]{%
\begin{list}{}%
{%
\setlength{\topsep}{0pt}%
\setlength{\leftmargin}{#1}%
\setlength{\rightmargin}{#2}%
\setlength{\listparindent}{\parindent}%
\setlength{\itemindent}{\parindent}%
\setlength{\parsep}{\parskip}%
}%
\item[]}%
{\end{list}}%

\begin{document}

\begin{figure}
\begin{narrow}{-1cm}{-1cm}
%\subfloat[test1]{%
\rule{0.5\textwidth+1cm}{2cm} % nur zur Demo ein "Balken"
%}
%\subfloat[test2]{%
\rule{0.5\textwidth+1cm}{2cm} % nur zur Demo ein "Balken"
%}
\end{narrow}
\end{figure}

\Blindtext

\end{document}

Das subfig-Paket hat dir localghost empfohlen, da man damit gleich bequem mehrere Teilabbildungen beschriften kann. Mit der Platzierung in den Rand hinein hat das erst man nix zu tun.

Matthias

Deacon
07-01-2007, 11:12
Jetzt hab ich's verstanden (glaub ich).

Die Angabe der Breite [width=0.5\linewidth] bezieht sich in der Umgebung bereits auf die neu definierte Seitenbreite \begin{narrow}{-3cm}{-3cm}.
Man darf also bei zwei Bildern nicht über 0.5\linewidth hinausgehen.

\begin{figure}[!htb]
\begin{narrow}{-3cm}{-3cm}
\begin{center}
\includegraphics[width=0.5\linewidth]{Kurvenschar}%
\includegraphics[width=0.5\linewidth]{Ebenenspiegelung}
\end{center}
\end{narrow}
\end{figure}



Edit:
In meinem Testdokument hat es funktioniert, im richtigen nicht.
Es liegt an der Bildunterschrift! Beschrifte ich die beiden Bilder mit \caption{...}, dann setzt LaTeX sie wieder untereinander.
Weißt du da vielleicht auch noch die Lösung?
Vielen Dank!

Deacon
07-01-2007, 13:21
Folgendes Beispiel funktioniert wunderbar:


\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{ngerman}
\usepackage{graphicx}
\usepackage{subfig}

\newenvironment{narrow}[2]{%
\begin{list}{}%
{%
\setlength{\topsep}{0pt}%
\setlength{\leftmargin}{#1}%
\setlength{\rightmargin}{#2}%
\setlength{\listparindent}{\parindent}%
\setlength{\itemindent}{\parindent}%
\setlength{\parsep}{\parskip}%
}%
\item[]}%
{\end{list}}%

\begin{document}


\begin{figure}[!htb]
\begin{narrow}{-3cm}{-3cm}
\begin{center}
\subfloat[Bildunterschrift1]{\includegraphics[width=0.5\linewidth]{Bild1}}%
%\caption{$f_y(x)=yx^2$}
\subfloat[Bildunterschrift2]{\includegraphics[width=0.5\linewidth]{Bild2}}
%\caption{$f(x,y)=yx^2$}
\end{center}
\end{narrow}
\end{figure}

\end{document}


Nur leider kann ich das nicht brauchen. Die Bildbeschriftung mit (a) und (b) passt nicht, ich brauche eine ganz normale Beschriftung mit "Abbildung 1: ...", "Abbildung 2: ...".
Wenn ich nun aber [Bildunterschrift] weglasse und stattdessen den \caption Befehl verwende, rutschen die Bilder wieder in zwei verschiedene Zeilen.

Weiß jemand Rat?

sofa-surfer
07-01-2007, 13:26
Hallo,

so vielleicht?


\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{ngerman}
\usepackage{graphicx}
\usepackage{subfig}

\newenvironment{narrow}[2]{%
\begin{list}{}%
{%
\setlength{\topsep}{0pt}%
\setlength{\leftmargin}{#1}%
\setlength{\rightmargin}{#2}%
\setlength{\listparindent}{\parindent}%
\setlength{\itemindent}{\parindent}%
\setlength{\parsep}{\parskip}%
}%
\item[]}%
{\end{list}}%

\begin{document}


\begin{figure}[!htb]
\begin{narrow}{-3cm}{-3cm}
\parbox{0.5\linewidth}{%
\rule{\linewidth}{2cm}
\caption{$f_y(x)=yx^2$}
}
\parbox{0.5\linewidth}{%
\rule{\linewidth}{2cm}
\caption{$f_y(x)=yx^2$}
}
\end{narrow}
\end{figure}

\end{document}

Matthias

Deacon
07-01-2007, 14:02
Ich glaube, jetzt hab ich's endgültig geschafft!
Irgendwie amüsant:
Ich bin wieder bei meiner ursprünglichen minipage-Umgebung. :)
Mit fbox hat's nicht geklappt...



\begin{figure}[!htb]
\begin{narrow}{-3cm}{-3cm}
\begin{minipage}[b]{0.5\linewidth}
\includegraphics[width=\linewidth]{Kurvenschar}
\caption{$f_y(x)=yx^2$}
\end{minipage}
\begin{minipage}[b]{0.5\linewidth}
\includegraphics[width=\linewidth]{Ebenenspiegelung}
\caption{$f(x,y)=yx^2$}
\end{minipage}
\end{narrow}
\end{figure}


Auf jeden Fall herzlichen Dank dafür!

Sebastian

sofa-surfer
07-01-2007, 14:07
Ich glaube, jetzt hab ich's endgültig geschafft!
Irgendwie amüsant:
Ich bin wieder bei meiner ursprünglichen minipage-Umgebung. :)
Mit fbox hat's nicht geklappt...


Welche fbox? :confused:

Matthias

Deacon
07-01-2007, 14:14
parbox mein ich!
Sorry...

sofa-surfer
07-01-2007, 14:25
parbox mein ich!
Sorry...

Ich muss jetzt trotzdem noch mal nachfragen: Was hat nicht funktioniert?
In meinen Beispiel sehen beide Lösungen gleich aus ...


\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{ngerman}
\usepackage{graphicx}
\usepackage{subfig}

\newenvironment{narrow}[2]{%
\begin{list}{}%
{%
\setlength{\topsep}{0pt}%
\setlength{\leftmargin}{#1}%
\setlength{\rightmargin}{#2}%
\setlength{\listparindent}{\parindent}%
\setlength{\itemindent}{\parindent}%
\setlength{\parsep}{\parskip}%
}%
\item[]}%
{\end{list}}%

\begin{document}

%% mit parbox
\begin{figure}[!htb]
\begin{narrow}{-3cm}{-3cm}
\parbox{0.5\linewidth}{%
\rule{\linewidth}{2cm}
\caption{$f_y(x)=yx^2$}
}
\parbox{0.5\linewidth}{%
\rule{\linewidth}{2cm}
\caption{$f_y(x)=yx^2$}
}
\end{narrow}
\end{figure}


%% mit minipage
\begin{figure}[!htb]
\begin{narrow}{-3cm}{-3cm}
\begin{minipage}{0.5\linewidth}
\rule{\linewidth}{2cm}
\caption{$f_y(x)=yx^2$}
\end{minipage}
\begin{minipage}{0.5\linewidth}
\rule{\linewidth}{2cm}
\caption{$f_y(x)=yx^2$}
\end{minipage}
\end{narrow}
\end{figure}


\end{document}

Matthias

Deacon
07-01-2007, 14:31
Merkwürdig, jetzt funktionieren bei mir auch beide Varianten:



\begin{figure}[!htb]
\begin{narrow}{-3cm}{-3cm}
\begin{minipage}[b]{0.5\linewidth}
\includegraphics[width=\linewidth]{Kurvenschar}
\caption{$f_y(x)=yx^2$}
\end{minipage}
\begin{minipage}[b]{0.5\linewidth}
\includegraphics[width=\linewidth]{Ebenenspiegelung}
\caption{$f(x,y)=yx^2$}
\end{minipage}
\end{narrow}
\end{figure}


\begin{figure}[!htb]
\begin{narrow}{-3cm}{-3cm}
\parbox{0.5\linewidth}{%
\includegraphics[width=\linewidth]{Kurvenschar}
\caption{$f_y(x)=yx^2$}
}
\parbox{0.5\linewidth}{%
\includegraphics[width=\linewidth]{Ebenenspiegelung}
\caption{$f_y(x)=yx^2$}
}
\end{narrow}
\end{figure}

sofa-surfer
07-01-2007, 14:38
Merkwürdig, jetzt funktionieren bei mir auch beide Varianten


Schön :D

Matthias