1. 为什么我最终选择了cas-dc模板第一次投Elsevier旗下期刊的时候我踩了一个不大不小的坑。当时手头有一篇做了大半年的工作目标期刊是Pattern Recognition我图省事直接拿了一个IEEEtran的模板改格式想着“内容为王格式差不多就行”。结果投稿系统里生成的PDF单栏排版参考文献格式也不对编辑那边Technical Check直接打回来前后耽误了将近两周。后来跟组里一位投过TMM的师兄聊他一句话点醒我“Elsevier的期刊尤其是爱思唯尔主推的那几个刊你就老老实实用官方的cas-dc别自己造轮子。”cas-dc是Elsevier官方提供的LaTeX双栏模板全称是“Complex Article Structure - Double Column”。它属于Elsevier CASComplex Article Structure模板家族同系列的还有单栏的cas-sc、带行号的cas-dc-review等。这套模板最大的价值在于它把Elsevier期刊投稿时对版式、参考文献、图表、作者信息、摘要结构的所有硬性要求都封装好了你只要按它的接口填内容生成的PDF基本能一次通过格式审查。对于Pattern Recognition、Applied Sciences虽然这个是MDPI的但很多人会混淆、KBSKnowledge-Based Systems、iMeta这类Elsevier系或对格式要求严格的期刊cas-dc几乎是标配。这篇文章我打算把自己从Overleaf配置、本地环境搭建、模板结构拆解、图表公式处理一直到投稿前检查的完整流程写清楚。适合两类人看一类是第一次投Elsevier期刊、对LaTeX只有基础了解的研究生另一类是之前用惯了IEEE模板、想快速迁移到cas-dc的科研人员。我会把每一步为什么这么做、参数怎么算、哪里容易翻车都讲透你照着抄作业就行。2. cas-dc模板的整体结构与设计逻辑2.1 模板文件组成与各文件职责拿到cas-dc模板后你解压会看到一堆文件很多人第一反应是懵的。我先把核心文件列出来你心里就有数了文件名作用是否需要改动cas-dc.cls模板类文件定义所有版式规则绝对不要改cas-dc-template.tex主文件你的正文写在这里主要改这个cas-common.sty通用宏包和命令定义不要改cas-sc.cls单栏版本类文件不用管cas-dc-sample.pdf官方示例PDF参考用thumbnails/示例图片可替换主文件cas-dc-template.tex的结构非常清晰从前往后依次是文档类声明、宏包引入、自定义命令、frontmatter标题作者摘要、正文主体、附录、参考文献。我建议你不要一上来就删示例内容而是先编译一遍看效果然后逐块替换成自己的内容。这样出问题的时候你能快速定位是哪一块改坏了。2.2 文档类选项与关键参数解读cas-dc的文档类声明长这样\documentclass[a4paper,fleqn]{cas-dc}这里的选项不是随便写的。a4paper指定纸张大小fleqn表示公式左对齐Elsevier很多期刊要求公式左对齐而不是居中这个选项很关键。还有几个常用选项你需要知道longtitle当你的标题特别长、一行放不下时加上模板会自动调整标题排版shorttitle配合\shorttitle命令使用用于页眉的短标题doubleblind双盲审稿时加上会自动隐藏作者信息review生成带行号的审稿版本投稿时如果期刊要求行号就加这个我个人的习惯是初稿阶段用\documentclass[a4paper,fleqn]{cas-dc}准备投稿时根据期刊要求决定是否加review或doubleblind。这里有个细节review选项和doubleblind可以同时用生成的行号版本同样会隐藏作者信息适合双盲期刊的审稿版。2.3 为什么cas-dc的参考文献处理这么省心cas-dc用的是基于biblatex的参考文献系统而不是传统的bibtex。这是它跟IEEE模板最大的区别之一。你不需要手动跑bibtex再跑两次latex只需要在导言区加\usepackage[numbers,sortcompress]{natbib}然后在正文里用\cite{}最后编译时用pdflatex - bibtex - pdflatex - pdflatex的流程就行。模板自带的cas-model2-names.bst或者cas-model2-names.bib样式文件已经处理好了Elsevier的参考文献格式包括作者姓名缩写、期刊名缩写、DOI显示等。我实测下来只要你的.bib文件条目信息完整尤其是doi和pages字段生成的参考文献列表基本不需要手动调。注意cas-dc模板对.bib文件的字段要求比较严格如果某个条目缺少必要字段比如期刊文章缺volume或pages编译时不会报错但生成的参考文献会缺信息。建议投稿前逐条检查。3. Overleaf配置与本地环境搭建3.1 Overleaf上从零开始配置cas-dcOverleaf是大多数人的首选因为不用配环境打开浏览器就能写。具体步骤登录Overleaf点击New Project - Upload Project把从Elsevier官网下载的cas-dc模板压缩包直接上传不要解压后再传直接传zipOverleaf会自动识别主文件如果没识别在Menu里把Main document设成cas-dc-template.tex编译器选择pdfLaTeXTeX Live版本选最新的目前是2024点击Recompile等几十秒就能看到示例PDF这里有个坑Elsevier官网下载的模板有时候会带一些Overleaf不支持的字体或宏包。如果你编译报错说找不到某个.sty文件大概率是模板版本和Overleaf的TeX Live版本不匹配。解决办法是去Overleaf的模板库直接搜“Elsevier cas-dc”用Overleaf官方维护的版本那个兼容性最好。另一个常见问题是图片路径。Overleaf上图片要放在项目根目录或者你指定的子目录里模板里默认是\includegraphics{fig1}这种写法对应根目录下的fig1.pdf或fig1.png。我建议在项目里建一个figures文件夹然后统一写成\includegraphics{figures/fig1}这样文件多了也不会乱。3.2 本地LaTeX环境搭建TeX Live VS Code如果你不想依赖Overleaf或者论文涉及敏感数据不能上传那就得配本地环境。我的推荐组合是TeX Live VS Code LaTeX Workshop插件。TeX Live的安装Windows下载install-tl-windows.exe右键以管理员身份运行选择“Install for all users”安装路径不要有中文和空格macOS下载MacTeX.pkg双击安装会自动配好路径Linuxsudo apt install texlive-fullUbuntu/Debian或者用TeX Live官方安装脚本安装完成后在终端跑tex --version和pdflatex --version确认安装成功。TeX Live完整版大概7-8GB建议留足磁盘空间。VS Code配置安装LaTeX Workshop插件在settings.json里加几行配置让保存时自动编译{ latex-workshop.latex.recipes: [ { name: pdflatex - bibtex - pdflatex x2, tools: [pdflatex, bibtex, pdflatex, pdflatex] } ], latex-workshop.latex.autoBuild.run: onSave }用VS Code打开cas-dc-template.tex所在文件夹按CtrlAltB编译CtrlAltV预览PDF我实测下来这套组合在Windows和macOS上都很稳。唯一需要注意的是如果你之前装过旧版TeX Live要先卸载干净再装新版否则路径冲突会导致编译失败。3.3 本地环境与Overleaf的取舍很多人纠结用哪个。我的经验是如果只是写一篇论文、不涉及大文件和大规模协作Overleaf足够用而且省心。但如果你要投的期刊对模板版本有严格要求或者你需要频繁编译大文档比如包含几十张高分辨率图片本地环境的速度优势就体现出来了。另外本地环境可以用Git做版本管理改错了随时回滚这个Overleaf的History功能虽然也有但不如Git灵活。提示无论用哪个投稿前一定要在本地用TeX Live完整编译一遍确认没有缺包、缺字体的问题。Overleaf上能编译不代表本地能编译反之亦然。4. 核心内容排版实操从标题到参考文献4.1 标题、作者与摘要的填写规范cas-dc的frontmatter部分有固定的命令结构不能随便改。标准写法\shorttitle{Your Short Title} \shortauthors{Author et al.} \title[modetitle]{Full Title of Your Paper} \author[1]{First Author} \cormark[1] \ead{firstemail.com} \author[2]{Second Author} \ead{secondemail.com} \affiliation[1]{organization{Department, University}, city{City}, postcode{123456}, country{China}} \affiliation[2]{organization{Another Department, Another University}, city{City}, postcode{654321}, country{China}} \cortext[1]{Corresponding author} \begin{abstract} Your abstract text goes here. \end{abstract} \begin{keywords} keyword1 \sep keyword2 \sep keyword3 \end{keywords}几个关键点\cormark[1]标记通讯作者\cortext[1]定义通讯作者的脚注文字\sep用来分隔关键词。摘要部分Elsevier很多期刊要求结构化摘要Background, Methods, Results, Conclusions但cas-dc模板本身不强制你按目标期刊的Guide for Authors来写就行。我踩过的一个坑是作者单位的上标编号。cas-dc用的是\author[1]和\affiliation[1]这种方括号编号不是IEEE那种\author{\IEEEauthorblockN{}}的写法。如果你从IEEE模板迁移过来这部分要全部重写不能直接复制。4.2 双栏环境下的图片插入与跨栏处理双栏模板里插图是最容易出问题的地方。cas-dc提供了几个命令\begin{figure}单栏图片宽度用\columnwidth\begin{figure*}跨双栏图片宽度用\textwidth\begin{table}和\begin{table*}同理单栏图片的标准写法\begin{figure}[htbp] \centering \includegraphics[width\columnwidth]{figures/fig1} \caption{This is a single-column figure.} \label{fig:fig1} \end{figure}跨栏图片\begin{figure*}[htbp] \centering \includegraphics[width\textwidth]{figures/fig2} \caption{This is a double-column figure.} \label{fig:fig2} \end{figure*}这里有个参数计算的问题。假设你的图片原始宽度是2000像素在300dpi下对应约16.9厘米。A4纸的\textwidth大约是17厘米\columnwidth大约是8.3厘米。所以如果你想让图片跨栏且占满宽度用width\textwidth如果只想占单栏用width\columnwidth。但要注意如果图片原始分辨率不够强行放大到\textwidth会模糊。我的经验是图片导出时至少保证300dpi跨栏图宽度不低于1500像素单栏图不低于800像素。注意cas-dc模板里图片默认是居中的但如果你用了subfig或者subcaption宏包做子图要确保子图的宽度加起来不超过\columnwidth或\textwidth否则会溢出到栏外。4.3 表格排版自动换行与跨栏表格双栏模板里表格比图片更麻烦因为表格内容容易超宽。cas-dc推荐用booktabs宏包的三线表\begin{table}[htbp] \centering \caption{Comparison of methods.} \label{tab:comparison} \begin{tabular}{{}lcc{}} \toprule Method Accuracy F1-score \\ \midrule Baseline 85.2 83.1 \\ Ours 91.7 90.3 \\ \bottomrule \end{tabular} \end{table}如果表格列数多、内容长单栏放不下就用\begin{table*}跨栏。但跨栏表格如果还是超宽就需要用\resizebox{\textwidth}{!}{...}把整个表格缩放。不过缩放会导致字体变小审稿人看着费劲所以更好的办法是用tabularx宏包\usepackage{tabularx} \begin{table*}[htbp] \centering \caption{Long table with auto line break.} \begin{tabularx}{\textwidth}{{}lXX{}} \toprule Method Description Performance \\ \midrule Baseline A very long description that needs to wrap automatically 85.2 \\ Ours Another long description 91.7 \\ \bottomrule \end{tabularx} \end{table*}tabularx的X列会自动换行不用手动调宽度。我实测下来这是处理长文本表格最省心的方案。4.4 数学公式与符号的规范写法cas-dc对公式的排版要求是左对齐因为fleqn选项公式编号在右侧。标准写法\begin{equation} \label{eq:loss} \mathcal{L} -\frac{1}{N}\sum_{i1}^{N} y_i \log(\hat{y}_i) \lambda \|\theta\|_2^2 \end{equation}多行公式用align环境\begin{align} \label{eq:multi} a b c \\ d e \end{align}这里有个细节cas-dc模板里公式的编号格式是(1)、(2)这种跟IEEE的(1)一样。但如果你用了\begin{equation*}就不会编号。另外公式里的特殊符号比如左小括号直接用(就行不需要\left(除非括号内有分数或求和符号需要自动调整大小。我见过有人问“latex中图片怎么放在公式旁边”答案是用minipage把图片和公式并排放在一个figure环境里或者用wrapfigure宏包让文字环绕图片。但双栏模板里wrapfigure容易出问题建议还是老老实实把图片和公式分开排版。5. 投稿前的编译、检查与常见问题排查5.1 完整编译流程与PDF检查清单cas-dc的完整编译流程是pdflatex cas-dc-template bibtex cas-dc-template pdflatex cas-dc-template pdflatex cas-dc-template为什么要跑两次pdflatex第一次生成.aux文件bibtex读取.aux生成.bbl第二次pdflatex把参考文献插进去第三次pdflatex确保所有交叉引用\ref、\cite都正确解析。如果你用了hyperref宏包可能还需要再跑一次。编译完成后打开PDF逐项检查标题、作者、单位是否正确通讯作者标记是否出现摘要和关键词是否完整所有图片是否清晰、位置是否合理、有没有超出栏宽表格是否完整、有没有跨页断裂公式编号是否连续、有没有未定义的引用参考文献列表是否完整、格式是否统一页眉的短标题和页码是否正确我一般会打印一份PDF出来用红笔逐页标记问题然后在源文件里改。电子版检查容易漏掉细节。5.2 常见编译错误与排查技巧下面这张表是我和组里同学踩过的坑的汇总错误现象可能原因解决方法编译报错“File cas-dc.cls not found”类文件不在当前目录或TeX Live路径确认cas-dc.cls和主文件在同一目录参考文献显示为[?]bibtex没跑或.bib文件路径不对检查\bibliography{}里的文件名重新跑bibtex图片显示为空白框图片格式不支持或路径错误用PDF/PNG/JPG格式检查文件名大小写公式编号不连续有未编译的.aux残留删除.aux/.bbl/.log重新编译表格超出栏宽列数太多或内容太长用tabularx或resizebox中文显示乱码没加中文支持宏包加\usepackage{ctex}或改用XeLaTeX页眉短标题不显示没写\shorttitle在导言区加\shorttitle{...}这里重点说两个高频问题。第一个是“latex插入图片不显示”90%的情况是路径问题。Overleaf上路径区分大小写Windows本地不区分所以你在Windows上能编译传到Overleaf就报错。解决办法是统一用小写文件名路径用正斜杠/而不是反斜杠\。第二个是“latex表格自动换行不生效”。如果你用的是普通tabular它不会自动换行必须手动用\parbox或者改用tabularx。我建议直接用tabularx省事。5.3 投稿系统上传与格式审查要点编译通过、PDF检查无误后就可以投稿了。Elsevier的投稿系统一般是Editorial Manager。上传时需要注意上传LaTeX源文件包.tex、.cls、.sty、.bib、图片文件打包成zip同时上传编译好的PDF供审稿人查看如果期刊要求行号上传带行号的review版本如果期刊要求双盲确保PDF和源文件里都没有作者信息Technical Check阶段编辑会检查格式是否符合期刊要求。cas-dc模板生成的PDF基本不会在格式上被卡但有几个细节容易被忽略图片分辨率是否达到300dpi、参考文献是否完整、摘要是否超过字数限制、关键词数量是否符合要求。我建议投稿前把目标期刊的Guide for Authors打印出来逐条对照检查。提示有些期刊要求把图片单独上传为高分辨率文件而不是只放在PDF里。投稿前确认一下期刊的具体要求避免返工。6. 我个人的实操心得与几个容易忽略的细节最后分享几个我在实际使用cas-dc过程中总结的经验都是文档里不会写的。第一个是关于模板版本。Elsevier的cas-dc模板更新频率不高但每次更新可能会改一些命令的用法。我建议在项目开始时就把模板版本号记下来投稿时如果期刊要求用最新版你再对照更新日志改。不要中途换模板版本否则可能一堆命令报错。第二个是关于.bib文件的管理。我习惯用一个主.bib文件管理所有参考文献然后用JabRef或Zotero导出。但cas-dc对.bib条目的字段要求比较严比如期刊文章必须有volume、pages、doi会议文章必须有booktitle、pages。我一般会在导出后用脚本检查一遍缺字段的补上。这个习惯帮我省了很多返工时间。第三个是关于图片的导出。我所有图片都用Python的matplotlib生成导出时统一用plt.savefig(fig1.pdf, bbox_inchestight, dpi300)。PDF格式的矢量图在LaTeX里缩放不会失真比PNG好。如果必须用位图保证300dpi以上。第四个是关于Overleaf的修订模式。如果你跟合作者一起改论文Overleaf的Review模式很好用但注意修订标记不会出现在编译后的PDF里只会在Overleaf界面显示。投稿前要确保所有修订都已接受否则可能带着别人的修改痕迹投出去。第五个是关于本地编译的速度优化。如果你用VS Code LaTeX Workshop编译大文档时可以在settings.json里加latex-workshop.latex.clean.subfolder.enabled: true只清理子文件夹的临时文件加快编译速度。另外图片多的时候用\usepackage[draft]{graphicx}可以只显示图片框不加载图片编译速度飞快定稿前再去掉draft选项。这些细节看起来琐碎但真正投过几篇论文的人都知道格式问题耽误的时间往往比写内容还多。cas-dc这套模板已经把大部分坑填好了你只要按它的规则来把精力放在内容上就行。
