将期刊文章作为单个 tex 文件提交

将期刊文章作为单个 tex 文件提交

尽管许多学术期刊都乐意接受某种 TeX 格式的投稿,但确实有些开明的坚持在该期刊上,很少有人可以简单地将自己一直在处理的文档作为投稿发送。大多数期刊都坚持要求作者使用他们的“内部类文件”,有些期刊有定义“通用宏”的特定样式文件。有些期刊进一步提出了以下一项或两项要求:

  1. 提交的是单个文件,
  2. 删除所有不必要的宏。

例如BioMed Central TeX 模板文件(链接的页面似乎是非官方的副本,但我在网上找不到官方的副本),第 2.2 和 2.3 节说:

2.2:为了将稿件以 .tex 文件形式提交给 BioMed Central,您必须

  • 使用 BioMed Central 模板
  • 使用 bmc_article.bst 样式文件通过 BibTeX 格式化参考文献
  • 不依赖任何非标准宏、类或文件

2.3:确保整个稿件只有一个 .tex 文档,因为您需要将其作为单个文件上传(连同其相关的格式化书目文件)。请勿使用 \input 命令包含其他 .tex 文件。

显然,有些期刊比其他期刊更严格地遵守这些要求,首先要做的是确定这些要求是否得到执行(以及究竟什么才被视为“非标准”)。因此,让我们假设已经这样做了,答案是:是的,这些要求得到执行。那么问题是:如何做到这一点?

很有可能,没有一个简单的答案,在这种情况下,了解其他人采用了哪些策略和工作流程将非常有价值。(但不是点名批评提出这些要求的期刊。这可能不是期刊而是出版商,我相信这些期刊也会讲述同样可怕的 TeX 篡改故事。)

需要注意的是,附加文件可能不仅仅是样式文件或参考书目文件,也可能是图像。例如,在上面给出的 BioMed 说明中,提出此请求的原因是上传将是单个文件(并且,为了论证的目的,我们假设不允许存档文件)。

因此,我们可以将其分为各种场景:

  1. 该期刊要求投稿仅包含一个TeX 文件。因此,图像文件和参考书目文件可以作为附加文件。我们还假设可以识别应包含哪些附加文件,但它们可能是用户编写的样式文件和从 CTAN 下载的包的组合。任务是将所有这些文件折叠成一个文件。 我们如何将它们制作成一个文件,以及需要注意哪些陷阱?

  2. 该期刊要求投稿仅包含一个文件总共。现在我们希望将非标准类型的文件嵌入到我们的 TeX 文件中。 这可能吗? 如果可以,如何实现,以及需要警惕哪些陷阱?

  3. 该杂志要求不必要宏/命令被删除。是否有任何策略可以浏览文档并识别那些已定义但从未使用过的命令?

答案1

我将开始讨论这个问题。两件简单的事情:

  1. 如果使用 LaTeX 时将某些样式文件复制到序言中,请将其放在\makeatletter前面和\makeatother后面(请参阅\makeatletter 和 \makeatother 起什么作用?了解更多详细信息)。

  2. 命令轨道\newcommand包可用于确定已定义的命令实际被使用过。它有一些限制(它只能检查使用、\newenvironment和其他几个定义的命令,但不能检查\def及其朋友)。

答案2

关于

2。期刊要求投稿总共只包含一个文件。

捆绑文档我想到的是:

bundledoc 包是快照包的后处理器,它将构建给定 LaTeX 文档所需的所有类、包和文件捆绑在一起。

答案3

另一种方法是阿拉泰克斯。我认为,您必须明确指定依赖项,但它将它们全部捆绑在一个简单的 latex 文件中,然后您可以上传并运行latex该文件,该文件将自动在本地提取依赖项。

(请参阅 Martin Scharrer 对我的问题的回答这里

答案4

对于场景 1 和 2,我收集了一些零碎信息,并在 Python 脚本中添加了一些内容 纺织出版,它可以自动执行与发布过程相关的许多操作:

  • 为可发布文件创建新目录
  • 将与用户定义的正则表达式匹配的文件复制到新目录
  • 复制主 tex 文档使用的所有所需文件(如图形和表格)
  • 创建一个解析的参考书目,其中仅包含主 tex 文件使用的条目
  • 扁平化 tex 文件(在主 tex 文件中插入 \input 和 \include 命令以及自定义前言)
  • 如果需要,将解析后的参考书目粘贴到扁平化的 tex 文件中
  • 如果需要,删除主 tex 文件中的所有注释
  • 奖励:可以包含/排除所需版本(不够强大,需要在 tex 文件中进行自定义)

它有点黑客,可能需要一些定制(但定制也相对简单),但是如果你已经使用python,它可以一次性完成你需要的一切,并且无需任何安装。

欢迎任何改进建议。

用法:

A。在你的 tex 文件的序言中:

\RequirePackage{snapshot} 
% ..before documentclass[<options>]{<document class>}
% it will create a .dep file of the dependencies

%For equations (optional)
# \usepackage[active,generate=equations,extract-env={equation,align}]{extract}
%"generate" parameter is the name of the output .tex-file

B.自定义文件。至少:

include_bibliography_in_main_tex_file=True # False
EXTENSIONS = ['pdf', 'pdf_tex', 'png','tex'] # Which files used by main tex file to copy ?
# Regexes in the copy_non_floats() function calls (at least main tex file and bibliography)

C。运行:

cd <YOUR DIRECTORY>
python TexPublish.py
# or directly from the file

奖金请参阅纺织出版代码,在“Latex 依赖项”下包含或排除扁平文件中文件的不同版本。

相关内容