Tikz Grafiken in Subfigure

Tabellen und Grafiken erstellen und anordnen


feichti92
Forum-Anfänger
Forum-Anfänger
Beiträge: 14
Registriert: Mi 17. Mai 2017, 10:37

Tikz Grafiken in Subfigure

Beitrag von feichti92 »

Hallo Leute,
Ich stehe vor einem Problem. Ich hätte gerne 2 Tikz Grafiken als Subfigures nebeneinander. Folgender Code setzt die beiden Subfigures aber immer untereinander:
\documentclass[11pt, a4paper]{scrbook}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{tikz}
\usepackage{float}



\begin{document}

\begin{figure}[H]
    \centering
    \begin{subfigure}{.5\textwidth}
        \centering
        \begin{tikzpicture}
            \draw (0,0) rectangle (5,5);
        \end{tikzpicture}
        \caption{Caption1}
    \end{subfigure}
    
    \begin{subfigure}{.5\textwidth}
        \centering
        \begin{tikzpicture}
            \draw (0,0) rectangle (5,5);
        \end{tikzpicture}
        \caption{Caption2}
    \end{subfigure}
    
    \caption{Caption}
\end{figure}

\end{document}
Was genau ist das Problem? Bei \includegraphics mit normalen *.jpg Bildern funktioniert das problemlos. Bitte um Hilfe.

Danke & LG
Patrick

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Ursache ist die Leerzeile im Code zwischen den beiden subfigure Umgebungen und das Leerzeichen nach der ersten subfigure Umgebung. Damit können die beiden Teilbilder gar nicht nebeneinander stehen, egal ob TiKZ oder jpg.
\documentclass{scrbook} 
\usepackage{subcaption} 
\usepackage{tikz} 
 
\begin{document} 
\begin{figure}[ht] 
     \centering 
     \begin{subfigure}{.5\textwidth} 
         \centering 
         \begin{tikzpicture} 
             \draw (0,0) rectangle (5,5); 
         \end{tikzpicture} 
         \caption{Caption1} 
     \end{subfigure}% <- nötig
     \begin{subfigure}{.5\textwidth} 
         \centering 
         \begin{tikzpicture} 
             \draw (0,0) rectangle (5,5); 
         \end{tikzpicture} 
         \caption{Caption2} 
     \end{subfigure} 
     \caption{Caption} 
\end{figure} 
\end{document}

feichti92
Forum-Anfänger
Forum-Anfänger
Beiträge: 14
Registriert: Mi 17. Mai 2017, 10:37

Beitrag von feichti92 »

Vielen Dank erst mal für die schnelle Antwort!

Bei funktioniert das so leider nicht. Ich müsste das \end{subfigure} und \begin{subfigure} in der selben Zeile stehen haben, dann würde es gehen.
\begin{subfigure}

\end{subfigure}\begin{subfigure}

\end{subfigure}
Im selben Dokument habe ich übrigens eine Stelle an der ich *.jpg Bilder einfüge und da habe ich folgenden Code:
\begin{subfigure}

\end{subfigure}
\hspace{2cm}
\begin{subfigure}

\end{subfigure}
Da funktioniert das auch problemlos?

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Ich habe meine Antwort oben noch etwas ergänzt. Das Zeilenende nach \end{subfigure} fügt ein Leerzeichen ein und das sorgt dann dafür, dass die beiden subfigure Umgebungen, die ja jeweils die halbe Textbreite einnehmen, nicht mehr in eine gemeinsame Zeile passen.
\documentclass{scrbook} 
\usepackage{subcaption} 
\usepackage{tikz} 
 
\begin{document} 
\begin{figure}[ht] 
     \centering 
     \begin{subfigure}{.5\textwidth} 
         \centering 
         \begin{tikzpicture} 
             \draw (0,0) rectangle (5,5); 
         \end{tikzpicture} 
         \caption{Caption1} 
     \end{subfigure}% <- nötig
     \begin{subfigure}{.5\textwidth} 
         \centering 
         \begin{tikzpicture} 
             \draw (0,0) rectangle (5,5); 
         \end{tikzpicture} 
         \caption{Caption2} 
     \end{subfigure} 
     \caption{Caption} 
\end{figure}


Der gleiche Code nur mit Bildern und ohne Auskommentierung des Zeilenendes:

\begin{figure}[ht] 
     \centering 
     \begin{subfigure}{.5\textwidth} 
         \centering 
         \includegraphics[width=2cm]{example-image}
         \caption{Caption1} 
     \end{subfigure}
     \begin{subfigure}{.5\textwidth} 
         \centering 
         \includegraphics[width=2cm]{example-image}
         \caption{Caption2} 
     \end{subfigure} 
     \caption{Caption} 
\end{figure} 
\end{document}

feichti92
Forum-Anfänger
Forum-Anfänger
Beiträge: 14
Registriert: Mi 17. Mai 2017, 10:37

Beitrag von feichti92 »

Das %-Zeichen hab ich nicht gesehen, sorry. Damit funktioniert es danke!

Das mit den Bildern im unteren Code ist echt komisch. Ich hab in meinem Dokument den Code genauso drinnen, bei mir sitzen die Bilder aber nebeneinander..

Naja, Problem ist jedenfalls gelöst. Danke dafür! :D

Antworten