我想返回到默认的文本颜色。如果默认颜色是黑色,那么我可以使用\color{black}
。但我正在寻找一个适用于黑色可能是也可能不是默认颜色的一般情况的命令。类似于\color{defaultcolor}
。
(我知道使用{\color{...}...}
或的优点\textcolor
,但我特别想要\color{defaultcolor}
。)
编辑:我使用该color
包,或者可能我可以使用xcolor
。
答案1
color.sty
和均xcolor.sty
包含以下两行:
\def\normalcolor{\let\current@color\default@color\set@color}
\AtBeginDocument{\let\default@color\current@color}
因此,在文档的开头(序言之后),\default@color
设置为\current@color
。然后\normalcolor
将颜色返回到序言中设置的颜色(如果序言中未设置任何内容,则返回 DeviceGray Black)。
如果既未加载color
也未xcolor
加载,则\normalcolor
在中定义latex.ltx
为\relax
,因此它不执行任何操作。
平均能量损失
\documentclass{article}
\usepackage{color}
\color{red}
\begin{document}
\color{blue}
Blue
\normalcolor
Normal Colour (Red as set in preamble)
\end{document}
beamer
当使用 设置默认文本颜色时这也有效\setbeamercolor{normal text}{fg=...}
。
平均能量损失
\documentclass{beamer}
\setbeamercolor{normal text}{fg=red}
\begin{document}
\begin{frame}
\color{blue}
Blue
\normalcolor
Normal Colour (Red as set in preamble)
\end{frame}
\end{document}
答案2
正如 Devid Purton 在他的回答中所说,默认颜色是文档开始时活动的颜色(\begin{document}
)。您可以访问当前颜色通过使用“ .
”(点)作为颜色名称,并使用 将其存储在新名称下\colorlet
。现在要在颜色名称下定义默认颜色,只需在文档开头defaultcolor
添加即可。这可以在序言中完成\colorlet{defaultcolor}{.}
后加载或直接在之后xcolor
添加。\AtBeginDocument
\begin{document}
这些是xcolor
软件包的功能,旧color
软件包已经不够用了。
下面的示例将蓝色设为默认颜色,并在绿色文本中切换回蓝色。
\documentclass{article}
\usepackage{xcolor}
\AtBeginDocument{\colorlet{defaultcolor}{.}}
\color{blue}
\begin{document}
Some text
{\color{green} Text \textcolor{defaultcolor}{default} Text}
More text
\end{document}