células da tabela wrap csvsimple

células da tabela wrap csvsimple

Estou usando o pacote csvsimple para incorporar arquivos csv como tabelas em meu documento látex.

Parece que o conteúdo longo das células interrompe a renderização:

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}

Renderiza como insira a descrição da imagem aqui

Presumo que a terceira célula tenha conteúdo longo (outras incorporações de CSV com conteúdo de célula mais curto estão sendo renderizadas corretamente em meu documento)

Como posso consertar isso?

Os arquivos CSV vêm diretamente de outros programas, então prefiro não precisar editá-losde forma alguma, ou pelo menos não torná-los incompatíveis com o formato CSV padrão.

Responder1

Do csvsimplemanual:

Espera-se que os valores não sejam citados ou citados com chaves {}de grupos TEX. Outras aspas, como aspas duplas, não são suportadas diretamente, mas podem ser obtidas com ferramentas externas; consulte a Seção 5.6 na página 41.

Assim, usar um conjunto de {}em vez de " "para incluir o conteúdo da terceira célula deve funcionar:

insira a descrição da imagem aqui

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

informação relacionada