
Estoy usando el paquete csvsimple para incrustar archivos csv como tablas en mi documento de látex.
Parece que los contenidos de celda largos interrumpen la representación:
tokens.csv:
method,corpus,tokens
MI,Quran,"allah, thou, thi, punish, believ, ye, thee, messeng, unbeliev, guid"
MI,OT,"allah, jesu, christ, thi, king, israel, believ, thou, lord, thee"
MI,NT,"jesu, christ, allah, ye, discipl, lord, thing, faith, israel, peter"
CHI²,Quran,"allah, punish, believ, messeng, unbeliev, guid, beli, disbeliev, vers, clear"
CHI²,OT,"allah, jesu, christ, thi, believ, king, israel, lord, thou, world"
CHI²,NT,"jesu, christ, discipl, ye, faith, thing, paul, peter, lord, allah"
principal.tex:
\csvautotabular{tokens.csv}
Supongo que porque la tercera celda tiene contenidos largos (otras incrustaciones de CSV con contenidos de celda más cortos se muestran correctamente en mi documento)
¿Cómo puedo arreglar esto?
Los archivos CSV vienen directamente de otros programas, así que prefiero no tener que editarlos.en absoluto, o al menos no hacerlos incompatibles con el formato CSV estándar.
Respuesta1
Del csvsimple
manual:
Se espera que los valores no estén entrecomillados o entre llaves
{}
de grupos TEX. Otras comillas, como las comillas dobles, no se admiten directamente, pero se pueden lograr con herramientas externas; consulte la Sección 5.6 en la página 41.
Por lo tanto, usar un conjunto de {}
en lugar de " "
encerrar el contenido de la tercera celda debería funcionar:
\documentclass{article}
\usepackage{csvsimple}
\usepackage{tabularx}
\begin{filecontents*}{tokens.csv}
method,corpus,tokens
MI,Quran,{allah, thou, thi, punish, believ, ye, thee, messeng, unbeliev, guid}
MI,OT,{allah, jesu, christ, thi, king, israel, believ, thou, lord, thee}
MI,NT,{jesu, christ, allah, ye, discipl, lord, thing, faith, israel, peter}
CHI²,Quran,{allah, punish, believ, messeng, unbeliev, guid, beli, disbeliev, vers, clear}
CHI²,OT,{allah, jesu, christ, thi, believ, king, israel, lord, thou, world}
CHI²,NT,{jesu, christ, discipl, ye, faith, thing, paul, peter, lord, allah}
\end{filecontents*}
\begin{document}
\csvautotabular{tokens.csv}
\bigskip
\csvreader[
tabular=|l | l | p{7cm}|,
table head= \hline method & corpus & tokens \\ \hline,
late after last line=\\\hline,
]{tokens.csv}{}%
{\csvcoli & \csvcolii & \csvcoliii}
\bigskip
\begin{tabularx}{\linewidth}{|l|l|X|}
\hline
method & corpus & tokens \\
\hline
\csvreader[late after line=\\, late after last line =\\\hline]
{tokens.csv}
{}
{\csvcoli & \csvcolii & \csvcoliii}
\end{tabularx}
\end{document}