LaTeX多种颜色标注高亮修改内容

1. 问题

近日,需要在 LaTeX 文档中用多种颜色进行高亮标注。以往一般是生成 PDF 后手动标注,但实在是太低效,而且重新生成 PDF 以后还要重新标注。一番搜索后决定使用 soul 包来解决

2. 解决方法

soul 的主要功能有四:

  • 字间空格 \so
  • 下划线 \ul
  • 删除线 \st
  • 高亮 \hl

本文主要介绍 高亮 的用法

3. 基本操作

话不多说,上代码

  1. 导包部分
    \usepackage{soul} % 导入 soul 包
    \usepackage{color, xcolor} % 颜色包,color 必须导入,xcolor 建议导入
    % 若高亮 \hl 的结果变成下划线,一般是因为没导入 color
    
  2. 正文部分
    • 导入包以后,可以通过 \hl{要高亮的文字} 进行高亮标注,使用 \sethlcolor{颜色} 可以设置高亮颜色(注意,是从 set 开始,一直到下一个 set 之前都是同一种颜色)
    • 建议在每个 \hl 前都加上 \sethlcolor,确保颜色设置正确
    • 现在,可以愉快地进行高亮标注啦
  3. 举个栗子:
    \sethlcolor{yellow}\hl{这里的内容会被高亮为黄色\cite{xxx}}
    \sethlcolor{pink}\hl{这里的内容会被高亮为粉色}
    \hl{这里的内容会被高亮为粉色} % 没有设置颜色的话,沿用上一次的设置
    \sethlcolor{yellow}\hl{这里的内容会被高亮为黄色}
    
    效果如下高亮效果

4. 可能存在的问题及解决方法(重要!!!)

  1. 当高亮中存在 \ref{} \cite{}引用的情况下会报错,需要在文档头部加入 \soulregister{命令}{参数个数} 语句,使这些命令被 soul 识别
    \soulregister{\cite}7 % 注册\cite命令
    \soulregister{\citep}7 % 注册\citep命令
    \soulregister{\citet}7 % 注册\citet命令
    \soulregister{\ref}7 % 注册\ref命令
    \soulregister{\pageref}7 % 注册\pageref命令
    
    不过我也不知道为啥参数个数是 7(欢迎在评论区补充)
  2. 如果在章节标题等位置插入高亮,直接用 \hl 一般会报错,因此使用
    \sethlcolor{yellow}
    \section{\texorpdfstring{\hl{xxx}}{xxx}}
    
  3. 待完善,欢迎补充
posted @ 2020-09-07 10:13  BwShen  阅读(1842)  评论(0编辑  收藏  举报