summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-04-23 21:05:50 +0000
committerKarl Berry <karl@freefriends.org>2020-04-23 21:05:50 +0000
commitbd286013e355d5059988fa530dddde69b9c90e61 (patch)
tree60b12b6bc3955838cd241c53f1ab6144f77a1ec2
parent82ae7304a168d1c0ca5d0a92e8eb262dca5074a5 (diff)
epigraph-keys (23apr20)
git-svn-id: svn://tug.org/texlive/trunk@54851 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/epigraph-keys/README19
-rw-r--r--Master/texmf-dist/doc/latex/epigraph-keys/epigraph-keys.pdfbin0 -> 308968 bytes
-rw-r--r--Master/texmf-dist/doc/latex/epigraph-keys/epigraph-keys.tex134
-rw-r--r--Master/texmf-dist/tex/latex/epigraph-keys/epigraph-keys.sty145
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rw-r--r--Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/epigraph-keys.tlpsrc0
7 files changed, 300 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/epigraph-keys/README b/Master/texmf-dist/doc/latex/epigraph-keys/README
new file mode 100644
index 00000000000..b6026194c61
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/epigraph-keys/README
@@ -0,0 +1,19 @@
+Epigraph keys
+v1.0
+22 April 2020
+
+Authors:
+Ben McKay
+
+Maintainer:
+Ben McKay
+
+E-mail:
+b.mckay@ucc.ie
+
+Licence:
+Released under the LaTeX Project Public License v1.3c or later.
+See http://www.latex-project.org/lppl.txt
+
+The epigraph-keys package lays out epigraphs: quotations across a page, usually to open or close a chapter.
+It is intended as a simple replacement for the more sophisticated epigraphs package.
diff --git a/Master/texmf-dist/doc/latex/epigraph-keys/epigraph-keys.pdf b/Master/texmf-dist/doc/latex/epigraph-keys/epigraph-keys.pdf
new file mode 100644
index 00000000000..dd288a6e7e7
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/epigraph-keys/epigraph-keys.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/epigraph-keys/epigraph-keys.tex b/Master/texmf-dist/doc/latex/epigraph-keys/epigraph-keys.tex
new file mode 100644
index 00000000000..d6163afbb73
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/epigraph-keys/epigraph-keys.tex
@@ -0,0 +1,134 @@
+\documentclass{article}
+\title{The {\texttt{epigraph-keys}} package}
+\author{Benjamin McKay}
+\date{\today}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{lmodern}
+\usepackage{fixmath}
+\usepackage[mathscr]{eucal}
+\usepackage[%
+activate={true,nocompatibility},%
+final,%
+tracking=true,%
+kerning=true,%
+spacing=true,%
+factor=1100,%
+stretch=10,%
+shrink=10]{microtype}
+\microtypecontext{spacing=nonfrench}
+\usepackage{siunitx}
+\usepackage{epigraph-keys}
+\usepackage{tcolorbox}
+\usepackage{fancyvrb-ex}
+\tcbuselibrary{listings}
+\usepackage{xcolor}
+\usepackage{booktabs}
+\usepackage{colortbl}
+\arrayrulecolor{gray!30}
+\definecolor{outerrule}{gray}{0.8}
+\usepackage{pgfornament}
+\begin{document}
+\maketitle
+\tableofcontents
+\abstract{The \texttt{epigraph-keys} package lays out epigraphs: quotations across a page, usually to open or close a chapter.
+It is intended as a simple replacement for the more sophisticated \texttt{epigraphs} package.}
+\section{Introduction}
+\epigraph[author={Ludwig Wittgenstein}, source={Culture and Value}]{With my full philosophical rucksack I can only climb slowly up the mountain of mathematics.}
+Load with \verb!\usepackage{epigraph-keys}!.
+\begin{tcblisting}{title={Simple example}}
+\epigraph[
+ author={Ludwig Wittgenstein},
+ source={Culture and Value}]
+ {With my full philosophical rucksack I can only
+ climb slowly up the mountain of mathematics.}
+\end{tcblisting}
+\begin{tcblisting}{title={Example with translation}}
+\epigraph[
+ author={Paul Painlev\'e},
+ source={Analyse des travaux scientifiques},
+ translation={The shortest and easiest path
+ between any two facts about the real domain
+ passes through the complex domain.}]
+ {Entre deux v\'erit\'es du domaine r\'eel, le
+ chemin le plus facile et le plus court passe
+ bien souvent par le domaine complexe.}
+\end{tcblisting}
+\newpage
+\section{Lots of epigraphs}
+If you want to lay out a series of epigraphs, use an \verb!epigraphs! environment:
+\begin{Example}[%
+frame=single,%
+framesep=3mm,%
+framerule=2mm,%
+rulecolor=\color{outerrule}]
+\begin{epigraphs}
+ \qitem[
+ author={Hermann Weyl},
+ source={Invariants},
+ etc={Duke Mathematical Journal 5,
+ 1939, 489--502}]
+ {In these days the angel of topology and the
+ devil of abstract algebra fight for the soul
+ of every individual discipline of
+ mathematics.}
+ \qitem[
+ author={Goethe},
+ source={Faust}]
+ {--- and so who are you, after all? \\
+ --- I am part of the power which forever
+ wills evil and forever works good.}
+ \qitem[
+ source={Quran},
+ etc={2:1/2:6-2:10 \emph{The Cow}}]
+ {This Book is not to be doubted.}
+\end{epigraphs}
+\end{Example}
+\newpage
+\section{Options}
+\begin{tcblisting}{title={Options}}
+\pgfkeys{
+ /epigraph,
+ after skip={1cm},
+ before skip={0mm},
+ author and source indent=2cm,
+ text indent=1cm,
+ width=\linewidth,
+ style={\large},
+ quote style={\itshape},
+ translation style={},
+ dash={\tikz[baseline=-.3em]
+ \node[inner sep=0pt]
+ {\pgfornament[width=1cm]{11}};}
+}
+\epigraph[
+ author={Goethe},
+ source={Faust}]
+ {\begin{enumerate}
+ \item[---]
+ and so who are you, after all?
+ \item[---]
+ I am part of the power which
+ forever wills evil and forever
+ works good.
+ \end{enumerate}}
+\end{tcblisting}
+\begin{tabular}{@{}>{\ttfamily}l>{}l>{\ttfamily}l<{}p{4.5cm}@{}}
+\toprule
+\multicolumn{1}{@{}l}{Option}&Type&\multicolumn{1}{l}{Default}&Significance\\
+\cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(lr){3-3}\cmidrule(l){4-4}
+author&text&&author's name\\
+source&text&&source of quotation\\
+etc&text&&additional information on the source or author of the quotation\\
+after skip&length&\textbackslash{}baselineskip&vertical space below epigraph\\
+before skip&length&0mm&vertical space above epigraph\\
+author and source indent&length&1.5cm&Indentation before author's name and source of quotation\\
+text indent&length&2cm&Indentation before quote\\
+width&length&\textbackslash{}linewidth&width of the entire epigraph\\
+style&macro&\textbackslash{}small&style of the entire epigraph\\
+quote style&macro&\textbackslash{}itshape&style of the quotation part\\
+translation style&macro&\{\}&style of the translation part\\
+dash&macro&\verb!---!&Macro to set the slash before the author's name\\
+\bottomrule
+\end{tabular}
+\end{document}
diff --git a/Master/texmf-dist/tex/latex/epigraph-keys/epigraph-keys.sty b/Master/texmf-dist/tex/latex/epigraph-keys/epigraph-keys.sty
new file mode 100644
index 00000000000..3dceba738e3
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/epigraph-keys/epigraph-keys.sty
@@ -0,0 +1,145 @@
+% Benjamin McKay
+% b.mckay@ucc.ie
+% see epigraph-keys.pdf or epigraph-keys.tex for more information.
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{epigraph-keys}[2020/04/22 v1.0 Epigraphs using key values]
+\RequirePackage{enumitem}
+\RequirePackage{pgfkeys}
+\RequirePackage{conditionals}
+\RequirePackage{microtype}
+
+\ProcessOptions\relax
+
+\makeatletter
+{\catcode`\!=8 % funny catcode so ! will be a delimiter
+ \catcode`\Q=3 % funny catcode so Q will be a delimiter
+\long\gdef\given#1{88\fi\Ifbl@nk#1QQQ\empty!}
+\long\gdef\blank#1{88\fi\Ifbl@nk#1QQ..!}% if null or spaces
+\long\gdef\nil#1{\IfN@Ught#1* {#1}!}% if null
+\long\gdef\IfN@Ught#1 #2!{\blank{#2}}
+\long\gdef\Ifbl@nk#1#2Q#3!{\ifx#3}% same as above
+}
+\makeatother
+
+% The expression \if\expblank{...} x \else y \if gives x when ... expands out to be blank space.
+\def\expblank{\expandafter\blank\expandafter}
+\def\expgiven{\expandafter\given\expandafter}
+\def\expnil{\expandafter\nil\expandafter}
+\def\beforeepigraphskip{0pt}
+\def\afterepigraphskip{\baselineskip}
+\def\epigraphtextindent{2cm}
+\def\epigraphauthorsourceindent{1.5cm}
+\def\epigraphtextwidth{\linewidth}
+\def\epigraphstyle{\small}
+\def\epigraphdash{---}
+\def\epigraphquotefont{\itshape}
+\def\epigraphtranslationfont{}
+
+\pgfkeys{
+ /epigraph/.is family,
+ /epigraph,
+ default/.style = {
+ author = {},
+ source = {},
+ etc = {},
+ translation = {},
+ },
+ author/.store in = \epigraphauthor,
+ source/.store in = \epigraphsource,
+ etc/.store in = \epigraphetc,
+ translation/.store in = \epigraphtranslation,
+ before skip/.store in = \beforeepigraphskip,
+ before skip/.default = 0pt,
+ after skip/.store in = \afterepigraphskip,
+ after skip/.default = \baselineskip,
+ text indent/.store in = \epigraphtextindent,
+ text indent/.default = 2cm,
+ author and source indent/.store in = \epigraphauthorsourceindent,
+ author and source indent/.default = 1.5cm,
+ width/.store in = \epigraphtextwidth,
+ width/.default = \linewidth,
+ style/.store in = \epigraphstyle,
+ style/.default = \small,
+ dash/.store in = \epigraphdash,
+ dash/.default = ---,
+ quote style/.store in = \epigraphquotefont,
+ quote style/.default = {},
+ translation style/.store in = \epigraphtranslationfont,
+ translation style/.default = {},
+}
+
+\ifdefined\epigraph\else\xdef\epigraph{}\fi
+\renewcommand{\epigraph}[2][]{
+ \pgfkeys{/epigraph,default,#1}
+ \epigraphstyle\vspace{\beforeepigraphskip}
+ \begin{enumerate}[leftmargin=\epigraphtextindent]
+ \item[]
+ {%%
+ \epigraphquotefont{}%
+ \begin{minipage}{\epigraphtextwidth}%
+ #2%
+ \end{minipage}%
+ }%%
+ \if\expblank{\epigraphtranslation}
+ \else
+ \item[]
+ {%
+ \epigraphtranslationfont%
+ {%%%%
+ \begin{minipage}{\epigraphtextwidth}%
+ \epigraphtranslation%
+ \end{minipage}
+ }%%%%
+ }%
+ \fi
+ \if\expblank{\epigraphauthor}
+ \if\expblank{\epigraphsource}
+ \if\expblank{\epigraphetc}
+ \else\epigraphetc
+ \fi
+ \else
+ \begin{enumerate}[leftmargin=\epigraphauthorsourceindent]%
+ \item[\epigraphdash]%
+ {%%
+ \smallerSmallCapsTracking{}\textsc{\epigraphsource}
+ }%%
+ \if\expblank{\epigraphetc}%
+ \else{}, \epigraphetc
+ \fi
+ \end{enumerate}
+ \fi
+ \else
+ \begin{enumerate}[leftmargin=\epigraphauthorsourceindent]%
+ \item[\epigraphdash] \epigraphauthor \\
+ \if\expblank{\epigraphsource}%
+ \if\expblank{\epigraphetc}%
+ \else\epigraphetc%
+ \fi%
+ \else%
+ \begingroup
+ \smallerSmallCapsTracking{}\textsc{\epigraphsource}%
+ \endgroup
+ \if\expblank{\epigraphetc}%
+ \else%
+ \begingroup%
+ , \epigraphetc
+ \endgroup
+ \fi
+ \fi
+ \end{enumerate}
+ \fi
+ \end{enumerate}
+ \vspace{\afterepigraphskip}
+ \par\noindent
+}
+
+\newcommand{\smallerSmallCapsTracking}%
+{%
+\SetTracking{encoding={*}, shape=sc}{20}%
+}%
+
+\ifdefined\epigraphs\else\xdef\epigraphs{}\fi
+\renewenvironment{epigraphs}{\begin{enumerate}}{\end{enumerate}}
+\ifdefined\qitem\else\xdef\qitem{}\fi
+\renewcommand{\qitem}[2][]{\item[]\epigraph[#1]{#2}}
+
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index a8cc8b50705..1ff44c96d63 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -268,7 +268,7 @@ my @TLP_working = qw(
endnotes endnotes-hy endnotesj endofproofwd
engpron engrec engtlc enigma enotez
enumitem enumitem-zref envbig environ envlab
- epigrafica epigram epigraph epiolmec eplain
+ epigrafica epigram epigraph epigraph-keys epiolmec eplain
epsdice epsf epsf-dvipdfmx epsincl epslatex-fr
epspdfconversion epstopdf epstopdf-pkg
eqell eqexpl eqlist eqnalign eqname eqnarray eqnnumwarn eqparbox
diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
index 6354c581fc9..50eaaecd43b 100644
--- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
@@ -382,6 +382,7 @@ depend envbig
depend environ
depend envlab
depend epigraph
+depend epigraph-keys
depend epiolmec
depend eqell
depend eqlist
diff --git a/Master/tlpkg/tlpsrc/epigraph-keys.tlpsrc b/Master/tlpkg/tlpsrc/epigraph-keys.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/epigraph-keys.tlpsrc