带有 floatrow 和 adjustbox 的横向表格

带有 floatrow 和 adjustbox 的横向表格

我有一张相当大的桌子,我想让它横向排列(否则它就放不下)。但是,我使用 floatrow 包来使标题随桌子的尺寸换行。我还使用 adjustbox 旋转 ttabbox 进行横向对齐。但是,我很难让桌子居中对齐(垂直和水平)。我的桌子顶部超出了页面,我无法让它降下来。有没有办法让这张桌子位于正中央,这样顶部/底部和左侧/右侧的间距就相等了?也许 floatrow 是一个问题,但我不愿意牺牲它通过 \FBwidth 提供的动态文本换行功能。

另外,有没有办法让这个表格放在自己的页面上?我不想手动使用 \newpage 命令,我希望它是动态的,这样我就不必在扩展文档时更改内容的位置。

\documentclass[12pt]{article}
\usepackage{floatrow}
\usepackage{adjustbox}

\begin{document}
Testing text up here

\begin{table}
\begin{adjustbox}{angle=90}
\ttabbox[\FBwidth]
{
\caption{Some table comments here}
}
{
\begin{tabular}{c c c c c c c c c c c c c}
\hline \hline
Material & Z & 1 (H) & 6 (C) & 7 (N) & 8 (O) & 12 (Mg) & 14 (Si) & 15 (P) & 17 (Cl) & 20 (Ca) & $\rho$ \\
         & A & 1.008 & 12.011 & 14.007 & 15.999 & 24.305 & 28.086 & 30.974 & 35.453 & 40.078 & (g/cm\textsuperscript{3}) \\
\hline
LN-300 Lung &  & 8.46 & 59.37 & 1.96 & 18.14 & 11.19  & 0.78 & 0 & 0.10 & 0 & 0.30 \\ 
LN-450 Lung &  & 8.47 & 59.56 & 1.97 & 18.11 & 11.21 & 0.58 & 0 & 0.10 & 0 & 0.45 \\
AP6 Adipose &  & 9.06 & 72.29 & 2.25 & 16.27 & 0 & 0 & 0 & 0.13 & 0 & 0.94 \\
BR-12 Breast &  & 8.59 & 70.10 & 2.33 & 17.90 & 0 & 0 & 0 & 0.13 & 0.95 & 0.98 \\
Water &  & 11.19 & 0 & 0 & 88.81 & 0 & 0 & 0 & 0 & 0 & 1 \\
CT Solid Water & & 8.00 & 67.29 & 2.39 & 19.87 & 0 & 0 & 0 & 0.14 & 2.31 & 1.02 \\
BRN-SR2 Brain & & 10.82 & 72.54 & 1.69 & 14.86 & 0 & 0 & 0 & 0.08 & 0 & 1.05 \\
LV1 Liver & &  8.06 & 67.01 & 2.47 & 20.01 & 0 & 0 & 0 & 0.14 & 2.31 & 1.10 \\
IB Inner Bone & & 6.67 & 55.65 & 1.96 & 23.52 & 0 & 0 & 3.23 & 0.11 & 8.86 & 1.14 \\
B200 Bone Mineral & & 6.65 & 55.51 & 1.98 & 23.64 & 0 & 0 & 3.24 & 0.11 & 8.87 & 1.15 \\
CB2 - 30\% CaCO\textsubscript{3} & & 6.68 & 53.47 & 2.12 & 25.61 & 0 & 0 & 0 & 0.11 & 12.01 & 1.34 \\
CB2 - 50\% CaCO\textsubscript{3} & & 4.77 & 41.62 & 1.52 & 31.99 & 0 & 0 & 0 & 0.08 & 20.02 & 1.56 \\
SB3 Cortical Bone & & 3.41 & 31.41 & 1.84 & 36.50 & 0 & 0 & 0 & 0.04 & 26.81 & 1.82 \\ 
\hline \hline
\end{tabular}
}
\end{adjustbox}
\end{table}
Some test text here

More test text
\end{document}

在此处输入图片描述

答案1

为了使表格适合页面高度,我使用了\small字体大小(这里为 10 pt)并将值减小到\tabcolsep4pt(默认值为 6)并使用了sidewaystable环境(这会导致表格位于自己的页面上)。

另外,我添加了一些改进,使用S列类型来siunitx对齐小数点上的数字,并且其中的标尺booktabs具有一些垂直填充和可变宽度。

\documentclass[12pt]{article}
\usepackage{rotating, booktabs, siunitx}
\usepackage{floatrow}
\usepackage{adjustbox}

\begin{document}
Testing text up here

