Таблица на бумаге (А4) обрезается

Таблица на бумаге (А4) обрезается

Я использовал tabular для создания широкой таблицы. Несмотря на то, что в pdf она выглядит нормально, когда я печатаю ее на A4, правая сторона таблицы обрезается. Есть идеи, почему это происходит? Я знаю, что могу просто уменьшить ширину столбца с помощью tabular, но у меня нет никаких признаков того, что текст выходит за поля, пока я не распечатаю.

 \documentclass[12pt, oneside, landspace, leqno]{report}
\usepackage[doublespacing]{setspace}
\usepackage[top=.8in, left=0.5in]{geometry}%bottom=.8in,left=1in,right=2.54cm]{geometry} % customized margins
\geometry{headsep = 25pt}
\usepackage{apacite}
\usepackage{tabularx}
\usepackage{tikz}
\usepackage{float}
\usepackage{booktabs}
\newgeometry{left=0.5cm,bottom=0.3cm,top=0.2cm}
\begin{document}
\begin{center}
\begin{table}[H]
{\footnotesize
\begin{tabular}{ p{4cm} p{4cm} p{4cm} p{7cm}}
\toprule
Part 1&Part 2&Part 3&Part 4\\ \midrule
Bei et al., 2006 & E2 - Positive NB; PELL - classifiers SVM, NB, C4.5 & LingSpam ;PU1 & E2 94.20\% accuracy, PDB 90.10\%, PERL 88.29\% \\
Yus \& Xuin, 2005 & NB; NMN; SVM; RVM &Spam Ensemble; Babletext & SVM - 92\%, 94.5\%; NN 81.3\%, 82.7\%; NB - 93.7\%, 95.8\% \\
\bottomrule
\end{tabular}
\caption{demo table}
}
\end{table}
\end{center}
\end{document}

решение1

Я предполагаю, что вам на самом деле нравится портретная ориентация для вашего документа и только очень большая таблица должна быть в альбомной ориентации. Таблица, пример которой вы показываете, на самом деле не такая большая, как это (по моему мнению, нужно).

Согласно вашей преамбуле, у вас есть план использования tabularxтаблиц. С ним вы можете уже в засунутой таблице использовать его, гарантируя, что он не будет выступать за ширину текста с правой стороны:

\documentclass[12pt, oneside, a4paper, leqno]{report}
    \usepackage[doublespacing]{setspace}
    \usepackage[margin=1in,showframe]{geometry}% <-- changed to usual margins
\geometry{headsep = 25pt}
    \usepackage{booktabs, tabularx}
\newcolumntype{L}{>{\raggedright\arraybackslash
                    \let\\\newline}X}
    \usepackage{siunitx}% <-- added for units

    \begin{document}
\begin{table}[h]
\footnotesize
\begin{tabularx}{\textwidth}{lLLL}
    \toprule
Part 1  &   Part 2  &   Part 3  &   Part 4                      
    \tabularnewline\midrule
Bei et al., 2006 
        &   E2 - Positive NB; \\
            PELL - classifiers SVM, NB, C4.5
                    &   LingSpam; PU1
                                &   E2   \SI{94.20}{\%} accuracy,\\ 
                                    PDB  \SI{90.10}{\%}, \\
                                    PERL \SI{88.29}{\%}   
    \tabularnewline\addlinespace
Yus \& Xuin, 2005 
        &   NB; NMN; SVM; RVM
            &   Spam Ensemble; Babletext
                        &   SVM - \SI{92}{\%}, \SI{94.5}{\%}; \\
                            NN  - \SI{81.3}{\%}, \SI{82.7}{\%}; \\
                            NB  - \SI{93.7}{\%}, \SI{95.8}{\%} 
    \tabularnewline\bottomrule
\end{tabularx}
    \caption{demo table}
\end{table}
    \end{document}

который дает:

введите описание изображения здесь

В случае, если вам действительно нужна широкая таблица, то вы меняете ориентацию таблицы на альбомную. Это можно сделать, например (также) с помощью rotatingпакета и его sidewaystableокружения:

\documentclass[12pt, oneside, a4paper, leqno]{report}
    \usepackage[doublespacing]{setspace}
    \usepackage[margin=1in,show frame]{geometry}
\geometry{headsep = 25pt}
    \usepackage{booktabs, tabularx}
\newcolumntype{L}{>{\raggedright\arraybackslash
                    \let\\\newline}X}
    \usepackage{siunitx}
    \usepackage{rotating}

    \begin{document}
