我怎样才能在投影仪框架中遮蔽某个区域?

我怎样才能在投影仪框架中遮蔽某个区域?

我有一个投影仪框架,我想用某种颜色给整个区域着色 - 即整个区域(矩形)将使用从该区域出现的任何颜色(白色除外)切换而来的单一灰色。这可能吗?我不介意我必须摆弄区域规范的坐标才能使其正确(即它可以是绝对定位)。

请注意:如果这是不可能的(遮蔽一个区域),我也愿意在这个区域放置一个空白区域,删除下面的所有内容。

编辑:我所说的阴影是指将当前内容的颜色改为灰色,而不是背景。

编辑 2:似乎我的问题不太清楚。我有一些正在使用的包(例如 qtree)。所有这些都是基于环境的,并用作宏,因此很难自定义它们以使其中出现的所有内容都变成灰色。所以我想要重新绘制这些区域,并将每个非白色的像素替换为灰色像素。另一种方法是将框架中某个区域的所有像素替换为白色像素(无论其之前的颜色如何)。这似乎更容易做到。它只是在现有文本/图像上“重新定位”一个白色矩形。

我认为我想要做的事情的总体想法可能违背了乳胶代码相当层次化的自上而下的结构,但这似乎是一个简单的要求,所以我认为它可能是可能的。

答案1

你要求两件不同的事情:

1. 将特定区域内使用的所有颜色(内容)更改为灰色

对于所有依赖于xcolor要生成彩色输出,您可以\selectcolor{gray}在组中使用(即用花括号括起来)。确保\color{black}在组的开头也发出,以便恢复之前的颜色更改。在该组的末尾,旧的颜色模型将自动恢复,以便您能够再次生成彩色输出:

\documentclass{beamer}
\begin{document}
\begin{frame}
\color{red} This is red text with {\color{blue} blue}, but {\selectcolormodel{gray}\color{black} from now on {\color{blue} all} \color{green} is grey.} Now it's colourful (red) again!
\end{frame}
\end{document}

示例代码的输出,展示如何将特定区域的内容颜色更改为灰色

请注意,这对于具有一些自己的颜色管理的包不起作用,例如直接设置相应的 PDF 属性。

2. 将特定区域的背景颜色更改为白色

这可以通过多种方式实现,其中最简单的方法可能是将区域的内容包装在beamercolorbox

\documentclass{beamer}
\setbeamercolor{normal text}{bg=gray!40}
\begin{document}
\begin{frame}
\setbeamercolor{whitebox}{bg=white}
\begin{beamercolorbox}[sep=2mm]{whitebox}
    This text is in a box with white backgound.
\end{beamercolorbox}
\end{frame}
\end{document}

示例代码输出:白色方框内的文字

可以使用可选参数来控制框的大小beamercolorbox- 在示例中,每边添加了 2 毫米的边距。

相关内容