最近有人问我,我之前是如何重构我的 LaTeX 代码,以允许 ScholarOne 手稿提交系统正确接受传统的 Bib(La)TeX 使用。
我在随附的答复中简要概述了我采取的主要步骤。
请注意,他们的系统已经改进,因此其中一些步骤可能不再需要。
答案1
尽管过去在 ScholarOne 界面中需要进行许多额外的重构步骤(例如将sty
文件的特定部分移动到“主文档”中),但我认为这不再是必要的。
主要的关键是从(系统指定的)“主文件”(例如)加载bib
和文件,以避免提交过程中出现错误。具体来说,这会触发系统的依赖性检测,这对于有效编译似乎是必要的。sty
document.tex
主文档的序言与往常一样。假设正在使用natbib
(从类文件加载)并且有一个 Bib(La)TeX 文件,referenes.bib
:
\bibinput{references} % this still does not trigger dependency detection in system; need to manually do so
\bibliographystyle{XXX-natbib} % where XXX indicates your journal-specific name
然后应该在 的末尾替换以下内容,doucument.tex
以代替通常的更简单的书目命令:
\IfFileExists{./document.bbl}{
\input{document.bbl}
%
% manually balance the columns on the final page by increasing right column, due to phantom bibliography preventing automatic balancing
\atColsEnd{\vskip-455pt}
% force dependency detection within the submission system to find "references.bib", s.t. usebib can find it
\suppress%
\begingroup%
% do not create another section; from http://tex.stackexchange.com/a/22654
\renewcommand{\section}[2]{}%
\bibliography{references}
\endgroup%
\endsuppress%
}{
\bibliography{references}
}
这可能无法直接起作用。一种解决方法是bbl
自己生成文件,然后将其上传到 ScholarOne 系统,并手动将其包含在内。