.csvファイルがあり、これをdatatool
パッケージを使用してテーブルにしたいです。.csvファイルは次のような構造になっています。
フー&バー&フーバー
複数の行がグループ化されており、各グループの最初の行にのみエントリが含まれています。フーそしてバー、残りはフーバーエントリには数学的内容が含まれる場合があります。
\ifdefempty
from etoolbox
-packageでグループの最初の行をチェックして印刷してみました\hline
、出力してみましたが、バー空ではありませんが、エラー メッセージが表示されます。
MWPS
\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
(そして then undefined を削除して\endhead
) みると、さらに多くのエラーが発生します。
これを希望通りに動作させるにはどうすればよいですか?