csvreader 创建空表,尽管没有编译错误

csvreader 创建空表,尽管没有编译错误

我有一个如下所示的 CSV 文件(由于它很长,我只报告了其中的一小部分)。我选择使用的实际分隔符是“|”(竖线),因为文件内容可能还包含逗号。每行由 5 个字段组成。

keyword|type|range of value|m.u.|description
version|uint32_t| current  version |-| version of  the  FGFS  structure  in  use  (check  net_fdm.hxx  for  its  value).  It  is  not  necessary  to  assign  a  value  to  this  field,  it  is  detected  automatically. 
padding|uint32_t|none|-| not  used.  Never  assign  a  value. 
longitude|double|[-180,+180]|rad| geodetic  longitude 
latitude|double|[-90,+90]|rad| geodetic  latitude 
altitude|double|-|m| altitude  above  sea  level 
agl|float|-|m| altitude  above  ground  level 
phi|float|[-180,+180]|rad| roll  angle 
theta|float|[-180,+180]|rad| pitch  angle 
psi|float|[-180,+180]|rad| true  heading 
alpha|float|-|rad| angle  of  attack 
beta|float|-|rad| side  slip  angle 

我想通过 加载此 CSV 文件\csvreader,我将其封闭在环境中\xltabular,以便创建一个多页表,其中第 5° 列允许自动换行(第 5° 列预计包含长句子)。下面是我的 MWE。

\documentclass{article}

\usepackage{longtable}
\usepackage{xltabular}
\usepackage{csvsimple}
\usepackage{booktabs}

\begin{document}

\begin{xltabular}{\linewidth}{llrlX}\toprule
\midrule
\csvreader[
    late after line=\\\midrule,
    late after last line=\\\bottomrule,
    respect underscore = true,
    separator = pipe,]
{./FDMNet.csv}{}{}
\end{xltabular}

\end{document}

虽然没有给出编译错误,但是表仍然是空的。

在此处输入图片描述

我该如何解决这个问题?任何帮助都将不胜感激。提前致谢。

答案1

语法是(第 8 页):

\csvreader[options]{file name}{assignments}{command list}

问题是您的代码没有分配或使用任何东西。它加载了表格,但没有要求排版任何东西。所以不是。

您不能使用任何分配,但如果您的命令列表为空,则不会执行任何操作。

如果更正了,它就可以正常工作,只是与respect underscore不一致tabularx,因此您必须保护下划线或使用其他环境。由于的手册tabularx中没有提到csvsimple,我想如果它在这里不起作用也不足为奇。

\begin{filecontents*}{\jobname.csv}
keyword|type|range of value|m.u.|description
version|uint32\_t| current  version |-| version of  the  FGFS  structure  in  use  (check  net_fdm.hxx  for  its  value).  It  is  not  necessary  to  assign  a  value  to  this  field,  it  is  detected  automatically. 
padding|uint32\_t|none|-| not  used.  Never  assign  a  value. 
longitude|double|[-180,+180]|rad| geodetic  longitude 
latitude|double|[-90,+90]|rad| geodetic  latitude 
altitude|double|-|m| altitude  above  sea  level 
agl|float|-|m| altitude  above  ground  level 
phi|float|[-180,+180]|rad| roll  angle 
theta|float|[-180,+180]|rad| pitch  angle 
psi|float|[-180,+180]|rad| true  heading 
alpha|float|-|rad| angle  of  attack 
beta|float|-|rad| side  slip  angle 
\end{filecontents*}

\documentclass{article}
\usepackage{longtable}
\usepackage{xltabular}
\usepackage{csvsimple}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\begin{document}
\begin{xltabular}{\linewidth}{llrlX}\toprule
  \csvreader[
  late after line=\\\midrule,
  late after last line=\\\bottomrule,
  respect underscore = true,
  separator = pipe,]
  {\jobname.csv}{}{\csvcoli & \csvcolii & \csvcoliii & \csvcoliv & \csvcolv }
\end{xltabular}
\end{document}

带内容的表格

相关内容