Die Mathe-Redaktion - 16.12.2018 16:48 - Registrieren/Login
Auswahl
ListenpunktHome
ListenpunktAktuell und Interessant ai
ListenpunktArtikelübersicht/-suche
ListenpunktAlle Links / Mathe-Links
ListenpunktFach- & Sachbücher
ListenpunktMitglieder / Karte
ListenpunktRegistrieren/Login
ListenpunktArbeitsgruppen
ListenpunktSchwätz / Top 15
ListenpunktWerde Mathe-Millionär!
ListenpunktFormeleditor fedgeo
Aktion im Forum
Suche
Stichwortsuche in Artikeln und Links von Matheplanet
Suchen im Forum
Suchtipps

Bücher
Englische Bücher
Software
Suchbegriffe:
Mathematik bei amazon
Naturwissenschaft & Technik
In Partnerschaft mit Amazon.de
Kontakt
Mail an Matroid
[Keine Übungsaufgaben!]
Impressum

Bitte beachten Sie unsere Nutzungsbedingungen, die Distanzierung, unsere Datenschutzerklärung und
die Forumregeln.

Sie können Mitglied werden. Mitglieder können den Matheplanet-Newsletter bestellen, der etwa alle 2 Monate erscheint.

Der Newsletter Okt. 2017

Für Mitglieder
Mathematisch für Anfänger
Wer ist Online
Aktuell sind 752 Gäste und 27 Mitglieder online.

Sie können Mitglied werden:
Klick hier.

Über Matheplanet
 
Zum letzten Themenfilter: Themenfilter:
Matroids Matheplanet Forum Index
Moderiert von Stefan_K
Matroids Matheplanet Forum Index » Textsatz mit LaTeX » Drei Bilder nebeneinander platzieren
Druckversion
Druckversion
Autor
Universität/Hochschule J Drei Bilder nebeneinander platzieren
Sinas666
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 28.03.2018
Mitteilungen: 46
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2018-09-20

\(\begingroup\)
Hallo,

ich versuche gerade drei Bilder nebeneinander darzustellen. Aber die verschieben sich leider so sehr nach rechts :/
So sieht das aus:


Wie funktioniert es, sie angemessen (also mit gleichem Abstand, nicht so nah am Rand und Legende darüber zentriert oder links) zu platzieren?
Wenn das in der Größe nicht angemessen möglich ist, wäre es in Ordnung die Bilder zu verkleinern (und dann die Punkte so zu vergrößern, so dass man noch was erkennt..).


Latex
\documentclass[11pt]{amsart}
\usepackage{tikz}
\usetikzlibrary{matrix}
\usepackage{subcaption}
\usepackage{caption}
 
\begin{document}
 
\begin{figure}[htb]
  \centering
  \begin{minipage}[t]{.35\linewidth}
    \centering
 \begin{tikzpicture}[
matrixstyle/.style={
draw, 
matrix of nodes,
nodes in empty cells,
nodes={anchor=west},
column sep=2em, row sep=0.5em, 
inner sep=2pt, 
},
]
\newcommand\KurveA{%
(-1,0.1) .. controls (-02,-1) and (-2.3,-0.2) .. (-2.5, 0.3) }
\newcommand\KurveB{%
(0.1,-1) .. controls (-02,-1) and (-2.3,-0.2) .. (-2.5, -1.3)}
\newcommand\KurveC{%
(0,0) .. controls (1.7,1.7) and (2.3,1.3) .. (2.8, 1.3)}
\newcommand\KurveD{%
(0.5,0.5) .. controls (-1.7,1.7) and (-2.3,1.3) .. (-2.8, 2.3) }
\newcommand\KurveE{%
(1.4,1.1) .. controls (2,0.5) and (2.3,-0.3) .. (2.8, -1.3)}
\newcommand\KurveF{%
(0,0) .. controls (0,-2) and (0.8,-2.3) .. (1.3, -2.5) }
\newcommand\KurveG{%
(0,0) .. controls (-02,0) and (-2.3,0.8) .. (-2.5, 1.3)}
\newcommand\KurveH{%
(1,0.85) .. controls (-0.3,2) and (-0.1,2.3) .. (0.2, 2.5) }
 
 
\foreach \kurve in {\KurveA,  \KurveB, \KurveC, \KurveD,  \KurveE, \KurveF, \KurveG, \KurveH} 
\draw[densely dashed] \kurve;
 
