% \iffalse meta-comment % % Copyright 1993 1994 1995 1996 1997 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % % For further copyright information, and conditions for modification % and distribution, see the file legal.txt, and any other copyright % notices in this file. % % This file is part of the LaTeX2e system. % ---------------------------------------- % This system is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. % % For error reports concerning UNCHANGED versions of this file no % more than one year old, see bugs.txt. % % Please do not request updates from us directly. Primary % distribution is through the CTAN archives. % % % IMPORTANT COPYRIGHT NOTICE: % % You are NOT ALLOWED to distribute this file alone. % % You are allowed to distribute this file under the condition that it % is distributed together with all the files listed in manifest.txt. % % If you receive only some of these files from someone, complain! % % % Permission is granted to copy this file to another file with a % clearly different name and to customize the declarations in that % copy to serve the needs of your installation, provided that you % comply with the conditions in the file legal.txt. % % However, NO PERMISSION is granted to produce or to distribute a % modified version of this file under its original name. % % You are NOT ALLOWED to change this file. % % % % \fi % Filename: ltnews.cls % Author: Alan Jeffrey % Version: 0.13 % This is the LaTeX2e document class for the `LaTeX News' information % sheet which comes with every LaTeX release. It may be useful for % newsletters, or as an example of how simple newsletters can be set % with LaTeX. The changes log is at the end of the file. % Copyright 1994 1995 1996 % Alan Jeffrey and the LaTeX3 project. % This is a LaTeX2e document class. \NeedsTeXFormat{LaTeX2e} \ProvidesClass{ltnews}[1994/11/29 Standard LaTeX class] % The configuration file, used for passing options. \InputIfFileExists{ltnews.cfg}{% \ClassInfo{ltnews}{Using local configuration file}% }{% \ClassInfo{ltnews}{No local configuration file}% } % The lw35fonts option uses the fonts: % % Adobe Palatino (main text) % Adobe Helvetica Bold (headings) % Courier (program listings) % Mathptm math italic (2e logo) % Mathptm symbol font (AMS logo) % % The type1fonts option uses the fonts: % % Adobe Utopia (main text) % URW Grotesk-T Bold (headings) % Lucida Sans typewriter (program listings) % Mathptm math italic (2e logo) % Mathptm symbol font (AMS logo) % The Adobe Palatino fonts: \DeclareFontFamily{OT1}{ppl}{} \DeclareFontShape{OT1}{ppl}{m}{n}{<-> pplr7t}{} \DeclareFontShape{OT1}{ppl}{m}{sc}{<-> pplrc7t}{} \DeclareFontShape{OT1}{ppl}{m}{it}{<-> pplri7t}{} \DeclareFontFamily{T1}{ppl}{} \DeclareFontShape{T1}{ppl}{m}{n}{<-> pplr8t}{} \DeclareFontShape{T1}{ppl}{m}{sc}{<-> pplrc8t}{} \DeclareFontShape{T1}{ppl}{m}{it}{<-> pplri8t}{} % The Adobe Helvetica fonts: \DeclareFontFamily{OT1}{phv}{} \DeclareFontShape{OT1}{phv}{m}{n}{<-> s*[0.86] phvr7t}{} \DeclareFontShape{OT1}{phv}{b}{n}{<-> phvb7t}{} \DeclareFontFamily{T1}{phv}{} \DeclareFontShape{T1}{phv}{m}{n}{<-> s*[0.86] phvr8t}{} \DeclareFontShape{T1}{phv}{b}{n}{<-> phvb8t}{} % The Adobe Courier fonts: \DeclareFontFamily{OT1}{pcr}{\hyphenchar\font=-1} \DeclareFontShape{OT1}{pcr}{m}{n}{<-> s*[0.89] pcrr7t}{} \DeclareFontFamily{T1}{pcr}{\hyphenchar\font=-1} \DeclareFontShape{T1}{pcr}{m}{n}{<-> s*[0.89] pcrr8t}{} % The Utopia fonts: \DeclareFontFamily{OT1}{put}{} \DeclareFontShape{OT1}{put}{m}{n}{<-> putr7t}{} \DeclareFontShape{OT1}{put}{m}{sc}{<-> putrc7t}{} \DeclareFontShape{OT1}{put}{m}{it}{<-> putri7t}{} % The URW Grotesk fonts: \DeclareFontFamily{OT1}{ugq}{} \DeclareFontShape{OT1}{ugq}{b}{n}{<-> ugqb7t}{} % The Lucida Sans Typewriter fonts: \DeclareFontFamily{OT1}{hlct}{\hyphenchar\font=-1} \DeclareFontShape{OT1}{hlct}{m}{n}{<-> hlct7t}{} % The mathptm math italic: \DeclareFontFamily{OML}{ptmcm}{\skewchar\font=127} \DeclareFontShape{OML}{ptmcm}{m}{it}{<-> zptmcmrm}{} % The mathptm symbol font: \DeclareFontFamily{OMS}{pzccm}{} \DeclareFontShape{OMS}{pzccm}{m}{n}{<-> zpzccmry}{} % The TeX logo for use with Palatino. \def\pplTeX{T\kern-.15em\lower.4ex\hbox{E}\kern-.1emX\@} % The LaTeX logo for use with Palatino. \DeclareRobustCommand{\pplLaTeX}{L\kern-.3em {\setbox0\hbox{T}% \vbox to\ht0{\hbox{% \csname S@\f@size\endcsname \fontsize\sf@size\z@ \math@fontsfalse\selectfont A}% \vss}% }% \kern-.07em \TeX} % The TeX logo for use with Utopia. \def\putTeX{T\kern-.1667em\lower.4ex\hbox{E}\kern-.075emX\@} % The LaTeX logo for use with Utopia. \DeclareRobustCommand{\putLaTeX}{L\kern-.2em {\setbox0\hbox{T}% \vbox to\ht0{\hbox{% \csname S@\f@size\endcsname \fontsize\sf@size\z@ \math@fontsfalse\selectfont A}% \vss}% }% \kern-.05em \TeX} % The TeX logo for use with Helvetica. \def\phvTeX{T\kern-.1em\lower.4ex\hbox{E}\kern-.05emX\@} % The LaTeX logo for use with Helvetica. \DeclareRobustCommand{\phvLaTeX}{L\kern-.3em {\calculate@math@sizes \setbox0\hbox{T}% \vbox to\ht0{\hbox{% \csname S@\f@size\endcsname \fontsize\sf@size\z@ \math@fontsfalse\selectfont A}% \vss}% }% \kern-.05em \TeX} % The TeX logo for use with Grotesk. \def\ugqTeX{T\kern-.1em\lower.4ex\hbox{E}\kern-.05emX\@} % The LaTeX logo for use with Grotesk. \DeclareRobustCommand{\ugqLaTeX}{L\kern-.15em {\calculate@math@sizes \setbox0\hbox{T}% \vbox to\ht0{\hbox{% \csname S@\f@size\endcsname \fontsize\sf@size\z@ \math@fontsfalse\selectfont A}% \vss}% }% \kern-.01em \TeX} % The TeX logo for use with CMSS. \def\cmssTeX{T\kern-.2em\lower.4ex\hbox{E}\kern-.05emX\@} % The LaTeX logo for use with CMSS. \DeclareRobustCommand{\cmssLaTeX}{L\kern-.22em {\setbox0\hbox{T}% \vbox to\ht0{\hbox{% \csname S@\f@size\endcsname \fontsize\sf@size\z@ \math@fontsfalse\selectfont A}% \vss}% }% \kern-.17em \TeX} % Switch off some of the article options. \DeclareOption{a4paper}{\OptionNotUsed} \DeclareOption{a5paper}{\OptionNotUsed} \DeclareOption{b5paper}{\OptionNotUsed} \DeclareOption{letterpaper}{\OptionNotUsed} \DeclareOption{legalpaper}{\OptionNotUsed} \DeclareOption{executivepaper}{\OptionNotUsed} \DeclareOption{landscape}{\OptionNotUsed} \DeclareOption{twoside}{\OptionNotUsed} \DeclareOption{titlepage}{\OptionNotUsed} \DeclareOption{onecolumn}{\OptionNotUsed} % The CM fonts \newcommand{\@titlefont}{\normalfont\Huge} \newcommand{\@indiciafont}{\normalfont\footnotesize} \newcommand{\@headingfont}{% \large\sffamily\slshape \let\LaTeX\cmssLaTeX\let\TeX\cmssTeX } % The LW 35 fonts option \DeclareOption{lw35fonts}{% \renewcommand{\rmdefault}{ppl}% \renewcommand{\ttdefault}{pcr}% \renewcommand{\sfdefault}{phv}% \renewcommand{\@titlefont}{% \fontsize{50}{60}\fontfamily{phv}\fontseries{b}\selectfont \let\LaTeX\phvLaTeX\let\TeX\phvTeX }% \renewcommand{\@indiciafont}{% \fontsize{8}{10}\fontfamily{ppl}\fontshape{it}\selectfont }% \renewcommand{\@headingfont}{% \fontsize{12}{14}\fontfamily{phv}\fontseries{b}\selectfont \let\LaTeX\phvLaTeX\let\TeX\phvTeX }% \DeclareSymbolFont{letters}{OML}{ptmcm}{m}{it}% \DeclareSymbolFont{symbols}{OMS}{pzccm}{m}{n}% \let\LaTeX\pplLaTeX \let\TeX\pplTeX \AtEndOfClass{\addtolength\textheight\baselineskip}% } % The type 1 fonts option \DeclareOption{type1fonts}{% \renewcommand{\rmdefault}{put}% \renewcommand{\ttdefault}{hlct}% \renewcommand{\sfdefault}{ugq}% \renewcommand{\@titlefont}{% \fontsize{50}{60}\fontfamily{ugq}\fontseries{b}\selectfont \let\LaTeX\ugqLaTeX\let\TeX\ugqTeX }% \renewcommand{\@indiciafont}{% \fontsize{8}{10}\fontfamily{put}\fontshape{it}\selectfont }% \renewcommand{\@headingfont}{% \fontsize{12}{14}\fontfamily{ugq}\fontseries{b}\selectfont \let\LaTeX\ugqLaTeX\let\TeX\ugqTeX }% \renewcommand{\verbatim@font}{% \fontsize{9}{12}\fontfamily{hlct}\selectfont }% \DeclareSymbolFont{letters}{OML}{ptmcm}{m}{it}% \DeclareSymbolFont{symbols}{OMS}{pzccm}{m}{n}% \let\LaTeX\putLaTeX \let\TeX\putTeX } % The default action for any option is to pass it to the article % class. \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} % Execute the options. \ProcessOptions % Load the article class. \LoadClass[twocolumn,oneside]{article} % The page style. \pagestyle{empty} \setlength{\parindent}{1em} % Why \textwidth? \setlength{\rightskip}{0pt plus \textwidth} \setlength{\@rightskip}{\rightskip} \setlength{\parfillskip}{0pt plus 2\textwidth} \setlength{\columnsep}{2em} % The text size, which tries to work with both A4 and letter paper % sizes. \setlength{\textheight}{230mm} \setlength{\topmargin}{-10mm} \setlength{\textwidth}{180mm} \setlength{\oddsidemargin}{-10mm} % \maketitle parameters. \newcommand{\publicationmonth}{\renewcommand{\@month}} \newcommand{\@month}{\ClassError{ltnews} {No \protect\publicationmonth~given}\@eha} \newcommand{\publicationyear}{\renewcommand{\@year}} \newcommand{\@year}{\ClassError{ltnews} {No \protect\publicationyear~given}\@eha} \newcommand{\publicationissue}{\renewcommand{\@issue}} \newcommand{\@issue}{\ClassError{ltnews} {No \protect\publicationissue~given}\@eha} \newcommand{\issuename}{Issue} \newcommand{\indicia}{\renewcommand{\@indicia}} \newcommand{\@indicia}{% \LaTeXNews, and the \LaTeX{} software, are brought to you by the \LaTeX3 Project Team; Copyright \@year, all rights reserved. } \title{\LaTeXNews} % The \maketitle for the LaTeX News. \renewcommand{\maketitle}{% \twocolumn[{% \parbox[t][7\baselineskip]{\textwidth}{% \@titlefont\@title\\[\medskipamount] \normalfont\normalsize\issuename~\@issue, \@month~\@year }% }]% \thispagestyle{titlepage} } \newcommand{\ps@titlepage}{% \renewcommand{\@oddhead}{\hfill}% \renewcommand{\@evenhead}{\hfill}% \renewcommand{\@oddfoot}{\@indiciafont\@indicia\hfill}% \renewcommand{\@evenfoot}{\@indiciafont\@indicia\hfill}% } % Sectioning commands. \renewcommand{\section}{% \@startsection {section}{1}{\z@}{-1.5ex \@plus -1ex \@minus -.2ex}% {1ex \@plus.2ex}{\@headingfont}% } % No section numbers. \setcounter{secnumdepth}{0} % Set lists tighter, but brought in by 1em (otherwise the first line % always looks very wide). Should this be done with \rightskip? % It actually does nothing since after this \rightskip is set to % \@rightskip: I think \rightmargin was intended but should we change % it now? \renewcommand{\@listI}{% \setlength{\leftmargin}{\leftmargini}% \setlength{\topsep}{\medskipamount}% \setlength{\itemsep}{0pt}% \setlength{\listparindent}{1em}% \setlength{\rightskip}{1em}% } \let \@listi \@listI % But have a list type with no indentation on either side: % \renewenvironment{description} {\list{}{\labelwidth\z@ \leftmargin \z@ \rightmargin \z@ \itemindent-\leftmargin \let\makelabel\descriptionlabel}} {\endlist} \newenvironment{citations}{% \list{}{% \renewcommand{\makelabel}[1]{\itshape{##1},}% }% }{% \endlist } % Some logos. \newcommand{\NFSS}{NFSS} \newcommand{\LaTeXNews}{\LaTeX~News} \newcommand{\AW}{Addison Wesley} \newcommand{\SLiTeX}{\textsc{Sli}\TeX} \newcommand{\AmS}{$${\protect\the\textfont2 A}\kern-.1667em\lower .5ex\hbox{\protect\the\textfont2 M}\kern -.125em{\protect\the\textfont2 S}} \newcommand{\AmSLaTeX}{\mbox{\AmS-\LaTeX}} % Hacking to make <...> produce italics in verbatim. NB: this can be % done more cleanly using the verbatim package. But the ltnews class % has to run on any LaTeX installation, even those without the % verbatim package. % Here we extend the font-setting command to include making <> active % (ie adjusting the input encoding). \renewcommand \verbatim@font {% \normalfont \ttfamily \catcode`\<=\active \catcode`\>=\active } % Make active <...> produce italics surrounded by angle brackets % (used in verbatim and \verb); % << produces a less-than, and >> produces a greater-than. \begingroup \catcode`\<=\active \catcode`\>=\active \gdef<{\@ifnextchar<\@lt\@meta} \gdef>{\@ifnextchar>\@gt\@gtr@err} \gdef\@meta#1>{{\reset@font\normalsize\itshape#1\/}} \gdef\@lt<{\char`\<} \gdef\@gt>{\char`\>} \endgroup \def\@gtr@err{% \ClassError{ltxguide}{% Isolated \protect>% }{% In this document class, \protect<...\protect> is used to indicate a parameter.\MessageBreak I've just found a \protect> on its own. Perhaps you meant to type \protect>\protect>? }% } \def\verbatim@nolig@list{\do\`\do\,\do\'\do\-} % That's it! \endinput % CHANGELOG % % 20 May 1994, v0.01: Created file. % % 21 May 1994, v0.02: Made <...> produce italics inside verbatim. % Added the indicia, \publicationyear, \publicationmonth and % \publicationissue. Added the citations environment. Switched off % some of the article class options. % % 21 May 1994, v0.03: Fixed a bug with ragged right. Fixed a bug % which was causing underfull hbox messages. % % 27 May 1994, v0.04: Added SliTeX logo, and proper AMS LaTeX logo. % Added angle brackets to <...>. % % 31 May 1994, v0.05: Added downloaded PS fonts options. Removed % angle brackets from <...> since these were the last remaining % bitmaps! Added variants of the LaTeX logo. Added the ltnews.cfg % file. Added the lw35fonts option. % % 27 Jul 1994, v0.06: Corrected a typo `\PassOptionToClass' should % have been `\PassOptionsToClass'. Manas Mandal pointed that one % out. % % 29 Nov 1994, v0.07: Made <...> only active in verbatim. % % 09 Dec 1995, v0.08: Upper case for Project Team. % % 20 Dec 1995, v0.09: Tidided up the list stuff. % % 03 Jun 1996, v0.10: Changed fonts for lw35 option, for logical and % aesthetic reasons. % % 06 Jun 1996, v0.11: Corrected grammar in footer. % % 10 June 1996 v0.12: Add extra line in lw35fonts option, % so 04 and 05 do not run over the page. % Make font scaling messages go to log only. % % 22 Nov 1997, v0.13: Added new form of description. % Found all sorts of strange things involving \rightskip % % BUGS % % Switching between logos like this is a mess. % % The last column should be set flush bottom.