celdas de tabla de ajuste csvsimple

celdas de tabla de ajuste csvsimple

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}

Se representa como ingrese la descripción de la imagen aquí

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 csvsimplemanual:

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:

ingrese la descripción de la imagen aquí

\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}

información relacionada