如何在Markdown/Pandoc中移动参考文献

19

我目前正在撰写本科论文,我的导师要求我将附录放在参考文献之后,但是Markdown/Pandoc默认将参考文献放在最后。我阅读了http://yihui.name/knitr/demo/pandoc/上的说明,并尝试使用include-after-body=FILE命令将一个单独的.Rmd文件放在文档末尾。

我的代码如下:

```{r, echo=FALSE, warning=FALSE, message=FALSE}
library(knitr)
pandoc('thesis.rmd', format="latex")
```

关于选项:

<!--pandoc
t: latex
include-after-body: appendix.rmd
o: output.pdf
-->

其中,appendix.rmd是单独的附录文件。

在点击“转换为PDF”后,进程在以下行之后出现错误: executing pandoc --include-after-body=appendix.rmd -o thesis.pdf -f markdown -t latex -o thesis.pdf "thesis.utf8md"

错误信息如下:

pandoc.exe: Error producing PDF from TeX source.

代码有问题吗?还是有其他方法可以从文档末尾删除参考文献?


1
非常有趣的问题,我也想做同样的事情! - waeltken
好久没遇到这个问题了,也许有其他解决方案,但我使用了一个有点混乱的解决方法,但它完成了工作。 我首先创建了一个没有附录和参考文献的PDF文件,然后创建了另一个PDF文件,其中只包含附录,没有页码,并将两个PDF文档合并在一起。 我知道这不是理想的解决方案,但我的论文导师对此很满意,也许它也能帮到你。 - mockstr
3个回答

20

还有另一种解决方案:

<div id="refs"></div>

它允许您将引用放置在任何位置。


对我来说,这个方法很管用!谢谢你!注意:它也适用于docx。 - January
1
我认为这个技巧在LaTeX输出中不起作用,因为原帖作者似乎想要的是LaTeX输出。 - Maurizio Tomasi
它也适用于LaTeX,但与biblatex组合使用时效果不佳。 - der_grund

17

你可以通过插入{{bibliography}}来将参考文献放置在任何位置。

::: {#refs}
:::

无论您想在哪里打印参考文献,都可以使用pandoc markdown手册中的“放置参考文献”部分提供的方法。

例如:

...main body

# References

::: {#refs}
:::

# Appendix

2
https://pandoc.org/MANUAL.html#placement-of-the-bibliography 可能是您正在讨论的文档的更准确链接。 - Clément
显然,这仅适用于某些样式(“如果样式要求引用文献列表,则将其放置在具有ID refs 的div中,如果存在的话”)。例如,eisvogel 模板不支持此功能。 - Christoph Thiede

0

我刚刚发现,当你使用一个像 --include-after-body=appendix.tex 这样的 tex 文件时,它是有效的。我并不是 RMarkdown 或 Tex 方面的专家,但我可以想象,在使用默认模板将主要的 Rmd 转换为 tex 文件之后,它只会包含该文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接