makefile - knitr,pandoc:如何从 Rmd 文件准备期刊 TeX 提交 ZIP 文件?
问题描述
knitr、pandoc 和 R Studio 的组合非常适合以格式编写学术论文.Rmd
,但现在我的文章已被接受,我不知道如何准备一个.zip
包含期刊所需的所有 LaTeX 源的文件。我得到的指示是:
INSTRUCTIONS FOR AUTHORS
WE ASK THAT YOU UPLOAD YOUR SOURCE FILES AT THIS TIME.
Please upload the following:
• A PDF of your final paper
• The TeX or Word file containing your final paper
• All figure files as separate files
• Any additional files needed to compile your article. For example, .bbl and .bib files if you used BiBTeX (and we hope you did!), and any special macros
• Any files to be posted as online supplementary material
当我直接在 LaTeX 中编写时,我有一个工作流程,当我在文章目录中键入时,它本质上创建了一个Makefile
创建article.zip
自article.{tex,aux,log}
和所有其他依赖项。make zip
它使用 perl 脚本
texdepend
https://ctan.org/pkg/texdepend?lang=en来查找所有依赖项(图形、样式文件等),article.{tex,aux,log}
并在Makefile
.我还使用 perl脚本http://ctan.mirror.rafal.ca/biblio/bibtex/utils/bibtools/aux2bib
aux2bib
或http://www.gerd-neugebauer.de/software/TeX/BibTool/en/ ,从多个本地文件生成文章的文件,如文件中所给。bibtool
.bib
.bib
.aux
此工作流程不适用于由knitr
和生成的 PDF 文件pandoc
。
一切都在一个 PDF 文件中生成。我可以
.tex
通过包含keep_tex: yes
在 YAML 标头中来获取文件,但没有article.aux
或article.log
产生。因此,我无法使用任何标准工具来查找依赖项,尤其是与\includegraphics{}
.参考书目引用包含
pandoc
在article.tex
文件中,但它们的格式似乎使得期刊很难以特定格式生成文章。它不使用\bibitem
,而只是直接格式化引用,例如,
\hypertarget{ref-Van_Aelst:2011}{} Aelst, SV, \& Willems, G. (2011)。强大而高效的单向 MANOVA 测试。\emph{美国统计协会杂志}, \emph{106}(494), 706--718。\url{ http://doi.org/10.1198/jasa.2011.tm09748 }
编辑
我应该补充一点,我需要使用的原因aux2bib
或者bibtool
是我的引用是从各种.bib
文件中提取的:
bibliography:
- "../localtexmf/bibtex/bib/statistics.bib"
- "../localtexmf/bibtex/bib/graphics.bib"
- "../localtexmf/bibtex/bib/Rpackages.bib"
解决方案
如果你article.Rmd
用
output:
pdf_document:
citation_package: natbib
keep_tex: true
bibliography:
- "../localtexmf/bibtex/bib/statistics"
- "../localtexmf/bibtex/bib/graphics"
- "../localtexmf/bibtex/bib/Rpackages"
你应该得到你想要的,将 LaTeX 留在 中article.tex
,而将数字留在子目录中的某处article_files
。你会得到一条像
\bibliography{../localtexmf/bibtex/bib/statistics,../localtexmf/bibtex/bib/graphics,../localtexmf/bibtex/bib/Rpackages}
在article.tex
文件中;如果您需要通常的 LaTeX/BibTeX 方式,您应该能够生成自己的 aux 和 bbl 文件。
编辑添加:而不是
citation_package: natbib
您可以使用
citation_package: biblatex
这是一组更新和更灵活的 LaTeX 包,用于处理参考和引文。有关讨论和比较,请参阅https://tex.stackexchange.com/questions/25701/bibtex-vs-biber-and-biblatex-vs-natbib。我想提一下这一点,因为如果您确实选择使用biblatex
,那么您确实需要将.bib
扩展名保留在您的参考书目文件中。如果您从 切换natbib
到biblatex
,则需要删除.bbl
由 生成的文件natbib
,以便biblatex
以不同的格式生成自己的文件。
推荐阅读
- java - 从 Kotlin 以编程方式配置 Log4J
- javascript - When a cron job is executed and there is already a cron running, are they running simultaneously?
- google-chrome - 我把我所有的 Youtube cookie 都给了某人。此人可以破解我的 Google / Youtube 帐户吗?
- c++ - 选定鼠标事件的 Qt 透明
- sql-server - 通过 Windows 身份验证连接 SQL(不同的服务器)
- powerbi - Power bi 来自不同 pbi 报告的嵌入式视觉效果
- javascript - 如何将 .js 文件转换为 .exe 文件?
- r - 使用自定义范围(或值)在工作流集中调整配方
- ios - 为什么在 CoreData 中创建索引会导致 SQLite 文件中的索引重复(名称不同)?
- python - 使时间序列平滑保存月销售额