undefinierte Untertabelle

undefinierte Untertabelle

Die folgende Frage wurde gelöst. Das Skript wurde bearbeitet.

Ich habe in diesem Forum eine Vorlage für eine Untertabelle gefunden, kann sie aber nicht ohne Fehler ausführen. Wie kann ich das Problem lösen?

Fehlermeldung:

! LaTeX Error: Environment subtable undefined.
! Missing number, treated as zero.
! Illegal unit of measure (pt inserted).
! LaTeX Error: \begin{table} on input line 164 ended by \end{subtable}.

MWE:

\documentclass{article}
\usepackage{subfig}
\usepackage{array, booktabs, caption}
\usepackage{multicol}
\usepackage{multirow}
\usepackage{xcolor}
\usepackage{subcaption}
\usepackage{pgfplots}
\usepackage{tikz}
\definecolor{bblue}{HTML}{4F81BD}
\definecolor{rred}{HTML}{C0504D}
\definecolor{ggreen}{HTML}{9BBB59}
\definecolor{ppurple}{HTML}{9F4C7C}

\begin{document}
\begin{table}   
\centering
\begin{subtable}{.5\textwidth}
\centering
\begin{tikzpicture}
    \begin{axis}[
        width  = 1.3*\textwidth,
        height = 8cm,
        enlarge y limits={upper, value=0.4},
        ymin=0,
        major x tick style = transparent,
        ybar=2*\pgflinewidth,
        bar width=20pt,
        ymajorgrids = true,
        ylabel = {\%},
        symbolic x coords={A,B,C},
        xtick = data,
        nodes near coords,
        scaled y ticks = false,
        enlarge x limits=0.25,
        ymin=0,
        legend cell align=left,
        legend style={
                at={(1,1.05)},
                anchor=south east,
                column sep=1ex
        }
    ]
        \addplot[style={bblue,fill=bblue,mark=none]}]
            coordinates {(A, 100) (B,100) (C,100)};

        \addplot[style={rred,fill=rred,mark=none}]
             coordinates {(A, 106) (B,113) (C,177)};
        \legend{MADYMO,Vivo}
    \end{axis}
\end{tikzpicture}
\caption{Phase 1}
\end{subtable}
\begin{subtable}{.5\textwidth}
\centering 
\begin{tikzpicture}
    \begin{axis}[
        width  = 1.3*\textwidth,
        height = 8cm,
        enlarge y limits={upper, value=0.4},
        ymin=0,
        major x tick style = transparent,
        ybar=2*\pgflinewidth,
        bar width=20pt,
        ymajorgrids = true,
        ylabel = {\%},
        symbolic x coords={A,B,C},
        xtick = data,
        nodes near coords,
        scaled y ticks = false,
        enlarge x limits=0.25,
        ymin=0,
        legend cell align=left,
        legend style={
                at={(1,1.05)},
                anchor=south east,
                column sep=1ex
        }
    ]
        \addplot[style={ggreen,fill=ggreen,mark=none]}]
            coordinates {(A, 100) (B,100) (C,100)};

        \addplot[style={ppurple,fill=ppurple,mark=none}]
             coordinates {(A, 98) (B,113) (C,178)};
        \legend{X,Y}
    \end{axis}
\end{tikzpicture}
\caption{Phase 2}
\end{subtable}
\caption{aaaaaaa}
\label{tab:EmMaxPE_bar_X}
\end{table}
\end{document}

Antwort1

(Anmerkung: Ich habe diese Frage gepostetVorDer OP hat mehrere wesentliche Änderungen an der Abfrage vorgenommen. Beispielsweise subcaptionwurde die Umgebung in der ursprünglichen Form der Abfrage nicht geladen und es gab keine Informationen zu wichtigen Aspekten der tikzpictureUmgebungen.)

Um Umgebungen zu verwenden subtable, müssen Sie das subcaptionPaket laden. Das subfigPaketnichteine Umgebung bereitstellen subtable.

Im folgenden Beispiel habe ich die beiden tikzpictureUmgebungen durch Dummy- tabularUmgebungen ersetzt, um die Darstellung zu vereinfachen. (Außerdem haben Sie nicht angegebenwelcheTikz-bezogene Pakete sollten geladen werden oder wie rredusw. bbluedefiniert sind.) Beachten Sie, dass Sie %unmittelbar nach der ersten Umgebung ein (Kommentar-)Zeichen einfügen sollten subtable, wenn sie nebeneinander passen sollen.

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage{subcaption,booktabs}
\begin{document}

\begin{table}   
%\centering  <--- not needed!
\begin{subtable}{.5\textwidth}
\centering
   % dummy 'tabular' env.
   \begin{tabular}{lll}
   \toprule
   aaa bbb ccc\\
   \bottomrule
   \end{tabular}
\caption{Phase 1}
\end{subtable}% <--- new
\begin{subtable}{.5\textwidth}
\centering 
   % dummy 'tabular' env.
   \begin{tabular}{lll}
   \toprule
   xxx yyy zzz\\
   \bottomrule
   \end{tabular}
\caption{Phase 2}
\end{subtable}
\caption{aaaaaaa} \label{tab:EmMaxPE_bar_X}
\end{table}
\end{document}

verwandte Informationen