texlive[50967] Master/texmf-dist: asmeconf (21apr19)
commits+karl at tug.org
commits+karl at tug.org
Fri May 3 20:08:50 CEST 2019
Revision: 50967
http://tug.org/svn/texlive?view=revision&revision=50967
Author: karl
Date: 2019-05-03 20:08:50 +0200 (Fri, 03 May 2019)
Log Message:
-----------
asmeconf (21apr19)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/asmeconf/README.md
trunk/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf
trunk/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex
trunk/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls
Modified: trunk/Master/texmf-dist/doc/latex/asmeconf/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/asmeconf/README.md 2019-05-03 06:39:31 UTC (rev 50966)
+++ trunk/Master/texmf-dist/doc/latex/asmeconf/README.md 2019-05-03 18:08:50 UTC (rev 50967)
@@ -1,47 +1,52 @@
+ #asmeconf: A template for ASME conference papers#
+
+ Version 1.07 dated 2019/04/20.
+
+ ####Overview####
This class provides a template to format ASME Conference papers according to
the requirements on ASME's web pages (as posted in March 2019).
+ [www.asme.org/shop/proceedings/conference-publications/author-guidelines](https://www.asme.org/shop/proceedings/conference-publications/author-guidelines)
+
This work is not a publication of ASME itself.
Files in this distribution are:
- README.md -- this file
- asmeconf.cls -- the class file
- asmeconf.bst -- bibtex style for ASME conference format
- asmeconf-template.tex -- a latex template/example for this class
- asmeconf-template.pdf -- documentation/sample paper
- asmeconf-sample.bib -- a sample bibliography file
+ README.md -- this file
+ asmeconf.cls -- the class file
+ asmeconf.bst -- bibtex style for ASME conference format
+ asmeconf-template.tex -- a latex template/example for this class
+ asmeconf-template.pdf -- documentation/sample paper
+ asmeconf-sample.bib -- a sample bibliography file
*
sample-figure-1.pdf, sample-figure-2a.pdf, sample-figure-2b.pdf -- figures for the example
The .tex and .cls files are commented and should be self-explanatory.
- This is version 1.03 dated 2019/04/06.
This template was designed to approach the following aims:
- - match ASME's font current specifications and layout
-
- - match ASME's current citation formats
-
- - support use of hyperref package (hyperlink references to figures, tables, citations, and web)
-
- - support pdf bookmarks
-
- - use the newtxtext and newtxmath font packages, which enable a variety of text and math features
-
- - support math and footnotes in section headings
-
- - include sans serif greek font for use in captions and headings
-
- - provide automatic layout of author blocks for up to nine addresses
+- match ASME's font current specifications and layout
+- match ASME's current citation formats
+- support use of hyperref package (hyperlink references to figures, tables, citations, and web)
- Author:
+- support pdf bookmarks
+
+- use the newtxtext and newtxmath font packages, which enable a variety of text and math features
+
+- support bold face, sans serif math in section headings
+
+- support footnotes in section headings
+
+- provide automatic layout of author blocks for up to nine addresses
+
+
+ ####Author####
John H. Lienhard V
@@ -52,10 +57,22 @@
Cambridge, MA 02139-4307 USA
- =========================================================
-
+ ---
- LICENSE:
+ ####Change log####
+
+ v1.07: improve support for numbered section headings; allow omission of corresponding author email; edit documentation
+
+ v1.06: automate bold sans math in captions and headings; small adjustments to default spacings; adjust font of paper number to 18 pt; edit documentation
+
+ v1.05: minor code clean-up; change to keyvalue for to control font for superiors
+
+ v1.04: fix option passing for mathalfa package; adjust \\entry to create nomenclature subheadings efficiently.
+
+
+ ---
+
+ ####License####
Copyright (c) 2019 John H. Lienhard
Modified: trunk/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex 2019-05-03 06:39:31 UTC (rev 50966)
+++ trunk/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex 2019-05-03 18:08:50 UTC (rev 50967)
@@ -2,7 +2,7 @@
%% This file is asmeconf-template.tex, a template to format ASME Conference papers according to
%% the requirements on ASME's conference web pages (as posted in March 2019).
%%
-%% 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
@@ -17,14 +17,16 @@
%% * is recommended.
%%
%% * Many options for calligraphic, script, and fraktur fonts from the mathalfa package; the
-%% * default values are: scr=dutchcal,cal=euler
+%% * example value used is: mathalfa=cal=euler (use Euler font for \mathcal)
+%% * some other options for cal are: dutchcal, zapfc, cm (default), boondox,...
+%% * frak (fraktur), bb (blackboard bold), scr (script) may also be controlled.
%%
%% * An option to omit the ASME copyright footer: nofoot
%%
-%% * An option not to use newtxtext's superiors font for footnotes [nodefaultsups] and an option
+%% * An optional to use newtxtext's superiors font for footnotes [nodefaultsups] and an option
%% * for slightly larger small capitals, largesc
%%
-%% For details of newtxmath and mathalfa, refer to their documentation (available on CTAN: http://ctan.org)
+%% For details of newtxmath and mathalfa, refer to their documentation (available on CTAN: http://ctan.org).
%%
%% The use of commands defined or modified by the asmeconf class is illustrated below. In particular,
%% ASME requires capitalized, sans-serif section headings, and as a result some care is needed
@@ -54,13 +56,12 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%% Class options are described above.
-\documentclass[varvw,largesc,upint]{asmeconf}
+\documentclass[varvw,largesc,upint,mathalfa=cal=euler]{asmeconf}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Editing tools, can delete if not using them
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% The following are editing tools, can delete if not using them
\usepackage{lipsum} % Generates paragraphs of gibberish latin for checking layout ... e.g. \lipsum[2-4] produces
% paragraphs 2 through 4 of the text.
@@ -68,10 +69,10 @@
%% Filler names for Author and affiliation blocks on title page
\def\AuthorName{Name[s] of Author[s]}
-\long\def\Affiliation{Department of Mechanical Engineering\\
- Institution or Company Name\\
- Street address\\
- City, State, Country}
+\long\def\Affiliation{Institution or Company Name \\
+Department of Mechanical Engineering\\
+Street address\\
+City, State, Country}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%% Fields to be completed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -98,15 +99,22 @@
\ConfName{Proceedings of the ASME 2018 \linebreak International Mechanical Engineering Congress and Exposition}
\ConfAcronym{IMECE18}
-\ConfDate{November 9-15, 2018}
-\ConfCity{Pittsburgh, PA, USA}
+\ConfDate{November 9--15, 2018}
+\ConfCity{Pittsburgh, Pennsylvania, USA}
\PaperNo{IMECE2018-XXXX}
+
+% Units of measure and other specialty lowercase terms in the title should be
+% enclosed in \NoCaseChange{...} to maintain lower case type
+
\PaperTitle{Our research paper: the latest developments in cutting-edge engineering}
+
% Change to your name[s] and addresses, in the desired order of authors. Up to nine author blocks.
% Note usage below for joint first authors and for corresponding author.
-% (Most of the example names below are not real people, just very common names.)
+% First name, middle initial, last name
+% Use title case (upper and lower case letters)
+% (Most of the example names below are not real people, just very common names.)
\SetAuthorBlock{Luis Hern\'{a}ndez\JointFirstAuthor}{\Affiliation}
\SetAuthorBlock{Maria Silva\JointFirstAuthor}{\Affiliation}
@@ -116,12 +124,19 @@
\SetAuthorBlock{Yusuf Yilmaz}{\Affiliation}
%\SetAuthorBlock{Amelia Smith}{\Affiliation}
%\SetAuthorBlock{Aadhya Acharya}{\Affiliation}
-%\SetAuthorBlock{Omar Abu Bakr}{\Affiliation}
+%\SetAuthorBlock{Ahmed Mohammed}{\Affiliation}
+
+% Can omit second argument of \CorrespondingAuthor if putting email into address
+% i.e., can just use \CorrespondingAuthor{name}.
+% Can also put multiple emails and use command more than once for multiple corresponding authors.
+
\SetAuthorBlock{\CorrespondingAuthor{John H.\ Lienhard V}{lienhard at mit.edu}}{%
-Rohsenow Kendall Heat Transfer Lab \\ Department of Mechanical Engineering
-\\ Massachusetts Institute of Technology \\ Cambridge, MA 02139 USA}
+Massachusetts Institute of Technology \\ Rohsenow Kendall Heat Transfer Lab
+\\ Department of Mechanical Engineering
+\\ Cambridge, MA 02139 USA}
+
\MakeTitlePage
@@ -134,6 +149,7 @@
%%%%%%%%%%%%%%%%%%%%% End of fields to be completed. Now write! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Abstract should be no more than 200 words
\begin{abstract}
This paper is an example and template for the \texttt{asmeconf} class. Papers typeset in this class will follow ASME Conference guidelines for margins, fonts, headings, captions, and reference formats. Standard \LaTeX\ commands are used. The class is compatible with the \texttt{hyperref} package. The class defines new environments for abstract and nomenclature. The optional argument of \verb|\section| has been modified for manually setting pdf bookmarks when macros or complicated mathematics are included in section headings. The class is intended to be used with the \texttt{asmeconf.bst} \textsc{Bib}\negthinspace\TeX\ style, which is part of this distribution. The class may be invoked with several options, most of which address math fonts. The class calls a number of packages, all of which are in \TeX\textsc{live}\ and on CTAN (\href{http://ctan.org}{ctan.org}).
\end{abstract}
@@ -152,44 +168,51 @@
%% Use title case for subsections and subsubsections
-\subsection*{Section Headings and Captions}
-ASME requires that section headings and captions be set in an uppercase, bold face, sans serif font. The class will do this automatically. You can place \verb|\cite{..}|, \verb|\ref{..}|, \verb|\label{..}|, and into headings and captions directly, as you would in the main text. Do not enclose them braces, e.g.\ \verb|{\cite{..}}|, which will cause errors. You can place \verb|\footnote{..}| into headings, but not into captions.\footnote{See \texttt{tex-stackexchange} for various approaches to footnotes in captions, if you really want to have them.}
+\section*{Section Headings and Captions}
+ASME requires that section headings and captions be set in an uppercase, bold face, sans serif font. The class will do this automatically. You can place \verb|\cite{..}|, \verb|\ref{..}|, \verb|\label{..}|, and into headings and captions directly, as you would in the main text. Do not enclose them braces, e.g.\ \verb|{\cite{..}}|, which will cause errors. You can place \verb|\footnote{..}| into headings, but not into captions.\footnote{See \texttt{tex-stackexchange} for various approaches to footnotes in captions, if they seem necessary. For footnotes in tables, use the \texttt{tablefootnote} package.}
-Simple math can be used in either captions or section headings, but see the \texttt{asmeconf.tex} source file for examples of how to deal with more complicated expressions.
+Text in section headings and captions will not be capitalized if enclosed in a \verb|\NoCaseChange{...}| command.
-To get bold math, you can use the \verb|\bm{..}| macro from the \texttt{bm} package, which is loaded by the class. To get sans serif math, you can use \verb|\mathsf{..}|. So, you can write \verb|\bm{\mathsf{A+B}}| to put a bold, sans serif expression in a caption. The class file provides for sans serif greek letters by using \verb|\sfalpha| and similar expressions (e.g.\ $\sfalpha, \sfbeta, \sfgamma, \sfdelta \ldots$) for use in captions and headings (see Fig.\ \ref{fig:1}).
+Sections may either be numbered or left unnumbered.
-For a section heading that includes more complicated math (and macros), you may use the optional argument of \verb|\section[..]{..}| to create a pdf bookmark without losing characters or producing warnings or errors. See the \texttt{asmeconf.tex} source file for examples of this. These bookmarks should usually be text expressions, although some math is supported.
+Simple math can be used in either captions or section headings. For a section heading that includes more complicated math (and macros), you may use the optional argument of \verb|\section[..]{..}| to create a pdf bookmark without losing characters or producing warnings or errors. See the \texttt{asmeconf.tex} source file for examples of this. These bookmarks should usually be text expressions, although some math is supported.
-Text in section headings and captions will not be capitalized if enclosed in a \verb|\NoCaseChange{...}| command.
+If you wish to override the default math format in captions, put \verb|\mathversion{normal}| in the caption.
+\subsection*{Subsection Headings in Title Case}
+Subsections and sub-subsection headings should be in title case (first letter of primary words capitalized).
+
+\section*{More on math}
+To get bold math outside of the captions, you can use the \verb|\bm{..}| macro from the \texttt{bm} package, which is loaded by the class.
+
+Math italics are used for roman and greek letters by default. If you want an upright letter in math, you can use the relevant math alphabet, e.g., \verb|\mathrm, \mathbf, \mathsf|:
+\begin{equation}
+\vec{F} = m \vec{a} \quad\textrm{or}\quad \vec{\mathrm{F}} = m \vec{\mathrm{a}} \quad\textrm{or}\quad \mathbf{F} = m \mathbf{a} \quad\textrm{or}\quad \vec{\mathsf{F}} = m \vec{\mathsf{a}}
+\end{equation}
+
+The class file also provides upright sans-serif greek letters with \verb|\sfalpha| and similar expressions (e.g.\ $\sfalpha, \sfbeta, \sfgamma, \sfdelta \ldots \bm{\sfalpha, \sfbeta, \sfgamma, \sfdelta \ldots}$), in case they are needed (but note that the \verb|newtxmath| options \verb|frenchmath| and \verb|slantedGreek| also affect how Greek is presented).
+
+\section*{Tables}
+Table \ref{tab:1} is an example of a simple table. Table captions should be placed above tables.
+The class loads the \texttt{booktabs} package (used for horizontal rules in both Table \ref{tab:1} and \ref{tab:2}), and the \texttt{array} and \texttt{dcolumn} packages which provide extended capabilities for columns in the \texttt{tabular} environment (used in Table \ref{tab:2}).
+
+The text in tables and figures should be no smaller than 7~point type.
+
%%%%%%%%%%%%% begin figure %%%%%%%%%%%%%%%%%
%% captions go below figures
-
\begin{figure}
\centering\includegraphics[width=0.7\linewidth]{sample-figure-1.pdf}
-\caption{A figure caption with math, $\bm{\mathsf{z = (r,\sfphi)}}$ \cite{Lienhard2019b}\label{fig:1}}
-%% note: \sfphi is sans serif \phi, defined by the class file.
+\caption{A figure caption with math, $z = (r,\phi)$ \cite{Lienhard2019b}\label{fig:1}}
\end{figure}
%%%%%%%%%%%%% end figure %%%%%%%%%%%%%%%%%%%
-\subsubsection*{Subsection Headings in Title Case}
-Subsections and sub-subsection headings should be in title case (first letter of primary words capitalized).
-The rest of this text uses Latin to show layout and usage. Refer to the \texttt{.tex} file for further details.
-\subsubsection*{Latin for Layout}
+\subsection*{Latin for Layout} The rest of this text uses Latin to show layout and usage. Refer to the \texttt{.tex} file for further details.
+
\lipsum[4-5] % <=== This command generates paragraphs of fake Latin. Delete it here and elsewhere!
-
-%% Dealing with complicated math in a section heading: optional argument provides the pdfbookmark
-%% without losing characters or producing warnings/errors.
-\section*[Math in a section heading: u\cdot\omega=0]{Math in a section heading: $\bm{\vec{\mathsf{u}}\cdot\vec{\sfomega}=\mathsf{0}}$}
-
-\lipsum[6-7] % <=== This command generates paragraphs of fake Latin. Delete it here and elsewhere!
-
-
%%%%%%%%%%%%%%% begin simple table %%%%%%%%%%%%%%%%%%%%%%%%%%
%% captions go above tables
@@ -210,7 +233,6 @@
%%%%%%%%%%%%%%%% end table %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%% begin more complicated table %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{table}[t]
@@ -231,6 +253,14 @@
%%%%%%%%%%%%%%%% end table %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Dealing with complicated math in a section heading: optional argument provides the pdfbookmark
+%% without losing characters or producing warnings/errors.
+%% In this heading, u is forced to be upright with \mathrm{u}
+\section*[Math in a section heading: u\cdot\omega=0]{Math in a section heading: $\vec{\mathrm{u}}\cdot\vec{\omega}=0$}
+
+\lipsum[6] % <=== This command generates paragraphs of fake Latin. Delete it here and elsewhere!
+
+
%%%%%%%%%%%%%%%%% begin wide figure %%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{figure*}[t]
@@ -252,16 +282,18 @@
-\section*{Entropy generation\footnote{If you have text in a section heading or caption that you do not want to be capitalized, enclose it in a \texttt{\textbackslash NoCaseChange} command.} is always interesting and important \cite{bejan}}
+\section*{Entropy generation\footnote{If you have text in a section heading or caption that you do not want to be capitalized, such as an SI unit, enclose it in a \texttt{\textbackslash NoCaseChange} command.} is always interesting and important \cite{bejan}}
-\lipsum[7-8] % <=== This command generates paragraphs of fake Latin. Delete it here and elsewhere!
+\lipsum[5] % <=== This command generates paragraphs of fake Latin. Delete it here and elsewhere!
+%% Unumbered subsections with math do not need any special handling because they are neither uppercased nor bookmarked
+\subsection*{Subsection with Math: $\dot{S}_{\textsf{gen}}$ \cite{bejan}.}
-%% Subsections with math do not need any special handling because they are neither uppercased nor bookmarked
-%% Note that \dot or \vec must go outside of \mathsf{..}
-\subsection*{Subsection with Math: $\bm{\dot{\mathsf{S}}_{\textsf{gen}}}$ \cite{bejan}.}
+%% Numbered subsections with math are bookmarked may require special handling to produce the right bookmark
+%\subsection[Subsection with Math: A\times B]{Subsection with Math: $\vec{A}\times\vec{B}$.}
+
\lipsum[10] % <=== This command generates paragraphs of fake Latin. Delete it here and elsewhere!
@@ -319,25 +351,27 @@
-%%% NOMENCLATURE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%% NOMENCLATURE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% To change space between the symbols and definitions, use \begin{nomenclature}[Xcm] where X is a number
%% The unit cm can be replaced by any LaTeX unit of dimension: pt, in, ex, em, pc, etc.
%% Default is 2em.
+%% Leave off second argument of \entry to produce a subheading (e.g., \entry{Greek letters} )
+
\begin{nomenclature}
-\entry{\textit{Roman letters}}{}
+\entry{Roman letters}
\entry{$k$}{Thermal conductivity [W m$^{-1}$ K$^{-1}$]}
\entry{$\vec{q}$}{Heat flux vector [W m$^{-2}$]}
-\entry{\textit{Greek letters}\rule{0pt}{13pt}}{}
+\entry{Greek letters}
\entry{$\alpha$}{Thermal diffusivity [m$^2$ s$^{-1}$]}
\entry{$\nu$}{Kinematic viscosity [m$^2$ s$^{-1}$]}
-\entry{\textit{Dimensionless groups}\rule{0pt}{13pt}}{}
+\entry{Dimensionless groups}
\entry{Pr}{Prandtl number, $\nu/\alpha$}
-\entry{\textit{Superscripts and subscripts}\rule{0pt}{13pt}}{}
+\entry{Superscripts and subscripts}
\entry{b}{bulk value}
\entry{$\infty$}{free stream value}
@@ -358,10 +392,10 @@
\appendix
%% Note that appendices will be "numbered" A, B, C, ... etc. Use \section, not \section*
-%% Equations should be numbered sequentially following those in the paper. Don't reset the counter.
+%% Equations should be numbered sequentially following those in the paper. Don't reset the equation counter.
%% Here we use the optional argument for the pdf bookmark.
-\section[The vector product A\times B]{The vector product $\bm{\vec{\mathsf A}\times\vec{\mathsf B}}$}
+\section[The vector product A\times B]{The vector product $\vec{A}\times\vec{B}$}
\lipsum[21] % <=== This command generates paragraphs of fake Latin. Delete it here and elsewhere!
\begin{align}
@@ -370,7 +404,7 @@
&{}= \iint_{\mathcal{S}} \nabla p \times \nabla \left( \frac{1}{\rho}\right) \cdot d\mathbf{A}
\end{align}
-%% Subsection headings are no numbered in appendices
+%% This subsection heading is not numbered
\subsection*{Subsection Heading}
\lipsum[22] % <=== This command generates paragraphs of fake Latin. Delete it here and elsewhere!
Modified: trunk/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls 2019-05-03 06:39:31 UTC (rev 50966)
+++ trunk/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls 2019-05-03 18:08:50 UTC (rev 50967)
@@ -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,38 +72,50 @@
%%%%%%%%%%%%%% 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 at key{asmeconf}{mathalfa}{%
+ \PassOptionsToPackage{#1}{mathalfa}%
+}
+
+%%% set key [nodefaultsups] to obtain newtx superiors font for footnotes.
+\define at 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 from newtxmath. See newtx documentation for details.
+\DeclareOption{upint,smallerops,varvw,varg,uprightGreek,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}}
-
%% 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*{}
-%% 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
+\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,23 +148,33 @@
% 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{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{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{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 %%%%%%%
\RequirePackage{fancyhdr}
@@ -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,7 +533,6 @@
}
%%%% Make the title section
-
\DeclareDocumentCommand{\MakeTitlePage}{}{%
\twocolumn[
\begin{@twocolumnfalse}
@@ -500,9 +539,9 @@
\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}
More information about the tex-live-commits
mailing list