You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用jss.cls时,\usepackage[table]{xcolor}实现表格行列着色报错

解决jss.cls与新版hyperref/color/xcolor包的兼容问题(带行列着色表格编译报错)

核心原因

本地macOS TeX Live的hyperref/color/xcolor包版本较新,和jss.cls的旧版兼容逻辑冲突,而OverLeaf使用的包版本刚好适配jss.cls,因此出现环境差异导致的编译错误。


解决方案

1. 回退冲突包到兼容版本

通过指定旧版本包或安装对应修订版来匹配OverLeaf的环境:

  • 在文档导言区直接指定兼容版本的包:
    \usepackage[version=3.17]{hyperref} % 替换为OverLeaf上的hyperref版本
    \usepackage[version=2.13]{xcolor}   % 替换为OverLeaf上的xcolor版本
    
  • 若本地无对应版本,用tlmgr安装指定修订版(需替换xxxx为对应版本的修订号,可从OverLeaf的\listfiles输出中获取):
    tlmgr install hyperref --revision=xxxx
    tlmgr install xcolor --revision=xxxx
    

2. 修改jss.cls的冲突代码

定位jss.cls中与新版包冲突的部分并调整:

  • 打开本地TeX Live中的jss.cls文件(路径通常为/usr/local/texlive/xxxx/texmf-dist/tex/latex/jss/jss.cls)
  • 搜索color/xcolor相关加载命令,若存在\usepackage{color},改为\usepackage[table]{xcolor},或注释掉重复的包加载语句
  • 检查\hypersetup的参数,若存在新版hyperref已废弃的参数(如旧版的pdfpagemode写法),替换为新版支持的格式

3. 覆盖jss.cls的颜色/链接设置

在导言区手动加载兼容的包并覆盖jss.cls的默认设置:

\PassOptionsToPackage{table}{xcolor} % 提前传递xcolor的table选项
\documentclass{jss}
\usepackage[table]{xcolor} % 手动加载兼容的xcolor
\usepackage{hyperref}      % 手动加载兼容的hyperref,覆盖cls中的设置

4. 同步本地TeX Live版本到OverLeaf的环境

若上述方法无效,直接安装与OverLeaf当前使用的TeX Live相同版本:

  • 查看OverLeaf的TeX Live版本(在项目设置中可查看)
  • 从TeX Live官网下载对应版本的安装包,在本地完成安装,确保环境完全一致

调试技巧

  • 在文档末尾添加\listfiles命令,编译后查看.log文件中的包版本列表,对比本地与OverLeaf的差异,快速定位冲突包
  • 仔细查看编译报错信息,若提示“undefined control sequence”或“package option clash”,可直接定位到冲突的命令或包加载逻辑

内容的提问来源于stack exchange,提问作者George Ostrouchov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 06:35:51