Seite 1 von 1

Tikz Grafiken in Subfigure

Verfasst: Mi 7. Jun 2017, 14:10
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

Verfasst: Mi 7. Jun 2017, 14:19
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}

Verfasst: Mi 7. Jun 2017, 14:29
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?

Verfasst: Mi 7. Jun 2017, 14:41
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}

Verfasst: Mi 7. Jun 2017, 14:47
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