Estoy intentando incluir las dos primeras filas como encabezados. Me gustaría tener las unidades, - - m m m
etc. en cada página y otra línea debajo.
No soy un usuario avanzado decsvsimple, y no he podido encontrar respuestas en el manual.
La primera página se ve así:
Y el segundo:
Ya he solucionado el problema de tener símbolos de látex como \delta.
Además, el otro problema al que me enfrento es que no puedo hacer que el encabezado se muestre en todas las 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}
Realmente agradecería algo de ayuda.
Respuesta1
Bueno, no diste MWE, así que en algunas partes solo puedo adivinar, pero el principal culpable aquí es usar las dos primeras líneas csv en tus encabezados para longtable y omitir las dos primeras líneas csv que muestran los datos.
Utilice el siguiente 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
y para el \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
Las líneas agregadas \csvreader
imprimen la segunda línea con unidades en los encabezados de su tabla.
Para imprimir la tabla completa solo tenemos que empezar a imprimir con la línea 3 (la línea filter test=\ifnumgreater{\thecsvinputline}{2},
comprueba si el número de línea actual es mayor que 2):
\csvreader[%
head=false,
late after line=\\,
filter test=\ifnumgreater{\thecsvinputline}{2},
]{\jobname.csv}{}{\csvcoli & \csvcolii & \csvcoliii & \csvcoliv & \csvcolv & \csvcolvi & \csvcolvii & \csvcolviii & \csvcolix}
Entonces, con el siguiente mwe completo (tenga en cuenta que los encabezados necesitan trabajo que ya haya realizado, use el código que no se muestra):
\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}
y su resultado:
muestra las líneas csv 1 y 2 como encabezados de tabla y comienza el contenido de la tabla con la línea 3, y para la segunda página también se muestran las líneas 1 y 2 como encabezado como se desea: