![将 CSV 导入到 latex 时出现有问题的额外单元格](https://linux22.com/image/304477/%E5%B0%86%20CSV%20%E5%AF%BC%E5%85%A5%E5%88%B0%20latex%20%E6%97%B6%E5%87%BA%E7%8E%B0%E6%9C%89%E9%97%AE%E9%A2%98%E7%9A%84%E9%A2%9D%E5%A4%96%E5%8D%95%E5%85%83%E6%A0%BC.png)
我有一张跨多页的表格,我将把它包含在附录中,我想将其从 csv 导入到我的 LaTex 文档中。我发现长表格答案帖子非常有帮助:在 Latex 中将 CSV 文件导入为表格但文件太长,但我在第一个列标题下方得到了一个随机的额外单元格和/或行,这会影响表格的其余部分,有时会在整个过程中重复出现。这是我的数据和我使用的命令的简化示例。如果取消注释颜色代码,则更容易看到似乎是一个额外的单元格,它正在影响所有内容(另请参见右侧中断的表格边框)。有人有什么建议吗?谢谢。
%SE_example.csv looks like this:
Policy 1,2000-2010,Text here,a
Policy 2,1999-2005,Text here,b
Policy 3,1995-2006,Text here,c
%LaTex Code:
\documentclass[12pt, english]{article}
\usepackage{csvsimple}
\usepackage{longtable}
\usepackage{caption}
\usepackage{setspace}
\usepackage{booktabs}
\usepackage{array}
\usepackage[hmargin=2.54cm, vmargin=2.54cm]{geometry}
%\usepackage[table]{xcolor}
%\definecolor{lightgray}{gray}{0.9}
%\let\oldlongtable\longtable
%\let\endoldlongtable\endlongtable
%\renewenvironment{longtable}{\rowcolors{2}{white}{lightgray}\oldlongtable} {
%\endoldlongtable}
\begin{document}
\renewcommand*{\arraystretch}{1.6}
\scriptsize
\captionsetup{font=small}
\begingroup
\obeylines%
\catcode`\,=4%
\def^^M{\\}%
\makeatletter%
\begin{longtable}{|p{6cm} p{1.3cm} p{7.5cm} p{1cm}|}%
\caption{Example} \label{table:policies}
\textbf{Name} & \textbf{Years}&\textbf{Description}&\textbf{Source}\endhead %
\hline
\@@input SE_example.csv
\end{longtable}%
\endgroup%
\end{document}
答案1
我不确定你为什么要加载csvsimple
但不使用它的功能:
%SE_example.csv looks like this:
\begin{filecontents*}{\jobname.csv}
Policy 1,2000-2010,Text here,a
Policy 2,1999-2005,Text here,b
Policy 3,1995-2006,Text here,c
\end{filecontents*}
%LaTex Code:
\documentclass[12pt]{article}
\usepackage{csvsimple}
\usepackage{longtable}
\usepackage[table]{xcolor}
\begin{document}
\rowcolors{2}{black!10}{white}
\csvreader[
head=false,
longtable=|llll|,
table head= \rowcolor{white}\caption{Example}\label{table:policies} \\ \hline
\rowcolor{white}%
\textbf{Name} & \textbf{Years}&\textbf{Description}&\textbf{Source} \\ \hline
\endfirsthead
\rowcolor{white}\caption*{Example (continued)} \\ \hline
\rowcolor{white}%
\textbf{Name} & \textbf{Years}&\textbf{Description}&\textbf{Source} \\ \hline
\endhead,
late after line = \\\hline
]{\jobname.csv}{}
{\csvcoli & \csvcolii & \csvcoliii & \csvcoliv}
\end{document}
该filecontents*
环境仅用于使示例自成一体。