我有一个 R 脚本,用于在 LaTeX 中创建报告。有时,此报告的表格很长且很宽,因此,经过一番研究后,我决定尝试一下ltxtable
。我的问题是我不明白它是如何工作的。
我有该报告的 LaTeX 代码:
\documentclass{report}
\usepackage{ltxtable, tabularx, longtable}
\usepackage[latin1]{inputenc}
\usepackage[left=2cm,top=1cm,right=3cm,nohead,nofoot]{geometry}
\title{CP 68 - Estatístico}
\author{Rodrigo Coster - 1141783-01}
\begin{document}
\textbf{ \begin{center}{\LARGE Informações referentes ao CP 68 - Estatístico }\end{center} }
\section*{Informações sobre processos}
Relação do quantitativo de candidatos convocados para cada processo selecionado
\LTXtable{\textwidth}{'table.tex'}
\section*{Informações sobre fila de espera}
Este CP não possui mais candidatos habilitados.
\end{document}
并且,在同一文件夹中,文件table.tex
:
\begin{longtable}{|c|c|c|c|c{1cm}|}
\begin{center}
\hline
\textbf{\textbf{Processo}} & \textbf{Vagas} & \textbf{Data} & \textbf{Convocados} & \textbf{Exercicio ok} \\ \hline
\textbf{001.010726.12.8} & 2 & 13/04/2012 & 2 & 2 \\ \hline
\end{center}
\end{longtable}
运行之后,在控制台中出现:
("C:\relatorios\Concursos\20130312 - CP 68 - Estatistico.aux")
*geometry* driver: auto-detecting
*geometry* detected driver: pdftex
Enter file name:
我尝试了很多文件名。对于大多数文件名,他都会再次要求输入名称。如果我输入,table.tex
就会出现此错误:
(C:\relatorios\Concursos\table.tex
! Missing # inserted in alignment preamble.
<to be read again>
&
l.1 \begin{longtable}{|c|c|c|c|c{1cm}|}
?
我已经尝试输入\begin{center}
第一行,但是没有用。
编辑:
另外table.tex
:
\begin{longtable}{|c|c|c|c|c|c|}
\hline
\textbf{\textbf{Área}} & \textbf{Convocados} & \textbf{Não ingressou} & \textbf{Para convocar} & \textbf{Manifestou interesse} & \textbf{Exercicio ok} \\ \hline
\textbf{Administração e economia } & 8 & 6 & 0 & 0 & 2 \\ \hline
\textbf{Anos iniciais dos ciclos de formação } & 474 & 80 & 0 & 13 & 381 \\ \hline
\textbf{Artes visuais } & 45 & 8 & 2 & 2 & 33 \\ \hline
\textbf{Biologia } & 1 & 0 & 0 & 0 & 1 \\ \hline
\textbf{Ciências da computação } & 2 & 1 & 0 & 0 & 1 \\ \hline
\textbf{Ciências físicas, químicas e biológicas} & 72 & 12 & 0 & 1 & 59 \\ \hline
\textbf{Ciências sócio-históricas } & 48 & 11 & 0 & 2 & 35 \\ \hline
\textbf{Dança } & 17 & 6 & 0 & 0 & 11 \\ \hline
\textbf{Deficiência mental } & 40 & 5 & 0 & 0 & 35 \\ \hline
\textbf{Deficiência visual } & 4 & 1 & 0 & 0 & 3 \\ \hline
\textbf{Educação de surdos } & 6 & 3 & 0 & 0 & 3 \\ \hline
\textbf{Educação física/rede escolar } & 134 & 26 & 0 & 1 & 107 \\ \hline
\textbf{Educação infantil } & 123 & 17 & 1 & 2 & 103 \\ \hline
\textbf{Filosofia } & 7 & 0 & 0 & 0 & 7 \\ \hline
\textbf{Física } & 1 & 0 & 0 & 0 & 1 \\ \hline
\textbf{Geografia } & 56 & 15 & 1 & 2 & 38 \\ \hline
\textbf{História } & 51 & 15 & 0 & 0 & 36 \\ \hline
\textbf{Língua espanhola } & 33 & 8 & 0 & 1 & 24 \\ \hline
\textbf{Língua francesa } & 3 & 1 & 0 & 0 & 2 \\ \hline
\textbf{Língua inglesa } & 38 & 9 & 1 & 0 & 28 \\ \hline
\textbf{Língua portuguesa } & 81 & 22 & 1 & 0 & 58 \\ \hline
\textbf{Matemática } & 104 & 26 & 1 & 1 & 76 \\ \hline
\textbf{Música } & 51 & 17 & 0 & 1 & 33 \\ \hline
\textbf{Teatro } & 5 & 0 & 0 & 0 & 5 \\ \hline
\end{longtable}
答案1
表格不需要太宽,你只需要确保表格宽度不被标题所主导。手动执行此操作比依赖对表格结构一无所知的tabularx
/要好得多。ltxtable
这里我旋转了标题,但还有其他可能性:
\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage{longtable,graphicx,array}
\newcommand\rothead[1]{\rotatebox{90}{#1\ }}
\begin{document}
\begin{longtable}{|>{\bfseries\raggedright}p{5cm}|c|c|c|c|c|}
\hline
\rothead{Área} & \rothead{Convocados} & \rothead{Não ingressou} &
\rothead{Para convocar} & \rothead{Manifestou interesse} & \rothead{Exercicio ok} \\ \hline
Administração e economia & 8 & 6 & 0 & 0 & 2 \\ \hline
Anos iniciais dos ciclos de formação & 474 & 80 & 0 & 13 & 381 \\ \hline
Artes visuais & 45 & 8 & 2 & 2 & 33 \\ \hline
Biologia & 1 & 0 & 0 & 0 & 1 \\ \hline
Ciências da computação & 2 & 1 & 0 & 0 & 1 \\ \hline
Ciências físicas, químicas e biológicas & 72 & 12 & 0 & 1 & 59 \\ \hline
Ciências sócio-históricas & 48 & 11 & 0 & 2 & 35 \\ \hline
Dança & 17 & 6 & 0 & 0 & 11 \\ \hline
Deficiência mental & 40 & 5 & 0 & 0 & 35 \\ \hline
Deficiência visual & 4 & 1 & 0 & 0 & 3 \\ \hline
Educação de surdos & 6 & 3 & 0 & 0 & 3 \\ \hline
Educação física/rede escolar & 134 & 26 & 0 & 1 & 107 \\ \hline
Educação infantil & 123 & 17 & 1 & 2 & 103 \\ \hline
Filosofia & 7 & 0 & 0 & 0 & 7 \\ \hline
Física & 1 & 0 & 0 & 0 & 1 \\ \hline
Geografia & 56 & 15 & 1 & 2 & 38 \\ \hline
História & 51 & 15 & 0 & 0 & 36 \\ \hline
Língua espanhola & 33 & 8 & 0 & 1 & 24 \\ \hline
Língua francesa & 3 & 1 & 0 & 0 & 2 \\ \hline
Língua inglesa & 38 & 9 & 1 & 0 & 28 \\ \hline
Língua portuguesa & 81 & 22 & 1 & 0 & 58 \\ \hline
Matemática & 104 & 26 & 1 & 1 & 76 \\ \hline
Música & 51 & 17 & 0 & 1 & 33 \\ \hline
Teatro & 5 & 0 & 0 & 0 & 5 \\ \hline
\end{longtable}
\end{document}
答案2
这只是一个简单的排版技巧,因为我喜欢 David 的技术答案,但不喜欢它的外观(我不喜欢转过头来阅读标题)。虽然这也不是很好的解决方案,但您可以使用缩写、翻转表格数据或使用符号(您可以在标题或文本中解释)。