如何格式化表格中的列宽以防止表格进入右边距

如何格式化表格中的列宽以防止表格进入右边距

我有一张显示如下的表格:

在此处输入图片描述

我想知道是否有人可以帮助重新调整列宽,以便表格不会进入页面的右边距。

我很高兴第一列的标题能够换到表格标题的第二行。

以下是一个最小工作示例(包含许多不必要的\usepackage行):

\documentclass[oneside,12pt]{report} 

\usepackage{setspace}
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage{alltt}
\usepackage{anysize}
\usepackage{appendix}
\usepackage{array}
\usepackage{booktabs}
\usepackage{caption}
\usepackage{changepage}
% \usepackage{cite}
\usepackage{color}
\usepackage{enumerate}
\usepackage{etoolbox}
\usepackage{fancyhdr}
\usepackage{fixltx2e}
\usepackage{footmisc}
% \usepackage{graphics}
\usepackage{graphicx}
\usepackage{longtable}
\usepackage{pdflscape}
\usepackage{ragged2e}
\usepackage{hyperref}
\usepackage{bookmark}
\usepackage[numbers,sort]{natbib}
\usepackage{url}
\usepackage[normalem]{ulem}
\usepackage{subcaption}

\marginsize{3.54cm}{2.54cm}{2.54cm}{2.54cm}

\begin{document}

This is some text. This is some text. This is some text. This is some text. This is some text. This is some text.

\begin{table}
    \centering
    \begin{tabular}{lllllllllll}
    \toprule
        \multicolumn{1}{l}{\textbf{Days of month}} & \multicolumn{10}{c}{\textbf{Segment}} \\
        \multicolumn{1}{l}{} &
        \multicolumn{1}{c}{\textbf{1}} &
        \multicolumn{1}{c}{\textbf{2}} &
        \multicolumn{1}{c}{\textbf{3}} &
        \multicolumn{1}{c}{\textbf{4}} &
        \multicolumn{1}{c}{\textbf{5}} &
        \multicolumn{1}{c}{\textbf{6}} &
        \multicolumn{1}{c}{\textbf{7}} &
        \multicolumn{1}{c}{\textbf{8}} &
        \multicolumn{1}{c}{\textbf{9}} &
        \multicolumn{1}{c}{\textbf{10}} \\

        \midrule
        04 - 06 & Train & \textcolor{red}{Test} & Train & Train & Train & Train & Train & Train & Train & Train \\

        \bottomrule
    \end{tabular}
    \caption{Schedule.}
\end{table}   

\end{document}

答案1

在此处输入图片描述

\documentclass[oneside,12pt]{report} 
\usepackage{setspace}
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage{alltt}
\usepackage{anysize}
\usepackage{appendix}
\usepackage{array}
\usepackage{booktabs}
\usepackage{caption}
\usepackage{changepage}
% \usepackage{cite}
\usepackage{color}
\usepackage{enumerate}
\usepackage{etoolbox}
\usepackage{fancyhdr}
\usepackage{footmisc}
% \usepackage{graphics}
\usepackage{graphicx}
\usepackage{longtable}
\usepackage{pdflscape}
\usepackage{ragged2e}
\usepackage{hyperref}
\usepackage{bookmark}
\usepackage[numbers,sort]{natbib}
\usepackage{url}
\usepackage[normalem]{ulem}
\usepackage{subcaption}
\marginsize{3.54cm}{2.54cm}{2.54cm}{2.54cm}
\begin{document}

This is some text. This is some text. This is some text. This is some text. This is some text. This is some text.

\begin{table}
    \small\centering
    \begin{tabular}{*{11}c}
    \toprule
        \multicolumn{1}{l}{\textbf{Month}} & \multicolumn{10}{c}{\textbf{Segment}} \\
        \multicolumn{1}{l}{\textbf{days}} &
        \textbf{1}  &
        \textbf{2}  &
        \textbf{3}  &
        \textbf{4}  &
        \textbf{5}  &
        \textbf{6}  &
        \textbf{7}  &
        \textbf{8}  &
        \textbf{9}  &
        \textbf{10} \\ \midrule
        04 - 06 & Train & \textcolor{red}{Test} & Train & Train & Train & Train & Train & Train & Train & Train \\ \bottomrule
    \end{tabular}
    \caption{Schedule.}
\end{table}   

\end{document}

您可以使用较小的字体。在 处12pt,设置\small表格文本的文本大小不会太明显。此外,标题可以调整为分为两行,也许还可以重新措辞以使其更短。最后,\multicolumn{1}{c}不需要所有段条目,使用*{11}c更紧凑、更合适。

此外,\usepackage{fixltx2e}自 2015 年起就不再需要了,因为所有对 LaTeX2e 的修复现在都是基础分发的一部分。

相关内容