[Tex/LaTex] Block quote with big quotations – white on black

punctuationquotingtikz-pgf

There is are some very nice answers to the question of how to put large quotation marks around a block of text at Block quote with big quotation marks. Using the first answer (which uses tikz) but with white text on a black background gives me a large white rectangle over the text. How can you change it to work with slides (I am using beamer) that have white text on a black background?

Example that gives the problematic white box over the text.

\PassOptionsToPackage{svgnames}{xcolor}
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{libertine} % or any other font package (or none)
\newcommand*\quotefont{\fontfamily{fxl}} % selects Libertine for quote font
\usepackage{tikz}
\usepackage{framed}
% Make commands for the quotes
\newcommand*{\openquote}{\tikz[remember picture,overlay,xshift=-15pt,yshift=-10pt]
 \node (OQ) {\quotefont\fontsize{60}{60}\selectfont``};\kern0pt}
\newcommand*{\closequote}{\tikz[remember picture,overlay,xshift=15pt,yshift=10pt]
 \node (CQ) {\quotefont\fontsize{60}{60}\selectfont''};}
% select a colour for the shading
\definecolor{shadecolor}{named}{Azure}
% wrap everything in its own environment
\newenvironment{shadequote}%
{\begin{snugshade}\begin{quote}\openquote}
{\hfill\closequote\end{quote}\end{snugshade}}

%\usetheme{Darmstadt}
\usefonttheme[onlylarge]{structurebold}
\setbeamerfont*{frametitle}{size=\normalsize,series=\bfseries}
\setbeamertemplate{navigation symbols}{}

\setbeamercolor{background canvas}{bg=black}
\setbeamercolor{normal text}{fg=white}

\makeatletter

\makeatother

\begin{document}
\begin{frame}
\begin{shadequote}
A common mistake that people make when trying to design something completely
foolproof is to underestimate the ingenuity of complete fools.\par\emph{Douglas Adams}
\end{shadequote}
\end{frame}

\end{document}

Best Answer

The "large white rectangle over the text" is actually a large Azure rectangle under the text. You can see this by changing the text colour to something else (black, for example). This colour is positioned by the snugshade environment which comes from the framed package. It's colour is determined by the colour shadecolor. To remove it altogether, remove the \begin{snugshade} and \end{snugshade} from the definition of the shadequote environment. To just change the colour, replace the Azure by something more fitting, say Maroon.

\PassOptionsToPackage{svgnames}{xcolor}
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{libertine} % or any other font package (or none)
\newcommand*\quotefont{\fontfamily{fxl}} % selects Libertine for quote font
\usepackage{tikz}
\usepackage{framed}
% Make commands for the quotes
\newcommand*{\openquote}{\tikz[remember picture,overlay,xshift=-15pt,yshift=-10pt]
 \node (OQ) {\quotefont\fontsize{60}{60}\selectfont``};\kern0pt}
\newcommand*{\closequote}{\tikz[remember picture,overlay,xshift=15pt,yshift=10pt]
 \node (CQ) {\quotefont\fontsize{60}{60}\selectfont''};}
% select a colour for the shading
\definecolor{shadecolor}{named}{Maroon}
% wrap everything in its own environment
\newenvironment{shadequote}%
{\begin{snugshade}\begin{quote}\openquote}
{\hfill\closequote\end{quote}\end{snugshade}}

%\usetheme{Darmstadt}
\usefonttheme[onlylarge]{structurebold}
\setbeamerfont*{frametitle}{size=\normalsize,series=\bfseries}
\setbeamertemplate{navigation symbols}{}

\setbeamercolor{background canvas}{bg=black}
\setbeamercolor{normal text}{fg=white}

\makeatletter

\makeatother

\begin{document}
\begin{frame}
\begin{shadequote}
A common mistake that people make when trying to design something completely
foolproof is to underestimate the ingenuity of complete fools.\par\emph{Douglas Adams}
\end{shadequote}
\end{frame}

\end{document}

Change colour of shaded rectangle