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 | |
parent | 62f6586395e612102f14cfbf245d6b548a742bc2 (diff) |
asmeconf (21apr19)
git-svn-id: svn://tug.org/texlive/trunk@50967 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/asmeconf/README.md | 75 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf | bin | 276707 -> 288095 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex | 140 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls | 160 |
4 files changed, 232 insertions, 143 deletions
diff --git a/Master/texmf-dist/doc/latex/asmeconf/README.md b/Master/texmf-dist/doc/latex/asmeconf/README.md index 1f5e07798e1..a8237c6e3ec 100644 --- a/Master/texmf-dist/doc/latex/asmeconf/README.md +++ b/Master/texmf-dist/doc/latex/asmeconf/README.md @@ -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 - - - - Author: +- 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 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 - ========================================================= - + --- + + ####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: + ####License#### Copyright (c) 2019 John H. Lienhard diff --git a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf Binary files differindex 005127e2316..2c258f382d8 100644 --- a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf +++ b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf diff --git a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex index cb71473a054..c5221e74a5a 100644 --- a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex +++ b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex @@ -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,11 +124,18 @@ \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@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 @@ Rohsenow Kendall Heat Transfer Lab \\ Department of Mechanical Engineering %%%%%%%%%%%%%%%%%%%%% 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,43 +168,50 @@ ASME does not specify a standard nomenclature list. Be sure to put your symbols %% 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.} + +Text in section headings and captions will not be capitalized if enclosed in a \verb|\NoCaseChange{...}| command. -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. +Sections may either be numbered or left unnumbered. -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}). +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. -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. +If you wish to override the default math format in captions, put \verb|\mathversion{normal}| in the caption. -Text in section headings and captions will not be capitalized if enclosed in a \verb|\NoCaseChange{...}| command. +\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} -\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! +\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! %%%%%%%%%%%%%%% begin simple table %%%%%%%%%%%%%%%%%%%%%%%%%% @@ -210,7 +233,6 @@ Run 12 & 24 & 68.3 \\ %%%%%%%%%%%%%%%% end table %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%% begin more complicated table %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{table}[t] @@ -231,6 +253,14 @@ Our competitor's test & 72.321 & 141.384 \\ %%%%%%%%%%%%%%%% 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,15 +282,17 @@ Our competitor's test & 72.321 & 141.384 \\ -\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}.} + +%% 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}$.} -%% 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}.} \lipsum[10] % <=== This command generates paragraphs of fake Latin. Delete it here and elsewhere! @@ -319,25 +351,27 @@ d\vec{w} = -%%% 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 @@ d\vec{w} = \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 @@ d\vec{w} = &{}= \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! 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} |