在 LyX 中创建表格信件

在 LyX 中创建表格信件

这实际上指的是以下帖子:

如何自动将姓名插入生日邀请函中?

我尝试在 LyX 中使用建议的 LaTeX 编码,但似乎无法正常工作。

是否有人知道这在 LyX 中是否真的可实现,或者我是否需要返回到原生 LaTeX 代码?

这是一个例子——我需要多次交换全名:

在此处输入图片描述

答案1

我的方法(在 LyX 中)基于 LaTeX包“数据工具”

为了名单,创建一个简单的文本文件“studentlist.csv”,每行一个名字。第一行包含一个标题!

Student Name
Peter M.
Tom J.

为了LyX 文档,在“LaTeX 序言”中添加以下内容:

\usepackage{datatool}
% load database 'studentlist' from file '/home/tux/studentlist.csv';
% in LyX the absolute path to the file is *necessary*!
\DTLloaddb{studentlist}{/home/tux/studentlist.csv}

然后以以下 TeX 代码/ERT 开头编写主文档:

\DTLforeach{studentlist}
{\name=Student Name}
{

编写文档的主要部分(无衬线字体看起来会更好吗?)并用 TeX 代码/ERT 替换名称\name。(包“datatool”可以做更复杂的事情,例如,添加更多字段或创建条件文本 - 请参阅这个例子或者datatool 用户文档)您可能还想设置“页面布局 > 标题样式:空”。

最后,插入一个“Clear Page”并输入 TeX 代码/ERT }。这将看起来像这样:

lyx 文档的图片

答案2

当我遇到类似的事情(通过邮件向程序委员会发送审查论文的请求)时,我所做的就是编写一个骨架文件,使用标记来替换要替换的数据(审查者姓名、电子邮件、要审查的论文等),然后使用 Perl 脚本从一个简单文件中获取值(本质上,字段以“;”分隔),为每个成员编写一条特定的消息。

使用 LaTeX 我可能会创建一个\include包含定义宏的文件的骨架,然后对它们进行切换。

相关内容