在大多数情况下,人们不会只为一家期刊写论文。更改代码以符合所有规范需要花费大量的时间和精力。关于这个话题有很多问题
浏览评论后发现,找到“一个包统治所有”似乎毫无希望。许可证和不断变化的模板使得在一个类或包中维护所有这些模板几乎不可能。
关键是,是否存在某种最佳实践可以节省为不同期刊撰写文章的时间?
答案1
(期刊编辑发言。)
基本上,没有,你能做的不多。曾经有过一些想法(据我所知,没有一个想法进入最后阶段),即提供一种统一的方式来输入所有元数据,这样\section
所有期刊的标题(直到文章开头的所有内容)看起来都一样。然而,我怀疑期刊出版商是否会接受这种输入;首先,我不会。
因此,所提供的系统必须将输入文件转换为符合期刊需要的新 LaTeX 文件。这本身并不是什么大问题(基本上,它只是一个数据操纵器)。但是,开发这样的系统并让人们学习它可能比简单地根据出版商提供的示例文件修改文件要费力得多。
我们也不必忘记,一些期刊类别使用不同于标准宏的各种必要内容,例如 Springer 类别中的定理环境。这使得任何此类努力都远非完整和有用。
总而言之,据我所知,截至 2015 年 12 月,尚不存在这样的系统。
答案2
是的,确实有最佳实践。在大西洋彼岸,我想说秘诀是:
宏,宏,宏。
另外,我想说:
这是宏,愚蠢。
正如(在撰写本文时)其他答案的评论一样,没有人会为你做这件事,但你可以做一些事情让自己的生活更轻松。许多年前,我开发了一个系统,让我的日记生活更轻松。它基于以下概念:
当实际撰写文章时,我很可能不知道要将其提交给哪个期刊。
在实际撰写文章时,重要的是写作不要妨碍想法,所以我想使用自己的宏,这使我的生活变得最轻松。
一旦文章到了我想要提交的阶段,我可能需要在提交时将其转换为期刊的格式,但我不想花太多时间做这件事,因为经验表明,每篇文章都会重复几次提交-等待-等待-等待-拒绝的循环。此外,arXiv 也包含在内,因为它通常有旧版本的软件包。
我很可能会多次向同一本期刊投稿,因此设计一个适用于特定期刊的系统是有价值的。
一旦文章被接受,我会很乐意做任何必要的修改以使其适合,但仅此而已。
因此,我编写了自己的类,它是我提交过的所有期刊类的包装器。尽管期刊在要求信息的方式上具有无限的创造力(其中一些似乎不遗余力地使信息变得复杂 - 使用的那个是\obeylines
我个人最喜欢的),但期刊只需要在序言中提供一定数量的信息。因此,将所有内容存储在宏中,然后根据需要分发,这是一个可以解决的问题。
同样,期刊样式文件通常只定义有限数量的内容。一些数学运算符、一些定理环境,仅此而已。因此,再说一遍,一些宏来提供我想要撰写的文章和期刊想要的文章之间的包装器是一个可以解决的问题。
一篇典型的文章是这样开头的:
\documentclass[%
a4paper,%
%lms,% <-- this class has options for the various journals I've submitted to
%draft,%
defaults,%
]{myclass}
\usepackage[%
bb,%
geom,%
%track,%
]%
{mymacros}
\theoremstyle{\myrmkstyle} % <-- the remark style is set by my macro package
\providetheorem{examples}[theorem]{Examples}
\mytitle{%
% <- Title will go in here
}
\myshorttitle{%
% <- Short title here
}
\mydate{\today}
\mysubjclass{% <- AMS Subject classes
}
\myauthor{%
% <- Me!
}
\myaddress{%
% <- Address
}
\myemail{%
% <- Bet you can't guess this one
}
\myurl{%
% <- Or this one
}
\myabstract{%
% Abstracts get handled variously so we store it here first
}
\mybibliographystyle % <- The actual style will generally be set in the class file
\begin{document}
\mymaketitle % <- Puts all that junk in the right place in the document
只需添加更多详细信息即可指定多位作者。每\myauthor
添加一位都会触发一位新作者,所有后续信息均属于最后指定的作者。
无论如何,最重要的是,我在写文章时不必考虑期刊。我可以从一篇文章中剪切粘贴到另一篇文章中,并更改需要更改的内容。
文件中myclass.cls
有很多黑客技术(而且是相当糟糕的黑客技术——我在本网站出现之前就写了它),这些技术将信息放在了正确的位置(补充文件mymacros.sty
倾向于处理定义运算符之类的东西)。它还根据类别处理加载包——一些期刊的类文件会加载类似的东西,amsmath
而有些则不会,因此该类有一个自动加载包的系统。当我添加新期刊时,可能需要花一点时间才能弄清楚这个中间层需要包含的所有内容,但通常在撰写文章的那个阶段,我很高兴有这样的任务要做。正如我所说,我很少只向期刊提交一次,所以从长远来看,这可以节省时间。
答案3
奥雷亚让您以非特定格式撰写整篇文章。
一旦完成(或任何时候您想要),您就可以从许多不同的期刊中进行选择来生成您的 .tex 甚至最终的 pdf。
您还可以上传自己的.tex
模板文件或从其他一些服务(Overleaf、Sharelatex)加载它。
您可以免费使用该服务(一篇私人文章和无限篇公开文章)。