Mover tabela para caber na página

Mover tabela para caber na página

Eu sei que existem vários tópicos semelhantes, mas não consegui encontrar uma resposta... Tenho uma tabela que simplesmente não consigo caber na minha página. Sou iniciante no Latex e estou quase desistindo de novo... Este é o meu cabeçalho:

\documentclass[a4paper, fontsize=12pt]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[ngerman, english]{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\graphicspath{{my_images/}}
\usepackage[nottoc]{tocbibind}
\usepackage[super]{nth}
\usepackage{wrapfig}

\def\code#1{\texttt{#1}}

\usepackage[backend=biber,natbib,style=apa]{biblatex}
\addbibresource{references.bib}

 
\usepackage{listings}

\begin{document}
\maketitle

\thispagestyle{empty}
\tableofcontents


\listoffigures
\let\LaTeXStandardClearpage\clearpage
\let\clearpage\relax  % Do nothing when a \clearpage command appears 
\listoftables
\let\clearpage\LaTeXStandardClearpage % Return to the old definition


\input{01_introduction.tex}
\let\LaTeXStandardClearpage\clearpage
\let\clearpage\relax  % Do nothing when a \clearpage command appears 
\pagenumbering{arabic}
\setcounter{page}{4}
\input{02_data_methods.tex}
\let\clearpage\LaTeXStandardClearpage % Return to the old definition
\input{03_results.tex}
\input{04_discussion.tex}
\input{05_conclusion.tex}
\printbibliography[heading=bibintoc]

\end{document}

E na 2ª entrada tenho esta tabela:

\begin{table}[!htbp] 
  \caption{} 
  \label{} 
\begin{tabular}{@{\extracolsep{5pt}}lccccccc} 
\\[-1.8ex]\hline 
\hline \\[-1.8ex] 
Statistic & \multicolumn{1}{c}{N} & \multicolumn{1}{c}{Mean} & \multicolumn{1}{c}{St. Dev.} & \multicolumn{1}{c}{Min} & \multicolumn{1}{c}{Pctl(25)} & \multicolumn{1}{c}{Pctl(75)} & \multicolumn{1}{c}{Max} \\ 
\hline \\[-1.8ex] 
sqft\_living & 2,000 & 2,156.307 & 958.696 & 440 & 1,460 & 2,640 & 9,640 \\ 
view & 2,000 & 0.373 & 1.026 & 0 & 0 & 0 & 4 \\ 
condition & 2,000 & 3.417 & 0.654 & 1 & 3 & 4 & 5 \\ 
grade & 2,000 & 7.748 & 1.200 & 4 & 7 & 8 & 13 \\ 
yr\_built & 1,800 & 1,973.880 & 28.719 & 1,900.000 & 1,954.000 & 2,000.000 & 2,014.000 \\ 
yr\_renovated & 2,000 & 118.719 & 472.126 & 0 & 0 & 0 & 2,015 \\ 
sqft\_living15 & 2,000 & 2,033.584 & 705.835 & 460 & 1,500 & 2,450 & 5,030 \\ 
price\_per\_sqft & 2,000 & 269.090 & 118.534 & 87.588 & 184.960 & 320.706 & 800.000 \\ 
lot\_to\_living & 2,000 & 7.154 & 15.580 & 0.544 & 2.403 & 6.488 & 281.229 \\ 
basement\_percent & 2,000 & 0.127 & 0.172 & 0 & 0 & 0.3 & 1 \\ 
\hline \\[-1.8ex] 
\end{tabular} 
\end{table} 

O que produz esta saída:

insira a descrição da imagem aqui

Há algo que eu possa fazer para movê-lo um pouco para a esquerda?

Responder1

Você não precisa mover a mesa para lugar nenhum. Experimente o seguinte:

\documentclass[a4paper, fontsize=12pt]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman, english]{babel}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}
    \begin{table}[!htbp]
\caption{My huge table}
\label{tab:???}
    \setlength\tabcolsep{0pt}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lccccccc @{}}
    \hline \hline
