将 CSV 导入到 latex 时出现有问题的额外单元格

将 CSV 导入到 latex 时出现有问题的额外单元格

我有一张跨多页的表格,我将把它包含在附录中,我想将其从 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*环境仅用于使示例自成一体。

在此处输入图片描述

相关内容