summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-09-10 21:17:19 +0000
committerKarl Berry <karl@freefriends.org>2014-09-10 21:17:19 +0000
commitebb7026b5e8fa37bdd5c719cbcfed2eb9105aa7e (patch)
treeaf218557103d4e6e4f1d91fd41fdecab3436355c
parentaa72574761d148253547759413275f2f636cfe00 (diff)
pressrelease (10sep14)
git-svn-id: svn://tug.org/texlive/trunk@35147 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/pressrelease/CHANGES3
-rw-r--r--Master/texmf-dist/doc/latex/pressrelease/README14
-rw-r--r--Master/texmf-dist/doc/latex/pressrelease/pressrelease.pdfbin0 -> 390169 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease.pdfbin0 -> 81940 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease.tex44
-rw-r--r--Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease2.pdfbin0 -> 91143 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease2.tex49
-rw-r--r--Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease3.pdfbin0 -> 96072 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease3.tex49
-rw-r--r--Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease4.pdfbin0 -> 92612 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease4.tex58
-rw-r--r--Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease5.pdfbin0 -> 91145 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease5.tex55
-rw-r--r--Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease6.pdfbin0 -> 96948 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease6.tex55
-rw-r--r--Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease7.pdfbin0 -> 97336 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease7.tex59
-rw-r--r--Master/texmf-dist/source/latex/pressrelease/pressrelease.dtx1632
-rw-r--r--Master/texmf-dist/source/latex/pressrelease/pressrelease.ins33
-rw-r--r--Master/texmf-dist/tex/latex/pressrelease/pressrelease-symbols.sty71
-rw-r--r--Master/texmf-dist/tex/latex/pressrelease/pressrelease.cls461
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rw-r--r--Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/pressrelease.tlpsrc0
24 files changed, 2585 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/pressrelease/CHANGES b/Master/texmf-dist/doc/latex/pressrelease/CHANGES
new file mode 100644
index 00000000000..70622f9aa17
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pressrelease/CHANGES
@@ -0,0 +1,3 @@
+v1.0 (2014-09-10):
+
+ * Initial release
diff --git a/Master/texmf-dist/doc/latex/pressrelease/README b/Master/texmf-dist/doc/latex/pressrelease/README
new file mode 100644
index 00000000000..cf37e662c02
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pressrelease/README
@@ -0,0 +1,14 @@
+LaTeX Class : pressrelease v1.0
+
+Last Modified : 2014-09-10
+
+Author : Nicola Talbot
+
+The pressrelease class is designed for typesetting press releases.
+
+
+This material is subject to the LaTeX Project Public License.
+See http://www.ctan.org/license/lppl1.3 for the details of that license.
+
+http://www.dickimaw-books.com/
+
diff --git a/Master/texmf-dist/doc/latex/pressrelease/pressrelease.pdf b/Master/texmf-dist/doc/latex/pressrelease/pressrelease.pdf
new file mode 100644
index 00000000000..ece7f312293
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pressrelease/pressrelease.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease.pdf b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease.pdf
new file mode 100644
index 00000000000..699a40895e6
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease.tex b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease.tex
new file mode 100644
index 00000000000..a2279ce4e10
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease.tex
@@ -0,0 +1,44 @@
+% arara: pdflatex
+% arara: pdflatex
+\documentclass[a4paper,11pt]{pressrelease}
+
+\usepackage[british]{babel}
+\usepackage{graphicx}
+
+\PRlogo{\includegraphics[height=2cm]{example-image}}
+
+\PRcompany{Some Company}
+\PRdepartment{Some Department}
+\PRcontact{Ann Other}
+\PRlocation{Some City}
+\PRaddress{1 The Street\\The Town\\AB1 2YZ}
+\PRphone{01234 56789}
+\PRmobile{07123456789}
+\PRfax{01234 56788}
+\PRurl{http://www.some-company.com/~abc}
+\PRemail{ann.other@some-company.com}
+\PRhours{9:00--17:30 Mon--Fri}
+
+\PRheadline{Some amazing news}
+\PRsubheadline{subheading}
+
+\begin{document}
+
+\begin{pressrelease}
+
+This is an example press release. Keep it short and use the third
+person. Avoid the use of exclamation marks and all-caps. Put all the
+pertinent details in the first paragraph. Answer who, what, when,
+where and why.
+
+Use short paragraphs. Try not to exceed 500 words. Keep to the point
+and avoid jargon. This is the default layout. The image is from the
+\textsf{mwe} package.
+
+\begin{about}
+Some Company was set up in 2014.
+\end{about}
+
+\end{pressrelease}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease2.pdf b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease2.pdf
new file mode 100644
index 00000000000..f0fe322a1b2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease2.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease2.tex b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease2.tex
new file mode 100644
index 00000000000..ffdf18a56c1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease2.tex
@@ -0,0 +1,49 @@
+% arara: pdflatex
+% arara: pdflatex
+\documentclass[a4paper,11pt]{pressrelease}
+
+\usepackage[british]{babel}
+\usepackage{graphicx}
+
+\PRset{head=below,logo=below right,smashlogo,ruled=false}
+
+\PRlogo{\includegraphics[height=2cm]{example-image}}
+
+\PRcompany{Some Company}
+\PRdepartment{Some Department}
+\PRcontact{Ann Other}
+\PRlocation{Some City}
+\PRaddress{1 The Street\\The Town\\AB1 2YZ}
+\PRphone{01234 56789}
+\PRmobile{07123456789}
+\PRfax{01234 56788}
+\PRurl{http://www.some-company.com/}
+\PRemail{ann.other@some-company.com}
+\PRhours{9:00--17:30 Mon--Fri}
+
+\PRheadline{Some amazing news}
+\PRsubheadline{subheading}
+
+\begin{document}
+
+\begin{pressrelease}
+
+This is an example press release. Keep it short and use the third
+person. Avoid the use of exclamation marks and all-caps. Put all the
+pertinent details in the first paragraph. Answer who, what, when,
+where and why. This sample file uses:
+\begin{verbatim}
+\PRset{head=below,logo=below right,smashlogo,ruled=false}
+\end{verbatim}
+The image is from the \textsf{mwe} package.
+
+Use short paragraphs. Try not to exceed 500 words. Keep to the point
+and avoid jargon.
+
+\begin{about}
+Some Company was set up in imaginary year $i$.
+\end{about}
+
+\end{pressrelease}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease3.pdf b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease3.pdf
new file mode 100644
index 00000000000..92f17e494fa
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease3.tex b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease3.tex
new file mode 100644
index 00000000000..5775ab7106e
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease3.tex
@@ -0,0 +1,49 @@
+% arara: pdflatex
+% arara: pdflatex
+\documentclass[a4paper,11pt]{pressrelease}
+
+\usepackage[british]{babel}
+\usepackage{graphicx}
+
+\usepackage{lipsum}% dummy text
+
+\PRlogo{\includegraphics[height=2cm]{example-image}}
+
+\PRcompany{Some Company}
+\PRdepartment{Some Department}
+\PRcontact{Ann Other}
+\PRlocation{Some City}
+\PRaddress{1 The Street\\The Town\\AB1 2YZ}
+\PRphone{01234 56789}
+\PRmobile{07123456789}
+\PRfax{01234 56788}
+\PRurl{http://www.some-company.com/}
+\PRemail{ann.other@some-company.com}
+\PRhours{9:00--17:30 Mon--Fri}
+
+\PRheadline{Some amazing news}
+\PRsubheadline{subheading}
+
+\renewcommand*{\PRheaderfont}[1]{\textsc{#1}}
+\renewcommand*{\PRnOfm}[2]{\ifnum#1<#2\relax--More--\fi}
+
+\begin{document}
+
+\begin{pressrelease}
+
+This is a bad example of a press release as it's not generally a
+good idea to have more than one page of text, but perhaps you have
+some amazing world-changing news. This sample file uses the
+\textsf{lipsum}
+package to insert some dummy text to pad out the document.
+The image is from the \textsf{mwe} package.
+
+\lipsum[1-4]
+
+\begin{about}
+\lipsum[5]
+\end{about}
+
+\end{pressrelease}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease4.pdf b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease4.pdf
new file mode 100644
index 00000000000..6e09397a5ad
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease4.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease4.tex b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease4.tex
new file mode 100644
index 00000000000..3779a1d3fca
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease4.tex
@@ -0,0 +1,58 @@
+% arara: pdflatex
+% arara: pdflatex
+\documentclass[a4paper,11pt]{pressrelease}
+
+\usepackage[british]{babel}
+\usepackage{graphicx}
+
+% The location won't appear as it's not listed in
+% topinfo or bottominfo
+
+\PRset{head=below,logo=below left,releasealign=right,
+ topinfoalign=right,bottominfoalign=left,
+ topinfo=company/date,
+ bottominfo=contact/department/address/phone/hours/email}
+
+\PRlogo{\includegraphics[height=2cm]{example-image}}
+
+\PRcompany{Some Company}
+\PRdepartment{Some Department}
+\PRcontact{Ann Other}
+\PRlocation{Some City}
+\PRaddress{1 The Street\\The Town\\AB1 2YZ}
+\PRphone{01234 56789}
+\PRmobile{07123456789}
+\PRfax{01234 56788}
+\PRurl{http://www.some-company.com/}
+\PRemail{ann.other@some-company.com}
+\PRhours{9:00--17:30 Mon--Fri}
+
+\PRheadline{Some amazing news}
+\PRsubheadline{subheading}
+
+\begin{document}
+
+\begin{pressrelease}
+
+This is an example press release. Keep it short and use the third
+person. Avoid the use of exclamation marks and all-caps. Put all the
+pertinent details in the first paragraph. Answer who, what, when,
+where and why.
+
+Use short paragraphs. Try not to exceed 500 words. Keep to the point
+and avoid jargon. The layout was set using:
+\begin{verbatim}
+\PRset{head=below,logo=below left,releasealign=right,
+ topinfoalign=right,bottominfoalign=left,
+ topinfo=company/date,
+ bottominfo=contact/department/address/phone/hours/email}
+\end{verbatim}
+The image is from the \textsf{mwe} package.
+
+\begin{about}
+Some Company was set up in imaginary year $i$.
+\end{about}
+
+\end{pressrelease}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease5.pdf b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease5.pdf
new file mode 100644
index 00000000000..daf32fcf3de
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease5.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease5.tex b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease5.tex
new file mode 100644
index 00000000000..30a95976b4d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease5.tex
@@ -0,0 +1,55 @@
+% arara: pdflatex
+% arara: pdflatex
+\documentclass[a4paper,11pt]{pressrelease}
+
+\usepackage[british]{babel}
+\usepackage{graphicx}
+
+% Remove textual tags from top info block
+\renewcommand*{\PRinfotopline}[2]{%
+ \PRinfoentry{#2}\tabularnewline
+}
+
+\PRlogo{\includegraphics[height=2cm]{example-image}}
+
+\PRcompany{Some Company}
+\PRcontact{Ann Other}
+\date{Some City, \today}
+\PRaddress{1 The Street\\The Town\\AB1 2YZ}
+\PRphone{01234 56789}
+\PRmobile{07123456789}
+\PRfax{01234 56788}
+\PRurl{http://www.some-company.com/}
+\PRemail{ann.other@some-company.com}
+\PRhours{9:00--17:30 Mon--Fri}
+
+\PRheadline{Some amazing news}
+\PRsubheadline{subheading}
+
+\begin{document}
+
+\begin{pressrelease}
+
+This is an example press release. Keep it short and use the third
+person. Avoid the use of exclamation marks and all-caps. Put all the
+pertinent details in the first paragraph. Answer who, what, when,
+where and why.
+
+Use short paragraphs. Try not to exceed 500 words. Keep to the point
+and avoid jargon. This layout has removed the textual tags in the
+top info block by redefining:
+\begin{verbatim}
+\renewcommand*{\PRinfotopline}[2]{%
+ \PRinfoentry{#2}\tabularnewline
+}
+\end{verbatim}
+The image is from the
+\textsf{mwe} package.
+
+\begin{about}
+Some Company was set up in imaginary year $i$.
+\end{about}
+
+\end{pressrelease}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease6.pdf b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease6.pdf
new file mode 100644
index 00000000000..9e82b36b0ac
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease6.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease6.tex b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease6.tex
new file mode 100644
index 00000000000..919f85d6a00
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease6.tex
@@ -0,0 +1,55 @@
+% arara: pdflatex
+% arara: pdflatex
+\documentclass[a4paper,11pt,symbols]{pressrelease}
+
+\usepackage[british]{babel}
+\usepackage{graphicx}
+
+\PRset{releasealign=right,ruled=false,logo=below right,smashlogo}
+
+\PRlogo{\includegraphics[height=2cm]{example-image}}
+
+\PRcompany{Some Company}
+\PRdepartment{Some Department}
+\PRcontact{Ann Other}
+\PRaddress{1 The Street\\The Town\\AB1 2YZ}
+\PRphone{01234 56789}
+\PRmobile{07123456789}
+\PRfax{01234 56788}
+\PRurl{http://www.some-company.com/~abc}
+\PRemail{ann.other@some-company.com}
+\PRhours{9:00--17:30 Mon--Fri}
+\PRencl{some stuff}
+
+\date{Some City, \today}
+
+\PRheadline{Some amazing news}
+\PRsubheadline{subheading}
+
+\begin{document}
+
+\begin{pressrelease}
+
+This is an example press release. Keep it short and use the third
+person. Avoid the use of exclamation marks and all-caps. Put all the
+pertinent details in the first paragraph. Answer who, what, when,
+where and why.
+
+Use short paragraphs. Try not to exceed 500 words. Keep to the point
+and avoid jargon. This example has loaded the
+\textsf{pressrelease-symbols} package (via the \texttt{symbols}
+class option) to use symbols (from the
+\textsf{marvosym} package and one designed using \textsf{tikz}) instead of text.
+The image is from the \textsf{mwe} package. The header layout has
+been changed using:
+\begin{verbatim}
+\PRset{releasealign=right,ruled=false,logo=below right,smashlogo}
+\end{verbatim}
+
+\begin{about}
+Some Company was set up in imaginary year $i$.
+\end{about}
+
+\end{pressrelease}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease7.pdf b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease7.pdf
new file mode 100644
index 00000000000..fe8d0494dc7
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease7.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease7.tex b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease7.tex
new file mode 100644
index 00000000000..1fd4b598ffe
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pressrelease/samples/sample-pressrelease7.tex
@@ -0,0 +1,59 @@
+% arara: pdflatex
+% arara: pdflatex
+\documentclass[a4paper,11pt]{pressrelease}
+
+\usepackage[british]{babel}
+\usepackage{graphicx}
+\usepackage[hidelinks]{hyperref}
+
+\usepackage{pressrelease-symbols}
+
+\PRset{releasealign=right,ruled=false,logo=below right,smashlogo}
+
+\renewcommand*{\PRemailformat}[1]{\href{mailto:#1}{\texttt{#1}}}
+
+\PRlogo{\includegraphics[height=2cm]{example-image}}
+
+\PRcompany{Some Company}
+\PRdepartment{Some Department}
+\PRcontact{Ann Other}
+\PRaddress{1 The Street\\The Town\\AB1 2YZ}
+\PRphone{01234 56789}
+\PRmobile{07123456789}
+\PRfax{01234 56788}
+\PRurl{http://www.some-company.com/~abc}
+\PRemail{ann.other@some-company.com}
+\PRhours{9:00--17:30 Mon--Fri}
+\PRencl{some stuff}
+
+\date{Some City, \today}
+
+\PRheadline{Some amazing news}
+\PRsubheadline{subheading}
+
+\begin{document}
+
+\begin{pressrelease}
+
+This is an example press release. Keep it short and use the third
+person. Avoid the use of exclamation marks and all-caps. Put all the
+pertinent details in the first paragraph. Answer who, what, when,
+where and why.
+
+Use short paragraphs. Try not to exceed 500 words. Keep to the point
+and avoid jargon. This example has loaded the
+\textsf{pressrelease-symbols} package to use symbols (from the
+\textsf{marvosym} package and one designed using \textsf{tikz}) instead of text.
+The image is from the \textsf{mwe} package. The header layout has
+been changed using:
+\begin{verbatim}
+\PRset{releasealign=right,ruled=false,logo=below right,smashlogo}
+\end{verbatim}
+
+\begin{about}
+Some Company was set up in imaginary year $i$.
+\end{about}
+
+\end{pressrelease}
+
+\end{document}
diff --git a/Master/texmf-dist/source/latex/pressrelease/pressrelease.dtx b/Master/texmf-dist/source/latex/pressrelease/pressrelease.dtx
new file mode 100644
index 00000000000..77322a8f649
--- /dev/null
+++ b/Master/texmf-dist/source/latex/pressrelease/pressrelease.dtx
@@ -0,0 +1,1632 @@
+%\iffalse
+% pressrelease.dtx generated using makedtx version 1.1 (c) Nicola Talbot
+% Command line args:
+% -src "pressrelease.cls\Z=>pressrelease.cls"
+% -src "(.+\.sty)\Z=>\1"
+% -doc "pressrelease-manual.tex"
+% -author "Nicola Talbot"
+% pressrelease
+% Created on 2014/9/10 18:01
+%\fi
+%\iffalse
+%<*package>
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%</package>
+%\fi
+% \iffalse
+% Doc-Source file to use with LaTeX2e
+% Copyright (C) 2014 Nicola Talbot, all rights reserved.
+% \fi
+% \iffalse
+%<*driver>
+\documentclass{nlctdoc}
+
+\usepackage{alltt}
+\usepackage{verbatim}
+\usepackage{graphicx}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage[colorlinks,
+ bookmarks,
+ hyperindex=false,
+ pdfauthor={Nicola L.C. Talbot},
+ pdftitle={pressrelease.cls: LaTeX class for typesetting press releases},
+ pdfkeywords={LaTeX,press release}]{hyperref}
+
+
+\CheckSum{776}
+
+\newcommand*{\opt}[1]{\csopt{PRset}{#1}}
+\providecommand*{\optfmt}[1]{\textsf{#1}}
+\renewcommand*{\ienv}[1]{\SpecialEnvIndex{#1}}
+\renewcommand*{\usage}[1]{\hyperpage{#1}}
+\renewcommand*{\main}[1]{\hyperpage{#1}}
+\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}}
+\setcounter{IndexColumns}{2}
+
+\begin{document}
+\DocInput{pressrelease.dtx}
+\end{document}
+%</driver>
+%\fi
+%
+%\MakeShortVerb{"}
+%
+%\title{pressrelease v1.0:
+%typesetting press releases}
+%\author{Nicola L. C. Talbot\\\url{http://www.dickimaw-books.com/}}
+%
+%\date{2014-09-10}
+%\maketitle
+%
+%\begin{abstract}
+%The \clsfmt{pressrelease} class is provided for typesetting press
+%releases. I wrote it because I found that \cls{newlfm}'s press
+%release option wasn't sufficiently configurable for my requirements.
+%Sample documents should be available in the \texttt{samples} subdirectory
+%of the directory where this document is located.
+%\end{abstract}
+%
+%\tableofcontents
+%
+%\section{Introduction}
+%\label{sec:intro}
+%
+%A press release is a written statement to inform the media of
+%forthcoming events, new products, awards or any other type of news
+%item. A press release should be a~compact document that briefly
+%outlines the main details of the news item. Therefore press releases
+%are usually no longer than a~single page. Hard copies are typically
+%double-spaced to allow the journalist room to scribble notes. The
+%end of the press release is signalled by three hash (\#) signs
+%(\term{end of release marker}).
+%
+%The \clsfmt{pressrelease} class is loaded in the usual \LaTeX\
+%manner:
+%\begin{verbatim}
+%\documentclass{pressrelease}
+%\end{verbatim}
+%You may specify the class options: \clsopt{10pt}, \clsopt{11pt},
+%\clsopt{12pt}, \clsopt{a4paper}, \clsopt{letterpaper}. These are the
+%same as the standard class options of the same names. The
+%\sty{geometry} package is automatically loaded so if you want to
+%change the page size you can do so using \cs{geometry} (see the
+%\sty{geometry} documentation for further details). You can also use
+%the class option \clsopt{symbols} to automatically load the
+%accompanying \sty{pressrelease-symbols} package (see
+%\sectionref{sec:tags}).
+%
+%Within the \envfmt{document} environment, the contents of the press
+%release should be placed inside the \env{pressrelease} environment.
+%\begin{definition}[\DescribeEnv{pressrelease}]
+%\cs{begin}\{pressrelease\}\newline
+%\meta{press release content}\newline
+%\cs{end}\{pressrelease\}
+%\end{definition}
+%
+%Within the \env{pressrelease} environment you can use the
+%\envfmt{about} environment for information about the company.
+%\begin{definition}[\DescribeEnv{about}]
+%\cs{begin}\{about\}\newline
+%\meta{Information}\newline
+%\cs{end}\{about\}
+%\end{definition}
+%
+%The contents of the \env{pressrelease} environment are double-spaced
+%(using the \sty{setspace} package, which is loaded by
+%default). Two \LaTeX\ runs are required to ensure the last page
+%information is correct.
+%
+%\section{Data Setting Commands}
+%\label{sec:datacommands}
+%
+%In the preamble (or anywhere before the start of the
+%\env{pressrelease} environment) you may use the commands described below
+%to provide data used in the press release.
+%You can later access the information provided using
+%\begin{definition}[\DescribeMacro\PRusevar]
+%\cs{PRusevar}\marg{variable}
+%\end{definition}
+%where \meta{variable} is the variable name. For example, to access
+%the information provided by \cs{PRcompany}, you can use
+%\verb|\PRusevar{company}|.
+%
+%\begin{definition}[\DescribeMacro\PRheadline]
+%\cs{PRheadline}\marg{text}
+%\end{definition}
+%This specifies the press release title used in the
+%\term{headline block}.
+%
+%\begin{definition}[\DescribeMacro\PRsubheadline]
+%\cs{PRsubheadline}\marg{text}
+%\end{definition}
+%This specifies the press release sub-title used in the
+%\term{headline block}.
+%
+%\begin{definition}[\DescribeMacro\PRrelease]
+%\cs{PRrelease}\marg{text}
+%\end{definition}
+%This specifies the \term{release statement}. If omitted, the default is
+%``For immediate release''. For example:
+%\begin{verbatim}
+%\PRrelease{Embargo until 30th April 2014}
+%\end{verbatim}
+%
+%\begin{definition}[\DescribeMacro\PRlogo]
+%\cs{PRlogo}\marg{logo}
+%\end{definition}
+%This specifies the company \term{logo}, where \meta{logo} represents the
+%commands required to display the logo. For example, if the logo is
+%in the image file \texttt{company-logo.png}:
+%\begin{verbatim}
+%\PRlogo{\includegraphics{company-logo}}
+%\end{verbatim}
+%(Remember to include the \sty{graphicx} package if you want to use
+%\cs{includegraphics}.)
+%
+%\begin{definition}[\DescribeMacro\PRcompany]
+%\cs{PRcompany}\marg{name}
+%\end{definition}
+%This specifies the company name. For example:
+%\begin{verbatim}
+%\PRcompany{Imaginary Company, Ltd}
+%\end{verbatim}
+%
+%\begin{definition}[\DescribeMacro\PRdepartment]
+%\cs{PRdepartment}\marg{name}
+%\end{definition}
+%This specifies the department name. For example:
+%\begin{verbatim}
+%\PRdepartment{Department of Miscellaneous Stuff}
+%\end{verbatim}
+%
+%\begin{definition}[\DescribeMacro\PRlocation]
+%\cs{PRlocation}\marg{place}
+%\end{definition}
+%This specifies the company's location. For example:
+%\begin{verbatim}
+%\PRlocation{The Moon}
+%\end{verbatim}
+%
+%\begin{definition}[\DescribeMacro\date]
+%\cs{date}\marg{some date}
+%\end{definition}
+%This specifies the date of the press release. For example:
+%\begin{verbatim}
+%\date{1st April 2014}
+%\end{verbatim}
+%If omitted, \cs{today} will be used.
+%
+%\begin{definition}[\DescribeMacro\PRcontact]
+%\cs{PRcontact}\marg{name}
+%\end{definition}
+%This specifies the name of the contact person in case of
+%queries. For example:
+%\begin{verbatim}
+%\PRcontact{Ann Other}
+%\end{verbatim}
+%
+%\begin{definition}[\DescribeMacro\PRaddress]
+%\cs{PRaddress}\marg{text}
+%\end{definition}
+%This specifies the contact's postal address. For example:
+%\begin{verbatim}
+%\PRaddress{1 The Street\\The City\\AB1 2YZ}
+%\end{verbatim}
+%
+%\begin{definition}[\DescribeMacro\PRphone]
+%\cs{PRphone}\marg{number}
+%\end{definition}
+%This specifies the contact's telephone number. For example:
+%\begin{verbatim}
+%\PRphone{0123 456789}
+%\end{verbatim}
+%
+%\begin{definition}[\DescribeMacro\PRmobile]
+%\cs{PRmobile}\marg{number}
+%\end{definition}
+%This specifies the contact's mobile phone number. For example:
+%\begin{verbatim}
+%\PRmobile{07123 456789}
+%\end{verbatim}
+%
+%\begin{definition}[\DescribeMacro\PRfax]
+%\cs{PRfax}\marg{number}
+%\end{definition}
+%This specifies the contact's fax number. For example:
+%\begin{verbatim}
+%\PRfax{0123 456788}
+%\end{verbatim}
+%
+%\begin{definition}[\DescribeMacro\PRurl]
+%\cs{PRurl}\marg{web address}
+%\end{definition}
+%This specifies the company's web address. For example:
+%\begin{verbatim}
+%\PRurl{http://www.some-company.com/}
+%\end{verbatim}
+%This information is inserted at the end of the \env{about}
+%environment using \ics{url} (the \sty{url} package is automatically
+%loaded).
+%
+%\begin{definition}[\DescribeMacro\PRemail]
+%\cs{PRemail}\marg{email address}
+%\end{definition}
+%This specifies the contact's email address. For example:
+%\begin{verbatim}
+%\PRemail{ann.other@some-company.com}
+%\end{verbatim}
+%This is formatted using the command
+%\begin{definition}[\DescribeMacro\PRemailformat]
+%\cs{PRemailformat}\marg{text}
+%\end{definition}
+%This defaults to \cs{texttt}\marg{text} but if you load the
+%\sty{hyperref} package you can convert the email address into an
+%active length using:
+%\begin{verbatim}
+%\renewcommand*{\PRemailformat}[1]{\href{mailto:#1}{\texttt{#1}}}
+%\end{verbatim}
+%\begin{definition}[\DescribeMacro\PRhours]
+%\cs{PRhours}\marg{times}
+%\end{definition}
+%This specifies the company's opening hours. For example:
+%\begin{verbatim}
+%\PRhours{9:00--17:30 Mon--Fri}
+%\end{verbatim}
+%
+%\begin{definition}[\DescribeMacro\PRencl]
+%\cs{PRencl}\marg{times}
+%\end{definition}
+%This specifies any enclosed information. For example:
+%\begin{verbatim}
+%\PRencl{complementary tickets}
+%\end{verbatim}
+%This information is inserted before the
+%\term{end of release marker}.
+%
+%\section{Changing the Settings}
+%\label{sec:settings}
+%
+%The layout of the press release consists of: (\term{upper area}) the
+%\term{logo}, the \term{release statement}, the
+%\term{headline block}, the \term{top information block};
+%(\term{lower area}) the \term{bottom information block}, the
+%\term{enclosure} information, the \term{end of release marker}.
+%The contents of the \env{pressrelease}
+%environment is placed between the upper and lower areas.
+%
+%The layout of the press release can be customized using:
+%\begin{definition}[\DescribeMacro\PRset]
+%\cs{PRset}\marg{options}
+%\end{definition}
+%where \meta{options} is a \meta{key}=\meta{value} list of options.
+%Most of these options can also be passed as class options. The
+%options that can't be passed as a class option are:
+%\opt{topinfo} and \opt{bottominfo}.
+%
+%\begin{description}
+%\item[\opt{head}] This indicates if the \term{headline block} should go above or
+%below the \term{top information block} and may also be used to
+%indicate the horizontal position of the headline block.
+%Permitted values: \optfmt{above}, \optfmt{below}, \optfmt{center},
+%\optfmt{left}, \optfmt{right}. (The value \optfmt{centre} is
+%equivalent to \optfmt{center}.)
+%Mutually exclusive options override each other. For example
+%\begin{verbatim}
+%\PRset{head=left,head=right}
+%\end{verbatim}
+%will put the headline block on the right, whereas
+%\begin{verbatim}
+%\PRset{head=left,head=above}
+%\end{verbatim}
+%will put the headline block on the left above the top information block.
+%For convenience the following options are also supplied to specified
+%both the horizontal and vertical position: \optfmt{above center} (or
+%\optfmt{above centre}), \optfmt{above left}, \optfmt{above right},
+%\optfmt{below center} (or \optfmt{below centre}), \optfmt{below
+%left}, \optfmt{below right}. The default is \optfmt{above center}.
+%
+%\item[\opt{smashlogo}] This is a boolean option. If \optfmt{true},
+%the \term{logo} is placed inside a \cs{vbox} of zero height. The default
+%is \optfmt{false}.
+%
+%\item[\opt{logo}] This indicates the \term{logo}'s position.
+%Permitted values: \optfmt{left}
+%(flush left), \optfmt{right} (flush right), \optfmt{above} (above
+%the \term{release statement}), \optfmt{below} (below the release
+%statement). Mutually exclusive options override each other.
+%For example
+%\begin{verbatim}
+%\PRset{logo=left,logo=right}
+%\end{verbatim}
+%will put the logo on the right, whereas
+%\begin{verbatim}
+%\PRset{logo=left,logo=above}
+%\end{verbatim}
+%will put the logo on the left above the release statement. For
+%convenience the following options are also provided that specify
+%both the horizontal and vertical positions: \optfmt{above left},
+%\optfmt{above right}, \optfmt{below left} and \optfmt{below right}.
+%For example
+%\begin{verbatim}
+%\PRset{logo=above left}
+%\end{verbatim}
+%is equivalent to
+%\begin{verbatim}
+%\PRset{logo=left,logo=above}
+%\end{verbatim}
+%The default is \optfmt{above right}.
+%
+%\item[\opt{releasealign}] This specifies the alignment of the
+%\term{release statement}. Permitted values: \optfmt{center}
+%(centred), \optfmt{left} (flush left), \optfmt{right} (flush right).
+%The default is \optfmt{center}. (The value \optfmt{centre} is
+%equivalent to \optfmt{center}.)
+%
+%\item[\opt{ruled}] This is a boolean option. If \optfmt{true},
+%horizontal rules are placed in the header block. If the \opt{head} option
+%has been set to \optfmt{above} only two rules are drawn, one above
+%the release statement and the other below the subheading. If the
+%\opt{head} option has been set to \optfmt{below}, four rules are
+%drawn: above and below the release statement, above the headline and
+%below the subheading. The default value is \optfmt{true}.
+%
+%\item[\opt{topinfoalign}] This specifies the alignment of the
+%\term{top information block}. Permitted values: \optfmt{center}
+%(centred), \optfmt{left} (flush left), \optfmt{right} (flush right).
+%The default is \optfmt{left}. (The value \optfmt{centre} is
+%equivalent to \optfmt{center}.)
+%
+%\item[\opt{bottominfoalign}] This specifies the alignment of the
+%\term{bottom information block}. Permitted values: \optfmt{center}
+%(centred), \optfmt{left} (flush left), \optfmt{right} (flush right).
+%The default is \optfmt{right}. (The value \optfmt{centre} is
+%equivalent to \optfmt{center}.)
+%
+%\item[\opt{topinfo}] The specifies the information to display
+%in the \term{top information block} and the display order. The
+%value should be a slash \texttt{/} separated list of keywords
+%indicating the information. The order of the keywords in the list
+%indicates the display order. Permitted keywords: \optfmt{company}
+%(as given by \ics{PRcompany}), \optfmt{department} (as given by
+%\ics{PRdepartment}), \optfmt{location} (as given by
+%\ics{PRlocation}), \optfmt{contact} (as given by \ics{PRcontact}),
+%\optfmt{address} (as given by \ics{PRaddress}), \optfmt{hours} (as
+%given by \ics{PRhours}), \optfmt{phone} (the phone numbers block as
+%given by \ics{PRphone}, \ics{PRmobile} and \ics{PRfax}),
+%\optfmt{email} (as given by \ics{PRemail}), \optfmt{date} (as given
+%by \ics{date}). The default is:
+%\begin{verbatim}
+%\PRset{topinfo=company/department/location/date}
+%\end{verbatim}
+%This option can't be passed as a class option.
+%
+%\item[\opt{bottominfo}] The specifies the information to display
+%in the \term{bottom information block} and the display order. This
+%has the same syntax as \opt{topinfo}. The default is:
+%\begin{verbatim}
+%\PRset{bottominfo=contact/address/hours/phone/email}
+%\end{verbatim}
+%This option can't be passed as a class option.
+%\end{description}
+%
+%\section{Textual Tags}
+%\label{sec:tags}
+%
+%The \term{top information block}, the website information at the end of the
+%\env{about} environment, the \term{bottom information block},
+%and the \term{enclosure} information all have textual tags
+%formatted using:
+%\begin{definition}[\DescribeMacro\PRtagformat]
+%\cs{PRtagformat}\marg{text}
+%\end{definition}
+%This defaults to \verb|\textbf{|\meta{text}\verb|:}| (the tag in
+%bold with a colon). The top and bottom information blocks are set in
+%a \env{tabular} environment with each row displayed using
+%\begin{definition}[\DescribeMacro\PRinfotopline]
+%\cs{PRinfotopline}\marg{tag}\marg{details}
+%\end{definition}
+%for the top information block and
+%\begin{definition}[\DescribeMacro\PRinfobottomline]
+%\cs{PRinfobottomline}\marg{tag}\marg{details}
+%\end{definition}
+%for the bottom information block. Both of these commands default to
+%\begin{definition}[\DescribeMacro\PRinfoline]
+%\cs{PRinfoline}\marg{tag}\marg{details}
+%\end{definition}
+%This is defined as
+%\begin{verbatim}
+%\newcommand*{\PRinfoline}[2]{%
+% \PRtagformat{#1} & \PRinfoentry{#2}\tabularnewline
+%}
+%\end{verbatim}
+%where
+%\begin{definition}[\DescribeMacro\PRinfoentry]
+%\cs{PRinfoentry}\marg{details}
+%\end{definition}
+%formats the data supplied by commands such as \cs{PRcompany},
+%described in \sectionref{sec:datacommands}. Rows with empty data are
+%ignored.
+%
+%If you want to remove all tags in the top and bottom information
+%blocks, you can do so using:
+%\begin{verbatim}
+%\renewcommand*{\PRinfoline}[2]{%
+% \PRinfoentry{#2}\tabularnewline
+%}
+%\end{verbatim}
+%or if you want the tags on the right instead of the left you can do:
+%\begin{verbatim}
+%\renewcommand*{\PRinfoline}[2]{%
+% \PRinfoentry{#2} & \PRtagformat{#1}\tabularnewline
+%}
+%\end{verbatim}
+%If you only want to remove the tags from the top information block,
+%you can do:
+%\begin{verbatim}
+%\renewcommand*{\PRinfotopline}[2]{%
+% \PRinfoentry{#2}\tabularnewline
+%}
+%\end{verbatim}
+%
+%The enclosure information is formatted using:
+%\begin{definition}[\DescribeMacro\PRenclformat]
+%\cs{PRenclformat}\marg{tag}\marg{details}
+%\end{definition}
+%
+%The website information at the end of the \env{about} environment is
+%formatted using:
+%\begin{definition}[\DescribeMacro\PRurlformat]
+%\cs{PRurlformat}\marg{tag}\marg{web address}
+%\end{definition}
+%
+%The tags can be changed by redefining the commands described below.
+%For example, if you want to provide alternative text or if you want
+%to display symbols instead. The \sty{pressrelease-symbols} package
+%provided with the \clsfmt{pressrelease} class redefines these commands
+%to display symbols from the \sty{marvosym} package\footnote{There's
+%an additional symbol defined using the \sty{tikz} package.}. (It
+%also suppresses the tags in the top information block.) So if
+%you want symbols you can just do:
+%\begin{verbatim}
+%\documentclass{pressrelease}
+%\usepackage{pressrelease-symbols}
+%\end{verbatim}
+%or, equivalently,
+%\begin{verbatim}
+%\documentclass[symbols]{pressrelease}
+%\end{verbatim}
+%If you don't like this choice of symbols you can just redefine the
+%commands below according to your preferences.
+%
+%\begin{definition}[\DescribeMacro\PRcontacttext]
+%\cs{PRcontacttext}
+%\end{definition}
+%The contact tag. Default: \qt{Contact}.
+%
+%\begin{definition}[\DescribeMacro\PRphonetext]
+%\cs{PRphonetext}
+%\end{definition}
+%The phone tag. Default: \qt{Telephone}.
+%
+%\begin{definition}[\DescribeMacro\PRmobiletext]
+%\cs{PRmobiletext}
+%\end{definition}
+%The mobile phone tag. Default: \qt{Mobile}.
+%
+%\begin{definition}[\DescribeMacro\PRemailtext]
+%\cs{PRemailtext}
+%\end{definition}
+%The email tag. Default: \qt{Email}.
+%
+%\begin{definition}[\DescribeMacro\PRurltext]
+%\cs{PRurltext}
+%\end{definition}
+%The url tag. Default: \qt{Website}.
+%
+%\begin{definition}[\DescribeMacro\PRfaxtext]
+%\cs{PRfaxtext}
+%\end{definition}
+%The fax tag. Default: \qt{Fax}.
+%
+%\begin{definition}[\DescribeMacro\PRcompanytext]
+%\cs{PRcompanytext}
+%\end{definition}
+%The company tag. Default: \qt{Company}.
+%
+%\begin{definition}[\DescribeMacro\PRdepartmenttext]
+%\cs{PRdepartmenttext}
+%\end{definition}
+%The department tag. Default: \qt{Department}.
+%
+%\begin{definition}[\DescribeMacro\PRaddresstext]
+%\cs{PRaddresstext}
+%\end{definition}
+%The address tag. Default: \qt{Address}.
+%
+%\begin{definition}[\DescribeMacro\PRhourstext]
+%\cs{PRhourstext}
+%\end{definition}
+%The opening hours tag. Default: \qt{Opening Times}.
+%
+%\begin{definition}[\DescribeMacro\PRdatetext]
+%\cs{PRdatetext}
+%\end{definition}
+%The date tag. Default: \qt{Date}.
+%
+%\begin{definition}[\DescribeMacro\PRlocationtext]
+%\cs{PRlocationtext}
+%\end{definition}
+%The location tag. Default: \qt{Location}.
+%
+%\begin{definition}[\DescribeMacro\PRencltext]
+%\cs{PRencltext}
+%\end{definition}
+%The enclosures tag. Default: \qt{Encl.}
+%
+%\begin{definition}[\DescribeMacro\PRabouttext]
+%\cs{PRabouttext}
+%\end{definition}
+%The about tag. Default: \verb|About \PRusevar{company}|.
+%
+%The default release statement (\qt{For immediate release}) is produced using
+%\begin{definition}[\DescribeMacro\PRreleasetext]
+%\cs{PRreleasetext}
+%\end{definition}
+%This is used if \cs{PRrelease} isn't used.
+%
+%The page footer uses
+%\begin{definition}[\DescribeMacro\PRnOfm]
+%\cs{PRnOfm}\marg{n}\marg{m}
+%\end{definition}
+%to format the page number in the style \qt{\meta{n} of \meta{m}}.
+%
+%\section{Adding Multilingual Support}
+%\label{sec:multiling}
+%
+%If you want to provide translations for the tags, you can write your
+%own package that redefines the commands described in
+%\sectionref{sec:tags}. For example, create a file called
+%\texttt{pressrelease-}\meta{LANG}\texttt{.sty}, where \meta{LANG} is
+%the language name and type in the following, replacing \meta{LANG}
+%with the language name and inserting the required translations:
+%\begin{alltt}
+%\cs{NeedsTeXFormat}\{LaTeX2e\}
+%\cs{ProvidesPackage}\{pressrelease-\meta{LANG}\}
+%\end{alltt}
+%\begin{verbatim}
+%\renewcommand*{\PRreleasetext}{For immediate release}
+%\renewcommand*{\PRcontacttext}{Contact}
+%\renewcommand*{\PRphonetext}{Telephone}
+%\renewcommand*{\PRmobiletext}{Mobile}
+%\renewcommand*{\PRemailtext}{Email}
+%\renewcommand*{\PRurltext}{Website}
+%\renewcommand*{\PRfaxtext}{Fax}
+%\renewcommand*{\PRcompanytext}{Company}
+%\renewcommand*{\PRdepartmenttext}{Department}
+%\renewcommand*{\PRaddresstext}{Address}
+%\renewcommand*{\PRhourstext}{Opening Times}
+%\renewcommand*{\PRdatetext}{Date}
+%\renewcommand*{\PRlocationtext}{Location}
+%\renewcommand*{\PRabouttext}{About \PRusevar{company}}
+%\renewcommand*{\PRencltext}{Encl.}
+%\renewcommand*{\PRnOfm}[2]{#1 of #2}
+%
+%\endinput
+%\end{verbatim}
+%If you want to use the \sty{babel} interface, you can add the
+%definitions to the \cs{captions}\meta{LANG} command:
+%\begin{alltt}
+%\cs{addto}\cs{captions}\meta{LANG}\{\%
+% \cs{renewcommand}*\{\cs{PRreleasetext}\}\{For immediate release\}
+% \% etc
+%\}
+%\end{alltt}
+%
+%Put the file somewhere on \TeX's path, and now you can use this
+%package in your document. You might also consider uploading it
+%to CTAN in case other users find it useful.
+%
+%\section{Example Document}
+%
+%The document below uses the default layout. (The first two lines are
+%\texttt{arara} directives. You can ignore them if you don't use
+%\texttt{arara}, but they are a reminder that two \LaTeX\ runs are
+%required.) The \isty{babel} package is loaded with the
+%\texttt{british} option to change the default date format. The image
+%file used for the logo is provided by the \sty{mwe} package. The
+%resulting document is shown in Figure~\ref{fig:sample}. This
+%example, and others, can be found in the \texttt{samples}
+%subdirectory of the documentation directory.
+%
+%\verbatiminput{samples/sample-pressrelease}
+%
+%\begin{figure}[p]
+% \centering
+% \frame{\includegraphics[height=0.9\textheight]{samples/sample-pressrelease}}
+% \caption{Sample Document}
+% \label{fig:sample}
+%\end{figure}
+%
+%\clearpage
+%\StopEventually{\PrintIndex}
+%
+%
+%\section{The Code}
+%\iffalse
+% \begin{macrocode}
+%<*pressrelease.cls>
+% \end{macrocode}
+%\fi
+%\subsection{pressrelease.cls}
+%\changes{1.0}{2014-09-10}{Initial release}
+% Declare class and required TeX format:
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{pressrelease}[2014/09/10 v1.0 (NLCT) Press Release Class]
+% \end{macrocode}
+% Class options have a key=value interface.
+% \begin{macrocode}
+\RequirePackage{xkeyval}
+\RequirePackage{etoolbox}
+% \end{macrocode}
+%
+% Font size options.
+% \begin{macrocode}
+\DeclareOptionX{10pt}{\PassOptionsToClass{10pt}{article}}
+\DeclareOptionX{11pt}{\PassOptionsToClass{11pt}{article}}
+\DeclareOptionX{12pt}{\PassOptionsToClass{12pt}{article}}
+% \end{macrocode}
+% Paper size options (sizes can also be set via \cs{geometry})
+% \begin{macrocode}
+\DeclareOptionX{letterpaper}{\PassOptionsToClass{letterpaper}{article}}
+\DeclareOptionX{a4paper}{\PassOptionsToClass{a4paper}{article}}
+% \end{macrocode}
+%
+%\begin{macro}{\ifPRloadsymbols}
+% Load \sty{pressrelease-symbols} if true
+% \begin{macrocode}
+\define@boolkey{pressrelease.cls}[@PRload]{symbols}[true]{}
+\@PRloadsymbolsfalse
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\ifPRheadabove}
+% If true, head line goes above top info block otherwise headline
+% goes below top info block.
+% \begin{macrocode}
+\newif\ifPRheadabove
+\PRheadabovetrue
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRheadalign}
+% Headline alignment (default: centred)
+% \begin{macrocode}
+\newcommand{\PRheadalign}[1]{%
+ \begin{center}#1\end{center}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+% \begin{macrocode}
+\define@choicekey{pressrelease.cls}{head}[\val\nr]%
+ {above,below,center,left,right,centre,%
+ above center,above centre,above left,above right,%
+ below center,below centre,below left,below right}%
+ {%
+ \ifcase\nr\relax
+ \PRheadabovetrue
+ \or
+ \PRheadabovefalse
+ \or
+ \renewcommand{\PRheadalign}[1]{\begin{center}##1\end{center}}%
+ \or
+ \renewcommand{\PRheadalign}[1]{\begin{flushleft}##1\end{flushleft}}%
+ \or
+ \renewcommand{\PRheadalign}[1]{\begin{flushright}##1\end{flushright}}%
+ \or
+ \renewcommand{\PRheadalign}[1]{\begin{center}##1\end{center}}%
+ \or % above center
+ \PRheadabovetrue
+ \renewcommand{\PRheadalign}[1]{\begin{center}##1\end{center}}%
+ \or % above centre
+ \PRheadabovetrue
+ \renewcommand{\PRheadalign}[1]{\begin{center}##1\end{center}}%
+ \or % above left
+ \PRheadabovetrue
+ \renewcommand{\PRheadalign}[1]{\begin{flushleft}##1\end{flushleft}}%
+ \or % above right
+ \PRheadabovetrue
+ \renewcommand{\PRheadalign}[1]{\begin{flushright}##1\end{flushright}}%
+ \or % below centre
+ \PRheadabovefalse
+ \renewcommand{\PRheadalign}[1]{\begin{center}##1\end{center}}%
+ \or % below center
+ \PRheadabovefalse
+ \renewcommand{\PRheadalign}[1]{\begin{center}##1\end{center}}%
+ \or % below left
+ \PRheadabovefalse
+ \renewcommand{\PRheadalign}[1]{\begin{flushleft}##1\end{flushleft}}%
+ \or % below right
+ \PRheadabovefalse
+ \renewcommand{\PRheadalign}[1]{\begin{flushright}##1\end{flushright}}%
+ \fi
+}
+% \end{macrocode}
+%
+%\begin{macro}{\PRlogoformat}
+% \begin{macrocode}
+\newcommand*{\PRlogoformat}[1]{#1}
+% \end{macrocode}
+% Make it possible for user to ``smash'' logo so it doesn't take up
+% vertical space:
+% \begin{macrocode}
+\define@choicekey{pressrelease.cls}{smashlogo}[\val\nr]{true,false}[true]{%
+ \ifcase\nr\relax
+ \renewcommand*{\PRlogoformat}[1]{\vbox to 0pt{##1}}%
+ \or
+ \renewcommand*{\PRlogoformat}[1]{##1}%
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRlogoalign}
+% \begin{macrocode}
+\newif\ifPRlogoabove
+\PRlogoabovetrue
+\newcommand{\PRlogoalign}[1]{{\raggedleft\PRlogoformat{#1}\par}}
+\define@choicekey{pressrelease.cls}{logo}[\val\nr]%
+ {left,right,above,below,above left,above right,below left,below right}{%
+ \ifcase\nr\relax
+ \renewcommand{\PRlogoalign}[1]{{\raggedright\PRlogoformat{##1}\@@par}}%
+ \or
+ \renewcommand{\PRlogoalign}[1]{{\raggedleft\PRlogoformat{##1}\@@par}}%
+ \or
+ \PRlogoabovetrue
+ \or
+ \PRlogoabovefalse
+ \or
+ \PRlogoabovetrue
+ \renewcommand{\PRlogoalign}[1]{{\raggedright\PRlogoformat{##1}\@@par}}%
+ \or
+ \PRlogoabovetrue
+ \renewcommand{\PRlogoalign}[1]{{\raggedleft\PRlogoformat{##1}\@@par}}%
+ \or
+ \PRlogoabovefalse
+ \renewcommand{\PRlogoalign}[1]{{\raggedright\PRlogoformat{##1}\@@par}}%
+ \or
+ \PRlogoabovefalse
+ \renewcommand{\PRlogoalign}[1]{{\raggedleft\PRlogoformat{##1}\@@par}}%
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRreleasealign}
+% Release alignment (default: centred)
+% \begin{macrocode}
+\newcommand{\PRreleasealign}[1]{%
+ \begin{center}#1\end{center}%
+}
+\define@choicekey{pressrelease.cls}{releasealign}[\val\nr]{center,left,right,centre}{%
+ \ifcase\nr\relax
+ \renewcommand{\PRreleasealign}[1]{\begin{center}##1\end{center}}%
+ \or
+ \renewcommand{\PRreleasealign}[1]{\begin{flushleft}##1\end{flushleft}}%
+ \or
+ \renewcommand{\PRreleasealign}[1]{\begin{flushright}##1\end{flushright}}%
+ \or
+ \renewcommand{\PRreleasealign}[1]{\begin{center}##1\end{center}}%
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\ifPRruled}
+% Use horizontal rules if true.
+% \begin{macrocode}
+\define@boolkey{pressrelease.cls}[PR]{ruled}[true]{}
+\PRruledtrue
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRinfotopalign}
+% Contact details alignment of top info block (default: left)
+% \begin{macrocode}
+\newcommand{\PRinfotopalign}[1]{%
+ \begin{flushleft}#1\end{flushleft}%
+}
+\define@choicekey{pressrelease.cls}{topinfoalign}[\val\nr]{center,left,right,centre}{%
+ \ifcase\nr\relax
+ \renewcommand{\PRinfotopalign}[1]{\begin{center}##1\end{center}}%
+ \or
+ \renewcommand{\PRinfotopalign}[1]{\begin{flushleft}##1\end{flushleft}}%
+ \or
+ \renewcommand{\PRinfotopalign}[1]{\begin{flushright}##1\end{flushright}}%
+ \or
+ \renewcommand{\PRinfotopalign}[1]{\begin{center}##1\end{center}}%
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRinfobottomalign}
+% Contact details alignment of bottom info block (default: right)
+% \begin{macrocode}
+\newcommand{\PRinfobottomalign}[1]{%
+ \begin{flushright}#1\end{flushright}%
+}
+\define@choicekey{pressrelease.cls}{bottominfoalign}[\val\nr]{center,left,right,centre}{%
+ \ifcase\nr\relax
+ \renewcommand{\PRinfobottomalign}[1]{\begin{center}##1\end{center}}%
+ \or
+ \renewcommand{\PRinfobottomalign}[1]{\begin{flushleft}##1\end{flushleft}}%
+ \or
+ \renewcommand{\PRinfobottomalign}[1]{\begin{flushright}##1\end{flushright}}%
+ \or
+ \renewcommand{\PRinfobottomalign}[1]{\begin{center}##1\end{center}}%
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+%
+% Process options
+% \begin{macrocode}
+\ProcessOptionsX
+% \end{macrocode}
+% Load \cls{article} class:
+% \begin{macrocode}
+\LoadClass{article}
+% \end{macrocode}
+% Load required packages:
+% \begin{macrocode}
+\RequirePackage{setspace}
+\RequirePackage{geometry}
+\RequirePackage{url}
+\RequirePackage{refcount}
+% \end{macrocode}
+% Set wide margins
+% \begin{macrocode}
+\geometry{hmargin=1in,vmargin=1in,hcentering}
+% \end{macrocode}
+% Start with single spacing.
+% \begin{macrocode}
+\singlespacing
+% \end{macrocode}
+%
+% Text defaults:
+%\begin{macro}{\PRreleasetext}
+% \begin{macrocode}
+\newcommand*{\PRreleasetext}{For immediate release}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRcontacttext}
+% \begin{macrocode}
+\newcommand*{\PRcontacttext}{Contact}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRphonetext}
+% \begin{macrocode}
+\newcommand*{\PRphonetext}{Telephone}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRmobiletext}
+% \begin{macrocode}
+\newcommand*{\PRmobiletext}{Mobile}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRemailtext}
+% \begin{macrocode}
+\newcommand*{\PRemailtext}{Email}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRurltext}
+% \begin{macrocode}
+\newcommand*{\PRurltext}{Website}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRfaxtext}
+% \begin{macrocode}
+\newcommand*{\PRfaxtext}{Fax}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRcompanytext}
+% \begin{macrocode}
+\newcommand*{\PRcompanytext}{Company}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRdepartmenttext}
+% \begin{macrocode}
+\newcommand*{\PRdepartmenttext}{Department}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRaddresstext}
+% \begin{macrocode}
+\newcommand*{\PRaddresstext}{Address}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRhourstext}
+% \begin{macrocode}
+\newcommand*{\PRhourstext}{Opening Times}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRdatetext}
+% \begin{macrocode}
+\newcommand*{\PRdatetext}{Date}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRlocationtext}
+% \begin{macrocode}
+\newcommand*{\PRlocationtext}{Location}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRabouttext}
+% \begin{macrocode}
+\newcommand*{\PRabouttext}{About \PRusevar{company}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRencltext}
+% \begin{macrocode}
+\newcommand*{\PRencltext}{Encl.}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRrelease}
+% Set the release text.
+% \begin{macrocode}
+\newcommand*{\PRrelease}[1]{\renewcommand*{\@PRrelease}{#1}}
+\newcommand*{\@PRrelease}{\PRreleasetext}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRreleaseformat}
+% Format used for the release text.
+% \begin{macrocode}
+\newcommand*{\PRreleaseformat}[1]{\textbf{\Large\MakeUppercase{#1}}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRdohrule}
+% Do a horizontal rule if the ruled option has been set.
+% \begin{macrocode}
+\newcommand{\PRdohrule}{\ifPRruled\par\noindent\hrulefill\par\noindent\fi}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRtagformat}
+% Font for the tags:
+% \begin{macrocode}
+\newcommand*{\PRtagformat}[1]{\textbf{#1:}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRcompany}
+% Set the company name.
+% \begin{macrocode}
+\newcommand*{\PRcompany}[1]{\renewcommand*{\@PRcompany}{#1}}
+\newcommand*{\@PRcompany}{}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRdepartment}
+% Set the department name.
+% \begin{macrocode}
+\newcommand*{\PRdepartment}[1]{\renewcommand*{\@PRdepartment}{#1}}
+\newcommand*{\@PRdepartment}{}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRcontact}
+% Set the contact name.
+% \begin{macrocode}
+\newcommand*{\PRcontact}[1]{\renewcommand*{\@PRcontact}{#1}}
+\newcommand*{\@PRcontact}{}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRaddress}
+% Set the address.
+% \begin{macrocode}
+\newcommand*{\PRaddress}[1]{\renewcommand*{\@PRaddress}{#1}}
+\newcommand*{\@PRaddress}{}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRlocation}
+% Set the location.
+% \begin{macrocode}
+\newcommand*{\PRlocation}[1]{\renewcommand*{\@PRlocation}{#1}}
+\newcommand*{\@PRlocation}{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRphone}
+% Set the phone number.
+% \begin{macrocode}
+\newcommand*{\PRphone}[1]{\renewcommand*{\@PRphone}{#1}}
+\newcommand*{\@PRphone}{}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRmobile}
+% Set the mobile number.
+% \begin{macrocode}
+\newcommand*{\PRmobile}[1]{\renewcommand*{\@PRmobile}{#1}}
+\newcommand*{\@PRmobile}{}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRfax}
+% Set the fax number.
+% \begin{macrocode}
+\newcommand*{\PRfax}[1]{\renewcommand*{\@PRfax}{#1}}
+\newcommand*{\@PRfax}{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRemail}
+% Set the email address.
+% \begin{macrocode}
+\newcommand*{\PRemail}[1]{\renewcommand*{\@PRemail}{\PRemailformat{#1}}}
+\newcommand*{\@PRemail}{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRemailformat}
+% \begin{macrocode}
+\newcommand*{\PRemailformat}[1]{\texttt{#1}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRurl}
+% Set the web address.
+% \begin{macrocode}
+\newcommand*{\PRurl}[1]{\renewcommand*{\@PRurl}{\protect\url{#1}}}
+\newcommand*{\@PRurl}{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRhours}
+% Set the opening hours.
+% \begin{macrocode}
+\newcommand*{\PRhours}[1]{\renewcommand*{\@PRhours}{#1}}
+\newcommand*{\@PRhours}{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRlogo}
+% Set the company logo.
+% \begin{macrocode}
+\newcommand*{\PRlogo}[1]{\renewcommand*{\@PRlogo}{#1}}
+\newcommand*{\@PRlogo}{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRencl}
+% Set the enclosure text.
+% \begin{macrocode}
+\newcommand*{\PRencl}[1]{\renewcommand*{\@PRencl}{#1}}
+\newcommand*{\@PRencl}{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRusevar}
+% Access information set using the above commands.
+% \begin{macrocode}
+\newcommand*{\PRusevar}[1]{\csuse{@PR#1}}
+% \end{macrocode}
+%\end{macro}
+% Allow the date to be accessed in the same way.
+% \begin{macrocode}
+\newcommand*{\@PRdate}{\@date}
+% \end{macrocode}
+%
+%\begin{macro}{\PRinfotopblock}
+%\begin{definition}
+%\cs{PRinfotopblock}\marg{company}\marg{department}\marg{location}\marg{contact
+%name}\marg{address}\marg{opening
+%hours}\marg{phone}\marg{email}\marg{date}
+%\end{definition}
+% Order of information in the top info block.
+% \begin{macrocode}
+\newcommand{\PRinfotopblock}[9]{#1#2#3#9}
+% \end{macrocode}
+%
+%\begin{macro}{\PRinfobottomblock}
+%\begin{definition}
+%\cs{PRinfobottomblock}\marg{company}\marg{department}\marg{location}\marg{contact
+%name}\marg{address}\marg{opening
+%hours}\marg{phone}\marg{email}\marg{date}
+%\end{definition}
+% Order of information in the bottom info block.
+% \begin{macrocode}
+\newcommand{\PRinfobottomblock}[9]{#4#5#6#7#8}
+% \end{macrocode}
+%
+% Provide option to set order of items in the info blocks. First define a list parser that
+% uses the hyphen character as the separator.
+% \begin{macrocode}
+\DeclareListParser*{\@PR@forslashlist}{/}
+\newcommand*{\@PR@slashlistdo}[1]{%
+ \ifstrequal{#1}{company}%
+ {\appto\@PR@infoargs{##1}}%
+ {%
+ \ifstrequal{#1}{department}%
+ {\appto\@PR@infoargs{##2}}%
+ {%
+ \ifstrequal{#1}{location}%
+ {\appto\@PR@infoargs{##3}}%
+ {%
+ \ifstrequal{#1}{contact}%
+ {\appto\@PR@infoargs{##4}}%
+ {%
+ \ifstrequal{#1}{address}%
+ {\appto\@PR@infoargs{##5}}%
+ {%
+ \ifstrequal{#1}{hours}%
+ {\appto\@PR@infoargs{##6}}%
+ {%
+ \ifstrequal{#1}{phone}%
+ {\appto\@PR@infoargs{##7}}%
+ {%
+ \ifstrequal{#1}{email}%
+ {\appto\@PR@infoargs{##8}}%
+ {%
+ \ifstrequal{#1}{date}%
+ {\appto\@PR@infoargs{##9}}%
+ {%
+ \ClassError{pressrelease}%
+ {Unknown info block option `#1'}%
+ {Available options: `company', `department',
+ `location', `contact', `address', `hours', `phone',
+ `email', `date'}%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+}
+% \end{macrocode}
+%
+% The options below can't be passed as class options. They must be
+% set using \cs{PRset}.
+%
+% \begin{macrocode}
+\define@key{pressrelease.cls}{topinfo}{%
+ \def\@PR@infoargs{}%
+ \@PR@forslashlist\@PR@slashlistdo{#1}%
+ \expandafter\renewcommand\expandafter\PRinfotopblock
+ \expandafter[\expandafter9\expandafter]\expandafter{\@PR@infoargs}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+% \begin{macrocode}
+\define@key{pressrelease.cls}{bottominfo}{%
+ \def\@PR@infoargs{}%
+ \@PR@forslashlist\@PR@slashlistdo{#1}%
+ \expandafter\renewcommand\expandafter\PRinfobottomblock
+ \expandafter[\expandafter9\expandafter]\expandafter{\@PR@infoargs}%
+}
+% \end{macrocode}
+%\end{macro}
+
+%\begin{macro}{\PRset}
+% \begin{macrocode}
+\newcommand*{\PRset}[1]{\setkeys{pressrelease.cls}{#1}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PR@infotopline}
+% Check for empty entry.
+% \begin{macrocode}
+\newcommand*{\PR@infotopline}[2]{%
+ \ifdefempty{#2}{}{\PRinfotopline{#1}{#2}}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PR@infobottomline}
+% Check for empty entry.
+% \begin{macrocode}
+\newcommand*{\PR@infobottomline}[2]{%
+ \ifdefempty{#2}{}{\PRinfobottomline{#1}{#2}}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PR@doinfotop}
+% Do the top info block details.
+% \begin{macrocode}
+\newcommand{\PR@doinfotop}{%
+ \PRinfotopalign{%
+ \PR@doinfoblock\PR@infotopline\PRinfotopblock
+ \PRinfotopbeginhook\PRinfotopendhook
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PR@doinfobottom}
+% Do the bottom info block details.
+% \begin{macrocode}
+\newcommand{\PR@doinfobottom}{%
+ \PRinfobottomalign{%
+ \PR@doinfoblock\PR@infobottomline\PRinfobottomblock
+ \PRinfobottombeginhook\PRinfobottomendhook
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PR@doinfoblock}
+%\begin{definition}
+%\cs{PR@doinfoblock}\marg{info line cs}\marg{block order cs}\marg{begin hook cs}\marg{end hook cs}
+%\end{definition}
+% Do info block details.
+% \begin{macrocode}
+\newcommand{\PR@doinfoblock}[4]{%
+ \begin{tabular}{@{}ll@{}}%
+ #3%
+ #2%
+ {%
+ #1{\PRcompanytext}{\@PRcompany}%
+ }%
+ {%
+ #1{\PRdepartmenttext}{\@PRdepartment}%
+ }%
+ {%
+ #1{\PRlocationtext}{\@PRlocation}%
+ }%
+ {%
+ #1{\PRcontacttext}{\@PRcontact}%
+ }%
+ {%
+ #1{\PRaddresstext}{\@PRaddress}%
+ }%
+ {%
+ #1{\PRhourstext}{\@PRhours}%
+ }%
+ {%
+ #1{\PRphonetext}{\@PRphone}%
+ #1{\PRmobiletext}{\@PRmobile}%
+ #1{\PRfaxtext}{\@PRfax}%
+ }%
+ {%
+ #1{\PRemailtext}{\@PRemail}%
+ }%
+ {%
+ #1{\PRdatetext}{\@date}%
+ }%
+ #4%
+ \end{tabular}%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRinfoentry}
+% Format the entry information within the info line (not the tag).
+% \begin{macrocode}
+\newcommand*{\PRinfoentry}[1]{\begin{tabular}[t]{@{}l@{}}#1\end{tabular}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRinfoline}
+% Generic line format for info block.
+% \begin{macrocode}
+\newcommand*{\PRinfoline}[2]{%
+ \PRtagformat{#1} & \PRinfoentry{#2}\tabularnewline
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRinfotopline}
+% Format line in the top info block.
+% \begin{macrocode}
+\newcommand*{\PRinfotopline}{\PRinfoline}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRinfobottomline}
+% Format line in the bottom info block.
+% \begin{macrocode}
+\newcommand*{\PRinfobottomline}{\PRinfoline}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRinfotopbeginhook}
+% Hook for user to provide additional information at the start of the
+% top info block.
+% \begin{macrocode}
+\newcommand*{\PRinfotopbeginhook}{}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRinfotopendhook}
+% Hook for user to provide additional information at the end of the
+% info block.
+% \begin{macrocode}
+\newcommand*{\PRinfotopendhook}{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRinfobottombeginhook}
+% Hook for user to provide additional information at the start of the
+% bottom info block.
+% \begin{macrocode}
+\newcommand*{\PRinfobottombeginhook}{}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRinfobottomendhook}
+% Hook for user to provide additional information at the end of the
+% info block.
+% \begin{macrocode}
+\newcommand*{\PRinfobottomendhook}{}
+% \end{macrocode}
+%\end{macro}
+
+
+%\begin{macro}{\PRheadline}
+% \begin{macrocode}
+\newcommand*{\PRheadline}[1]{\renewcommand*{\@PRheadline}{#1}}
+\newcommand*{\@PRheadline}{}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRsubheadline}
+% \begin{macrocode}
+\newcommand*{\PRsubheadline}[1]{\renewcommand*{\@PRsubheadline}{#1}}
+\newcommand*{\@PRsubheadline}{}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRheadformat}
+% \begin{macrocode}
+\newcommand*{\PRheadformat}[1]{\textbf{\Large #1}}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\PRsubheadformat}
+% \begin{macrocode}
+\newcommand*{\PRsubheadformat}[1]{\textit{#1}}
+% \end{macrocode}
+%\end{macro}
+%
+% Just in case anyone wants to have multiple statements in a single
+% document:
+% \begin{macrocode}
+\newcounter{pressrelease}
+% \end{macrocode}
+%
+%\begin{macro}{\PRthelastpage}
+% \begin{macrocode}
+\newcommand*{\PRthelastpage}{0}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{environment}{pressrelease}
+% \begin{macrocode}
+\newenvironment{pressrelease}%
+{%
+ \refstepcounter{pressrelease}%
+ \refused{pressreleaseend.\number\c@pressrelease}%
+ \xdef\PRthelastpage{%
+ \getpagerefnumber{pressreleaseend.\number\c@pressrelease}}%
+ \pagestyle{pressrelease}%
+ \ifPRlogoabove
+ \ifdefempty\@PRlogo{}{\PRlogoalign{\@PRlogo}}%
+ \fi
+ \PRreleasealign{%
+ \PRdohrule\mbox{}\par\noindent
+ \PRreleaseformat{\@PRrelease}%
+ \ifPRheadabove\else\PRdohrule\fi
+ }%
+ \ifPRlogoabove
+ \else
+ \ifdefempty\@PRlogo{}{\PRlogoalign{\@PRlogo}}%
+ \fi
+ \ifPRheadabove
+ \PRheadalign
+ {%
+ \PRheadformat{\@PRheadline}%
+ \ifdefempty\@PRsubheadline
+ {}%
+ {\par\PRsubheadformat{\@PRsubheadline}}%
+ \PRdohrule
+ }%
+ \par\noindent\PR@doinfotop
+ \else
+ \par\noindent\PR@doinfotop
+ \PRheadalign
+ {%
+ \PRdohrule\mbox{}\par\noindent
+ \PRheadformat{\@PRheadline}%
+ \ifdefempty\@PRsubheadline
+ {}%
+ {\par\PRsubheadformat{\@PRsubheadline}}%
+ \PRdohrule
+ }%
+ \fi
+ \par
+ \doublespacing
+ \@afterheading\@afterindentfalse
+}%
+{%
+ \par\singlespacing
+ \PR@doinfobottom
+ \ifdefempty{\@PRencl}{}%
+ {\par\noindent\PRenclformat{\PRencltext}{\@PRencl}}%
+ \PRformatendsignal{\PRendsignal}%
+ \label{pressreleaseend.\number\c@pressrelease}%
+}%
+% \end{macrocode}
+%\end{environment}
+%
+%\begin{macro}{\PRenclformat}
+% \begin{macrocode}
+\newcommand*{\PRenclformat}[2]{%
+ \begin{tabular}{@{}ll}%
+ \PRtagformat{#1}&\PRinfoentry{#2}%
+ \end{tabular}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRheaderfont}
+% Font used in page header.
+% \begin{macrocode}
+\newcommand*{\PRheaderfont}[1]{\textit{#1}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\ps@pressrelease}
+% Press release page style.
+% \begin{macrocode}
+\newcommand*{\ps@pressrelease}{%
+ \gdef\@oddhead{\hfill\ifnum\c@page>1\relax
+ \PRheaderfont{\PRusevar{headline}}%
+ \fi\hfill}%
+ \global\let\@evenhead\@oddhead
+ \gdef\@oddfoot{%
+ \hfill
+ \PRnOfm{\thepage}{\PRthelastpage}%
+ \hfill}%
+ \global\let\@evenfoot\@oddfoot
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRnOfm}
+% \begin{macrocode}
+\newcommand*{\PRnOfm}[2]{#1 of #2}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRendsignal}
+% End of statement marker.
+% \begin{macrocode}
+\newcommand*{\PRendsignal}{\#\#\#}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRformatendsignal}
+% \begin{macrocode}
+\newcommand*{\PRformatendsignal}[1]{\begin{center}#1\end{center}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{environment}{about}
+% \begin{macrocode}
+\newenvironment{about}%
+ {%
+ \section*{\PRabouttext}%
+ }%
+ {%
+ \ifdefempty\@PRurl
+ {}%
+ {%
+ \PRurlformat{\PRurltext}{\@PRurl}\PRaboutposturlhook\par
+ }%
+ }
+% \end{macrocode}
+%\end{environment}
+%
+%\begin{macro}{\PRurlformat}
+% \begin{macrocode}
+\newcommand{\PRurlformat}[2]{%
+ \par\noindent\PRtagformat{#1} #2}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\PRaboutposturlhook}
+% Allow user to add text after the website address.
+% \begin{macrocode}
+\newcommand*{\PRaboutposturlhook}{}
+% \end{macrocode}
+%\end{macro}
+%
+% Finally, load \sty{pressrelease-symbols} if required:
+% \begin{macrocode}
+\if@PRloadsymbols
+ \RequirePackage{pressrelease-symbols}
+\fi
+\disable@keys{pressrelease.cls}{symbols}
+% \end{macrocode}
+%\iffalse
+% \begin{macrocode}
+%</pressrelease.cls>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%<*pressrelease-symbols.sty>
+% \end{macrocode}
+%\fi
+%\subsection{pressrelease-symbols.sty}
+% This package loads \sty{marvosym} and \sty{tikz} to define symbols
+% for the bottom info block. The tags are suppressed for the top
+% info block. This package should be used with the
+% \clsfmt{pressrelease} class.
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{pressrelease-symbols}[2014/09/10 v1.0 (NLCT)]
+% \end{macrocode}
+% Load \sty{marvosym} and \sty{tikz}:
+% \begin{macrocode}
+\RequirePackage{marvosym}
+\RequirePackage{tikz}
+% \end{macrocode}
+% Define a command to produce a paper clip symbol.
+% \begin{macrocode}
+\newcommand*{\paperclip}{%
+ \begin{tikzpicture}[x=0.055ex,y=0.055ex,rotate=-90]
+ \draw[line width=0.05ex] (9,-1) -- (26,-1)
+ .. controls (33,1) and (33,9) ..
+ (26,11) -- (8,11)
+ .. controls (0,11) and (0,2) ..
+ (8,2) -- (22,2)
+ .. controls (26,2) and (26,8) ..
+ (22,8) -- (8,8);
+ \end{tikzpicture}%
+}
+% \end{macrocode}
+% Remove tags from top info block
+% \begin{macrocode}
+\renewcommand*{\PRinfotopline}[2]{%
+ \PRinfoentry{#2}\tabularnewline
+}
+% \end{macrocode}
+% Change textual tags to use symbols
+% \begin{macrocode}
+\renewcommand*{\PRcontacttext}{\Info}
+\renewcommand*{\PRphonetext}{\Telefon}
+\renewcommand*{\PRmobiletext}{\Mobilefone}
+\renewcommand*{\PRfaxtext}{\fax}
+\renewcommand*{\PRemailtext}{\Email}
+\renewcommand*{\PRaddresstext}{\Letter}
+\renewcommand*{\PRhourstext}{\ClockLogo}
+\renewcommand*{\PRurltext}{\ComputerMouse}
+\renewcommand*{\PRencltext}{\paperclip}
+% \end{macrocode}
+% Remove the colon and bold formatting from the tag:
+% \begin{macrocode}
+\renewcommand*{\PRtagformat}[1]{#1}
+% \end{macrocode}
+%\iffalse
+% \begin{macrocode}
+%</pressrelease-symbols.sty>
+% \end{macrocode}
+%\fi
+%\Finale
+\endinput
diff --git a/Master/texmf-dist/source/latex/pressrelease/pressrelease.ins b/Master/texmf-dist/source/latex/pressrelease/pressrelease.ins
new file mode 100644
index 00000000000..e519e6b7ea2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/pressrelease/pressrelease.ins
@@ -0,0 +1,33 @@
+% pressrelease.ins generated using makedtx version 1.1 2014/9/10 18:01
+\input docstrip
+
+\preamble
+
+ pressrelease.dtx
+ Copyright 2014 Nicola Talbot
+
+ This work may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either version 1.3
+ of this license of (at your option) any later version.
+ The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+ and version 1.3 or later is part of all distributions of LaTeX
+ version 2005/12/01 or later.
+
+ This work has the LPPL maintenance status `maintained'.
+
+ The Current Maintainer of this work is Nicola Talbot.
+
+ This work consists of the files pressrelease.dtx and pressrelease.ins and the derived files pressrelease.cls, pressrelease-symbols.sty.
+
+\endpreamble
+
+\askforoverwritefalse
+
+\generate{\file{pressrelease.cls}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{pressrelease.dtx}{pressrelease.cls,package}}
+\file{pressrelease-symbols.sty}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{pressrelease.dtx}{pressrelease-symbols.sty,package}}
+}
+
+\endbatchfile
diff --git a/Master/texmf-dist/tex/latex/pressrelease/pressrelease-symbols.sty b/Master/texmf-dist/tex/latex/pressrelease/pressrelease-symbols.sty
new file mode 100644
index 00000000000..d54274f9ef9
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pressrelease/pressrelease-symbols.sty
@@ -0,0 +1,71 @@
+%%
+%% This is file `pressrelease-symbols.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% pressrelease.dtx (with options: `pressrelease-symbols.sty,package')
+%%
+%% pressrelease.dtx
+%% Copyright 2014 Nicola Talbot
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license of (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Nicola Talbot.
+%%
+%% This work consists of the files pressrelease.dtx and pressrelease.ins and the derived files pressrelease.cls, pressrelease-symbols.sty.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{pressrelease-symbols}[2014/09/10 v1.0 (NLCT)]
+\RequirePackage{marvosym}
+\RequirePackage{tikz}
+\newcommand*{\paperclip}{%
+ \begin{tikzpicture}[x=0.055ex,y=0.055ex,rotate=-90]
+ \draw[line width=0.05ex] (9,-1) -- (26,-1)
+ .. controls (33,1) and (33,9) ..
+ (26,11) -- (8,11)
+ .. controls (0,11) and (0,2) ..
+ (8,2) -- (22,2)
+ .. controls (26,2) and (26,8) ..
+ (22,8) -- (8,8);
+ \end{tikzpicture}%
+}
+\renewcommand*{\PRinfotopline}[2]{%
+ \PRinfoentry{#2}\tabularnewline
+}
+\renewcommand*{\PRcontacttext}{\Info}
+\renewcommand*{\PRphonetext}{\Telefon}
+\renewcommand*{\PRmobiletext}{\Mobilefone}
+\renewcommand*{\PRfaxtext}{\fax}
+\renewcommand*{\PRemailtext}{\Email}
+\renewcommand*{\PRaddresstext}{\Letter}
+\renewcommand*{\PRhourstext}{\ClockLogo}
+\renewcommand*{\PRurltext}{\ComputerMouse}
+\renewcommand*{\PRencltext}{\paperclip}
+\renewcommand*{\PRtagformat}[1]{#1}
+\endinput
+%%
+%% End of file `pressrelease-symbols.sty'.
diff --git a/Master/texmf-dist/tex/latex/pressrelease/pressrelease.cls b/Master/texmf-dist/tex/latex/pressrelease/pressrelease.cls
new file mode 100644
index 00000000000..0f4a4fbc64d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pressrelease/pressrelease.cls
@@ -0,0 +1,461 @@
+%%
+%% This is file `pressrelease.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% pressrelease.dtx (with options: `pressrelease.cls,package')
+%%
+%% pressrelease.dtx
+%% Copyright 2014 Nicola Talbot
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license of (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Nicola Talbot.
+%%
+%% This work consists of the files pressrelease.dtx and pressrelease.ins and the derived files pressrelease.cls, pressrelease-symbols.sty.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{pressrelease}[2014/09/10 v1.0 (NLCT) Press Release Class]
+\RequirePackage{xkeyval}
+\RequirePackage{etoolbox}
+\DeclareOptionX{10pt}{\PassOptionsToClass{10pt}{article}}
+\DeclareOptionX{11pt}{\PassOptionsToClass{11pt}{article}}
+\DeclareOptionX{12pt}{\PassOptionsToClass{12pt}{article}}
+\DeclareOptionX{letterpaper}{\PassOptionsToClass{letterpaper}{article}}
+\DeclareOptionX{a4paper}{\PassOptionsToClass{a4paper}{article}}
+\define@boolkey{pressrelease.cls}[@PRload]{symbols}[true]{}
+\@PRloadsymbolsfalse
+\newif\ifPRheadabove
+\PRheadabovetrue
+\newcommand{\PRheadalign}[1]{%
+ \begin{center}#1\end{center}%
+}
+\define@choicekey{pressrelease.cls}{head}[\val\nr]%
+ {above,below,center,left,right,centre,%
+ above center,above centre,above left,above right,%
+ below center,below centre,below left,below right}%
+ {%
+ \ifcase\nr\relax
+ \PRheadabovetrue
+ \or
+ \PRheadabovefalse
+ \or
+ \renewcommand{\PRheadalign}[1]{\begin{center}##1\end{center}}%
+ \or
+ \renewcommand{\PRheadalign}[1]{\begin{flushleft}##1\end{flushleft}}%
+ \or
+ \renewcommand{\PRheadalign}[1]{\begin{flushright}##1\end{flushright}}%
+ \or
+ \renewcommand{\PRheadalign}[1]{\begin{center}##1\end{center}}%
+ \or % above center
+ \PRheadabovetrue
+ \renewcommand{\PRheadalign}[1]{\begin{center}##1\end{center}}%
+ \or % above centre
+ \PRheadabovetrue
+ \renewcommand{\PRheadalign}[1]{\begin{center}##1\end{center}}%
+ \or % above left
+ \PRheadabovetrue
+ \renewcommand{\PRheadalign}[1]{\begin{flushleft}##1\end{flushleft}}%
+ \or % above right
+ \PRheadabovetrue
+ \renewcommand{\PRheadalign}[1]{\begin{flushright}##1\end{flushright}}%
+ \or % below centre
+ \PRheadabovefalse
+ \renewcommand{\PRheadalign}[1]{\begin{center}##1\end{center}}%
+ \or % below center
+ \PRheadabovefalse
+ \renewcommand{\PRheadalign}[1]{\begin{center}##1\end{center}}%
+ \or % below left
+ \PRheadabovefalse
+ \renewcommand{\PRheadalign}[1]{\begin{flushleft}##1\end{flushleft}}%
+ \or % below right
+ \PRheadabovefalse
+ \renewcommand{\PRheadalign}[1]{\begin{flushright}##1\end{flushright}}%
+ \fi
+}
+\newcommand*{\PRlogoformat}[1]{#1}
+\define@choicekey{pressrelease.cls}{smashlogo}[\val\nr]{true,false}[true]{%
+ \ifcase\nr\relax
+ \renewcommand*{\PRlogoformat}[1]{\vbox to 0pt{##1}}%
+ \or
+ \renewcommand*{\PRlogoformat}[1]{##1}%
+ \fi
+}
+\newif\ifPRlogoabove
+\PRlogoabovetrue
+\newcommand{\PRlogoalign}[1]{{\raggedleft\PRlogoformat{#1}\par}}
+\define@choicekey{pressrelease.cls}{logo}[\val\nr]%
+ {left,right,above,below,above left,above right,below left,below right}{%
+ \ifcase\nr\relax
+ \renewcommand{\PRlogoalign}[1]{{\raggedright\PRlogoformat{##1}\@@par}}%
+ \or
+ \renewcommand{\PRlogoalign}[1]{{\raggedleft\PRlogoformat{##1}\@@par}}%
+ \or
+ \PRlogoabovetrue
+ \or
+ \PRlogoabovefalse
+ \or
+ \PRlogoabovetrue
+ \renewcommand{\PRlogoalign}[1]{{\raggedright\PRlogoformat{##1}\@@par}}%
+ \or
+ \PRlogoabovetrue
+ \renewcommand{\PRlogoalign}[1]{{\raggedleft\PRlogoformat{##1}\@@par}}%
+ \or
+ \PRlogoabovefalse
+ \renewcommand{\PRlogoalign}[1]{{\raggedright\PRlogoformat{##1}\@@par}}%
+ \or
+ \PRlogoabovefalse
+ \renewcommand{\PRlogoalign}[1]{{\raggedleft\PRlogoformat{##1}\@@par}}%
+ \fi
+}
+\newcommand{\PRreleasealign}[1]{%
+ \begin{center}#1\end{center}%
+}
+\define@choicekey{pressrelease.cls}{releasealign}[\val\nr]{center,left,right,centre}{%
+ \ifcase\nr\relax
+ \renewcommand{\PRreleasealign}[1]{\begin{center}##1\end{center}}%
+ \or
+ \renewcommand{\PRreleasealign}[1]{\begin{flushleft}##1\end{flushleft}}%
+ \or
+ \renewcommand{\PRreleasealign}[1]{\begin{flushright}##1\end{flushright}}%
+ \or
+ \renewcommand{\PRreleasealign}[1]{\begin{center}##1\end{center}}%
+ \fi
+}
+\define@boolkey{pressrelease.cls}[PR]{ruled}[true]{}
+\PRruledtrue
+\newcommand{\PRinfotopalign}[1]{%
+ \begin{flushleft}#1\end{flushleft}%
+}
+\define@choicekey{pressrelease.cls}{topinfoalign}[\val\nr]{center,left,right,centre}{%
+ \ifcase\nr\relax
+ \renewcommand{\PRinfotopalign}[1]{\begin{center}##1\end{center}}%
+ \or
+ \renewcommand{\PRinfotopalign}[1]{\begin{flushleft}##1\end{flushleft}}%
+ \or
+ \renewcommand{\PRinfotopalign}[1]{\begin{flushright}##1\end{flushright}}%
+ \or
+ \renewcommand{\PRinfotopalign}[1]{\begin{center}##1\end{center}}%
+ \fi
+}
+\newcommand{\PRinfobottomalign}[1]{%
+ \begin{flushright}#1\end{flushright}%
+}
+\define@choicekey{pressrelease.cls}{bottominfoalign}[\val\nr]{center,left,right,centre}{%
+ \ifcase\nr\relax
+ \renewcommand{\PRinfobottomalign}[1]{\begin{center}##1\end{center}}%
+ \or
+ \renewcommand{\PRinfobottomalign}[1]{\begin{flushleft}##1\end{flushleft}}%
+ \or
+ \renewcommand{\PRinfobottomalign}[1]{\begin{flushright}##1\end{flushright}}%
+ \or
+ \renewcommand{\PRinfobottomalign}[1]{\begin{center}##1\end{center}}%
+ \fi
+}
+\ProcessOptionsX
+\LoadClass{article}
+\RequirePackage{setspace}
+\RequirePackage{geometry}
+\RequirePackage{url}
+\RequirePackage{refcount}
+\geometry{hmargin=1in,vmargin=1in,hcentering}
+\singlespacing
+\newcommand*{\PRreleasetext}{For immediate release}
+\newcommand*{\PRcontacttext}{Contact}
+\newcommand*{\PRphonetext}{Telephone}
+\newcommand*{\PRmobiletext}{Mobile}
+\newcommand*{\PRemailtext}{Email}
+\newcommand*{\PRurltext}{Website}
+\newcommand*{\PRfaxtext}{Fax}
+\newcommand*{\PRcompanytext}{Company}
+\newcommand*{\PRdepartmenttext}{Department}
+\newcommand*{\PRaddresstext}{Address}
+\newcommand*{\PRhourstext}{Opening Times}
+\newcommand*{\PRdatetext}{Date}
+\newcommand*{\PRlocationtext}{Location}
+\newcommand*{\PRabouttext}{About \PRusevar{company}}
+\newcommand*{\PRencltext}{Encl.}
+\newcommand*{\PRrelease}[1]{\renewcommand*{\@PRrelease}{#1}}
+\newcommand*{\@PRrelease}{\PRreleasetext}
+\newcommand*{\PRreleaseformat}[1]{\textbf{\Large\MakeUppercase{#1}}}
+\newcommand{\PRdohrule}{\ifPRruled\par\noindent\hrulefill\par\noindent\fi}
+\newcommand*{\PRtagformat}[1]{\textbf{#1:}}
+\newcommand*{\PRcompany}[1]{\renewcommand*{\@PRcompany}{#1}}
+\newcommand*{\@PRcompany}{}
+\newcommand*{\PRdepartment}[1]{\renewcommand*{\@PRdepartment}{#1}}
+\newcommand*{\@PRdepartment}{}
+\newcommand*{\PRcontact}[1]{\renewcommand*{\@PRcontact}{#1}}
+\newcommand*{\@PRcontact}{}
+\newcommand*{\PRaddress}[1]{\renewcommand*{\@PRaddress}{#1}}
+\newcommand*{\@PRaddress}{}
+\newcommand*{\PRlocation}[1]{\renewcommand*{\@PRlocation}{#1}}
+\newcommand*{\@PRlocation}{}
+\newcommand*{\PRphone}[1]{\renewcommand*{\@PRphone}{#1}}
+\newcommand*{\@PRphone}{}
+\newcommand*{\PRmobile}[1]{\renewcommand*{\@PRmobile}{#1}}
+\newcommand*{\@PRmobile}{}
+\newcommand*{\PRfax}[1]{\renewcommand*{\@PRfax}{#1}}
+\newcommand*{\@PRfax}{}
+\newcommand*{\PRemail}[1]{\renewcommand*{\@PRemail}{\PRemailformat{#1}}}
+\newcommand*{\@PRemail}{}
+\newcommand*{\PRemailformat}[1]{\texttt{#1}}
+\newcommand*{\PRurl}[1]{\renewcommand*{\@PRurl}{\protect\url{#1}}}
+\newcommand*{\@PRurl}{}
+\newcommand*{\PRhours}[1]{\renewcommand*{\@PRhours}{#1}}
+\newcommand*{\@PRhours}{}
+\newcommand*{\PRlogo}[1]{\renewcommand*{\@PRlogo}{#1}}
+\newcommand*{\@PRlogo}{}
+\newcommand*{\PRencl}[1]{\renewcommand*{\@PRencl}{#1}}
+\newcommand*{\@PRencl}{}
+\newcommand*{\PRusevar}[1]{\csuse{@PR#1}}
+\newcommand*{\@PRdate}{\@date}
+\newcommand{\PRinfotopblock}[9]{#1#2#3#9}
+\newcommand{\PRinfobottomblock}[9]{#4#5#6#7#8}
+\DeclareListParser*{\@PR@forslashlist}{/}
+\newcommand*{\@PR@slashlistdo}[1]{%
+ \ifstrequal{#1}{company}%
+ {\appto\@PR@infoargs{##1}}%
+ {%
+ \ifstrequal{#1}{department}%
+ {\appto\@PR@infoargs{##2}}%
+ {%
+ \ifstrequal{#1}{location}%
+ {\appto\@PR@infoargs{##3}}%
+ {%
+ \ifstrequal{#1}{contact}%
+ {\appto\@PR@infoargs{##4}}%
+ {%
+ \ifstrequal{#1}{address}%
+ {\appto\@PR@infoargs{##5}}%
+ {%
+ \ifstrequal{#1}{hours}%
+ {\appto\@PR@infoargs{##6}}%
+ {%
+ \ifstrequal{#1}{phone}%
+ {\appto\@PR@infoargs{##7}}%
+ {%
+ \ifstrequal{#1}{email}%
+ {\appto\@PR@infoargs{##8}}%
+ {%
+ \ifstrequal{#1}{date}%
+ {\appto\@PR@infoargs{##9}}%
+ {%
+ \ClassError{pressrelease}%
+ {Unknown info block option `#1'}%
+ {Available options: `company', `department',
+ `location', `contact', `address', `hours', `phone',
+ `email', `date'}%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+}
+\define@key{pressrelease.cls}{topinfo}{%
+ \def\@PR@infoargs{}%
+ \@PR@forslashlist\@PR@slashlistdo{#1}%
+ \expandafter\renewcommand\expandafter\PRinfotopblock
+ \expandafter[\expandafter9\expandafter]\expandafter{\@PR@infoargs}%
+}
+\define@key{pressrelease.cls}{bottominfo}{%
+ \def\@PR@infoargs{}%
+ \@PR@forslashlist\@PR@slashlistdo{#1}%
+ \expandafter\renewcommand\expandafter\PRinfobottomblock
+ \expandafter[\expandafter9\expandafter]\expandafter{\@PR@infoargs}%
+}
+
+\newcommand*{\PRset}[1]{\setkeys{pressrelease.cls}{#1}}
+\newcommand*{\PR@infotopline}[2]{%
+ \ifdefempty{#2}{}{\PRinfotopline{#1}{#2}}%
+}
+\newcommand*{\PR@infobottomline}[2]{%
+ \ifdefempty{#2}{}{\PRinfobottomline{#1}{#2}}%
+}
+\newcommand{\PR@doinfotop}{%
+ \PRinfotopalign{%
+ \PR@doinfoblock\PR@infotopline\PRinfotopblock
+ \PRinfotopbeginhook\PRinfotopendhook
+ }%
+}
+\newcommand{\PR@doinfobottom}{%
+ \PRinfobottomalign{%
+ \PR@doinfoblock\PR@infobottomline\PRinfobottomblock
+ \PRinfobottombeginhook\PRinfobottomendhook
+ }%
+}
+\newcommand{\PR@doinfoblock}[4]{%
+ \begin{tabular}{@{}ll@{}}%
+ #3%
+ #2%
+ {%
+ #1{\PRcompanytext}{\@PRcompany}%
+ }%
+ {%
+ #1{\PRdepartmenttext}{\@PRdepartment}%
+ }%
+ {%
+ #1{\PRlocationtext}{\@PRlocation}%
+ }%
+ {%
+ #1{\PRcontacttext}{\@PRcontact}%
+ }%
+ {%
+ #1{\PRaddresstext}{\@PRaddress}%
+ }%
+ {%
+ #1{\PRhourstext}{\@PRhours}%
+ }%
+ {%
+ #1{\PRphonetext}{\@PRphone}%
+ #1{\PRmobiletext}{\@PRmobile}%
+ #1{\PRfaxtext}{\@PRfax}%
+ }%
+ {%
+ #1{\PRemailtext}{\@PRemail}%
+ }%
+ {%
+ #1{\PRdatetext}{\@date}%
+ }%
+ #4%
+ \end{tabular}%
+}
+\newcommand*{\PRinfoentry}[1]{\begin{tabular}[t]{@{}l@{}}#1\end{tabular}}
+\newcommand*{\PRinfoline}[2]{%
+ \PRtagformat{#1} & \PRinfoentry{#2}\tabularnewline
+}
+\newcommand*{\PRinfotopline}{\PRinfoline}
+\newcommand*{\PRinfobottomline}{\PRinfoline}
+\newcommand*{\PRinfotopbeginhook}{}
+\newcommand*{\PRinfotopendhook}{}
+\newcommand*{\PRinfobottombeginhook}{}
+\newcommand*{\PRinfobottomendhook}{}
+
+\newcommand*{\PRheadline}[1]{\renewcommand*{\@PRheadline}{#1}}
+\newcommand*{\@PRheadline}{}
+\newcommand*{\PRsubheadline}[1]{\renewcommand*{\@PRsubheadline}{#1}}
+\newcommand*{\@PRsubheadline}{}
+\newcommand*{\PRheadformat}[1]{\textbf{\Large #1}}
+\newcommand*{\PRsubheadformat}[1]{\textit{#1}}
+\newcounter{pressrelease}
+\newcommand*{\PRthelastpage}{0}
+\newenvironment{pressrelease}%
+{%
+ \refstepcounter{pressrelease}%
+ \refused{pressreleaseend.\number\c@pressrelease}%
+ \xdef\PRthelastpage{%
+ \getpagerefnumber{pressreleaseend.\number\c@pressrelease}}%
+ \pagestyle{pressrelease}%
+ \ifPRlogoabove
+ \ifdefempty\@PRlogo{}{\PRlogoalign{\@PRlogo}}%
+ \fi
+ \PRreleasealign{%
+ \PRdohrule\mbox{}\par\noindent
+ \PRreleaseformat{\@PRrelease}%
+ \ifPRheadabove\else\PRdohrule\fi
+ }%
+ \ifPRlogoabove
+ \else
+ \ifdefempty\@PRlogo{}{\PRlogoalign{\@PRlogo}}%
+ \fi
+ \ifPRheadabove
+ \PRheadalign
+ {%
+ \PRheadformat{\@PRheadline}%
+ \ifdefempty\@PRsubheadline
+ {}%
+ {\par\PRsubheadformat{\@PRsubheadline}}%
+ \PRdohrule
+ }%
+ \par\noindent\PR@doinfotop
+ \else
+ \par\noindent\PR@doinfotop
+ \PRheadalign
+ {%
+ \PRdohrule\mbox{}\par\noindent
+ \PRheadformat{\@PRheadline}%
+ \ifdefempty\@PRsubheadline
+ {}%
+ {\par\PRsubheadformat{\@PRsubheadline}}%
+ \PRdohrule
+ }%
+ \fi
+ \par
+ \doublespacing
+ \@afterheading\@afterindentfalse
+}%
+{%
+ \par\singlespacing
+ \PR@doinfobottom
+ \ifdefempty{\@PRencl}{}%
+ {\par\noindent\PRenclformat{\PRencltext}{\@PRencl}}%
+ \PRformatendsignal{\PRendsignal}%
+ \label{pressreleaseend.\number\c@pressrelease}%
+}%
+\newcommand*{\PRenclformat}[2]{%
+ \begin{tabular}{@{}ll}%
+ \PRtagformat{#1}&\PRinfoentry{#2}%
+ \end{tabular}}
+\newcommand*{\PRheaderfont}[1]{\textit{#1}}
+\newcommand*{\ps@pressrelease}{%
+ \gdef\@oddhead{\hfill\ifnum\c@page>1\relax
+ \PRheaderfont{\PRusevar{headline}}%
+ \fi\hfill}%
+ \global\let\@evenhead\@oddhead
+ \gdef\@oddfoot{%
+ \hfill
+ \PRnOfm{\thepage}{\PRthelastpage}%
+ \hfill}%
+ \global\let\@evenfoot\@oddfoot
+}
+\newcommand*{\PRnOfm}[2]{#1 of #2}
+\newcommand*{\PRendsignal}{\#\#\#}
+\newcommand*{\PRformatendsignal}[1]{\begin{center}#1\end{center}}
+\newenvironment{about}%
+ {%
+ \section*{\PRabouttext}%
+ }%
+ {%
+ \ifdefempty\@PRurl
+ {}%
+ {%
+ \PRurlformat{\PRurltext}{\@PRurl}\PRaboutposturlhook\par
+ }%
+ }
+\newcommand{\PRurlformat}[2]{%
+ \par\noindent\PRtagformat{#1} #2}
+\newcommand*{\PRaboutposturlhook}{}
+\if@PRloadsymbols
+ \RequirePackage{pressrelease-symbols}
+\fi
+\disable@keys{pressrelease.cls}{symbols}
+\endinput
+%%
+%% End of file `pressrelease.cls'.
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 6ac8adbb23e..e22f409eb5c 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -388,7 +388,7 @@ my @TLP_working = qw(
polyglossia polynom polynomial
polytable postcards poster-mac powerdot powerdot-FUBerlin
ppr-prv pracjourn preprint prerex present presentations presentations-en
- prettyref preview printlen proba probsoln procIAGssymp
+ pressrelease prettyref preview printlen proba probsoln procIAGssymp
prodint productbox program
progress progressbar proposal properties
prosper protex protocol przechlewski-book
diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
index c97f411d0e1..5123758ce5d 100644
--- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
@@ -664,6 +664,7 @@ depend postcards
depend poster-mac
depend ppr-prv
depend preprint
+depend pressrelease
depend prettyref
depend preview
depend printlen
diff --git a/Master/tlpkg/tlpsrc/pressrelease.tlpsrc b/Master/tlpkg/tlpsrc/pressrelease.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/pressrelease.tlpsrc