
Я использую пакет csvsimple для встраивания CSV-файлов в виде таблиц в мой документ Latex.
Похоже, что длинное содержимое ячеек нарушает рендеринг:
токены.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"
main.tex:
\csvautotabular{tokens.csv}
Я предполагаю, что это связано с тем, что третья ячейка имеет длинное содержимое (другие вставки CSV с более коротким содержимым ячеек отображаются в моем документе правильно)
Как я могу это исправить?
Файлы CSV берутся прямо из других программ, поэтому мне бы не хотелось их редактировать.совсемили, по крайней мере, не делать их несовместимыми со стандартным форматом CSV.
решение1
Из csvsimple
руководства:
Значения не должны быть заключены в кавычки или заключены в фигурные скобки
{}
групп TEX. Другие кавычки, такие как двойные кавычки, напрямую не поддерживаются, но могут быть достигнуты с помощью внешних инструментов, см. Раздел 5.6 на стр. 41.
Таким образом, использование набора {}
вместо " "
для включения содержимого третьей ячейки должно работать:
\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}