From ebb7026b5e8fa37bdd5c719cbcfed2eb9105aa7e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 10 Sep 2014 21:17:19 +0000 Subject: pressrelease (10sep14) git-svn-id: svn://tug.org/texlive/trunk@35147 c570f23f-e606-0410-a88d-b1316a301751 --- .../latex/pressrelease/pressrelease-symbols.sty | 71 ++++ .../tex/latex/pressrelease/pressrelease.cls | 461 +++++++++++++++++++++ 2 files changed, 532 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/pressrelease/pressrelease-symbols.sty create mode 100644 Master/texmf-dist/tex/latex/pressrelease/pressrelease.cls (limited to 'Master/texmf-dist/tex/latex/pressrelease') 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'. -- cgit v1.2.3