有哪些选项可以指定透明颜色,比如下面示例中的背景?我以为xcolor
可以做到这一点,但在手册中找不到对“alpha”或“透明度”的任何引用。
\documentclass{article}
\usepackage{listings,xcolor}
\lstset{frame=shadowbox, backgroundcolor=\color{green}}
\title{Transparency test}
\begin{document}
\maketitle
\begin{lstlisting}
Hello, world.
\end{lstlisting}
\end{document}
可以使用 XeLaTeX 或 LuaLaTeX 来做到这一点吗?
答案1
我想你可能正在寻找transparent
。
\documentclass{article}
\usepackage{color}
\usepackage{transparent}
\begin{document}
\colorbox{red}{%
Black text in a red box %
\transparent{1.0}%
\colorbox{blue}{%
and now a blue box is added%
}
}
\colorbox{red}{%
Black text in a red box %
\transparent{0.5}%
\colorbox{blue}{%
and now a transparent blue box is added%
}
}
\end{document}
答案2
您可以使用 pgf 包获得透明度,它也可以与 xetex/luatex 一起使用。但不透明度设置在分页符处会丢失,并且不尊重 TEX 组和框(据我所知,透明包的要点之一是将透明度限制在框内)。这意味着如果您没有在正确的位置明确重置不透明度,则不透明度可能会“泄漏”:
\documentclass{article}
\usepackage{listings}
\usepackage{xcolor,pgf}% http://ctan.org/pkg/{listings,xcolor,transparent}
\title{Transparency test}
\begin{document}
\maketitle
% Solid green
\lstset{frame=shadowbox, backgroundcolor=\color{green}}
\begin{lstlisting}
Hello, world.
\end{lstlisting}
% 50% transparent green
\lstset{frame=shadowbox, backgroundcolor={\color{green}\pgfsetfillopacity{0.5}}}
\begin{lstlisting}
Hello, world.
\end{lstlisting}
\lstset{frame=shadowbox, backgroundcolor=\color{green}}
\begin{lstlisting}
Hello, world.
\end{lstlisting}
\lstset{frame=shadowbox, backgroundcolor=\color{green}\pgfsetfillopacity{1}}
\begin{lstlisting}
Hello, world.
\end{lstlisting}
\end{document}
答案3
我指定了一个伪透明将其与白色混合即可获得亮色。您可以轻松提亮任何颜色通过选择要与之结合的白色量。
\colorlet{LightSpringGreen}{White!70!SpringGreen}
数字越大,颜色越亮。还有更多选项,如本问题所述:了解 xcolor 颜色混合模型