【问题标题】:How can I use org-mode to write LaTeX for scientific journals?如何使用 org-mode 为科学期刊编写 LaTeX?
【发布时间】:2015-12-10 14:18:51
【问题描述】:

我现在使用 org-mode 编写大多数文本,并且我经常使用它通过 LaTeX(特别是 xelatex)生成 PDF。但现在我想用它来写科学文章,而期刊经常要我使用特定的风格。这包括一个 .cls 文件,使用 org-latex-classes 很容易,但通常,它们需要在 \begin{document} 之后进行特定设置(即特定的抽象部分、时髦的作者和附属机构等,我不知道该怎么做。也就是说,我现在在 #+begin/end_latex 部分中执行此操作 - 但如果我切换样式,则需要完全重写。

我意识到在某些时候我可能需要摆弄 LaTeX 代码,但我想尽可能减少这种摆弄,并且我希望能够以最少的时间从一种期刊切换到另一种期刊大惊小怪,并尽可能保持我的 org-mode 源代码完整。

【问题讨论】:

    标签: latex org-mode


    【解决方案1】:

    http://kitchingroup.cheme.cmu.edu/blog/2014/08/08/What-we-are-using-org-mode-for/查看第 3 项

    那里有一个我们以 org-mode 编写并导出到 LaTeX 的论文列表。自那篇帖子以来,我们可能还有 8 个。

    在 SI 中,您可以找到嵌入在 PDF 中的 org-source,这里是:Spencer D. Miller、Vladimir V. Pushkarev、Andrew J. Gellman 和 John R. Kitchin,模拟 Pt 上氧气的温度程序解吸( 111) Using DFT Derived Coverage Dependent Desorption Barriers, 催化主题, 57(1), 106-117 (2013)。 http://link.springer.com/article/10.1007%2Fs11244-013-0166-3你甚至可以找到我们的手稿嵌入。

    您可能还想查看 https://github.com/jkitchin/org-ref 以了解引文管理和 https://github.com/jkitchin/jmax/blob/master/ox-manuscript.el 了解我们如何进行导出。

    【讨论】:

      【解决方案2】:

      根据你需要做的乳胶抛光量,你可能会发现只在你的 org 文件中添加一些东西,然后直接使用一点 babel 会更简单。这是我的文件的开头可能看起来如何的 sn-p。有些东西在那里,因为我还将在 org 文件中包含用于统计分析的 R 代码,以便能够拥有更可重复的工作流程:

      # -*- mode: org; org-export-babel-evaluate: nil -*-
      #+Title: This is my title 
      #+Author: An Author, Another Author, and Last Author
      #+Options: toc:nil ':t *:nil -:nil ::nil <:nil ^:t author:t d:t H:5 |:t
      #+Property: header-args:R :session *myarticlessection* :results output :exports both :cache yes
      #+Latex_Class: article
      #+Latex_Class_Options: [12pt]
      #+Latex_Header: \usepackage{amsmath}
      #+Latex_Header: \usepackage[T1]{fontenc}
      #+Latex_Header: \usepackage{mathptmx}
      #+Latex_Header_Extra: \linespread{1.5} 
      #+LATEX_HEADER: \usepackage[citestyle=authoryear-icomp,bibstyle=authoryear, hyperref=true,backref=true,maxcitenames=3,url=true,backend=biber,natbib=true] {biblatex}
      #+Latex_header: \addbibresource{myarticles.bib}
      
      #+BEGIN_SRC latex :results output
      \begin{abstract}
      Here is where I put the abstract.
      \end{abstract}
      #+END_SRC
      
      #+RESULTS:
      #+BEGIN_LaTeX
      \begin{abstract}
      And this is where it ended up after evaluating the babel block.
      \end{abstract}
      #+END_LaTeX
      

      【讨论】:

        【解决方案3】:

        我使用 org-mode 写了几篇论文,包括我的博士论文。它极大地帮助我跟踪未解决的问题、优先级、注释等。

        我使用一个小的custom converter 来读取 .org 文件并将其中的一部分导出到 .tex 文件中。请注意,“正常”组织模式文本(包括标题、文本、优先级、关键字等)不会导出,只是 #BEGIN_LaTeX 和 #END_LaTeX 标记之间的内容。这样,您可以根据需要进行注释,这些注释不会出现在已发布的文本中。

        【讨论】:

        • 你正在写你的论文。是否可以只编写普通的 orgmode 并将其转换为 Latex 而无需花哨的 Latex 语法?
        • @EmmanuelGoldstein 是的,这是可能的,使用正常的 Emacs 组织模式导出 (C-c C-e l l),并在 .org 文件中无偿使用 #+LaTeX_HEADER 来调整 LaTeX 序言。在我的例子中,我故意选择只导出 LaTeX 块,因为我想让 cmets 和组织结构与文档的实际代码分开。
        • 谢谢!所以(不知道任何乳胶),我试过这个,但段落不是分开的。这是由 HEADERS 定制的吗?也不会呈现 unicode 特定的表情符号。这也可以通过 HEADERS 寻址吗?感谢您的宝贵时间!
        • @EmmanuelGoldstein 虽然这些可以通过标题自定义,但完整的答案将超出评论的范围。我建议您在 tex.stackexchange.com 上搜索答案。段落距离由\parskip 变量控制;对于表情符号,this question 可能会有所帮助。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多