如何获得一个宽的长表,其单元格中包含短段落,并且可以在多个横向页面上扩展?

如何获得一个宽的长表,其单元格中包含短段落,并且可以在多个横向页面上扩展?

我正在 Excel 工作表上处理文献综述的描述表,希望稍后在 Latex 中将其重新排列成一个整洁的长表格,其单元格中有短段落,可以扩展到多个横向页面,如下图所示。目前我得到的表格没有组织,也没有居中,并且随机在页面上断行。请参见下面的关联图片。 在此处输入图片描述

\documentclass{article}
\usepackage{float,lscape}
\usepackage{pdflscape}
\usepackage{afterpage}
\usepackage{array}
\usepackage{longtable}
\usepackage{lipsum}

\begin{document}
\lipsum[1-2]

\afterpage{
\clearpage
\pagestyle{empty}
\begin{landscape}\centering
\begin{longtable}[!htp]{| p{.50\textwidth} | p{.15\textwidth} |p{.15\textwidth}|p{.15\textwidth}|p{.45\textwidth}|p{.15\textwidth}|p{.30\textwidth}|p{.15\textwidth}|}
\hline
\textbf{Column 1} & \textbf{Column 2}  & \textbf{Column 3}  & \textbf{Column 4} & \textbf{Column 5} & \textbf{Column 6}  & \textbf{Column 7}  & \textbf{Column 8}
\\ \hline
\lipsum[1-1]. & 20 & 2014 & Journal  & \lipsum[1]. & France & \lipsum[1] & 230.
\\ \hline
\lipsum[1]. & 10 & 2015 & Confernce & \lipsum[1]. & UK &  \lipsum[1]  & 120.
\\ \hline

\caption{Your caption here} % needs to go inside longtable environment
label{tab:mylongtable}
\end{longtable}
\end{landscape}
    \pagestyle{plain}
 \clearpage
  }
%\end{table}

Table \ref{tab:myfirstlongtable} shows my first longtable.
\end{document} 

答案1

  • 你的桌子很大
  • 通过列宽定义表格宽度相等(.50+.15+.15+.15+.45+.15+.30+.15)*\textwidth=2*\textwidth,因此表格溢出到页面右侧
  • 我建议longtable你使用ltablex你规定的表格宽度
  • 为了使文本更好地适应单元格,需要减小字体大小,例如\small
  • 要减少类型列的宽度,请查看是否可以c使用\thead{...}from包makecell

    (我假设第 2、3、4、6 和 8 列的单元格只有很短的一行内容;如果这个假设是错误的,那么您需要将其转换为X列类型并确定它们的相对宽度)

  • 更“专业的外观是通过移除垂直线并使用包装中的水平线规则来获得的booktabs(如果你不喜欢这样的设计,你可以返回垂直线并替换ruleshlines
  • 注意:表格可以在页面之间拆分,但只能在行之间拆分

姆韦

\documentclass{article}
\usepackage[margin=25mm]{geometry}
\usepackage{lscape}
% \usepackage{pdflscape} % alternative to lscape
\usepackage{booktabs, makecell, ltablex}
% \keepXColumns % preserve X column formatting

\usepackage{lipsum}

\begin{document}
\pagestyle{plain}

\lipsum[1-5]

\pagestyle{empty}
\begin{landscape}
\small
\renewcommand\theadfont{\bfseries}
‎\begin{tabularx}{\linewidth}{@{}
                    >{\hsize=0.4\hsize}X l l l
                    >{\hsize=0.35\hsize}X l
                    >{\hsize=0.25\hsize}X l
                              @{}}
\caption{Your caption here}
\label{tab:mylongtable}         \\
    \toprule
\thead[l]{Column 1}     & \thead[l]{Column\\ 2} & \thead[l]{Column\\ 3} &
\thead[l]{Column\\ 4}   & \thead[l]{Column 5}   & \thead[l]{Column\\ 6} &
\thead[l]{Column 7}     & \thead[l]{Column\\ 8} \\ 
    \midrule
\endfirsthead
%%%%
\caption{Your caption here (cont.)}
\label{tab:mylongtable}         \\
    \toprule
\thead[l]{Column 1}     & \thead[l]{Column\\ 2} & \thead[l]{Column\\ 3} &
\thead[l]{Column\\ 4}   & \thead[l]{Column 5}   & \thead[l]{Column\\ 6} &
\thead[l]{Column 7}     & \thead[l]{Column\\ 8} \\ 
    \midrule
\endhead
%%%%
\multicolumn{8}{r}{\textit{continue on the next page}}
\endfoot
%%%%
    \bottomrule
\endlastfoot
%%%% table content
\lipsum[11]             & 20                    & 2014                  &
Journal                 & \lipsum[11]           & France                &
\lipsum[11]             & 230                   \\ \midrule
\lipsum[11]             & 10                    & 2015                  &
Conference              & \lipsum[11]           & UK                    &
\lipsum[11]             & 120                   \\
\end{tabularx}
\end{landscape}
\pagestyle{plain}

Table \ref{tab:myfirstlongtable} shows my first longtable.
\end{document}

相关内容