【问题标题】:Pandoc set jobname for LaTeX PDF exportPandoc 为 LaTeX PDF 导出设置作业名
【发布时间】:2017-09-19 10:20:28
【问题描述】:

在将单个 Markdown 文件转换和编译为 PDF(通过 LaTeX)时,有没有办法告诉 Pandoc 将 \jobanme 设置为特定值? -最好是源*.md文件的名称。


背景

我定义了自己的 LaTeX 文档类,它使用 \jobname。 它将它打印在文档页脚中,因此我很容易找到具有打印 PDF 的源文件/存储库。 我在编译脚本中将 jobname 设置为 pdfLaTeX 参数。

我目前正在尝试将我的文档类用作由 Pandoc 从 Markdown 源处理的文档的 LaTeX 模板。看来,Pandoc 总是将\jobname 设置为“输入”。 我可以在 Markdown 的 yaml 标头中设置任何变量,然后将其打印到 PDF 中,但是能够根据真实的 md 文件名进行设置将更不容易出错。

【问题讨论】:

  • 您必须制作自己的模板,请参阅pandoc.org/MANUAL.html#templates
  • 这正是我正在做的,我在我的 LaTeX 模板中使用了\jobname。我唯一需要的是强制执行 Pandoc(调用 pdfLaTeX)来指定我需要的 \jobname 的值。你能提供更多细节吗,@mb21?
  • 您阅读手册了吗?听起来您想使用 pandoc 模板变量而不是 LaTeX 命令...
  • @mb21,谁说的?再一次:我有我自己的基于文章的 LaTeX 类“mydoc”。如果我编译一个以 \documentclass{mydoc} 开头的 LaTeX 文档,它看起来像文章,但我的徽标在顶部,\jobname 的值在每一页的底部。如果我将文档编译为pdflatex some_file.tex,我在页脚中打印了“some_file”。如果我在 git repo 中编译一个更大的文档,我会使用带有--jobname=repo_x 的命令。我想将我的 markdown yaml 标头中的documentclass 设置为“mydoc”,并将 md 文件名打印在我的文档的页脚中。
  • 有一个选项 --latex-engine-opt 可用于将 --job-name 参数设置为我需要的任何值。可悲的是,这不起作用。使用pandoc --latex-engine-opt=--job-name=xxx <...> 我得到pandoc:生成PDF 时出错。我希望 pandoc 会查找 input.pdf,因为临时输入文件是硬编码的 let file = tmpDir </> "input.tex",并且 jobname 会更改生成的 PDF 文件的名称。作为解决方案,我将班级更改为使用srcrepo var。我用pandoc -V srcrepo:xx设置它。

标签: pdf latex pandoc


【解决方案1】:

我通过重新定义我的 LaTeX 模板并在使用 pandoc 的情况下使用 sourcefile pandoc 变量而不是 \jobname 解决了我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多