问题已更新和平均能量损失
使用datatool
将 CSV 文件读入 LaTeX,我能够使用 获取名字{\fnames=fnames}
,然后使用 打印\fnames
。
不过,有时我想显示首字母而不是名字。
正如手册所说,如果我写下\DTLinitials{Mary}
给出的结果M.
,我尝试打印\DTLinitials{\fnames}
而不是\fnames
但从 CSV 文件读取时不会产生首字母。
请问我该如何将 的值传递\fnames
给\DTLinitials
?这真的可行吗?
我将非常感激您的建议或帮助。谢谢。
这里是 MWE、文件的内容folks.csv
以及我尝试使用时出现的错误消息\DTLinitials{\fnames}
:
\documentclass{scrbook}
\usepackage[english]{babel}
\usepackage{datatool}
\DTLloaddb{members}{folks.csv}
\begin{document}
\mainmatter
\pagestyle{headings}
\DTLforeach{members}
{\fnames=fnames, \surname=surname}
{
\fnames\
\surname\
}
\end{document}
内容folks.csv
:
fnames,surname
Adam,Adamant
Diana,Duck
Flora,Flintstone
Walter,Mitty
Sally,Wallace
当第 16 行\fnames\
被替换为\DTLinitials{\fnames}
以下错误时,会产生:
错误:段落在 \dtl@initialsnext 完成之前结束。
--- TeX 说 --- \par l.19 }