summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2025-01-27 20:50:21 +0000
committerKarl Berry <karl@freefriends.org>2025-01-27 20:50:21 +0000
commit4b4525c0f286d1e12b0c456d9cad51dc0781b30a (patch)
tree74cbae755c698ece3598cebf49f9be69bda66ef2 /Master
parent00ade3c5ee3615020faddbb3af30eb95318e5d04 (diff)
asmeconf (27jan25)
git-svn-id: svn://tug.org/texlive/trunk@73610 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/README.md15
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib6
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdfbin705662 -> 707352 bytes
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex60
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-authorgrid-example.pdfbin596306 -> 706955 bytes
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-authorgrid-example.tex331
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.pdfbin39914315 -> 20765047 bytes
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex8
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-lualatex-ode-example.pdfbin254973 -> 279459 bytes
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-lualatex-ode-example.tex2
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-wide-equation-example/asmeconf-template-widetext.pdfbin2930107 -> 2936774 bytes
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-wide-equation-example/asmeconf-template-widetext.tex25
-rw-r--r--Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-wide-equation-example/asmewide.sty23
-rw-r--r--Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls584
14 files changed, 615 insertions, 439 deletions
diff --git a/Master/texmf-dist/doc/latex/asmeconf/README.md b/Master/texmf-dist/doc/latex/asmeconf/README.md
index d01de1897fe..d40a754104c 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/README.md
+++ b/Master/texmf-dist/doc/latex/asmeconf/README.md
@@ -1,11 +1,11 @@
#asmeconf: A latex template for ASME conference papers#
- Version 1.38 dated 2024/08/01.
+ Version 1.39 dated 2025/01/26.
####Overview####
This class provides a LaTeX template for ASME Conference papers formatted according to
- the requirements on ASME's web pages (as posted in 2024):
+ the requirements on ASME's web pages (as posted in 2025):
[www.asme.org/publications-submissions/proceedings/formatting-the-paper](https://www.asme.org/publications-submissions/proceedings/formatting-the-paper)
@@ -80,6 +80,15 @@
####Change log####
+ v1.39 (2025/01/26)
+ - Recode title and author blocks into expl3, adjust code to support tagged pdf
+ - Revise other expl3 command and variable naming
+ - Drop metalogo and xcoffins packages; use expl3 coffins directly.
+ - Edit .bib and .tex files to replace \\LuaLaTeX by \\hologo{LuaLaTeX}
+ - Move optional loading of \[textcase\] and \[inputenc\] to compatibility section
+ - Edits to asmewide.sty: set \\@RuleWidth at end of \\maketitle; add \\ignorespacesafterend
+ - Add an experimental and undocumented option \[captionpatch\] for tagging the caption package. With this option and pdftex, asmeconf can validate as PDF 2.0/a-4f provided that the \[spanish\] option is omitted. (UA-2 validation is not possible at present.)
+
v1.38 (2024/08/01)
- Add dcolumn type ",{x.y}" to center numbers on a comma separator
- Change appendix section titles block format, rather than hanging indentation
@@ -219,7 +228,7 @@
####License####
- Copyright (c) 2022 John H. Lienhard
+ Copyright (c) 2025 John H. Lienhard
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction,
diff --git a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib
index 66b2a356cfd..72044aaa03d 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib
+++ b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-sample.bib
@@ -1,6 +1,6 @@
%% Sample bibliography file for asmeconf.bst and asmeconf.cls
%%
-%% Revised 26 July 2024
+%% Revised 09 August 2024
%% Copyright John H. Lienhard, MIT
%% Offered under the MIT license: https://ctan.org/license/mit
@@ -194,7 +194,7 @@
@online{lienhard2024,
author = {Lienhard, John H.},
- title = {Example of {\LuaLaTeX} with {\texttt{asmeconf.cls}} for {ODE} integration},
+ title = {Example of {\hologo{LuaLaTeX}} with {\texttt{asmeconf.cls}} for {ODE} integration},
version = {1.01},
organization = {Comprehensive \TeX\ Archive Network},
year = {2024},
@@ -204,7 +204,7 @@
@online{lienhard2021,
author = {Lienhard, John H.},
- title = {Language Support in {\texttt{asmeconf}}: non-latin alphabets, {\LuaLaTeX}, and {\texttt{fontspec}}},
+ title = {Language Support in {\texttt{asmeconf}}: non-latin alphabets, {\hologo{LuaLaTeX}}, and {\texttt{fontspec}}},
version = {1.0},
organization = {Comprehensive \TeX\ Archive Network},
year = {2021},
diff --git a/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf b/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf
index 8e3eefb5160..c596a0d3dff 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 a325b893575..70dca3f49a5 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.38 dated 2024/08/01
+%% This file is version 1.39 dated 2025/01/26
%%
%% As of version 1.11, this template defaults to ASME's newer conference guidelines first posted July 2019.
%% Those guidelines changed the requested author block formatting to be inline.
@@ -41,13 +41,6 @@
%% * use government contractor copyright notice [contractor]
%% * use copyright notice for some gov't employees [somegovt]
%%
-%% * 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) have adopted integrated support for pdf-a,
-%% * through \DeclareDocumentMetadata{..}. The asmeconf class supports these features, which are preferred
-%% * to 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=boondoxo] to use the Boondox font for \mathcal.
%% * Some other options for cal are: dutchcal, zapfc, cm (default), euler,...
@@ -74,6 +67,13 @@
%%
%% * Option to use LuaLaTeX **without** bothering about extra fonts, [nofontspec]
%%
+%% * Legacy options for PDF/A compliance under pdftex: [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.
+%% *
+%% * Since 2022, LaTeX has included integrated support for pdf-a, through the \DocumentMetadata{..}
+%% * command. This preferred approach works with both pdfTeX and luaLaTeX. The asmeconf class supports this feature,
+%% * which obviates the aforementioned class options. (An up-to-date LaTeX installation is required.)
+%%
%% 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.
@@ -84,19 +84,19 @@
%%
%% LICENSE:
%%
-%% Copyright (c) 2024 John H. Lienhard
+%% Copyright (c) 2025 John H. Lienhard
%%
%% Offered under the MIT license: https://ctan.org/license/mit
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% STRONGLY RECOMMENDED new pdf management code follows.
-%% This addition the LaTeX kernel was made in June 2022 by the LaTeX Project team.
-%% https://www.latex-project.org/news/latex2e-news/ltnews35.pdf
-%% If this doesn't work for you, comment out the next lines and add option [pdf-a] to \documentclass[...]{asmeconf}
+%% RECOMMENDED new pdf management code.
+%% This addition the LaTeX kernel was made by the LaTeX Project team in June 2022.
+%% see https://www.latex-project.org/news/latex2e-news/ltnews35.pdf
+%% If you have problems with these lines, your LaTeX format may be out of date. You can comment them out.
\DocumentMetadata{%
- pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
+ pdfstandard=A-3u,% A-2b, A-2u, A-3b, or A-3u. Don't use u option (unicode) with LuaLaTeX.
pdfversion=1.7,
lang=en-US,
}
@@ -108,7 +108,7 @@
%% Remove the [colorlinks] option before *final* submission to ASME, to get black text for printing,
%% but keep that option for other uses.
-\documentclass[balance,colorlinks,upint,subscriptcorrection,varvw,mathalfa=cal=boondoxo, german,spanish,vietnamese,russian,greek]{asmeconf}
+\documentclass[balance,colorlinks,upint,subscriptcorrection,varvw,mathalfa=cal=boondoxo,spanish,german,vietnamese,russian,greek]{asmeconf}
%%%%% pdf metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -130,11 +130,11 @@
% You can comment these out if for some reason you don't want a header.
% Use title case (first letters capitalized), not all capitals
-\ConfName{Proceedings of the ASME 2024\linebreak International Mechanical Engineering Congress and Exposition}
-\ConfAcronym{IMECE2024}
-\ConfDate{November 17--21, 2024} % update
-\ConfCity{Portland, OR} % update
-\PaperNo{IMECE2024-XXXX}
+\ConfName{Proceedings of the ASME 2025\linebreak International Mechanical Engineering Congress and Exposition}
+\ConfAcronym{IMECE2025}
+\ConfDate{November 16--20, 2025} % update
+\ConfCity{Memphis, TN} % update
+\PaperNo{IMECE2025-XXXX}
% Units of measure (e.g., cm) and other specialty lowercase terms in the title should be
% enclosed in \NoCaseChange{...} to maintain lower case type
@@ -167,6 +167,7 @@
\SetAffiliation{3}{Institution or Company Name, City, Province, Canada}
\SetAffiliation{4}{Hampton Court Palace, Richmond, England}
% Note: Luis and Maria are not real people. Henry and Catherine have been dead for >450 years.
+% Note: You can force a line break in the address using \\
% To switch from inline author names to gridded names, use the [grid] option.
@@ -189,7 +190,7 @@
%% 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 2024. 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 2025. 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) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -405,15 +406,15 @@ Basic support for \texttt{eprint} numbers is also included, generating a url at
\centering{
\includegraphics[width=0.9\linewidth, alt={Nusselt number data for isothermal wall}]{sample-figure-2a.pdf}%
}
-\subcaption{Uniform temperature wall\label{fig:interior-region}}
+\subcaption{Uniform temperature wall\label{fig:isothermal}}
\end{subfigure}%
\hspace*{\columnsep}% with this space added, puts each figure at column center
%%%%%%%%%%%%% no line break between these two subfigures
\begin{subfigure}[b]{\columnwidth}
\centering{%
-\includegraphics[width=0.927\linewidth, alt={Nusselt number data for constant heat flux wall}]{sample-figure-2b.pdf}%
+\includegraphics[width=0.927\linewidth, alt={Nusselt number data for uniform heat flux wall}]{sample-figure-2b.pdf}%
}%
-\subcaption{Uniform heat flux wall with unheated starting length\label{fig:exterior-region}}
+\subcaption{Uniform heat flux wall with unheated starting length\label{fig:uniform-flux}}
\end{subfigure}
\caption{A figure with two subfigures~\cite{lienhard2020}\label{fig:2}}
\end{figure*}
@@ -492,13 +493,10 @@ The option \texttt{[somegovt]} gives a copyright notice for the case when only s
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{Archivability:~PDF/A} In June 2022, the \LaTeX 3 team added support for PDF/A to the \LaTeX\ kernel, using the command \verb|\DocumentMetadata{..}|. This approach works with \textit{both} \hologo{pdfLaTeX} and \hologo{LuaLaTeX}. Note that accessible conformance~(\texttt{a}) is still under development by the \LaTeX3 team.
-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.
+For out-of-date \LaTeX\ formats, compliance with PDF/A standards can be enabled using the legacy option \texttt{[pdf-a]} when running with \hologo{pdfLaTeX}. The default setting is PDF/A-3u with sRGB OutputIntent (\texttt{sRGB.icc}). If levels 1b, 2b, 2u, or 3b are desired, use the
+options \texttt{[pdfapart=1 or 2 or 3]} and \texttt{[pdfaconformance=b or u]}. Accessible conformance~(\texttt{a}) is not possible with this method.
\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 the default; option \texttt{[var0]} removes the slash. Option \texttt{[hyphenate]} enables hyphenation. (The hyphenation option is not available under \hologo{LuaLaTeX} with \texttt{fontspec}.)
@@ -508,7 +506,7 @@ class options unnecessary when using up-to-date installations.
%%%%% Conclusions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Conclusion}
-Provide a brief conclusion (3-4 lines).
+Provide a brief conclusion (3 to 4 lines).
%%%%% Acknowledgments %%%%%%%%%%%%%%%%%%%%%%%%%%%
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 d765aef5a37..0b521c4db4f 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 bef7b45381a..3921eadebbd 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
@@ -4,11 +4,11 @@
%% 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.27 dated 2021/12/26
+%% This file is version 1.39 dated 2025/01/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 LaTeX template continues to support the traditional grid format as a package option.)
+%% As of version 1.11, this template defaults to ASME's newer conference guidelines first posted July 2019.
+%% Those guidelines changed the requested author block formatting to be inline.
+%% This LaTeX template continues to support the traditional grid format as a package option, [grid].
%% Nomenclature now follows the abstract. Abstract text is set in italics.
%%
%% Author: John H. Lienhard V
@@ -18,15 +18,6 @@
%%
%% 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
-%% * [subscriptcorrection, smallerops, varg, frenchmath, varbb, cmbraces, slantedGreek,...]
-%% * 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]
-%%
%% * 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.}.
@@ -43,20 +34,25 @@
%% * 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.
%%
-%% * 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.)
+%% * An option not to use boldface font for caption text [unboldcaption]
+%%
+%% * Options to: omit the ASME copyright footer [nofoot];
+%% * use government employee copyright notice [govt];
+%% * use government contractor copyright notice [contractor]
+%% * use copyright notice for some gov't employees [somegovt]
%%
%% * 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,...
+%% * example shown here is: [mathalfa=cal=boondoxo] to use the Boondox font for \mathcal.
+%% * Some other options for cal are: dutchcal, zapfc, cm (default), euler,...
%% * frak (fraktur), bb (blackboard bold), scr (script) may also be chosen this way.
-%% * For details, refer to mathalfa documentation (at CTAN: http://ctan.org).
+%% * For details, refer to mathalfa documentation (at CTAN: https://www.ctan.org/pkg/mathalpha).
+%%
+%% * 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
+%% * [subscriptcorrection, smallerops, varg, frenchmath, varbb, cmbraces, slantedGreek,...]
+%% * See newtx documentation for descriptions (at CTAN: https://www.ctan.org/pkg/newtx, v1.6 or higher is best).
%%
-%% * Option to use superiors font from newtxtext for footnotes [nodefaultsups] and
-%% * for slightly larger small capitals, [largesc], also from newtxtext.
+%% * Option to for slightly larger small capitals, [largesc], from newtxtext package.
%%
%% * An option to allow hyphenation of the typewriter font [hyphenate], from inconsolata package.
%% * Hyphenation is normally suppressed for typewriter mode because it is often used for code.
@@ -65,8 +61,18 @@
%%
%% * 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.
-%% * Language support is greatest when running LuaLaTeX with the [fontspec] option.
-%% * See Appendix B for details.
+%% * See Appendix B for details.
+%% * Language support is most extensive when running LuaLaTeX, which automatically loads fontspec, but
+%% * be aware that you may to install additional fonts on your system to use fontspec.
+%%
+%% * Option to use LuaLaTeX **without** bothering about extra fonts, [nofontspec]
+%%
+%% * Legacy options for PDF/A compliance under pdftex: [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.
+%% *
+%% * Since 2022, LaTeX has included integrated support for pdf-a, through the \DocumentMetadata{..}
+%% * command. This preferred approach works with both pdfTeX and luaLaTeX. The asmeconf class supports this feature,
+%% * which obviates the aforementioned class options. (An up-to-date LaTeX installation is required.)
%%
%% 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
@@ -78,31 +84,44 @@
%%
%% LICENSE:
%%
-%% Copyright (c) 2021 John H. Lienhard
+%% Copyright (c) 2025 John H. Lienhard
%%
%% Offered under the MIT license: https://ctan.org/license/mit
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% RECOMMENDED new pdf management code.
+%% This addition the LaTeX kernel was made by the LaTeX Project team in June 2022.
+%% see https://www.latex-project.org/news/latex2e-news/ltnews35.pdf
+%% If you have problems with these lines, your LaTeX format may be out of date. You can comment them out.
+
+\DocumentMetadata{%
+ pdfstandard=A-3u,% A-2b, A-2u, A-3b, or A-3u. Don't use u option (unicode) with LuaLaTeX.
+ pdfversion=1.7,
+ lang=en-US,
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%% 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}
-
+\documentclass[grid,balance,colorlinks,upint,subscriptcorrection,varvw,mathalfa=cal=boondoxo,german,spanish,vietnamese,russian,greek]{asmeconf}
%%%%% pdf metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hypersetup{%
- pdfauthor={John H. Lienhard}, % <=== change to YOUR name[s]!
+ pdfauthor={John H. Lienhard}, % <=== change to YOUR name
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
+ 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}
@@ -111,17 +130,18 @@
% You can comment these out if for some reason you don't want a header.
% Use title case (first letters capitalized), not all capitals
-\ConfName{Proceedings of the \texttt{asmeconf}\linebreak International Examples Congress and Exposition}
-\ConfAcronym{AIECE21}
-\ConfDate{January 20, 2021}
-\ConfCity{Cambridge, MA}
-\PaperNo{AIECE2021-0003}
+\ConfName{Proceedings of the ASME 2025\linebreak International Mechanical Engineering Congress and Exposition}
+\ConfAcronym{IMECE2025}
+\ConfDate{November 16--20, 2025} % update
+\ConfCity{Memphis, TN} % update
+\PaperNo{IMECE2025-XXXX}
% 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}
+\title{A LATEX Template for ASME Conference Papers: \NoCaseChange{\texttt{asmeconf.cls}}} % <=== replace with YOUR title
+%\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{#}.
@@ -161,7 +181,6 @@
%%% \date{..} calls the same command.
\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)
@@ -170,13 +189,12 @@
%%%%% End of fields to be completed. Now write your paper. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%% ABSTRACT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% 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 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}}.
+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 2025. 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) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -204,14 +222,12 @@ This paper is an example of and a {\upshape\LaTeX} template for typesetting ASM
\entry{$\infty$}{free stream value}
\end{nomenclature}
-
%%%%%%%%% BODY OF PAPER %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Introduction}
-
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}).
+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 get an error message about a missing package, you may download it at no cost from CTAN (\hrefurl{https://ctan.org}{ctan.org}).
\subsection{Essential Initial Commands}
@@ -228,18 +244,6 @@ After setting up the headers, authors, and title, issue the \verb|\maketitle| c
The abstract text must be placed into \verb|\begin{abstract}| \ldots \verb|\end{abstract}|. The abstract will automatically be italicized. Keywords may be included using the \verb|\keywords{..}| command. The \texttt{keyword} command \textit{must} be issued before the abstract environment.
-
-%%%%%%%%%%%%% begin figure %%%%%%%%%%%%%%%%%
-
-%% captions go below figures
-
-\begin{figure}
-\centering\includegraphics[width=0.7\linewidth]{sample-figure-1.pdf}
-\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}
@@ -258,6 +262,18 @@ 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.
+%%%%%%%%%%%%% begin figure %%%%%%%%%%%%%%%%%
+
+%% captions go below figures
+
+\begin{figure}
+\centering\includegraphics[width=\linewidth, alt = {Linearization error in radiant flux}]{sample-figure-1.pdf}
+\caption{Caption with math, eqn.~\eqref{eqn:fourier}: $\Delta T/T_m$ vs.\ $\Delta T/T_1$~\cite{Lienhard2019}}\label{fig:1}
+\end{figure}
+
+%%%%%%%%%%%%% end figure %%%%%%%%%%%%%%%%%%%
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Use title case for subsections and subsubsections (first letter of words capitalized)
@@ -272,7 +288,7 @@ 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.
-To override the \texttt{sansbold} math version in captions, put \verb|\NoCaseChange{\mathversion{normal}}| in the caption.
+To eliminate boldface type in caption text and math, use the class option \texttt{[unboldcaption]}. To avoid \texttt{sans} math in captions, put \verb|\NoCaseChange{\mathversion{normal}}| in the caption.
\subsection{Subsection and Sub-subsection Headings}
@@ -286,7 +302,7 @@ Subsections and sub-subsection headings should be entered in title case, with th
%% 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}}
+\caption[Table]{A simple table}\label{tab:1}
\centering{%
\begin{tabular}{llr}
\toprule
@@ -303,16 +319,18 @@ Run 12 & 24 & 68.3 \\
%%%%%%%%%%%%%%% begin more complicated table %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% note column set as a 3 cm wide paragraph with 1em hanging indentation. See array package documentation.
+% note numbers centered on "." (with d{3.3}) and on "," (with ,{3.3}). See dcolumn package documentation.
\begin{table}[t]
\caption{Table with more complicated columns}\label{tab:2}%
\centering{%
-\begin{tabular}{!{\hspace*{0.5cm}} >{\raggedright\hangindent=1em} p{3cm} d{3.3} @{\hspace*{1cm}} d{3.3} !{\hspace*{0.5cm}}}
+\begin{tabular}{!{\hspace*{0.5cm}} >{\raggedright\hangindent=1em} p{3cm} d{3.3} @{\hspace*{1cm}} ,{3.3} !{\hspace*{0.5cm}}}
\toprule
Experiment & \multicolumn{1}{c@{\hspace*{1cm}}}{$u$ [m/s]} & \multicolumn{1}{c!{\hspace*{0.5cm}}}{$T$ [\textdegree C]} \\
\midrule
-The first test we ran this morning & 124.3 & 68.3 \\
-The second test we ran this morning & 82.50 & 103.46 \\
-Our competitor's test & 72.321 & 141.384 \\
+The first test we ran this morning & 124.3 & 68,3 \\
+The second test we ran this morning & 82.50 & 103,46 \\
+Our competitor's test & 72.321 & 141,384 \\
\bottomrule
\end{tabular}
}
@@ -320,10 +338,9 @@ 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}}%
+\caption{A table spanning two columns}\label{tab:3}%
\centering{%
\begin{tabular*}{0.8\textwidth}{@{\hspace*{1.5em}}@{\extracolsep{\fill}}ccc!{\hspace*{3.em}}ccc@{\hspace*{1.5em}}}
\toprule
@@ -352,7 +369,6 @@ Our competitor's test & 72.321 & 141.384 \\
%%%%%%%%%%%%%%%%% end two column table %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Tables and Figures}
@@ -366,9 +382,9 @@ 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}
+\section{Reference Formatting with \NoCaseChange{\texttt{asmeconf.bst}}\footnote{To prevent capitalization of text in a section heading or caption, such as an SI unit, enclose it in a \texttt{\textbackslash NoCaseChange} command. As of the July 2022 release of \LaTeX, commands used in a heading or caption may be protected globally by putting this in the preamble: \texttt{\textbackslash AddToNoCaseChangeList\{\textbackslash MyCommand\}}.}}\label{sec:references}
-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.}
+The {\upshape\texttt{asmeconf.bst}} \hologo{BibTeX} style follows the reference styles shown on ASME's conference web site in 2022.\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 according to ASME's style
@@ -381,7 +397,7 @@ Basic support for \texttt{eprint} numbers is also included, generating a url at
\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 \verb|@inproceeedings{..| and \verb|@proceeedings{..|, you may include \verb|venue={..}| and \verb|eventdate={..}| to specify the city and date of a conference.
+\subsubsection*{Conference Location and Date} To specify the city and date of a conference, you can use \verb|venue={..}| and \verb|eventdate={..}| with the entries \verb|@inproceeedings{..| and \verb|@proceeedings{..|.
\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.
@@ -390,24 +406,21 @@ Basic support for \texttt{eprint} numbers is also included, generating a url at
%%%%%%%%%%%%%%%%% begin two column figure %%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{figure*}
-\begin{subfigure}[t]{0.5\textwidth} % subfigure is basically the same as minipage
-\vbox{
-\vspace*{1.7em}
+\begin{subfigure}[b]{\columnwidth}% subfigure is basically the same as minipage
\centering{
- \includegraphics{sample-figure-2a.pdf}
-}%
-\vspace*{1.7em}
-}%
-\subcaption{Interior region\label{fig:interior-region}}
+ \includegraphics[width=0.9\linewidth, alt={Nusselt number data for isothermal wall}]{sample-figure-2a.pdf}%
+}
+\subcaption{Uniform temperature wall\label{fig:interior-region}}
\end{subfigure}%
-%%%%%%%%%%%%% no spaces or line breaks between these two subfigures
-\begin{subfigure}[t]{0.5\textwidth}
+\hspace*{\columnsep}% with this space added, puts each figure at column center
+%%%%%%%%%%%%% no line break between these two subfigures
+\begin{subfigure}[b]{\columnwidth}
\centering{%
-\includegraphics{sample-figure-2b.pdf}
+\includegraphics[width=0.927\linewidth, alt={Nusselt number data for constant heat flux wall}]{sample-figure-2b.pdf}%
}%
-\subcaption{Exterior region\label{fig:exterior-region}}
+\subcaption{Uniform heat flux wall with unheated starting length\label{fig:exterior-region}}
\end{subfigure}
-\caption{A figure with two subfigures \cite{Lienhard2019b}}\label{fig:2}
+\caption{A figure with two subfigures~\cite{lienhard2020}\label{fig:2}}
\end{figure*}
%%%%%%%%%%%%%%%%%%% end two column figure %%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -432,13 +445,13 @@ In most cases, the need for a wide equation can be eliminated by using one of th
\end{multline}
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.
+An alternative solution may be to set large equations into two-column-wide tables or figures. An experimental package for setting equations that span two columns, \texttt{asmewide.sty}, can be loaded as well, but that code may require hand-fitting around figures, tables, and page breaks. See the examples in~\cite{lienhard2022}.
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, 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{\}}.
+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}..|\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).
@@ -450,9 +463,9 @@ The option \verb|subscriptcorrection| improves the spacing of math subscripts. T
In addition, many options for calligraphic, fraktur, and script fonts are available as options to the \texttt{mathalfa} package, which is also loaded. These may be invoked, for example, as
\begin{center}
-\verb|\documentclass[mathalfa=cal=euler]{asmeconf}|
+\verb|\documentclass[mathalfa=cal=boondoxo]{asmeconf}|
\end{center}
-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}.
+which selects a Boondox 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.
@@ -473,34 +486,31 @@ 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{[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.
+\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 the name 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
+\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 option \texttt{[somegovt]} gives a copyright notice for the case when only some authors are employees of the U.\ S.\ Government.
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.
-
-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{Archivability:~PDF/A} In June 2022, the \LaTeX 3 team added support for PDF/A to the \LaTeX\ kernel, using the command \verb|\DocumentMetadata{..}|. This approach works with \textit{both} \hologo{pdfLaTeX} and \hologo{LuaLaTeX}. Note that accessible conformance~(\texttt{a}) is still under development by the \LaTeX3 team.
-\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]}.
+For out-of-date \LaTeX\ formats, compliance with PDF/A standards can be enabled using the legacy option \texttt{[pdf-a]} when running with \hologo{pdfLaTeX}. The default setting is PDF/A-3u with sRGB OutputIntent (\texttt{sRGB.icc}). If levels 1b, 2b, 2u, or 3b are desired, use the
+options \texttt{[pdfapart=1 or 2 or 3]} and \texttt{[pdfaconformance=b or u]}. Accessible conformance~(\texttt{a}) is not possible with this method.
-\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{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 the default; option \texttt{[var0]} removes the slash. Option \texttt{[hyphenate]} enables hyphenation. (The hyphenation option is not available under \hologo{LuaLaTeX} with \texttt{fontspec}.)
-\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.
+\subsection{Support for Other Languages} This package can be adapted to incorporate (or entirely use) languages other than English. See Appendix \ref{appendix:c} for details.
%%%%% Conclusions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Conclusion}
-Provide a brief conclusion (3-4 lines).
+Provide a brief conclusion (3 to 4 lines).
%%%%% Acknowledgments %%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -541,36 +551,62 @@ consecutively, following those in the paper. Consider $\rho \neq \textrm{fn}(p)$
\end{align}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Multilingual Support}\label{appendix:b}
+\section[Use with LuaLaTeX]{Use with \NoCaseChange{\hologo{LuaLaTeX}}}\label{appendix:b}
+
+The \hologo{LuaLaTeX} engine is useful with \texttt{asmeconf} in two situations:
+
+\begin{description}
+
+\item \textbf{Executing lua code directly in your \LaTeX\ file.} With lua code, complicated functions can be plotted or numerical integration can be executed. An example file in the distribution demonstrates this capability~\cite{lienhard2024}. In this situation, \textit{be sure to use the class option} \texttt{[nofontspec]}, so that you won't need to install additional fonts on your computer.
+
+\item \textbf{Using complex alphabets.} With \hologo{pdfLaTeX}, the \texttt{asmeconf} package supports Latin alphabets, as well as Cyrillic, Greek, and Vietnamese. If you need scripts such as Arabic, Chinese, or Japanese, \hologo{LuaLaTeX} with the \texttt{fontspec} package can use fonts installed in your computer operating system.\footnote{For English, you \textit{must} have these fonts installed:\par \parbox{\columnwidth}{\setlength{\parindent}{12pt}TeX Gyre Termes (\hrefurl{https://ctan.org/tex-archive/fonts/newtx/opentype}{ctan.org/tex-archive/fonts/newtx/opentype}),\par TeX~Gyre~Heros (\hrefurl{https://ctan.org/tex-archive/fonts/tex-gyre/opentype}{ctan.org/tex-archive/fonts/tex-gyre/opentype}),\par
+Inconsolatazi4 (\hrefurl{https://ctan.org/tex-archive/fonts/inconsolata/opentype}{ctan.org/tex-archive/fonts/inconsolata/opentype}).}} See the example file in this distribution for more details~\cite{lienhard2021}.
+
+
+\end{description}
+
+For clarity, \texttt{fontspec} is automatically loaded when \texttt{asmeconf} is run under \hologo{LuaLaTeX}. Fontspec requires that the necessary system fonts are already installed in your operating system. If you wish to use \hologo{LuaLaTeX} without bothering about system fonts, use the class option \texttt{[nofontspec]}.
+
+Access to \hologo{LuaLaTeX} is different in each \LaTeX\ platform. Check the documentation for your specific platform to see how to access various typesetting engines.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section{Multilingual Support}\label{appendix:c}
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
abstract in another language.
When more than one language option is included in \verb|\documentclass[..]{asmeconf}|, English will be
-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, Russian, and Vietnamese.\else abstracts in other languages.\fi
+set as the document's main language. (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 German is
+shown in \selectlanguage{german}\appendixname~\ref{app:pohlhausen}\selectlanguage{german},
+%\selectlanguage{french}\appendixname~\ref{app:fourier}\selectlanguage{english},
+followed by \ifpdftex abstracts in Spanish, Greek, Russian, and Vietnamese.\else abstracts in other languages.\fi
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. Under LuaLaTeX, be sure to load the [fontspec] option}%
+\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, you can load the fontspec will support these characters if you have the relevant systems fonts installed}%
àáâäæãåā èéęëêēė îïíīįì ôöòóœøōõ ûüùúū çćč ł ñń ßśš ÿ žźż.
-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.}
+Fonts similar to Times/Helvetica are used when Greek, Vietnamese, or selected cyrillic-alphabet languages are called as options under {\upshape\hologo{pdfLaTeX}}. Using {\upshape\hologo{LuaLaTeX}}, which loads the fontspec package, 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. (Note: some fonts are not PDF/A compliant.) \textit{These options require 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}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\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}.
+\begin{selectlanguage}{german}%
+\section{Wärmeaustausch und Reibungswiderstand (\NoCaseChange{von} E. Pohlhausen)}\label{app:pohlhausen}
+In einer strömenden Flussigkeit sind Wärmeleitung und Wärmekonvektion Vorgänge, die mit der inneren Reibung (oder Impulsleitung) und mit der Impulskonvektion große Aehnlichkeit besitzen. Mathematisch findet dies seinen Ausdruck in dem gleichartigen Bau der Differentialgleichungen, die einerseits für die Temperatur und anderseits für den Geschwindigkeitsvektor in der Flüssigkeit bestehen. Man kann daraus auf eine Beziehung
+zwischen dem Wärmeaustanch und dem Reibungswiderstand schließen, die eine strömende Flüssigkeit an einem festen Körper hervorrufen. Dies ist zuerst von Prandtl ausgesprochen und durchgeführt worden, und zwar für turbulente Vorgänge, unter der vereinfachenden Annahme von Wärmequellen und -senken im Innern der Flüssigkeit~\cite{pohlhausen1921}.
\end{selectlanguage}%
+
+%\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}%
\begin{selectlanguage}{spanish}%
\begin{abstract*}
@@ -602,19 +638,25 @@ Este es el resumen del artículo. Escribimos en español. Se describen el proble
\end{selectlanguage}% Checked and edited by Nguyen Le and Thao Nguyen
\fi
-\iffontspecloaded %%% requires lualatex
+\iffontspecloaded %%% These passages require using lualatex AND installing the mentioned fonts as system fonts on your computer.
%
- \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
+ \IfFontExistsTF{NotoSans}{
+ \IfFontExistsTF{NotoSerif}{
+ %
+ \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
+ %
+ }{\ClassWarning{\ClassName}{I can't find NotoSerif.ttf, which is needed for Greek and Russian language text. Please install that font.}}
+ }{\ClassWarning{\ClassName}{I can't find NotoSans.ttf, which is needed for Greek and Russian language text. Please install that font.}}
%
\begin{selectlanguage}{vietnamese}
\begin{abstract*}
@@ -622,24 +664,41 @@ Este es el resumen del artículo. Escribimos en español. Se describen el proble
\end{abstract*}
\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*}
- 이것은 한국어로 쓰인 논문의 초록입니다. 문제, 방법 및 결과가 설명되어 있습니다. 참조도 포함됩니다.
- \end{abstract*}
- \end{selectlanguage}% Edited by Hyung Won Chung.
+%% Use class option [japanese] if you uncomment this passage.
+% \IfFontExistsTF{NotoSerifCJKjp}{%
+% \IfFontExistsTF{NotoSansCJKjp}{%
+% %
+% \begin{selectlanguage}{japanese}
+% \begin{abstract*}
+% % 論文の要約です。日本語で記述します。問題、方法、および結果について説明します。また、参考文献も含めます。
+% この論文の日本語での要約は以下のとおりです。問題、方法、および結果が説明されています。参考資料も添付してあります。
+% \end{abstract*}
+% \end{selectlanguage}% Edited by Keiji Yano and Yoshiki Okamoto
+% %
+% }{\ClassWarning{\ClassName}{I can't find NotoSerifCJKjp, which is needed for Japanese language text. Please install that font.}}
+% }{\ClassWarning{\ClassName}{I can't find NotoSansCJKjp, which is needed for Japanese language text. Please install that font.}}
%
- \begin{selectlanguage}{chinese-simplified}
- \begin{abstract*}
- 这是文章的摘要。我们用中文书写,描述了问题,方法和结果,还包括了参考文献。
- \end{abstract*}
- \end{selectlanguage}% edited by Zi Hao Foo
+ \IfFontExistsTF{NotoSansCJKkr}{%
+ \IfFontExistsTF{NotoSerifCJKkr}{%
+ %
+ \begin{selectlanguage}{korean}
+ \begin{abstract*}
+ 이것은 한국어로 쓰인 논문의 초록입니다. 문제, 방법 및 결과가 설명되어 있습니다. 참조도 포함됩니다.
+ \end{abstract*}
+ \end{selectlanguage}% Edited by Hyung Won Chung.
+ %
+ }{\ClassWarning{\ClassName}{I can't find NotoSerifCJKkr.otf, which is needed for Korean language text. Please install that font.}}
+ %
+ \IfFontExistsTF{NotoSerifCJKsc}{%
+ \begin{selectlanguage}{chinese-simplified}
+ \begin{abstract*}
+ 这是文章的摘要。我们用中文书写,描述了问题,方法和结果,还包括了参考文献。
+ \end{abstract*}
+ \end{selectlanguage}% edited by Zi Hao Foo
+ %
+ }{\ClassWarning{\ClassName}{I can't find NotoSerifCJKsc.otf, which is needed for Korean language text. Please install that font.}}
+ }{\ClassWarning{\ClassName}{I can't find NotoSansCJK.ttf, which is needed for Korean and simplified Chinese text. Please install that font.}}
%
\fi
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 d5ef0f0158e..f137ac197a0 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 406a4dd6604..876a79b29d3 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex
+++ b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex
@@ -52,7 +52,7 @@
% To avoid typing these over and over, define:
\newcommand*\FS{{\upshape\texttt{fontspec}}}
-\newcommand*\LLT{{\upshape\LuaLaTeX}}
+\newcommand*\LLT{{\upshape\hologo{LuaLaTeX}}}
\newcommand*\AC{{\upshape\texttt{asmeconf}}}
\newcommand*\PLT{{\upshape\texttt{\hologo{pdfLaTeX}}}}
@@ -115,7 +115,7 @@ luatexbase.add_to_callback("luaotfload.patch_font", embedfull, "embedfull")
urldate = {January 3, 2021},
}
@online{robertson2020,
- title = {The fontspec package: Font selection for {\LuaLaTeX} and {\XeLaTeX}},
+ title = {The fontspec package: Font selection for {\hologo{LuaLaTeX}} and {\hologo{XeLaTeX}}},
version = {2.7i},
organization = {Comprehensive \TeX\ Archive Network},
author = {Will Robertson},
@@ -124,8 +124,8 @@ luatexbase.add_to_callback("luaotfload.patch_font", embedfull, "embedfull")
urldate = {January 5, 2021},
}
@online{lua-jp,
- author = {{\LuaTeX-ja} project team},
- title = {The {\LuaLaTeX}-ja package},
+ author = {{\hologo{LuaTeX}-ja} project team},
+ title = {The {\hologo{LuaLaTeX}}-ja package},
version = {20210103.0},
organization = {Comprehensive \TeX\ Archive Network},
year = 2021,
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 08d31a1ec54..0c4c1c9a739 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 f3b2ec55a9a..fac195021d2 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
@@ -117,7 +117,7 @@ end
urldate = {October 2, 2019},
}
@article{montijano2014,
- title = {Numerical methods with {\LuaLaTeX}},
+ title = {Numerical methods with \hologo{LuaLaTeX}},
author = {Juan I. Montijano and Mario P{\'{e}}rez and Luis R{\'{a}}ndez and Juan Luis Varona},
year = 2014,
volume = 35,
diff --git a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-wide-equation-example/asmeconf-template-widetext.pdf b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-wide-equation-example/asmeconf-template-widetext.pdf
index cf119cdbdee..9697fdc13ea 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-wide-equation-example/asmeconf-template-widetext.pdf
+++ b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-wide-equation-example/asmeconf-template-widetext.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-wide-equation-example/asmeconf-template-widetext.tex b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-wide-equation-example/asmeconf-template-widetext.tex
index 2456b0266d6..cf380d2a696 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-wide-equation-example/asmeconf-template-widetext.tex
+++ b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-wide-equation-example/asmeconf-template-widetext.tex
@@ -1,20 +1,27 @@
%%
%% Examples of a widetext environment for setting wide equations in the asmeconf class.
-%% Copyright (c) 2021 John H. Lienhard. Use under the MIT license: https://ctan.org/license/mit
+%% Copyright (c) 2025 John H. Lienhard. Use under the MIT license: https://ctan.org/license/mit
%%
%% USAGE: * \begin{widetext} ...wide material here... \end{widetext}
%% OPTIONAL ARGUMENTS:
%% * \begin{widetext[N] .. changes upper/lower separation of wide material from default 5pt to Npt
%% * \begin{widetext}[][tbn]: t = top line only; b = bottom line only; n = no lines. BOTH arguments are REQUIRED, even if first is left empty.
%%
+%% asmewide,sty supports one option, [raggedend], which suppresses final page column balancing: \usepackage[raggedend]{asmewide}
+%%
%% The widetext environment can only appear once per page. It clashes with floats and footnotes, as discussed herein.
%%
%% NB: the strip environment from cuted is incompatible with the [lineno] option to asmeconf!
-\documentclass[nofoot,colorlinks,balance,pdf-acolorlinks,balance,pdf-a]{asmeconf}
+\DocumentMetadata{%
+ pdfstandard=A-3u,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
+ pdfversion=1.7,
+ lang=en-US,
+}
+\documentclass[nofoot,colorlinks,balance,colorlinks,balance]{asmeconf}
-\def\ACwidetextversion{1.1}
-\def\ACwidetextdate{February 15, 2022}
+\def\ACwidetextversion{1.11}
+\def\ACwidetextdate{January 22, 2025}
\usepackage{lipsum}% Latin filler text
\usepackage{asmewide}
@@ -107,14 +114,14 @@ to be read---the rest is simply filler to aid in layout.}
\begin{figure*}[t]
\begin{subfigure}[c]{0.495\textwidth}
\centering{\includegraphics{zonal-harmonic2.pdf}}%
-\subcaption{\label{fig:zonal}}
+\subcaption{}\label{fig:zonal}
\end{subfigure}
%%%%%%%% don't leave a break here
\begin{subfigure}[c]{0.495\textwidth}
\centering{\includegraphics{tesseral-harmonic.pdf}}%
-\subcaption{\label{fig:tesseral}}%
+\subcaption{}\label{fig:tesseral}%
\end{subfigure}%
-\caption{A figure with two subfigures: (a) Zonal harmonic $n=1, m=0$, (b) Tesseral harmonic $n=2, m=3$. See Appendix~\ref{sec:sph-har}.\label{fig:1}}
+\caption{A figure with two subfigures: (a) Zonal harmonic $n=1, m=0$, (b) Tesseral harmonic $n=2, m=3$. See Appendix~\ref{sec:sph-har}.}\label{fig:1}
\end{figure*}
%%%%%%%%%%%%%%%%%%% end two column figure %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -265,7 +272,7 @@ until both are done\footnotemark. The single column table, Table~\ref{tab:3}, is
%%%%%%%%%%%%%%%%%%% begin linewidth table %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{table}[b]
\newcolumntype{C}{>{$}c<{$}} % math-mode version of "c" column type, from array package
-\caption{\label{tab:3}Table at full column width with columns in math mode}
+\caption{Table at full column width with columns in math mode}\label{tab:3}
\centering{%
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}CCCC@{\extracolsep{\fill}}}
\hline\hline
@@ -320,7 +327,7 @@ q_\textrm{gray} & q_\textrm{int, $T_1$} & q_\textrm{int, $T_m$} & q_\textrm{exa
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\appendix
-\section{Spherical harmonics\label{sec:sph-har}}
+\section{Spherical harmonics}\label{sec:sph-har}
Without getting into the details, a regular function $f(\theta,\phi)$ on the surface of the unit sphere may be written
\begin{equation}
diff --git a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-wide-equation-example/asmewide.sty b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-wide-equation-example/asmewide.sty
index 3ebe9abe147..58872909090 100644
--- a/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-wide-equation-example/asmewide.sty
+++ b/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-wide-equation-example/asmewide.sty
@@ -1,7 +1,7 @@
%%
%% This file is `asmewide.sty'.
%%
-%% Copyright (c) 2022 John H. Lienhard. Use under the MIT license: https://ctan.org/license/mit
+%% Copyright (c) 2025 John H. Lienhard. Use under the MIT license: https://ctan.org/license/mit
%%
%% Defines a widetext environment within ASME dimensions
%% Use for material spanning both columns (i.e., for wide equations)
@@ -12,14 +12,16 @@
%% The modifications made were: follow ASME dimensions; remove revtex-specific macros; update/rework commands; adapt to most recent cuted.sty
%% (Leaders don't vanish at pagebreaks, as in revtex, evidently related to how cuted.sty handles strip construction. Have coded around this.)
%%
-%% Required packages: cuted.sty v2.0 and flushend.sty v4.0 [2021/10/04] or later; asmeconf.cls or asmejour.cls w/their required packages, esp. etoolbox, xparse
+%% Required packages: cuted.sty v2.0 and flushend.sty v4.0 [2021/10/04] or later;
+%% asmeconf.cls or asmejour.cls w/their required packages, esp. etoolbox, xparse
%%
-%% The widetext environment can only appear once per page. It clashes with floats and footnotes, and often requires some hand-fitting of page layouts.
+%% The widetext environment can only appear once per page. It clashes with floats and footnotes,
+%% and often requires some hand-fitting of page layouts.
%%
-%% USAGE: * \begin{widetext} ...wide material here... \end{widetext}
+%% USAGE: \begin{widetext} ...wide material here... \end{widetext}
%% OPTIONAL ARGUMENTS:
-%% * \begin{widetext[N] .. changes upper/lower separation of wide material from default Xpt to Npt (X = 5pt asmeconf.cls; X = 10pt asmejour.cls)
-%% * \begin{widetext}[][tbn]: t = top line only; b = bottom line only; n = no lines. BOTH arguments are REQUIRED, even if first is left empty.
+%% \begin{widetext[N] ...change upper/lower separation of wide material from default Xpt to Npt (X = 5pt asmeconf.cls; X = 10pt asmejour.cls)
+%% \begin{widetext}[][tbn]: t = top line only; b = bottom line only; n = no lines. BOTH arguments are REQUIRED, even if first is left empty.
%%
%% asmewide,sty supports one option, [raggedend], which suppresses final page column balancing: \usepackage[raggedend]{asmewide}
%%
@@ -27,8 +29,8 @@
%%
\NeedsTeXFormat{LaTeX2e}
-\def\AW@versionno{1.1}
-\def\AW@versiondate{2022/05/08\space}
+\def\AW@versionno{1.11}
+\def\AW@versiondate{2025/01/22\space}
\ProvidesPackage{asmewide}[\AW@versiondate\space v\AW@versionno\space ASME wide equation environment (JHL)]
\DeclareOption{raggedend}{% Added 2022/05/08, to suppressed flushend on last page, if desired
@@ -59,7 +61,8 @@
\newbox\@TopLeader
\newbox\@BottomLeader
\newlength\savparskip \setlength\savparskip{\parskip}
-\newlength\@RuleWidth \AtBeginDocument{\setlength\@RuleWidth{\dimexpr(\columnwidth+0.5\columnsep-1pt)}}
+\newlength\@RuleWidth
+\appto\maketitle{\setlength\@RuleWidth{\dimexpr(\columnwidth+0.5\columnsep-1pt)}}% do this after entering twocolumn, in \maketitle. 2025/01/22
\newlength\@TopSpace \setlength\@TopSpace{0ex}
\newlength\@TopCorr \setlength\@TopCorr{-5pt}
\def\@asmeindent{3.5mm}
@@ -128,7 +131,7 @@
\setlength\parindent{\@asmeindent}% strip makes parindent zero; enlarge for ASME
\setlength\parskip{\savparskip}% strip makes \parskip zero w/o glue; set to match main text
}{%
- \end{strip}\ignorespaces
+ \end{strip}\ignorespacesafterend
}
%%
\endinput
diff --git a/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls b/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls
index 82ccbc2614e..3f21d0867bd 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 2024.
+%% ASME conference requirements as represented on ASME's conference web pages in 2025.
%%
%% This file's version and date:
- \def\versionno{1.38}
- \def\versiondate{2024/08/01\space}
+ \def\versionno{1.39}
+ \def\versiondate{2025/01/26\space}
%%
%% Author: John H. Lienhard, V
%% Department of Mechanical Engineering
@@ -44,7 +44,7 @@
%%
%% LICENSE:
%%
-%% Copyright (c) 2024 John H. Lienhard
+%% Copyright (c) 2025 John H. Lienhard
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
%% associated documentation files (the "Software"), to deal in the Software without restriction,
@@ -69,7 +69,7 @@
\LoadClass[twoside,10pt]{article}% twocolumn is initiated in \MakeTitle
% Even/odd page layout is not used in ASME's specs, although the papers are printed in two-sided format.
-\RequirePackage{iftex}% provides \ifpdftex (many) & \ifluatex (once)
+\RequirePackage{iftex}[2019/11/07]% provides \ifpdftex (many) & \ifluatex (once)
\RequirePackage{ifthen}% ifthenelse (many) & \whiledo (once)
\RequirePackage{etoolbox}% using patchcmd in 4 or 5 places
@@ -79,6 +79,8 @@
%%%%%%%%%%%%% Compatibility codes for older distributions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% these will be dropped as time goes by ...
+
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}% compare version to date; \If... added to latex 2020/10/01
\providecommand\IfPackageAtLeastTF{\@ifpackagelater}% compare version to date; \If... added to latex 2020/10/01
\providecommand\IfPDFManagementActiveTF{\@secondoftwo}% \If... added to latex 2021/07/23
@@ -98,6 +100,14 @@
\ClassWarningNoLine{\ClassName}{pdfmanagement is not active. Will load hyperxmp and bookmark packages instead}
}
+% If latex release is pre 2022/06, need to load textcase package
+\ifx\AddToNoCaseChangeList\@undefined % updated 2022/07/03, see https://github.com/John02139/asmeconf/issues/5
+ \RequirePackage{textcase} %% Allows uppercase titles and captions without errors from math and citations
+ \typeout{Asmeconf is loading textcase package.}
+\else
+ \NewCommandCopy{\MakeTextUppercase}{\MakeUppercase}% keep using \MakeTextUppercase for backward compatibility
+\fi
+
% Allow pre 2021/11/15 formats to see the graphicx alt key without causing an error
\IfFormatAtLeastTF{2021/11/15}{
\relax
@@ -125,6 +135,10 @@
Your latex installation does not have an up-to-date version of the package iftex. You can get it at CTAN: \string https://ctan.org.}
}
+\IfFormatAtLeastTF{2018/04/01}{\relax}{\RequirePackage[utf8]{inputenc}}
+
+% another legacy package, fnpos, is loaded if footmisc package is older than 2022/02/05 (near line 1070)
+
%%%%%%%%%%%%%% Options for the class %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{kvoptions}
@@ -166,6 +180,9 @@
%% Option NOT to use fontspec package under luaLaTeX [nofontspec]
\DeclareBoolOption{nofontspec}
+%% Option to patch caption package for tagged pdf [captionpatch]. Experimental, 2025/01/26
+\DeclareBoolOption{captionpatch}
+
%%% Use these switches to load other alphabets for Cyrillic, Greek, Japanese, and Vietnamese text
\newif\ifac@cyrillic\ac@cyrillicfalse
\newif\ifac@greek\ac@greekfalse
@@ -228,7 +245,7 @@
}
\NewDocumentCommand\@DisableKeys{>{\SplitList{;}}m}{\ProcessList{#1}{\ac@DisableOption}}
-\@DisableKeys{colorlinks;unboldcaption;lineno;balance;grid;nofoot;govt;govtsome;contractor;nofontspec;main;vietnamese}
+\@DisableKeys{colorlinks;unboldcaption;lineno;balance;grid;nofoot;govt;govtsome;contractor;nofontspec;captionpatch;main;vietnamese}
%%%%%%%%% Various font-related options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -438,10 +455,10 @@
%
\DeclareOption{hindi}{\ClassError{\ClassName}{Do not specify "hindi" as a class option}{Babel does not have an ldf file for Hindi. Instead, specify "hindi" when you call the language within your document. No class option is needed.}}
%
-\DeclareOption{marathi}{\ClassError{\ClassName}{Do not specify "marathi" as a class option}{Babel does not have an ldf file for Marathi. Instead, specify "marathi" when you call the language within your document. No class option is needed.}}
-%
\DeclareOption{korean}{\ClassError{\ClassName}{Do not specify "korean" as class option}{Babel does not have an ldf file for Korean. Instead, specify "korean"when you call the language within your document. No class option is needed.}}
%
+\DeclareOption{marathi}{\ClassError{\ClassName}{Do not specify "marathi" as a class option}{Babel does not have an ldf file for Marathi. Instead, specify "marathi" when you call the language within your document. No class option is needed.}}
+%
\DeclareOption{tamil}{\ClassError{\ClassName}{Do not specify "tamil" as a class option}{Babel does not have an ldf file for Tamil. Instead, specify "tamil" when you call the language within your document. No class option is needed.}}
%% Suppress warnings about unused global options
@@ -480,15 +497,39 @@
%% Needs to come before babel messes with the captions, to keep uppercase text. 2021/12/25
-\ifx\AddToNoCaseChangeList\@undefined % updated 2022/07/03, see https://github.com/John02139/asmeconf/issues/5
- \RequirePackage{textcase} %% Allows uppercase titles and captions without errors from math and citations
- \typeout{Asmeconf is loading textcase package.}
-\else
- \NewCommandCopy{\MakeTextUppercase}{\MakeUppercase}
-\fi
-
\RequirePackage[labelfont={sf,bf},hypcap=false]{caption}
-\RequirePackage[hypcap=false,list=true]{subcaption}
+\RequirePackage[list=true,hypcap=false]{subcaption}
+
+%% This option is experimental and documented only here, 2025/01/26
+%% with this option asmeconf can validate as pdf 2.0/a-4f
+%% subfigures are not specifically addressed in this patch
+%% babel [spanish] option is NOT compatible with tagging !!
+\ifasmeconf@captionpatch
+%% set github discussion of this patch by Ulrike Fischer
+%% https://github.com/latex3/tagging-project/issues/720#issuecomment-2386568711
+ \RemoveFromHook{begindocument}[latex-lab-testphase-float]
+ \ExplSyntaxOn
+ \socket_new_plug:nnn{tagsupport/parbox/before}{caption}
+ {
+ \tagpdfparaOn %restart para tagging
+ \tl_if_empty:NTF\@current@float@struct
+ {
+ \tag_struct_begin:n{tag=Caption,firstkid}
+ }
+ {
+ \tag_struct_begin:n{tag=Caption,parent=\@current@float@struct,firstkid}
+ }
+ }
+ \socket_new_plug:nnn{tagsupport/parbox/after}{caption}
+ {
+ \tag_struct_end:
+ }
+ \l@addto@macro\caption@beginex@hook{%
+ \tagpdfparaOff %leavevmode in parbox should not start paragraph structure
+ \AssignSocketPlug{tagsupport/parbox/before}{caption}
+ \AssignSocketPlug{tagsupport/parbox/after}{caption}}
+ \ExplSyntaxOff
+\fi
\DeclareCaptionLabelFormat{uppercase}{\MakeTextUppercase{#1} #2}
\DeclareCaptionTextFormat{boldmath}{\mathversion{sansbold}#1}
@@ -517,7 +558,6 @@
% must load before babel
\RequirePackage[\ac@TtwoA,\ac@LGR,\ac@Tfive,T1]{fontenc}
% T2A - Cyrillic (w/o babel warning); LGR - Greek; T5 - Vietnamese; put T1 last 2022/03/10
- \IfFormatAtLeastTF{2018/04/01}{\relax}{\RequirePackage[utf8]{inputenc}}
\fi
\RequirePackage[]{babel}
@@ -971,7 +1011,7 @@
\tolerance 2500
\emergencystretch 3em
-\RequirePackage{metalogo,hologo}% Access various LaTeX logos if needed
+\RequirePackage{hologo}% Access various LaTeX logos if needed. Dropped metalogo, 2024/08/09.
%% font size selection
%% ASME's specs differ slightly from latex standard article-10 class
@@ -1062,7 +1102,7 @@
\RequirePackage{footmisc}%
\IfPackageAtLeastTF{footmisc}{2022/02/05}{
\PassOptionsToPackage{belowfloats}{footmisc}%
- }{ \RequirePackage{fnpos}
+ }{ \RequirePackage{fnpos}% this package is not loaded if footmisc is up to date.
\makeFNbottom
\makeFNbelow
}%
@@ -1078,8 +1118,8 @@
%% include a comma for sequential footnotes. 2024/01/18
\ExplSyntaxOn
\cs_new:Npn \__asmeconf_NoteComma:n { \peek_meaning:NT \footnote { \textsuperscript{\mdseries,} } }
- \cs_new_eq:NN \__savefootnote \footnote
- \cs_gset_protected:Npn \footnote #1 { \__savefootnote{#1} \__asmeconf_NoteComma:n }
+ \cs_new_eq:NN \__asmeconf_savefootnote \footnote
+ \cs_gset_protected:Npn \footnote #1 { \__asmeconf_savefootnote{#1} \__asmeconf_NoteComma:n }
\ExplSyntaxOff
@@ -1170,11 +1210,10 @@
\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
-
\ifasme@pdfmanagement
\ClassInfo{asmejour}{pdfmanagement is defined. Class file will not load hyperxmp and bookmark packages}
\else
+ \providecommand\hrefurl[2]{\href{#1}{#2}}% to address certain issues around URL recognition with new pdf management code, 2021/12/02
\RequirePackage{bookmark}% improves handling of pdf bookmarks
\RequirePackage{hyperxmp}% improve transfer of metadata to pdf
@@ -1350,7 +1389,6 @@
\setlength{\savitemsep}{\itemsep}%
}%
}{\end{list}\ignorespacesafterend}
-
%%%%%%%%%%%%%%%%% Headers and Title %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1375,7 +1413,17 @@
}
\providecommand\@PaperTitle{\hbox{ }}
+
+\ExplSyntaxOn
+%% In case tagging is not loaded, 2025/01/26
+\cs_if_exist:NF \tag_struct_begin:n
+ {
+ \cs_new:Npn \tag_struct_begin:n #1 { \scan_stop: }
+ \cs_new:Nn \tag_struct_end: { \scan_stop: }
+ }
+
\NewDocumentCommand\@HeaderTitle{}{%
+ \tag_struct_begin:n{tag=Div, title=Conference~information}
{\bfseries\sffamily
\parbox{\linewidth}{%
\raggedleft
@@ -1383,20 +1431,24 @@
\MakeTextUppercase{\@ConfAcronym}\par
\@ConfDate\@ConfCity
}%
+ \par\tag_struct_end:
\vspace*{2\baselineskip}
+ \tag_struct_begin:n{tag=Div, title=Paper~number}
\parbox{\linewidth}{\raggedleft\LARGE
\MakeTextUppercase{\@PaperNo}%
}%
+ \par\tag_struct_end:
\vspace*{3\baselineskip}
+ \tag_struct_begin:n{tag=Title}
\parbox{\linewidth}{\mathversion{sansbold}\centering{\large
\MakeTextUppercase{\@PaperTitle}\par}}%%% <=== extra \par to make font leading stick. See adjustment in \MakeTitle
+ \tag_struct_end:
}%
}
+\ExplSyntaxOff
%%%%%%%%%%% Author and affiliation block %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\RequirePackage{xcoffins}
-
%% Inline author style resets the footnote mark; save the definitions so we can restore them later
\let\savethefootnote\thefootnote
\let\savemakefnmark\@makefnmark
@@ -1428,275 +1480,321 @@
\ifasmeconf@grid
\ClassNoteNoLine{\ClassName}{Selected option for a grid of author blocks}%
+
+ %%%%%%%%%%%%%%%%%%%% Gridded author layout %%%%%%%%%%%%%%%%%%%%%%%%%
+ %%
+ %% converted to expl3 18 August 2024
- %%%%%%%%%%%%%%%%%%%% Gridded author layout %%%%%%%%%%%%%%%%%%%%%%%%%
+ \ExplSyntaxOn
- \NewCoffin{\authorblock}
-
- %% 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}
- \NewCoffin{\secondrowauthorblock}
- \NewCoffin{\thirdrowauthorblock}
- \NewCoffin{\fourthrowauthorblock}
- \NewCoffin{\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}
+ %% Allows for up to fifteen author blocks.
+ \coffin_new:N \g__asmeconf_authorblock_coffin
+ \coffin_new:N \g__asmeconf_firstrowauthorblock_coffin
+ \coffin_new:N \g__asmeconf_secondrowauthorblock_coffin
+ \coffin_new:N \g__asmeconf_thirdrowauthorblock_coffin
+ \coffin_new:N \g__asmeconf_fourthrowauthorblock_coffin
+ \coffin_new:N \g__asmeconf_fifthrowauthorblock_coffin
- \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{\ClassName}{Missing author name, check for extra comma}%
- }{\expandafter\xdef\csname aut@\theauthorcnt\endcsname{#1}%
- }%
- }% defines \aut@authorcnt as Name #1
+ \dim_new:N \g__asmeconf_coffinsep_dim
+ \dim_gset:Nn \g__asmeconf_coffinsep_dim { 0.03\textwidth }
+
+ \dim_new:N \g__asmeconf_authorblockwidth_dim
+ \dim_gset:Nn \g__asmeconf_authorblockwidth_dim { 0.3\textwidth }
+
+ \seq_new:N \g__asmeconf_author_seq
+ \seq_new:N \g__asmeconf_authoraffil_seq
+ \seq_new:N \g__asmeconf_affiliation_seq
+
+
+ \int_gzero_new:N \g__asmeconf_authorcnt_int
- \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\SetAuthors{>{\SplitList{,}}m}{
+ \ProcessList{#1}{ \__asmeconf_author:n }
+ }
+ \cs_new_protected:Nn \__asmeconf_author:n
+ {
+ \int_gincr:N \g__asmeconf_authorcnt_int
+ \tl_if_empty:nT {#1} {
+ \msg_warning:nn { \ClassName } { missingauthor }
+ }
+ \seq_gput_right:Nn \g__asmeconf_author_seq {#1}
+ \__asmeconf_stripaffilnumber:n { #1 }
+ \seq_gput_right:Nn \g__asmeconf_affiliation_seq { \c_empty_tl } % clear sequence for later use
+ \seq_gput_right:NV \g__asmeconf_authoraffil_seq { \int_use:N \g__affiltagno_int } % clear sequence for later use
+ }
+ \msg_new:nnn { \ClassName } { missingauthor } { Missing~author~name,~check~for~extra~comma~in~\SetAuthors! }
+
+ %% The following captures the affiliation tag number from the \SetAuthors command.
+ %% It would be simpler to replace \affil{#} by an additional _argument_ in \SetAuthors;
+ %% however, legacy syntax seem pretty locked in...
+ \int_gzero_new:N \g__affiltagno_int
+ \cs_new_protected:Nn \__asmeconf_stripaffilnumber:n
+ {
+ \int_zero_new:N \l__asmeconf_affil_flag_int
+ \tl_set:Nn \l_tmpa_tl { #1 }
+ \tl_map_inline:Nn \l_tmpa_tl
+ {
+ \int_if_zero:nTF { \l__asmeconf_affil_flag_int }
+ {
+ \tl_if_eq:nnT { ##1 } { \affil } { \int_incr:N \l__asmeconf_affil_flag_int }
+ }{
+ \tl_map_break:n {
+ \tl_if_empty:nTF { ##1 }
+ {
+ \msg_error:nn { \ClassName } { missingaffilno }
+ }{
+ \int_gset:Nn \g__affiltagno_int { ##1 } \int_set:Nn \l__asmeconf_affil_flag_int {0}
+ }
+ }
+ }
+ }
+ }
+ \NewDocumentCommand\affil{m}{}
+ \msg_new:nnn { \ClassName } { missingaffilno } { Missing~number~in~\affil~tag! }
+
+ \NewDocumentCommand\SetAffiliation{mm}{
+ \__asmeconf_affiliation:nn {#1}{#2}
+ }
+ \cs_new_protected:Nn \__asmeconf_affiliation:nn
+ {
+ \seq_gset_item:Nnn \g__asmeconf_affiliation_seq {#1} {#2}
+ }
- \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
- \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{\ClassName}{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
- }
- \ExplSyntaxOn
- % next three are for backward compatibility
- \cs_if_exist:NF \cs_gset:Npe { \cs_generate_variant:Nn \cs_gset:Npn {Npe} }
- \cs_if_exist:NF \tl_set:Ne { \cs_generate_variant:Nn \tl_set:Nn {Ne} }
- \cs_if_exist:NF \tl_put_right:Ne { \cs_generate_variant:Nn \tl_put_right:Nn {Ne} }
+ \int_zero_new:N \l__asmeconf_authorno_int
+ \int_zero_new:N \l__asmeconf_authoraffilno_int
+ \tl_clear:N \l_tmpa_tl
+ \int_while_do:nNnn { \l__asmeconf_authorno_int } < { \g__asmeconf_authorcnt_int } { % starting with authorno = 0 ensures we reach authorcnt with +1
+ \int_incr:N \l__asmeconf_authorno_int
+ \centering\vcoffin_gset:Nnn \g__asmeconf_authorblock_coffin { \dim_use:N \g__asmeconf_authorblockwidth_dim } {
+ \sffamily
+ \textbf{ \seq_item:Nn \g__asmeconf_author_seq { \l__asmeconf_authorno_int }} \\
+ \int_set:Nn \l__asmeconf_authoraffilno_int { \seq_item:Nn \g__asmeconf_authoraffil_seq { \l__asmeconf_authorno_int } }
+ \tl_set:Nn \l_tmpa_tl { \seq_item:Nn \g__asmeconf_affiliation_seq { \l__asmeconf_authoraffilno_int } }
+ \tl_if_empty:NTF \l_tmpa_tl
+ { \msg_warning:nnV { \ClassName } { missingaffiliation } { \l__asmeconf_authorno_int }
+ }{
+ \l_tmpa_tl
+ }
+ \par
+ }
+ \int_compare:nNnTF { \l__asmeconf_authorno_int } = { 1 } {
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_firstrowauthorblock_coffin { r } { t }
+ \g__asmeconf_authorblock_coffin { l } { t } { 0pt} { 0pt }
+ }
+ { \int_compare:nNnTF { \l__asmeconf_authorno_int } = { 2 } {
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_firstrowauthorblock_coffin { r } { t }
+ \g__asmeconf_authorblock_coffin { l } { t } { \dim_use:N \g__asmeconf_coffinsep_dim } { 0pt }
+ }
+ { \int_compare:nNnTF { \l__asmeconf_authorno_int } = { 3 } {
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_firstrowauthorblock_coffin { r } { t }
+ \g__asmeconf_authorblock_coffin { l } { t } { \dim_use:N \g__asmeconf_coffinsep_dim } { 0pt }
+ }
+ { \int_compare:nNnTF { \l__asmeconf_authorno_int } = { 4 } {
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_secondrowauthorblock_coffin { r } { t }
+ \g__asmeconf_authorblock_coffin { l } { t } { 0pt} { 0pt }
+ }
+ { \int_compare:nNnTF { \l__asmeconf_authorno_int } = { 5 } {
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_secondrowauthorblock_coffin { r } { t }
+ \g__asmeconf_authorblock_coffin { l } { t } { \dim_use:N \g__asmeconf_coffinsep_dim } { 0pt }
+ }
+ { \int_compare:nNnTF { \l__asmeconf_authorno_int } = { 6 } {
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_secondrowauthorblock_coffin { r } { t }
+ \g__asmeconf_authorblock_coffin { l } { t } { \dim_use:N \g__asmeconf_coffinsep_dim } { 0pt }
+ }
+ { \int_compare:nNnTF { \l__asmeconf_authorno_int } = { 7 } {
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_thirdrowauthorblock_coffin { r } { t }
+ \g__asmeconf_authorblock_coffin { l } { t } { 0pt} { 0pt }
+ }
+ { \int_compare:nNnTF { \l__asmeconf_authorno_int } = { 8 } {
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_thirdrowauthorblock_coffin { r } { t }
+ \g__asmeconf_authorblock_coffin { l } { t } { \dim_use:N \g__asmeconf_coffinsep_dim } { 0pt }
+ }
+ { \int_compare:nNnTF { \l__asmeconf_authorno_int } = { 9 } {
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_thirdrowauthorblock_coffin { r } { t }
+ \g__asmeconf_authorblock_coffin { l } { t } { \dim_use:N \g__asmeconf_coffinsep_dim } { 0pt }
+ }
+ { \int_compare:nNnTF { \l__asmeconf_authorno_int } = { 10 } {
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_fourthrowauthorblock_coffin { r } { t }
+ \g__asmeconf_authorblock_coffin { l } { t } { 0pt} { 0pt }
+ }
+ { \int_compare:nNnTF { \l__asmeconf_authorno_int } = { 11 } {
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_fourthrowauthorblock_coffin { r } { t }
+ \g__asmeconf_authorblock_coffin { l } { t } { \dim_use:N \g__asmeconf_coffinsep_dim } { 0pt }
+ }
+ { \int_compare:nNnTF { \l__asmeconf_authorno_int } = { 12 } {
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_fourthrowauthorblock_coffin { r } { t }
+ \g__asmeconf_authorblock_coffin { l } { t } { \dim_use:N \g__asmeconf_coffinsep_dim } { 0pt }
+ }
+ { \int_compare:nNnTF { \l__asmeconf_authorno_int } = { 13 } {
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_fifthrowauthorblock_coffin { r } { t }
+ \g__asmeconf_authorblock_coffin { l } { t } { 0pt} { 0pt }
+ }
+ { \int_compare:nNnTF { \l__asmeconf_authorno_int } = { 14 } {
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_fifthrowauthorblock_coffin { r } { t }
+ \g__asmeconf_authorblock_coffin { l } { t } { \dim_use:N \g__asmeconf_coffinsep_dim } { 0pt }
+ }
+ { \int_compare:nNnT { \l__asmeconf_authorno_int } = { 15 } {
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_fifthrowauthorblock_coffin { r } { t }
+ \g__asmeconf_authorblock_coffin { l } { t } { \dim_use:N \g__asmeconf_coffinsep_dim } { 0pt }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ \int_compare:nNnT { \l__asmeconf_authorno_int } > { 15 } {
+ \msg_error:nn { \ClassName } { toomanyforgrid }
+ }
+ }% end loop
+ }
+ \msg_new:nnnn { \ClassName } { missingaffiliation } { Missing~affiliation~for~author~no.~#1! } {#1}
+ \msg_new:nnnn { \ClassName } { toomanyforgrid } { The~class~is~programmed~for~a~maximum~of~15~author~blocks.}
+ { For~authors~at~the~same~institution,\ you~may~put~more~than~one~name~above~a~single~address.\
+ Else~use~the~in-line~author~style,\ not~the~[grid]~option.}
+
+ % backward compatibility
+ \cs_if_exist:NF \tl_set:Ne { \cs_generate_variant:Nn \tl_set:Nn {Ne} }
+ % \cs_if_exist:NF \iow_term:e { \cs_generate_variant:Nn \iow_term:n {e} }
\NewDocumentCommand\@ConstructAuthorBlock{}{%
- \ifnum\value{authorno}>3
- \JoinCoffins\firstrowauthorblock[hc,b]\secondrowauthorblock[hc,t](0pt, -1.5\baselineskip)
- \fi
- \ifnum\value{authorno}>6
- \JoinCoffins\firstrowauthorblock[hc,b]\thirdrowauthorblock[hc,t](0pt, -1.5\baselineskip)
- \fi
- \ifnum\value{authorno}>9
- \JoinCoffins\firstrowauthorblock[hc,b]\fourthrowauthorblock[hc,t](0pt, -1.5\baselineskip)
- \fi
- \ifnum\value{authorno}>12
- \JoinCoffins\firstrowauthorblock[hc,b]\fifthrowauthorblock[hc,t](0pt, -1.5\baselineskip)
- \fi
- \centerline{\TypesetCoffin\firstrowauthorblock}% in this instance, \centerline is better than \centering
+ \int_compare:nNnT { \g__asmeconf_authorcnt_int } > { 3 } {
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_firstrowauthorblock_coffin { hc } { b } \g__asmeconf_secondrowauthorblock_coffin { hc } { t } { 0pt } { -1.5\baselineskip }
+ }
+ \int_compare:nNnT { \g__asmeconf_authorcnt_int } > { 6 } {
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_firstrowauthorblock_coffin { hc } { b } \g__asmeconf_thirdrowauthorblock_coffin { hc } { t } { 0pt } { -1.5\baselineskip }
+ }
+ \int_compare:nNnT { \g__asmeconf_authorcnt_int } > { 9 } {
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_firstrowauthorblock_coffin { hc } { b } \g__asmeconf_fourthrowauthorblock_coffin { hc } { t } { 0pt } { -1.5\baselineskip }
+ }
+ \int_compare:nNnT { \g__asmeconf_authorcnt_int } > { 12 } {
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_firstrowauthorblock_coffin { hc } { b } \g__asmeconf_fifthrowauthorblock_coffin { hc } { t } { 0pt } { -1.5\baselineskip }
+ }
+ \coffin_typeset:Nnnnn \g__asmeconf_firstrowauthorblock_coffin { l }{ t }{ 0pt }{ 0pt }
\__asmeconf_concataut:
- \cs_gset:Npe \@author { \tl_use:N \g_asmeconf_authors_tl }
- %\iow_term:e { \tl_use:N \g_asmeconf_authors_tl }% diagnostic only
+ \cs_gset:Npn \@author { \tl_use:N \g_asmeconf_authors_tl }
}
+
% build comma-separated list of author names
+ \tl_new:N \g_asmeconf_authors_tl
+ \tl_gset:Nn \g_asmeconf_authors_tl \c_empty_tl
\cs_new_protected:Nn \__asmeconf_concataut: {
- \tl_new:N \g_asmeconf_authors_tl
\int_set:Nn \l_tmpa_int {1}
- \int_new:N \l__asmeconf_noauts
- \int_set:Nn \l__asmeconf_noauts { \value{authorcnt} }
- \int_do_until:nNnn { \l_tmpa_int } > { \l__asmeconf_noauts }
+ \tl_clear:N \l_tmpb_tl
+ \int_do_until:nNnn { \l_tmpa_int } > { \g__asmeconf_authorcnt_int }
{
- \tl_set:Ne \l_tmpa_tl {\use:c { aut@ \int_use:N \l_tmpa_int } }
- \tl_replace_all:Nnn \l_tmpa_tl {\unhbox \voidb@x \protect \penalty \@M \ } {~}
- % If tex unbreakable space character "~" has expanded, replace by a simple space, which is "~" in Expl3 syntax
- \tl_remove_all:Nn \l_tmpa_tl { \JointFirstAuthor }
- \tl_replace_all:Nnn \l_tmpa_tl { \CorrespondingAuthor } { \use_none:n }
- \tl_replace_all:Nnn \l_tmpa_tl { \affil } { \use_none:n }
- \tl_replace_all:Nnn \l_tmpa_tl { \xdef } { \use_none:nn }
- \tl_put_right:Ne \g_asmeconf_authors_tl \l_tmpa_tl
- \int_compare:nNnT { \l_tmpa_int } < { \l__asmeconf_noauts} {
- \tl_put_right:Ne \g_asmeconf_authors_tl { ,~ }
- }
- \int_incr:N \l_tmpa_int
- }
+ \tl_set:Ne \l_tmpb_tl { \seq_item:NV \g__asmeconf_author_seq \l_tmpa_int }
+ \regex_replace_all:nnN { \cA\~ } {\ } \l_tmpb_tl % replace ~ by space in author list
+ \tl_replace_all:Nnn \l_tmpb_tl { \affil } { \use_none:n }
+ \tl_remove_all:Nn \l_tmpb_tl { \JointFirstAuthor }
+ \tl_replace_all:Nnn \l_tmpb_tl { \CorrespondingAuthor } { \use_none:n }
+ \int_compare:nNnT { \l_tmpa_int } < { \g__asmeconf_authorcnt_int } {
+ \tl_put_right:Nn \l_tmpb_tl { ,~ }
+ }
+ \tl_gput_right:NV \g_asmeconf_authors_tl \l_tmpb_tl
+ \int_incr:N \l_tmpa_int
+ }
+ %\iow_term:e { Authors:~ \tl_use:N \g_asmeconf_authors_tl } % diagnostic only
}
- \ExplSyntaxOff
+
+ \ExplSyntaxOff
+
%%% otherwise use the new compact layout of authors
\else
-
%%%%%%%%%%%%%%%%%%%%%% New author layout (inline) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- \NewCoffin{\AuthorBlock}
- \NewCoffin{\AffiliationBlock}
- \NewCoffin{\AffiliationsBlock}
- \AtBeginDocument{\SetHorizontalCoffin\AffiliationsBlock{}}% corrected 2021/12/01
-
- \ExplSyntaxOn
- \cs_if_exist:NF \cs_gset:Npe { \cs_generate_variant:Nn \cs_gset:Npn {Npe} }
- \cs_if_exist:NF \tl_gset:Ne { \cs_generate_variant:Nn \tl_gset:Nn {Ne} }
-
- %% NB: \parbox width to \textwidth (full page) not \linewidth (single column)
- \NewDocumentCommand\SetAuthors{m}{%
- \SetHorizontalCoffin\AuthorBlock{% ignoring the bug in testphase tagging
- \parbox{\textwidth}{\centering\sffamily\bfseries\ignorespaces#1\ignorespaces}%
- % NB: in vertical mode \parbox needs \noindent ahead of it, _inside_ vertical coffin
- % \SetVerticalCoffin\AuthorBlock{\textwidth}{% 2024/07/30, test a vertical coffin alternative
- % \centering\sffamily\bfseries\ignorespaces#1\ignorespaces%
- \__asmeconf_striptokens:n {#1}
- \cs_gset:Npe \@author { \tl_use:N \g_asmeconf_authors_tl }% set \@author = list of authors, 2024/07/31
+ %%
+ %% converted to expl3, 17 August 2024
+
+ \ExplSyntaxOn
+
+ \coffin_new:N \g__asmeconf_authorblock_coffin
+ \coffin_new:N \g__asmeconf_affiliationblock_coffin
+ \coffin_new:N \g__asmeconf_affiliationsblock_coffin
+
+ \cs_if_exist:NF \cs_gset:Npe { \cs_generate_variant:Nn \cs_gset:Npn {Npe} }
+ \NewDocumentCommand\SetAuthors{m}{
+ \vcoffin_gset:Nnn \g__asmeconf_authorblock_coffin {\textwidth} % switched to vcoffin 2024/10/16 to accommodate tagging
+ {
+ \centering\sffamily\bfseries\ignorespaces#1\ignorespaces
+ \__asmeconf_striptokens:n {#1}
+ \cs_gset:Npe \@author { \tl_use:N \g_asmeconf_authors_tl }% set \@author = list of authors, 2024/07/31
}
}
- % strip \affil{..}, \JointFirstAuthor, \CorrespondingAuthor{...} from argument
+ %% strip \affil{..}, \JointFirstAuthor, \CorrespondingAuthor{...} from argument
\cs_new_protected:Nn \__asmeconf_striptokens:n {
\tl_set:Nn \l_tmpa_tl {#1}
\regex_replace_all:nnN { \cA\~ } {\ } \l_tmpa_tl % replace ~ by space in author list
- %\tl_replace_all:Nnn \l__asmeconf_authors_tl {\ } {~}% change "\ " to space (but why? for text we would want this)
\tl_remove_all:Nn \l_tmpa_tl { \JointFirstAuthor }
\tl_replace_all:Nnn \l_tmpa_tl { \affil } { \use_none:n }
\tl_replace_all:Nnn \l_tmpa_tl { \CorrespondingAuthor } { \use_none:n }
- \tl_new:N \g_asmeconf_authors_tl
- \tl_gset:Ne \g_asmeconf_authors_tl \l_tmpa_tl
- \iow_term:e { \tl_use:N \g_asmeconf_authors_tl }% diagnostic only
+ \tl_new:N \g_asmeconf_authors_tl
+ \tl_gset:NV \g_asmeconf_authors_tl \l_tmpa_tl % 2024/08/18 e -> V
+ % \iow_term:e { \tl_use:N \g_asmeconf_authors_tl }% diagnostic only
}
- \ExplSyntaxOff
\def\@makefnmark{\hbox{\@textsuperscript{\sffamily\@thefnmark}}}%
\NewDocumentCommand\SetAffiliation{mm}{%
- \SetVerticalCoffin\AffiliationBlock{\textwidth}{%
+ \vcoffin_set:Nnn \g__asmeconf_affiliationblock_coffin { \textwidth } {
\ifblank{#1}{%
- \centering\sffamily#2\ignorespaces}{% empty argument for one author or one affiliation, where affiliation need not be tagged
+ \centering\sffamily#2\ignorespaces}{% empty argument for 1 author or 1 affiliation, where affiliation need not be tagged
\centering\sffamily\footnotemark[#1]#2\ignorespaces}%
- }
- \JoinCoffins\AffiliationsBlock[hc,b]\AffiliationBlock[hc,t](0pt,-1pt)
+ }
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_affiliationsblock_coffin { hc } { b } \g__asmeconf_affiliationblock_coffin {hc } { t } { 0pt} { -1pt }
}
%%% Affiliation mark
\NewDocumentCommand{\affil}{m}{%
\ifblank{#1}{%
\ClassWarning{\ClassName}{Empty affiliation tag}%
- \@gobble% 9 Dec 2021, addresses modification for commas
+ \@gobble% addresses modification for commas
}{\bfseries\footnotemark[#1]}%
}
- %%% to deal with sequential notes as, e.g., "1,*", or "1,2,*" %%%%%%%%%%
- \ExplSyntaxOn
- \cs_new:Npn \__asmeconf_OtherNoteComma:n {
- \peek_meaning:NTF \affil
- { \textsuperscript{\mdseries,} }
- { \peek_meaning:NTF \CorrespondingAuthor
- { \textsuperscript{\mdseries,} }
- { \peek_meaning:NT \JointFirstAuthor { \textsuperscript{\mdseries,} } }
- }
- }
- \cs_new_eq:NN \__saveAF \affil
- \cs_gset_protected:Npn \affil #1 { \__saveAF{#1} \__asmeconf_OtherNoteComma:n }
- \cs_new_eq:NN \__saveCA \CorrespondingAuthor
- \cs_gset_protected:Npn \CorrespondingAuthor #1 { \__saveCA{#1} \__asmeconf_OtherNoteComma:n }
- \cs_new_eq:NN \__saveJA \JointFirstAuthor
- \cs_gset_protected:Npn \JointFirstAuthor { \__saveJA \__asmeconf_OtherNoteComma:n }
- \ExplSyntaxOff
-
-%%%
+ %%% to deal with sequential notes as, e.g., "1,*", or "1,2,*" %%%%%%%%%%
+ \cs_new:Npn \__asmeconf_OtherNoteComma:n {
+ \peek_meaning:NTF \affil
+ { \textsuperscript{\mdseries,} }
+ { \peek_meaning:NTF \CorrespondingAuthor
+ { \textsuperscript{\mdseries,} }
+ { \peek_meaning:NT \JointFirstAuthor { \textsuperscript{\mdseries,} } }
+ }
+ }
+ \cs_new_eq:NN \__asmeconf_saveAF \affil
+ \cs_gset_protected:Npn \affil #1 { \__asmeconf_saveAF{#1} \__asmeconf_OtherNoteComma:n }
+ \cs_new_eq:NN \__asmeconf_saveCA \CorrespondingAuthor
+ \cs_gset_protected:Npn \CorrespondingAuthor #1 { \__asmeconf_saveCA{#1} \__asmeconf_OtherNoteComma:n }
+ \cs_new_eq:NN \__asmeconf_saveJA \JointFirstAuthor
+ \cs_gset_protected:Npn \JointFirstAuthor { \__asmeconf_saveJA \__asmeconf_OtherNoteComma:n }
+
+ %%%
\NewDocumentCommand\@SetAuthorBlock{}{%
- \JoinCoffins\AuthorBlock[hc,b]\AffiliationsBlock[hc,t](0pt,-\baselineskip)
- \centerline{\TypesetCoffin\AuthorBlock}
+ \coffin_gjoin:NnnNnnnn \g__asmeconf_authorblock_coffin { hc } { b } \g__asmeconf_affiliationsblock_coffin {hc } { t } { 0pt} { -\baselineskip }
+ \coffin_typeset:Nnnnn \g__asmeconf_authorblock_coffin { l }{ T }{ 0pt }{ 0pt }
}
+
+ \ExplSyntaxOff
\fi % end if...else for grid
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% Make the title and author section
+\ExplSyntaxOn
\NewDocumentCommand\MakeTitlePage{}{%
\twocolumn[
\@HeaderTitle
\vspace*{2\baselineskip}
+ \par\tag_struct_begin:n{tag=Div, title=Author~and~affilation}
+ %% tag structure for inline style still needs work, 2025/01/26
\ifasmeconf@grid
\@SetAuthorBlock\@ConstructAuthorBlock
\else
@@ -1712,8 +1810,10 @@
\ifac@CA
\footnotetext[1]{\CAwords\@CAsep\@CAemail}
\fi
+ \par\tag_struct_end:
\let\thefootnote\savethefootnote% restore footnote symbol
}
+\ExplSyntaxOff
%%%%%%%%%%