# Epigraph Package: flushepinormal option, and the vertical space between the epigraph and the source in general

Below is the epigraph package with and without flushepinormal option.

\documentclass[12pt]{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[american]{babel}
\usepackage{microtype}
\usepackage{libertine}
\usepackage{epigraph}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setlength{\epigraphrule}{0pt}
\setlength{\epigraphwidth}{1\textwidth}
% \renewcommand{\textflush}{flushepinormal}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\epigraph{To be clever enough to get all that money, one must be stupid enough to want it.}{G.K. Chesterton}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\documentclass[12pt]{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[american]{babel}
\usepackage{microtype}
\usepackage{libertine}
\usepackage{epigraph}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setlength{\epigraphrule}{0pt}
\setlength{\epigraphwidth}{1\textwidth}
\renewcommand{\textflush}{flushepinormal}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\epigraph{To be clever enough to get all that money, one must be stupid enough to want it.}{G.K. Chesterton}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


1. Is it possible to apply flushepinormal without causing the extra vertical spacing?
2. In general, is it possible to control the vertical spacing between the epigraph and the source?

The code below (to be put into the preamble after \usepackage{epigraph}) adds an optional parameter to the \epigraph command that can be used to control the distance between text and its source locally for one epigraph.

\epigraph[extra space between text and source]{text}{source}


Moreover, there is a parameter \interepigraphskip to modify the space globally; originally it is zero.

\setlength\interepigraphskip{extra space between text and source}


This is the code that has to be added to the preamble:

\makeatletter
\newlength\interepigraphskip
\setlength\interepigraphskip{0ex}
\renewcommand\epigraph[3][\interepigraphskip]{\vspace{\beforeepigraphskip}
{\epigraphsize\begin{\epigraphflush}\begin{minipage}{\epigraphwidth}
\@epitext{#2}\\[#1] \@episource{#3}
\end{minipage}\end{\epigraphflush}
\vspace{\afterepigraphskip}}}
\makeatother


Here are some examples, including the problem of the original posting.

\documentclass[12pt]{article}
\addtolength\textheight{1cm} % Just to make the examples fit on one page
\usepackage{epigraph}
\makeatletter
\newlength\interepigraphskip
\setlength\interepigraphskip{0ex}
\renewcommand\epigraph[3][\interepigraphskip]{\vspace{\beforeepigraphskip}
{\epigraphsize\begin{\epigraphflush}\begin{minipage}{\epigraphwidth}
\@epitext{#2}\\[#1] \@episource{#3}
\end{minipage}\end{\epigraphflush}
\vspace{\afterepigraphskip}}}
\makeatother
\begin{document}
\paragraph{No extra space:}
\epigraph{To be clever enough to get all that money, one must be stupid enough to want it.}{G.K. Chesterton}

\paragraph{Extra space of 3 ex, locally:}
\epigraph[3ex]{To be clever enough to get all that money, one must be stupid enough to want it.}{G.K. Chesterton}

\paragraph{Setting extra space to 5 ex, globally:}
\setlength\interepigraphskip{5ex}
\epigraph{To be clever enough to get all that money, one must be stupid enough to want it.}{G.K. Chesterton}
\setlength\interepigraphskip{0ex} % Setting parameter back for next examples

\paragraph{Original post, default:}
\setlength{\epigraphrule}{0pt}
\setlength{\epigraphwidth}{1\textwidth}
\epigraph{To be clever enough to get all that money, one must be stupid enough to want it.}{G.K. Chesterton}

\paragraph{Original post, case flushepinormal:}
\renewcommand{\textflush}{flushepinormal}
\epigraph{To be clever enough to get all that money, one must be stupid enough to want it.}{G.K. Chesterton}

\paragraph{Original post, case flushepinormal, space corrected:}
\epigraph[-\baselineskip]{To be clever enough to get all that money, one must be stupid enough to want it.}{G.K. Chesterton}
\end{document}


Here is a solution to your first problem. In the case of epigraphflushnormalyou can control the spacing between text and source by changing the argument of \vspace*:

\documentclass[12pt]{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[american]{babel}
\usepackage{microtype}
\usepackage{libertine}
\usepackage{epigraph}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setlength{\epigraphrule}{0pt}
\setlength{\epigraphwidth}{\textwidth}
\renewcommand\textflush{flushepinormal}
\renewenvironment{flushepinormal}{}{\vspace*{-\baselineskip}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\epigraph{To be clever enough to get all that money, one must be stupid enough to want it.}{G.K. Chesterton}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}