\begin{sidewaystable}
\centering
\small\setlength{\tabcolsep}{5pt}
\sisetup{table-format=2.3, table-number-alignment=center}
\null\vfill
\ttabbox[\FBwidth]
{
\caption{Some table comments here}
}
{
\begin{tabular}{@{}c c *{9}{S}S[table-format=1.2]@{}}
\toprule \midrule
Material & Z & {1 (H)} & {6 (C)} & {7 (N)} & {8 (O)} & {12 (Mg)} & {14 (Si)} & {15 (P)} & {17 (Cl)} & {20 (Ca)} & {$\rho$} \\
         & A & 1.008 & 12.011 & 14.007 & 15.999 & 24.305 & 28.086 & 30.974 & 35.453 & 40.078 & {\si{g\per cm\cubed}} \\ %
\midrule
LN-300 Lung & & 8.46 & 59.37 & 1.96 & 18.14 & 11.19 & 0.78 & 0 & 0.10 & 0 & 0.30 \\
LN-450 Lung & & 8.47 & 59.56 & 1.97 & 18.11 & 11.21 & 0.58 & 0 & 0.10 & 0 & 0.45 \\
AP6 Adipose & & 9.06 & 72.29 & 2.25 & 16.27 & 0 & 0 & 0 & 0.13 & 0 & 0.94 \\
BR-12 Breast & & 8.59 & 70.10 & 2.33 & 17.90 & 0 & 0 & 0 & 0.13 & 0.95 & 0.98 \\
Water & & 11.19 & 0 & 0 & 88.81 & 0 & 0 & 0 & 0 & 0 & 1 \\
CT Solid Water & & 8.00 & 67.29 & 2.39 & 19.87 & 0 & 0 & 0 & 0.14 & 2.31 & 1.02 \\
BRN-SR2 Brain & & 10.82 & 72.54 & 1.69 & 14.86 & 0 & 0 & 0 & 0.08 & 0 & 1.05 \\
LV1 Liver & & 8.06 & 67.01 & 2.47 & 20.01 & 0 & 0 & 0 & 0.14 & 2.31 & 1.10 \\
IB Inner Bone & & 6.67 & 55.65 & 1.96 & 23.52 & 0 & 0 & 3.23 & 0.11 & 8.86 & 1.14 \\
B200 Bone Mineral & & 6.65 & 55.51 & 1.98 & 23.64 & 0 & 0 & 3.24 & 0.11 & 8.87 & 1.15 \\
CB2 - 30\% CaCO\textsubscript{3} & & 6.68 & 53.47 & 2.12 & 25.61 & 0 & 0 & 0 & 0.11 & 12.01 & 1.34 \\
CB2 - 50\% CaCO\textsubscript{3} & & 4.77 & 41.62 & 1.52 & 31.99 & 0 & 0 & 0 & 0.08 & 20.02 & 1.56 \\
SB3 Cortical Bone & & 3.41 & 31.41 & 1.84 & 36.50 & 0 & 0 & 0 & 0.04 & 26.81 & 1.82 \\
\midrule \bottomrule
\end{tabular}
}
\end{sidewaystable}

Some test text here

More test text

\end{document} 

在此处输入图片描述

答案2

我会按如下方式编写您的表格:

\documentclass[12pt]{article}
\usepackage{rotating}
\usepackage{booktabs}
\usepackage[skip=1ex]{caption}
\usepackage{siunitx}
\usepackage[version=4]{mhchem}

\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{sidewaystable}
\caption{Some table comments here}

\begin{tabular}{l c *{9}{S[table-format=2.2]}S[table-format=1.2]}
    \toprule
Material & Z 
    & {1 (H)}   & {6 (C)} & {7 (N)}      & {8 (O)}      & {12 (Mg)} 
    & {14 (Si)} & {5 (P)} & {17 (Cl)}    & {20 (a)}    & {$\rho$}          \\
         & A 
    &  1.008    & 12.011  & 14.007      & 15.999    & 24.305
    & 28.086    & 30.974  & 35.453      & 40.078    & {\si{g/cm^3}}            \\
    \midrule
LN-300 Lung     &  & 8.46 & 59.37 & 1.96 & 18.14 & 11.19  & 0.78 & 0 & 0.10 & 0 & 0.30 \\
LN-450 Lung     &  & 8.47 & 59.56 & 1.97 & 18.11 & 11.21 & 0.58 & 0 & 0.10 & 0 & 0.45 \\
AP6 Adipose     &  & 9.06 & 72.29 & 2.25 & 16.27 & 0 & 0 & 0 & 0.13 & 0 & 0.94 \\
BR-12 Breast    &  & 8.59 & 70.10 & 2.33 & 17.90 & 0 & 0 & 0 & 0.13 & 0.95 & 0.98 \\
Water           &  & 11.19 & 0 & 0 & 88.81 & 0 & 0 & 0 & 0 & 0 & 1 \\
CT Solid Water  & & 8.00 & 67.29 & 2.39 & 19.87 & 0 & 0 & 0 & 0.14 & 2.31 & 1.02 \\
BRN-SR2 Brain   & & 10.82 & 72.54 & 1.69 & 14.86 & 0 & 0 & 0 & 0.08 & 0 & 1.05 \\
LV1 Liver       & &  8.06 & 67.01 & 2.47 & 20.01 & 0 & 0 & 0 & 0.14 & 2.31 & 1.10 \\
IB Inner Bone   & & 6.67 & 55.65 & 1.96 & 23.52 & 0 & 0 & 3.23 & 0.11 & 8.86 & 1.14 \\
B200 Bone Mineral & & 6.65 & 55.51 & 1.98 & 23.64 & 0 & 0 & 3.24 & 0.11 & 8.87 & 1.15 \\
CB2 - 30\% \ce{CaCO3} & & 6.68 & 53.47 & 2.12 & 25.61 & 0 & 0 & 0 & 0.11 & 12.01 & 1.34 \\
CB2 - 50\% \ce{CaCO3} & & 4.77 & 41.62 & 1.52 & 31.99 & 0 & 0 & 0 & 0.08 & 20.02 & 1.56 \\
SB3 Cortical Bone & & 3.41 & 31.41 & 1.84 & 36.50 & 0 & 0 & 0 & 0.04 & 26.81 & 1.82 \\
    \bottomrule
\end{tabular}
\end{sidewaystable}
\lipsum[2-12]
\end{document}
  • 而是adjustbox使用包中定义的同名包sidewaystable中定义的环境rotating
  • 对于带有数字的列,使用包S中定义的列siunitx。它允许将数字对齐到小数点
  • 对于化学符号使用\ce{...} command defined in themhchem` 包

在此处输入图片描述

附录: 只是为了显示完整和旋转的页面,以便更好地看到它在页面上的文本区域中垂直和水平居中......

在此处输入图片描述

相关内容