我有一个 .csv 文件,我想使用 -package 将其制作成表格datatool
。.csv 文件的结构如下
foo&bar&foobar
其中多行被分组在一起,并且每组中只有第一行包含以下条目:富和酒吧,其余仅适用于福巴。条目可能包含数学。
\ifdefempty
我尝试使用from -package检查组中的第一行etoolbox
并打印出来\hline
,如果条目为酒吧不为空,但这会产生错误消息。
微波功率
\documentclass{article}
\usepackage{etoolbox}
\usepackage{tabu}
\usepackage{longtable}
\usepackage{datatool}
\DTLloaddb[keys={foo,bar,foobar}]{mydatabase}{testbase.csv}
\newcommand{\printcommand}[2][]{%
\begin{longtabu}to\textwidth{@{}llX@{}}
\firsthline
Foo&Bar&Foobar\\
\hline\endhead
\DTLforeach*{#2}{\foo=foo,\bar=bar,\foobar=foobar}{%
% \ifdefempty{\bar}{}{\hline}%
\foo&\bar&\foobar\\
}
\end{longtabu}
}
\begin{document}
foobar
\printcommand{mydatabase}
\end{document}
看起来testbase.csv
像这样
myfoo,mybar,myfoobar
17,barbar,bar 1
,,bar 234
,,barbary
23,ba ba ba,\(a^2+b^2=c^2\)
,,\emph{barfoo}
,,foofoofoo
如果我像这样编译,则不会出现任何错误,但如果我取消注释注释行,则会出现misplaced \noalin
错误misplaced \omit
。
如果我longtabu
用替换tabu
(并删除未定义\endhead
),我会收到更多错误。
我怎样才能让它按我想要的方式工作?