123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % conditional for xetex or luatex
- \newif\ifxetexorluatex
- \ifxetex
- \xetexorluatextrue
- \else
- \ifluatex
- \xetexorluatextrue
- \else
- \xetexorluatexfalse
- \fi
- \fi
- %
- \ifxetexorluatex%
- \usepackage{fontspec}
- \usepackage{libertine} % or use \setmainfont to choose any font on your system
- \newfontfamily\quotefont[Ligatures=TeX]{Linux Libertine O} % selects Libertine as the quote font
- \else
- \usepackage[utf8]{inputenc}
- \usepackage[T1]{fontenc}
- \usepackage{libertine} % or any other font package
- \newcommand*\quotefont{\fontfamily{LinuxLibertineT-LF}} % selects Libertine as the quote font
- \fi
- \newcommand*\quotesize{60} % if quote size changes, need a way to make shifts relative
- % Make commands for the quotes
- \newcommand*{\openquote}
- {\tikz[remember picture,overlay,xshift=-4ex,yshift=-2.5ex]
- \node (OQ) {\quotefont\fontsize{\quotesize}{\quotesize}\selectfont``};\kern0pt}
- \newcommand*{\closequote}[1]
- {\tikz[remember picture,overlay,xshift=4ex,yshift={#1}]
- \node (CQ) {\quotefont\fontsize{\quotesize}{\quotesize}\selectfont''};}
- % select a colour for the shading
- \colorlet{shadecolor}{white}
- \newcommand*\shadedauthorformat{\emph} % define format for the author argument
- % Now a command to allow left, right and centre alignment of the author
- \newcommand*\authoralign[1]{%
- \if#1l
- \def\authorfill{}\def\quotefill{\hfill}
- \else
- \if#1r
- \def\authorfill{\hfill}\def\quotefill{}
- \else
- \if#1c
- \gdef\authorfill{\hfill}\def\quotefill{\hfill}
- \else\typeout{Invalid option}
- \fi
- \fi
- \fi}
- % wrap everything in its own environment which takes one argument (author) and one optional argument
- % specifying the alignment [l, r or c]
- %
- \newenvironment{shadequote}[2][l]%
- {\authoralign{#1}
- \ifblank{#2}
- {\def\shadequoteauthor{}\def\yshift{-2ex}\def\quotefill{\hfill}}
- {\def\shadequoteauthor{\par\authorfill\shadedauthorformat{#2}}\def\yshift{2ex}}
- \begin{snugshade}\begin{quote}\openquote}
- {\shadequoteauthor\quotefill\closequote{\yshift}\end{quote}\end{snugshade}}
|