![tabularx 和 csvreader 将所有内容放在最后一列的一行中](https://linux22.com/image/434974/tabularx%20%E5%92%8C%20csvreader%20%E5%B0%86%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9%E6%94%BE%E5%9C%A8%E6%9C%80%E5%90%8E%E4%B8%80%E5%88%97%E7%9A%84%E4%B8%80%E8%A1%8C%E4%B8%AD.png)
这是我在上一个问题中遇到的同一个问题,我最终将其缩小到一些换行符问题。我找到了几行代码,这些代码应该可以工作,并用我的 Texmaker 和 MikTeX 尝试了,但不行。除了第一行之外的每一行都被挤进了第一行的最后一列。
奇怪的是,它在我的同事的电脑上运行良好,我相信那是旧版本的 MiKTeX。
我尝试将其放在\\
最后一列之后& \csvcoliv
,它最终识别了换行符,但它也在表格中产生了一行多余的行,这是我不想要的。有人知道原因吗?
\begin{filecontents*}{mycsv.csv}
This,is,my,example
Red,Green,This is some very very long text,This is also some very very long text
Blue,Yellow,This is some even longer text without real content,This is also some even longer text without real content
\end{filecontents*}
\documentclass[pdftex,10pt,letterpaper, openleft, twoside]{memoir}
\usepackage{array,booktabs,csvsimple,longtable,tabularx}
\begin{document}
\begin{tabularx}{\linewidth}{llXX}\toprule
\textbf{A} & \textbf{B} & \textbf{C} & \textbf{D}\\\midrule
\csvreader[late after line=\\\midrule,late after last line=\\\bottomrule]
{mycsv.csv}
{}
{\csvcoli & \csvcolii & \csvcoliii & \csvcoliv}
\end{tabularx}
\end{document}
这是我的输出:
有人有想法吗?
答案1
问题已解决,非常感谢 Mico。原因是 MikTex 的软件包数据库已过时,它只将 csvsimple 更新到 2019 年发布的 1.21 版本。我卸载了 csvsimple 包,从 CTAN 下载了 1.22 版本,手动将整个 csvsimple 文件夹放入 MikTex\Tex\Latex 和 MikTex\Doc\Latex\ 中。它终于起作用了。(尝试按照自述文件并替换一些文件进行安装,但没有成功,您必须先卸载并在两个地方替换/粘贴整个 csvsimple 文件夹。我花了 4.5 天的时间,现在我很高兴,再次感谢 Mico 指出根本原因。