summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-12-26 21:19:19 +0000
committerKarl Berry <karl@freefriends.org>2021-12-26 21:19:19 +0000
commit6443f770c8ea5e1e1dd5a11bda55db60f199ee15 (patch)
tree26a68a9d42feacd92c44be18a01c64a4dd5d4004
parent072ecf41200a568426414e62b729e04dde6cb879 (diff)
asmeconf (26dec21)
git-svn-id: svn://tug.org/texlive/trunk@61412 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/bibtex/bst/asmeconf/asmeconf.bst20
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/README.md17
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib2
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdfbin638109 -> 643458 bytes
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex284
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-authorgrid-example.pdfbin610103 -> 639103 bytes
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-authorgrid-example.tex350
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.pdfbin381051 -> 370592 bytes
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex20
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-lualatex-ode-example.pdfbin275604 -> 280349 bytes
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-lualatex-ode-example.tex18
-rw-r--r--Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls925
12 files changed, 998 insertions, 638 deletions
diff --git a/Master/texmf-dist/bibtex/bst/asmeconf/asmeconf.bst b/Master/texmf-dist/bibtex/bst/asmeconf/asmeconf.bst
index 1dcbf48a66d..aec731ec0a3 100644
--- a/Master/texmf-dist/bibtex/bst/asmeconf/asmeconf.bst
+++ b/Master/texmf-dist/bibtex/bst/asmeconf/asmeconf.bst
@@ -4,7 +4,7 @@
%%%%% *** https://www.asme.org/publications-submissions/proceedings/author-guidelines/elements-of-a-paper/references ***
%%%%% *** The examples given by ASME do *not* cover all possibilities ***
%%%%%
-%%%%% This file is version 1.12 dated 2021/01/04
+%%%%% This file is version 1.13 dated 2021/12/02
%%%%%
%%%%% Author: John H. Lienhard V
%%%%% Department of Mechanical Engineering
@@ -26,6 +26,10 @@
%%%%% Added: urlprefix = {}, format.web.urldate, bbl.urldate; urltype field changes "accessed" to something else.
%%%%% Added: venue and eventdate to @inproceedings
%%%%%
+%%%%% Edits in version 1.13, 2021/12/02
+%%%%% Switched remaining http:// prefixes to https://
+%%%%% Replace \href{}{} in \eprint by \url
+%%%%%
%%%%% Edits in version 1.12, 2021/01/04:
%%%%% Added fields: version={}, format.version, to @book, @inbook, @online, @manual;
%%%%% versiontype = {}, with bbl.version, changes "Version" to other
@@ -445,16 +449,16 @@ FUNCTION {eng.ord}
MACRO {arxiv} {"https://arxiv.org/abs/"}
-MACRO {googlebooks} {"http://books.google.com/books?id="}
+MACRO {googlebooks} {"https://books.google.com/books?id="}
-MACRO {hdl} {"http://hdl.handle.net/"}
-MACRO {hndl} {"http://hdl.handle.net/"}
+MACRO {hdl} {"https://hdl.handle.net/"}
+MACRO {hndl} {"https://hdl.handle.net/"}
-MACRO {jstor} {"http://www.jstor.org/stable/"}
+MACRO {jstor} {"https://www.jstor.org/stable/"}
-MACRO {oclc} {"http://www.worldcat.org/oclc/"}
+MACRO {oclc} {"https://www.worldcat.org/oclc/"}
-MACRO {pubmed} {"http://www.ncbi.nlm.nih.gov/pubmed/"}
+MACRO {pubmed} {"https://www.ncbi.nlm.nih.gov/pubmed/"}
MACRO {amr} {"Appl. Mech. Rev."}
@@ -1758,7 +1762,7 @@ FUNCTION {begin.bib}
write$ newline$
" \providecommand{\doi}{DOI \discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi"
write$ newline$
- "\providecommand{\eprint}[2][]{\urlprefix\href{#1#2}{#1#2}}"
+ "\providecommand{\eprint}[2][]{\urlprefix\url{#1#2}}"
write$ newline$
}
EXECUTE {begin.bib}
diff --git a/Master/texmf-dist/doc/latex/asmeconf/README.md b/Master/texmf-dist/doc/latex/asmeconf/README.md
index 18b8aefa17a..272f025bf2f 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/README.md
+++ b/Master/texmf-dist/doc/latex/asmeconf/README.md
@@ -1,7 +1,7 @@
#asmeconf: A latex template for ASME conference papers#
- Version 1.26 dated 2021/02/20.
+ Version 1.27 dated 2021/12/26.
####Overview####
This class provides a LaTeX template for ASME Conference papers formatted according to
@@ -15,7 +15,7 @@
- match ASME's font current specifications and layout
-- match ASME's current reference formats, and add support for DOI and URL fields
+- match ASME's current reference formats, and add support for DOI and URL fields (asmeconf.bst replaces asmems4.bst)
- support hyperlinks to figures, tables, equations, references, and external URLs
@@ -47,7 +47,7 @@
README.md -- this file
asmeconf.cls -- the class file
- asmeconf.bst -- bibtex style for ASME conference format
+ asmeconf.bst -- bibtex style for current 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
@@ -79,6 +79,17 @@
####Change log####
+ v1.27 (2021/12/26):
+ - fix bug in captions that appeared in Jan. 2021 (code not uppercasing caption text)
+ - revise code to switch to grid-style author block through a single package option, \[grid\]; previous macros for grid-style remain active.
+ - various code modifications to enable older LaTeX distributions to run this class. With pdfLaTeX, TeX Live 2016 or later should be used; with luaLaTeX, TeX Live 2021 or later should be used.
+ - eliminate use of \\entry{} with a single argument to produce subheadings in nomenclature; use \\EntryHeading{} instead. (**not backward compatible**)
+ - incorporate recent changes to LaTeX pdf management in relation to pdf-a color profile loading and recently deprecated \\pdfcatalog command
+ - minor edits in relation to url links
+ - minor edits to asmeconf.bst
+ - allow omission of affiliation superscript for single author or single institution
+ - other minor code clean up
+
v1.26 (2021/02/20):
- edit title and metadata
- put real author's name ahead of placeholder names
diff --git a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib
index 669addfc34d..01163ef34f1 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib
+++ b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib
@@ -48,7 +48,7 @@
@inproceedings{wions2005,
author = {Thomas Wions and Christopher D. Mills},
- title = {Struct\-ur\-al Dynamics in Parallel Manipulation},
+ title = {Structural Dynamics in Parallel Manipulation},
booktitle = {Proceedings of the ASME IDETC/CIE},
number = {DETC2005-99532},
venue = {New Orleans, LA},
diff --git a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf
index 85b5522a449..5cbfbf70197 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf
+++ b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex
index c10d7069152..93e2621929f 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex
+++ b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex
@@ -4,7 +4,7 @@
%% This file is asmeconf-template.tex, a LaTeX template to format ASME Conference papers according to
%% the requirements on ASME's conference web pages, and including hypertext support for the pdf.
%%
-%% This file is version 1.26 dated 2021/02/20
+%% This file is version 1.27 dated 2021/12/26
%%
%% As of version 1.11, this template follows ASME's newer conference guidelines first posted July 2019.
%% The new guidelines have changed the requested author block formatting to be inline.
@@ -19,19 +19,18 @@
%% Class options include:
%%
%% * Math options from M. Sharpe's newtxmath package: upright integrals [upint];
-%% * [varvw] for a v and w that are better distinguished from greek nu; and also
+%% * [varvw] for a v and w that are better distinguished from Greek nu; and also
%% * [subscriptcorrection, smallerops, varg, frenchmath, varbb, cmbraces, slantedGreek,...]
-%% * See newtx documentation for descriptions (at CTAN: http://ctan.org, v1.6 or higher best).
-%%
-%% * Many options for calligraphic, script, and fraktur fonts from the mathalfa package; the
-%% * example shown here is: [mathalfa=cal=euler] to 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 chosen this way.
-%% * For details, refer to mathalfa documentation (at CTAN: http://ctan.org).
+%% * See newtx documentation for descriptions (at CTAN: http://ctan.org, v1.6 or higher is best).
%%
%% * Options to: omit the ASME copyright footer [nofoot];
-%% use government employee copyright notice [govt];
-%% use government contractor copyright notice [contractor]
+%% * use government employee copyright notice [govt];
+%% * use government contractor copyright notice [contractor]
+%%
+%% * An option to use the traditional grid arrangement of author names [grid].
+%% * With this option, line breaks (\\) may be inserted into the address as needed.
+%% * Author names that include commas should be enclosed in braces, e.g., {Joseph L. Smith, Jr.}.
+%% * Authors may be grouped above a single affiliation using braces, e.g., {Henry Tudor, Catherine Parr}.
%%
%% * An option to balance the heights of columns on the last page [balance].
%% * This option is NOT compatible with the [lineno] option.
@@ -44,11 +43,17 @@
%% * just leave a blank line above the displayed equation while you are editing and then remove the
%% * blank line and [lineno] option when you move to your final version.
%%
-%% * An option to use the traditional grid arrangement of author names [authorgrid]. See Appendix B for usage,
-%% * because the authors and affiliations must be entered differently in this case. (Same as former option [oldauthors])
-%%
%% * Options for PDF/A compliance. [pdf-a] will produce PDF/A-3u compliance with sRGB OutputIntent.
%% * [pdfapart= 1 or 2 or 3] and [pdfaconformance= b or u] can enable levels 1b, 2b, 2u, and 3b.
+%% * The most recent versions of LaTeX (2021 and later) are moving toward integrated support for pdf-a,
+%% * through \DeclareDocumentMetadata{..}. The asmeconf class supports these new features, which can
+%% * replace the aforementioned class options. (An up-to-date LaTeX installation is required to use this.)
+%%
+%% * Many options for calligraphic, script, and fraktur fonts from the mathalfa package; the
+%% * example shown here is: [mathalfa=cal=euler] to 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 chosen this way.
+%% * For details, refer to mathalfa documentation (at CTAN: http://ctan.org).
%%
%% * Option to use superiors font from newtxtext for footnotes [nodefaultsups] and
%% * for slightly larger small capitals, [largesc], also from newtxtext.
@@ -60,12 +65,15 @@
%%
%% * Options (used by the babel package) to include passages in languages other than English (e.g., a translation
%% * of the abstract). Languages are called as options, e.g. [french], [spanish], [greek], [russian], etc.
-%% * See Appendix C for details.
+%% * Language support is greatest when running LuaLaTeX with the [fontspec] option.
+%% * See Appendix B for details.
%%
%% The use of commands defined or modified by the asmeconf class is illustrated throughout this file. In particular,
%% ASME requires capitalized, sans-serif section headings, and as a result some care is needed when using macros
%% in section headings, as also illustrated below.
%%
+%% Use an up-to-date and complete installation of LaTeX, such as TeX Live 2020 or later. Errors may occur with old set-ups.
+%%
%=========================================================
%%
%% LICENSE:
@@ -74,30 +82,31 @@
%%
%% Offered under the MIT license: https://ctan.org/license/mit
%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Class options are described above. If you are not using the languages options, remove them.
+%% Class options are described above. Change these options as desired.
+%% If you are not using the language options, remove them (together with Appendices B and C)
+%% Remove the [colorlinks] option before *final* submission to ASME, to get black text for printing,
+%% but keep that option for other uses.
+
+\documentclass[balance,upint,subscriptcorrection,varvw,mathalfa=cal=euler,spanish,french,greek,russian,vietnamese,pdf-a,colorlinks]{asmeconf}
-\documentclass[upint,subscriptcorrection,varvw,mathalfa=cal=euler,pdf-a,balance,spanish,french,greek,russian,vietnamese,fontspec,japanese,colorlinks]{asmeconf} % <=== remove colorlinks before your *final* submission to ASME! But keep it for other purposes.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%% Fields to be completed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%% pdf metadata %%%%%%%%%%%%
-%%%%% The user should edit %%%%%%%%%%%%
+%%%%% pdf metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hypersetup{%
+ pdfauthor={John H. Lienhard}, % <=== change to YOUR name[s]!
pdftitle={ASME Conference Paper LaTeX Template}, % <=== change to YOUR pdf file title
pdfkeywords={ASME conference paper, LaTeX template, BibTeX style},% <=== change to YOUR pdf keywords
- pdfauthor={John H. Lienhard}, % <=== change to YOUR name[s]!
- pdfurl={https://ctan.org/pkg/asmeconf},% may delete
+ pdfsubject = {Describes the asmeconf LaTeX template}, % <=== change to YOUR subject
+% pdfurl={https://ctan.org/pkg/asmeconf},% may delete
pdflicenseurl={https://ctan.org/pkg/asmeconf},% may delete
}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
+
% Change these fields to the right content for your conference.
% You can comment these out if for some reason you don't want a header.
% Use title case (first letters capitalized), not all capitals
@@ -108,8 +117,7 @@
\ConfCity{Virtual Conference, Online}
\PaperNo{IMECE2021-XXXX}
-
-% Units of measure and other specialty lowercase terms in the title should be
+% Units of measure (e.g., cm) and other specialty lowercase terms in the title should be
% enclosed in \NoCaseChange{...} to maintain lower case type
% LaTeX will automatically set the rest of the title in all capital letters.
@@ -120,12 +128,20 @@
% \affil{#} tags the author's affiliation to the address in \SetAffiliation{#}.
% No space between last name and \affil{#}, separate names with commas.
%
+% For a sole author or a single affiliation for all authors, {#} may be left empty, as \affil{} and \SetAffiliation{} (but not with [grid] option!)
+%
% \CorrespondingAuthor{email} follows that author's affiliation, no spaces.
% If multiple corresponding authors, put both email addresses in the same command and place after both authors.
%
% \JointFirstAuthor, if applicable, follows the affiliation of the relevant authors, no spaces.
-\SetAuthors{John H.\ Lienhard\affil{1}\CorrespondingAuthor{}, Luis Hern\'andez\affil{2}\JointFirstAuthor , Maria Silva\affil{3}\JointFirstAuthor, Henry Tudor\affil{4}, Catherine~Parr\affil{4}\CorrespondingAuthor{lienhard@mit.edu, kate@thepalace.gov}}
+\SetAuthors{%
+ John H.\ Lienhard\affil{1}\JointFirstAuthor\CorrespondingAuthor{},
+ Luis Hern\'andez\affil{2}\JointFirstAuthor,
+ Maria Silva\affil{3},
+ Henry Tudor\affil{4},
+ Catherine~Parr\affil{4}\CorrespondingAuthor{lienhard@mit.edu, kate@thepalace.gov}
+ }
\SetAffiliation{1}{Massachusetts Institute of Technology, Cambridge, MA }
\SetAffiliation{2}{Institution or Company Name, City, State}
@@ -133,17 +149,13 @@
\SetAffiliation{4}{Hampton Court Palace, Richmond, England}
% Note: Luis and Maria are not real people. Henry and Catherine have been dead for >450 years.
-
-% To instead use the [authorgrid] option, follow the syntax in Appendix B.
-
+% To switch from inline author names to gridded names, use the [grid] option.
\maketitle
%%% Use this footnote for tracking various versions of your draft. Change text to suit your own needs.
-%%% REMOVE from final version of your paper.
%%% \date{..} calls the same command.
-
-\versionfootnote{\texttt{asmeconf.cls}: version \versionno, \today, \href{https://ctan.org/pkg/asmeconf}{ctan.org/pkg/asmeconf}}% <=== Delete before final submission.
+\versionfootnote{Documentation for \texttt{asmeconf.cls}: Version~\versionno, \today.}% <=== Delete before final submission.
%%% Change these to your keywords. Keywords are automatically printed at the end of the abstract.
@@ -152,14 +164,15 @@
\keywords{ASME conference paper, \LaTeX\ Template, \hologo{BibTeX}}
-%%%%%%%%%%%%%%%%%%%%% End of fields to be completed. Now write! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%% End of fields to be completed. Now write your paper. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%% Abstract %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%% ABSTRACT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
-%% Abstract should be no more than 200 words
+%% Abstract should be 200 words or less
\begin{abstract}
-This paper is an example of and a {\upshape\LaTeX} template for typesetting ASME conference papers using the {\upshape\texttt{asmeconf}} class. This {\upshape\LaTeX} template follows ASME guidelines for margins, fonts, headings, captions, and reference formats as of 2020. The class is intended to be used with the {\upshape\texttt{asmeconf.bst} \hologo{BibTeX}} style for reference formatting, which is part of this distribution. The template produces pdfs that contain hyperlinks, bookmarks, and metadata; and references can include the DOI and URL fields. Links may be colored, for online use, or black, for publication. The class enables inline author names, following ASME's current style, but can also produce the traditional grid style. Options include line numbering, final column balancing, various math options, government copyright, and archivability (PDF/A). In addition, section headers may contain mathematics, references, citations, and footnotes. The class is compatible with {\upshape\hologo{pdfLaTeX}} or {\upshape\hologo{LuaLaTeX}}.
+
+This paper is an example of and a {\upshape\LaTeX} template for typesetting ASME conference papers using the {\upshape\texttt{asmeconf}} class. This {\upshape\LaTeX} template follows ASME guidelines for margins, fonts, headings, captions, and reference formats as of 2021. The class is intended to be used with the {\upshape\texttt{asmeconf.bst} \hologo{BibTeX}} style for reference formatting, which is part of this distribution. The template produces pdfs that contain hyperlinks, bookmarks, and metadata; and references can include the DOI and URL fields. Links may be colored, for online use, or black, for publication. The class enables inline author names, following ASME's current style, but can also produce the traditional grid style. Options include line numbering, final column balancing, various math options, government copyright, and archivability (PDF/A). In addition, section headers may contain mathematics, references, citations, and footnotes. The class is compatible with {\upshape\hologo{pdfLaTeX}} or {\upshape\hologo{LuaLaTeX}}.
\end{abstract}
%%%%%%%%% NOMENCLATURE (OPTIONAL) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -167,9 +180,7 @@ This paper is an example of and a {\upshape\LaTeX} template for typesetting ASM
%% 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.
-
-%% \EntryHeading{Greek letters} produces an italicized subheading, e.g., \EntryHeading{Greek letters}
-%% (Leaving off the second argument of \entry, e.g. \entry{Greek letters}, has the same effect)
+%% \EntryHeading{..} produces an italicized subheading in the nomenclature list, e.g., \EntryHeading{Greek letters}
\begin{nomenclature}
\EntryHeading{Roman letters}
@@ -193,11 +204,13 @@ This paper is an example of and a {\upshape\LaTeX} template for typesetting ASM
%%%%%%%%% BODY OF PAPER %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Introduction}
-The \texttt{\href{https://ctan.org/pkg/asmeconf}{asmeconf}} class typesets papers with margins, fonts, headings, captions, and reference formats that follow the specifications for conference papers of the American Society of Mechanical Engineers (ASME). In contrast to older ASME \LaTeX\ templates, \texttt{asmeconf} will set internal and external hyperlinks, and the pdf file will contain bookmarks and metadata. Many other useful features have been incorporated. This class is not a publication of ASME, but the author has published in ASME conferences since 1983.
-The \texttt{.tex} file may be written using standard \LaTeX\ commands, although some specific initial commands are needed to format the blocks containing the author[s], title, and abstract. This class loads a number of other packages, all of which are contained in up-to-date versions of \href{https://www.tug.org/texlive/}{\TeX\ Live}, \href{http://www.tug.org/mactex/}{Mac\TeX}, and similar platforms. If you find that you are missing one of these packages, you may obtain it at no cost from CTAN (\href{http://ctan.org}{ctan.org}).
+The \texttt{\hrefurl{https://ctan.org/pkg/asmeconf}{asmeconf}} class typesets papers with margins, fonts, headings, captions, and reference formats that follow the specifications for conference papers of the American Society of Mechanical Engineers (ASME). In contrast to older ASME \LaTeX\ templates, \texttt{asmeconf} will set internal and external hyperlinks, and the pdf file will contain bookmarks and metadata. Many other useful features have been incorporated. This class is not a publication of ASME, but the author has published in ASME conferences since 1983.
+
+The \texttt{.tex} file may be written using standard \LaTeX\ commands, although some specific initial commands are needed to format the blocks containing the author[s], title, and abstract. This class loads a number of other packages, all of which are contained in up-to-date versions of \hrefurl{https://www.tug.org/texlive/}{\TeX\ Live}, \hrefurl{http://www.tug.org/mactex/}{Mac\TeX}, and similar platforms. If you find that you are missing one of these packages, you may obtain it at no cost from CTAN (\hrefurl{https://ctan.org}{ctan.org}).
\subsection{Essential Initial Commands}
+
To begin, fill in the fields to be completed at top of the \texttt{asmeconf-template.tex} file. These fields include the headers for your conference and your paper number. Specified metadata will be placed into the pdf file itself.
The title should be placed into \verb|\title{..}|.
@@ -215,9 +228,10 @@ The abstract text must be placed into \verb|\begin{abstract}| \ldots \verb|\end{
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Referring to Citations, Figures, and Equations}
-Citations are automatically numbered \cite{ning2002}. They should be inserted at the appropriate point using a \verb|\cite{ref}| command~\cite{gibson2008,stevens1999}. The citations will be automatically sorted and compressed if they are given in a set \cite{stevens1999,ning2002,gibson2008,wions2005,smith2002,watson1982}.
+
+Citations are automatically numbered \cite{ning2002}. They should be inserted in the text using a \verb|\cite{ref}| command~\cite{gibson2008,stevens1999}. The citations will be automatically sorted and compressed if they are given in a set \cite{stevens1999,ning2002,gibson2008,wions2005,smith2002,watson1982}.
A specific reference may be named with an abbreviation, as in Ref.~\cite{watson1982}.
-See the \texttt{asmeconf-sample.bib} file and Sect.~\ref{sec:references} for examples of how to enter your references.
+See the \texttt{asmeconf-sample.bib} file and Sect.~\ref{sec:references} for examples of entering references.
For ASME conference papers, the labels Equation and Figure should be abbreviated when they do not start a sentence, as in Eq.~\eqref{eqn:dw} and Fig.~\ref{fig:1}. Figure~\ref{fig:1} is spelled out when it starts a sentence. Equation~\eqref{eqn:dw} is spelled out when it starts a sentence.
@@ -235,7 +249,7 @@ ASME prefers SI units. (U.S.\ style units may follow in parentheses.) Be sure to
\begin{figure}
\centering\includegraphics[width=0.7\linewidth]{sample-figure-1.pdf}
-\caption{Figure caption with math, eqn.~\eqref{eqn:fourier}: $z = (r,\phi)$ \cite{Lienhard2019b}\label{fig:1}}
+\caption{Caption with math, eqn.~\eqref{eqn:fourier}: $z = (r,\phi)$ \cite{Lienhard2019b}\label{fig:1}}
\end{figure}
%%%%%%%%%%%%% end figure %%%%%%%%%%%%%%%%%%%
@@ -243,9 +257,10 @@ ASME prefers SI units. (U.S.\ style units may follow in parentheses.) Be sure to
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Use title case for subsections and subsubsections
+%% Use title case for subsections and subsubsections (first letter of words capitalized)
\section{Section Headings and Captions}
+
ASME requires that section headings and captions be set in an uppercase, sans serif font. The class will do this automatically. You can place \verb|\cite{..}|, \verb|\ref{..}|, \verb|\label{..}|, and mathematics 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.}\footnote{Sequential footnotes are automatically separated by a comma.}
Text in section headings and captions will not be capitalized if enclosed in a \verb|\NoCaseChange{..}| command.
@@ -257,17 +272,20 @@ Simple mathematical expressions can be used in either captions or section headin
To override the \texttt{sansbold} math version in captions, put \verb|\NoCaseChange{\mathversion{normal}}| in the caption.
\subsection{Subsection and Sub-subsection Headings}
+
Subsections and sub-subsection headings should be entered in title case, with the first letter of primary words capitalized. Sub-subsections (i.e., paragraphs) are never numbered.
%%%%%%%%%%%%%%% begin simple table %%%%%%%%%%%%%%%%%%%%%%%%%%
-%% captions go above tables
+%% Captions go above tables
+%%
+%% Note that placement of figures and tables can managed with the [!tbhp] options. See: https://latexref.xyz/dev/latex2e.html#Floats
\begin{table}[t]
\caption[Table]{A simple table\label{tab:1}}
\centering{%
-\begin{tabular}{l l r}
+\begin{tabular}{llr}
\toprule
Experiment & $u$ [m/s] & $T$ [\textdegree C] \\
\midrule
@@ -303,7 +321,7 @@ Our competitor's test & 72.321 & 141.384 \\
\section{Tables and Figures}
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}). Table \ref{tab:3} is an example of a table that spans two columns. Two column tables (and figures) will always float to the top of a later page.
+The class loads the \texttt{booktabs} package (used for horizontal rules in Tables \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 (see Table \ref{tab:2}). Table \ref{tab:3} is an example of a table that spans two columns. Two column tables (and figures) will always float to the top of a later page.
Figure captions go below figures. Figure~\ref{fig:2} is an example of a figure that spans two columns and includes subfigures. The text in figures (and tables) should be no smaller than 6~point type. Images in figures are handled by the standard \texttt{graphicx} package.
@@ -347,20 +365,20 @@ Landscape figures and tables may be produced at full-page size by putting \verb|
\section{Reference Formatting with \NoCaseChange{\texttt{asmeconf.bst}}\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.}}\label{sec:references}
-The {\upshape\texttt{asmeconf.bst}} \hologo{BibTeX} style follows the reference styles shown on ASME's conference web site in 2020.\footnote{\texttt{asmeconf.bst} is intended as a replacement for the old \texttt{asmems4.bst}, which does not follow ASME's current reference formats or support DOI and URL.}
+The {\upshape\texttt{asmeconf.bst}} \hologo{BibTeX} style follows the reference styles shown on ASME's conference web site in 2021.\footnote{\texttt{asmeconf.bst} is intended as a replacement for the old \texttt{asmems4.bst}, which does not follow ASME's current reference formats or support DOI and URL.}
Examples for these and many other cases are given in the \texttt{asmeconf-sample.bib} file, which is part of this distribution. Citations and references are managed by the standard \texttt{natbib} package. Nevertheless, a few comments are necessary.
-%% sub-subsections should *not* be numbered
+%% sub-subsections should *not* be numbered according to ASME's style
\subsubsection*{DOI, URL, and eprint} Include DOI numbers when they are available. URL's may alternatively be given. ASME requests that URLs point to a document's abstract.
-Elementary support for \texttt{eprint} numbers is also included, generating a url at the end of the citation. The \texttt{archive} type may be specified using the macros \texttt{arxiv, googlebooks, hdl, jstore, oclc}, or \texttt{pubmed} (e.g., \texttt{archive=hdl}, \textit{without} braces). Both \texttt{eprint} and \texttt{archive} fields \textit{must} be given. Other root urls may be invoked using \verb|archive = {http://another.url.org/}|.
+Basic support for \texttt{eprint} numbers is also included, generating a url at the end of the citation. The \texttt{archive} type may be specified using the macros \texttt{arxiv, google\-books, hdl, jstore, oclc}, or \texttt{pubmed} (e.g., \texttt{archive=hdl}, \textit{without} braces). Both \texttt{eprint} and \texttt{archive} fields \textit{must} be given. Other root urls may be invoked using \verb|archive = {https://another.url.org/}|.
\subsubsection*{Online Sources} A bibliography entry \verb|@online{..| is included for citation of online sources, such as web pages. A \texttt{url} or \texttt{eprint} with \texttt{archive} must be included. See the examples of use in the \texttt{asmeconf-sample.bib} file.
\subsubsection*{Date Accessed} The \verb|urldate={..}| field may be used to provide the date on which a given url was accessed. By default, the text printed will be \texttt{Accessed `date',}. The word ``Accessed'' may be changed using the \verb|urltype={..}| field.
-\subsubsection*{Conference Location and Date} For the entry types \verb|@inproceeedings{..| and \verb|@proceeedings{..|, you may include \verb|venue={..}| and \verb|eventdate={..}| to specify the city and the date of a conference.
+\subsubsection*{Conference Location and Date} For \verb|@inproceeedings{..| and \verb|@proceeedings{..|, you may include \verb|venue={..}| and \verb|eventdate={..}| to specify the city and date of a conference.
\subsubsection*{Capitalization of Titles} ASME's bibliography style requires that document titles be in title case. The first letters of principal words are capitalized. Do this in the \texttt{.bib} file.
@@ -374,17 +392,18 @@ Elementary support for \texttt{eprint} numbers is also included, generating a ur
\vspace*{1.7em}
\centering{
\includegraphics{sample-figure-2a.pdf}
-}
+}%
\vspace*{1.7em}
-}
+}%
\subcaption{Interior region\label{fig:interior-region}}
\end{subfigure}%
%%%%%%%%%%%%% no spaces or line breaks between these two subfigures
\begin{subfigure}[t]{0.5\textwidth}
\centering{%
\includegraphics{sample-figure-2b.pdf}
+}%
\subcaption{Exterior region\label{fig:exterior-region}}
-}\end{subfigure}
+\end{subfigure}
\caption{A figure with two subfigures \cite{Lienhard2019b}}\label{fig:2}
\end{figure*}
@@ -393,7 +412,7 @@ Elementary support for \texttt{eprint} numbers is also included, generating a ur
%%%%%%%%%%%%%%% MORE ON MATH %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Dealing with complicated math in a section or subsection heading:
+%% Here is an example of managing complicated math in a section or subsection heading:
%% the optional argument to \section will provide the pdf bookmark
%% without losing characters or producing warnings/errors.
%%
@@ -412,15 +431,15 @@ An example using \texttt{align} appears in Appendix~\ref{appendix:a}.
An alternative solution may be to set large equations into two-column-wide tables or figures. While a package exists for setting equations that span two columns (\texttt{widetext.sty}), that code is erratic in relation to floats and page breaks.
-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|:
+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}\label{eqn:dw}
\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}
-To get additional symbols in bold math, you can use \verb|\mathversion{bold}| or the \verb|\bm{..}| macro from the \texttt{bm} package, which is loaded by the class.
+To get additional symbols in bold math, use the \verb|\bm{..}| macro from the \texttt{bm} package (which is loaded by the class) or, for longer passages, use \verb|{\mathversion{bold}|\ldots\texttt{\}}.
-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 letters are presented).
+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 letters are presented).
-\subsection{The \texttt{newtxmath} and \texttt{mathalpha} Packages~\cite{sharpe1,sharpe2}} The \texttt{newtxmath} package~\cite{sharpe1}, loaded by default, includes a large number of options for mathematics, most of which can be called as options to \verb|\documentclass|. For example, the \texttt{upint} option of \texttt{newtxmath} selects upright integral signs (rather than slanted integral signs):
+\subsection{The \texttt{newtxmath} and \texttt{mathalpha} Packages~\cite{sharpe1,sharpe2}} The \texttt{newtxmath} package~\cite{sharpe1}, loaded by default, includes many options for mathematics, most of which can be called as options to \verb|\documentclass|. For example, the \texttt{upint} option selects upright integral signs (rather than slanted integral signs):
\begin{quote}
\verb|\documentclass[upint]{asmeconf}|.
\end{quote}
@@ -430,7 +449,7 @@ In addition, many options for calligraphic, fraktur, and script fonts are availa
\begin{center}
\verb|\documentclass[mathalfa=cal=euler]{asmeconf}|
\end{center}
-which selects the Euler font for \verb|\mathcal| (this is our default). To find all the font options, refer to the \texttt{mathalfa} package documentation \cite{sharpe2}.
+which selects the Euler font for \verb|\mathcal|, as in $A \in \mathcal{P}(A)$. To find all the font options, refer to the \texttt{mathalfa} package documentation \cite{sharpe2}.
The \texttt{asmeconf} class is designed to be used with \texttt{newtxmath} and does not support the \texttt{unicode-math} package.
@@ -451,23 +470,28 @@ This package will attempt to give equal height to the two columns on the last pa
The \texttt{lineno} package is not compatible with the \texttt{flushend} package that makes final short columns the same height. Balancing is automatically disabled when this option is called.
-\subsection{Grid-Style Author Block} The option \texttt{[authorgrid]} invokes ASME's grid-style arrangement of author names. The authors and affiliations must be entered differently in this case. See Appendix \ref{appendix:b} for usage.
+\subsection{Grid-Style Author Block} The option \texttt{[grid]} invokes ASME's grid-style arrangement of author names. Author names are recognized by the commas that separate them. (To include a comma in a name, enclose it in braces.) Line breaks (\verb|\\|) may be inserted into the address of \verb|\SetAffiliation{n}{address}| as needed.
+
+Note that ASME interprets the author order in the grid style by reading names from left-to-right in the top row, then left-to-right in each subsequent row.
\subsection{Changing the Copyright Footer} The option \texttt{[nofoot]} will omit the ASME copyright from the page footer. The option \texttt{[govt]} will produce a copyright notice for authors who are employees of the U.\ S.\ Government. The option \texttt{[contractor]} will produce a copyright
notice for authors who are employed by a U.\ S.\ Government contractor.
-The footers are generated with the \texttt{fancyhdr} package~\cite{oostrum}, so you can change them in any way you like using the commands of that package. Only the default arrangement of footers matches ASME's style, however.
+The footers are generated with the \texttt{fancyhdr} package~\cite{oostrum} and can be changed using the commands of that package. Only the default arrangement matches ASME's style, however.
\subsection{Archivability:~PDF/A} Compliance with PDF/A standards can be enabled using the option \texttt{[pdf-a]}
when running with \hologo{pdfLaTeX}. The default setting is for PDF/A-3u with sRGB OutputIntent (\texttt{sRGB.icc}).
If levels 1b, 2b, 2u, or 3b are preferred, use the options \texttt{[pdfapart=1 or 2 or 3]} and
\texttt{[pdfaconformance=b or u]}. Note that accessible conformance~(\texttt{a}) is not currently possible with \LaTeX.
-\subsection{Superiors Font} The \texttt{newtxtext} package includes a superiors font (both numbers and letters) for use in footnote markers and superscripts. To enable this font, use the option \texttt{[nodefaultsups]}.
+As of late 2021, the \LaTeX 3 team is phasing in native support for PDF/A in the \LaTeX\ kernel, which will make these
+class options unnecessary when using up-to-date installations.
+
+\subsection{Superiors Font} The \texttt{newtxtext} package includes a superiors font (both numbers and letters) for use in footnote markers and text superscripts. To enable this font, use the option \texttt{[nodefaultsups]}.
-\subsection{Typewriter Font Options} This font is the sans-serif \texttt{inconsolata}. By default, the word spacing is variable, but option \texttt{[mono]} ends this behavior. A slashed zero is default; option \texttt{[var0]} removes the slash. Option \texttt{[hyphenate]} enables hyphenation. (This option is not available if the \texttt{[fontspec]} option is used.)
+\subsection{Typewriter Font Options} This font is the sans-serif \texttt{inconsolata}. By default, the word spacing is variable, but option \texttt{[mono]} ends this behavior. A slashed zero is default; option \texttt{[var0]} removes the slash. Option \texttt{[hyphenate]} enables hyphenation. (The hyphenation option is not available if the \texttt{[fontspec]} option is used.)
-\subsection{Support for Other Languages} The package can be adapted to incorporate (or entirely use) languages other than English. See Appendix \ref{appendix:c} for details.
+\subsection{Support for Other Languages} This package can be adapted to incorporate (or entirely use) languages other than English. See Appendix \ref{appendix:b} for details.
%%%%% Conclusions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -482,18 +506,17 @@ Provide a brief conclusion (3-4 lines).
Place any acknowledgments here.
-
%%% REFERENCES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Put your references into your .bib file in the usual way. Run latex once, bibtex once, then latex twice.
-%% The asmeconf.bst style allows: venue = {Location of Conference}, and eventdate = {Month, days}
-%% for @inproceedings and @proceedings
-%%
+%% The asmeconf.bst style allows @inproceedings and @proceedings to include:
+%% venue = {Location of Conference},
+%% eventdate = {Month, days},
-\nocite{*} %% <=== Delete this line unless you want to typeset the entire contents of your .bib file!
+\nocite{*}%% <=== Delete this line unless you want to typeset the entire contents of your .bib file!
-\bibliographystyle{asmeconf} %% .bst file following ASME conference format. Do not change.
-\bibliography{asmeconf-sample} %% <=== change this to name of your bib file
+\bibliographystyle{asmeconf} %% .bst file following ASME conference format. Do not change.
+\bibliography{asmeconf-sample}%% <=== change this to name of your bib file
%%% APPENDICES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -514,35 +537,8 @@ consecutively, following those in the paper. Consider $\rho \neq \textrm{fn}(p)$
&{}= \iint_{\mathcal{S}} \nabla p \times \nabla \left( \frac{1}{\rho}\right) \cdot d\mathbf{A}
\end{align}
-\section{Option to Use an Author Grid}\label{appendix:b}
-
-ASME's most recent templates place author names inline, with affiliations for all authors in rows below.
-This style is the default for this template.
-
-The traditional style of putting authors with affiliation into a grid of blocks may be invoked with
-the option [\texttt{authorgrid}]. When using this form, the author names and addresses should be entered as below:
-
-\smallskip
-\noindent\verb|\SetAuthorBlock{Name\JointFirstAuthor}{%|
- \hbox{}\hfil\verb|Institution \\ City, State}|
-\verb|\SetAuthorBlock{Name\JointFirstAuthor}{%|
- \hbox{}\hfil\verb|Institution \\ City, Country}|
-\verb|\SetAuthorBlock{Name, Name}{%|\hfil\hbox{}
- \hbox{}\hfil\verb|Institution \\ City, Country}|
-\verb|\SetAuthorBlock{John Lienhard\CorrespondingAuthor{%|
- \hbox{\qquad}\hfil\verb|lienhard@mit.edu}}{Institution \\ City, State}|
-\smallskip
-
-Directly usable code is contained at the very end of the \texttt{asmeconf-template.tex} file.
-
-Note that ASME interprets the author order in the grid style by reading names from left-to-right in the top row, then left-to-right in each
-subsequent row.
-
-%% directly usable code follows the \end{document} command below.
-
-%\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Multilingual Support}\label{appendix:c}
+\section{Multilingual Support}\label{appendix:b}
ASME publishes in English, but the \texttt{babel} package is loaded for
users who may wish to include other languages. For example, an author might wish to include an appendix that provides the
@@ -554,34 +550,35 @@ If no language options are given, the package defaults to English. As examples,
shown in \selectlanguage{french}\appendixname~\ref{app:fourier}\selectlanguage{english}, followed by
\ifpdftex abstracts in Spanish, Greek, Russian, and Vietnamese.\else abstracts in other languages.\fi
-Font encoding is set to T1 with utf-8 input supported:
+The input encoding can be utf-8, as for these glyphs:
%% If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete that line to resolve the issue.
-\typeout{If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete that line to resolve the issue.}
+\typeout{If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete that line to resolve the issue. Under LuaLaTeX, be sure to load the [fontspec] option}%
àáâäæãåā èéęëêēė îïíīįì ôöòóœøōõ ûüùúū çćč ł ñń ßśš ÿ žźż.
-Fonts similar to Times/Helvetica are automatically used when the Greek, Vietnamese, or selected cyrillic-alphabet languages are called as options under {\upshape\hologo{pdfLaTeX}}. Using {\upshape\hologo{LuaLaTeX}} with the \texttt{[fontspec]} option, many additional scripts are available; see the supplemental notes for such usage~\cite{lienhard2021}. Possibilities include Arabic, Bengali, Chinese, Devanagari (e.g., for Hindi), Hangul (for Korean), Kana (for Japanese), and Tamil.
+Fonts similar to Times/Helvetica are automatically used when the Greek, Vietnamese, or selected cyrillic-alphabet languages are called as options under {\upshape\hologo{pdfLaTeX}}. Using {\upshape\hologo{LuaLaTeX}} with the \texttt{[fontspec]} option, many additional scripts are available; see the supplemental notes for such usage~\cite{lienhard2021}. Possibilities include Arabic, Bengali, Chinese, Devanagari (e.g., for Hindi), Hangul (for Korean), Kana (for Japanese), and Tamil. \textit{The {\upshape\texttt{[fontspec]}} option requires a \LaTeX\ installation dated October 2020 or later.}
-The bibliography style, \texttt{asmeconf.bst}, is designed in English and aimed at \hologo{BibTeX}. Multilingual bibliographies
-can be supported using \texttt{BibLaTeX}.
+The bibliography style, \texttt{asmeconf.bst}, is designed in English and aimed at \hologo{BibTeX}.
+% Multilingual bibliographies can be supported using \texttt{BibLaTeX}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{selectlanguage}{french}
+\begin{selectlanguage}{french}%
\section{Discours Préliminaire de Fourier}\label{app:fourier}
Les causes primordiales ne nous sont point con­nues; mais elles sont assujetties à des lois simples et constantes, que l'on peut découvrir par l'obser­vation, et dont l'étude est l'objet de la philosophie naturelle.
La chale ur pénètre, comme la gravité, toutes les substances de l'univers, ses rayons occupent toutes les parties de l'espace. Le but de notre ouvrage est d'exposer les lois mathématiques que suit cet élé­ment. Cette théorie formera désormais une des branches les plus importantes de la physique gé­nérale~\cite{fourier1822}.
-\end{selectlanguage}
+\end{selectlanguage}%
-\begin{selectlanguage}{spanish}
+\begin{selectlanguage}{spanish}%
\begin{abstract*}
Este es el resumen del artículo. Escribimos en español. Se describen el problema, los métodos y los resultados. También se incluyen referencias.
\end{abstract*}
\end{selectlanguage}% edited by Aarón Montoya-Moraga
-%% If you have trouble with the following passages, your file may not be saved in utf-8 format. You can delete this stuff to resolve the issue.
-\typeout{If you have trouble with the following passages, your file may not be saved in utf-8 format. You can delete those lines to resolve the issue.}
-%% Examples of abstracts in other languages. The first two are intended for pdflatex, not lualatex.
+%% If you have trouble with the following passages, you may deleting this stuff and remove the associated language option from \documentclass[..].
+\typeout{If you have trouble with the following passages, your file may not be saved in utf-8 format, or your LaTeX format may be old, or you may not have the assumed font installed. You can delete those lines to resolve the issue.}
+
+%% Examples of abstracts in other languages. The first three are intended for pdflatex, not lualatex.
\ifpdftex
\begin{selectlanguage}{greek}%
\begin{abstract*}
@@ -594,15 +591,15 @@ Este es el resumen del artículo. Escribimos en español. Se describen el proble
Это резюме статьи. Пишем по русски. Описаны проблема, методы и результаты. Библиография также включена.%
\end{abstract*}
\end{selectlanguage}% edited by Steven Gerasimoff
-\fi
-
-\begin{selectlanguage}{vietnamese}
-\begin{abstract*}
-Đây là phần tóm tắt của bài báo khoa học. Chúng tôi viết bằng tiếng Việt. Vấn đề, các phương pháp và các kết quả được mô tả trong phần này. Tài liệu tham khảo cũng được bao gồm.
-\end{abstract*}
-\end{selectlanguage}% Checked and edited by Nguyen Le and Thao Nguyen
-\iffontspecloaded
+ \begin{selectlanguage}{vietnamese}
+ \begin{abstract*}
+ Đây là phần tóm tắt của bài báo khoa học. Chúng tôi viết bằng tiếng Việt. Vấn đề, các phương pháp và các kết quả được mô tả trong phần này. Tài liệu tham khảo cũng được bao gồm.
+ \end{abstract*}
+ \end{selectlanguage}% Checked and edited by Nguyen Le and Thao Nguyen
+\fi
+
+\iffontspecloaded %%% requires lualatex
%
\begin{selectlanguage}{greek}%
\begin{abstract*}
@@ -616,12 +613,18 @@ Este es el resumen del artículo. Escribimos en español. Se describen el proble
\end{abstract*}
\end{selectlanguage}% edited by Steven Gerasimoff
%
- \begin{selectlanguage}{japanese}% be sure to call class option [japanese]
+ \begin{selectlanguage}{vietnamese}
\begin{abstract*}
- %論文の要約です。日本語で記述します。問題、方法、および結果について説明します。また、参考文献も含めます。
- この論文の日本語での要約は以下のとおりです。問題、方法、および結果が説明されています。参考資料も添付してあります。
+ Đây là phần tóm tắt của bài báo khoa học. Chúng tôi viết bằng tiếng Việt. Vấn đề, các phương pháp và các kết quả được mô tả trong phần này. Tài liệu tham khảo cũng được bao gồm.
\end{abstract*}
- \end{selectlanguage}% Edited by Keiji Yano and Yoshiki Okamoto
+ \end{selectlanguage}% Checked and edited by Nguyen Le and Thao Nguyen
+%
+% \begin{selectlanguage}{japanese}% Use class option [japanese] if you uncomment this passage.
+% \begin{abstract*}
+% % 論文の要約です。日本語で記述します。問題、方法、および結果について説明します。また、参考文献も含めます。
+% この論文の日本語での要約は以下のとおりです。問題、方法、および結果が説明されています。参考資料も添付してあります。
+% \end{abstract*}
+% \end{selectlanguage}% Edited by Keiji Yano and Yoshiki Okamoto
%
\begin{selectlanguage}{korean}
\begin{abstract*}
@@ -641,28 +644,3 @@ Este es el resumen del artículo. Escribimos en español. Se describen el proble
\end{document}
-
-%%% This is the set-up for the traditional author block style (a grid of blocks) using option [authorgrid]
-
-% 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.
-% First name, middle initial, last name
-% Use title case (upper and lower case letters)
-% (Most of the names below are not real people, just very common names.)
-
-\SetAuthorBlock{Luis Hern\'{a}ndez\JointFirstAuthor}{Institution or Company Name \\ City, State}
-\SetAuthorBlock{Maria Silva\JointFirstAuthor}{Institution or Company Name \\ City, Province, Canada}
-
-\SetAuthorBlock{Henry Tudor, Catherine Parr\CorrespondingAuthor{}}{Hampton Court Palace \\ Richmond, England}
-\SetAuthorBlock{Jinsoo Kim}{Institution or Company Name \\ City, Country}
-\SetAuthorBlock{Yusuf Yilmaz}{Institution or Company Name \\ City, Country}
-
-% Give an empty argument for \CorrespondingAuthor{} if you are putting email into address block.
-% Can also put multiple emails into the argument and use command more than once for multiple
-% corresponding authors. Only the *last* set of emails issued will be printed.
-
-\SetAuthorBlock{John H.\ Lienhard V\CorrespondingAuthor{lienhard@mit.edu, kate@thepalace.com}\JointFirstAuthor}{%
-Massachusetts Institute of Technology \\ Cambridge, MA}
-
-% be sure to issue [authorgrid] option when using this (otherwise your authorblock will not display!)
-
diff --git a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-authorgrid-example.pdf b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-authorgrid-example.pdf
index fb724951f02..600ff302015 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-authorgrid-example.pdf
+++ b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-authorgrid-example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-authorgrid-example.tex b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-authorgrid-example.tex
index 5dc8d1b90dd..bef7b45381a 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-authorgrid-example.tex
+++ b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-authorgrid-example.tex
@@ -1,14 +1,14 @@
% !TEX encoding = UTF-8 Unicode
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
-%% This file is asmeconf-template.tex, a template to format ASME Conference papers according to
+%% This file is asmeconf-template.tex, a LaTeX template to format ASME Conference papers according to
%% the requirements on ASME's conference web pages, and including hypertext support for the pdf.
%%
-%% This file is version 1.22 dated 2021/1/14
+%% This file is version 1.27 dated 2021/12/26
%%
%% As of version 1.11, this template follows ASME's newer conference guidelines first posted July 2019.
%% The new guidelines have changed the requested author block formatting to be inline.
-%% (This template continues to support the traditional grid format as a package option.)
+%% (This LaTeX template continues to support the traditional grid format as a package option.)
%% Nomenclature now follows the abstract. Abstract text is set in italics.
%%
%% Author: John H. Lienhard V
@@ -19,19 +19,18 @@
%% Class options include:
%%
%% * Math options from M. Sharpe's newtxmath package: upright integrals [upint];
-%% * [varvw] for a v and w that are better distinguished from greek nu; and also
+%% * [varvw] for a v and w that are better distinguished from Greek nu; and also
%% * [subscriptcorrection, smallerops, varg, frenchmath, varbb, cmbraces, slantedGreek,...]
-%% * See newtx documentation for descriptions (at CTAN: http://ctan.org, v1.6 or higher best).
-%%
-%% * Many options for calligraphic, script, and fraktur fonts from the mathalfa package; the
-%% * example shown here is: [mathalfa=cal=euler] to 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 chosen this way.
-%% * For details, refer to mathalfa documentation (at CTAN: http://ctan.org).
+%% * See newtx documentation for descriptions (at CTAN: http://ctan.org, v1.6 or higher is best).
%%
%% * Options to: omit the ASME copyright footer [nofoot];
-%% use government employee copyright notice [govt];
-%% use government contractor copyright notice [contractor]
+%% * use government employee copyright notice [govt];
+%% * use government contractor copyright notice [contractor]
+%%
+%% * An option to use the traditional grid arrangement of author names [grid].
+%% * With this option, line breaks (\\) may be inserted into the address as needed.
+%% * Author names that include commas should be enclosed in braces, e.g., {Joseph L. Smith, Jr.}.
+%% * Authors may be grouped above a single affiliation using braces, e.g., {Henry Tudor, Catherine Parr}.
%%
%% * An option to balance the heights of columns on the last page [balance].
%% * This option is NOT compatible with the [lineno] option.
@@ -44,11 +43,17 @@
%% * just leave a blank line above the displayed equation while you are editing and then remove the
%% * blank line and [lineno] option when you move to your final version.
%%
-%% * An option to use the traditional grid arrangement of author names [authorgrid]. See Appendix B for usage,
-%% * because the authors and affiliations must be entered differently in this case. (Same as former option [oldauthors])
-%%
%% * Options for PDF/A compliance. [pdf-a] will produce PDF/A-3u compliance with sRGB OutputIntent.
%% * [pdfapart= 1 or 2 or 3] and [pdfaconformance= b or u] can enable levels 1b, 2b, 2u, and 3b.
+%% * The most recent versions of LaTeX (2021 and later) are moving toward integrated support for pdf-a,
+%% * through \DeclareDocumentMetadata{..}. The asmeconf class supports these new features, which can
+%% * replace the aforementioned class options. (An up-to-date LaTeX installation is required to use this.)
+%%
+%% * Many options for calligraphic, script, and fraktur fonts from the mathalfa package; the
+%% * example shown here is: [mathalfa=cal=euler] to 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 chosen this way.
+%% * For details, refer to mathalfa documentation (at CTAN: http://ctan.org).
%%
%% * Option to use superiors font from newtxtext for footnotes [nodefaultsups] and
%% * for slightly larger small capitals, [largesc], also from newtxtext.
@@ -60,12 +65,15 @@
%%
%% * Options (used by the babel package) to include passages in languages other than English (e.g., a translation
%% * of the abstract). Languages are called as options, e.g. [french], [spanish], [greek], [russian], etc.
-%% * See Appendix C for details.
+%% * Language support is greatest when running LuaLaTeX with the [fontspec] option.
+%% * See Appendix B for details.
%%
%% The use of commands defined or modified by the asmeconf class is illustrated throughout this file. In particular,
%% ASME requires capitalized, sans-serif section headings, and as a result some care is needed when using macros
%% in section headings, as also illustrated below.
%%
+%% Use an up-to-date and complete installation of LaTeX, such as TeX Live 2020 or later. Errors may occur with old set-ups.
+%%
%=========================================================
%%
%% LICENSE:
@@ -74,28 +82,31 @@
%%
%% Offered under the MIT license: https://ctan.org/license/mit
%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-%% Class options are described above. If you are not using the languages options, remove them.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\documentclass[authorgrid,upint,subscriptcorrection,varvw,mathalfa=cal=euler,pdf-a,spanish,french,greek,russian,japanese,fontspec,colorlinks]{asmeconf} % <=== remove colorlinks before your *final* submission to ASME! But keep it for other purposes.
+%% Class options are described above. Change these options as desired.
+%% If you are not using the language options, remove them (together with Appendices B and C)
+%% Remove the [colorlinks] option before *final* submission to ASME, to get black text for printing,
+%% but keep that option for other uses.
+
+\documentclass[grid,balance,upint,subscriptcorrection,varvw,mathalfa=cal=euler,spanish,french,greek,russian,vietnamese,colorlinks]{asmeconf}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%% Fields to be completed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%% pdf metadata %%%%%%%%%%%%
-%%%%% The user should edit %%%%%%%%%%%%
+%%%%% pdf metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hypersetup{%
- pdftitle={ASME Conference Paper Template}, % <=== change to YOUR pdf file title
- pdfkeywords={ASME, Paper, Template, \LaTeX, Research}, % <=== change to YOUR pdf keywords
- pdfauthor={John H. Lienhard}, % <=== change to YOUR name[s]!
+ pdfauthor={John H. Lienhard}, % <=== change to YOUR name[s]!
+ pdftitle={ASME Conference Paper LaTeX Template}, % <=== change to YOUR pdf file title
+ pdfkeywords={ASME conference paper, LaTeX template, BibTeX style},% <=== change to YOUR pdf keywords
+ pdfsubject = {Describes the asmeconf LaTeX template with author grid},% <=== change to YOUR subject
+% pdfurl={https://ctan.org/pkg/asmeconf},% may delete
+ pdflicenseurl={https://ctan.org/pkg/asmeconf},% may delete
}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
+
% Change these fields to the right content for your conference.
% You can comment these out if for some reason you don't want a header.
% Use title case (first letters capitalized), not all capitals
@@ -106,65 +117,66 @@
\ConfCity{Cambridge, MA}
\PaperNo{AIECE2021-0003}
-
-% Units of measure and other specialty lowercase terms in the title should be
+% Units of measure (e.g., cm) and other specialty lowercase terms in the title should be
% enclosed in \NoCaseChange{...} to maintain lower case type
% LaTeX will automatically set the rest of the title in all capital letters.
-\title{Place Title Here: Place Subtitle After Colon} % <=== change to YOUR title
-
-%%% This is the set-up for the traditional author block style (a grid of blocks) using option [authorgrid]
+\title{Place Title Here: Place Subtitle After Colon}
+
+% Put author names into the order you want. Use the same order for affiliations.
+% \affil{#} tags the author's affiliation to the address in \SetAffiliation{#}.
+% No space between last name and \affil{#}, separate names with commas.
+%
+% For a sole author or a single affiliation for all authors, {#} may be left empty, as \affil{} and \SetAffiliation{} (but not with [grid] option!)
+%
+% \CorrespondingAuthor{email} follows that author's affiliation, no spaces.
+% If multiple corresponding authors, put both email addresses in the same command and place after both authors.
+%
+% \JointFirstAuthor, if applicable, follows the affiliation of the relevant authors, no spaces.
-% 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.
-% First name, middle initial, last name
-% Use title case (upper and lower case letters)
% (Most of the names below are not real people, just very common names.)
-\SetAuthorBlock{Luis Hern\'{a}ndez\JointFirstAuthor}{Institution or Company Name \\ City, State}
-\SetAuthorBlock{Maria Silva\JointFirstAuthor}{Institution or Company Name \\ City, Province, Canada}
-
-\SetAuthorBlock{Henry Tudor, Catherine Parr\CorrespondingAuthor{}}{Hampton Court Palace \\ Richmond, England}
-\SetAuthorBlock{Jinsoo Kim}{Institution or Company Name \\ City, Country}
-\SetAuthorBlock{Yusuf Yilmaz}{Institution or Company Name \\ City, Country}
-
-\SetAuthorBlock{Amelia Smith}{Institution or Company Name \\ City, Country}
-\SetAuthorBlock{Aadhya Acharya}{Institution or Company Name \\ City, Country}
-\SetAuthorBlock{Omar Abu Bakr}{Institution or Company Name \\ City, Country}
-
-% Give an empty argument for \CorrespondingAuthor{} if you are putting email address into the address block.
-% Can also put multiple emails into the argument and use command more than once for multiple
-% corresponding authors. Only the *last* set of emails issued will be printed.
+\SetAuthors{%
+ Luis Hern\'{a}ndez\affil{1}\JointFirstAuthor,
+ Maria Silva\affil{2}\JointFirstAuthor,
+ {Henry Tudor, Catherine~Parr\CorrespondingAuthor{}}\affil{3},
+ Jinsoo Kim\affil{1},
+ Yusuf Yilmaz\affil{1},
+ Amelia Smith\affil{1},
+ Aadhya Acharya\affil{1},
+ Omar Abu Bakr\affil{1},
+ John H.\ Lienhard\affil{4}\CorrespondingAuthor{lienhard@mit.edu, kate@thepalace.gov}
+}
-\SetAuthorBlock{John H.\ Lienhard V\CorrespondingAuthor{lienhard@mit.edu, kate@thepalace.com}\JointFirstAuthor}{%
-Massachusetts Institute of Technology \\ Cambridge, MA}
+\SetAffiliation{1}{Institution or Company Name\\ City, State}
+\SetAffiliation{2}{Institution or Company Name\\ City, Province, Canada}
+\SetAffiliation{3}{Hampton Court Palace\\ Richmond, England}
+\SetAffiliation{4}{Massachusetts Institute of Technology\\ Cambridge, MA }
-% be sure to issue [authorgrid] option when using this (otherwise your authorblock will not display!)
+% be sure to issue [grid] option
-
\maketitle
%%% Use this footnote for tracking various versions of your draft. Change text to suit your own needs.
-%%% REMOVE from final version of your paper.
%%% \date{..} calls the same command.
-
-\versionfootnote{Documentation for \texttt{asmeconf.cls}. Version \versionno; \today.}% <=== Delete before final submission.
+\versionfootnote{Documentation for \texttt{asmeconf.cls}: Version~\versionno, \today.}% <=== Delete before final submission.
%%% Change these to your keywords. Keywords are automatically printed at the end of the abstract.
%%% This command MUST COME BEFORE the end of the abstract.
%%% If you don't want keywords, leave the argument of \keywords{} empty (or use the abstract* environment)
-\keywords{ASME, Paper, Template, \LaTeX, Research}
+\keywords{ASME conference paper, \LaTeX\ Template, \hologo{BibTeX}}
-%%%%%%%%%%%%%%%%%%%%% End of fields to be completed. Now write! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%% End of fields to be completed. Now write your paper. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%% Abstract %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%% ABSTRACT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
-%% Abstract should be no more than 200 words
+%% Abstract should be 200 words or less
\begin{abstract}
-This paper is an example of and a template for typesetting ASME Conference Papers in {\upshape\LaTeX} using the {\upshape\texttt{asmeconf}} class. This class follows ASME guidelines for margins, fonts, headings, captions, and reference formats as of 2020. The class is intended to be used with the {\upshape\texttt{asmeconf.bst} \hologo{BibTeX}} style, which is part of this distribution. The class incorporates the {\upshape\texttt{hyperref}} package, so that pdfs will contain hyperlinks, bookmarks, and metadata, and references can include the DOI and URL fields. Links may be colored, for online use, or black, for publication. The class enables inline author names, following ASME's current style, but can also produce the traditional grid style. Options include line numbering, final column balancing, various math options, government copyright, and archivability (PDF/A). In addition, section headers may contain mathematics, references, citations, and footnotes. The class is compatible with {\upshape\hologo{pdfLaTeX}} or {\upshape\hologo{LuaLaTeX}}.
+
+This paper is an example of and a {\upshape\LaTeX} template for typesetting ASME conference papers using the {\upshape\texttt{asmeconf}} class. This {\upshape\LaTeX} template follows ASME guidelines for margins, fonts, headings, captions, and reference formats as of 2021. The class is intended to be used with the {\upshape\texttt{asmeconf.bst} \hologo{BibTeX}} style for reference formatting, which is part of this distribution. The template produces pdfs that contain hyperlinks, bookmarks, and metadata; and references can include the DOI and URL fields. Links may be colored, for online use, or black, for publication. The class enables inline author names, following ASME's current style, but can also produce the traditional grid style. Options include line numbering, final column balancing, various math options, government copyright, and archivability (PDF/A). In addition, section headers may contain mathematics, references, citations, and footnotes. The class is compatible with {\upshape\hologo{pdfLaTeX}} or {\upshape\hologo{LuaLaTeX}}.
\end{abstract}
%%%%%%%%% NOMENCLATURE (OPTIONAL) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -172,9 +184,7 @@ This paper is an example of and a template for typesetting ASME Conference Paper
%% 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.
-
-%% \EntryHeading{Greek letters} produces an italicized subheading, e.g., \EntryHeading{Greek letters}
-%% (Leaving off the second argument of \entry, e.g. \entry{Greek letters}, has the same effect)
+%% \EntryHeading{..} produces an italicized subheading in the nomenclature list, e.g., \EntryHeading{Greek letters}
\begin{nomenclature}
\EntryHeading{Roman letters}
@@ -198,11 +208,13 @@ This paper is an example of and a template for typesetting ASME Conference Paper
%%%%%%%%% BODY OF PAPER %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Introduction}
-The \texttt{asmeconf} class typesets papers with margins, fonts, headings, captions, and reference formats that follow the specifications for conference papers of the American Society of Mechanical Engineers (ASME). In contrast to older ASME \LaTeX\ templates, \texttt{asmeconf} will set internal and external hyperlinks, and the pdf file will contain bookmarks and metadata. Many other useful features have been incorporated. This class is not a publication of ASME, but the author has published in ASME conferences since 1983.
-The \texttt{.tex} file may be written using standard \LaTeX\ commands, although some specific initial commands are needed to format the blocks containing the author[s], title, and abstract. This class loads a number of other packages, all of which are contained in up-to-date versions of \href{https://www.tug.org/texlive/}{\TeX\ Live}, \href{http://www.tug.org/mactex/}{Mac\TeX}, and similar platforms. If you find that you are missing one of these packages, you may obtain it at no cost from CTAN (\href{http://ctan.org}{ctan.org}).
+The \texttt{\hrefurl{https://ctan.org/pkg/asmeconf}{asmeconf}} class typesets papers with margins, fonts, headings, captions, and reference formats that follow the specifications for conference papers of the American Society of Mechanical Engineers (ASME). In contrast to older ASME \LaTeX\ templates, \texttt{asmeconf} will set internal and external hyperlinks, and the pdf file will contain bookmarks and metadata. Many other useful features have been incorporated. This class is not a publication of ASME, but the author has published in ASME conferences since 1983.
+
+The \texttt{.tex} file may be written using standard \LaTeX\ commands, although some specific initial commands are needed to format the blocks containing the author[s], title, and abstract. This class loads a number of other packages, all of which are contained in up-to-date versions of \hrefurl{https://www.tug.org/texlive/}{\TeX\ Live}, \hrefurl{http://www.tug.org/mactex/}{Mac\TeX}, and similar platforms. If you find that you are missing one of these packages, you may obtain it at no cost from CTAN (\hrefurl{https://ctan.org}{ctan.org}).
\subsection{Essential Initial Commands}
+
To begin, fill in the fields to be completed at top of the \texttt{asmeconf-template.tex} file. These fields include the headers for your conference and your paper number. Specified metadata will be placed into the pdf file itself.
The title should be placed into \verb|\title{..}|.
@@ -221,21 +233,20 @@ The abstract text must be placed into \verb|\begin{abstract}| \ldots \verb|\end{
%% captions go below figures
-\begin{figure}[t]
+\begin{figure}
\centering\includegraphics[width=0.7\linewidth]{sample-figure-1.pdf}
-\caption{Figure caption with math, eqn.~\eqref{eqn:fourier}: $z = (r,\phi)$ \cite{Lienhard2019b}\label{fig:1}}
+\caption{Caption with math, eqn.~\eqref{eqn:fourier}: $z = (r,\phi)$ \cite{Lienhard2019b}\label{fig:1}}
\end{figure}
%%%%%%%%%%%%% end figure %%%%%%%%%%%%%%%%%%%
-
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Referring to Citations, Figures, and Equations}
-Citations are automatically numbered \cite{ning2002}. They should be inserted at the appropriate point using a \verb|\cite{ref}| command~\cite{gibson2008,stevens1999}. The citations will be automatically sorted and compressed if they are given in a set \cite{stevens1999,ning2002,gibson2008,wions2005,smith2002,watson1982}.
+
+Citations are automatically numbered \cite{ning2002}. They should be inserted in the text using a \verb|\cite{ref}| command~\cite{gibson2008,stevens1999}. The citations will be automatically sorted and compressed if they are given in a set \cite{stevens1999,ning2002,gibson2008,wions2005,smith2002,watson1982}.
A specific reference may be named with an abbreviation, as in Ref.~\cite{watson1982}.
-See the \texttt{asmeconf-sample.bib} file and Sect.~\ref{sec:references} for examples of how to enter your references.
+See the \texttt{asmeconf-sample.bib} file and Sect.~\ref{sec:references} for examples of entering references.
For ASME conference papers, the labels Equation and Figure should be abbreviated when they do not start a sentence, as in Eq.~\eqref{eqn:dw} and Fig.~\ref{fig:1}. Figure~\ref{fig:1} is spelled out when it starts a sentence. Equation~\eqref{eqn:dw} is spelled out when it starts a sentence.
@@ -246,11 +257,13 @@ Equations are typeset in the usual way and will be automatically numbered. The
ASME prefers SI units. (U.S.\ style units may follow in parentheses.) Be sure to put all symbols into the nomenclature list, including their units.
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Use title case for subsections and subsubsections
+%% Use title case for subsections and subsubsections (first letter of words capitalized)
\section{Section Headings and Captions}
+
ASME requires that section headings and captions be set in an uppercase, sans serif font. The class will do this automatically. You can place \verb|\cite{..}|, \verb|\ref{..}|, \verb|\label{..}|, and mathematics 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.}\footnote{Sequential footnotes are automatically separated by a comma.}
Text in section headings and captions will not be capitalized if enclosed in a \verb|\NoCaseChange{..}| command.
@@ -259,20 +272,23 @@ Sections may either be numbered or left unnumbered.
Simple mathematical expressions 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-template.tex} source file for examples of this procedure. 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.
+To override the \texttt{sansbold} math version in captions, put \verb|\NoCaseChange{\mathversion{normal}}| in the caption.
\subsection{Subsection and Sub-subsection Headings}
+
Subsections and sub-subsection headings should be entered in title case, with the first letter of primary words capitalized. Sub-subsections (i.e., paragraphs) are never numbered.
%%%%%%%%%%%%%%% begin simple table %%%%%%%%%%%%%%%%%%%%%%%%%%
-%% captions go above tables
+%% Captions go above tables
+%%
+%% Note that placement of figures and tables can managed with the [!tbhp] options. See: https://latexref.xyz/dev/latex2e.html#Floats
\begin{table}[t]
\caption[Table]{A simple table\label{tab:1}}
\centering{%
-\begin{tabular}{l l r}
+\begin{tabular}{llr}
\toprule
Experiment & $u$ [m/s] & $T$ [\textdegree C] \\
\midrule
@@ -304,6 +320,7 @@ Our competitor's test & 72.321 & 141.384 \\
%%%%%%%%%%%%%%%% end table %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%%%%%%%%%%%%%%% begin two column table %%%%%%%%%%%%%%%%%%
\begin{table*}
\caption{A table spanning two columns\label{tab:3}}%
@@ -340,7 +357,7 @@ Our competitor's test & 72.321 & 141.384 \\
\section{Tables and Figures}
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}). Table \ref{tab:3} is an example of a table that spans two columns. Two column tables (and figures) will always float to the top of a later page.
+The class loads the \texttt{booktabs} package (used for horizontal rules in Tables \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 (see Table \ref{tab:2}). Table \ref{tab:3} is an example of a table that spans two columns. Two column tables (and figures) will always float to the top of a later page.
Figure captions go below figures. Figure~\ref{fig:2} is an example of a figure that spans two columns and includes subfigures. The text in figures (and tables) should be no smaller than 6~point type. Images in figures are handled by the standard \texttt{graphicx} package.
@@ -351,20 +368,20 @@ Landscape figures and tables may be produced at full-page size by putting \verb|
\section{Reference Formatting with \NoCaseChange{\texttt{asmeconf.bst}}\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.}}\label{sec:references}
-The {\upshape\texttt{asmeconf.bst}} \hologo{BibTeX} style follows the reference styles shown on ASME's conference web site in 2020.\footnote{\texttt{asmeconf.bst} is intended as a replacement for the old \texttt{asmems4.bst}, which does not follow ASME's current reference formats or support DOI and URL.}
+The {\upshape\texttt{asmeconf.bst}} \hologo{BibTeX} style follows the reference styles shown on ASME's conference web site in 2021.\footnote{\texttt{asmeconf.bst} is intended as a replacement for the old \texttt{asmems4.bst}, which does not follow ASME's current reference formats or support DOI and URL.}
Examples for these and many other cases are given in the \texttt{asmeconf-sample.bib} file, which is part of this distribution. Citations and references are managed by the standard \texttt{natbib} package. Nevertheless, a few comments are necessary.
-%% sub-subsections should *not* be numbered
+%% sub-subsections should *not* be numbered according to ASME's style
\subsubsection*{DOI, URL, and eprint} Include DOI numbers when they are available. URL's may alternatively be given. ASME requests that URLs point to a document's abstract.
-Elementary support for \texttt{eprint} numbers is also included, generating a url at the end of the citation. The \texttt{archive} type may be specified using the macros \texttt{arxiv, googlebooks, hdl, jstore, oclc}, or \texttt{pubmed} (e.g., \texttt{archive=hdl}, \textit{without} braces). Both \texttt{eprint} and \texttt{archive} fields \textit{must} be given. Other root urls may be invoked using \verb|archive = {http://another.url.org/}|.
+Basic support for \texttt{eprint} numbers is also included, generating a url at the end of the citation. The \texttt{archive} type may be specified using the macros \texttt{arxiv, google\-books, hdl, jstore, oclc}, or \texttt{pubmed} (e.g., \texttt{archive=hdl}, \textit{without} braces). Both \texttt{eprint} and \texttt{archive} fields \textit{must} be given. Other root urls may be invoked using \verb|archive = {https://another.url.org/}|.
\subsubsection*{Online Sources} A bibliography entry \verb|@online{..| is included for citation of online sources, such as web pages. A \texttt{url} or \texttt{eprint} with \texttt{archive} must be included. See the examples of use in the \texttt{asmeconf-sample.bib} file.
\subsubsection*{Date Accessed} The \verb|urldate={..}| field may be used to provide the date on which a given url was accessed. By default, the text printed will be \texttt{Accessed `date',}. The word ``Accessed'' may be changed using the \verb|urltype={..}| field.
-\subsubsection*{Conference Location and Date} For the entry types \verb|@inproceeedings{..| and \verb|@proceeedings{..|, you may include \verb|venue={..}| and \verb|eventdate={..}| to specify the city and the date of a conference.
+\subsubsection*{Conference Location and Date} For \verb|@inproceeedings{..| and \verb|@proceeedings{..|, you may include \verb|venue={..}| and \verb|eventdate={..}| to specify the city and date of a conference.
\subsubsection*{Capitalization of Titles} ASME's bibliography style requires that document titles be in title case. The first letters of principal words are capitalized. Do this in the \texttt{.bib} file.
@@ -378,17 +395,18 @@ Elementary support for \texttt{eprint} numbers is also included, generating a ur
\vspace*{1.7em}
\centering{
\includegraphics{sample-figure-2a.pdf}
-}
+}%
\vspace*{1.7em}
-}
+}%
\subcaption{Interior region\label{fig:interior-region}}
\end{subfigure}%
%%%%%%%%%%%%% no spaces or line breaks between these two subfigures
\begin{subfigure}[t]{0.5\textwidth}
\centering{%
\includegraphics{sample-figure-2b.pdf}
+}%
\subcaption{Exterior region\label{fig:exterior-region}}
-}\end{subfigure}
+\end{subfigure}
\caption{A figure with two subfigures \cite{Lienhard2019b}}\label{fig:2}
\end{figure*}
@@ -397,7 +415,7 @@ Elementary support for \texttt{eprint} numbers is also included, generating a ur
%%%%%%%%%%%%%%% MORE ON MATH %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Dealing with complicated math in a section or subsection heading:
+%% Here is an example of managing complicated math in a section or subsection heading:
%% the optional argument to \section will provide the pdf bookmark
%% without losing characters or producing warnings/errors.
%%
@@ -416,15 +434,15 @@ An example using \texttt{align} appears in Appendix~\ref{appendix:a}.
An alternative solution may be to set large equations into two-column-wide tables or figures. While a package exists for setting equations that span two columns (\texttt{widetext.sty}), that code is erratic in relation to floats and page breaks.
-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|:
+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}\label{eqn:dw}
\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}
-To get additional symbols in bold math, you can use \verb|\mathversion{bold}| or the \verb|\bm{..}| macro from the \texttt{bm} package, which is loaded by the class.
+To get additional symbols in bold math, use the \verb|\bm{..}| macro from the \texttt{bm} package (which is loaded by the class) or, for longer passages, use \verb|{\mathversion{bold}|\ldots\texttt{\}}.
-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 letters are presented).
+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 letters are presented).
-\subsection{The \texttt{newtxmath} and \texttt{mathalpha} Packages~\cite{sharpe1,sharpe2}} The \texttt{newtxmath} package~\cite{sharpe1}, loaded by default, includes a large number of options for mathematics, most of which can be called as options to \verb|\documentclass|. For example, the \texttt{upint} option of \texttt{newtxmath} selects upright integral signs (rather than slanted integral signs):
+\subsection{The \texttt{newtxmath} and \texttt{mathalpha} Packages~\cite{sharpe1,sharpe2}} The \texttt{newtxmath} package~\cite{sharpe1}, loaded by default, includes many options for mathematics, most of which can be called as options to \verb|\documentclass|. For example, the \texttt{upint} option selects upright integral signs (rather than slanted integral signs):
\begin{quote}
\verb|\documentclass[upint]{asmeconf}|.
\end{quote}
@@ -434,7 +452,7 @@ In addition, many options for calligraphic, fraktur, and script fonts are availa
\begin{center}
\verb|\documentclass[mathalfa=cal=euler]{asmeconf}|
\end{center}
-which selects the Euler font for \verb|\mathcal| (this is our default). To find all the font options, refer to the \texttt{mathalfa} package documentation \cite{sharpe2}.
+which selects the Euler font for \verb|\mathcal|, as in $A \in \mathcal{P}(A)$. To find all the font options, refer to the \texttt{mathalfa} package documentation \cite{sharpe2}.
The \texttt{asmeconf} class is designed to be used with \texttt{newtxmath} and does not support the \texttt{unicode-math} package.
@@ -455,23 +473,28 @@ This package will attempt to give equal height to the two columns on the last pa
The \texttt{lineno} package is not compatible with the \texttt{flushend} package that makes final short columns the same height. Balancing is automatically disabled when this option is called.
-\subsection{Grid-Style Author Block} The option \texttt{[authorgrid]} invokes ASME's grid-style arrangement of author names. The authors and affiliations must be entered differently in this case. See Appendix \ref{appendix:b} for usage.
+\subsection{Grid-Style Author Block} The option \texttt{[grid]} invokes ASME's grid-style arrangement of author names. Author names are recognized by the commas that separate them. (To include a comma in a name, enclose it in braces.) Line breaks (\verb|\\|) may be inserted into the address of \verb|\SetAffiliation{n}{address}| as needed.
+
+Note that ASME interprets the author order in the grid style by reading names from left-to-right in the top row, then left-to-right in each subsequent row.
\subsection{Changing the Copyright Footer} The option \texttt{[nofoot]} will omit the ASME copyright from the page footer. The option \texttt{[govt]} will produce a copyright notice for authors who are employees of the U.\ S.\ Government. The option \texttt{[contractor]} will produce a copyright
notice for authors who are employed by a U.\ S.\ Government contractor.
-The footers are generated with the \texttt{fancyhdr} package~\cite{oostrum}, so you can change them in any way you like using the commands of that package. Only the default arrangement of footers matches ASME's style, however.
+The footers are generated with the \texttt{fancyhdr} package~\cite{oostrum} and can be changed using the commands of that package. Only the default arrangement matches ASME's style, however.
\subsection{Archivability:~PDF/A} Compliance with PDF/A standards can be enabled using the option \texttt{[pdf-a]}
when running with \hologo{pdfLaTeX}. The default setting is for PDF/A-3u with sRGB OutputIntent (\texttt{sRGB.icc}).
If levels 1b, 2b, 2u, or 3b are preferred, use the options \texttt{[pdfapart=1 or 2 or 3]} and
\texttt{[pdfaconformance=b or u]}. Note that accessible conformance~(\texttt{a}) is not currently possible with \LaTeX.
-\subsection{Superiors Font} The \texttt{newtxtext} package includes a superiors font (both numbers and letters) for use in footnote markers and superscripts. To enable this font, use the option \texttt{[nodefaultsups]}.
+As of late 2021, the \LaTeX 3 team is phasing in native support for PDF/A in the \LaTeX\ kernel, which will make these
+class options unnecessary when using up-to-date installations.
+
+\subsection{Superiors Font} The \texttt{newtxtext} package includes a superiors font (both numbers and letters) for use in footnote markers and text superscripts. To enable this font, use the option \texttt{[nodefaultsups]}.
-\subsection{Typewriter Font Options} This font is the sans-serif \texttt{inconsolata}. By default, the word spacing is variable, but option \texttt{[mono]} ends this behavior. A slashed zero is default; option \texttt{[var0]} removes the slash. Option \texttt{[hyphenate]} enables hyphenation. (This option is not available if the \texttt{[fontspec]} option is used.)
+\subsection{Typewriter Font Options} This font is the sans-serif \texttt{inconsolata}. By default, the word spacing is variable, but option \texttt{[mono]} ends this behavior. A slashed zero is default; option \texttt{[var0]} removes the slash. Option \texttt{[hyphenate]} enables hyphenation. (The hyphenation option is not available if the \texttt{[fontspec]} option is used.)
-\subsection{Support for Other Languages} The package can be adapted to incorporate (or entirely use) languages other than English. See Appendix \ref{appendix:c} for details.
+\subsection{Support for Other Languages} This package can be adapted to incorporate (or entirely use) languages other than English. See Appendix \ref{appendix:b} for details.
%%%%% Conclusions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -486,18 +509,17 @@ Provide a brief conclusion (3-4 lines).
Place any acknowledgments here.
-
%%% REFERENCES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Put your references into your .bib file in the usual way. Run latex once, bibtex once, then latex twice.
-%% The asmeconf.bst style allows: venue = {Location of Conference}, and eventdate = {Month, days}
-%% for @inproceedings and @proceedings
-%%
+%% The asmeconf.bst style allows @inproceedings and @proceedings to include:
+%% venue = {Location of Conference},
+%% eventdate = {Month, days},
-\nocite{*} %% <=== Delete this line unless you want to typeset the entire contents of your .bib file!
+\nocite{*}%% <=== Delete this line unless you want to typeset the entire contents of your .bib file!
-\bibliographystyle{asmeconf} %% .bst file following ASME conference format. Do not change.
-\bibliography{asmeconf-sample} %% <=== change this to name of your bib file
+\bibliographystyle{asmeconf} %% .bst file following ASME conference format. Do not change.
+\bibliography{asmeconf-sample}%% <=== change this to name of your bib file
%%% APPENDICES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -518,35 +540,8 @@ consecutively, following those in the paper. Consider $\rho \neq \textrm{fn}(p)$
&{}= \iint_{\mathcal{S}} \nabla p \times \nabla \left( \frac{1}{\rho}\right) \cdot d\mathbf{A}
\end{align}
-\section{Option to Use an Author Grid}\label{appendix:b}
-
-ASME's most recent templates place author names inline, with affiliations for all authors in rows below.
-This style is the default for this template.
-
-The traditional style of putting authors with affiliation into a grid of blocks may be invoked with
-the option [\texttt{authorgrid}]. When using this form, the author names and addresses should be entered as below:
-
-\smallskip
-\noindent\verb|\SetAuthorBlock{Name\JointFirstAuthor}{%|
- \hbox{}\hfil\verb|Institution \\ City, State}|
-\verb|\SetAuthorBlock{Name\JointFirstAuthor}{%|
- \hbox{}\hfil\verb|Institution \\ City, Country}|
-\verb|\SetAuthorBlock{Name, Name}{%|\hfil\hbox{}
- \hbox{}\hfil\verb|Institution \\ City, Country}|
-\verb|\SetAuthorBlock{John Lienhard\CorrespondingAuthor{%|
- \hbox{\qquad}\hfil\verb|lienhard@mit.edu}}{Institution \\ City, State}|
-\smallskip
-
-Code for the inline-author style is contained at the very end of this \texttt{.tex} file.
-
-Note that ASME interprets the author order in the grid style by reading names from left-to-right in the top row, then left-to-right in each
-subsequent row.
-
-%% directly usable code follows the \end{document} command below.
-
-%\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Multilingual Support}\label{appendix:c}
+\section{Multilingual Support}\label{appendix:b}
ASME publishes in English, but the \texttt{babel} package is loaded for
users who may wish to include other languages. For example, an author might wish to include an appendix that provides the
@@ -556,60 +551,83 @@ When more than one language option is included in \verb|\documentclass[..]{asmec
assumed to be the main language of the document. (To choose a different main language, set \texttt{[main=..]}).
If no language options are given, the package defaults to English. As examples, a passage in French is
shown in \selectlanguage{french}\appendixname~\ref{app:fourier}\selectlanguage{english}, followed by
-\ifpdftex abstracts in Spanish, Greek, and Russian.\else abstracts in other languages.\fi
+\ifpdftex abstracts in Spanish, Greek, Russian, and Vietnamese.\else abstracts in other languages.\fi
-Font encoding is set to T1 with utf-8 input supported:
+The input encoding can be utf-8, as for these glyphs:
%% If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete that line to resolve the issue.
-\typeout{If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete that line to resolve the issue.}
+\typeout{If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete that line to resolve the issue. Under LuaLaTeX, be sure to load the [fontspec] option}%
àáâäæãåā èéęëêēė îïíīįì ôöòóœøōõ ûüùúū çćč ł ñń ßśš ÿ žźż.
-Fonts similar to Times/Helvetica are automatically used when the Greek, Vietnamese, or selected cyrillic-alphabet languages are called as options under {\upshape\hologo{pdfLaTeX}}. Using {\upshape\hologo{LuaLaTeX}} with the \texttt{[fontspec]} option, many additional scripts are available; see the supplemental notes for such usage~\cite{lienhard2021}. Possibilities include Arabic, Bengali, Chinese, Devanagari (e.g., for Hindi), Hangul (for Korean), Kana (for Japanese), and Tamil.
+Fonts similar to Times/Helvetica are automatically used when the Greek, Vietnamese, or selected cyrillic-alphabet languages are called as options under {\upshape\hologo{pdfLaTeX}}. Using {\upshape\hologo{LuaLaTeX}} with the \texttt{[fontspec]} option, many additional scripts are available; see the supplemental notes for such usage~\cite{lienhard2021}. Possibilities include Arabic, Bengali, Chinese, Devanagari (e.g., for Hindi), Hangul (for Korean), Kana (for Japanese), and Tamil. \textit{The {\upshape\texttt{[fontspec]}} option requires a \LaTeX\ installation dated October 2020 or later.}
-The bibliography style, \texttt{asmeconf.bst}, is designed in English and aimed at \hologo{BibTeX}. Multilingual bibliographies
-can be supported using \texttt{BibLaTeX}.
+The bibliography style, \texttt{asmeconf.bst}, is designed in English and aimed at \hologo{BibTeX}.
+% Multilingual bibliographies can be supported using \texttt{BibLaTeX}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{selectlanguage}{french}
+\begin{selectlanguage}{french}%
\section{Discours Préliminaire de Fourier}\label{app:fourier}
Les causes primordiales ne nous sont point con­nues; mais elles sont assujetties à des lois simples et constantes, que l'on peut découvrir par l'obser­vation, et dont l'étude est l'objet de la philosophie naturelle.
La chale ur pénètre, comme la gravité, toutes les substances de l'univers, ses rayons occupent toutes les parties de l'espace. Le but de notre ouvrage est d'exposer les lois mathématiques que suit cet élé­ment. Cette théorie formera désormais une des branches les plus importantes de la physique gé­nérale~\cite{fourier1822}.
-\end{selectlanguage}
+\end{selectlanguage}%
+
+\begin{selectlanguage}{spanish}%
+\begin{abstract*}
+Este es el resumen del artículo. Escribimos en español. Se describen el problema, los métodos y los resultados. También se incluyen referencias.
+\end{abstract*}
+\end{selectlanguage}% edited by Aarón Montoya-Moraga
+%% If you have trouble with the following passages, you may deleting this stuff and remove the associated language option from \documentclass[..].
+\typeout{If you have trouble with the following passages, your file may not be saved in utf-8 format, or your LaTeX format may be old, or you may not have the assumed font installed. You can delete those lines to resolve the issue.}
%% Examples of abstracts in other languages. The first three are intended for pdflatex, not lualatex.
\ifpdftex
- \begin{selectlanguage}{spanish}
+ \begin{selectlanguage}{greek}%
\begin{abstract*}
- Este es el resumen del artículo. Escribimos en español. Se describen el problema, los métodos y los resultados. También se incluyen referencias.
+ Αυτή είναι η περίληψη του άρθρου. Χρησιμοποιούμε την ελληνική γλώσσα. Περιγράφεται το πρόβλημα, οι μέθοδοι και τα αποτελέσματα. Περιλαμβάνονται επίσης αναφορές.
\end{abstract*}
- \end{selectlanguage}% edited by Aarón Montoya-Moraga
-%
-% If you have trouble with the following passages, your file may not be saved in utf-8 format. You can delete this stuff to resolve the issue.
+ \end{selectlanguage}% Edited by George Barbastathis
+
+ \begin{selectlanguage}{russian}
+ \begin{abstract*}
+ Это резюме статьи. Пишем по русски. Описаны проблема, методы и результаты. Библиография также включена.%
+ \end{abstract*}
+ \end{selectlanguage}% edited by Steven Gerasimoff
+
+ \begin{selectlanguage}{vietnamese}
+ \begin{abstract*}
+ Đây là phần tóm tắt của bài báo khoa học. Chúng tôi viết bằng tiếng Việt. Vấn đề, các phương pháp và các kết quả được mô tả trong phần này. Tài liệu tham khảo cũng được bao gồm.
+ \end{abstract*}
+ \end{selectlanguage}% Checked and edited by Nguyen Le and Thao Nguyen
+\fi
+
+\iffontspecloaded %%% requires lualatex
%
\begin{selectlanguage}{greek}%
\begin{abstract*}
Αυτή είναι η περίληψη του άρθρου. Χρησιμοποιούμε την ελληνική γλώσσα. Περιγράφεται το πρόβλημα, οι μέθοδοι και τα αποτελέσματα. Περιλαμβάνονται επίσης αναφορές.
\end{abstract*}
\end{selectlanguage}% Edited by George Barbastathis
-%
+%
\begin{selectlanguage}{russian}
\begin{abstract*}
Это резюме статьи. Пишем по русски. Описаны проблема, методы и результаты. Библиография также включена.%
\end{abstract*}
\end{selectlanguage}% edited by Steven Gerasimoff
%
-\fi
-%
-\iffontspecloaded
-%
- \begin{selectlanguage}{japanese}
+ \begin{selectlanguage}{vietnamese}
\begin{abstract*}
- %論文の要約です。日本語で記述します。問題、方法、および結果について説明します。また、参考文献も含めます。
- この論文の日本語での要約は以下のとおりです。問題、方法、および結果が説明されています。参考資料も添付してあります。
+ Đây là phần tóm tắt của bài báo khoa học. Chúng tôi viết bằng tiếng Việt. Vấn đề, các phương pháp và các kết quả được mô tả trong phần này. Tài liệu tham khảo cũng được bao gồm.
\end{abstract*}
- \end{selectlanguage}% Edited by Keiji Yano and Yoshiki Okamoto
+ \end{selectlanguage}% Checked and edited by Nguyen Le and Thao Nguyen
+%
+% \begin{selectlanguage}{japanese}% Use class option [japanese] if you uncomment this passage.
+% \begin{abstract*}
+% % 論文の要約です。日本語で記述します。問題、方法、および結果について説明します。また、参考文献も含めます。
+% この論文の日本語での要約は以下のとおりです。問題、方法、および結果が説明されています。参考資料も添付してあります。
+% \end{abstract*}
+% \end{selectlanguage}% Edited by Keiji Yano and Yoshiki Okamoto
%
\begin{selectlanguage}{korean}
\begin{abstract*}
@@ -629,23 +647,3 @@ La chale ur pénètre, comme la gravité, toutes les substances de l'univers, se
\end{document}
-
-%%% This is the set-up for the inline author block style; don't use option [authorgrid]
-
-% Put author names into the order you want. Use the same order for affiliations.
-% \affil{#} tags the author's affiliation to the address in \SetAffiliation{#}.
-% No space between last name and \affil{#}, separate names with commas.
-%
-% \CorrespondingAuthor{email} follows that author's affiliation, no spaces.
-% If multiple corresponding authors, put both email addresses in the same command and place after both authors.
-%
-% \JointFirstAuthor, if applicable, follows the affiliation of the relevant authors, no spaces.
-
-\SetAuthors{Luis Hern\'andez\affil{1}\JointFirstAuthor , Maria Silva\affil{2}\JointFirstAuthor, Henry Tudor\affil{3}, Catherine~Parr\affil{3}\CorrespondingAuthor{}, John H.\ Lienhard V\affil{4}\CorrespondingAuthor{lienhard@mit.edu, kate@thepalace.gov}}
-
-\SetAffiliation{1}{Institution or Company Name, City, State}
-\SetAffiliation{2}{Institution or Company Name, City, Province, Canada}
-\SetAffiliation{3}{Hampton Court Palace, Richmond, England}
-\SetAffiliation{4}{Massachusetts Institute of Technology, Cambridge, MA }
-% Note: Luis and Maria are not real people. Henry and Catherine have been dead for >450 years.
-
diff --git a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.pdf b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.pdf
index 51a514f86ac..c2fc29a440f 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.pdf
+++ b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex
index 5a10b7ccd52..c4ae6c04977 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex
+++ b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex
@@ -40,7 +40,7 @@
\def\NotoAra@scale{0.93}% The serif font only; the default value is 0.91
% Noto family is not as close to Tex Gyre Termes as I'd like, so for abstract examples in Latin script [only], use Noto Serif Italic for visual consistency
-\newfontfamily{\NotoSerifItal}{NotoSerif-Italic.ttf}[ItalicFont=*,Scale=\Noto@scale,WordSpace={1,1.4,1}]
+\newfontfamily{\NotoSerif}{NotoSerif}[UprightFont=*-Regular,ItalicFont=*-Italic, BoldItalicFont=*-BoldItalic, BoldFont=*-Bold, Extension=.ttf,Scale=\Noto@scale,WordSpace={1,1.4,1}]
\newfontfamily{\NotoSerifItalns}{NotoSerif-Italic.ttf}[ItalicFont=*,Scale=\Noto@scale]% Turkish has trouble with WordSpace
\makeatother
@@ -114,12 +114,12 @@
\title{Language Support in ASMECONF: Non-Latin Alphabets, Lualatex, and fontspec}
-\SetAuthors{John H.\ Lienhard V\affil{1}\CorrespondingAuthor{lienhard@mit.edu}}
-\SetAffiliation{1}{Department of Mechanical Engineering \\ Massachusetts Institute of Technology, Cambridge, MA}
+\SetAuthors{John H.\ Lienhard V\affil{}\CorrespondingAuthor{lienhard@mit.edu}}
+\SetAffiliation{}{Department of Mechanical Engineering \\ Massachusetts Institute of Technology, Cambridge, MA}
\maketitle
-\versionfootnote{Version~1.0, \today}
+\versionfootnote{Version~1.01, \today}
\keywords{asmeconf, language support, non-Latin alphabets, fontspec, \LLT}
@@ -259,7 +259,7 @@ Examples of abstracts in various languages now follow. Reading the source \textt
\end{abstract*}
\end{selectlanguage}% edited by Zi Hao Foo
-{\NotoSerifItal
+{\NotoSerif
\begin{selectlanguage}{spanish}
\begin{abstract*}
Este es el resumen del artículo. Escribimos en español. Se describen el problema, los métodos y los resultados. También se incluyen referencias.
@@ -291,7 +291,7 @@ This is the summary of the article. We write in English. The problem, methods, a
\end{abstract*}
\end{selectlanguage}% Edited by Omar Labban
-{\NotoSerifItal
+{\NotoSerif
\begin{selectlanguage}{portuguese}
\begin{abstract*}
Este é o resumo do artigo. Escrevemos em português. O problema, métodos e resultados são descritos. Referências também estão incluídas.
@@ -318,7 +318,7 @@ Este é o resumo do artigo. Escrevemos em português. O problema, métodos e res
\end{abstract*}
\end{selectlanguage}% Edited by Vibhawari Deshmukh. (Note that proper fontspec renderer is needed for the combining characters.)
-{\NotoSerifItal
+{\NotoSerif
\begin{selectlanguage}{turkish}
\begin{abstract*}{\NotoSerifItalns
Bu, makalenin özetidir. Türkçe yazıyoruz. Sorun, yöntemler ve sonuçlar açıklanmaktadır. Referanslar da dahildir.}%
@@ -332,7 +332,7 @@ Bu, makalenin özetidir. Türkçe yazıyoruz. Sorun, yöntemler ve sonuçlar aç
\end{abstract*}
\end{selectlanguage}% Edited by Hyung Won Chung.
-{\NotoSerifItal
+{\NotoSerif
\begin{selectlanguage}{french}
\begin{abstract*}
Ceci est le résumé de l'article. Il est écrit en français. Le problème, les méthodes et les résultats sont décrits. Des références sont également incluses.
@@ -352,7 +352,7 @@ Hier ist die Zusammenfassung des Beitrags. Wir schreiben auf Deutsch. Die Frages
\end{abstract*}
\end{selectlanguage}% Edited by Jaichander Swaminathan. (Note that HarfBuzz is needed for combining characters to render correctly.)
-{\NotoSerifItal
+{\NotoSerif
\begin{selectlanguage}{vietnamese}
\begin{abstract*}
Đây là phần tóm tắt của bài báo khoa học. Chúng tôi viết bằng tiếng Việt. Vấn đề, các phương pháp và các kết quả được mô tả trong phần này. Tài liệu tham khảo cũng được bao gồm.%
@@ -405,7 +405,7 @@ Matatizo, Mbinu na matokeo yameelezewa. Marejeleo pia yamejumuishwa.
\end{abstract*}
\end{selectlanguage}% confirmed by Bora Mikić
-{\NotoSerifItal
+{\NotoSerif
\begin{selectlanguage}{latin}
\begin{abstract*}
Hoc argumentum in articulum. Latine scribere nobis. Quaestio est, modi, et describit eventus qui. Alia sunt opera citatis.
diff --git a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-lualatex-ode-example.pdf b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-lualatex-ode-example.pdf
index faeba45607f..3443ed04257 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-lualatex-ode-example.pdf
+++ b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-lualatex-ode-example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-lualatex-ode-example.tex b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-lualatex-ode-example.tex
index 6db7d9c08a9..891c2207d7b 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-lualatex-ode-example.tex
+++ b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-lualatex-ode-example.tex
@@ -18,7 +18,7 @@
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\documentclass[varvw,colorlinks,nofoot]{asmeconf}
+\documentclass[grid,colorlinks,nofoot]{asmeconf}
\hypersetup{%
pdftitle={Example of asmconf with LuaLaTeX to solve an ODE},
@@ -156,17 +156,17 @@ end
\title{Example of \NoCaseChange{{\upshape\hologo{LuaLaTeX}}} with asmeconf.cls for ODE Integration}
\SetAuthors{John H.\ Lienhard V\affil{1}\CorrespondingAuthor{lienhard@mit.edu}}
-\SetAffiliation{1}{Massachusetts Institute of Technology, Cambridge, MA}
+\SetAffiliation{1}{Department of Mechanical Engineering, Massachusetts Institute of Technology, Cambridge, MA}
\maketitle
-\versionfootnote{Version~1.0, \today}
+\versionfootnote{Version~1.01, \today}
\keywords{asmeconf, \hologo{LuaLaTeX}, ODE, pgfplots, landscape}
%%%%%%%%% ABSTRACT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{abstract}
-This paper is an example of using \texttt{asmeconf} with {\upshape\hologo{LuaLaTeX}} to solve an ODE initial value problem using a fourth-order Runge-Kutta method and to plot the result using \texttt{PGFPLOTS}. The use of a landscape figure is also illustrated. References are given for further reading.
+This paper is an example of using {\upshape\texttt{asmeconf}} with {\upshape\hologo{LuaLaTeX}} to solve an ODE initial value problem using a fourth-order Runge-Kutta method and to plot the result using {\upshape\texttt{PGFPLOTS}}. The use of a landscape figure is also illustrated. References are given for further reading.
\end{abstract}
%%%%%%%%% NOMENCLATURE (OPTIONAL) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -217,16 +217,16 @@ Landscape figures, such as Fig.~\ref{fig:1}, may be produced at full-page size b
]
% tMax = 30, npoints = 400, A is the last argument
\addLUADEDplot[color=Purple4,densely dashed,,very thick]{30}{400}{0.25};% color names are from xcolor package
- \addlegendentry[fill=white]{$\mathsf{A = 0.25}$};
+ \addlegendentry[fill=white]{$\mathsf{A = 0.25}$}
\addLUADEDplot[color=Chartreuse4,dashdotted,very thick]{30}{400}{0.5};
- \addlegendentry[fill=white]{$\mathsf{A = 0.5}$};
+ \addlegendentry[fill=white]{$\mathsf{A = 0.5}$}
\addLUADEDplot[color=Red3,densely dotted,very thick]{30}{400}{0.75};
- \addlegendentry[fill=white]{$\mathsf{A = 0.75}$};
+ \addlegendentry[fill=white]{$\mathsf{A = 0.75}$}
\addLUADEDplot[color=Blue3,smooth,very thick]{30}{400}{1};
- \addlegendentry[fill=white]{$\mathsf{A = 1}$};
+ \addlegendentry[fill=white]{$\mathsf{A = 1}$}
\end{axis}
\end{tikzpicture}
-\caption{A trial of pgfplot with Luacode Runge-Kutta integration\label{fig:1}}
+\caption{\MakeUppercase{A trial of pgfplot with Luacode Runge-Kutta integration}\label{fig:1}}
\end{sidewaysfigure*}
diff --git a/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls b/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls
index de5fc86ca21..7ed5a6ca179 100644
--- a/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls
+++ b/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls
@@ -2,11 +2,11 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% This file provides the asmeconf LaTeX class for formatting conference papers according to
-%% ASME conference requirements as represented on ASME's conference web pages in 2020.
+%% ASME conference requirements as represented on ASME's conference web pages in 2021.
%%
%% This file's version and date:
- \def\versionno{1.26}
- \def\versiondate{2021/02/20\space}
+ \def\versionno{1.27}
+ \def\versiondate{2021/12/26\space}
%%
%% Author: John H. Lienhard, V
%% Department of Mechanical Engineering
@@ -16,7 +16,7 @@
%% This LaTeX template was designed to approach the following aims:
%%
%% 1. Match ASME's current layout and font specifications
-%% 2. With amseconf.bst, match ASME's reference formats and support DOI & URL fields
+%% 2. With amseconf.bst, match ASME's reference formats including DOI & URL (replaces asmems4.bst)
%% 3. Provide hyperref compatibility for hyperlinks, pdf bookmarks, and metadata
%% 4. Set author names in either the traditional grid or the more recent inline style
%% 5. Support citations, footnotes, and bold face, sans serif math in section headings
@@ -31,6 +31,8 @@
%% access language-specific fonts), but the class does not support unicode-math. All packages required
%% by the class are in TeXLive and CTAN (https://ctan.org/).
%%
+%% Use an up-to-date LaTeX distribution: for pdfLaTeX, TeX Live 2016 or later; for LuaLaTeX, TeX Live 2021 or later.
+%%
%% Commands for entering conference headers and author names are specific to this class.
%% See asmeconf-template.tex for details.
%%
@@ -69,12 +71,52 @@
\LoadClass[twoside,twocolumn,10pt]{article}
% Even/odd page layout is not used in ASME's specs, although the papers are printed in two-sided format.
-%%%%%%%%%%%%%% Options for the class %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifdefined\NewDocumentCommand\else
+ \RequirePackage{xparse} % enable older installations to access features recently moved into LaTeX kernel
+\fi
-\RequirePackage{xparse} % access features not yet moved into the LaTeX kernel
\RequirePackage{etoolbox}
\RequirePackage{ifthen}
-\RequirePackage{iftex} % check whether pdftex or another engine is used
+
+%%%%%%%%%%%%% Test compatibility of older distributions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}% compare version to date (thanks Ulrike Fischer)
+
+\IfFormatAtLeastTF{2017/01/01}{%
+ \ClassInfo{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020 or later are strongly recommended for best results}
+ }{%
+ \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. Formats dated 2020 or later are recommended for the asmeconf class. Older formats may generate errors}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. You can try to click past the errors for now.}%
+}
+
+\DeclareDocumentCommand\LogNote{m}{%
+ \IfFormatAtLeastTF{2021/11/01}{%
+ \ClassNoteNoLine{asmeconf}{#1}%
+ }{%
+ \ClassWarningNoLine{asmeconf}{#1}%
+ }
+}
+
+%% provide iftex command \ifpdftex for those still running old distributions
+\IfFormatAtLeastTF{2019/11/07}{%
+ \RequirePackage{iftex}% check whether pdftex or another engine is used
+ }{%
+ \LogNote{The asmeconf class requires the missing package iftex---trying a work-around.}
+ % Code copied from iftex package written by the LaTeX3 Project (used under LPPL).
+ % \csname and \let construct useful for hiding \ifzzz tokens from outer level \if tests.
+ \def\IFTEX@let#1#2{%
+ \expandafter\let\csname if#1\expandafter\endcsname
+ \csname if#2\endcsname}
+ % pdftex (including in dvi mode)
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname pdftexversion\endcsname\relax
+ \IFTEX@let{pdftex}{false}
+ \else
+ \IFTEX@let{pdftex}{true}
+ \fi
+ \IFTEX@let{PDFTeX}{pdftex}
+}
+
+%%%%%%%%%%%%%% Options for the class %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{kvoptions}
\SetupKeyvalOptions{
@@ -85,6 +127,11 @@
setkeys=\kvsetkeys,
}
+%%% set key [colorlinks] to have colored hyperlinks, rather than black links (use a key with new pdfmanagement, 2021/12/01)
+\define@key{asmeconf}{colorlinks}[colorlinks]{%
+ \PassOptionsToPackage{#1}{hyperref}%
+}
+
%%% for mathalfa, we may now pass options in this format: mathalfa=cal=euler, mathalfa=frak=boondox
\define@key{asmeconf}{mathalfa}{%
\PassOptionsToPackage{#1}{mathalfa}%
@@ -119,7 +166,7 @@
\ac@mainsettrue
\ifthenelse{\equal{#1}{english}}{%
\PassOptionsToPackage{pdflang=en}{hyperref}}{%
- \ClassWarningNoLine{asmeconf}{Selecting #1 as the primary language}%
+ \LogNote{Selecting #1 as the primary language}%
\ifthenelse{\equal{#1}{greek}}{%
\ac@greektrue
\def\ac@LGR{LGR}%
@@ -147,7 +194,7 @@
\ac@mainsettrue%
\ifthenelse{\equal{#1}{english}}{%
\relax}{%
- \ClassWarningNoLine{asmeconf}{Selecting #1 as the primary language}%
+ \LogNote{Selecting #1 as the primary language}%
}%
}
\define@key{asmeconf}{lang-second}[english]{% deprecated option
@@ -157,13 +204,14 @@
\PassOptionsToPackage{#1}{babel}%
}
+\DeclareDefaultOption{}% suppress warning about unused mathalfa option, 2021/06/15
\ProcessKeyvalOptions{asmeconf}
%% if main language was not chosen explicitly, default to English
\ifac@mainset\relax\else
\PassOptionsToPackage{main=english}{babel}%
\PassOptionsToPackage{pdflang=en}{hyperref}
- %\ClassWarningNoLine{asmeconf}{Selecting English as the primary language, since main= not set}%
+ \ClassInfo{asmeconf}{Selecting English as the primary language, since main= not set}%
\fi
%% Turn off these keys now that we're done with them
@@ -176,30 +224,30 @@
}
\NewDocumentCommand\@DisableKeys{>{\SplitList{;}}m}{\ProcessList{#1}{\ac@DisableOption}}
-\@DisableKeys{main;lang;nodefaultsups;mathalfa;lang-second;lang-third}
+\@DisableKeys{main;lang;nodefaultsups;mathalfa;lang-second;lang-third;vietnamese}
+
%%%%%%%%%%%%% More Language options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% option to use fontspec [fontspec] (e.g, if you need complex language-specific fonts)
+%%% option to use fontspec [fontspec] (for complex language-specific fonts)
\newif\ifac@fontspec\ac@fontspecfalse
\newif\iffontspecloaded\fontspecloadedfalse% so user can test in .tex file
\DeclareOption{fontspec}{%
\ifpdftex
\ClassWarningNoLine{asmeconf}{fontspec option requires LuaLaTeX, will be ignored under pdfLaTeX}%
\else
- \ac@fontspectrue
- \fontspecloadedtrue
- \def\ssztwo{}% for Inconsolatazi4; default uses slashed zero, +ss02 uses regular zero
- \def\MonoNotMono{WordSpace={1,1.33,1.67}}% for Inconsolatazi4; default allows word spacing (is not mono)
+ \IfFormatAtLeastTF{2020/10/01}{%
+ \ClassInfo{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX distributions after 2020 are needed with [fontspec] for language support}
+ \ac@fontspectrue
+ \fontspecloadedtrue
+ \def\ssztwo{}% for Inconsolatazi4; default uses slashed zero, +ss02 uses regular zero
+ \def\MonoNotMono{WordSpace={1,1.33,1.67}}% for Inconsolatazi4; default allows word spacing (is not mono)
+ }{%
+ \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX installations dated 2020/10/01 or later are needed for the [fontspec] option. Option [fontspec] will be ignored. Language support will be minimal}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/}%
+ }
\fi
}
-\DeclareOption{greek}{%
- \PassOptionsToPackage{greek}{babel}%
- \ac@greektrue
- \def\ac@LGR{LGR}%
-}
-
\DeclareOption{japanese}{% mainly to control loading of fontspec options
\ifac@fontspec
\PassOptionsToPackage{japanese}{babel}%
@@ -209,6 +257,12 @@
\fi
}
+\DeclareOption{greek}{%
+ \PassOptionsToPackage{greek}{babel}%
+ \ac@greektrue
+ \def\ac@LGR{LGR}%
+}
+
%% Cyrillic languages
\NewDocumentCommand\@CyrOptions{>{\SplitList{;}}m}{\ProcessList{#1}{\@CyrOptSet}}
\NewDocumentCommand\@CyrOptSet{m}{%
@@ -248,25 +302,28 @@
\ifpdftex %% PDF/A compliance has only been configured for pdflatex
%
-%%% set key [pdfa] to activate pdf/a compliance (default is pdf/A-3u)
+ %%% set key [pdfa] to activate pdf/a compliance (default is pdf/A-3u)
\define@key{pdfaopt}{pdf-a}[true]{%
\ac@setpdfatrue
- \PassOptionsToPackage{pdfa,pdfapart=3,pdfaconformance=u}{hyperref}%
+ \PassOptionsToPackage{pdfa,pdfapart=3,pdfaconformance=u}{hyperref}% note: hyperref takes these options if hyperxmp is loaded
}
-%%% to select part 1, 2 or 3
+ %%% to select part 1, 2 or 3
\define@key{pdfaopt}{pdfapart}[3]{%
\PassOptionsToPackage{pdfapart=#1}{hyperref}%
\ifthenelse{\equal{#1}{1}}{\ac@pdfaonetrue}{\relax}%
}
-%%% to select conformance b or u. NB: a is not possible with pdfLaTeX, and u is not possible with 1.
+ %%% to select conformance b or u. NB: a is not possible with pdfLaTeX, and u is not possible with 1.
\define@key{pdfaopt}{pdfaconformance}[u]{%
\PassOptionsToPackage{pdfaconformance=#1}{hyperref}%
}
- \ProcessKeyvalOptions{pdfaopt}%
\else
- \ifac@pdfaone\ClassWarningNoLine{asmeconf}{PDF/A compliance option requires pdfLaTeX engine}\fi
+ \define@key{pdfaopt}{pdf-a}[true]{%
+ \ac@setpdfatrue
+ }
\fi
+\ProcessKeyvalOptions{pdfaopt}%
+
%% Done with these keys, so we can now disable them
\def\@KeyFamily{pdfaopt}
\@DisableKeys{pdf-a;pdfapart;pdfaconformance}
@@ -277,8 +334,8 @@
%%% option to balance column height on last page [balance]
\newif\ifac@balance\ac@balancefalse
\DeclareOption{balance}{%
- \ac@balancetrue
- \ClassWarningNoLine{asmeconf}{Loading flushend package to balance column height on last page}%
+ \ac@balancetrue
+ \LogNote{Loading flushend package to balance column height on last page}%
}
%%% option to obtain line numbers [lineno]
@@ -298,15 +355,21 @@
\newif\ifac@govt\ac@govtfalse
\DeclareOption{govt}{\ac@govttrue}
-%% option to use grid of authors
+%% option to convert inline author data to a grid of authors
+\newboolean{grid}\setboolean{grid}{false}
+\DeclareOption{grid}{%
+ \setboolean{grid}{true}%
+ \LogNote{Selected option for a grid of author blocks}%
+}
+%% option to directly use grid of authors
\newboolean{Oldauthors}\setboolean{Oldauthors}{false}
\DeclareOption{authorgrid}{%
- \setboolean{Oldauthors}{true}%
- \ClassWarningNoLine{asmeconf}{Selected option for a grid of author blocks}%
+ \setboolean{Oldauthors}{true}%
+ \LogNote{Selected option for a grid of author blocks}%
}
\DeclareOption{oldauthors}{%% deprecated, but retained for backward compatibility
- \setboolean{Oldauthors}{true}%
- \ClassWarningNoLine{asmeconf}{Selected option for a grid of author blocks}%
+ \setboolean{Oldauthors}{true}%
+ \LogNote{Selected option for a grid of author blocks}%
}
%% option for slightly larger small capitals font, via newtxtext
@@ -329,7 +392,7 @@
\ClassWarningNoLine{asmeconf}{hyphenate option is not supported by fontspec, will be ignored}%
\else
\PassOptionsToPackage{hyphenate}{inconsolata}% hyphenate is a key via xkeyval in inconsolata
- \ClassWarningNoLine{asmeconf}{Allowing hyphenation of typewriter font}%
+ \LogNote{Allowing hyphenation of typewriter font}%
\fi
}
%% option for monospacing in typewriter font [mono].
@@ -369,7 +432,7 @@
\setlength\bibsep{1pt plus 1pt minus 1pt}
\RequirePackage{graphicx}
-\ifpdf\def\MyColorOption{fixpdftex}\else\ifluatex\def\MyColorOption{luatex}\else\def\MyColorOption{}\fi\fi
+\ifpdftex\def\MyColorOption{fixpdftex}\else\ifluatex\def\MyColorOption{luatex}\else\def\MyColorOption{}\fi\fi
\RequirePackage[hyperref,\MyColorOption,dvipsnames,svgnames,x11names]{xcolor}
%%%%%%%%%%%% Table related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -378,12 +441,12 @@
\RequirePackage{array}
\RequirePackage{dcolumn}% alignment on decimal places
-\newcolumntype{d}[1]{D{.}{.}{#1}}% NB: This conflicts with babel's spanish language option which makes "." an active character.
- % To use "," separator, put this in preamble: \newcolumntype{d}[1]{D{,}{,}{#1}}
+\newcolumntype{d}[1]{D{.}{.}{#1}}% NB: This conflicts with babel's Spanish language option which makes "." an active character.
+ % To use "," separator, put this command in your preamble: \newcolumntype{d}[1]{D{,}{,}{#1}}
-%%%%%%%%%%%% Font related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%% PDF/A compliance related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifpdftex % moved fontenc 31 Jan 2021
+\ifpdftex % moved fontenc 2021/01/31
\ifac@pdfaone
\pdfminorversion=4 % for pdf/a-1 need version 4, not 7
\else
@@ -392,13 +455,48 @@
\RequirePackage[T1,\ac@TtwoA,\ac@LGR,\ac@Tfive]{fontenc}% T2A to support Cyrillic (w/o babel warning); LGR - Greek; T5 - Vietnamese
\RequirePackage[utf8]{inputenc} % for backward compatibility with pre-2018 LaTeX distributions
\else
- \ifluatex
- \relax
+ \ifluatex
+ \ifac@setpdfa\ClassWarningNoLine{asmejour}{pdf-a option requires pdfLaTeX engine. Under LuaLaTeX, use %
+ \protect\DeclareDocumentMetadata{pdfstandard=A-3b} before \protect\begin{document}}%
+ \fi
+ \directlua{
+ if pdf.getminorversion() \string~= 7 then
+ if (status.pdf_gone and status.pdf_gone > 0)
+ or (status.pdf_ptr and status.pdf_ptr > 0) then
+ tex.error("PDF version cannot be changed anymore")
+ else
+ pdf.setminorversion(7)
+ end
+ end
+ }
\else
\ClassError{asmeconf}{Please use either pdfLaTeX or LuaLaTeX}{This class has NOT been configured to support other engines, and the results will be unpredictable. Your best course of action is to exit and rerun using either pdfLaTeX or LuaLaTeX.}%
\fi
\fi
+%%%%%%%%% Caption related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Needs to come before babel messes with captions, to keep uppercase text. 2021/12/25
+
+\RequirePackage{textcase} %% Allows uppercase titles and captions without errors from math and citations
+
+\RequirePackage[labelfont={sf,bf},hypcap=false]{caption}
+\RequirePackage[hypcap=false,list=true]{subcaption}
+
+\DeclareCaptionLabelFormat{uppercase}{\MakeTextUppercase{#1} #2}
+\DeclareCaptionTextFormat{boldmath}{\mathversion{sansbold}#1}
+\captionsetup[figure]{labelformat=uppercase, labelfont={sf,bf,small},textfont={sf,bf,small},textformat=boldmath,labelsep=colon}
+\captionsetup[table]{labelformat=uppercase, labelfont={sf,bf,small},textfont={sf,bf,small},textformat=boldmath,labelsep=colon,skip=0.5\baselineskip} %name=TABLE,
+
+%% This construction avoids a failure of hyperref in relation to uppercase caption
+%% Discussion: https://tex.stackexchange.com/questions/375695/maketextuppercase-inside-table-captions
+\AtBeginDocument{
+ \let\scaption\caption
+ \renewcommand*{\caption}[2][\shortcaption]{\def\shortcaption{#2}\scaption[#1]{\MakeTextUppercase{#2}}}
+}
+
+%%%%%%%%%%%% Font related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
\RequirePackage{mathtools}% loads and extends amsmath
\RequirePackage[]{babel}
@@ -408,22 +506,22 @@
\RequirePackage[]{newtxmath}
\else
\ifac@fontspec
- \RequirePackage[varqu,varl]{inconsolata}% typewriter font for math
- \renewcommand*{\sfdefault}{qhv} % sans font for math
- \renewcommand{\rmdefault}{ntxtlf} % roman font for math
- \RequirePackage[]{newtxmath} % newtxmath still handles mathematics
-
+ \RequirePackage[varqu,varl]{inconsolata} % typewriter font for math
+ \renewcommand\rmdefault{ntxtlf} % roman font for math
+ \RequirePackage[T1]{fontenc} % qhv is not TU encoded, 2021/12/24
+ \DeclareFontFamily{T1}{\sfdefault}{} % sf for math
+ \DeclareFontShape{T1}{\sfdefault}{m}{n}{<-> s*[0.9] ec-qhvr}{} %% see t1qhv.fd
+ \RequirePackage[]{newtxmath} % newtxmath still handles mathematics
\RequirePackage[no-math]{fontspec}
- \defaultfontfeatures{Ligatures= TeX,}
+ \defaultfontfeatures{Ligatures=TeX,}
%
\setmainfont{TeXGyreTermesX}[% Presumes these are system fonts! Available at: http://www.gust.org.pl/projects/e-foundry/tex-gyre
- WordSpace = {1,1.4,1},%% This stretch matches newtxtext a little better.
+ WordSpace = {1,1.4,1},%% This stretch matches newtxtext a little better. 1.4
Extension = .otf,
UprightFont = *-Regular,
ItalicFont = *-Italic,
BoldFont = *-Bold,
BoldItalicFont = *-BoldItalic,
- Ligatures= TeX,
Numbers = Lining,
]
\setsansfont{texgyreheros}[% Presumes these are system fonts! Available at: http://www.gust.org.pl/projects/e-foundry/tex-gyre
@@ -433,7 +531,6 @@
ItalicFont = *-italic,
BoldFont = *-bold,
BoldItalicFont = *-bolditalic,
- Ligatures = TeX,
Numbers = Lining,
Scale=0.9,
]
@@ -445,21 +542,20 @@
ItalicFont = *-Regular,% has no italic face
BoldFont = *-Bold,
BoldItalicFont = *-Bold,% has no italic face
- Ligatures = TeX,
RawFeature = {+ss01,\ssztwo,+ss03},
]
%
% For many languages, using babel commands helps font loading.
% Noto fonts are available at https://github.com/googlefonts
\def\Noto@scale{0.92}
- \def\NotoAra@scale{0.91}% The serif font only
+ \def\Ara@scale{0.91}% For the serif font only
\def\NotoBan@scale{0.92}% 1.} should probably stay consistent within the Noto family.
\def\NotoDev@scale{0.92}% 1.} should probably stay consistent within the Noto family.
\def\NotoTam@scale{0.92}
\def\Noto@color{black}
%
\babelprovide[import, language=Default]{arabic}
- \babelfont [arabic]{rm}[Scale=\NotoAra@scale,
+ \babelfont [arabic]{rm}[Scale=\Ara@scale,
Renderer=HarfBuzz,
Extension = .ttf,
UprightFont = *-Regular,
@@ -521,9 +617,33 @@
\NewDocumentCommand\@LoadBabelCyr{>{\SplitList{;}}m}{\ProcessList{#1}{\@CyrillicBabel}}
\NewDocumentCommand\@CyrillicBabel{m}{%
\babelprovide[import,language=Default,script=Cyrillic]{#1}
- \babelfont [#1]{rm}[Scale=\Noto@scale,Color=\Noto@color]{NotoSerif}
- \babelfont [#1]{sf}[Scale=\Noto@scale,Color=\Noto@color]{NotoSans}
- \babelfont [#1]{tt}[Scale=\Noto@scale,Color=\Noto@color]{NotoSansMono}
+ \babelfont [#1]{rm}[%
+ Scale=\Noto@scale,
+ Color=\Noto@color,
+ Extension = .ttf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Italic,
+ BoldFont = *-Bold,
+ BoldItalicFont = *-BoldItalic,%
+ ]{NotoSerif}
+ \babelfont [#1]{sf}[%
+ Scale=\Noto@scale,
+ Color=\Noto@color,
+ Extension = .ttf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Italic,
+ BoldFont = *-Bold,
+ BoldItalicFont = *-BoldItalic,%
+ ]{NotoSans}
+ \babelfont [#1]{tt}[%
+ Scale=\Noto@scale,
+ Color=\Noto@color,
+ Extension = .ttf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]{NotoSansMono}
}
\@LoadBabelCyr{russian;belarusian;bulgarian;macedonian;serbian-cyrillic;ukrainian}% serbianc has no .ini under fontspec
\setlocalecaption{serbian-cyrillic}{abstract}{Сажетак}% NB: utf-8
@@ -564,20 +684,70 @@
BoldItalicFont = *-Bold,% has no italic face
]{NotoSansDevanagari}
}
- \@LoadBabelDev{hindi;marathi;kashmiri;nepali;sanskrit}% no .ldf files for these languages, but they do have .ini. Nepali: no abstractname
+ \@LoadBabelDev{hindi;marathi;kashmiri;nepali;sanskrit}
+ % No .ldf files for these languages, but they do have .ini files. Nepali: no abstractname
%
% Greek
\babelprovide[import,language=Default]{greek}
- \babelfont [greek]{rm}[Scale=\Noto@scale,WordSpace={1.1},Color=\Noto@color]{NotoSerif}% increase word spacing slightly
- \babelfont [greek]{sf}[Scale=\Noto@scale,WordSpace={1.1},Color=\Noto@color]{NotoSans}
- \babelfont [greek]{tt}[Scale=\Noto@scale,Color=\Noto@color]{NotoSansMono}
+ \babelfont [greek]{rm}[%
+ Scale=\Noto@scale,
+ WordSpace={1.1},% increase word spacing slightly
+ Color=\Noto@color,
+ Extension = .ttf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Italic,
+ BoldFont = *-Bold,
+ BoldItalicFont = *-BoldItalic,%
+ ]{NotoSerif}
+ \babelfont [greek]{sf}[%
+ Scale=\Noto@scale,
+ WordSpace={1.1},% increase word spacing slightly
+ Color=\Noto@color,
+ Extension = .ttf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Italic,
+ BoldFont = *-Bold,
+ BoldItalicFont = *-BoldItalic,%
+ ]{NotoSans}
+ \babelfont [greek]{tt}[%
+ Scale=\Noto@scale,
+ Color=\Noto@color,
+ Extension = .ttf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]{NotoSansMono}
%
% Japanese
\ifac@japanese
\RequirePackage[match]{luatexja-fontspec}% japanese typesets *much* better with this loaded
- \setmainjfont{NotoSerifCJKjp}[Scale=\Noto@scale,Color=\Noto@color]
- \setsansjfont{NotoSansCJKjp}[Scale=\Noto@scale,Color=\Noto@color]
- \setmonojfont{NotoSansMonoCJKjp}[Scale=\Noto@scale,Color=\Noto@color]
+ \setmainjfont{NotoSerifCJKjp}[%
+ Scale=\Noto@scale,
+ Color=\Noto@color,
+% Extension = .otf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]
+ \setsansjfont{NotoSansCJKjp}[%
+ Scale=\Noto@scale,
+ Color=\Noto@color,
+% Extension = .ttc,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]
+ \setmonojfont{NotoSansMonoCJKjp}[%
+ Scale=\Noto@scale,
+ Color=\Noto@color,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]
\ltjsetparameter{jacharrange={-1, -2, +3, -4, -5, +6, +7, +8}}% this prevents luatexja from breaking Russian and Greek.
% see: https://tex.stackexchange.com/questions/222320/russian-in-document-with-japanese-as-main-language-lualatex-ltjsarticle
% Need at least one of the following to load the Japanese dictionary.
@@ -593,13 +763,21 @@
\babelfont [japanese]{sf}[%
Scale=\Noto@scale,
Color=\Noto@color,
- Extension = .ttc,
+ % Extension = .ttc,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
BoldFont = *-Bold,
BoldItalicFont = *-Bold,% has no italic face
- ]{NotoSansCJK}
- \babelfont [japanese]{tt}[Scale=\Noto@scale,Color=\Noto@color]{NotoSansMonoCJKjp}% renders same as Sans!
+ ]{NotoSansCJKjp}
+ \babelfont [japanese]{tt}[%
+ Scale=\Noto@scale,
+ Color=\Noto@color,
+% Extension = .ttc,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]{NotoSansMonoCJKjp}% renders same as Sans!
\fi
% Note: \japaneseabstractname is not defined if japanese is not called as a package option.
@@ -623,7 +801,15 @@
BoldFont = *-Bold,
BoldItalicFont = *-Bold,% has no italic face
]{NotoSansCJK}
- \babelfont [korean]{tt}[Scale=\Noto@scale,Color=\Noto@color]{NotoSansMonoCJKkr}
+ \babelfont [korean]{tt}[%
+ Scale=\Noto@scale,
+ Color=\Noto@color,
+% Extension = .ttc,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]{NotoSansMonoCJKkr}
\renewcommand\koreanabstractname{초록}% NB: utf-8
% Simplified Chinese
@@ -646,7 +832,15 @@
BoldFont = *-Bold,
BoldItalicFont = *-Bold,% has no italic face
]{NotoSansCJK}
- \babelfont [chinese-simplified]{tt}[Scale=\Noto@scale,Color=\Noto@color]{NotoSansMonoCJKsc}
+ \babelfont [chinese-simplified]{tt}[%
+ Scale=\Noto@scale,
+ Color=\Noto@color,
+% Extension = .ttc,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]{NotoSansMonoCJKsc}
%
% Traditional Chinese (includes characters for Cantonese also)
\babelprovide[import,language=Default]{chinese-traditional}
@@ -740,7 +934,7 @@
%% font size selection
%% ASME's specs differ slightly from latex standard article-10 class
-\renewcommand\LARGE{\@setfontsize\LARGE{16}{19.2}} %{18}{21.6}} updated 7/7/19 to match new ASME spec.
+\renewcommand\LARGE{\@setfontsize\LARGE{16}{19.2}} %{18}{21.6}} updated 2019/7/7 to match new ASME spec.
% ...default is 17.28/22 ... used for paper#
\renewcommand\large{\@setfontsize\large{11}{13.6}} % default is 12/14 ... used for headings
@@ -756,11 +950,13 @@
\DeclareMathVersion{sansbold}
\SetSymbolFont{letters}{sansbold}{OML}{ntxsfmi}{b}{it}
\SetSymbolFont{lettersA}{sansbold}{U}{ntxsfmia}{b}{it}
-\SetSymbolFont{symbols}{sansbold}{LMS}{ntxsy}{b}{n}
+\IfFormatAtLeastTF{2016/01/05}{%
+ \SetSymbolFont{symbols}{sansbold}{LMS}{ntxsy}{b}{n}
+ }{\relax}
\SetSymbolFont{largesymbols}{sansbold}{LMX}{ntxexx}{b}{n}% added 25 Jan 2021
\SetSymbolFont{largesymbolsTXA}{sansbold}{U}{ntxexa}{b}{n}% added 25 Jan 2021
\SetSymbolFont{operators}{sansbold}{\encodingdefault}{\sfdefault}{\bfdefault}{n}
-\SetMathAlphabet{\mathsf}{sansbold}{\encodingdefault}{\sfdefault}{b}{n}% changed from it 31 Jan 2021, \mathsf is upright.
+\SetMathAlphabet{\mathsf}{sansbold}{\encodingdefault}{\sfdefault}{b}{n}% changed from it, 2021/01/31: \mathsf is upright.
% Nice solution from DPC to prevent aux file errors (due to active characters from babel) when switching from pdflatex to lualatex.
@@ -769,6 +965,7 @@
\ifx\directlua\undefined\else\endinput\fi}}}
\fi
+
%%%%%%%% Footers and Footnotes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{fancyhdr}
@@ -814,29 +1011,11 @@
\RenewDocumentCommand\@makefntext{m}{%
\noindent\makebox[2ex][r]{\@makefnmark}#1}% <== To discourage hyphenation, do \hyphenpenalty=300\exhyphenpenalty=300 before #1
-%%%%%%%%% Caption related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\RequirePackage[labelfont={sf,bf},hypcap=false]{caption}
-\RequirePackage[hypcap=false,list=true]{subcaption}
-
-\DeclareCaptionLabelFormat{uppercase}{\MakeTextUppercase{#1} #2}
-\DeclareCaptionTextFormat{boldmath}{\mathversion{sansbold}#1}
-\captionsetup[figure]{labelformat=uppercase, labelfont={sf,bf,small},textfont={sf,bf,small},textformat=boldmath, labelsep=colon}
-\captionsetup[table]{labelformat=uppercase, labelfont={sf,bf,small},textfont={sf,bf,small},textformat=boldmath, labelsep=colon,skip=0.5\baselineskip} %name=TABLE,
-
-%% This construction avoids a failure of hyperref in relation to uppercase caption
-%% Discussion: https://tex.stackexchange.com/questions/375695/maketextuppercase-inside-table-captions
-\AtBeginDocument{
- \let\scaption\caption
- \renewcommand*{\caption}[2][\shortcaption]{\def\shortcaption{#2}\scaption[#1]{\MakeTextUppercase{#2}}}%
-}
%%%%%%%%% Section headings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% wish to accommodate hyperref
-\RequirePackage{textcase} %% Allows uppercase titles and captions without errors from math and citations
-
\RequirePackage[raggedright,indentafter]{titlesec}
%% ASME specifies 10 pt headings
@@ -845,9 +1024,9 @@
\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}{1pt plus 1pt minus 1pt} % from 2 pt 2 pt 1 pt, 7/7/19
+\titlespacing\section{0pt}{12pt plus 4pt minus 2pt}{1pt plus 1pt minus 1pt} % from 2 pt 2 pt 1 pt, 2019/7/7
\titlespacing\subsection{0pt}{12pt plus 4pt minus 2pt}{0pt plus 2pt minus 1pt}
-\titlespacing\subsubsection{\parindent}{6pt plus 3pt minus 2pt}{0pt plus 2pt minus 1pt} % from 12 4 3, 7/7/19
+\titlespacing\subsubsection{\parindent}{6pt plus 3pt minus 2pt}{0pt plus 2pt minus 1pt} % from 12 4 3, 2019/7/7
%% Special handling of the appendices
%% Assumes that appendices are the last content in paper
@@ -860,63 +1039,97 @@
%%%%%%%%%% Hyperref, bookmarks, and PDF/A %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifac@setpdfa
- %%% to assist with unicode glyph mapping, following M. Sharpe's recommendation in the newtx documentation.
- \pdfgentounicode=1 %% enable CMaps
- \input glyphtounicode.tex %% lists of mappings
- \InputIfFileExists{glyphtounicode-cmr.tex}{}{} %% additional mappings
- \InputIfFileExists{glyphtounicode-ntx.tex}{}{} %% additional mappings
-%
- %%% a fairly generic RGB color profile, aimed at on-screen rendering (not print production)
- \immediate\pdfobj stream attr{/N 3} file{sRGB.icc}
- \pdfcatalog{%
- /OutputIntents [
- <<
- /Type /OutputIntent
- /S /GTS_PDFA1
- /DestOutputProfile \the\pdflastobj\space 0 R
- /OutputConditionIdentifier (sRGB)
- /Info (sRGB)
- >>
- ]
- }%
+\newif\if@asme@pdfmanagement% Thanks to Ulrike Fischer
+
+\ExplSyntaxOn
+ \IfFormatAtLeastTF{2020/02/02}{%
+ \bool_if:nTF
+ {
+ \bool_lazy_and_p:nn
+ {\cs_if_exist_p:N \pdfmanagement_if_active_p:}
+ { \pdfmanagement_if_active_p: }
+ }
+ {
+ \@asme@pdfmanagementtrue
+ }
+ {
+ \@asme@pdfmanagementfalse
+ }
+ }{\@asme@pdfmanagementfalse}
+\ExplSyntaxOff
+
+\ifpdftex
+ %%% to assist with unicode glyph mapping, following M. Sharpe's recommendation in the newtx documentation.
+ \IfFormatAtLeastTF{2020/10/01}{\relax}{%
+ \pdfgentounicode=1 %% enable CMaps; has moved into the latex kernel Oct 2020
+ \input glyphtounicode.tex %% lists of mappings; has moved into the latex kernel Oct 2020
+ }
+ \InputIfFileExists{glyphtounicode-cmr.tex}{}{} %% additional mappings
+ \InputIfFileExists{glyphtounicode-ntx.tex}{}{} %% additional mappings
+
+ \ifac@setpdfa
+ %%%% the pdfmanagement options are experimental, from Ulrike Fischer 2021/06/12
+ \if@asme@pdfmanagement
+ \ClassInfo{asmeconf}{pdfmanagement is defined. Class file will not load a color profile}
+ \else
+ \ClassInfo{asmeconf}{NOTE: pdfmanagement not defined. Class file will load a color profile}%
+ %%% a fairly generic RGB color profile, aimed at on-screen rendering (not print production)
+ \immediate\pdfobj stream attr{/N 3} file{sRGB.icc}
+ \pdfcatalog{%
+ /OutputIntents [
+ <<
+ /Type /OutputIntent
+ /S /GTS_PDFA1
+ /DestOutputProfile \the\pdflastobj\space 0 R
+ /OutputConditionIdentifier (sRGB)
+ /Info (sRGB)
+ >>
+ ]
+ }%
+ \fi
+ \fi
\fi
\RequirePackage{hyperxmp}% improve transfer of metadata to pdf
-\RequirePackage[%
+\RequirePackage[psdextra]{hyperref} % recent kernel transition suggests providing most hyperref options via \hypersetup,
+ % but setting psdextra here (for additional math support in bookmarks) 2021/12/01
+
+\hypersetup{%
unicode, % Unicode encoded PDF strings
- psdextra, % additional support for math in pdf bookmarks
pdfborder={0 0 0},%
- bookmarks=true, %
bookmarksnumbered=true,%
- bookmarksopen=true,%
+ bookmarksopen=true,
bookmarksopenlevel=1,%
-% colorlinks=true,%%% <=== set true to get colored type, but do so via package options
linkcolor=blue, %
citecolor=blue, %
- urlcolor=blue, %
- breaklinks=true,%
- pdftitle={}, % <=== add in .tex file
- pdfkeywords={}, % <=== add in .tex file
+ urlcolor=blue, %
+ filecolor=red, % added 2021/12/02, to make certain broken links more apparent
pdfnewwindow=true,%
- pdfpagelayout=SinglePage, %TwoPageRight,% changed this 08/12/20
- pdfauthor={}, % <=== add in .tex file
+ pdfpagelayout=SinglePage, %TwoPageRight,% changed this 2020/12/08
pdfdisplaydoctitle=true%
- ]{hyperref}
+% colorlinks=true,% <=== set true to get colored type, but do so via package options in .tex file
+}
\urlstyle{same} % don't switch to typewriter font for urls
\RequirePackage{doi} % supports the nasty characters in some doi's
\renewcommand{\doitext}{DOI } % change to this from default value, {doi:}, per ASME specification
\RequirePackage{bookmark} % improves handling of pdf bookmarks
+\providecommand*{\toclevel@subfigure}{1}% <== to address unknown bookmark level of subfigure. 2021/12/24
+
+\providecommand\hrefurl[2]{\href{#1}{#2}}% to address certain issues around URL recognition with new pdf management code, 2021/12/02
+
+%%% ==> recent and evolving development of \pdfstring removes all robust commands from bookmarks, so
+%%% the following interventions may become unnecessary over time (2021/12/01).
+
%% 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}%
}
-%% Let's disable \( and \) in pdf bookmarks, 28/2/20
+%% Let's disable \( and \) in pdf bookmarks, 2020/02/28
\pdfstringdefDisableCommands{%
\def\({\relax}%
\def\){\relax}%
@@ -934,7 +1147,7 @@
%% Let's make sure footnotes in section headings don't break pdf bookmarks.
\robustify{\footnote}
-% \patchcmd{\section}{\sectionmark}{\let\footnote\@gobble\sectionmark}{}{}% <== not really needed in this context 28/2/20
+% \patchcmd{\section}{\sectionmark}{\let\footnote\@gobble\sectionmark}{}{}% <== not really needed in this context, 2020/02/28
\pdfstringdefDisableCommands{%
\def\footnote#1{}%
}
@@ -943,7 +1156,7 @@
%% if given in section headings. Ditto for \eqref
%
\patchcmd{\@uclcnotmath}{\@nonchangecase\ref}{\@nonchangecase\ref\@nonchangecase\footnote}{}{}
-\patchcmd{\@uclcnotmath}{\@nonchangecase\ref}{\@nonchangecase\ref\@nonchangecase\eqref}{}{} %% corrected 24 Jan 2020
+\patchcmd{\@uclcnotmath}{\@nonchangecase\ref}{\@nonchangecase\ref\@nonchangecase\eqref}{}{} %% corrected 2020/01/24
%%% Create an optional argument for unnumbered sections and set pdf bookmark (thru \addcontentsline).
@@ -956,7 +1169,7 @@
{\svsection*{#3}\phantomsection%
{\IfNoValueTF {#2}
{\addcontentsline{toc}{section}{#3}}
- {\addcontentsline{toc}{section}{#2}}% removed trailing space 28/2/20
+ {\addcontentsline{toc}{section}{#2}}% removed trailing space 2020/02/28
}%
}%
{\IfNoValueTF {#2}
@@ -1032,15 +1245,25 @@
%% Nomenclature environment %%%%%%%%%%%%%%%%%%
%%
-%% Increase first optional argument to a dimension > 2em if wide entries cause undesired misalignment of columns.
-%% Second optional argument can be used to rename the environment, e.g., to List of Symbols.
\newlength\nomenwidth
\newlength\savitemsep
+%% ==> xparse "g" argument used in this version of \entry is deprecated; so have phased out this version, 2021/12/01
%% If second argument of \entry is omitted, will produce an italicized heading (e.g. "Greek letters")
-\NewDocumentCommand\entry{m g}{%
- \IfNoValueTF{#2}{%
+%\NewDocumentCommand\entry{m g}{%
+% \IfNoValueTF{#2}{%
+% \itemsep3\p@ plus 1\p@ minus 1\p@%
+% \goodbreak\item[\itshape#1\hfill]\setlength\itemsep\savitemsep\@itempenalty=1000%
+% }{%
+% \item[#1\hfill]#2%
+% \@itempenalty=-\@lowpenalty%
+% }%
+%}
+
+\NewDocumentCommand\entry{m m}{%
+ \ifblank{#2}{%
+ \ClassWarningNoLine{asmeconf}{The command \protect\entry requires two arguments. To obtain a subheading, use \protect\EntryHeading}
\itemsep3\p@ plus 1\p@ minus 1\p@%
\goodbreak\item[\itshape#1\hfill]\setlength\itemsep\savitemsep\@itempenalty=1000%
}{%
@@ -1049,12 +1272,14 @@
}%
}
-%% A separate command command for nomenclature subheadings (xparse "g" argument used in \entry is deprecated)
+%% A separate command command for nomenclature subheadings
\NewDocumentCommand\EntryHeading{m}{%
\itemsep3\p@ plus 1\p@ minus 1\p@%
\goodbreak\item[\itshape#1\hfill]\setlength\itemsep\savitemsep\@itempenalty=1000%
}
+%% Increase first optional argument to a dimension > 2em if wide entries cause undesired misalignment of columns.
+%% Second optional argument can be used to rename the environment, e.g., to List of Symbols.
\NewDocumentEnvironment{nomenclature}{O{2em} O{\nomname}}{%
\setlength\columnsep{2em}
\setlength{\nomenwidth}{#1}
@@ -1111,7 +1336,7 @@
\NewDocumentCommand\papertitle{}{%
\vspace*{3\baselineskip}
\parbox{\linewidth}{\mathversion{sansbold}\centering{\bfseries\sffamily\large%
-\MakeTextUppercase{\@PaperTitle}\par}%%% <=== extra \par to make leading stick. See adjustment in \MakeTitle
+\MakeTextUppercase{\@PaperTitle}\par}%%% <=== extra \par to make font leading stick. See adjustment in \MakeTitle
}%
}
@@ -1133,7 +1358,7 @@
%% Flag for corresponding author (expecting just one, but if two enter both email addresses and flag both authors)
\newif\ifac@CA\ac@CAfalse
-\NewDocumentCommand\CorrespondingAuthor{m}{% Revised this command 29/12/20, to make the CA email mandatory but possibly empty
+\NewDocumentCommand\CorrespondingAuthor{m}{% Revised this command 2020/12/29, to make the CA email mandatory but possibly empty
\ignorespaces$\bm{^\ast}$%
\global\ac@CAtrue%
\ifblank{#1}{%
@@ -1147,7 +1372,7 @@
%%%% option to use the traditional grid layout of authors or the inline style
-\ifthenelse{\boolean{Oldauthors}}{% This command works better than \if... in this context.
+\ifthenelse{\boolean{grid}\or\boolean{Oldauthors}}{% This command works better than \if... in this context.
%%%%%%%%%%%%%%%%%%%% Gridded author layout %%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1156,91 +1381,247 @@
%% Allows for up to fifteen author groups... if you need more authors, the edits should be obvious
%% You can put multiple authors above a single affiliation to reduce number of author blocks needed.
\NewCoffin{\firstrowauthorblock}
- \SetHorizontalCoffin\firstrowauthorblock{}
\NewCoffin{\secondrowauthorblock}
- \SetHorizontalCoffin\secondrowauthorblock{}
\NewCoffin{\thirdrowauthorblock}
- \SetHorizontalCoffin\thirdrowauthorblock{}
\NewCoffin{\fourthrowauthorblock}
- \SetHorizontalCoffin\fourthrowauthorblock{}
\NewCoffin{\fifthrowauthorblock}
- \SetHorizontalCoffin\fifthrowauthorblock{}
+ \AtBeginDocument{% corrected 2021/12/01
+ \SetHorizontalCoffin\firstrowauthorblock{}
+ \SetHorizontalCoffin\secondrowauthorblock{}
+ \SetHorizontalCoffin\thirdrowauthorblock{}
+ \SetHorizontalCoffin\fourthrowauthorblock{}
+ \SetHorizontalCoffin\fifthrowauthorblock{}
+ }
\newcounter{authorno}
\setcounter{authorno}{0}
\newlength{\coffinsep}% horizontal space between coffins
\setlength{\coffinsep}{0.03\textwidth}
-
- \NewDocumentCommand\SetAuthorBlock{mm}{%
- \addtocounter{authorno}{1}%
- \SetVerticalCoffin{\authorblock}{0.3\textwidth}{%
- \centering\sffamily%
- \textbf{\ignorespaces#1\ignorespaces}\\
- #2%
- }
- \ifnum\value{authorno}=1
- \JoinCoffins\firstrowauthorblock[r,t]\authorblock[l,t]
- \else
- \ifnum\value{authorno}=2
- \JoinCoffins\firstrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
- \else
- \ifnum\value{authorno}=3
- \JoinCoffins\firstrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
- \fi
- \fi
- \fi
- \ifnum\value{authorno}=4
- \JoinCoffins\secondrowauthorblock[r,t]\authorblock[l,t]
- \else
- \ifnum\value{authorno}=5
- \JoinCoffins\secondrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
- \else
- \ifnum\value{authorno}=6
- \JoinCoffins\secondrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+
+ \ifthenelse{\boolean{grid}}{%
+ \newcounter{authorcnt}
+ \setcounter{authorcnt}{0}
+
+ \NewDocumentCommand\SetAffiliation{mm}{\expandafter\xdef\csname af@#1\endcsname{#2}}% defines \af@#1 as Affiliation #2
+
+ \AtBeginDocument{% error control, when no author or empty \affil is given
+ \SetAffiliation{-1}{Missing author name!\\Or extra comma!}
+ \SetAffiliation{99}{Missing affiliation tag!!}
+ \SetAffiliation{100}{Missing number in affiliation!!}
+ }
+
+ \NewDocumentCommand\SetAuthors{>{\SplitList{,}}m}{\ProcessList{#1}{\@TagAutAff}}
+
+ \NewDocumentCommand\@AuthNo{m}{%
+ \ifblank{#1}{%
+ \expandafter\xdef\csname aut@\theauthorcnt\endcsname{}%
+ \expandafter\xdef\csname autaffil@\theauthorcnt\endcsname{-1}
+ \ClassWarning{asmeconf}{Missing author name, check for extra comma}%
+ }{\expandafter\xdef\csname aut@\theauthorcnt\endcsname{#1}%
+ }%
+ }% defines \aut@authorcnt as Name #1
+
+ \NewExpandableDocumentCommand\affil{m}{%
+ \ifblank{#1}{%
+ \expandafter\xdef\csname autaffil@\theauthorcnt\endcsname{100}%
+ }{\expandafter\xdef\csname autaffil@\theauthorcnt\endcsname{#1}%
+ }%
+ }% defines \autaffil@authorcnt as #1 (unique association)
+
+ \NewDocumentCommand\@TagAutAff{m}{%
+ \addtocounter{authorcnt}{1}%
+ \@AuthNo{#1}%
+ }
+ \NewDocumentCommand\@SetAuthorBlock{}{%
+ \whiledo{\value{authorno}<\value{authorcnt}}{% starting with authorno = 0 ensures we reach authorcnt with +1
+ \addtocounter{authorno}{1}%
+ \SetVerticalCoffin{\authorblock}{0.3\textwidth}{%
+ \centering\sffamily%
+ \textbf{\ignorespaces\csname aut@\theauthorno\endcsname\ignorespaces}\\
+ \ifcsname autaffil@\theauthorno\endcsname% in case the \affil command has been omitted
+ \csname af@\csname autaffil@\theauthorno\endcsname\endcsname
+ \else
+ \csname af@99\endcsname
+ \fi
+ \par}
+ \ifnum\value{authorno}=1
+ \JoinCoffins\firstrowauthorblock[r,t]\authorblock[l,t]
+ \else
+ \ifnum\value{authorno}=2
+ \JoinCoffins\firstrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \else
+ \ifnum\value{authorno}=3
+ \JoinCoffins\firstrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \fi
+ \fi
\fi
- \fi
- \fi
- \ifnum\value{authorno}=7
- \JoinCoffins\thirdrowauthorblock[r,t]\authorblock[l,t]
- \else
- \ifnum\value{authorno}=8
- \JoinCoffins\thirdrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
- \else
- \ifnum\value{authorno}=9
- \JoinCoffins\thirdrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \ifnum\value{authorno}=4
+ \JoinCoffins\secondrowauthorblock[r,t]\authorblock[l,t]
+ \else
+ \ifnum\value{authorno}=5
+ \JoinCoffins\secondrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \else
+ \ifnum\value{authorno}=6
+ \JoinCoffins\secondrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \fi
+ \fi
\fi
- \fi
- \fi
- \ifnum\value{authorno}=10
- \JoinCoffins\fourthrowauthorblock[r,t]\authorblock[l,t]
- \else
- \ifnum\value{authorno}=11
- \JoinCoffins\fourthrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
- \else
- \ifnum\value{authorno}=12
- \JoinCoffins\fourthrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \ifnum\value{authorno}=7
+ \JoinCoffins\thirdrowauthorblock[r,t]\authorblock[l,t]
+ \else
+ \ifnum\value{authorno}=8
+ \JoinCoffins\thirdrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \else
+ \ifnum\value{authorno}=9
+ \JoinCoffins\thirdrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \fi
+ \fi
\fi
- \fi
- \fi
- \ifnum\value{authorno}=13
- \JoinCoffins\fifthrowauthorblock[r,t]\authorblock[l,t]
- \else
- \ifnum\value{authorno}=14
- \JoinCoffins\fifthrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
- \else
- \ifnum\value{authorno}=15
- \JoinCoffins\fifthrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \ifnum\value{authorno}=10
+ \JoinCoffins\fourthrowauthorblock[r,t]\authorblock[l,t]
+ \else
+ \ifnum\value{authorno}=11
+ \JoinCoffins\fourthrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \else
+ \ifnum\value{authorno}=12
+ \JoinCoffins\fourthrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \fi
+ \fi
\fi
- \fi
- \fi
- \ifnum\value{authorno}>15
- \ClassWarningNoLine{asmeconf}{The class is programmed for up to 15 author blocks. If some of your authors are at the same institution, %
- you may put more than one name above a single address. If you need more than 15 author blocks, try using the in-line author style %
- instead of the [authorgrid] option}
- \fi
- }
+ \ifnum\value{authorno}=13
+ \JoinCoffins\fifthrowauthorblock[r,t]\authorblock[l,t]
+ \else
+ \ifnum\value{authorno}=14
+ \JoinCoffins\fifthrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \else
+ \ifnum\value{authorno}=15
+ \JoinCoffins\fifthrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \fi
+ \fi
+ \fi
+ \ifnum\value{authorno}>15
+ \ClassWarningNoLine{asmeconf}{The class is programmed for up to 15 author blocks. If some of your authors are at the same institution, %
+ you may put more than one name above a single address. If you need more than 15 author blocks, try using the in-line author style %
+ instead of the [grid] option}
+ \fi
+ }% end whiledo
+ }
+ }{% end ifthen for grid, now do else for Oldauthors
+ \NewDocumentCommand\SetAuthorBlock{mm}{%
+ \addtocounter{authorno}{1}%
+ \SetVerticalCoffin{\authorblock}{0.3\textwidth}{%
+ \centering\sffamily%
+ \textbf{\ignorespaces#1\ignorespaces}\\
+ #2%
+ }
+ \ifnum\value{authorno}=1
+ \JoinCoffins\firstrowauthorblock[r,t]\authorblock[l,t]
+ \else
+ \ifnum\value{authorno}=2
+ \JoinCoffins\firstrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \else
+ \ifnum\value{authorno}=3
+ \JoinCoffins\firstrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \fi
+ \fi
+ \fi
+ \ifnum\value{authorno}=4
+ \JoinCoffins\secondrowauthorblock[r,t]\authorblock[l,t]
+ \else
+ \ifnum\value{authorno}=5
+ \JoinCoffins\secondrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \else
+ \ifnum\value{authorno}=6
+ \JoinCoffins\secondrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \fi
+ \fi
+ \fi
+ \ifnum\value{authorno}=7
+ \JoinCoffins\thirdrowauthorblock[r,t]\authorblock[l,t]
+ \else
+ \ifnum\value{authorno}=8
+ \JoinCoffins\thirdrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \else
+ \ifnum\value{authorno}=9
+ \JoinCoffins\thirdrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \fi
+ \fi
+ \fi
+ \ifnum\value{authorno}=10
+ \JoinCoffins\fourthrowauthorblock[r,t]\authorblock[l,t]
+ \else
+ \ifnum\value{authorno}=11
+ \JoinCoffins\fourthrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \else
+ \ifnum\value{authorno}=12
+ \JoinCoffins\fourthrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \fi
+ \fi
+ \fi
+ \ifnum\value{authorno}=13
+ \JoinCoffins\fifthrowauthorblock[r,t]\authorblock[l,t]
+ \else
+ \ifnum\value{authorno}=14
+ \JoinCoffins\fifthrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \else
+ \ifnum\value{authorno}=15
+ \JoinCoffins\fifthrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
+ \fi
+ \fi
+ \fi
+ \ifnum\value{authorno}>15
+ \ClassWarningNoLine{asmeconf}{The class is programmed for up to 15 author blocks. If some of your authors are at the same institution, %
+ you may put more than one name above a single address. If you need more than 15 author blocks, try using the in-line author style %
+ instead of the [authorgrid] option}
+ \fi
+ }
+
+ % Changed to follow syntax of the inline style, which is much easier to use! 2020/12/29
+ % % allow for NO email address to be given by omitting second argument
+ % \NewDocumentCommand{\CorrespondingAuthor}{m g}{%
+ % \global\ac@CAtrue%
+ % \IfNoValueTF{#2}{%
+ % \gdef\@CAsep{\relax}%
+ % \gdef\@CAemail{\relax}%
+ % }{%
+ % \gdef\@CAsep{:\space}%
+ % \gdef\@CAemail{#2}%
+ % }%
+ % \ignorespaces#1\ignorespaces$\bm{^\ast}$%\footnotemark[1]%
+ % }
+ %%% to deal with sequential notes as, e.g., "1,*", or "1,2,*" %%%%%%%%%%
+ % bug fixed 2020/12/29
+ \newcommand\nextToken\relax
+
+ \newcommand\isOthernote{%
+ \ifx\CorrespondingAuthor\nextToken\textsuperscript{\sffamily\bfseries,}%
+ \else%
+ \ifx\JointFirstAuthor\nextToken\textsuperscript{\sffamily\bfseries,}%
+ \fi%
+ \fi%
+ \ignorespaces%
+ }
+
+ \let\oldCorrespondingAuthor\CorrespondingAuthor
+ \renewcommand\CorrespondingAuthor[1]{%
+ \oldCorrespondingAuthor{#1}\futurelet\nextToken\isOthernote}
+
+ \let\oldJointFirstAuthor\JointFirstAuthor
+ \renewcommand\JointFirstAuthor{%
+ \oldJointFirstAuthor\futurelet\nextToken\isOthernote}
+
+ \let\oldfootnote\footnote
+ \renewcommand\footnote[1]{%
+ \oldfootnote{#1}\futurelet\nextToken\isOtherfnote}
+
+ \newcommand\isOtherfnote{%
+ \ifx\footnote\nextToken\textsu{\mdseries,}%
+ \fi%
+ }
+ }%end ifthenelse
+
\NewDocumentCommand\ConstructAuthorBlock{}{%
\ifnum\value{authorno}>3
\JoinCoffins\firstrowauthorblock[hc,b]\secondrowauthorblock[hc,t](0pt, -1.5\baselineskip)
@@ -1255,52 +1636,7 @@
\JoinCoffins\firstrowauthorblock[hc,b]\fifthrowauthorblock[hc,t](0pt, -1.5\baselineskip)
\fi
\centerline{\TypesetCoffin\firstrowauthorblock}%% in this instance, \centerline is better than \centering
- }
-
- % Changed to follow syntax of the inline style, which is much easier to use! 29/12/2020
- % % allow for NO email address to be given by omitting second argument
- % \NewDocumentCommand{\CorrespondingAuthor}{m g}{%
- % \global\ac@CAtrue%
- % \IfNoValueTF{#2}{%
- % \gdef\@CAsep{\relax}%
- % \gdef\@CAemail{\relax}%
- % }{%
- % \gdef\@CAsep{:\space}%
- % \gdef\@CAemail{#2}%
- % }%
- % \ignorespaces#1\ignorespaces$\bm{^\ast}$%\footnotemark[1]%
- % }
-
- %%% to deal with sequential notes as, e.g., "1,*", or "1,2,*" %%%%%%%%%%
- % bug fixed 29/12/2020
- \newcommand\nextToken\relax
-
- \newcommand\isOthernote{%
- \ifx\CorrespondingAuthor\nextToken\textsuperscript{\sffamily\bfseries,}%
- \else%
- \ifx\JointFirstAuthor\nextToken\textsuperscript{\sffamily\bfseries,}%
- \fi%
- \fi%
- \ignorespaces%
}
-
- \let\oldCorrespondingAuthor\CorrespondingAuthor
- \renewcommand\CorrespondingAuthor[1]{%
- \oldCorrespondingAuthor{#1}\futurelet\nextToken\isOthernote}
-
- \let\oldJointFirstAuthor\JointFirstAuthor
- \renewcommand\JointFirstAuthor{%
- \oldJointFirstAuthor\futurelet\nextToken\isOthernote}
-
- \let\oldfootnote\footnote
- \renewcommand\footnote[1]{%
- \oldfootnote{#1}\futurelet\nextToken\isOtherfnote}
-
- \newcommand\isOtherfnote{%
- \ifx\footnote\nextToken\textsu{\mdseries,}%
- \fi%
- }
-
%%% otherwise use the new compact layout of authors
}{% i.e., this begins "else"
@@ -1308,9 +1644,9 @@
\NewCoffin{\AuthorBlock}
\NewCoffin{\AffiliationBlock}
\NewCoffin{\AffiliationsBlock}
-
+ \AtBeginDocument{\SetHorizontalCoffin\AffiliationsBlock{}}% corrected 2021/12/01
+
%% NB: \parbox width to \textwidth (full page) not \linewidth (single column)
- \SetHorizontalCoffin\AffiliationsBlock{}
\NewDocumentCommand\SetAuthors{m}{%
\SetHorizontalCoffin\AuthorBlock{%
\parbox{\textwidth}{\centering\sffamily\bfseries\ignorespaces#1\ignorespaces}%
@@ -1321,14 +1657,19 @@
\NewDocumentCommand\SetAffiliation{mm}{%
\SetVerticalCoffin\AffiliationBlock{\textwidth}{%
- \centering\sffamily\footnotemark[#1]#2\ignorespaces%
+ \ifblank{#1}{%
+ \centering\sffamily#2\ignorespaces}{% empty argument for one author or one affiliation, where affiliation need not be tagged
+ \centering\sffamily\footnotemark[#1]#2\ignorespaces}%
}
\JoinCoffins\AffiliationsBlock[hc,b]\AffiliationBlock[hc,t](0pt,-1pt)
}
%%% Affiliation mark
\NewDocumentCommand{\affil}{m}{%
- {\bfseries\footnotemark[#1]}%
+ \ifblank{#1}{%
+ \ClassWarning{asmeconf}{Empty affiliation tag}%
+ \@gobble% 9 Dec 2021, addresses modification for commas
+ }{\bfseries\footnotemark[#1]}%
}
%%% to deal with sequential notes as, e.g., "1,*", or "1,2,*" %%%%%%%%%%
@@ -1386,7 +1727,9 @@
\vspace*{2\baselineskip}
\ifthenelse{\boolean{Oldauthors}}{%
\ConstructAuthorBlock}{%
- \SetAuthorBlock}
+ \ifthenelse{\boolean{grid}}{%
+ \@SetAuthorBlock\ConstructAuthorBlock}{%
+ \SetAuthorBlock}}
\vspace*{3\baselineskip}
\end{@twocolumnfalse}
]
@@ -1415,24 +1758,29 @@
%% Produces an unmarked footnote about the version date, to replace "date"
%% This tool is for editing and should not be used in the final draft
-\NewDocumentCommand\versionfootnote{m}{\begin{NoHyper}\gdef\@thefnmark{}\@footnotetext{#1}\end{NoHyper}}
-\RenewDocumentCommand{\date}{m}{\versionfootnote{#1}}% if one wants to use \date this same way; fixed bug 14/01/2021
+%% This version provides working hyperlink, but throws warning; also, \gdef -->\def. 2021/12/09
+%\NewDocumentCommand\versionfootnote{m}{\def\@thefnmark{}\@footnotetext{#1}}
+
+%% A hyperlink in this footnote will not function, since NoHyper is used to suppress 'missing anchor' warning
+\NewDocumentCommand\versionfootnote{m}{\def\@thefnmark{}\begin{NoHyper}\@footnotetext{#1}\end{NoHyper}}
+
+\RenewDocumentCommand{\date}{m}{\versionfootnote{#1}}% if one wants to use \date this same way; fixed bug 2021/01/14
%%%%%%%%%%%%%% Sans serif upright greek and sans mathversion %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Provide sans-serif *upright* Greek letters, following a suggestion by Michael Sharpe (March 2019).
%% Following Sharpe's newtxsf implementation of the STIX fonts, under the LaTeX Project Public License.
-%% (Note that \mathversion{sansbold} provides sans-serif *italic* Greek letters.) Various edits 25 Jan 2021
+%% (Note that \mathversion{sansbold} provides sans-serif *italic* Greek letters.) Various edits 2021/01/25
\DeclareSymbolFont{lettersAB}{U}{ntxsfmia}{m}{it}
\SetSymbolFont{lettersAB}{normal}{U}{ntxsfmia}{m}{it}
\SetSymbolFont{lettersAB}{bold}{U}{ntxsfmia}{b}{it}
-\SetSymbolFont{lettersAB}{sansbold}{U}{ntxsfmia}{b}{it}% added 25/01/2021, to get this bold in captions, etc.
+\SetSymbolFont{lettersAB}{sansbold}{U}{ntxsfmia}{b}{it}% added 2021/01/25, to get this bold in captions, etc.
\DeclareFontSubstitution{U}{ntxsfmia}{m}{it}
-\DeclareMathSymbol{\sfGamma}{\mathalpha}{lettersAB}{0}% adjust to avoid overwriting newtxmath commands 25/01/2021
+\DeclareMathSymbol{\sfGamma}{\mathalpha}{lettersAB}{0}% adjust to avoid overwriting newtxmath commands, 2021/01/25
\DeclareMathSymbol{\sfDelta}{\mathalpha}{lettersAB}{1}
\DeclareMathSymbol{\sfTheta}{\mathalpha}{lettersAB}{2}
\DeclareMathSymbol{\sfLambda}{\mathalpha}{lettersAB}{3}
@@ -1466,7 +1814,7 @@
\DeclareMathSymbol{\sfrho}{\mathalpha}{lettersAB}{26}
\DeclareMathSymbol{\sfsigma}{\mathalpha}{lettersAB}{27}
\DeclareMathSymbol{\sftau}{\mathalpha}{lettersAB}{28}
-\DeclareMathSymbol{\sfUpsilon}{\mathalpha}{lettersAB}{29}
+\DeclareMathSymbol{\sfupsilon}{\mathalpha}{lettersAB}{29}
\DeclareMathSymbol{\sfphi}{\mathalpha}{lettersAB}{30}
\DeclareMathSymbol{\sfchi}{\mathalpha}{lettersAB}{31}
@@ -1475,7 +1823,7 @@
\DeclareMathSymbol{\sfvarepsilon}{\mathalpha}{lettersAB}{34}
\DeclareMathSymbol{\sfvartheta}{\mathalpha}{lettersAB}{35}
-\DeclareMathSymbol{\sfvarpi}{\mathord}{lettersAB}{36}% added these 25/01/2021
+\DeclareMathSymbol{\sfvarpi}{\mathord}{lettersAB}{36}% added these 2021/01/25
\DeclareMathSymbol{\sfvarrho}{\mathord}{lettersAB}{37}
\DeclareMathSymbol{\sfvarsigma}{\mathord}{lettersAB}{38}
\DeclareMathSymbol{\sfvarphi}{\mathord}{lettersAB}{39}
@@ -1486,7 +1834,7 @@
\DeclareMathSymbol{\sfhslash}{\mathalpha}{lettersAB}{52}% this is not upright
\DeclareMathSymbol{\sfhbar}{\mathalpha}{lettersAB}{53}% this is not upright
-\DeclareMathAccent{\grave}{\mathord}{lettersAB}{254}% added these after bug report 24/01/2021
+\DeclareMathAccent{\grave}{\mathord}{lettersAB}{254}% added these after bug report 2021/01/24
\DeclareMathAccent{\acute}{\mathord}{lettersAB}{255}
\DeclareMathAccent{\check}{\mathord}{lettersAB}{186}
\DeclareMathAccent{\breve}{\mathord}{lettersAB}{187}
@@ -1496,30 +1844,51 @@
\DeclareMathAccent{\dot}{\mathord}{lettersAB}{224}
\DeclareMathAccent{\tilde}{\mathord}{lettersAB}{219}
-%%% sans math version, potential value with PGFPlots, e.g., not for use in main text. 25/01/2021 %%%
+%%% sans math version, potential value with PGFPlots, e.g., not for use in main text. 2021/01/25 %%%
\DeclareMathVersion{sans}
\SetSymbolFont{letters}{sans}{OML}{ntxsfmi}{m}{it}
\SetSymbolFont{lettersA}{sans}{U}{ntxsfmia}{m}{it}
\SetSymbolFont{lettersAB}{sans}{U}{ntxsfmia}{m}{it}
-\SetSymbolFont{symbols}{sans}{LMS}{ntxsy}{m}{n}
+\IfFormatAtLeastTF{2016/01/05}{%
+ \SetSymbolFont{symbols}{sans}{LMS}{ntxsy}{m}{n}
+ }{\relax}
\SetSymbolFont{largesymbols}{sans}{LMX}{ntxexx}{m}{n}
\SetSymbolFont{largesymbolsTXA}{sans}{U}{ntxexa}{m}{n}
\SetSymbolFont{operators}{sans}{\encodingdefault}{\sfdefault}{m}{n}
-\SetMathAlphabet{\mathsf}{sans}{\encodingdefault}{\sfdefault}{m}{n}% make upright 31 Jan 2021.
+\SetMathAlphabet{\mathsf}{sans}{\encodingdefault}{\sfdefault}{m}{n}% make upright 2021/01/31.
%%%%%%%%%%%%%%%%%% Times-like fonts for specific languages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifpdftex % Under lualatex, babel has problems with the following approach. Use [fontspec] option instead.
- \ifac@vietnamese
- \RequirePackage{substitutefont}%
- \substitutefont{T5}{\rmdefault}{qtm}% Vietnamese is in T5 encoding, can use Tex Gyre Termes font (qtm);
- %\substitutefont{T5}{\sfdefault}{qhv}% qhv = Heros (helvetica). We get the right font w/o loading this.
-
+ \ifac@vietnamese
+ % 2021/12/24 removed substitute font package
+ % Vietnamese is in T5 encoding, can use Tex Gyre Termes font (qtm);
+ % qhv = Heros (helvetica). We get the right font w/o loading this.
% qcr = Cursor (monospaced) is poor match to inconsolata; qhv (the sf font) matches better, but isn't monospaced.
- % From TeX Gyre Cursor .fd file by B. Jackowski and J. M. Nowacki, released under the GUST license
+
+ % From TeX Gyre Termes and Cursor .fd files by B. Jackowski and J. M. Nowacki, released under the GUST license
\begingroup
\nfss@catcodes
+ \def\qtm@scale{s*[0.97]}
+ \DeclareFontFamily{T5}{\rmdefault}{}% not adjusting wordspacing
+ \DeclareFontShape{T5}{\rmdefault}{b}{sc}{<-> \qtm@scale t5-qtmb-sc}{}
+ \DeclareFontShape{T5}{\rmdefault}{b}{n}{<-> \qtm@scale t5-qtmb}{}
+ \DeclareFontShape{T5}{\rmdefault}{b}{scit}{<-> \qtm@scale t5-qtmbi-sc}{}
+ \DeclareFontShape{T5}{\rmdefault}{b}{it}{<-> \qtm@scale t5-qtmbi}{}
+ \DeclareFontShape{T5}{\rmdefault}{m}{sc}{<-> \qtm@scale t5-qtmr-sc}{}
+ \DeclareFontShape{T5}{\rmdefault}{m}{n}{<-> \qtm@scale t5-qtmr}{}
+ \DeclareFontShape{T5}{\rmdefault}{m}{scit}{<-> \qtm@scale t5-qtmri-sc}{}
+ \DeclareFontShape{T5}{\rmdefault}{m}{it}{<-> \qtm@scale t5-qtmri}{}
+ \DeclareFontShape{T5}{\rmdefault}{bx}{sc}{<->ssub * qtm/b/sc}{}
+ \DeclareFontShape{T5}{\rmdefault}{bx}{n}{<->ssub * qtm/b/n}{}
+ \DeclareFontShape{T5}{\rmdefault}{bx}{scit}{<->ssub * qtm/b/scit}{}
+ \DeclareFontShape{T5}{\rmdefault}{bx}{it}{<->ssub * qtm/b/it}{}
+ \DeclareFontShape{T5}{\rmdefault}{b}{sl}{<->sub * qtm/b/it}{}
+ \DeclareFontShape{T5}{\rmdefault}{m}{sl}{<->sub * qtm/m/it}{}
+ \DeclareFontShape{T5}{\rmdefault}{b}{scsl}{<->sub * qtm/b/scit}{}
+ \DeclareFontShape{T5}{\rmdefault}{m}{scsl}{<->sub * qtm/m/scit}{}
+
\def\qcr@scale{s*[0.95]}
\DeclareFontFamily{T5}{\ttdefault}{}% not adjusting wordspacing
\DeclareFontShape{T5}{\ttdefault}{b}{sc}{<-> \qcr@scale t5-qcrb-sc}{}
@@ -1540,7 +1909,7 @@
\DeclareFontShape{T5}{\ttdefault}{m}{scsl}{<->sub * qcr/m/scit}{}
\endgroup
\fi
-
+
\ifac@greek
%% Based on Artemisia fd files by A. Tsolomitis and ideas from substitutefont package by G. Milde, both LaTeX Public License.
\begingroup
@@ -1601,10 +1970,10 @@
\DeclareFontShape{LGR}{\ttdefault}{bx}{sl}{<->\DejaVuSansMono@@scale DejaVuSansMono-TLF/b/it}{}
\DeclareFontShape{LGR}{\ttdefault}{bx}{it}{<->\DejaVuSansMono@@scale DejaVuSansMono-TLF/b/it}{}
\DeclareFontShape{LGR}{\ttdefault}{bx}{n}{ <->\DejaVuSansMono@@scale DejaVuSansMono-TLF/b/n}{}
-
+
\endgroup
\fi
-
+
\ifac@cyrillic
%% Paratype fonts for cyrillic, maintained by Pavel Farar, under Latex Project Public License
\begingroup
@@ -1652,7 +2021,7 @@
\DeclareFontShape{T2A}{\ttdefault}{bx}{n}{<->ssub * PTMono-TLF/b/n}{}
\DeclareFontShape{T2A}{\ttdefault}{bx}{sl}{<->ssub * PTMono-TLF/b/sl}{}
- \endgroup
+ \endgroup
\fi
\fi