
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 subcaption
wurde die Umgebung in der ursprünglichen Form der Abfrage nicht geladen und es gab keine Informationen zu wichtigen Aspekten der tikzpicture
Umgebungen.)
Um Umgebungen zu verwenden subtable
, müssen Sie das subcaption
Paket laden. Das subfig
Paketnichteine Umgebung bereitstellen subtable
.
Im folgenden Beispiel habe ich die beiden tikzpicture
Umgebungen durch Dummy- tabular
Umgebungen ersetzt, um die Darstellung zu vereinfachen. (Außerdem haben Sie nicht angegebenwelcheTikz-bezogene Pakete sollten geladen werden oder wie rred
usw. bblue
definiert sind.) Beachten Sie, dass Sie %
unmittelbar nach der ersten Umgebung ein (Kommentar-)Zeichen einfügen sollten subtable
, wenn sie nebeneinander passen sollen.
\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}