如何获取scrpage2.sty并本地编译以供LaTeX项目使用
解决方案
你之前操作失败是因为当前CTAN上的scrpage2条目默认指向最新版KOMA-script包,该版本已正式移除scrpage2相关的构建文件,你需要获取旧版本的KOMA-script源码进行构建,具体操作如下:
步骤1:获取对应版本的KOMA-script源码
scrpage2在KOMA-script 3.33及更早版本中均存在,你需要找到3.33或更旧版本的KOMA-script完整源码包。
步骤2:构建生成scrpage2.sty
解压拿到的旧版KOMA-script源码包后,按以下操作执行:
- 在解压后的文件列表中找到
scrpage2.ins和scrpage2.dtx两个文件,不要使用你之前找到的scrlettr.ins,该文件是用于构建scrlettr文档类的,和scrpage2无关 - 打开终端,切换到上述两个文件所在的目录,执行命令:
latex scrpage2.ins - 命令执行完成后,当前目录下会直接生成目标
scrpage2.sty文件
步骤3:本地部署使用
根据你的需求选择任意一种部署方式即可:
- 项目临时使用:直接将生成的
scrpage2.sty文件放到你的LaTeX项目根目录下,无需修改原有模板的导入代码,编译时会自动优先读取项目目录下的该文件 - 全局生效:将
scrpage2.sty放到你的TeX发行版本地texmf目录下的tex/latex/scrpage2/文件夹中,之后执行TeX文件名数据库刷新操作(TeX Live执行texhash命令,MikTeX在设置中点刷新文件名数据库),所有项目都可以正常导入scrpage2
替代兼容方案
如果暂时找不到旧版源码,也可以尝试用scrlayer-scrpage的兼容模式适配旧模板:
在你模板原有\usepackage{scrpage2}代码之前,插入以下两行:
\usepackage{scrlayer-scrpage} \makeatletter\def\scrpage2@loaded{}\makeatother
该方法可以骗过模板的包导入检查,大部分基础的scrpage2语法都可以正常兼容,仅部分非常冷门的自定义命令可能会出现异常。
内容的提问来源于stack exchange,提问作者EXIT_FAILURE
相关产品推荐
相关产品推荐

