我有一个如下所示的 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}