强制列表颜色

强制列表颜色

想象一下以下例子:

\documentclass{scrbook}

\usepackage{xcolor}

\begin{document}
    \begin{figure}
        \caption{\textcolor{green}{Green} and \textcolor{red}{red}}
    \end{figure}

    \listoffigures
\end{document}

其结果是图形的彩色标题: Figure caption with green and red font

以及图片列表中的彩色条目: List of figures with green and red font as well

我如何才能强制列表条目的颜色为黑色?我找不到可以覆盖或删除列表条目颜色的宏,因为标题的内部颜色宏似乎具有更高的优先级。

答案1

以下是一些选项:

相当手动的解决方案

最简单的方法是使用caption命令的可选参数:

\caption[<Line for the lof>]{Caption in document}

例如,你可以使用

\documentclass{scrbook}

\usepackage{xcolor}

\begin{document}
    \begin{figure}
        \caption[Green and red]{\textcolor{green}{Green} and \textcolor{red}{red}}
    \end{figure}

    \listoffigures
\end{document}

不太手动的解决方案

如果你不想逐一查看每一个标题(如果我是你的话,我想我不会这么做),那么你可以color在本地更改命令,方法listoffigures是使用

\begingroup
\renewcommand{\color}[1]{}
\listoffigures
\endgroup

这使得该color命令在这个组内不执行任何操作,因此您只会根据需要获得黑色文本。

相关内容