gpt4 book ai didi

templates - Pandoc 模板 : different separator for last item

转载 作者:行者123 更新时间:2023-12-04 11:37:23 24 4
gpt4 key购买 nike

我正在编写一个自定义 Pandoc 模板,并希望它打印一个作者列表,以便所有作者都用“,”分隔,但最后一个作者用“和”分隔。这能做到吗?

假设这是我的模板:

$if(title)$
$title$
$endif$
$if(author)$
$for(author)$$author$$sep$, $endfor$
$endif$
$body$

哪些输出:
My title
Author 1, Author 2, Author 3
Document body

但我希望它输出:
My title
Author 1, Author 2 and Author 3
Document body

最佳答案

您必须使用 Pandoc 模板语法中所谓的“管道”(请参阅​​ https://pandoc.org/MANUAL.html )。
我们将为数组中所有但最后的项目创建一个 for 循环( it 被视为循环内的代词,指的是来自 authors/allbutlast 的值)。对于我们 authors 的那些元素数组,我们将使用“,”作为分隔符,但在循环之外,我们将简单地放置“最终分隔符”(在本例中为“and”)和 authors 的最后一个元素数组( ~ 代表牢不可破的空间,如果您要输出到 LaTeX)。

$for(authors/allbutlast)$$it$$sep$, $endfor$ and~$authors/last$
编辑:
如果只有一位作者,请使用以下内容:
$if(author/allbutlast)$
$for (author/allbutlast)$
${it}$sep$,
$endfor$
and ${author/last}
$else$
${author/last}
$endif$

关于templates - Pandoc 模板 : different separator for last item,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42354800/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com