我正在尝试将子表插入到我的文档中。我已经加载了子标题包,并通过 MikTex 安装了标题包。但是我仍然收到错误Environment subtable undefined. \begin{subtable}
,并且.5\linewidth
表格前面出现了“.5”。我该如何修复这个问题?
以下是该文件的摘录:
\documentclass[a4paper, 11pt]{article}
\usepackage[left=3.5cm, right=2.5cm, top=1.5cm, bottom=1.5cm]{geometry}
\usepackage{amsmath}
\usepackage{microtype}
\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage{xcolor}
\usepackage{subfig}
\usepackage{multirow}
\usepackage{tikz}
\usepackage{comment}
\usepackage{subcaption}
\usepackage{caption}
\usepackage{subfig}
\usetikzlibrary{shapes.geometric, arrows}
\usepackage[version=3]{mhchem}
\usepackage{textcomp}
\usepackage{lmodern}
\begin{table}
\centering
\caption{\textbf{Zusammensetzung des Mastermixes für die
PCR Reagenzien.}}
\begin{subtable}{.5\linewidth}
\begin{tabular}{r l}
$4.0\mu l$ & dNTPs ($10mM$) \\
$12.0\mu l$ & Oligo forw-\textit{TRP1} ($5\mu M$) \\
$12.0\mu l$ & Oligo rev-\textit{TRP1} ($5\mu M$) \\
$20.0\mu l$ & 10 x Taq Puffer \\
$12.0\mu l$ & \ce{MgCl2} \\
$132.0\mu l$ & \ce{H2O} \\
$4.0\mu l$ & Taq Polymerase ($1u*\mu l^{-1}$)\\
\end{tabular}
\end{subtable}
\hspace{\fill}
\begin{subtable}{.5\linewidth}
\begin{tabular}{r l}
$4.0\mu l$ & dNTPs ($10mM$) \\
$12.0\mu l$ & Oligo forw-\textit{LEU2} ($5\mu M$) \\
$12.0\mu l$ & Oligo rev-\textit{LEU2} ($5\mu M$) \\
$20.0\mu l$ & 10 x Taq Puffer \\
$12.0\mu l$ & \ce{MgCl2} \\
$132.0\mu l$ & \ce{H2O} \\
$4.0\mu l$ & Taq Polymerase ($1u*\mu l^{-1}$)\\
\end{tabular}
\end{subtable}
\end{table}
这是产生的错误:
44: Environment subtable undefined. \begin{subtable}
44: Missing number, treated as zero. \begin{subtable}{.5\linewidth}
44: Illegal unit of measure (pt inserted). \begin{subtable}{.5\linewidth}
54: \begin{table} on input line 41 ended by \end{subtable}. \end{subtable}
56: Environment subtable undefined. \begin{subtable}
56: Missing number, treated as zero. \begin{subtable}{.5\linewidth}
56: Illegal unit of measure (pt inserted). \begin{subtable}{.5\linewidth}
67: \begin{table} on input line 41 ended by \end{subtable}. \end{subtable}
: No \author given.
38: Underfull \hbox (badness 10000) in paragraph
38: Underfull \hbox (badness 10000) in paragraph
请注意,上面显示的代码只是摘录,错误消息中的行号不一致。如果您有疑惑,需要上传代码的行号,请告诉我。
我对此感到非常困惑,我不知道该怎么办。
在此先感谢大家的帮助。
最大限度
答案1
用户 @JasperHabicht 已经解决了 OP 的紧急问题。解决方案是什么?不要同时加载subfig
和subcaption
。
原始发帖人的代码仍然存在一个主要问题:subtable
根本没有使用机制!subtable
环境基本上就是minipage
知道在遇到指令时该做什么的。由于没有发生这种情况,因此一开始\caption
使用环境真的毫无意义。相反,我建议简单地用 来分隔这两个环境。subtable
tabular
\hspace{\fill}
我还想建议加载该siunitx
包并使用它\qty
和\unit
宏来以广泛认可且不太黑客的格式排版数量及其相关的科学单位。
\documentclass[a4paper, 11pt]{article}
%% (I've simplified the preamble to a bare minimum)
\usepackage[left=3.5cm,right=2.5cm,%
top=1.5cm,bottom=1.5cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{microtype}
\usepackage{caption}
\captionsetup[table]{textfont=bf}
\usepackage[version=3]{mhchem}
\usepackage{siunitx}% for \qty macro
\begin{document}
\begin{table}
\caption{Zusammensetzung des Mastermixes für die PCR Reagenzien\textmd{.}}
\begin{tabular}[t]{@{} rl @{}}
\qty{4.0}{\micro\litre} & dNTPs (\qty{10}{\milli M}) \\
\qty{12.0}{\micro\litre} & Oligo forw-\textit{TRP1} (\qty{5}{\micro M}) \\
\qty{12.0}{\micro\litre} & Oligo rev-\textit{TRP1} (\qty{5}{\micro M}) \\
\qty{20.0}{\micro\litre} & 10 $\times$ Taq Puffer \\
\qty{12.0}{\micro\litre} & \ce{MgCl2} \\
\qty{132.0}{\micro\litre}& \ce{H2O} \\
\qty{4.0}{\micro\litre} & Taq Polymerase (\qty{1}{u(\micro\liter)\tothe{-1}})
\end{tabular}%
\hspace{\fill}
\begin{tabular}[t]{@{} rl @{}}
\qty{4.0}{\micro\litre} & dNTPs (\qty{10}{\milli M}) \\
\qty{12.0}{\micro\litre} & Oligo forw-\textit{LEU2} (\qty{5}{\micro M}) \\
\qty{12.0}{\micro\litre} & Oligo rev-\textit{LEU2} (\qty{5}{\micro M}) \\
\qty{20.0}{\micro\litre} & 10 $\times$ Taq Puffer \\
\qty{12.0}{\micro\litre} & \ce{MgCl2} \\
\qty{132.0}{\micro\litre}& \ce{H2O} \\
\qty{4.0}{\micro\litre} & Taq Polymerase (\qty{1}{u(\micro\liter)\tothe{-1}})
\end{tabular}
\end{table}
\end{document}