我有这个代码:
\documentclass[12pt]{article}
\begin {document}
\begin{table}[h!b!p!]
\caption{This caption describes contents of Table 1, gives the big picture.}
\caption {Describe contents of Table 1.A}
\begin{tabular}{|c|c|c|c|c|c|}
\hline
Recom Strength & Highest Idos Risk & 2nd Highest & Middle & 2nd Lowest & Lowest\\
\hline
1 & -0.41 & -0.07 & 1.27 & -0.78 & 0.73\\
\hline
2 & -0.85 & -1.88 & 0.01 & 0.75 & 2.32\\
\hline
3 & -0.48 & -1.0 & -0.56 & 0.47 & 1.01\\
\hline
4 & 0.04 & 0.76 & 1.34 & 1.78 & -1.27\\
\hline
5 & -1.35 & -1.52 & 0.04 & 1.23 & 0.51\\
\hline
\end{tabular}
\caption{Describe contents of Table 1.B}
\begin{tabular}{|c|c|c|c|c|c|}
\hline
Recom Strength & Highest Idos Risk & 2nd Highest & Middle & 2nd Lowest & Lowest\\
\hline
1 & -0.41 & -0.07 & 1.27 & -0.78 & 0.73\\
\hline
2 & -0.85 & -1.88 & 0.01 & 0.75 & 2.32\\
\hline
3 & -0.48 & -1.0 & -0.56 & 0.47 & 1.01\\
\hline
4 & 0.04 & 0.76 & 1.34 & 1.78 & -1.27\\
\hline
5 & -1.35 & -1.52 & 0.04 & 1.23 & 0.51\\
\hline
\end{tabular}
\label{Test Table}
\end{table}
\end {document}
它会产生以下输出:
我想说的是:
表2:描述表1.A的内容
说:
表 1.A:描述表 1.A 的内容
同样,我想要
表3:描述表1.B的内容
说
表 1.B:描述表 1.B 的内容
本质上,如果我可以摆脱 Latex 在我创建的每个标题中自动插入“表格 1”或“表格 2”,我的问题就解决了。
如果我可以将表 1.A 和表 1.B 的标题左对齐,就像表 1 的标题一样,那就太好了。
我怎样才能做到这一点?
先感谢您
答案1
我会用subcaption
包-下面是 MWE 的关键部分
\usepackage{subcaption}
\DeclareCaptionSubType*[Alph]{table}
\DeclareCaptionLabelFormat{mystyle}{Table~\bothIfFirst{#1}{ }#2}
\captionsetup[subtable]{labelformat=mystyle}
输出为
请注意,我已将您的“子”表放入subtable
由包定义的环境中subcaption
。
\documentclass{article}
\usepackage{subcaption}
\DeclareCaptionSubType*[Alph]{table}
\DeclareCaptionLabelFormat{mystyle}{Table~\bothIfFirst{#1}{ ̃}#2}
\captionsetup[subtable]{labelformat=mystyle}
\begin{document}
\begin{table}[hbp!]
\centering
\caption{This caption describes contents of Table 1, gives the big picture.}
\label{TestTable}
\begin{subtable}{\textwidth}
\centering
\caption{Describe contents of Table 1.A}
\begin{tabular}{|c|c|c|c|c|c|}
\hline
Recom Strength & Highest Idos Risk & 2nd Highest & Middle & 2nd Lowest & Lowest \\
\hline
1 & -0.41 & -0.07 & 1.27 & -0.78 & 0.73 \\
\hline
2 & -0.85 & -1.88 & 0.01 & 0.75 & 2.32 \\
\hline
3 & -0.48 & -1.0 & -0.56 & 0.47 & 1.01 \\
\hline
4 & 0.04 & 0.76 & 1.34 & 1.78 & -1.27 \\
\hline
5 & -1.35 & -1.52 & 0.04 & 1.23 & 0.51 \\
\hline
\end{tabular}
\end{subtable}
\begin{subtable}{\textwidth}
\centering
\caption{Describe contents of Table 1.B}
\begin{tabular}{|c|c|c|c|c|c|}
\hline
Recom Strength & Highest Idos Risk & 2nd Highest & Middle & 2nd Lowest & Lowest \\
\hline
1 & -0.41 & -0.07 & 1.27 & -0.78 & 0.73 \\
\hline
2 & -0.85 & -1.88 & 0.01 & 0.75 & 2.32 \\
\hline
3 & -0.48 & -1.0 & -0.56 & 0.47 & 1.01 \\
\hline
4 & 0.04 & 0.76 & 1.34 & 1.78 & -1.27 \\
\hline
5 & -1.35 & -1.52 & 0.04 & 1.23 & 0.51 \\
\hline
\end{tabular}
\end{subtable}%
\end{table}
\end {document}
与你的问题无关——有些人会推荐booktabs
包,并建议删除垂直线。我还注意到这些表格给了你overfull
hboxes
- 在将其发送到打印之前,应该真正修复这个问题。
答案2
无caption
可以优化的解决方案(尤其是需要的\startsubcaptions
)。
代码
\documentclass[12pt]{article}
\usepackage{etoolbox}
\newcounter{subtable}
\renewcommand*{\thesubtable}{\Alph{subtable}}
\newcounter{subfigure}
\renewcommand*{\thesubfigure}{\Alph{subfigure}}
\makeatletter
\newcommand*{\startsubcaptions}{%
\setcounter{sub\@captype}{0}
\csappto{the\@captype}{.\csname thesub\@captype\endcsname}%
}
\newcommand*{\subcaption}[2][]{%
\stepcounter{sub\@captype}%
\addtocounter{\@captype}{-1}%
\ifx\\#1\\\caption{#2}\else\caption[#1]{#2}\fi%
}
\newcommand*{\nonumbercaption}[1]{%
\refstepcounter{\@captype}%
{\centering #1\par}%
}
\makeatother
\begin{document}
\begin{table}[!hbp]
\nonumbercaption{This caption describes contents of Table 1, gives the big picture.}\label{table1}%
\startsubcaptions%
\subcaption{Describe contents of Table 1.A}\label{table1a}
\subcaption{Describe contents of Table 1.B}\label{table1b}
\end{table}
\ref{table1}, \ref{table1a}, \ref{table1b}
\begin{table}[!hbp]
\caption{This caption describes contents of Table 2, gives the big picture.}\label{table2}%
\startsubcaptions%
\subcaption{Describe contents of Table 2.A}\label{table2a}
\subcaption{Describe contents of Table 2.B}\label{table2b}
\end{table}
\ref{table2}, \ref{table2a}, \ref{table2b}
\end{document}