如何获取页面的当前颜色?

如何获取页面的当前颜色?

有几种方法可以访问当前文本颜色。但是是否有一个xcolormagick\XC@magick@command命令可以让我们访问页面的当前(背景)颜色?像这样:

\documentclass{article}
\usepackage{xcolor}
\pagecolor{red}
\begin{document}
\color{\XC@magick@command}%
The current text is colored with the page color's one (hence invisible).
\end{document}

答案1

您可以使用该pagecolor包:

\documentclass{article}
\usepackage{xcolor}
\usepackage{pagecolor}
\pagecolor{red}
\begin{document}
Not invisible
\color{\thepagecolor}%
The current text is colored with the page color's one (hence invisible).
\end{document}

答案2

不幸的是,这是以依赖于驱动程序的方式设置的

dvips.def使用latex/dvips,

\def\set@page@color{\special{%
        background \current@color}}

因此信息只记录在后端特殊

在当前版本中,pdftex 中的定义pdftex.def

 \@ifl@t@r\fmtversion{2020/10/01}
  {%
    \def\set@page@color{%
     \global\GPT@pagecolortrue
     \global\let\current@page@color\current@color
     \IfHookEmptyTF{shipout/background}{\AddToHook{shipout/background}{\relax}}
...

因此颜色可用\current@page@color

如果您确实需要这个,我会颠覆该\pagecolor命令,让它将其参数保存在某处。

相关内容