Estou tentando incluir as duas primeiras linhas como cabeçalhos. Gostaria de ter as unidades - - m m m
etc. em cada página e outra linha abaixo.
Não sou um usuário avançado decsvsimples, e não consegui encontrar respostas no manual.
A primeira página fica assim:
E o segundo:
Já resolvi o problema de ter símbolos de látex como \delta.
Além disso, o outro problema que estou enfrentando é que não consigo exibir o cabeçalho em todas as páginas.
\begin{longtable}{lllllllllll}
\caption{Database of Ropax Ships.}\\
\toprule
\csvreader[
head=false,
late after line=\\,
filter equal={\thecsvinputline}{1},
]{data_appendix.csv}{}{\csvcoli & \csvcolii & \csvcoliii & \csvcoliv & \csvcolv & \csvcolvi & \csvcolvii & \csvcolviii & \csvcolix}
\midrule
\endfirsthead
\toprule
\csvreader[
head=false,
late after line=\\,
filter equal={\thecsvinputline}{1},
]{data_appendix.csv}{}{\csvcoli & \csvcolii & \csvcoliii & \csvcoliv & \csvcolv & \csvcolvi & \csvcolvii & \csvcolviii & \csvcolix}
\midrule
\endhead
\midrule
\endfoot
\bottomrule
\endlastfoot
\csvreader[
head=false,
late after line=\\,
filter not equal={\thecsvinputline}{1},
]{data_appendix.csv}{}{\csvcoli & \csvcolii & \csvcoliii & \csvcoliv & \csvcolv & \csvcolvi & \csvcolvii & \csvcolviii & \csvcolix}
\end{longtable}
Eu realmente aprecio alguma ajuda.
Responder1
Bem, você não forneceu nenhum MWE, então em algumas partes só posso adivinhar, mas o principal culpado aqui é usar as duas primeiras linhas csv em seus cabeçalhos para tabela longa e omitir as duas primeiras linhas csv exibindo os dados.
Use o seguinte código para \endfirsthead
:
\csvreader[%
head=false,
late after line=\\,
filter equal={\thecsvinputline}{1},
]{\jobname.csv}{}{\csvcoli & \csvcolii & \csvcoliii & \csvcoliv & \csvcolv & \csvcolvi & \csvcolvii & \csvcolviii & \csvcolix}
\csvreader[% <====================================================== added
head=false,
late after line=\\,
filter equal={\thecsvinputline}{2}, % <========================= line 2
]{\jobname.csv}{}{\csvcoli & \csvcolii & \csvcoliii & \csvcoliv & \csvcolv & \csvcolvi & \csvcolvii & \csvcolviii & \csvcolix}
\midrule
\endfirsthead
e para o \endhead
:
\toprule
\csvreader[
head=false,
late after line=\\,
filter equal={\thecsvinputline}{1},
]{\jobname.csv}{}{\csvcoli & \csvcolii & \csvcoliii & \csvcoliv & \csvcolv & \csvcolvi & \csvcolvii & \csvcolviii & \csvcolix}
\csvreader[% <================================================== added
head=false,
late after line=\\,
filter equal={\thecsvinputline}{2}, % <========================= line 2
]{\jobname.csv}{}{\csvcoli & \csvcolii & \csvcoliii & \csvcoliv & \csvcolv & \csvcolvi & \csvcolvii & \csvcolviii & \csvcolix}
\midrule
\endhead
As linhas adicionadas \csvreader
imprimem a segunda linha com unidades nos cabeçalhos da tabela.
Para imprimir a tabela completa só precisamos começar a imprimir a partir da linha 3 (a linha filter test=\ifnumgreater{\thecsvinputline}{2},
verifica se o número da linha atual é maior que 2):
\csvreader[%
head=false,
late after line=\\,
filter test=\ifnumgreater{\thecsvinputline}{2},
]{\jobname.csv}{}{\csvcoli & \csvcolii & \csvcoliii & \csvcoliv & \csvcolv & \csvcolvi & \csvcolvii & \csvcolviii & \csvcolix}
Então, com o seguinte mwe completo (veja que os cabeçalhos precisam do trabalho que você já fez, use o código não mostrado):
\begin{filecontents*}{\jobname.csv}
Vessel Name , Year, LOA , LBP , B , T , D , DUP , Delta
- , - , m , m , m , m , m , m , t
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
Abel Matutes, 2010, 187 , 177 , 26.2, 6 , 9.2, 14.54, -
Aretousa , 1995, 177.3, 166.4, 27 , 6.3, 9.1, 20.05, -
\end{filecontents*}
\documentclass{article}
\usepackage{csvsimple}
\usepackage{booktabs}
\usepackage{longtable}
\begin{document}
\begin{longtable}{lllllllllll}
\caption{Database of Ropax Ships.}\\
\toprule
\csvreader[%
head=false,
late after line=\\,
filter equal={\thecsvinputline}{1},
]{\jobname.csv}{}{\csvcoli & \csvcolii & \csvcoliii & \csvcoliv & \csvcolv & \csvcolvi & \csvcolvii & \csvcolviii & \csvcolix}
\csvreader[% <====================================================== added
head=false,
late after line=\\,
filter equal={\thecsvinputline}{2}, % <========================= line 2
]{\jobname.csv}{}{\csvcoli & \csvcolii & \csvcoliii & \csvcoliv & \csvcolv & \csvcolvi & \csvcolvii & \csvcolviii & \csvcolix}
\midrule
\endfirsthead
\toprule
\csvreader[
head=false,
late after line=\\,
filter equal={\thecsvinputline}{1},
]{\jobname.csv}{}{\csvcoli & \csvcolii & \csvcoliii & \csvcoliv & \csvcolv & \csvcolvi & \csvcolvii & \csvcolviii & \csvcolix}
\csvreader[% <================================================== added
head=false,
late after line=\\,
filter equal={\thecsvinputline}{2}, % <========================= line 2
]{\jobname.csv}{}{\csvcoli & \csvcolii & \csvcoliii & \csvcoliv & \csvcolv & \csvcolvi & \csvcolvii & \csvcolviii & \csvcolix}
\midrule
\endhead
\midrule
\endfoot
\bottomrule
\endlastfoot
\csvreader[%
head=false,
late after line=\\,
filter test=\ifnumgreater{\thecsvinputline}{2},
]{\jobname.csv}{}{\csvcoli & \csvcolii & \csvcoliii & \csvcoliv & \csvcolv & \csvcolvi & \csvcolvii & \csvcolviii & \csvcolix}
\end{longtable}
\end{document}
e seu resultado:
mostra as linhas csv 1 e 2 como cabeçalhos de tabela e inicia o conteúdo da tabela com a linha 3, e para a segunda página você também mostra as linhas 1 e 2 como cabeçalho conforme desejado: