使用 csvreader 显示表格的顶部边框

使用 csvreader 显示表格的顶部边框

我正在使用 csvsimple 包中的 csvreader 在我的文档中生成表格。我很难在表格上添加顶部边框。以下是代码,包括编写 .csv

\documentclass{article}
\usepackage{csvsimple}

% Make csv in question
\begin{filecontents*}{scientists2.csv}
name,surname,
Albert,Einstein,
Marie,Curie,
Thomas,Edison
\end{filecontents*}

\begin{document}

\begin{center}
\csvreader[tabular=|l|l|,
    table head=\textbf{ First Name} & \textbf{Last Nmae} \\\hline,
    late after line = \\\hline]%
{scientists2.csv}{name=\name,surname=\surname}%
{\name & \surname}%

\end{center}


\end{document} 

我可以传递什么参数(给表格?)来查看顶部边框?我正在使用 TexWorks 进行编译。谢谢,

答案1

1. csvsimple

您可以简单地调整table head以开始\hline

在此处输入图片描述

2. booktabs

然而,包裹booktabs通常建议生产更多专业的查找表格。因此,我添加了第二个示例,该示例与包裹datatool

在此处输入图片描述

非常感谢 Nicola Talbot,他帮助正确使用booktabs这里。

3. pgfplotstable

解决方案pgfplotstable使用使用 CSV 阅读器将表格中的一个单元格加粗

笔记:

  • 不确定为什么我需要\\在 之前添加额外的内容\bottomrule,这会在底部产生额外的空间。为了解决这个问题,我添加了手册\vspace*{-12pt},这更像是一种黑客手段。

  • 看起来该csvsimple包丢弃了最后一行,因为它没有尾随,

代码:

\documentclass{article}

\usepackage{datatool}
\usepackage{booktabs}
\usepackage{csvsimple}

% Make csv in question
%\usepackage{filecontents}
\begin{filecontents*}{scientists2.csv}
name,surname,
Albert,Einstein,
Marie,Curie,
Thomas,Edison,
\end{filecontents*}

\begin{document}

\begin{center}
    \csvreader[tabular=|l|l|,
        table head=\hline \textbf{ First Name} & \textbf{Last Name} \\\hline,
        late after line = \\\hline]%
    {scientists2.csv}{name=\name,surname=\surname}%
    {\name & \surname}%
\end{center}


\DTLloaddb{myDB}{scientists2.csv}
%\DTLdisplaydb{myDB}% Useful for debugging.

\begin{center}
\begin{tabular}{ll}\toprule
    \textbf{First Name} & \textbf{Last Name}%
    \DTLforeach*{myDB}{\Name=name,\Surname=surname}{%
        \DTLiffirstrow{\\\cmidrule{1-2}}{\\}%
        \Name & \Surname
    }%
    \\\bottomrule
\end{tabular}
\end{center}
\end{document} 

相关内容