diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r-- | Master/texmf-dist/tex/latex/asmejour/asmejour.cls | 571 |
1 files changed, 571 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/asmejour/asmejour.cls b/Master/texmf-dist/tex/latex/asmejour/asmejour.cls new file mode 100644 index 00000000000..1dfd3152fd4 --- /dev/null +++ b/Master/texmf-dist/tex/latex/asmejour/asmejour.cls @@ -0,0 +1,571 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% This file provides the asmejour class for formatting =papers in a layout similar to +%% ASME Journal papers. +%% +%% The asmejour.cls file should be used with the files asmejour.bst (for citations) and asmejour-template.tex. +%% +%% +%% This file is version 1.01 dated 2019/04/28. +%% +%% Author: John H. Lienhard V +%% Department of Mechanical Engineering +%% Massachusetts Institute of Technology +%% Cambridge, MA 02139-4307 USA +%% +%% This class is compatible with either pdfLaTeX or LuaLaTeX. The class calls a number of packages, +%% many of which are part of the standard LaTeX distribution, and all of which are in TeXLive and +%% CTAN (https://ctan.org/). +%% +%% The Times/Helvetica style fonts are from Michael Sharpe's excellent newtxtext and newtxmath packages. +%% This class is not designed for unicode-math or fontspec. +%% +%% Options for the class are described on lines 73-123. +%% +%% The class defines an environment for nomenclature. LaTeX must be run twice to align those columns. +%% +%% The title block is set by a specific group of commands which are described in the asmejour-template.tex file. +%% +%% The \section[]{} command's optional argument is changed to provide pdf bookmarks when necessary. +%% + %========================================================= +%% +%% LICENSE: +%% +%% Copyright (c) 2019 John H. Lienhard +%% +%% Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +%% associated documentation files (the "Software"), to deal in the Software without restriction, +%% including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +%% and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +%% subject to the following conditions: +%% +%% The above copyright notice and this permission notice shall be included in all copies or +%% substantial portions of the Software. +%% +%% The software is provided "as is", without warranty of any kind, express or implied, including but +%% not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. +%% in no event shall the authors or copyright holders be liable for any claim, damages or other liability, +%% whether in an action of contract, tort or otherwise, arising from, out of or in connection with the +%% software or the use or other dealings in the software. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{asmejour}[2019/04/28 asmejour paper format] + +\LoadClass[twoside,9pt,twocolumn]{extarticle} + +%%%%%%%%%%%%%% Options for the class %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\RequirePackage{ifthen} +\newboolean{DefaultSups} +\setboolean{DefaultSups}{true} + +\RequirePackage{kvoptions} +\RequirePackage{kvsetkeys} +\SetupKeyvalOptions{ + family=asmeconf, + prefix=asmeconf@, + setkeys=\kvsetkeys, +} + +%%% for mathalfa, so we may pass options in this format: mathalfa=cal=euler, mathalfa=frak=boondox +\define@key{asmeconf}{mathalfa}{% + \PassOptionsToPackage{#1}{mathalfa}% +} + +%%% set key [nodefaultsups] to obtain newtx superiors font for footnotes. +\define@key{asmeconf}{nodefaultsups}[false]{% + \setboolean{DefaultSups}{#1} +} + +%%% set barcolor= to a value defined by xcolor package +\newcommand\@ColorName{black} % default +\define@key{asmeconf}{barcolor}[Red4]{% + \renewcommand\@ColorName{#1} +} + +\ProcessKeyvalOptions* + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% option to omit ASME footer +\DeclareOption{nofoot}{% + \AtBeginDocument{\pagestyle{plain}% + \fancypagestyle{title}{% + \fancyhf{} + \fancyfoot[CE,CO]{\thepage} + } + } +} + +%% option to omit ASME copyright +\DeclareOption{nocopyright}{% + \AtBeginDocument{\fancypagestyle{title}{% + \fancyhf{} + \fancyfoot[RO]{\large\sffamily PREPRINT FOR REVIEW \bfseries / \thepage} + \fancyfoot[LO]{\large\bfseries\sffamily Journal of \@JourName} + \fancyfoot[CO]{} + } + } +} + +%% Access many options from newtxmath. See newtxmath documentation for details. +\DeclareOption{upint,smallerops,varvw,varg,slantedGreek,frenchmath,varbb,cmbraces}{\PassOptionsToPackage{}{newtxmath}} + +%% Option for slightly larger small capitals font [largesc] or to loosen word spacing [looser] +\DeclareOption{largesc}{\PassOptionsToPackage{}{newtxtext}} + +%% ASME word separation is greater than newtxtext defaults so change these parameters. +\PassOptionsToPackage{spacing=0.3em, stretch=0.18em, shrink=0.08em}{newtxtext} + +%% Option not to use latex default superscripts, instead using the newtxtext superiors font [nodefaultsups] +\ifthenelse{\boolean{DefaultSups}}{\PassOptionsToPackage{defaultsups}{newtxtext}}{\relax} + +%% Suppress warnings about mathalfa keys as unused global options +\DeclareOption*{} + +\ProcessOptions \relax + +%%%%%%%%%%%%% end options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\RequirePackage[paperheight=285.7mm, paperwidth=215.9mm, left=21.1mm, right=21.1mm, top=15.9mm, bottom = 24mm, footskip=8mm]{geometry} +\setlength\columnsep{4.5mm} +\setlength\parindent{3.5mm} +% ASME's pdf pages are 11.25 in. tall, not 11.00 in. + +\RequirePackage[sort&compress,numbers]{natbib} +\setlength\bibsep{0pt plus 1pt minus 0pt} % ASME keeps this tight +\renewcommand*{\bibfont}{\footnotesize} + +\RequirePackage{graphicx} +\RequirePackage[hyperref,fixpdftex,dvipsnames,svgnames,x11names]{xcolor} +\RequirePackage{xparse} + +%%%%%%%%%%%%%%%% Table related %%%%%%%% + +\RequirePackage{array} + +\RequirePackage{dcolumn} %% alignment on decimal places +\newcolumntype{d}[1]{D{.}{.}{#1}} + +%% make \hline in tables heavier than default 0.4pt +\setlength\arrayrulewidth{.5\p@} + + +%%%%%%%% FONT related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\RequirePackage{mathtools} % extends amsmath +\RequirePackage[utf8]{inputenc} +\RequirePackage[]{newtxtext} +\RequirePackage[varqu,varl]{inconsolata} % sans typewriter font +\RequirePackage[]{newtxmath} + +\RequirePackage[]{mathalfa} % load optional fonts for Calligraphy, Script, etc. + +\RequirePackage{bm} % load after all math to give access to bold math + +%% In addition to the word spacing options declared in line 121... +%% Relative to size9.clo: leading reduced to 10 pt; displayskips made greater +\renewcommand\normalsize{% + \@setfontsize\normalsize\@ixpt{10\p@} % <== was \@xipt + \abovedisplayskip 10\p@ \@plus5\p@ \@minus4\p@ % <== was 8\p@ 4,4... + \abovedisplayshortskip 3\p@ \@plus1\p@ \@minus1\p@ % <== was \z@ \@plus3\p@ (3pt stretch) + \belowdisplayshortskip 10\p@ \@plus5\p@ \@minus4\p@ % <== was 5\p@ 3, 3 + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI} +\normalsize + +\setlength{\jot}{10pt} %<== default is 3pt + +\allowdisplaybreaks % ASME allows these breaks + +%% This provides sans serif italic and sans serif bold italic math. +%% It's intended only for use in the figure and table captions. +%% Fonts are from newtxsf package. +\DeclareMathVersion{sansbold} +\SetMathAlphabet{\mathsf}{sansbold}{\encodingdefault}{\sfdefault}{b}{n} +\SetSymbolFont{letters}{sansbold}{OML}{ntxsfmi}{b}{it} +\SetSymbolFont{lettersA}{sansbold}{U}{ntxsfmia}{b}{it} +\SetSymbolFont{symbols}{sansbold}{LMS}{ntxsy}{b}{n} +\SetSymbolFont{operators}{sansbold}{\encodingdefault}{\sfdefault}{\bfdefault}{n} + +%% Text Gyre Heros Condensed is qhvc (regular is qhv). +\newcommand*{\CondSans}{\selectfont\fontfamily{qhvc}\selectfont} +\renewcommand\huge{\@setfontsize\huge{14}{14}} %... for author names only +\newcommand*{\CondSansBold}{\renewcommand\bfdefault{b}\selectfont\fontfamily{qhvc}\selectfont\bfseries} +\renewcommand\Huge{\@setfontsize\Huge{26.5}{26.5}} %... for title font only + + +%%%%%%%%%%%%%%%%% FOOTER SET UP %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%% footer text names %%%%%%%%%% + +\newcommand{\JourName}[1]{\gdef\@JourName{#1}} +\providecommand\@JourName{\hbox{ }} + +\DeclareDocumentCommand{\PaperYear}{G{\the\year}}{% + \gdef\@PaperYear{#1}% + } +\providecommand\@PaperYear{\the\year} + +%%%%%% + +\RequirePackage{fancyhdr} +\pagestyle{fancy} + +\fancyhf{} % clear all header and footer fields +\renewcommand{\headrulewidth}{0pt} +\renewcommand{\footrulewidth}{0pt} +\fancyfoot[RE]{\large\bfseries\sffamily Transactions of the ASME} +\fancyfoot[LO]{\large\bfseries\sffamily Journal of \@JourName} +\fancyfoot[RO]{\large\sffamily PREPRINT FOR REVIEW \bfseries / \thepage} +\fancyfoot[LE]{\large\sffamily {\bfseries \thepage\ /} PREPRINT FOR REVIEW} + + +\fancypagestyle{title}{% +\fancyhf{} % clear all header and footer fields +\renewcommand{\headrulewidth}{0pt} +\renewcommand{\footrulewidth}{0pt} +\fancyfoot[RO]{\large\sffamily PREPRINT FOR REVIEW \bfseries / \thepage} +\fancyfoot[LO]{\large\bfseries\sffamily Journal of \@JourName} +\fancyfoot[CO]{\large\bfseries\sffamily Copyright \textcopyright\ \@PaperYear\ by ASME} +} + +%%%%%% Footnotes %%%%%%% + +\RequirePackage{fnpos} +\makeFNbottom +\makeFNbelow + +\setlength{\skip\footins}{12pt plus 2pt minus 1pt} + +\renewcommand{\footnoterule}{% + \kern -3pt + \hrule width 0.5in height 0.5pt + \kern 2pt +} + +%% reduce indentation of footnotes +\renewcommand\@makefntext[1]{% + \noindent\makebox[4mm][r]{\@makefnmark}\hyphenpenalty=300\exhyphenpenalty=300 #1} %<== suppress hyphenation + +%% Produces an unmarked footnote about the submission date. Insert \reviewfootnote{..} on first page if desired. +\def\reviewfootnote{\gdef\@thefnmark{}\@footnotetext} + +%%%%%%%%% CAPTION RELATED %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\RequirePackage[labelfont={sf,bf},hypcap=false]{caption} +\RequirePackage[hypcap=false,list=true]{subcaption} + +\DeclareCaptionTextFormat{boldmath}{\mathversion{sansbold}#1} + +\captionsetup[figure]{name=Fig.,labelfont={sf,bf},textfont={sf,bf},textformat=boldmath,labelsep=quad} +\captionsetup[table]{name=Table,labelfont={sf,bf},textfont={sf,bf},textformat=boldmath,labelsep=quad,skip=0.5\baselineskip} + + +%%%%%%%%%%%% SECTION HEADINGS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% wish to accommodate hyperref + +\RequirePackage[raggedright,indentafter]{titlesec} + +\titleformat{\section}{\mathversion{bold}\bfseries\large\raggedright}{\thesection}{0.5em}{} +\titleformat{\subsection}[runin]{\mathversion{bold}\bfseries}{\thesubsection}{0.5em}{}[.] + +\titlespacing\section{0pt}{14pt plus 3pt minus 2pt}{3pt plus 2pt minus 1pt} +\titleformat{\subsection}[runin]{\mathversion{bold}\bfseries}{\thesubsection}{0.5em}{}[.] + +%% ASME style does not seem to go lower than subsection, so ... +%% ....putting \subsubsection and \paragraph into \subsection settings. +\titleformat{\subsubsection}[runin]{\mathversion{bold}\bfseries}{\thesubsection}{0.5em}{}[.] +\titleformat{\subsubsection}[runin]{\mathversion{bold}\bfseries}{\thesubsection}{0.5em}{}[.] +\titleformat{\paragraph}[runin]{\mathversion{bold}\bfseries}{\thesubsection}{0.5em}{}[.] +\titleformat{\paragraph}[runin]{\mathversion{bold}\bfseries}{\thesubsection}{0.5em}{}[.] + +%% Special handling of the appendices +%% Assumes that appendices are the last technical content in paper +\RenewDocumentCommand{\appendix}{}{% + \pdfbookmark[1]{Appendices}{appendices} + \setcounter{section}{0} + \renewcommand\thesection{\Alph{section}} + \setcounter{equation}{0} + \renewcommand\theequation{\Alph{section}\arabic{equation}} + \titleformat{\section}[block]{\mathversion{bold}\bfseries\large\raggedright}{Appendix \thesection:}{0.5em}{}[\setcounter{equation}{0}] +} + +% natbib's \bibsection controls section heading for References. + + +%%%%%%%%%%%%%%%%% List environments %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\RequirePackage{enumitem} + +\setlist[enumerate,1]{label = (\arabic*), ref = (\arabic*),labelindent=3mm, leftmargin=*,noitemsep} +%% have no examples of sublists... + +%%%%%%%%%%%%% hyperref %%%%%%%%%%%%%%%%%%% + +\RequirePackage{hyperxmp} %% to fix transfer of metadata to Acrobat pdf + +\RequirePackage[% + unicode, % Unicode encoded PDF strings + psdextra, % additional support for math in pdf bookmarks + pdfborder={0 0 0},% + bookmarks=true, % + bookmarksnumbered=true,% + bookmarksopen=true,% + bookmarksopenlevel=1,% + colorlinks=true,% + linkcolor=blue, % + citecolor=blue, % + urlcolor=blue, % + breaklinks=true,% + pdftitle={}, % <=== add in .tex file + pdfkeywords={}, % <=== add in .tex file + pdfnewwindow=true,% + pdfpagelayout=TwoPageRight,% + pdfauthor={}, % <=== add in .tex file + pdfdisplaydoctitle=true% + ]{hyperref} + +\urlstyle{same} % don't switch to typewriter font + +\RequirePackage{doi} % provides hyperlinks for doi in bibliography +\renewcommand{\doitext}{doi:~} % change the default, {doi:}, to this for ASME specification + + +%% Since \bm is useful in headings, this fix will reduce frequency with which +%% alternate pdfstrings must be given in section command as \section[pdfstring]{texstring} +\pdfstringdefDisableCommands{% + \def\bm#1#{\relax}% +} + +%% Let's just remove citations from pdf bookmarks +\pdfstringdefDisableCommands{% + \def\cite{\@gobble}% +} + +%% Let's make sure footnotes in section headings don't break pdf bookmarks. +\RequirePackage{etoolbox} +\robustify{\footnote} +\pdfstringdefDisableCommands{% + \def\footnote#1{}% +} + +%%% Create an optional argument for unnumbered sections and set pdf bookmark (thru \addcontentsline). +%%% The optional argument will manually set the pdf bookmark for that section; can be used to avoid hyperref +%%% errors when macros are in section titles. +%%% There should not be errors for $$, \cite, \ref, \label, \footnote, or \bm with current construction. +\let\svsection\section +\RenewDocumentCommand{\section}{s o m}{% + \IfBooleanTF {#1} + {\svsection*{#3}\phantomsection + {\IfNoValueTF {#2} + {\addcontentsline{toc}{section}{#3} } + {\addcontentsline{toc}{section}{#2} } + } + } + {\IfNoValueTF {#2} + {\svsection{#3}} + {\svsection[#2]{#3}} + } +} + + +%%%%%%%%%%%%% define Nomenclature environment %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%% Nomenclature environment in ASME Journal Style +%% Run twice to get proper label width. +%% Set first optional argument (a dimension) to override automatic label width (e.g., if one label is excessive) +%% Second argument can be used to rename the section, e.g., to List of Symbols. +%% + +\newlength\widest +\newlength\@widest +\newlength\nomenwidth + +%% If the second argument of \entry is omitted, a bold section heading is produced, e.g. \entry{Greek Letters} +\DeclareDocumentCommand{\entry}{m g}{% + \IfNoValueTF{#2}{% + \item[\bfseries#1\hfill]\bigskip\hphantom{M}\smallskip% + }{% + \item[\hfill#1${} = {}$]#2% + \settowidth\@widest{#1${} = {}$}% + \ifdim\@widest>\widest \global\setlength\widest\@widest\fi% + } +} + +\RequirePackage{totcount} +\newtotcounter{savedlength} +% a total counter for saving the value of \nomenwidth + +\AtBeginDocument{\setlength{\nomenwidth}{\totvalue{savedlength}sp}} +% value is the length in scaled points (sp) + +\DeclareDocumentEnvironment{nomenclature}{O{\nomenwidth} O{Nomenclature}}{% + \setlength{\widest}{0em} + \section*{#2} + \raggedright + \begin{list}{}{% + \setlength{\topsep}{0pt} + \setlength{\partopsep}{0pt} + \setlength{\itemsep}{0pt} + \setlength{\parsep}{\itemsep} + \setlength{\labelsep}{0em} + \setlength{\labelwidth}{#1} + \setlength{\leftmargin}{\labelwidth} + \addtolength{\leftmargin}{\labelsep} + }% + }{% + \setcounter{savedlength}{\widest}% + \end{list}% +} + + +%%%%%%%%%%%%%%%% Author/Title/Abstract block %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newcommand{\papertitle}[1]{\gdef\@papertitle{#1}} +\providecommand\@papertitle{\hbox{ }} + +\newcommand{\PaperTitle}{% +\par\vspace*{6mm}% +\parbox{\linewidth}{\centering{\bfseries\Large% +\MakeTextUppercase{\@papertitle}% +\thispagestyle{title}\par} %% <=== \par gets the font leading to stick. + }% +} + +%%%%%%%%%%%%%%%%%%%%%%% + +\RequirePackage{xcoffins} + +\NewCoffin{\authorblock} +\NewCoffin{\ruleblock} +\NewCoffin{\Abstract} +\NewCoffin{\Title} + +\NewCoffin{\firstrowauthorblock} +\SetHorizontalCoffin\firstrowauthorblock{} + +\newlength{\coffinsep} %%% space between coffins +\setlength{\coffinsep}{4.5mm} + +\newcounter{authorno} +\setcounter{authorno}{0} + +%%%%%% + +\newlength{\rulecofheight} +\newlength{\Titleheight} + +\DeclareDocumentCommand\SetAuthorBlock{m m}{% + \addtocounter{authorno}{1}% + \SetVerticalCoffin{\authorblock}{48.2mm}{% + \raggedleft\sffamily% + {\huge\CondSansBold\ignorespaces#1\ignorespaces}\\ + \CondSans#2% +} +\ifnum\value{authorno}=1 + \JoinCoffins\firstrowauthorblock\authorblock + \setlength{\rulecofheight}{\CoffinTotalHeight\firstrowauthorblock} + \else + \JoinCoffins\firstrowauthorblock[hc,b]\authorblock[hc,t](0pt,-\coffinsep) + \setlength{\rulecofheight}{\CoffinTotalHeight\firstrowauthorblock} +\fi +} + + +\DeclareDocumentCommand\SetTitle{m}{% + \SetVerticalCoffin{\Title}{114mm}{% + \vspace*{0.5mm}% <== ASME doesn't align bar and text + \noindent\Huge\CondSansBold\raggedright% + #1% + \par + } +} + +\providecommand{\@keywords}{\relax} +\DeclareDocumentCommand{\keywords}{g}{% + \IfNoValueTF{#1}{% + \relax}{% + \long\def\@keywords{\par\vskip\baselineskip\noindent{Keywords:} #1}% + } +} + + +\DeclareDocumentCommand\SetAbstract{m}{% + \SetVerticalCoffin{\Abstract}{114mm}{% + \noindent\itshape% + #1 + \@keywords + \vspace*{4mm}% <== at bottom of abstract to extend rule +} +} + +\DeclareDocumentCommand{\ConstructAuthorBlock}{}{% +\JoinCoffins\Title[hc,b]\Abstract[hc,t](0pt,-1.5\coffinsep) +\setlength{\Titleheight}{\CoffinTotalHeight\Title} +\ifdim\Titleheight>\rulecofheight + \setlength{\rulecofheight}{\Titleheight} +\else + \addtolength{\rulecofheight}{7.0mm} +\fi +\SetHorizontalCoffin \ruleblock {\color{\@ColorName}\rule{2.1mm}{\rulecofheight}} +\JoinCoffins\firstrowauthorblock[vc,r]\ruleblock[vc,l](\coffinsep,0pt) +\JoinCoffins\firstrowauthorblock[vc,r]\Title[vc,l](\coffinsep,0pt) +\centerline{\TypesetCoffin\firstrowauthorblock} %% in this instance, \centerline is better than \centering +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Corresponding author gets footnote #1 and subsequent notes are 2, 3, .... +%%% ASME apparently does not recognize joint first authors...so have not coded that functionality + +%%%% Flag for corresponding author (just one expected, although code supports more than one) +%%%% for more than one, if including email in footnote, place in final command +\makeatletter +\newif\ifCA\CAfalse +\newcommand{\CAemail}[1]{\gdef\@CAemail{#1}} + + +% Allow for NO email address to be given by omitting second argument +% ASME prefers email to be in address block, not CA footnote, although code can support the latter. +\DeclareDocumentCommand{\CorrespondingAuthor}{g}{% +\global\CAtrue% + \IfNoValueTF{#1}{% + \gdef\@CAsep{\relax}% + \gdef\@CAemail{\relax}% + }{% + \gdef\@CAsep{:\space}% + \gdef\@CAemail{#1}% + }% +\def\@makefnmark{\hbox{\@textsuperscript{\sffamily\@thefnmark}}}% +\footnotemark% +\addtocounter{footnote}{-1} % in case of more than one CA +} + + +%%%%%%%%%% + +\DeclareDocumentCommand{\MakeTitlePage}{}{% +\thispagestyle{title}% +\twocolumn[ + \begin{@twocolumnfalse} +\ConstructAuthorBlock + \vspace*{12.5mm} + \end{@twocolumnfalse} +] +\ifCA + \addtocounter{footnote}{1} + \footnotetext{Corresponding author\@CAsep \@CAemail} +\fi +} +\makeatother + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\endinput +%% +%% End of file `asmejour.cls'. + |