\begin{scope}[]
\clip[draw] (-2,-2) rectangle (2,2);
\foreach \kurve in {\KurveA,  \KurveB, \KurveC, \KurveD,  \KurveE, \KurveF, \KurveG, \KurveH} 
\draw[thick] \kurve;
\end{scope}
 
 
% Beschriftungen  (Vorschlag fill statt draw und 1.5pt, damit man die Punkte sogar erkennt)
\fill(0,0) circle(1.5pt) node[above] (1) {$x'$};
\fill(1,0.85) circle(1.5pt) node[above] (2) {$x$}; 
%\fill[] (0,0) circle (2pt) node[below]{Referenzpunkt (0,0)};
\fill(0.51,-2) circle(1.5pt);
\fill(-2,-0.72) circle(1.5pt);
\fill(-2,-0.43) circle(1.5pt);
\fill(-2,0.5) circle(1.5pt);
\fill(-2,1.55) circle(1.5pt);
\fill(0,2) circle(1.5pt);
\fill(2,1.33) circle(1.5pt);
\fill(2,0.3) circle(1.5pt);
 
\matrix[matrixstyle] (m) at (4.5,3)
{
   &    & a   &	 $b$ &	 $c$	& $d$  & $e$ & $f$ & $g$\\
%1 & 2  & 3    \\
};
%\draw[] (m-1-1) -- (m-1-2);
%\draw[densely dashed] (m-2-1) -- (m-2-2);
 
\end{tikzpicture}
    \subcaption{}
  \end{minipage}%
  \hfill%
  \begin{minipage}[t]{.25\linewidth}
    \centering
\begin{tikzpicture}[
matrixstyle/.style={
draw, 
matrix of nodes,
nodes in empty cells,
nodes={anchor=west},
column sep=2em, row sep=0.5em, 
inner sep=2pt, 
},
]
\newcommand\KurveA{%
(-1,0.1) .. controls (-02,-1) and (-2.3,-0.2) .. (-2.5, 0.3) }
\newcommand\KurveB{%
(0.1,-1) .. controls (-02,-1) and (-2.3,-0.2) .. (-2.5, -1.3)}
\newcommand\KurveC{%
(0,0) .. controls (1.7,1.7) and (2.3,1.3) .. (2.8, 1.3)}
%\newcommand\KurveD{%
%(0.5,0.5) .. controls (-1.7,1.7) and (-2.3,1.3) .. (-2.8, 2.3) }
\newcommand\KurveE{%
(1.4,1.1) .. controls (2,0.5) and (2.3,-0.3) .. (2.8, -1.3)}
\newcommand\KurveF{%
(0,0) .. controls (0,-2) and (0.8,-2.3) .. (1.3, -2.5) }
\newcommand\KurveG{%
(0,0) .. controls (-02,0) and (-2.3,0.8) .. (-2.5, 1.3)}
\newcommand\KurveH{%
(1,0.85) .. controls (-0.3,2) and (-0.1,2.3) .. (0.2, 2.5) }
 
 
\foreach \kurve in {\KurveA,  \KurveB, \KurveC,  \KurveE, \KurveF, \KurveG, \KurveH} 
\draw[densely dashed] \kurve;
 
\begin{scope}[]
\clip[draw] (-2,-2) rectangle (2,2);
\foreach \kurve in {\KurveA,  \KurveB, \KurveC, \KurveE, \KurveF, \KurveG, \KurveH} 
\draw[thick] \kurve;
\end{scope}
 
% Beschriftungen  (Vorschlag fill statt draw und 1.5pt, damit man die Punkte sogar erkennt)
\fill[white](1,0.85) circle(3.5pt);
\fill(0,0) circle(1.5pt) node[above] (1) {$x'$};
\draw(1,0.85) circle(1.5pt) node[above] (2) {$x$}; 
%\fill[] (0,0) circle (2pt) node[below]{Referenzpunkt (0,0)};
\fill[yellow](0.51,-2) circle(1.5pt);
\fill[yellow](-2,-0.72) circle(1.5pt);
\fill[yellow](-2,-0.43) circle(1.5pt);
\fill[yellow](-2,0.5) circle(1.5pt);
%\fill[yellow](-2,1.55) circle(1.5pt);
\fill[blue](0,2) circle(1.5pt);
\fill[red](2,1.33) circle(1.5pt);
\fill[red](2,0.3) circle(1.5pt);
 
%\matrix[matrixstyle] (m) at (0,-3.5)
%{
%   &    & Cluster K    &    & Kurventyp II    &	 $P_1$ &	 $P_2$	& $P_3$ & $P_1'$ & $P_2'$ & $P_3'$\\
%%1 & 2  & 3    \\
%};
%\draw[] (m-1-1) -- (m-1-2);
%\draw[densely dashed] (m-2-1) -- (m-2-2);
%\fill[yellow](m-3-2) circle(1.5pt);
%\fill[blue](m-4-2) circle(1.5pt);
%\fill[red](m-5-2) circle(1.5pt);
 
\end{tikzpicture}   
    \subcaption{}
  \end{minipage}
  \hfill%
  \begin{minipage}[t]{.15\linewidth}
    \centering
    \begin{tikzpicture}[
matrixstyle/.style={
draw, 
matrix of nodes,
nodes in empty cells,
nodes={anchor=west},
column sep=2em, row sep=0.5em, 
inner sep=2pt, 
},
]
\newcommand\KurveA{%
(-1,0.1) .. controls (-02,-1) and (-2.3,-0.2) .. (-2.5, 0.3) }
\newcommand\KurveB{%
(0.1,-1) .. controls (-02,-1) and (-2.3,-0.2) .. (-2.5, -1.3)}
\newcommand\KurveC{%
(0,0) .. controls (1.7,1.7) and (2.3,1.3) .. (2.8, 1.3)}
\newcommand\KurveD{%
(0.5,0.5) .. controls (-1.7,1.7) and (-2.3,1.3) .. (-2.8, 2.3) }
\newcommand\KurveE{%
(1.4,1.1) .. controls (2,0.5) and (2.3,-0.3) .. (2.8, -1.3)}
\newcommand\KurveF{%
(0,0) .. controls (0,-2) and (0.8,-2.3) .. (1.3, -2.5) }
\newcommand\KurveG{%
(0,0) .. controls (-02,0) and (-2.3,0.8) .. (-2.5, 1.3)}
\newcommand\KurveH{%
(1,0.85) .. controls (-0.3,2) and (-0.1,2.3) .. (0.2, 2.5) }
 
 
\foreach \kurve in {\KurveA,  \KurveB, \KurveC, \KurveD,  \KurveE, \KurveF, \KurveG, \KurveH} 
\draw[densely dashed] \kurve;
 
\begin{scope}[]
\clip[draw] (-2,-2) rectangle (2,2);
\foreach \kurve in {\KurveA,  \KurveB, \KurveC, \KurveD,  \KurveE, \KurveF, \KurveG, \KurveH} 
\draw[thick] \kurve;
\end{scope}
 
 
% Beschriftungen  (Vorschlag fill statt draw und 1.5pt, damit man die Punkte sogar erkennt)
\fill(0,0) circle(1.5pt) node[above] (1) {$x'$};
\fill(1,0.85) circle(1.5pt) node[above] (2) {$x$}; 
%\fill[] (0,0) circle (2pt) node[below]{Referenzpunkt (0,0)};
\fill(0.51,-2) circle(1.5pt);
\fill(-2,-0.72) circle(1.5pt);
\fill(-2,-0.43) circle(1.5pt);
\fill(-2,0.5) circle(1.5pt);
\fill(-2,1.55) circle(1.5pt);
\fill(0,2) circle(1.5pt);
\fill(2,1.33) circle(1.5pt);
\fill(2,0.3) circle(1.5pt);
 
 
%\draw[] (m-1-1) -- (m-1-2);
%\draw[densely dashed] (m-2-1) -- (m-2-2);
 
\end{tikzpicture}
    \subcaption{}
  \end{minipage}
  \caption{Bildtitel}
\end{figure}
 
\end{document}
\(\endgroup\)


  Profil  Quote  Link auf diesen Beitrag Link
markusv
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 24.01.2017
Mitteilungen: 164
Aus: Leipzig
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2018-09-20


Hallo.

Deine TikZ-Bilder sind offensichtlich viel zu groß, um sie in die verhältnismäßig kleinen minipage-Umgebungen zu platzieren. Das sagen dir auch die "overfull \hbox"-Warnungen, die du bekommst. Du könntest versuchen, die Bilder zu verkleinern (bspw. in eine \resize{}{}{}-Box packen) oder alle in eine TikZ-Umgebung zu packen. Dann wäre es auch möglich, sie entsprechend aneinander auszurichten.

Die matrix mit den a&b&c... über den Bildern würde ich ebenfalls anders (ggf. separat) anordnen. Da ich aber keinerlei Ahnung habe, wie es am Ende aussehen soll und was das überhaupt darstellt, kann ich mehr dazu erstmal nicht sagen.



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15550
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, eingetragen 2018-09-20


2018-09-20 12:12 - Sinas666 im Themenstart schreibt:


Geht es hier darum, -bis auf kleinere Unterschiede- dreimal das selbe TikZ-Bild nebeneinander zu setzen?
Falls ja: Das macht man dann bestimmt nicht so wie in #0...
Wenn Du ein Programm hast, dass einen bestimmten Ergebniswert liefert; und Du brauchst das Ergebnis zweimal auf eine Stelle, einmal auf drei Stellen genau.  Würdest Du dann auch dreimal das komplette Programm, mit ca. einer Zeile Unterschied, neu schreiben?



-----------------
Wenn man alles ausgeschaltet hat, was unmöglich ist, bleibt am Ende etwas übrig, das die Wahrheit enthalten muß - mag es auch noch so unwahrscheinlich sein...
(Sherlock Holmes)
·



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15550
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, eingetragen 2018-09-20


2018-09-20 21:13 - cis in Beitrag No. 2 schreibt:
Geht es hier darum, -bis auf kleinere Unterschiede- dreimal das selbe TikZ-Bild nebeneinander zu setzen?
Falls ja: Das macht man dann bestimmt nicht so...
Wenn Du ein Programm hast, dass einen bestimmten Ergebniswert liefert; und Du brauchst das Ergebnis zweimal auf eine Stelle, einmal auf drei Stellen genau.  Würdest Du dann auch dreimal das komplette Programm, mit ca. einer Zeile Unterschied, neu schreiben?

Es ist relativ klar, dass man das dann so oder ähnlich macht:


latex
\documentclass[12pt,a4paper]{scrartcl}
\usepackage{tikz}
\usepackage{subcaption}
 
\newcommand{\Bild}[3]{%
\begin{tikzpicture}[scale=0.75,
very thick,
Kreisstil/.style={#1},
Punktstile/.style={#2},
Linienstil/.style={#3},
]
\draw[Kreisstil] (0,0) circle[radius=2cm];
\draw[Linienstil] (-1,-1) -- (1,1);
\fill[Punktstile] (0,0) circle[radius=5pt];
\end{tikzpicture}
}%
 
\newcommand{\Legende}{%
\begin{tikzpicture}[scale=0.75,
very thick,]
\node[draw] {\large Legende};
\end{tikzpicture}
}%
 
 
\begin{document}
 
\begin{figure}[h]
\begin{subfigure}[b]{.25\linewidth}
\centering       \Bild{blue}{red}{brown}
\caption{A subfigure}\label{fig:a}
\end{subfigure}%
%
\begin{subfigure}[b]{.25\linewidth}
\centering      \Bild{red}{red}{red}
\caption{Another subfigure}\label{fig:b}
\end{subfigure}
%
\begin{subfigure}[b]{.25\linewidth}
\centering     \Bild{black}{orange}{red}
\caption{Another subfigure}\label{fig:c}
\end{subfigure}
%
\begin{subfigure}[b]{.15\linewidth}
\centering    \Legende
\caption{Legende}\label{fig:leg}
\end{subfigure}
%
\caption{A figure}\label{fig:abc}
\end{figure}
 
\end{document}


PS:  Und das ist nur eine Möglichkeit. Ich würde Tikz/pgf Graphiken grundsätzlich in vollständige Dokumente mit der standalone-Klasse auslagern und dort in Ruhe isoliert bearbeiten und diese dann ins Hauptdokument mit dem Paket standalone einlagern. Und dabei dennoch mit styles arbeiten, sofern sich die Bilder nur in Details unterscheiden.
Aber vll. an der Stelle ein bisschen viel.





  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15550
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, eingetragen 2018-09-23


2018-09-20 21:41 - cis in Beitrag No. 3 schreibt:
PS:  Und das ist nur eine Möglichkeit. Ich würde Tikz/pgf Graphiken grundsätzlich in vollständige Dokumente mit der standalone-Klasse auslagern und dort in Ruhe isoliert bearbeiten und diese dann ins Hauptdokument mit dem Paket standalone einlagern. Und dabei dennoch mit styles arbeiten, sofern sich die Bilder nur in Details unterscheiden.
Aber vll. an der Stelle ein bisschen viel.


Hierzu einmal ausführlich:

Wenn es um das Schreiben eines Artikels mit einzelnen TikZ-Bildern o.ä. geht, dann am besten etwa so:


1. Jeden TikZ-Graph in ein eigenes standaloneclass-Dokument.
graph01.tex
\documentclass[margin=5mm, tikz]{standalone}
 
.... <Hier der TikZ-Graph> ....
 
Beispiel-Inhalt (nur):



2. Hauptdokument erstellen und Graphiken aus 1 mit standalone.sty einbinden:
main.tex
\documentclass{scrreprt}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},  germandbls={ß}}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc} 
\usepackage{microtype}
 
\usepackage{standalone}%<--- Für das Einfügen eigenständiger TeX-Dokumente
 
 
\title{Mein Artikel}
\begin{document}
\maketitle
\tableofcontents
 
\chapter{Mein Graph}
\includestandalone[mode=buildnew]{graph01}  % '.tex' weglassen
....
\end{document}
Beispiel-Inhalt:

und weitere Seiten.


So bleiben alle Haupt- und Unter-Dokumente dynamisch und man kann (im Unterschied zur Arbeit mit pdfpages.sty o.ä.) einfach Änderungen vornehmen.


PS: Einfache Dokumente zum Testen dieser Methode
sub.tex
\documentclass[tikz]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture} 
\draw[->, red] (0,1cm)--++(14,-5);
\end{tikzpicture}
\end{document}
main.tex
\documentclass{article}
\usepackage{standalone}
\begin{document}  
\begin{figure}[h]
\includestandalone[mode=buildnew]{sub}
\includestandalone[mode=image]{sub} 
\end{figure}
\end{document}
Beachte, dass main.tex nicht das in sub.tex benötigte Paket tikz.sty enthält.



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15550
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.5, eingetragen 2018-09-24


PPS:

Ergänzung zu #4.

· Wenn die selbe TikZ-Graphik aus einem Unterdokument sub.tex mit abweichenden Settings, mehrmals in das selbe Hauptdokument main.tex eingefügt werden soll, muss -wie mich Murmeltier aufklärte- mit Styles gearbeitet werden.

Es ist dabei m.E. sinnvoll mit einem sogenannten Header header.tex zu arbeiten.

· Zudem muss \includestandalone[mode=tex]{sub} gewählt werden.


Ein einfaches Beispiel könnte also so aussehen:



header.tex
% header.tex
 
% Pakete
\usepackage{standalone}
\usepackage{tikz}
 
% (Default-)Styles:
\tikzset{mystyle/.style={->, line width=15pt}} % Default

sub.tex
% sub.tex
\documentclass[tikz]{standalone}
\input{header.tex}
 
\begin{document}
\begin{tikzpicture} 
\draw[mystyle] (0,1cm)--++(4,-5); % erhält nur Default-Style
\end{tikzpicture}
\end{document}

main.tex
% main.tex
\documentclass{article}
\input{header.tex}
 
\begin{document}
\begin{figure}[h]
\includestandalone[mode=tex]{sub}\caption{Normal}% erhält Default-Style
\end{figure}
 
\begin{figure}[h]
\tikzset{mystyle/.style={line width=11mm, red, <->}}
\includestandalone[mode=tex]{sub}\caption{Erg{\"a}nzt}% erhält neuen Style
\end{figure}
 
\end{document}



  Profil  Quote  Link auf diesen Beitrag Link
Sinas666
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 28.03.2018
Mitteilungen: 46
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.6, vom Themenstarter, eingetragen 2018-09-27


Dankeschön! :)



  Profil  Quote  Link auf diesen Beitrag Link
Sinas666 hat die Antworten auf ihre/seine Frage gesehen.
Sinas666 hat selbst das Ok-Häkchen gesetzt.
Neues Thema [Neues Thema]  Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2018 by Matroids Matheplanet
This web site was made with PHP-Nuke, a web portal system written in PHP. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]