Text neben Abbildung

Tabellen und Grafiken erstellen und anordnen


Ciotic
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: Fr 16. Mai 2014, 15:45

Text neben Abbildung

Beitrag von Ciotic »

Hallo zusammen,

ich habe hier ein Problem und bräuchte mal Tipps, wie ich am besten vorgehe.

Ich möchte Text neben ein Bild platzieren. Dabei soll der Text an bestimmten horizontalen Stellen neben dem Text stehen. Siehe dazu auch folgendes Beispiel: Beispiel.

Hat jemand einen Tipp, wie ich das am besten bewerkstellige? Über die Minipage habe ich das Problem, dass ich den Text nicht brauchbar ausrichten kann.

Danke schon mal!

Gruß

Besserwisser

Beitrag von Besserwisser »

Könnte man komplett mit Tikz machen. Aber auch mit overpic und einer fertigen Abbildung. Und natürlich würde das auch mit einer minipage funktionieren. Was dabei dein Problem ist, erschließt sich nicht, das du die wichtigen Hinweise und Vorabhilfen für dieses Unterforum nicht beachtet hast und wir deshalb kaum Informationen dazu haben, auf welches Problem du dabei gestoßen bist.

Ciotic
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: Fr 16. Mai 2014, 15:45

Beitrag von Ciotic »

Hallo Besserwisser,

danke für deine Antwort. Da ich mich mit tikz, oder gar overpic noch nicht näher beschäftigt habe, ist es umso besser, dass es auch mit der Minipage-Umgebung möglich sein sollte. Gerne erläutere ich dir mein Problem genauer:
\documentclass[11pt,a4paper]{scrartcl} 
\usepackage{graphicx}
\begin{document}
\begin{figure}
\begin{minipage}[t]{0.25\textwidth}
Hier steht Text. 
\end{minipage}
\begin{minipage}[t]{0.75\textwidth}
\fbox{
\includegraphics[width=0.75\textwidth]{pics/14-3}}
\caption{Spritzgussanlage}
	\label{pic:14-3}
\end{minipage}
\end{figure}
\end{document}
Nun mein Problem:

Erstens ist meine Caption nicht unter dem eigentlichen Bild zentriert. Wie kann ich die Breite des Bildes an die Minipage anpassen?

Zweitens: Mein Text beginnt am unteren Ende der Minipage. Wie bekommen ich diesen an den Anfang? Wie ordne ich nun den Text an die einzelnen Stationen im Bild an? Über \*skip? Oder gibt es da eine brauchbarere Alternative?

Danke!

EDIT:

Ich habe mir gerade mal Overpic angeschaut. Das sieht für meine Anforderungen brauchbar aus. Den Text kann ich dann aber nur innerhalb des Bildes platzieren, richtig? Bei mir soll der Text allerdings neben das Bild, oder ist das auch möglich?

Felix
Forum-Century
Forum-Century
Beiträge: 210
Registriert: Sa 25. Jan 2014, 13:57

Beitrag von Felix »

Für eine Lösung mit TikZ: Wie kann ich mit TikZ auf Bildern zeichnen? Statt "auf" geht natürlich auch "neben" mit gleicher Methoden. Dort kann man übrigens auch Fragen stellen. Sieht ja an dem Beispiel, was für sehr gute Antworten kommen.

Felix

prankenandi
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 60
Registriert: Di 8. Apr 2014, 13:59

Beitrag von prankenandi »

Ich denke das Problem ist, das die Grundlinie des Bildes der untere Bildrand ist und der Text der zweiten Minipage an dieser ausgerichtet wird.

Eine Möglichkeit ware mit der Höhe des Bildes die Höhe der zweiten Minipage zu definieren und darüber dann die Position innen und außen der Minipage.

Ebenso solltest du beachten das \fbox zwischen Rahmen und Inhalt einen kleinen Freiraum läßt, den du u.U. entfernen solltest/mußt.

Ich benutze auch gerade einen Online-Latex-Compiler und es entsteht eine kleiner weißer Rand am linken Ende des Bildes. Ich weiß nun nicht ob dies am Compiler liegt oder ob es ein Problem bei \fbox und \rule gibt?!?!

Achso, wenn du die Breite deines Bildes mit 0,75 angibst, dann ist das 0,75 von der Breite der Minipage. Das Bild weiß ja nicht das es in einer Minipage ist bzw. diese nur 0,75 der Textbreite ist. Deswegen kannst du \textwidth nehmen

Wahrscheinlich gibt es noch ausgefeiltere Lösungen, aber hier ein Vorschlag:

\documentclass[11pt,a4paper]{scrartcl} 
\usepackage{graphicx}

\setlength{\fboxsep}{0pt}
 
\begin{document}

\begin{figure}
\begin{minipage}[b][5cm][tt]{0.25\textwidth} 
Hier steht Text.
\vskip 2.5cm
Zweite Zeile 
\end{minipage}
%
\begin{minipage}[t]{0.75\textwidth} 
\fbox{ 
\rule{\textwidth}{5cm}}
\caption{Spritzgussanlage} 
    \label{pic:14-3} 
\end{minipage}
\end{figure} 
%
\end{document} 
Debian 7 (Wheezy) mit Texlive 2013 und Texmaker

Besserwisser

Beitrag von Besserwisser »