\begin{sidewaystable}
\footnotesize
\begin{tabularx}{\textwidth}{lLLL}
    \toprule
Part 1  &   Part 2  &   Part 3  &   Part 4                      
    \tabularnewline\midrule
Bei et al., 2006 
        &   E2 - Positive NB; \\
            PELL - classifiers SVM, NB, C4.5
                    &   LingSpam; PU1
                                &   E2   \SI{94.20}{\%} accuracy,\\ 
                                    PDB  \SI{90.10}{\%}, \\
                                    PERL \SI{88.29}{\%}   
    \tabularnewline\addlinespace
Yus \& Xuin, 2005 
        &   NB; NMN; SVM; RVM
            &   Spam Ensemble; Babletext
                        &   SVM - \SI{92}{\%}, \SI{94.5}{\%}; \\
                            NN  - \SI{81.3}{\%}, \SI{82.7}{\%}; \\
                            NB  - \SI{93.7}{\%}, \SI{95.8}{\%} 
    \tabularnewline\bottomrule
\end{tabularx}
    \caption{demo table}
\end{sidewaystable}
    \end{document}

который дает:

введите описание изображения здесь

В обоих примерах я удаляю в преамбуле вашего MWE все пакеты, которые не связаны с дизайном таблицы. Для типа столбца я использовал lдля первого столбца, а Lдля остальных. Lопределен в преамбуле.

Надеюсь, этот ответ даст вам дополнительные идеи о том, как можно оформить свой стол.

решение2

Макет по умолчанию для US letter, который не соответствует A4. Чтобы убедиться, что вы получите A4, добавьтеa4paper к параметрам класса или к параметрам длягеометрия. Я хотел бы использовать:

\documentclass[12pt, oneside, a4paper, landscape, leqno]{report}

Здесь я также исправляю опечатку landscape. Обратите внимание, что изучение вывода консоли при компиляции иногда сообщает вам полезную информацию, например, что «глобальная опция» landspaceбыла проигнорирована.

Как заметил Дэвид, нет смысла помещать float в centerсреду. ( tableи figureявляются примерами float.) \centeringВместо этого вы, вероятно, захотите использовать его внутри среды.

\documentclass[12pt, oneside, a4paper, landscape, leqno]{report}
\usepackage[doublespacing]{setspace}
\usepackage[top=.8in, left=0.5in]{geometry}%bottom=.8in,left=1in,right=2.54cm]{geometry} % customized margins
\geometry{headsep = 25pt}
\usepackage{apacite}
\usepackage{tabularx}
\usepackage{tikz}
\usepackage{float}
\usepackage{booktabs}
\newgeometry{left=0.5cm,bottom=0.3cm,top=0.2cm}
\begin{document}
\begin{table}[H]
  \centering
  \footnotesize
  \begin{tabular}{ p{4cm} p{4cm} p{4cm} p{7cm}}
    \toprule
    Part 1&Part 2&Part 3&Part 4\\ \midrule
    once upon a time in biblical times the Romans were &there were a few & green apples & and crazy apes\\
    once upon a time &there were a few & green apples & and crazy apes filled the Amazonian forests\\
    \bottomrule
  \end{tabular}
  \caption{demo table}
\end{table}
\end{document}

Здесь используется альбомная ориентация A4, но в вашем макете все еще есть что-то непонятное. У вас есть:

\usepackage[top=.8in, left=0.5in]{geometry}%bottom=.8in,left=1in,right=2.54cm]{geometry} % настраиваемые поля \geometry{headsep = 25pt} ... \newgeometry{left=0.5cm,bottom=0.3cm,top=0.2cm}

но что именно вы хотите? Иногда имеет смысл изменить макет страницы после того, как документ начался, но какой смысл менять его до того, как документ даже начался? Исходные настройки (в основном, но несколько изменчиво и непредсказуемо) перезаписываются, и только (успешные) новые будут иметь какой-либо эффект.

Я бы также сказал, что этооченьмаленькие поля. Я не думаю, что какой-либо из принтеров, к которым у меня есть доступ, мог бы их разместить. Результатом было бы то, что мой контент был бы обрезан при печати, даже если бы он теоретически помещался на бумаге.

Вот результат, как написано выше

маргинальные поля

Добавляем showframeк вариантам, которые мы кормимгеометрия, мы можем увидеть макет:

выявлены маргинальные поля

что, вероятно, не то, что вам нужно...

Связанный контент