longtable 紧挨着 longtable

longtable 紧挨着 longtable

我想将多个表(两个或三个)并排放置,要求如下:

  • 它们需要能够跨页面

  • 它们需要彼此对齐

  • 我需要能够使用 csv-reader (csvsimple 包)

起初(初稿)我使用表格环境,除了不能跨越多页之外,效果很好。

因此,我尝试切换到长表,但似乎长表不能像表格环境那样“并排”放置...这是长表(实现)的限制,还是有办法让两个长表从同一行开始?(例如,通过使用 LTleft / LTright?)

\documentclass[]{article}
\usepackage{longtable}
\usepackage{csvsimple}
\usepackage{filecontents}

\begin{filecontents*}{results1.csv}
id, s, dBC, dWC
18,     3,  9,  12
70,     4,  13,     17
120,    5,  17,     21
170,    6,  21,     25
220,    7,  25,     29
270,    8,  29,     33
320,    9,  33,     37
\end{filecontents*}
\begin{filecontents*}{results2.csv}
id, s, dBC, dWC
18,     3,  9,  12
70,     4,  13,     17
120,    5,  17,     21
170,    6,  21,     25
220,    7,  25,     29
270,    8,  29,     33
320,    9,  33,     37
\end{filecontents*}


\begin{document}

\begin{tabular}{|c|c|}
\hline\textbf{Size} & \textbf{Data} \\\hline\hline
\csvreader[head to column names, late after line=\\]{results1.csv}{}{\s & \dBC}
\hline
\end{tabular}
\begin{tabular}{|c|c|}
\hline\textbf{Size} & \textbf{Data} \\\hline\hline
\csvreader[head to column names, late after line=\\]{results2.csv}{}{\s & \dWC}
\hline
\end{tabular}

\begin{longtable}{|c|c|}
\hline\textbf{Size} & \textbf{Data} \\\hline\hline
\csvreader[head to column names, late after line=\\]{results1.csv}{}{\s & \dBC}
\hline
\end{longtable}
\begin{longtable}{|c|c|}
\hline\textbf{Size} & \textbf{Data} \\\hline\hline
\csvreader[head to column names, late after line=\\]{results2.csv}{}{\s & \dWC}
\hline
\end{longtable}

\end{document}

附言:我需要使用多个表格,因为我正在从两个单独的 csv 文件中读取数据。我可以将 csv 文件合并为一个,从而将多个表格合并为一个,但这些文件是由脚本自动生成的,因此这将是一个“最后的手段”解决方案。

备注:是否可以将多个表格环境放入一个小页面或框架中,并在其内容不适合当前页面时使小页面分页?

答案1

我认为在外部进行连接更容易,无论是在命令行上还是在这里使用

pdflatex --shell-escape

允许 Latex 调用paste命令:

我修改了第二个 csv 文件,使其不再是第一个文件的副本,以检查是否使用了正确的数据。

在此处输入图片描述

\documentclass[]{article}
\usepackage{longtable}
\usepackage{csvsimple}
\usepackage{filecontents}

\setlength\textheight{6\baselineskip}

\begin{filecontents*}{results1.csv}
id, s, dBC, dWC
18,     3,  9,  12
70,     4,  13,     17
120,    5,  17,     21
170,    6,  21,     25
220,    7,  25,     29
270,    8,  29,     33
320,    9,  33,     37
\end{filecontents*}
\begin{filecontents*}{results2.csv}
id, s, dBC, dWC
180,     3,  90,  12
700,     4,  130,     17
1200,    5,  170,     21
1700,    6,  210,     25
2200,    7,  250,     29
2700,    8,  290,     33
3200,    9,  330,     37
\end{filecontents*}


\begin{document}

\immediate\write18{paste -d, results1.csv results2.csv > results3.csv}
\begin{longtable}{*{2}{|c|c}|}
\hline\textbf{Size} & \textbf{Data} 
&\textbf{Size} & \textbf{Data} 
\\\hline\hline
\csvreader[ late after line=\\]{results3.csv}{1=\hda,3=\hdb,5=\hdc,7=\hdd}{\hda&\hdb&\hdc&\hdd}
\hline
\end{longtable}




\end{document}

相关内容