我想让一些文本看起来是半透明的,但不是以叠加的方式(最终变成实体),只是永久半透明。更复杂的是,有问题的文本是matrix
的一部分:
$
\begin{matrix}
& \{-2,3,5,0,8\} & \\
\{-2,3,5,0\} & & \{-2,3,5,8\} \\
& \{-2,3,5\} &
\end{matrix}
$
我希望矩阵中的第三行是半透明的。有没有办法做到这一点?
编辑:通过将解决方案变为带有可选参数的命令来改进解决方案。
好的,发现了怎么做:
\newcommand{\semitransp}[2][35]{\color{fg!#1}#2}
...
$
\begin{matrix}
& \{-2,3,5,0,8\} & \\
\{-2,3,5,0\} & & \{-2,3,5,8\} \\
& \semitransp{\{-2,3,5\}} &
\end{matrix}
$
可选参数控制透明度。所以\semitransp[20]{text}
更轻,\semitransp[60]{text}
更重。我的电脑屏幕上的默认值35看起来不错。它看起来如何投射在墙上还有待观察。
Ari的答案可能对他有用(并且在2010年),但是给定的命令将使所有后续文本透明,而不仅仅是给定的文本。
仅使给定文本透明的改进解决方案:
\newcommand{\semitransp}[2][35]{\textcolor{fg!#1}{#2}}
% Swap \color with \textcolor and add another curly brackets pair.
...
$
\begin{matrix}
& \{-2,3,5,0,8\} & \\
\{-2,3,5,0\} & & \{-2,3,5,8\} \\
& \semitransp{\{-2,3,5\}} &
\end{matrix}
$
要获得真正的半透明度,可以使用\pgfsetfillopacity
。与通过将前景色与背景混合来伪装不透明度相比的优点是,如果存在背景图像或一些其他有色元素,这也将起作用。
\documentclass{beamer}
\begin{document}
\begin{frame}
$
\begin{matrix}
& \{-2,3,5,0,8\} & \\
\{-2,3,5,0\} & & \{-2,3,5,8\} \\
& {\pgfsetfillopacity{0.2}\{-2,3,5\}} &
\end{matrix}
$
\end{frame}
\setbeamertemplate{background canvas}{\includegraphics[width=\paperwidth]{example-grid-100x100bp}}
\begin{frame}
$
\begin{matrix}
& \{-2,3,5,0,8\} & \\
\{-2,3,5,0\} & & \{-2,3,5,8\} \\
& {\pgfsetfillopacity{0.2}\{-2,3,5\}} &
\end{matrix}
$
\end{frame}
\end{document}