summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/asmeconf
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-05-03 18:08:50 +0000
committerKarl Berry <karl@freefriends.org>2019-05-03 18:08:50 +0000
commit82729f5722f58fbfd10f586d14176b69f508b514 (patch)
treebc6c64d1f33b469dfff19f100e39fd5135d133d4 /Master/texmf-dist/tex/latex/asmeconf
parent62f6586395e612102f14cfbf245d6b548a742bc2 (diff)
asmeconf (21apr19)
git-svn-id: svn://tug.org/texlive/trunk@50967 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/asmeconf')
-rw-r--r--Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls160
1 files changed, 99 insertions, 61 deletions
diff --git a/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls b/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls
index 899d09840f9..e9ba3700990 100644
--- a/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls
+++ b/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls
@@ -5,7 +5,7 @@
%%
%% Please note that ASME's journals follow specifications different from ASME conference papers.
%%
-%% This file is version 1.03 dated 2019/04/06.
+%% This file is version 1.07 dated 2019/04/20.
%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
@@ -19,7 +19,7 @@
%% 3. Maintain hyperref compatibility for pdf bookmarks and hyperlinks
%% 4. Use the newtxtext and newtxmath font packages, including relevant features
%% 5. Provide automatic layout of author blocks for up to nine addresses
-%% 6. Provide sans serif Greek letters for use in section heading and captions
+%% 6. Support bold face, sans serif math in headings
%%
%% This class is compatible with either pdfLaTeX or LuaLaTeX. The class uses a number of packages,
%% many of which are part of the standard LaTeX distribution, and all of which are in TeXLive and
@@ -31,7 +31,7 @@
%% This class is not designed for unicode-math or fontspec, given that the ASME conference style is
%% specific with respect to the font selections.
%%
-%% Options for the class are described on lines 74-90.
+%% Options for the class are described on lines 87-107.
%%
%% The class defines two environments: abstract and nomenclature. The latter has an optional argument to
%% control the space between the entries and the definitions.
@@ -64,7 +64,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{asmeconf}[2019/04/04 ASME Conference Paper Format]
+\ProvidesClass{asmeconf}[2019/04/20 ASME Conference Paper Format]
\LoadClass[twoside,twocolumn,10pt]{article}
% Two-sided layout not used in ASME's specs, although that's how the papers are printed
@@ -72,37 +72,49 @@
%%%%%%%%%%%%%% Options for the class %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{ifthen}
+\newboolean{DefaultSups}
+\setboolean{DefaultSups}{true}
+
+\RequirePackage{kvoptions}
+\RequirePackage{kvsetkeys}
+\SetupKeyvalOptions{
+ family=asmeconf,
+ prefix=asmeconf@,
+ setkeys=\kvsetkeys,
+}
+
+%%% for mathalfa, we may now 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}
+}
+
+\ProcessKeyvalOptions*
+
%% option to omit ASME footer
\DeclareOption{nofoot}{%
\AtBeginDocument{\pagestyle{plain}}%
}
-%% Access many options from newtxmath
-%% See newtxmath documentation for details
-\DeclareOption{upint,smallerops,varvw,varg,slantedGreek,frenchmath,varbb,cmbraces}{\PassOptionsToPackage{}{newtxmath}}
-
-%% Access many options for mathalpha; defaults are scr=dutchcal,cal=euler
-%% See mathalfa documentation for details
-\DeclareOption{scr,cal,frak,bb,scrscaled,calscaled,frakscaled,bbscaled,scaled}{\PassOptionsToPackage{}{mathalfa}}
+%% Access many options from newtxmath. See newtx documentation for details.
+\DeclareOption{upint,smallerops,varvw,varg,uprightGreek,slantedGreek,frenchmath,varbb,cmbraces}{\PassOptionsToPackage{}{newtxmath}}
%% Option for slightly larger small capitals font
\DeclareOption{largesc}{\PassOptionsToPackage{largesc}{newtxtext}}
%% Option not to use latex default superscripts, instead using the newtxtext superiors font [nodefaultsups]
-%% The following coding is used because newtxtext cannot process "defaultsups=false"
-\newcommand{\ignore}[1]{#1}
-\DeclareOption{nodefaultsups}{%
- \renewcommand{\ignore}[1]{}%
- \DeclareOption{supstyle}{}%
-}
+\ifthenelse{\boolean{DefaultSups}}{\PassOptionsToPackage{defaultsups}{newtxtext}}{\relax}
-\ExecuteOptions{scr=dutchcal,cal=euler}
-\ProcessOptions\relax
+%% Suppress warnings about mathalfa keys as unused global options
+\DeclareOption*{}
+
+\ProcessOptions \relax
-%% now that \ignore is def'd and other options declared, we can deal with newtxtext defaultsups command
-\ignore{\DeclareOption{supstyle}{\PassOptionsToPackage{defaultsups}{newtxtext}}}
-\ExecuteOptions{supstyle}
-\ProcessOptions\relax
%%%%%%%%%%%%% end options %%%%%%%%%%%%%%%%%%%
@@ -113,7 +125,7 @@
\setlength\columnsep{0.38in}
\RequirePackage[sort&compress,numbers]{natbib}
-\setlength\bibsep{3pt plus 1pt minus 2pt}
+\setlength\bibsep{1pt plus 1pt minus 1pt}
\RequirePackage{graphicx}
\RequirePackage[hyperref,fixpdftex,dvipsnames,svgnames,x11names]{xcolor}
@@ -136,22 +148,32 @@
% See package documentation
\RequirePackage[]{mathalfa} % load optional fonts for Calligraphy, Script, etc.
-% See package documentation
+% See package documentation for capabilities of this package.
+% Option format: mathalfa=cal=euler (etc.)
\RequirePackage{bm} % load after all math to give access to bold math
%%%% font size selection %%%%%%%%
-%%%% ASME's specs differ from latex standard article-10 class %%%
+%%%% ASME's specs differ slightly from latex standard article-10 class %%%
+
+\renewcommand\LARGE{\@setfontsize\LARGE{18}{21.6}} %... default is 17.28/22 ... for paper number
+\renewcommand\large{\@setfontsize\large{11}{13.6}} %... default is 12/14 ... for headings
-\renewcommand\LARGE{\@setfontsize\LARGE{15}{18}} %... default is 17
-\renewcommand\Large{\@setfontsize\Large{12}{14.5}} %... default is 14
-\renewcommand\large{\@setfontsize\large{11}{13.6}} %... default is 12
-\renewcommand\normalsize{\@setfontsize\normalsize{10}{12}}
-\renewcommand\small{\@setfontsize\small{9}{10.8}}
-\renewcommand\footnotesize{\@setfontsize\footnotesize{8}{9.6}}
+%\renewcommand\Large{\@setfontsize\Large{14.4}{18}} % same as default
+%\renewcommand\normalsize{\@setfontsize\normalsize{10}{12}} % same as default
+%\renewcommand\small{\@setfontsize\small{9}{11}} % same as default
+%\renewcommand\footnotesize{\@setfontsize\footnotesize{8}{9.5}} % same as default
+%% This provides sans serif italic and sans serif bold italic math.
+%% It's intended only for use in the figure captions and section heading (recommend \bm{..} elsewhere).
+\DeclareMathVersion{sansbold}
+\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}
+\SetMathAlphabet{\mathsf}{sansbold}{\encodingdefault}{\sfdefault}{b}{it}
%%%%%% footer %%%%%%%
@@ -171,6 +193,8 @@
\makeFNbottom
\makeFNbelow
+\setlength{\skip\footins}{\baselineskip} % <=== per ASME 1 extra line
+
\renewcommand{\footnoterule}{%
\kern -3pt
\hrule width 0.5in height 0.4pt
@@ -187,8 +211,9 @@
\RequirePackage[labelfont={sf,bf},hypcap=false]{caption}
\RequirePackage[hypcap=false,list=true]{subcaption}
-\captionsetup[figure]{name=FIGURE,labelfont={sf,bf,small},textfont={sf,bf,small},labelsep=period}
-\captionsetup[table]{name=TABLE,labelfont={sf,bf,small},textfont={sf,bf,small},labelsep=period}
+\DeclareCaptionTextFormat{boldmath}{\mathversion{sansbold}#1}
+\captionsetup[figure]{name=FIGURE,labelfont={sf,bf,small},textfont={sf,bf,small},textformat=boldmath, labelsep=period}
+\captionsetup[table]{name=TABLE,labelfont={sf,bf,small},textfont={sf,bf,small},textformat=boldmath, labelsep=period,skip=0.5\baselineskip}
%% This construction avoids a failure of hyperref in relation to uppercase caption
%% Discussion: https://tex.stackexchange.com/questions/375695/maketextuppercase-inside-table-captions
@@ -206,23 +231,23 @@
\RequirePackage[raggedright,indentafter]{titlesec}
%% ASME specifies 10 pt headings
-\titleformat{\section}{\bfseries\sffamily\raggedright}{\thesection :}{0.5em}{\MakeTextUppercase}
-\titleformat{name=\section,numberless}{\bfseries\sffamily\raggedright}{}{0em}{\MakeTextUppercase}
+\titleformat{\section}{\mathversion{sansbold}\bfseries\sffamily\raggedright}{\thesection .}{0.5em}{\MakeTextUppercase}
-\titleformat{\subsection}{\bfseries\sffamily\raggedright}{}{0pt}{\indent}
-\titleformat{\subsubsection}[runin]{\bfseries\sffamily}{}{0pt}{\indent}[.\hspace*{0.5em}]
+\titleformat{\subsection}{\mathversion{sansbold}\bfseries\sffamily\raggedright}{\thesubsection}{0.5em}{}
+\titleformat{\subsubsection}[runin]{\mathversion{sansbold}\bfseries\sffamily}{\thesubsubsection}{0.5em}{}[.\hspace*{0.5em}]
\titlespacing\section{0pt}{12pt plus 4pt minus 2pt}{2pt plus 2pt minus 1pt}
\titlespacing\subsection{0pt}{12pt plus 4pt minus 2pt}{0pt plus 2pt minus 1pt}
-\titlespacing\subsubsection{0pt}{12pt plus 4pt minus 2pt}{0pt plus 2pt minus 1pt}
+\titlespacing\subsubsection{\parindent}{12pt plus 4pt minus 2pt}{0pt plus 2pt minus 1pt}
%% Special handling of the appendices
%% Assumes that appendices are the last content in paper
\RenewDocumentCommand{\appendix}{}{%
+ \setcounter{section}{0}
\pdfbookmark[0]{Appendices}{appendices}
\renewcommand\thesection{\Alph{section}}
- \titleformat{\section}{\bfseries\sffamily\raggedright}{APPENDIX \thesection:}{0.5em}{\MakeTextUppercase}
+ \titleformat{\section}{\mathversion{sansbold}\bfseries\sffamily\raggedright}{APPENDIX \thesection.}{0.5em}{\MakeTextUppercase}
}
%%%%%%%%%%%%% hyperref %%%%%%%%%%%%%%%%%%%
@@ -256,7 +281,7 @@
\renewcommand{\doitext}{DOI } % change the default value, {doi:}, to this per ASME specification
-%% Since \bm is useful in headings, this fix will reduce frequency with which
+%% Since \bm may be useful in headings, this fix will reduce frequency with which
%% alternate pdfstrings must be given in revised section command as \section[pdfstring]{texstring}
\pdfstringdefDisableCommands{%
\def\bm#1#{\relax}%
@@ -326,14 +351,25 @@
{\@keywords\bigskip%
}
-
-%% Nomenclature environment.
+%%%%%%%%%%%% Nomenclature environment %%%%%%%%%%%%%%%%%%
+%%
%% Increase first optional argument to a dimension > 2em if wide entries cause undesired misalignment of columns.
%% Second argument can be used to rename, e.g., to List of Symbols.
%%
-\newcommand\entry[2]{\item[#1\hfill]#2}
+
\newlength\nomenwidth
+%% If second argument of \entry is omitted, will produce an italicized heading (e.g. "Greek letters")
+%%
+\DeclareDocumentCommand{\entry}{m g}{%
+ \IfNoValueTF{#2}{%
+ \item[\itshape#1\hfill\rule{0pt}{13pt}]%
+ }{%
+ \item[#1\hfill]#2%
+ }
+}
+
+
\DeclareDocumentEnvironment{nomenclature}{O{2em} O{Nomenclature}}{%
\setlength\columnsep{2em}
\setlength{\nomenwidth}{#1}
@@ -376,7 +412,7 @@
\providecommand\@PaperNo{\protect\phantom{NO.}}
\newcommand{\paperno}{%
-\vspace*{0.5in}
+\vspace*{2\baselineskip}
\parbox{\linewidth}{\raggedleft\bfseries\sffamily\LARGE%
\MakeTextUppercase{\@PaperNo}%
}%
@@ -386,9 +422,9 @@
\providecommand\@PaperTitle{\hbox{ }}
\newcommand{\papertitle}{%
-\vspace*{0.5in}
-\parbox{\linewidth}{\centering{\bfseries\sffamily\large%
-\MakeTextUppercase{\@PaperTitle}\par}
+\vspace*{3\baselineskip}
+\parbox{\linewidth}{\mathversion{sansbold}\centering{\bfseries\sffamily\large%
+\MakeTextUppercase{\@PaperTitle}\par} %%% <=== extra \par to make leading stick. See adjustment in \MakeTitle
}%
}
@@ -459,10 +495,10 @@
\DeclareDocumentCommand{\ConstructAuthorBlock}{}{%
\ifnum\value{authorno}>3
- \JoinCoffins\firstrowauthorblock[hc,b]\secondrowauthorblock[hc,t](0pt, -2\baselineskip)
+ \JoinCoffins\firstrowauthorblock[hc,b]\secondrowauthorblock[hc,t](0pt, -1.5\baselineskip)
\fi
\ifnum\value{authorno}>6
- \JoinCoffins\firstrowauthorblock[hc,b]\thirdrowauthorblock[hc,t](0pt, -2\baselineskip)
+ \JoinCoffins\firstrowauthorblock[hc,b]\thirdrowauthorblock[hc,t](0pt, -1.5\baselineskip)
\fi
\centerline{\TypesetCoffin\firstrowauthorblock} %% in this instance, \centerline is better than \centering
}
@@ -471,19 +507,23 @@
\let\savethefootnote\thefootnote
%% Flag for corresponding author (expecting just one, but if two enter both email addresses and flag both authors)
-
\newif\ifCA\CAfalse
-\newcommand{\CAemail}[1]{\gdef\@CAemail{#1}}
-\DeclareDocumentCommand{\CorrespondingAuthor}{m m}{%
+% allow for NO email address to be given by omitting second argument
+\DeclareDocumentCommand{\CorrespondingAuthor}{m g}{%
\global\CAtrue%
-\CAemail{#2}%
+ \IfNoValueTF{#2}{%
+ \gdef\@CAsep{\relax}
+ \gdef\@CAemail{\relax}
+ }{%
+ \gdef\@CAsep{:\space}
+ \gdef\@CAemail{#2}
+ }
\renewcommand*{\thefootnote}{\fnsymbol{footnote}}
\ignorespaces#1\ignorespaces\footnotemark[1]%
}
%% Flag for joint first authors (two or more)
-
\newif\ifJA\JAfalse
\DeclareDocumentCommand{\JointFirstAuthor}{}{%
@@ -493,16 +533,15 @@
}
%%%% Make the title section
-
\DeclareDocumentCommand{\MakeTitlePage}{}{%
\twocolumn[
\begin{@twocolumnfalse}
\HeaderConfName
\paperno
\papertitle
- \vspace*{2\baselineskip}
+ \vspace*{1\baselineskip} % <=== an additional line is embedded in \papertitle
\ConstructAuthorBlock
- \vspace*{3\baselineskip}
+ \vspace*{3\baselineskip}
\end{@twocolumnfalse}
]
\renewcommand*{\thefootnote}{\fnsymbol{footnote}}
@@ -510,7 +549,7 @@
\footnotetext[2]{Joint first authors}
\fi
\ifCA
- \footnotetext[1]{Corresponding author:\space\@CAemail}
+ \footnotetext[1]{Corresponding author\@CAsep \@CAemail}
\fi
\let\thefootnote\savethefootnote
}
@@ -520,9 +559,8 @@
%% Provide sans serif upright Greek letters, following a suggestion
%% to the class author by Michael Sharpe (March 2019).
-%% Access sans serif Greek from STIX fonts.
+%% Access sans serif Greek from newtxsf implementation of STIX fonts.
%%
-%% These are for use in the sans serif captions and headings if needed.
\DeclareSymbolFont{lettersAB}{U}{ntxsfmia}{m}{it}
\SetSymbolFont{lettersAB}{bold}{U}{ntxsfmia}{b}{it}