表格重叠至下一页

表格重叠至下一页

我正在构建一个包含多个表格的报告,但这些表格即使足够小以容纳一页上的文本,也会一直浮动到下一页。我该怎么办?以下是我正在使用的代码。提前致谢。

\documentclass[openany]{book}


\usepackage[USenglish]{babel} 
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}

\usepackage{lmodern} 
\usepackage{url}             
\usepackage[hyperref,dvipsnames]{xcolor}
\usepackage[a4paper,pdftex]{geometry}    
\usepackage{fix-cm}             
\usepackage{fancyhdr, blindtext}     
\usepackage{graphicx}
\usepackage[colorlinks=true,% 
            linkcolor=blue,%
            citecolor=blue]{hyperref} 

\usepackage[Sonny]{fncychap}     


\usepackage{graphicx} %%For loading graphic files

\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage[toc,page]{appendix}

\usepackage[utf8]{inputenc}

\setlength{\arrayrulewidth}{0.5mm}
\setlength{\tabcolsep}{8pt}
\renewcommand{\arraystretch}{1.5}
\usepackage[english]{babel}    
\addto\captionsenglish


\begin{document}
\begin{table}
    \begin{tabular}{ |p{3cm}||p{3cm}|p{3cm}|p{3cm}|  }
     \hline
     \multicolumn{4}{|c|}{Country List} \\
     \hline
     Country Name     or Area Name& ISO ALPHA 2 Code &ISO ALPHA 3 Code&ISO numeric Code\\
     \hline
     Afghanistan   & AF    &AFG&   004\\
     Aland Islands&   AX  & ALA   &248\\
     Albania &AL & ALB&  008\\
     Algeria    &DZ & DZA&  012\\
     American Samoa&   AS  & ASM&016\\
     Andorra& AD  & AND   &020\\
     Angola& AO  & AGO&024\\
     \hline
    \end{tabular}
\end{table}

答案1

我不确定我是否理解了你的目的,但听起来你可能想要使用一个longtable环境,它(a)不会“浮动”并且(b)必要时可以跨页。相反,环境table偶尔会“浮动”到下一页,但永远不会跨页。

关于您的代码的一些其他评论(无特定顺序列出):

  • 如果你加载该fix-cm包,它应该在文档的最开始处加载,即指令\documentclass。但是,由于您的代码加载了字体系列,因此一开始lmodern加载就没有任何意义。fix-cm

  • 不要多次加载包(例如babel),尤其是使用不兼容的选项(例如,inputenc它首先使用选项加载ansinew,然后使用选项加载utf8)。

  • 由于您使用了异常粗的线条,因此最好加载包来array使表格边缘的垂直线和水平线之间的交叉点均匀分布。

在此处输入图片描述

%%\RequirePackage{fix-cm} % not needed since "lmodern" package is used
\documentclass[openany]{book}


\usepackage[english]{babel} 
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{lmodern} 
\usepackage{url}             
\usepackage[hyperref,dvipsnames]{xcolor}
\usepackage[a4paper]{geometry}    
\usepackage{fancyhdr}     
\usepackage{graphicx}

\usepackage[Sonny]{fncychap}     


\usepackage{amsmath,amsthm,amsfonts}
\usepackage[toc,page]{appendix}

\setlength{\arrayrulewidth}{0.5mm}
%\setlength{\tabcolsep}{8pt}
\renewcommand{\arraystretch}{1.5}

\usepackage{longtable,array,ragged2e}
\newcolumntype{P}[1]{>{\RaggedRight\arraybackslash}p{#1}}

\usepackage[colorlinks=true,% 
            linkcolor=blue,%
            citecolor=blue]{hyperref} 

\begin{document}

\begin{longtable}{ |P{2.7cm}|P{3.2cm}|P{3.2cm}|P{3.2cm}|  }
%% headers and footers
     \hline
     \multicolumn{4}{|c|}{Country List} \\
     \hline
     Country Name or Area Name& ISO ALPHA 2 Code &ISO ALPHA 3 Code&ISO numeric Code\\
     \hline
\endfirsthead
     \hline
     \multicolumn{4}{|c|}{Country List, continued} \\
     \hline
     Country Name or Area Name& ISO ALPHA 2 Code &ISO ALPHA 3 Code&ISO numeric Code\\
     \hline
\endhead
     \hline
\endfoot
%% body of table follows
     Afghanistan   & AF    &AFG&   004\\
     Aland Islands &   AX  & ALA   &248\\
     Albania       &AL & ALB&  008\\
     Algeria       &DZ & DZA&  012\\
     American Samoa&   AS  & ASM&016\\
     Andorra       & AD  & AND   &020\\
     Angola        & AO  & AGO&024\\
\end{longtable}

\end{document}

答案2

嘿朋友,使用之后指定的位置\begin{table}\begin{longtable}。这里是:

  • H- 它将表格放在你放置 .tex 文件的位置,位于同一页上
  • hp!- 如果文本后面没有空格,它会将其放置在您提到的位置,并尝试将其放置在同一页面的其他位置。
\begin{table}[H]
\caption{Notations used in our work}
\label{tab:1}       % Give a unique label
\begin{tabular}{c p{6.5cm}}
\end{tabular}
\end{table}

相关内容