表格未居中(并且超出了页面的右侧)

表格未居中(并且超出了页面的右侧)

我刚刚使用生成了此表Excel 转 LaTeX

替代文本

尽管我将表格放在\begin{center}表格中,但表格并没有居中。表格仍然从右侧伸出。有什么方法可以轻松修复这个问题吗?

这是该表的代码:

\begin{center}
\begin{tabular}{rrrrrrr}
        &    MSRP & Vol. Disc. & Promo. Allow. & Discount/Sale & Promo/Sale & Income/Sale \\
{\bf All Round} & {\bf \$5.49} & {\bf 30.0\%} & {\bf 13.0\%} & {\bf \$1.65} & {\bf \$0.71} & {\bf \$2.36} \\
{\bf All Round (suggestion)} & {\bf \$5.49} & {\bf 25.0\%} & {\bf 20.0\%} & {\bf \$1.37} & {\bf \$1.10} & {\bf \$2.47} \\
Believe &  \$3.99 &  33.5\% &  15.6\% &  \$1.34 &  \$0.62 &  \$1.96 \\
Best Help &  \$4.59 &  34.5\% &  13.3\% &  \$1.58 &  \$0.61 &  \$2.19 \\
Coughcure &  \$4.69 &  28.5\% &  16.7\% &  \$1.34 &  \$0.78 &  \$2.12 \\
 Defogg &  \$4.09 &  22.5\% &  11.1\% &  \$0.92 &  \$0.45 &  \$1.37 \\
Dripstop &  \$4.09 &  21.5\% &  13.3\% &  \$0.88 &  \$0.54 &  \$1.42 \\
{\bf Dryup} & {\bf \$4.79} & {\bf 21.5\%} & {\bf 15.6\%} & {\bf \$1.03} & {\bf \$0.75} & {\bf \$1.78} \\
Effective &  \$4.09 &  30.0\% &  14.4\% &  \$1.23 &  \$0.59 &  \$1.82 \\
    End &  \$4.49 &  30.0\% &  14.4\% &  \$1.35 &  \$0.65 &  \$1.99 \\
  Extra &  \$4.09 &  31.0\% &  12.5\% &  \$1.27 &  \$0.51 &  \$1.78 \\
\end{tabular}  
\end{center}

答案1

\\如果您在行和列标题中插入一些换行符 ( ) 以减少表格的整体宽度,那么表格可能会更美观且更易于维护。hspace如果将来页面格式发生变化,尝试使用 或类似符号手动定位表格可能会看起来很糟糕。

答案2

对于我的博士论文,我使用了以下技巧:史蒂芬·柯特维茨。以下是从他的网站上复制的示例:

\documentclass[a4paper,10pt]{article}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{tabularx}
\begin{document}

\blindtext

\bigskip

\noindent\makebox[\textwidth]{%
  \begin{tabularx}{1.5\textwidth}{XX}
    \blindtext & \blindtext
  \end{tabularx}
}

\bigskip

\blindtext

\end{document}

相关的事情是将较大的浮点数纳入

\noindent\makebox[\textwidth]{%
   %Table or figure
}

哦,顺便说一句:我还建议你看看书签包装,它对于增强您的表格的显示效果非常有用......

答案3

嗯,你的表格太大了,所以它要么在右边,要么在左边,要么在两边都突出。你可以用 将它移到左边\hspace*{-1cm}\begin{tabular}...,也可以用 将它居中,例如\makebox[0pt]{tabular}

答案4

对于 LaTeX 专家来说,这听起来很明显,但要完成其他答案...

如果表格位于浮点数内,则\noindent\makebox[\textwidth]{%TABLE}构造必须包含仅有的环境tabular,而且必须不是包含浮点数也不标题。换句话说,makebox必须在浮动内,并且不应包含标题。否则会出现错误。

根据 OP 的示例(但表格缩短了):

\documentclass{article}
\usepackage{showframe}  %%display resulting placement on page
\begin{document}

\begin{table}  %%float environment

%%the makebox MUST be within the float 
%%and should NOT contain the caption
\noindent\makebox[\textwidth]{
    \begin{tabular}{rrrrrrr}

            &    MSRP & Vol. Disc. & Promo. Allow. & Discount/Sale & Promo/Sale & Income/Sale \\

    {\bf All Round} & {\bf \$5.49} & {\bf 30.0\%} & {\bf 13.0\%} & {\bf \$1.65} & {\bf \$0.71} & {\bf \$2.36} \\

    {\bf All Round (suggestion)} & {\bf \$5.49} & {\bf 25.0\%} & {\bf 20.0\%} & {\bf \$1.37} & {\bf \$1.10} & {\bf \$2.47} \\

    Believe &  \$3.99 &  33.5\% &  15.6\% &  \$1.34 &  \$0.62 &  \$1.96 \\

    Best Help &  \$4.59 &  34.5\% &  13.3\% &  \$1.58 &  \$0.61 &  \$2.19 \\

    \end{tabular}  
}

\caption{Some caption}
\end{table}

\end{document}

这将产生一个根据页面宽度居中的表格浮动:

在此处输入图片描述

请参阅评论,了解为什么这个解决方案可能是或可能不是一个好的解决方案。

相关内容