我正在使用Leo,yaml和pandoc来创建pdf。为此,我的工作流程是这样的:
最后在我运行的输出文件中:
pandoc --filter pandoc-citeproc output.markdown -o output.pdf
并且工作得非常好。问题是我想告诉pandoc包含所有参考书目项目,无论它们是在降价文本中是否被[@reference]
引用,或者只是在嵌入式yaml块中收集用于参考书目。这可能吗?如果没有,有一些方法可以编写pandoc来做类似的事情吗?
PS:我在pandoc的markdown中使用了[ - @ reference]技巧,试图在导出中放入参考书目的非显式引用但是我在导出的pdf中得到一年的括号,正如人们所期望的那样,所以这不是要走的路。
答案 0 :(得分:5)
最后,我想为pandoc添加一个语法,用于标记引用以包含在参考书目中,而不将它们放在文本中。
但是现在,您最好的选择是在文本中添加所有这些参考文献,并修改您的CSL文件,以便不打印实际的引文(只是参考书目)。我无法指导如何做到这一点,但我听说其他人这样做,所以我知道这是可能的。
答案 1 :(得分:2)
pandoc的README 1给出了解决方案。您需要定义一个虚拟nocite
元数据字段并将引用放在那里:
# References
The bibliography will be inserted after this header. Note that
the `unnumbered` class will be added to this header, so that the
section will not be numbered.
If you want to include items in the bibliography without actually
citing them in the body text, you can define a dummy `nocite` metadata
field and put the citations there:
---
nocite: |
@item1, @item2
...
@item3
In this example, the document will contain a citation for `item3`
only, but the bibliography will contain entries for `item1`, `item2`, and
`item3`.