假设我正在使用 FiXme 包:
\usepackage{fixme}
\fxsetup{
status=draft,
author= ,
layout=inline,
theme=color}
\definecolor{fxnote}{rgb}{0,0,0} % black
\definecolor{fxwarning}{rgb}{0,0,0} % black
\definecolor{fxerror}{rgb}{0,0,0} % black
\colorlet{fxnotebg}{green} % define the background colour:
\colorlet{fxwarningbg}{yellow} % define the background colour:
\colorlet{fxerrorbg}{red} % define the background colour:
% redefine the layout macro:
\makeatletter
\renewcommand*\FXLayoutInline[3]{%
\@fxdocolon {#3}{%
\@fxuseface {inline}%
\begingroup
\sethlcolor{fx#1bg}%
\color {fx#1}\ignorespaces \hl{#3\@fxcolon #2}%
\endgroup}}
\makeatother
其中我有三种不同的背景颜色 - 红色,黄色和绿色 - 分别使用\fxerror{...}
、\fxwarning{...}
和调用\fxnote{...}
。
如何使这些背景颜色显示在更正列表中?截至目前,注释以传统方式显示,即白色背景上的黑色字符。
答案1
您\FXLayoutContentsLine
还可以在 Fixmes 列表中重新定义添加背景颜色;可能的重新定义为:
\renewcommand*\FXLayoutContentsLine[3]{%
\iffx@mode@multiuser%
\fxaddcontentsline{\ignorespaces#3 \protect\sethlcolor{fx#1bg}\color{fx#1}\hl{\fxnotename{#1}: #2}}%
\else%
\fxaddcontentsline{\protect\sethlcolor{fx#1bg}\color{fx#1}\hl{\fxnotename{#1}: #2}}%
\fi}
一个完整的例子
\documentclass{article}
\usepackage{xcolor}
\usepackage{soul}
\usepackage{fixme}
\fxsetup{
status=draft,
author= ,
layout=inline,
theme=color}
\definecolor{fxnote}{rgb}{0,0,0} % black
\definecolor{fxwarning}{rgb}{0,0,0} % black
\definecolor{fxerror}{rgb}{0,0,0} % black
\colorlet{fxnotebg}{green!60} % define the background colour:
\colorlet{fxwarningbg}{yellow!60} % define the background colour:
\colorlet{fxerrorbg}{red!60} % define the background colour:
% redefine the layout macro:
\makeatletter
\renewcommand*\FXLayoutInline[3]{%
\@fxdocolon {#3}{%
\@fxuseface {inline}%
\begingroup
\sethlcolor{fx#1bg}%
\color {fx#1}\ignorespaces \hl{#3\@fxcolon #2}%
\endgroup}}
\renewcommand*\FXLayoutContentsLine[3]{%
\iffx@mode@multiuser%
\fxaddcontentsline{\ignorespaces#3 \protect\sethlcolor{fx#1bg}\color{fx#1}\hl{\fxnotename{#1}: #2}}%
\else%
\fxaddcontentsline{\protect\sethlcolor{fx#1bg}\color{fx#1}\hl{\fxnotename{#1}: #2}}%
\fi}
\makeatother
\begin{document}
\listoffixmes
Some regular text
\fxnote{Some test note}
\fxwarning{Some test warning}
\fxnote{Another test note}
\fxnote{Yet another test note}
\fxerror{Some test error}
\fxwarning{Another test warning}
\fxerror{Another test error}
\end{document}
结果: