%%%   ttn3n1.sty

%%%%%%%%%%%%%%%%%%%
%%
%% IMPORTANT NOTICE: You *MUST* use this version 3.1 of tugnews.sty
%%                   dated JAN 1994 in order to run vol.3, no.1 of
%%                   _TeX and TUG NEWS_. (Ch. Thiele, Editor, TTN).
%%
%%      NOTE: This file includes Peter Flynn's keybox.tex style file,
%%            appended at the end (Ch.)
%%
%%%%%%%%%%%%%%%%%%%


\input report.sty    %% default report style, 10pt font

\typeout{Version 3.1 -- Jan 94}

\textwidth=29pc
\textheight=43pc
\voffset=-2pc
\overfullrule=0pt  \hfuzz=5pt

\font\Sectionfont=cmbxsl10 scaled \magstep2    %% \Large = 14.40pt
%% \Subsectionfont isn't used anymore
%%  \font\Subsectionfont=cmbxsl10 scaled \magstep1 %% \large = 12pt
\font\subsectionbit=cmbxti10 scaled\magstep1   %% bold italic 12pt
\font\subsectiontt=cmtt10 scaled\magstep1      %% 12pt \tt (2 JAN 94)
\font\bsl=cmbxsl10                             %% bold slant 10pt
\font\unsl=cmu10                               %% unslant 10pt for
                                               %%   upright pound sign

%test for nfss as suggested by Johannes Braams (cjc, 1992.10)
   \ifx\undefined\selectfont
   %   If NFSS is not preloaded, do nothing.
   \else
   %   If NFSS has been preloaded, we need the following:
   %   \font\tenmi=cmmi10 % or better yet:
      \def\tenmi{\fontfamily{cmm}\fontseries{m}\fontshape{it}%
                 \fontsize{10}{12pt}\selectfont}
   \fi


\newcommand{\Section}[1]{\section*{\centering%
                                   \hrule\hrule \vskip.5pc
                                    {\Sectionfont #1}
                                   \vskip.5pc \hrule\hrule
                                   \vskip1pc
                                  }
           }
%% The following macro hasn't been used since the prototype:
%% Reggie's \Subsection (6 MAY 91):   %% 15 JAN 92: not used in 1,1
%%   \newcommand{\Subsection}[1]{\subsection*{\centering%
%%          \centerline{\vrule width 6cm height .5pt} \vskip 6pt
%%                                    {{\Subsectionfont #1}}
%%          \centerline{\vrule width 6cm height .5pt} \vskip 6pt
%%                                  }
%%           }


%% 24 MAY 93: The following macro introduced in TTN 2,3 (written by
%%            Jeremy Gibbons): 

% \squashedsubsection{foo}{bar} gives similar results to
%
%    \subsection*{foo}
%    \vspace*{-1.5pc}
%    \begin{flushright} bar \end{flushright}
%    \noindent
%
% except you don't have to guess the 1.5pc.
% NB: no attempt is made to avoid overlap!

\def\squashedsubsection#1#2{%
   \subsection*{%
      \hbox to \linewidth{%
         #1% subsection title
         \hfil%
         \llap{\normalsize%
            \begin{tabular}[t]{r@{}}
                #2% byline
            \end{tabular}}%
      }%
   }%
}


%% 29 SEP 93: added the following (adapted from a macro in
%%            Chris/Frank's report in TTN 2,4:

\renewcommand{\subsubsection}{\vspace{-6pt}
                              \paragraph*}


%% 11 JAN 92: added \bibentry, a hanging indent biblio style (Ch.)
\newcommand{\bibentry}{\hangindent=\parindent
                       \hangafter=1
                       \noindent \sloppy
                       \clubpenalty500 \widowpenalty500
                       \frenchspacing
                      }

%%  3 FEB 92: Jackie Damrau provided this:
\newenvironment{Address}{\begin{verse}}%
                        {\end{verse}}


%%  8 MAR 93: Peter Schmitt added this for his column.
%%  1 JUN 93: added:  = for slanted
%%                   \etext, \etexts, \Etexts:
%%                             for electronic publications
%%          changed: \book
%%                   (a) to allow controlword at the end of title
%%                   (b) to work better with \ISBN
%% 13 DEC 93: added: \article, \articles, \Articles:
%%                             for papers, reviews, articles

\newenvironment{New Publications}%
%% begin text
    {
% tools for defining active characters
     \def\Def##1{\catcode`##1\active
         \uccode`\~`##1\uppercase{\uccode`\~0 \def~}}
     \def\sDef##1##2{\catcode`##1\active
         \uccode`\~`##1\uppercase{\uccode`\~0 \def~####1~}{{##2####1}}}
% macros for formatting items
     \def\book ##1##2:##3\par ##4\par {%
          \iflist \else \openlist \fi
          {\frenchspacing
          \item [##1##2.] {\sl##3\unskip\/}.\\##4\penalty10000\hfill\hbox{}}}
     \def\etext ##1##2:##3\par {%
          \iflist \else \openlist \fi
          {\frenchspacing
          \item [##1##2.] {\sl##3\unskip\/}.}}
     \def\issue ##1##2:##3\par {%
          \iflist \else \openlist \fi
          {\frenchspacing
          \item [{\sl##1##2\/}:] ##3}}
% macros for marking subsections
     \def\books{}
     \def\Etexts{%
         \iflist \closelist \fi
         \subsection*{Electronic publications}
         \etexts}
     \def\etexts{\Def\>{\etext}}
     \def\articles{\Def\>{\book}}
     \def\Articles{%
         \iflist \closelist \fi
         \subsection*{Articles on \TeX}
         \articles}
     \def\newsletters{\Def\>{\issue}\Def\#{\newline}}
     \def\Newsletters{%
         \iflist \closelist \fi
         \subsection*{Latest issues of other \TeX\ newsletters}
         \newsletters}
% font switches
     \sDef\|{\tt}
     \sDef\_{\it}
     \sDef\"{\small}
     \sDef\={\sl}
% auxiliary macros
     \def\ISBN##1-##2-##3-##4{\penalty10000\hfil\hbox{}\hskip0pt\relax
                              \hbox{\isbn\ ##1-##2-##3-##4}}
     \Def\&{{\rm and}}
     \Def\#{\\$\bullet$}
     \Def\>{\book}
     \Def<##1 \\{\iflist \closelist \fi
                 {\parfillskip0pt\parskip0pt\parindent0pt
                  \hskip0pt\hfil##1\par}}
% macros managing the description environment
     \def\openlist{\begin{description}\let\iflist\iftrue}
     \def\closelist{\end{description}\let\iflist\iffalse}
     \let\iflist\iffalse
% start page
     \Section{New Publications}
    }%
%% end text
    {\iflist \closelist \fi
    \newpage}


%%  7 OCT 93: Jeremy Gibbons added this for TTN 2,4 (and described it
%%            in his column):

\makeatletter
% myfootnote.sty
% incorporate plain TeX's trickery into LaTeX's footnote macros to allow
% \verb"..." within footnotes (argument to \footnote is not read before
% it is executed)
\long\def\@footnotetext{%
    \insert\footins\bgroup
       \footnotesize
       \interlinepenalty\interfootnotelinepenalty 
       \splittopskip\footnotesep
       \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
       \hsize\columnwidth \@parboxrestore
       \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}%
       \@makefntext{\rule{\z@}{\footnotesep}\ignorespaces}%
       \futurelet\next\fo@t        %% #1\strut\egroup
}
\def\fo@t{\ifcat\bgroup\noexpand\next \let\next\f@@t
                                \else \let\next\f@t\fi \next}
\def\f@@t{\bgroup\aftergroup\@foot\let\next}
\def\f@t#1{#1\@foot}
\def\@foot{\strut\egroup}
\makeatother

%%%%%%%%%%%%%%%%


%% Abbreviations and Logos (some copped from tugboat.cmn):

\newcommand{\LaTeXe}  %% used in TTN 2,4 (Ch.)
           {\LaTeX{}\kern.05em2$_{\textstyle\varepsilon}$}

%% for the METAFONT logo font:
\font\manual=manfnt   %%  logo10
\newcommand{\MF}{{\manual META}\-{\manual FONT}}
\newcommand{\MFB}{{\sl The \MF book\/}}  %% added 2 JAN 94 (Ch.)

\newcommand{\PS}{{\sc Post\-Script}}

\newcommand{\TB}{{\sl The \TeX book\/}}  %% added 2 JAN 94 (Ch.)
\newcommand{\TTN}{{\sl\TeX{} and TUG NEWS\/}}
\newcommand{\TUG}{\TeX{} Users Group}
\newcommand{\TUB}{{\sl TUGboat\/}}

\newcommand{\ascii}{{\small ASCII}} %% added 28 SEP 93 (Ch.)
\newcommand{\act}{{\small ACT}}     %% added 28 SEP 93 (Ch.)
\newcommand{\ctan}{{\small CTAN}}   %% added 30 DEC 93 (Ch.)
\newcommand{\dante}{{\small DANTE}} %% added 28 SEP 93 (Ch.)
\newcommand{\fax}{{\small FAX}}     %% added 15 OCT 92 (Ch.)
\newcommand{\ftp}{{\small FTP}}     %% added 21 JUN 93 (Ch.)
\newcommand{\isbn}{{\small ISBN}}   %% added 30 SEP 92 (Ch.)
\newcommand{\iso}{{\small ISO}}     %% added 30 DEC 93 (Ch.)
\newcommand{\issn}{{\small ISSN}}   %% added 30 SEP 92 (Ch.)
\newcommand{\nfss}{{\small NFSS}}   %% added 30 SEP 92 (Ch.)
\newcommand{\ntg}{{\small NTG}}     %% added 30 DEC 93 (Ch.)
\newcommand{\pim}{{\small PIM}}     %% added 28 SEP 93 (Ch.)
\newcommand{\ttn}{{\small TTN}}     %% added 30 SEP 92 (Ch.)
\newcommand{\tug}{{\small TUG}}     %% added 30 SEP 92 (Ch.)
\newcommand{\twg}{{\small TWG}}     %% added 30 DEC 93 (Ch.)
\newcommand{\uk}{{\small UK}}       %% added 15 OCT 92 (Ch.)
\newcommand{\unix}{{\small UNIX}}   %% added 27 MAR 93 (Ch.)
\newcommand{\usa}{{\small USA}}     %% added 30 DEC 93 (Ch.)


\renewcommand{\pounds}{{\unsl\$}}   %% added 15 OCT 92 (Ch.)

\newcommand{\GUTenberg}{{\small GUT}enberg} %% added  2 FEB 93 (Ch.)


%% 4 FEB 92: improved versions of LaTeX, and (La)TeX macros:

\newcount\TestCount
\newcommand{\La}{\TestCount=\the\fam \leavevmode L\raise.42ex
                 \hbox{$\fam\TestCount\scriptstyle\kern-.3em A$}}

\renewcommand{\LaTeX}{\La\kern-.15em\TeX}

\newcommand{\AllTeX}{{(\La)\TeX}}

\newcommand{\AmSTeX}{{\the\textfont2 A}\kern-.1667em\lower.5ex\hbox
                     {\the\textfont2 M}\kern-.125em{\the\textfont2 S}-\TeX}

\newcommand{\AmSLaTeX}{{\the\textfont2 A}\kern-.1667em\lower.5ex\hbox
                       {\the\textfont2 M}\kern-.125em{\the\textfont2 S}-\LaTeX}

\newcommand{\BibTeX}{{\rm B\kern-.05em{\sc i\kern-.025emb}\kern-.08em\TeX}}

\newcommand{\careof}{\leavevmode\hbox{\raise.75ex\hbox{c}\kern-.15em
                      /\kern-.125em\smash{\lower.3ex\hbox{o}}} \ignorespaces}

\newcommand{\ILaTeX}{I\LaTeX}

%% 24 MAY 93: added PiCTeX macro (Ch.):
\newcommand{\PiC}{P\kern-.12em\lower.5ex\hbox{I}\kern-.075em C}
\newcommand{\PiCTeX}{\PiC\kern-.11em\TeX}

%% 26 SEP 93: added SLiTeX macro (Ch.):
\renewcommand{\SLiTeX}{{\rm S\kern-.06em{\sc l\kern-.035emi}\kern-.06em\TeX}}

\newcommand{\TeCH}{{\rm T\kern-.1667em\lower.7ex\hbox{E}\kern-.125em{\sf CH}}}

\newcommand{\TeXline}{{\TeX\kern-0.1em line}}

%% 28 JAN 93: from Phil Taylor:
\def\UK-TuG{UK-T\lower0.5ex\hbox{U}G}


%% Miscellaneous:

\hyphenation{Karls-ruhe}

\let\ts=\thinspace
\let\nl=\newline


%% 15 DEC 93: appended keybox.tex, Peter Flynn's style file for his
%%            column, ``Typographer's Inn'' (Ch.)


%%   -------------- keybox.tex ----------------
% KEYBOX.TEX - makes a round-cornered box around a word or letter
%              Peter Flynn, November 1993 <pflynn@curia.ucc.ie>

\font\rings=lcircle10
\font\krm=cmss8

\newbox\kbox                             % box to test dimensions
\newdimen\kwd\newdimen\kht\newdimen\kdp  % the test dimensions
\newdimen\chkht\newdimen\zht             % and some more

\def\key#1{%
% find the height of a cap and a descender in the font we're using
\setbox\kbox=\hbox{{\krm Xy}}\kht=\ht\kbox
% find the width of the key name we're going to set
\setbox\kbox=\hbox{{\krm#1}}\kwd=\wd\kbox
% make it 1em wide if it's actually a narrow character, then add some space
{\krm\ifdim\kwd<1em\global\kwd=1em\fi}\advance\kwd by4pt%
% get the depth of descender, if any, in the text we are setting
\kdp=\dp\kbox
% get the height of the text, and subtract it from the height of a capital
% if the text being set contains a cap, this leaves 0pt, otherwise it leaves
% the difference between x-height and cap-height.
\chkht=\ht\kbox\zht=\kht\advance\zht by-\chkht
% if the height of the text is indeed less than the height of a cap,
% subtract the difference calculated above from the cap-height
% and then subtract the x-height. This should leave just enough space
% to \vskip backwards to cover our tracks
\ifdim\chkht<\kht\advance\kht by-\zht\fi{\krm\global\advance\kht by-1ex}
% now set it in a \hbox, dropped 2pt to line up the baselines (roughly)
\setbox\kbox=\hbox{\lower2pt%
% containing a \vbox set to the width of the text plus the rule thicknesses
\vbox{\hsize=\kwd\advance\hsize by.8pt%
% zoom leftwards because of the silly reference points of the corners
\advance\kwd by-7.2pt%
% and make in internal \hbox for the ``lid'' containing the top LH corner,
\hbox to\hsize{{\rings\char'007}%
% the rule,
\kern-3.5pt\hbox to\kwd{\hrulefill}\kern3pt%
% and the top RH corner, and don't gripe about it not fitting!
{\rings\char'004}\hss}\nointerlineskip% 
% shift up 1pt to make the lines meet, and also the amount we calculated
% above to hide the ascenders in the upper <corner><rule><corner> ``lid''.
\vskip-1pt\vskip-\kht
% set the \hbox in the middle with a rule, the text and a rule. The negative
% rule depth makes a 1pt rule to cover the gap caused by the height of the
% characters
\hbox to\hsize{\vrule height3pt depth-2pt\hss{\krm#1}\hss\vrule 
height3pt depth-2pt}\nointerlineskip%
% if there were descenders, now's the time to backtrack to fit them
% into the bottom of the box. It seems to need the extra -space, I dunno why.
\ifdim\kdp>0pt\kern-\kdp\fi\vskip-2.125pt%
% finally, fit together the bottom, the same way as the ``lid''.
\hbox to\hsize{{\rings\char'006}\kern-3.5pt\hbox to\kwd{\hrulefill}%
\kern3pt{\rings\char'005}\hss}}}%
% then backtrack a bit because of the corner reference points being so odd
\kern-2pt\box\kbox}
%
% Here's a line to test it with
%
%This is a \key{Enter} key, this is \key{Esc} and the \key{x}\hfil\break 
%This is a second line with a \key{X} and \key{y} plus the \key{Nasty} one.
%\bye



%% CHANGES FROM ttn1-1.sty to ttn1-2.sty:

%% 25 MAY 92: changed \smc to \sc in \BiBTeX def'n (Ch.)
%%            added \AmSLaTeX def'n (Ch.)
%% 14 JUN 92: added \TeXline def (Ch.)

%% CHANGES from ttn1-2.sty to ttn1-3.sty:
%% 10 SEP 92: Jackie added {ttnlist}

%% 24 MAY 93: uncommented \bsl def (cmbxsl10) (Ch.)
%%            added \PiCTeX macro (Ch.)

%% CHANGES from ttn2n3 to ttn2n4:
%%   changed a lot of \def's to \newcommand (Ch.)
%%   added several new {\small ...} macros
%%   revised \subsubsection to be \paragraph*
%%   added Jeremy Gibbons' footnote macro (does \verb|...| now)

%% CHANGES from ttn2n4 to ttn3.1:
%%   included Flynn's keybox.tex macros into this TTN .sty file 
%%   replaced Peter Schmitt's macros with an augmented update version 
%%   added \small CTAN, ISO
%%   added \TB and \MFB  (TeXbook, Metafont book)
%%   added \tt at 12pt for \subsection size
%%   added \LaTeXe macro from TTN 2,4

%% END OF FILE