我使用包subtables
中的环境subfloat
来组合表编号(即,我在环境中包装的任何表subtables
都会被标记为 1a、1b 等)。但我刚刚学会了LaTeX 维基如何使用包subfloat
中的环境subfig
来制作图形,看来我应该也使用subfloat
来自subfig
表格包的环境。这正确吗?
问题是我经常使用包sidewaystable
中的环境。我可以使用包中的环境rotating
来旋转表格吗?(我不知道如何从subfloat
subfig
手动的。)这将允许并排的侧向表格。或者我应该坚持使用该subfloat
包的更简单的方法吗?
下面是我如何结合subtables
和sidewaystable
环境的一个例子。
\documentclass{article}
\usepackage{subfloat}
\usepackage{rotating}
\begin{document}
Check out tables \ref{tab:first} and \ref{tab:second}.
\begin{subtables}
\begin{sidewaystable}
\centering
\begin{tabular}{ccc}
\hline
a&b&c\\
d&e&f\\
\hline
\end{tabular}
\caption{my first table}
\label{tab:first}
\end{sidewaystable}
\begin{sidewaystable}
\centering
\begin{tabular}{ccc}
\hline
a&b&c\\
d&e&f\\
\hline
\end{tabular}
\caption{my second table, which is the same as the first}
\label{tab:second}
\end{sidewaystable}
\end{subtables}
\end{document}
答案1
无需使用或 甚至 ,即可获得sidewaystable
多个表格横向显示的效果。下面是一个最小示例(使用subfig
rotating
subfloat
用于编号):
\documentclass{article}
\usepackage{subfloat}% http://ctan.org/pkg/subfloat
\usepackage{graphicx}% http://ctan.org/pkg/graphicx
\begin{document}
Check out Tables~\ref{tab:first} and~\ref{tab:second}.
\begin{subtables}
\begin{table}[ht]
\centering
\rotatebox{90}{% Rotate table 90 degree CCW
\begin{minipage}{0.5\linewidth}
\centering
\begin{tabular}{ccc}
\hline
a&b&c\\
d&e&f\\
\hline
\end{tabular}
\caption{my first table}\label{tab:first}
\end{minipage}
} \qquad% <-------------- separation between sideways tables
\rotatebox{90}{% Rotate table by 90 degree CCW
\begin{minipage}{0.5\linewidth}
\centering
\begin{tabular}{ccc}
\hline
a&b&c\\
d&e&f\\
\hline
\end{tabular}
\caption{my second table, which is the same as the first}\label{tab:second}
\end{minipage}
}
\end{table}
\end{subtables}
\end{document}
桌子的旋转是通过graphicx
的\rotatebox{<angle>}{<stuff>}
。但是,对于表格(例如tabular
带有 的表格\caption
),您需要框住要旋转的内容。我使用minipage
宽度为的 来做到这一点0.5\linewidth
。此长度是必需的,但您也可以使用varwidth
它提供了一个与 类似的名称环境minipage
,但是(如果需要)缩小到盒子的自然宽度。
“子表”之间的空间由给出\qquad
,尽管\hspace{<len>}
也可以使用(其中<len>
是任何可识别的 TeX 长度)。
最后,table
已将 设置为具有 规范的浮动,这与的必要(浮动页面)用法[ht]
不同。但是,您可以修改它以适应。sidewaystable
[p]
目前,这还不包括rotating
的浮动元素的动态 +/90 度旋转与页面相关(奇数页逆时针旋转表格 90 度,偶数页顺时针旋转表格 90 度)。但是,可以使用一些其他软件包来实现这样的功能,例如chngpage
, 例如。
答案2
这是另一个答案,它按照要求使用了\sidewaystable
和:\subfloat
\documentclass{article}
%\usepackage{subcaption} %should be used instead of subfig
\usepackage{subfig}
\usepackage{rotating}
\begin{document}
Check out tables \ref{tab:first} and \ref{tab:second}.
\begin{sidewaystable}[!h]
\centering
\caption{Example of subfloat and tables}\label{tab:main}
\subfloat[][my first table\label{tab:first}]{
\begin{tabular}{ccc}
\hline
a&b&c\\
d&e&f\\
\hline
\end{tabular}
}
\vspace{2em}
\subfloat[][my second table, which is the same as the first\label{tab:second}]{
\begin{tabular}{ccc}
\hline
a&b&c\\
d&e&f\\
\hline
\end{tabular}
}
\end{sidewaystable}
\end{document}
生成以下内容:引用
... 并在新页面上显示表格(由于 sidewaystable)
请注意,如上所述这里,您可能希望使用subcaption
package 而不是subfig
。(只需替换上述代码中的 package ,示例即可以相同的方式运行)