+emacs+配置简易org-cite
有了emacs-使用pandoc导出当前org-buffer为docx功能,就可以配合pandoc在org-mode中进行论文写作了。如果需要进行很学术、很专业的论文写作,推荐查阅 LaTeX
、 BibTeX
、 org-ref
等工具。这里配置一个简单的摘要功能,便于引用。
1. 设置bib文件内容及路径
在org文件顶部加上:
#+bibliography: path/to/your/bib文件.bib
声明一个在本org文件中查找引用的路径,后续可以通过 C-c C-x @
呼出引用插入界面。
注意,在使用 vertico
的时候,需要先 RET
(批量)选中引用,然后用 M-RET
插入引用。
2. 网页引用的bib写法
如果在正规的学术网站上,是可以直接复制到 bibtex
格式的引用文本,粘贴进 .bib
文件即可。但如果引用的资料在网页上,则需要进入网页引用生成器,将引用的链接粘贴进之后生成引用文本,然后根据引用文本自行填写 .bib
文件内容。
如引用文本为
李平书. 2021,谢谢你的关心[EB/OL]. (2021-12-21)[2021-12-21]. https://news.china.com/zw/news/13000776/20211221/40601066.html.
则在 .bib
文件中应为
@misc{这里自己填,应该是英文数字组合, author = {李平书}, title = {2021,谢谢你的关心}, howpublished = {[EB/OL]. (2021-12-21)[2021-12-21]. https://news.china.com/zw/news/13000776/20211221/40601066.html.}, }
这样可以确保导出的参考文献下格式相对正确。
3. 修改pandoc导出命令
将导出函数中 shell-command
一行改为一个带判断的函数:
(if (string-match "论文" docx-file) (let ((bib-file "path/to/your/bib文件.bib") (csl-file "path/to/your/csl文件.csl") (ref-title "参考文献")) (shell-command (format "pandoc --from org+east_asian_line_breaks+citations -M reference-section-title=%s -N -C --bibliography=%s --csl=%s %s -o %s --reference-doc=%s" ref-title bib-file csl-file (my/save-buffer-to-temp-org) docx-file template-file))) (shell-command (format "pandoc %s --from org+east_asian_line_breaks -o %s --reference-doc=%s" (my/save-buffer-to-temp-org) docx-file template-file)))
符合pandoc标准的GB/T 7714-2015 csl相关文件可以在这里下载。
这样一来,就可以把org文件导出为带引用的docx文件了。不过格式会有一点问题,需要手动修改,但也比徒手在docx文件中管理编辑引用方便多了。