Innerhalb einer minipage-Umgebung ist \textwidth die Breite der minipage. Du willst also in \includegraphics als Breite vermutlich eher \textwidth als 0.75\textwidth. Außerdem benötigt \fbox, wie bereits erwähnt, Platz für die Linie und den Abstand. Das sind insgesamt 2\fboxrule + 2\fboxsep.

Für die vertikale Ausrichtung wird in den wichtigen Hinweisen und Vorabhilfen für dieses Unterforum eigentlich schon alles gesagt bzw. an Beispielen gezeigt. Mir unerklärlich, warum du das nicht einfach anwendest. Hier eine Alternative zur den dortigen Lösungen mit einem \vskip, das eine neue oberste Grundlinie in der zweiten minipage verursacht:
\documentclass[11pt,a4paper]{scrartcl}
\usepackage[demo]{graphicx}
\begin{document}
\begin{figure}
\begin{minipage}[t]{0.25\textwidth}
Hier steht Text.
\end{minipage}%
\begin{minipage}[t]{0.75\textwidth}
\vskip-\ht\strutbox
\frame{%
\includegraphics[width=\textwidth,height=.8\textheight]{pics/14-3}}
\caption{Spritzgussanlage}
\label{pic:14-3}
\end{minipage}
\end{figure}
\end{document}
Ich habe hier \frame statt \fbox verwendet. Das benötigt keinen Platz und setzt den Rahmen anliegend. Außerdem habe ich noch potentiell unerwünschte Leerzeichen beseitigt.

Will man eine \fbox verwenden, lautet die entsprechende Stelle beispielsweise:
\fbox{%
\includegraphics[width=\dimexpr\textwidth-2\fboxsep-2\fboxrule\relax,height=.8\textheight]{pics/14-3}}
\dimexpr ist ein e-TeX-Primitiv, das im e-Tex-Manual erklärt ist.

Ciotic
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: Fr 16. Mai 2014, 15:45

Beitrag von Ciotic »

Vielen Dank für Eure Antworten.

@ Besserwisser: Danke! Ich habe mir die Hinweise zwar durchgelesen, aber noch nicht so recht verstanden, was der dortige Code erzeugt. Dein Beispiel ist mir klarer.

Eine Sache noch: Ich habe meine Grafik folgendermaßen skaliert:
\documentclass[11pt,a4paper]{scrartcl} 
\usepackage[demo]{graphicx} 
\begin{document} 
\begin{figure}
\begin{minipage}[t]{0.35\textwidth} 
Das ist ein Test. 
\end{minipage}%
\begin{minipage}[t]{0.65\textwidth} 
\vskip-\ht\strutbox
\frame{%
\includegraphics[width=0.7\textwidth]{pics/16}}
\caption{Reinigungsanlage}
	\label{pic:16}
\end{minipage}
\end{figure}
\end{document}
Wie bekomme ich nun die Caption zentriert unter dem Bild ausgerichtet? Bislang ist die an der Minipage zentriert. Danke![/code]

Besserwisser

Beitrag von Besserwisser »

Mach die minipage nur so breit wie das Bild oder zentriere das Bild (mit \centering) in der minipage.

prankenandi
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 60
Registriert: Di 8. Apr 2014, 13:59

Beitrag von prankenandi »

@Besserwisser

Ich hätte noch eine Frage zu deinem Vorschlag:

Warum zieht dieser Befehl
Besserwisser hat geschrieben: \vskip-\ht\strutbox
die Grundlinie an das obere Ende des Bildes?

Wenn man nach \strut oder \strutbox sucht dann findet man das die Höhe 0.7\baselineskip ist.

Wenn das korrekt ist, dann was wird hier als \baselineskip angesehen bzw. was sind die Grundlinien auf die es sich bezieht?!?!


Vielen Dank im Voraus!
Debian 7 (Wheezy) mit Texlive 2013 und Texmaker

Noch so einer

Beitrag von Noch so einer »

Die Grundlinie ist in der Typographie eine gedachte Linie, auf der optisch alle Buchstaben ohne Unterlängen stehen. Das Adjektiv "optisch" ist wichtig, weil technisch ein Zeichen auch etwas tiefer angesetzt sein kann. So gibt es Fonts, bei denen das o oder das e leicht unter die Grundlinie ragt, was aber optisch trotzdem eine ruhige Linie ergibt.

In TeX hat jedes Zeichen eine Höhe (alles, was über der Grundlinie liegt), eine Tiefe (alles, was unter der Grundlinie liegt) und eine Breite. \ht\strutbox ist die Größe des Teils einer Zeile, der max. über der Grundlinie liegt, ohne dass der Abstand zwischen den Grundlinien aufgeweitet werden musst. \dp\strutbox ist entsprechend die Größe des Teils, der max. unter der Grundlinie liegen darf.

Wenn ich nun eine Grundlinie an den oberen Rand der minipage legen will, muss ich also um die Höhe, die über der Grundlinie liegt nach oben, also um \ht\strutbox. Nach oben heißt bei \vskip mit negativem Vorzeichen, also -\ht\strutbox. Da ich das mache, bevor ich die Grafik ausgebe, ist die Höhe der Grafik ohne Bedeutung. Die wird ja erst in der nächsten Zeile ausgegeben und deren Zeile wird aufgeweitet, wenn die Grafik höher als \ht\strutbox ist.

Probier auch einfach mal die Beispiele aus den wichtigen Hinweisen aus. Dort wird \ht\strutbox ebenfalls verwendet.

Antworten