diff options
author | Karl Berry <karl@freefriends.org> | 2019-05-03 18:08:50 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-05-03 18:08:50 +0000 |
commit | 82729f5722f58fbfd10f586d14176b69f508b514 (patch) | |
tree | bc6c64d1f33b469dfff19f100e39fd5135d133d4 /Master/texmf-dist/tex/latex/asmeconf | |
parent | 62f6586395e612102f14cfbf245d6b548a742bc2 (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.cls | 160 |
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} |