如何创建一个具有 16 列且适合一页的长表格?

如何创建一个具有 16 列且适合一页的长表格?

我想知道如何构建一个包含 16 列且适合一页的表格。有人能帮助我吗?

\begin{center}

\begin{longtable}{|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|}
\caption{Trabalhos Selecionados após critérios de Seleção} 
\label{tab:laal} \\

\hline
\multicolumn{1}{|c|}{\textbf{Identificador}} &
\multicolumn{1}{c|}{\textbf{Autores}} & 
\multicolumn{1}{c|}{\textbf{Ano}} & 
\multicolumn{1}{c|}{\textbf{Titulo}} &
\multicolumn{1}{c|}{\textbf{Resumo}} & 
\multicolumn{1}{c|}{\textbf{Benefícios}} & 
\multicolumn{1}{c|}{\textbf{Limitações}} & 
\multicolumn{1}{c|}{\textbf{Padrão de Projeto}} & 
\multicolumn{1}{c|}{\textbf{Elementos/Padrões Arquiteturais}} & 
\multicolumn{1}{c|}{\textbf{Tecnologias (frameworks, APIs)}} & 
\multicolumn{1}{c|}{\textbf{Modelo de Acessibilidade}} & 
\multicolumn{1}{c|}{\textbf{Nível Acessibilidade}} & 
\multicolumn{1}{c|}{\textbf{Tipo de Deficiência}} & 
\multicolumn{1}{c|}{\textbf{Tecnologia Assistiva}} & 
\multicolumn{1}{c|}{\textbf{Linguagens}} & 
\multicolumn{1}{c|}{\textbf{Tipo de Avaliação}} 
\\ \hline
\endfirsthead

\multicolumn{16}{c}%
{{ \tablename\ \thetable{} -- continuação  da página anterior}} \\
\hline 
\multicolumn{1}{|c|}{\textbf{Identificador}} &
\multicolumn{1}{c|}{\textbf{Autores}} & 
\multicolumn{1}{c|}{\textbf{Ano}} & 
\multicolumn{1}{c|}{\textbf{Titulo}} &
\multicolumn{1}{c|}{\textbf{Resumo}} & 
\multicolumn{1}{c|}{\textbf{Benefícios}} & 
\multicolumn{1}{c|}{\textbf{Limitações}} & 
\multicolumn{1}{c|}{\textbf{Padrão de Projeto}} & 
\multicolumn{1}{c|}{\textbf{Elementos/Padrões Arquiteturais}} & 
\multicolumn{1}{c|}{\textbf{Tecnologias (frameworks, APIs)}} & 
\multicolumn{1}{c|}{\textbf{Modelo de Acessibilidade}} & 
\multicolumn{1}{c|}{\textbf{Nível Acessibilidade}} & 
\multicolumn{1}{c|}{\textbf{Tipo de Deficiência}} & 
\multicolumn{1}{c|}{\textbf{Tecnologia Assistiva}} & 
\multicolumn{1}{c|}{\textbf{Linguagens}} & 
\multicolumn{1}{c|}{\textbf{Tipo de Avaliação}} 
\\ \hline

\endhead

\hline \multicolumn{16}{|r|}{{Continua na próxima página}} \\ \hline
\endfoot

\hline \hline
\endlastfoot

\end{longtable}
\end{center}

答案1

初步说明:您发帖的标题令人困惑。您说您希望表格材料适合放在一页上,但您还建议使用环境longtable——强烈建议表格将占用多页。

假设 16 列表格确实应该放在一页上,我可以提出以下建议:

  • 更多地使用景观。例如,加载rotating包并使用sidewaystable环境。

  • 不要使用固定宽度的列,例如p{1.5cm}。相反,加载tabularx包并让 LaTeX 动态计算列宽;使用标准X列类型,或者像下面这样使用X列类型的居中版本。要获得居中版本,我建议您加载包ragged2e并使用\Centering指令而不是基本的 LaTeX\centering宏。(您可能会问,这有什么区别。\Centering允许连字符,而\centering不允许。)

  • 不要\multicolumn{1}{c}{...}对标题单元格的内容使用包装器,因为这样做会不允许换行。

  • 不要使用大胆的标题单元格的文本。设计良好的表格不应该依赖此类方法。

  • 降低的值\tabcolsep,以便在每个单元格中提供更多可用(水平)空间。

这些建议的结果是:

在此处输入图片描述

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[margin=1in,letterpaper]{geometry}
\usepackage[portuguese]{babel}

\usepackage{tabularx,ragged2e,rotating}
\newcolumntype{C}{>{\hspace{0pt}%
    \Centering\arraybackslash}X}
\usepackage[skip=0.333\baselineskip]{caption}

\begin{document}
\begin{sidewaystable}
\setlength\tabcolsep{2pt} % default is '6pt'
\setlength\extrarowheight{2pt}
\caption{Trabalhos Selecionados após critérios de Seleção} 
\label{tab:laal} 
\begin{tabularx}{\textwidth}{|*{16}{C|}}
\hline
Identificador &
Autores & 
Ano & 
Titulo &
Resumo & 
Benefícios & 
Limitações & 
Padrão de Projeto & 
Elementos\slash Padrões Arquiteturais & 
Tecnologias (frame\-works, APIs) & 
Modelo de Acessibilidade & 
Nível Acessibilidade & 
Tipo de Deficiência & 
Tecnologia Assistiva & 
Linguagens & 
Tipo de Avaliação \\ 
\hline
\end{tabularx}

\end{sidewaystable}
\end{document}

相关内容