Statistic   & {N} & {Mean}  & {St. Dev.} & {Min} 
            & {Pctl(25)}    & {Pctl(75)} & {Max} \\
    \hline
sqft\_living & 2,000 & 2,156.307 & 958.696 & 440 & 1,460 & 2,640 & 9,640 \\
view & 2,000 & 0.373 & 1.026 & 0 & 0 & 0 & 4 \\
condition & 2,000 & 3.417 & 0.654 & 1 & 3 & 4 & 5 \\
grade & 2,000 & 7.748 & 1.200 & 4 & 7 & 8 & 13 \\
yr\_built & 1,800 & 1,973.880 & 28.719 & 1,900.000 & 1,954.000 & 2,000.000 & 2,014.000 \\
yr\_renovated & 2,000 & 118.719 & 472.126 & 0 & 0 & 0 & 2,015 \\
sqft\_living15 & 2,000 & 2,033.584 & 705.835 & 460 & 1,500 & 2,450 & 5,030 \\
price\_per\_sqft & 2,000 & 269.090 & 118.534 & 87.588 & 184.960 & 320.706 & 800.000 \\
lot\_to\_living & 2,000 & 7.154 & 15.580 & 0.544 & 2.403 & 6.488 & 281.229 \\
basement\_percent & 2,000 & 0.127 & 0.172 & 0 & 0 & 0.3 & 1 \\
\hline 
\end{tabular*}
    \end{table}
\end{document}

insira a descrição da imagem aqui

(as linhas vermelhas mostram o layout da página)

No MWE acima estão:

  • para ambiente usado de tabela tabular*, para o qual a largura é selecionada\textwidth
  • \tabcolsepestá predefinido para zero
  • o tamanho real \tabcolsepé deixado para cálculo pela instrução@{\extracolsep{\fill}}

Responder2

Eu sugiro que você se livre dos \multicolumn{1}{c}casulos que estão sufocando o conteúdo das células do cabeçalho, livre-se da @{\extracolsep{5pt}}diretiva de espaçamento de colunas e livre-se dos dígitos decimais de aparência francamente absurda para os números do ano civil no mínimo, máximo, Quart1 e colunas Quart3. Com esses ajustes, a mesa se ajusta perfeitamente.

\documentclass[a4paper, fontsize=12pt]{scrreprt}
\usepackage[ngerman, english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs,array}

\begin{document}
\setcounter{chapter}{3} % just for this example
\begin{table}[!htbp]
\caption{xxx} \label{tab:xxx}
\centering
\begin{tabular}{@{} >{\ttfamily}l *{7}{c} @{}}
\toprule
\multicolumn{1}{@{}l}{Statistic} & $N$ & Mean & St.\ Dev. & Min & Pctl(25) & Pctl(75) & Max \\
\midrule
sqft\_living & 2,000 & 2,156.307 & 958.696 & 440 & 1,460 & 2,640 & 9,640 \\
view & 2,000 & 0.373 & 1.026 & 0 & 0 & 0 & 4 \\
condition & 2,000 & 3.417 & 0.654 & 1 & 3 & 4 & 5 \\
grade & 2,000 & 7.748 & 1.200 & 4 & 7 & 8 & 13 \\
yr\_built & 1,800 & 1,973.88 & 28.72 & 1900 & 1954 & 2000 & 2014 \\
yr\_renovated & 2,000 & 118.719 & 472.126 & 0 & 0 & 0 & 2015 \\ % why all the zeroes in this row?
sqft\_living15 & 2,000 & 2,033.584 & 705.835 & 460 & 1,500 & 2,450 & 5,030 \\
price\_per\_sqft & 2,000 & 269.09 & 118.53 & 87.59 & 184.96 & 320.71 & 800.00 \\
lot\_to\_living & 2,000 & 7.154 & 15.580 & 0.544 & 2.403 & 6.488 & 281.229 \\
basement\_percent & 2,000 & 0.127 & 0.172 & 0 & 0 & 0.3 & 1 \\
\bottomrule
\end{tabular}
\end{table}

\end{document}

informação relacionada