Pandoc:引用完整来源

如何解决Pandoc:引用完整来源

为了创建教学大纲,我想知道是否可以插入引文作为完整引文。现在,我有以下降价代码

# Session 1

@zhu2015.

这会将 pdf 中的 (pandoc "document.md" -o "document.pdf" --from markdown --template "eisvogel" --listings --citeproc) 转换为


会话 1

朱和巴萨 (2015)。

参考书目

朱、权彦和塔梅尔巴萨。 2015. “信息物理控制系统的鲁棒性、安全性和弹性的博弈论方法:最佳跨层弹性控制系统的博弈中原则。” 控制系统,IEEE 35 (1):46–65。


但是,是否可以将参考文献作为全文引用插入文本中?

例如:


会话 1

朱、权彦和塔梅尔巴萨。 2015. “信息物理控制系统的鲁棒性、安全性和弹性的博弈论方法:最佳跨层弹性控制系统的博弈中原则。” 控制系统,IEEE 35 (1):46–65。


感谢您的帮助!

解决方法

以下是使用 Lua filter 执行此操作的方法:首先,过滤器查找生成的参考书目条目并将其保存到表中,由引用键索引。然后查找引文并将其替换为完整条目。

local refs = {}

local function store_refs (div)
  local ref_id = div.identifier:match 'ref%-(.*)$'
  if ref_id then
    refs[ref_id] = div.content
  end
end

local function replace_cite (cite)
  local citation = cite.citations[1]
  if citation and refs[citation.id] and #cite.citations == 1 then
    return pandoc.utils.blocks_to_inlines(refs[citation.id])
  end
end

return {
  {Div = store_refs},{Cite = replace_cite},}

将上述内容保存到一个文件中,然后使用 --lua-filter 命令行选项将该文件传递给 pandoc。过滤器必须在 citeproc 处理器完成其工作后运行,因此它应该是最后一个命令行参数。使用最新的 pandoc 2.12 版进行了测试(不再需要 pandoc-citeproc,但它应该可以工作)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?