Latex Pandoc markdown-多个作者在PDF中并排加入?

Latex Pandoc markdown-多个作者在PDF中并排加入?,latex,pandoc,Latex,Pandoc,我使用的是Pandoc2.10。我想用Markdown写一篇文章文档,然后通过latex导出到PDF——我希望下面有多个作者,他们都有自己的联系和电子邮件,有点像下面的例子(显然使用了R-特定的模板): 因此,首先我尝试使用默认的pandoc功能-这是test.md: --- 标题:“测试作者” 作者: -Alice Alisson,第一,最古老的研究所 -Bob Bobson,第一,最古老的研究所 -查理·查尔森,第二,新公司 日期:2020年8月10日 --- 知识是一种美德,是一种美德,

我使用的是Pandoc2.10。我想用Markdown写一篇文章文档,然后通过latex导出到PDF——我希望下面有多个作者,他们都有自己的联系和电子邮件,有点像下面的例子(显然使用了
R
-特定的模板):

因此,首先我尝试使用默认的pandoc功能-这是
test.md

---
标题:“测试作者”
作者:
-Alice Alisson,第一,最古老的研究所
-Bob Bobson,第一,最古老的研究所
-查理·查尔森,第二,新公司
日期:2020年8月10日
---
知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作。两人或两人在一个无教区的房间里互相指责。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡。
使用
pandoc test.md--pdf engine=xelatex-o test.pdf
,我得到:

像这样,作者不是并排的——作者的名字旁边是从属关系;由于这些机构的名字也有逗号,读起来有点混乱

然后,我发现一个人可以通过普通pandoc中的脚注使用从属关系-这里更新了
test.md

---
标题:“测试作者”
作者:
-Alice Alisson^[第一,最古老的研究所]
-Bob Bobson^[第一,最老的公司]
-查理·查尔森^[第二,新公司]
日期:2020年8月10日
---
知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作。两人或两人在一个无教区的房间里互相指责。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡。
。。。使用pandoc test.md--pdf engine=xelatex-o test.pdf,我得到:

作者是并排的,这很好,但从属关系是脚注,我不喜欢

然后,通过-我找到了关于;所以我想我可以测试一下;下面是更新的test.md:

---
标题:“测试作者”
学会:
-第一:第一,最古老的学院
-第二:第二,新公司
作者:
-爱丽丝·艾莉森:
学会:
-首先
通信:“是”
电邮:aa@example.com
-鲍勃·波森:
学会:
-首先
通信:“是”
电邮:bb@example.com
-查理·查尔森:
学会:
-第二
通信:“是”
电邮:cc@example.com
日期:2020年8月10日
---
知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作。两人或两人在一个无教区的房间里互相指责。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡。
。。。通过:
pandoc test.md--lua filter=scholarly-metadata.lua--lua filter=author-info-blocks.lua--pdf engine=xelatex-o test.pdf
,我得到:

因此,在这里,作者是并排的,这很好——但我通过脚注等参考资料获得了联系,电子邮件也在单独的一行中;我觉得这有点难读

那么,如何为pandoc文档设置YAML块的格式,使其能够并排显示作者,并在其下方显示从属关系和电子邮件?比如:

Alice Alisson Bob Bobson Charlie Charlson
第一,最古老的研究所第一,最古老的研究所第二,最新的公司
aa@example.com            bb@example.com            cc@example.com                    

如果普通pandoc无法实现这一点-我是否可以使用任何lua过滤器来实现这一点?

可以将
学术元数据结合起来。lua
过滤器与自定义过滤器以所需方式挤压作者条目:

--文件:format-authors.lua
本地函数挤压作者(研究所)
返回函数(作者)
local name=setmetatable(author.name,{})
当地研究所=研究所[tonumber(作者研究所[1])]
返回pandoc.MetaInlines(
总公司名单(名称)
..pandoc.List{pandoc.LineBreak()}
…总公司名单(机构名称)
..pandoc.List{pandoc.LineBreak()}
…author.email
)
结束
结束
功能元(m)
m、 作者=m.作者:地图(壁球作者(m.研究所))
返回m
结束
使用

pandoc test.md \
   --lua-filter=scholarly-metadata.lua \
   --lua-filter=format-authors.lua 
   -o test.pdf
产生

您还必须调整用于作者的字体大小,以便将所有作者放在一行中