mirror of
https://github.com/MartinThoma/LaTeX-examples.git
synced 2025-04-26 06:48:04 +02:00
65 lines
2.1 KiB
TeX
65 lines
2.1 KiB
TeX
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% 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}}
|