summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-10-24 17:50:10 +0000
committerKarl Berry <karl@freefriends.org>2023-10-24 17:50:10 +0000
commit532215f5e62a867bb0f8b5d57e562330a1f5e24a (patch)
tree454cad1472deb5a886f92c3f43ee32a1214852e2 /Master/texmf-dist
parentdb3eb97f8e89fa07e2dd413a5105c32c41685e06 (diff)
asmejour (23oct23)
git-svn-id: svn://tug.org/texlive/trunk@68629 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/bibtex/bst/asmejour/asmejour.bst7
-rw-r--r--Master/texmf-dist/doc/latex/asmejour/README.md12
-rw-r--r--Master/texmf-dist/doc/latex/asmejour/asmejour-template.pdfbin500788 -> 510483 bytes
-rw-r--r--Master/texmf-dist/doc/latex/asmejour/asmejour-template.tex69
-rw-r--r--Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.pdfbin2978660 -> 2983939 bytes
-rw-r--r--Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.tex6
-rw-r--r--Master/texmf-dist/tex/latex/asmejour/asmejour.cls654
7 files changed, 411 insertions, 337 deletions
diff --git a/Master/texmf-dist/bibtex/bst/asmejour/asmejour.bst b/Master/texmf-dist/bibtex/bst/asmejour/asmejour.bst
index b92c89979b6..fbd4985d984 100644
--- a/Master/texmf-dist/bibtex/bst/asmejour/asmejour.bst
+++ b/Master/texmf-dist/bibtex/bst/asmejour/asmejour.bst
@@ -4,7 +4,7 @@
%% *** This bibtex style follows ASME journals ***
%%
%%
- %% This file is asmejour.bst, version 1.06 dated 2022/12/30.
+ %% This file is asmejour.bst, version 1.07 dated 2023/05/06.
%%
%% This file was generated and edited by John Lienhard.
%% This file is a derivative work under Clause 6 of the LPPL license.
@@ -80,6 +80,9 @@
%% Modifications in v1.06 (2022/12/30)
%% add macro text "jhmt" for "ASME J. Heat Mass Transfer"
%%
+ %% Modifications in v1.07 (2023/05/06)
+ %% correct code that provides \hrefurl
+ %%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
%% Massachusetts Institute of Technology
@@ -1925,7 +1928,7 @@ FUNCTION {begin.bib}
write$ newline$
"\providecommand{\eprint}[2][]{\urlprefix\url{#1#2}}"
write$ newline$
- "\providecommand{\hrefurl}[2][]{\href{#1}{#2}}"
+ "\providecommand{\hrefurl}[2]{\href{#1}{#2}}"
write$ newline$
}
EXECUTE {begin.bib}
diff --git a/Master/texmf-dist/doc/latex/asmejour/README.md b/Master/texmf-dist/doc/latex/asmejour/README.md
index 5476a9fe269..0eaee7aa06a 100644
--- a/Master/texmf-dist/doc/latex/asmejour/README.md
+++ b/Master/texmf-dist/doc/latex/asmejour/README.md
@@ -1,7 +1,7 @@
#asmejour: A template for ASME journal papers#
- Version 1.20 dated 2022/12/30.
+ Version 1.21 dated 2023/10/22.
####Overview####
This class provides a template to format preprints in the style of journal papers published by the American Society of Mechanical Engineers.
@@ -66,6 +66,16 @@
---
####Change log####
+
+v1.21 (2023/10/22)
+ - Adjust loading order of hyperxmp and hyperref to accommodate v5.12 of hyperxmp package
+ - Change code that italicizes letters in subequation numbers to avoid conflict with hyperref
+ - Adjust font loading under luaLaTeX, now requiring that TeX Gyre Termes, TeX Gyre Heros, and Inconsolatazi4 are installed as system fonts
+ - Enable line numbers in abstract
+ - Revise code handling footnotes (now protected); revise code handling most package options; remove some legacy code.
+ - Minor correction to asmejour.bst for \\hrefurl when used separately from asmejour.cls
+ - Edit documentation
+
v1.20 (2022/12/30)
- Include patch for bug in hyperxmp.
- Italicize letters in subequation numbers, to match ASME style.
diff --git a/Master/texmf-dist/doc/latex/asmejour/asmejour-template.pdf b/Master/texmf-dist/doc/latex/asmejour/asmejour-template.pdf
index 5680009f79a..fa9503813a0 100644
--- a/Master/texmf-dist/doc/latex/asmejour/asmejour-template.pdf
+++ b/Master/texmf-dist/doc/latex/asmejour/asmejour-template.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/asmejour/asmejour-template.tex b/Master/texmf-dist/doc/latex/asmejour/asmejour-template.tex
index b30dc023b29..9eb8b6aa759 100644
--- a/Master/texmf-dist/doc/latex/asmejour/asmejour-template.tex
+++ b/Master/texmf-dist/doc/latex/asmejour/asmejour-template.tex
@@ -3,7 +3,7 @@
%%
%% This file is asmejour-template.tex, a template to format papers in the style of ASME journal papers.
%%
-%% This file is version 1.20 dated 2022/12/30
+%% This file is version 1.21 dated 2023/10/22
%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
@@ -23,8 +23,8 @@
%% * [smallerops, varg, slantedGreek, frenchmath, varbb, cmbraces]. Version 1.6 or higher
%% * is recommended.
%%
-%% * Option to include line numbers [lineno]. The lineno package does not number tables,
-%% * footnotes, captions, etc. You must run *twice* for proper placement of the numbers.
+%% * Option to include line numbers [lineno]. You must run *twice* for proper placement of the
+%% * line numbers. The lineno package does not number tables, footnotes, or captions.
%% * This option will disable balancing of the column heights on final page.
%%
%% * Option to balance column heights on final page [balance]. This option sometimes
@@ -39,25 +39,25 @@
%%
%% * Option to omit all ASME text fields from the footer [nofoot].
%%
-%% * Options for PDF/A compliance. [pdf-a] will produce PDF/A-3u compliance with sRGB OutputIntent.
+%% * Options for PDF/A compliance. With 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.
%% *
-%% * 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.)
+%% * Recently, LaTeX (2021 and later) has integrated support for pdf-a, through the \DocumentMetadata{..}
+%% * command. This approach works with both pdfTeX and luaLaTeX. The asmeconf class supports this new feature,
+%% * which can replace the aforementioned class options. (An up-to-date LaTeX installation is required.)
%%
%% * Many options for calligraphic, script, and fraktur fonts from the mathalfa package; the
%% * example value used is: mathalfa=cal=euler (use Euler font for \mathcal)
%% * some other options for cal are: dutchcal, zapfc, cm (default), boondox,...
%% * frak (fraktur), bb (blackboard bold), scr (script) may also be controlled.
%%
-%% * An option to use newtxtext's superiors font for footnotes [nodefaultsups] and an option
-%% * for slightly larger small capitals [largesc]
+%% * With pdfTeX, an option to use newtxtext's superiors font for footnotes [nodefaultsups] and an option
+%% * for slightly larger small capitals [largesc].
%%
%% * Options for typewriter font
-%% * [hyphenate] allow hyphenation (normally suppressed because for typewriter font is often used for code)
%% * [var0] replace default slashed zero by unslashed zero
%% * [mono] force interword separation to monospacing
+%% * [hyphenate] allow hyphenation, with pdfTeX only (normally, the typewriter font is not hyphenated)
%%
%% * Options for the babel package to support passages in other languages (such as a translated
%% * abstract in an appendix), e.g. [french]. The main language will default to English
@@ -73,25 +73,27 @@
%%
%% LICENSE:
%%
-%% Copyright (c) 2022 John H. Lienhard
+%% Copyright (c) 2023 John H. Lienhard
%%
%% Offered under the MIT license: https://ctan.org/license/mit
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% New pdf management code (June 2021); with this, the \docuemntclass options for [pdf-a] can be omitted.
-%% This change to the LaTeX kernel is being phased-in by the LaTeX3 team. Can delete if it gives you trouble.
-%% Under LuaLaTeX, choose pdfstandard=A-3b.
+%% 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
+%% Uncomment the next lines and omit the option [pdf-a], if you are using an up-to-date LaTeX platform
%\DocumentMetadata{%
-% pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u
-%}%
+% pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
+% pdfversion=1.7,
+% lang=en-US,
+%}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Class options are described above.
-\documentclass[subscriptcorrection,upint,varvw,barcolor=Goldenrod3,mathalfa=cal=euler,balance,hyphenate,french,pdf-a]{asmejour} %
-
+\documentclass[upint,varvw,barcolor=Goldenrod3,mathalfa=cal=euler,balance,hyphenate,french,pdf-a]{asmejour}% subscriptcorrection,
%%%% pdf metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -107,10 +109,10 @@
%%%% Journal name and optional copyright year %%%%%%%%%%%%%%
%% Omit "Journal of". If Journal Name is quite long, use \\ to insert a line break
-\JourName{Heat Transfer}%<=== change to the name of your journal
+\JourName{Heat and Mass Transfer}%<=== change to the name of your journal
%% The default copyright year is the current year
-%% \PaperYear{2022} sets 2022; and \PaperYear{} omits the year entirely.
+%% \PaperYear{2023} sets 2023; and \PaperYear{} omits the year entirely.
%%%% end of preamble %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -124,7 +126,7 @@
\SetAuthorBlock{Author Name[s]}{Department of Mechanical Engineering,\\
Institution or Company Name,\\
Street address,\\
- City, State, Country \\
+ City, State, Country\\
email: xxx@yyy.zzz}
% To label one or more corresponding authors put "Name\CorrespondingAuthor". No space after "Name".
@@ -135,10 +137,10 @@
\SetAuthorBlock{John H.\ Lienhard V\CorrespondingAuthor}{%
Fellow ASME\\
-Rohsenow Kendall Heat Transfer Laboratory, \\
+Rohsenow Kendall Heat Transfer Laboratory,\\
Department of Mechanical Engineering,\\
-Massachusetts Institute of Technology, \\
-Cambridge, MA 02139 USA \\
+Massachusetts Institute of Technology,\\
+Cambridge, MA 02139 USA\\
email: lienhard@mit.edu
}
@@ -151,7 +153,7 @@ email: lienhard@mit.edu
%%% If you don't want keywords, omit the \keyword{..} command.
\keywords{ASME, Paper, Template, {\upshape\LaTeX}, {\upshape\hologo{BibTeX}}}
-
+
%% Abstract should be no more than 250 words
\begin{abstract}
This paper is an example and {\upshape\LaTeX} template for the {\upshape\texttt{asmejour}} class. Papers typeset in this class will follow ASME journal style for margins, fonts, headings, captions, and reference formats. The class will also lay out the author, title, and abstract in ASME style. The pdf file produced will include internal and external hyperlinks, bookmarks, and pdf metadata. The class is intended to be used with the {\upshape\texttt{asmejour.bst} \hologo{BibTeX}}, which is part of this distribution. This style produces modern reference formats, following current ASME styles and including hyperlinked DOI and URL fields. Options to the class include line numbering, final column balancing, various math options, government copyright notices, 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}}.
@@ -176,6 +178,8 @@ This class is not a publication of ASME, although the author has published in AS
The \texttt{.tex} file may be written using standard \LaTeX\ commands, although some specific initial commands are needed to format the block containing the author[s], title, and abstract. The class calls a number of packages, all of which are contained in up-to-date versions of \TeX~Live, Mac\TeX, and similar platforms. If you find that you are missing a package, you may obtain it at no cost from CTAN (\href{http://ctan.org}{ctan.org}).
+For \hologo{LuaLaTeX}, you must have the following fonts installed as system fonts on your computer: TeX Gyre Termes, TeX Gyre Heros, and Insolatazi4. These fonts can be downloaded at no charge here: \url{http://www.gust.org.pl/projects/e-foundry/tex-gyre} and \url{https://ctan.org/tex-archive/fonts/inconsolata/opentype}. No additional fonts should need to be loaded with \hologo{pdfLaTeX}.
+
\subsection{Essential Initial Commands}
To begin, fill in the fields to be completed at top of the \texttt{asmejour-template.tex} file. The first are pdf metadata in the preamble that will tag the pdf file itself. Next is the \verb|\JourName{..}| command, which should be changed as appropriate (omit ``Journal of'').
@@ -219,7 +223,7 @@ If you wish to override the default math format in a heading or caption, put \ve
Single-sentence captions should not end with a period. Multi-sentence captions do include periods.
\subsection{Subsection Headings}
-Section, subsection, and subsubsection headings should be in title case (first letter of primary words capitalized). ASME does not use \verb|\paragraph|, so the class file equates this command to \verb|\subsubsection|. \textsf{Try some text for size scaling.} Try some text for size scaling.
+Section, subsection, and subsubsection headings should be in title case (first letter of primary words capitalized). ASME does not use \verb|\paragraph|, so the class file equates this command to \verb|\subsubsection|.
%%%%%%%%%%%%% begin figure %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -332,13 +336,13 @@ Our competitor's data & 72.321 & 141.384\\
\subsection{eprint Support} Elementary support for \texttt{eprint} numbers is included, either hyperlinking or generating a url at the end of the citation. The \texttt{archive} type may be specified using the macros \texttt{arxiv, googlebooks, hndl, jstore, oclc}, or \texttt{pubmed} (e.g., \texttt{archive=hndl}, \textit{without} braces). Both \texttt{eprint} and \texttt{archive} fields \textit{must} be given. Other root urls may be invoked using \verb|archive = {http://another.url.org/}|.
-\subsection{Online Sources} A bibliography field \verb|@online{..| is included for citation of online sources, such as web pages. A \texttt{url}, \texttt{doi}, or \texttt{eprint} with \texttt{archive} should be included. See the examples of use in the \texttt{asmejour-sample.bib} file.
+\subsection{Online Sources} A bibliography field \verb|@online{..| is included for citation of online sources, such as web pages. A \texttt{url}, \texttt{doi}, or \texttt{eprint} with \texttt{archive} should be included. See the examples of use in the \texttt{asmejour-sample.bib} file.
\subsection{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.
\subsection{Conference Location and Date} For the entry types \verb|@inproceeedings{..| and \verb|@proceeedings{..|, you may include \verb|venue={..}| and \verb|eventdate={..}| to specify the city and the date of a conference. Omit \verb|address={..}| if \verb|venue={..}| is used.
-\subsection{Version Number\protect\footnote{Footnotes can appear in \texttt{\string\section} commands. However, when the \texttt{[lineno]} option is used either: i) write \texttt{\string\protect\string\footnote\{..\}}; or ii) include the optional argument, as in \texttt{\string\section[Foo]\{Foo\string\footnote\{..\}\}}.\label{ftnt:3}}}
+\subsection{Version Number\footnote{Footnotes can appear in \texttt{\string\section} commands.\label{ftnt:3}}}
The \verb|version={..}| field may be used with \verb|@book|, \verb|@online|, and \verb|@manual|. By default, the text will read \texttt{Version `number'} as in Refs.~\cite{sharpe1,sharpe2}, but different wording may be selected using the \verb|versiontype={..}| field, to have ``Revision'' or something similar, as in Ref.~\cite{GSL}. ASME often puts the version in the title, as in Refs.~\cite{dlmf, texshop}, so I've left the final decision for discussion between the authors and the copy editor.
\subsection{Articles in Collections} In addition to the standard entry, \verb|@incollection{..|, an entry \verb|@inserialcollection{..| is defined for serials in which each volume has a different title. See the \texttt{asmejour-sample.bib} file for discussion and compare Ref.~\cite{clauser56} to Ref.~\cite{DKE70}.
@@ -448,7 +452,7 @@ q_\textrm{gray} & q_\textrm{int, $T_1$} & q_\textrm{int, $T_m$} & q_\textrm{exa
\subsection{Final Column Balancing} The option \texttt{[balance]} invokes the the \texttt{flushend} package~\cite{tolusis}.
This package will attempt to give equal height to the two columns on the last page. The performance of this package is sometimes inconsistent (with odd page layout or, very rarely, errors), so use this option with caution.
-\subsection{Line Numbers} The option \texttt{[lineno]} invokes the the \texttt{lineno} package~\cite{bottcher}. This will produce line numbers in the margins. You must run \LaTeX\ \textit{twice} for proper placement of the numbers. The \texttt{lineno} package is not compatible with the \texttt{flushend} package that makes final short columns the same height. Balancing is disabled when this option is called. See the documentation of the \texttt{lineno} package for further commands to control line numbering. See footnote~\ref{ftnt:3} with regard to footnotes in section headings while this option is in~effect. The abstract, tables, captions, and footnotes will not be numbered.
+\subsection{Line Numbers} The option \texttt{[lineno]} invokes the the \texttt{lineno} package~\cite{bottcher}. This will produce line numbers in the margins. You must run \LaTeX\ \textit{twice} for proper placement of the numbers. The \texttt{lineno} package is not compatible with the \texttt{flushend} package that makes final short columns the same height. Balancing is disabled when this option is called. See the documentation of the \texttt{lineno} package for further commands to control line numbering. The abstract, tables, captions, and footnotes will not be numbered.
\subsection{Changing the Footer Text}\label{sec:footer} The option \texttt{[nofoot]} will omit everything other than a page number from the page footer. The option \texttt{nocopyright} will omit the ASME copyright from the first page footer. The command \verb|\PreprintString{..}| replaces the words \textsf{PREPRINT FOR REVIEW}. The left and right preprint strings can be changed separately using an optional argument: \verb|\PreprintString{..}[L]| and \verb|\PreprintString{..}[R]|.
The final paper number may be added to the page number using \verb|\PaperNumber{..}|.
@@ -465,12 +469,11 @@ default setting is for PDF/A-3u with sRGB OutputIntent (\texttt{sRGB.icc}). If l
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 eventually will make these
-class options unnecessary when using an up-to-date installation.
+As of June 2022, the \LaTeX 3 team has added native support for PDF/A in the \LaTeX\ kernel, using \verb|\DocumentMetadata{..}|. This approach works with \textit{both} \hologo{pdfLaTeX} and \hologo{LuaLaTeX}. The class options previously mentioned can be omitted when using \verb|\DocumentMetadata{..}|.
-\subsection{Superiors Font} The \texttt{newtxtext} package includes a superiors font (numbers and letters) for use in footnote markers and superscripts. The option \texttt{[nodefaultsups]} enables this font. (The corresponding author mark in the author block will not change.)
+\subsection{Superiors Font} The \texttt{newtxtext} package includes a superiors font (numbers and letters) for use in footnote markers and superscripts. The option \texttt{[nodefaultsups]} enables this font, but only when running \hologo{pdfTeX}. %The corresponding author mark in the author block will not change.
-\subsection{Typewriter Font Options} This font is the sans-serif, monospaced font \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 of the typewriter font.
+\subsection{Typewriter Font Options} This font is the sans-serif, monospaced font \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 of the typewriter font when running \hologo{pdfTeX}.
%%%%%%%%%%%%%%% begin two column table %%%%%%%%%%%%%%%%%%
diff --git a/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf b/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf
index 3aad9d3a594..c3985e22380 100644
--- a/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf
+++ b/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.tex b/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.tex
index 63e91cf262a..69b98af0b29 100644
--- a/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.tex
+++ b/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.tex
@@ -15,8 +15,8 @@
\documentclass[nocopyright,nolists,pdf-a]{asmejour}
%% This file's version and date are:
- \def\AJwidetextversion{1.0}
- \def\AJverdate{January 10, 2022}
+ \def\AJwidetextversion{1.01}
+ \def\AJverdate{October 22, 2023}
%
\usepackage{asmewide}
\usepackage{lipsum}% Latin filler text (lipsum generates a message about 'unused global options' - this can be ignored)
@@ -27,7 +27,7 @@
%
\makeatletter
\definecolor{JAMBlue}{rgb}{0.090, 0.574, 0.637} % 23, 147, 163 - similar to JAM masthead color
- \renewcommand\@ColorName{JAMBlue!80!white}
+ \renewcommand\asmejour@barcolor{JAMBlue!80!white}
\makeatother
%
%%%%
diff --git a/Master/texmf-dist/tex/latex/asmejour/asmejour.cls b/Master/texmf-dist/tex/latex/asmejour/asmejour.cls
index 283ab8a382a..62f4d90efd0 100644
--- a/Master/texmf-dist/tex/latex/asmejour/asmejour.cls
+++ b/Master/texmf-dist/tex/latex/asmejour/asmejour.cls
@@ -6,8 +6,8 @@
%%
%%
%% This file's version and date are:
- \def\versionno{1.20}
- \def\versiondate{2022/12/30\space}
+ \def\versionno{1.21}
+ \def\versiondate{2023/10/22\space}
%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
@@ -43,7 +43,7 @@
%%
%% LICENSE:
%%
-%% Copyright (c) 2022 John H. Lienhard
+%% Copyright (c) 2023 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,
@@ -71,46 +71,45 @@
\RequirePackage{xparse}[2020/02/25]
\fi
-\RequirePackage{etoolbox}
+\RequirePackage{iftex}[2019/11/07]% provides \ifpdftex, etc.
\RequirePackage{ifthen}
%%%%%%%%%%%%% Test compatibility of older distributions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}% backward compatibility (thanks Ulrike Fischer)
+\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\IfPackageLoadedTF{\@ifpackageloaded}% \If...added to latex 2021/11/15
\IfFormatAtLeastTF{2020/02/25}{%
- \ClassInfo{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020 or later are strongly recommended for best results}
+ \ClassInfo{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020/10/01 or later are strongly recommended, for best results}
}{%
- \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. Formats dated 2020 or later are recommended for the asmejour class. Older formats may generate errors or fail entirely}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. (You can try to click past the errors for now, but your abstract will probably not compile properly.)}%
+ \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. Formats dated 2020/10/01 or later are recommended for the asmejour class. Older formats may generate errors or fail entirely!}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. You can try to click past the errors for now, but your abstract will probably not compile properly if you lack the xparse package [2020/02/25], and the code will crash entirely if you lack the iftex package [2019/11/07].}%
}
\DeclareDocumentCommand\LogNote{m}{%
\IfFormatAtLeastTF{2021/11/15}{%
- \ClassNoteNoLine{asmejour}{#1}% New with the recent LaTeX format
+ \ClassNoteNoLine{asmejour}{#1}% Added to LaTeX in Nov. 2021
}{%
\ClassWarningNoLine{asmejour}{#1}%
}
}
-%% provide iftex command \ifpdftex for those still running old distributions
-\IfFormatAtLeastTF{2019/11/07}{%
- \RequirePackage{iftex}% check whether pdftex or another engine is used
- }{%
- \LogNote{The asmeconf class requires the missing package iftex---trying a work-around.}
- % Code copied from iftex package written by the LaTeX3 Project (used under LPPL).
- % \csname and \let construct useful for hiding \ifzzz tokens from outer level \if tests.
- \def\IFTEX@let#1#2{%
- \expandafter\let\csname if#1\expandafter\endcsname
- \csname if#2\endcsname}
- % pdftex (including in dvi mode)
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname pdftexversion\endcsname\relax
- \IFTEX@let{pdftex}{false}
- \else
- \IFTEX@let{pdftex}{true}
- \fi
- \IFTEX@let{PDFTeX}{pdftex}
-}
+%% Test whether \DocumentMetadata has been loaded (Thank you Ulrike Fischer)
+\newif\if@asme@pdfmanagement
+\ExplSyntaxOn
+\bool_if:nTF
+ {
+ \bool_lazy_and_p:nn
+ {\cs_if_exist_p:N \pdfmanagement_if_active_p:}
+ { \pdfmanagement_if_active_p: }
+ }
+ {
+ \@asme@pdfmanagementtrue
+ }
+ {
+ \@asme@pdfmanagementfalse
+ }
+\ExplSyntaxOff
%%%%%%%%%%%%%% Options for the class %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -119,8 +118,6 @@
\SetupKeyvalOptions{
family=asmejour,
prefix=asmejour@,
- family=pdfaopt,
- prefix=pdafopt@,
setkeys=\kvsetkeys,
}
@@ -129,20 +126,31 @@
\PassOptionsToPackage{#1}{mathalfa}%
}
-%% set key [nodefaultsups] to obtain newtx superiors font for footnotes.
-\newboolean{DefaultSups}\setboolean{DefaultSups}{true}
-\define@key{asmejour}{nodefaultsups}[false]{%
- \setboolean{DefaultSups}{#1}
-}
+%% set key [nodefaultsups] to obtain the newtx superiors font for footnotes.
+\DeclareBoolOption{nodefaultsups}
-%% set barcolor= to a color name defined by xcolor package
-\newcommand\@ColorName{black} % default
-\define@key{asmejour}{barcolor}[Goldenrod3]{%
- \renewcommand\@ColorName{#1}
-}
+%% Option to obtain line numbers [lineno]
+\DeclareBoolOption{lineno}
-%% the key main= passes the choice of main language to babel
+%% Option to balance column height on last page [balance]
+\DeclareBoolOption{balance}
+
+%% Option to omit lists of figures and tables
+\DeclareBoolOption{nolists}
+
+%% Option for copyright notice if all authors are government employees [govt]
+\DeclareBoolOption{govt}
+
+%% Option for copyright notice if some (not all) authors are government employees [govtsome]
+\DeclareBoolOption{govtsome}
+%% Option for government contractor copyright notice [contractor]
+\DeclareBoolOption{contractor}
+
+%% set [barcolor=] to a color name defined by xcolor package
+\DeclareStringOption[black]{barcolor}
+
+%% the key main= passes the choice of main language to babel
\newif\ifaj@mainset\aj@mainsetfalse
\define@key{asmejour}{main}[english]{%
\PassOptionsToPackage{main=#1,#1}{babel}% added #1 resolves conflicts between certain .ldf files under "main=".
@@ -153,7 +161,7 @@
}%
}
-%% only main= is actually needed, but keeping these three legacy commands for backward compatibility
+%% only main= is actually needed, but keeping these three legacy commands for backward compatibility (these will disappear in 2024 or so)
\define@key{asmejour}{lang}[english]{% deprecated option
\PassOptionsToPackage{main=#1,#1}{babel}%
\PassOptionsToPackage{pdflang=en}{hyperref}
@@ -178,12 +186,11 @@
\fi
%% Suppress warnings about unused global options, 2021/12/01
-\DeclareDefaultOption{}% suppress warning about unused mathalfa and barcolor options
+\DeclareDefaultOption{}% suppress warning about unused mathalfa option
\ProcessKeyvalOptions{asmejour}
%% Turn off these keys now that we're done with them
-\def\@KeyFamily{asmejour}
\NewDocumentCommand\aj@DisableOption{m}{%
\DisableKeyvalOption[%
action=ignore,%
@@ -191,57 +198,62 @@
]{#1}{\@KeyFamily}%
}
\NewDocumentCommand\@DisableKeys{>{\SplitList{;}}m}{\ProcessList{#1}{\aj@DisableOption}}
-\@DisableKeys{nodefaultsups;mathalfa;barcolor;main;lang;lang-second;lang-third}
+
+\def\@KeyFamily{asmejour}
+\@DisableKeys{nodefaultsups;mathalfa;barcolor;lineno;balance;nolists;govt;govtsome;contractor;main;lang;lang-second;lang-third}
%%%%%%% PDF/A Compliance Keys %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% new pdf management in LaTeX, with \DocumentMetaData{..}, is preferred to this approach.
+
\newif\ifaj@setpdfa\aj@setpdfafalse
\newif\ifaj@pdfaone\aj@pdfaonefalse
-\ifpdftex %% pdf/a compliance has only been configured for pdflatex
-%
- %%% set key [pdfa] to activate pdf/a compliance (default is pdf/A-3u)
- \define@key{pdfaopt}{pdf-a}[true]{%
- \aj@setpdfatrue
- \PassOptionsToPackage{pdfa,pdfapart=3,pdfaconformance=u}{hyperref}%
- }
- %%% to select part 1, 2 or 3
- \define@key{pdfaopt}{pdfapart}[3]{%
- \PassOptionsToPackage{pdfapart=#1}{hyperref}%
- \ifthenelse{\equal{#1}{1}}{\aj@pdfaonetrue}{\relax}%
- }
- %% to select conformance b or u. NB: a is not possible with pdfLaTeX, and u is not possible with 1.
- \define@key{pdfaopt}{pdfaconformance}[u]{%
- \PassOptionsToPackage{pdfaconformance=#1}{hyperref}%
- }
-\else
- \define@key{pdfaopt}{pdf-a}[true]{%
- \aj@setpdfatrue
+\if@asme@pdfmanagement\else
+
+ \SetupKeyvalOptions{
+ family=pdfaopt,
+ prefix=pdafopt@,
+ setkeys=\kvsetkeys,
}
-\fi
-
-\ProcessKeyvalOptions{pdfaopt}
-
-%% Done with these keys, so we can now disable them
-\def\@KeyFamily{pdfaopt}
-\@DisableKeys{pdf-a;pdfapart;pdfaconformance}
+
+ \ifpdftex %% pdf/a compliance has only been configured for pdflatex. Revised 2023/10/20
+ %
+ %%% set key [pdfa] to activate pdf/a compliance (default is pdf/A-3u)
+ \define@key{pdfaopt}{pdf-a}[true]{%
+ \aj@setpdfatrue
+ \PassOptionsToPackage{pdfa}{hyperref}
+ \AtBeginDocument{\hypersetup{pdfapart=3,pdfaconformance=u}}% note: hyperref takes these options if hyperxmp is loaded
+ }
+ %%% to select part 1, 2 or 3
+ \define@key{pdfaopt}{pdfapart}[3]{%
+ \def\asmejour@tempa{#1}
+ \AtBeginDocument{\hypersetup{pdfapart=\asmejour@tempa}}
+ \ifthenelse{\equal{#1}{1}}{\aj@pdfaonetrue}{\relax}%
+ }
+ %% to select conformance b or u. NB: a is not possible with pdfLaTeX, and u is not possible with 1.
+ \ExplSyntaxOn
+ \define@key{pdfaopt}{pdfaconformance}[u]{%
+ \str_set:Ne \l_tmp_str { \str_uppercase:n {#1} }
+ \AtBeginDocument{\hypersetup{pdfaconformance=\l_tmp_str}}
+ }
+ \ExplSyntaxOff
+ \else
+ \define@key{pdfaopt}{pdf-a}[true]{%
+ \aj@setpdfatrue
+ }
+ \fi
+ \ProcessKeyvalOptions{pdfaopt}
+
+ %% Done with these keys, so we can now disable them
+ \def\@KeyFamily{pdfaopt}
+ \@DisableKeys{pdf-a;pdfapart;pdfaconformance}
+\fi
%%%%%%%%%% Further class options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Option to obtain line numbers [lineno]
-\newif\ifaj@lineno\aj@linenofalse
-\DeclareOption{lineno}{\aj@linenotrue}
-
-%%% Option to balance column height on last page [balance]
-\newif\ifaj@balance\aj@balancefalse
-\DeclareOption{balance}{\aj@balancetrue}
-
-%% Option to omit lists of figures and tables
-\newif\ifaj@lists\aj@liststrue
-\DeclareOption{nolists}{\aj@listsfalse}
-
%% Option to omit ASME footer
\DeclareOption{nofoot}{%
\AtBeginDocument{\pagestyle{plain}%
@@ -251,6 +263,7 @@
}
}
}
+
%% Option to omit ASME copyright
\DeclareOption{nocopyright}{%
\AtBeginDocument{\fancypagestyle{title}{%
@@ -262,44 +275,63 @@
}
}
-%% Option for copyright notice if all authors are government employees [govt]
-\newif\ifaj@govt\aj@govtfalse
-\DeclareOption{govt}{\aj@govttrue}
-
-%% Option for copyright notice if some (not all) authors are government employees [govtsome]
-\newif\ifaj@govtsome\aj@govtsomefalse
-\DeclareOption{govtsome}{\aj@govtsometrue}
-
-%% Option for government contractor copyright notice [contractor]
-\newif\ifaj@contractor\aj@contractorfalse
-\DeclareOption{contractor}{\aj@contractortrue}
-
%% Option for slightly larger small capitals font [largesc], corrected 2021/01/29
\DeclareOption{largesc}{\PassOptionsToPackage{largesc=true}{newtxtext}}% largesc is a boolean key in newtxtext
%% ASME word separation is greater than newtxtext defaults so change these parameters.
\PassOptionsToPackage{spacing=0.3em, stretch=0.18em, shrink=0.10em}{newtxtext}% increased shrink from 0.08, 2021/01/30
-%% Option not to use latex default superscripts, instead using the newtxtext superiors font [nodefaultsups]
-\ifthenelse{\boolean{DefaultSups}}{\PassOptionsToPackage{defaultsups}{newtxtext}}{\relax}
-
%% Disable newtxtext osf option, which is not appropriate for documents in this class
\DeclareOption{osf}{%
\PassOptionsToPackage{lining}{newtxtext}%
}
+%% Option not to use latex default superscripts, instead using the newtxtext superiors font [nodefaultsups]
+%% This naming is inverse to the newtxtext package, which uses the superior font by default!
+\ifasmejour@nodefaultsups
+ \ifpdftex
+ \else
+ \ClassWarningNoLine{asmejour}{The [nodefaultsups] option is only supported with pdftex. It will be ignored}%
+ \fi
+\else
+ \ifpdftex
+ \PassOptionsToPackage{defaultsups}{newtxtext}
+ \fi
+\fi
+
%% Option to hyphenate the typewriter font [hyphenate]
\DeclareOption{hyphenate}{%
\PassOptionsToPackage{hyphenate}{inconsolata}%
\LogNote{Allowing hyphenation of typewriter font}%
}
+
+\DeclareOption{hyphenate}{%
+ \ifpdftex
+ \PassOptionsToPackage{hyphenate}{inconsolata}% hyphenate is a key via xkeyval in inconsolata
+ \LogNote{Allowing hyphenation of typewriter font}%
+ \else
+ \ClassWarningNoLine{asmejour}{The [hyphenate] option is only supported with pdftex. It will be ignored}%
+ \fi
+}
+
%% Option to enforce monospacing of words the typewriter font [mono]
+\def\MonoNotMono{WordSpace={1,1.33,1.67}}% for Inconsolatazi4; default allows word spacing (is not mono)
\DeclareOption{mono}{%
- \PassOptionsToPackage{mono}{inconsolata}%
+ \ifpdftex
+ \PassOptionsToPackage{mono}{inconsolata}% mono is a key via xkeyval in inconsolata
+ \else
+ \def\MonoNotMono{}%
+ \fi
}
-%% Option for unslashed zero typewriter font [var0].
+
+%% option for unslashed zero typewriter font [var0].
+\def\ssztwo{}% for Inconsolatazi4; default uses slashed zero, +ss02 uses regular zero
\DeclareOption{var0}{%
- \PassOptionsToPackage{var0}{inconsolata}% var0 is a key via xkeyval in inconsolata
+ \ifpdftex
+ \PassOptionsToPackage{var0}{inconsolata}% var0 is a key via xkeyval in inconsolata
+ \else
+ \def\ssztwo{+ss02}% stylistic alternate for regular zero
+ \fi
}
%% Suppress warnings about keys as unused global options
@@ -307,6 +339,7 @@
\ProcessOptions \relax
+
%%%%%%%%%%%% Page size, bibliography, graphics, color, etc. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage[paperheight=285.7mm, paperwidth=215.900mm, left=21.100mm, right=21.100mm, top=15.9mm, bottom = 24mm, footskip=8mm]{geometry}
@@ -320,8 +353,16 @@
\renewcommand*{\bibfont}{\footnotesize}
\RequirePackage{graphicx}
-\ifpdf\def\MyColorOption{fixpdftex}\else\ifluatex\def\MyColorOption{luatex}\else\def\MyColorOption{}\fi\fi
-\RequirePackage[hyperref,\MyColorOption,dvipsnames,svgnames,x11names]{xcolor}
+\RequirePackage[dvipsnames,svgnames,x11names]{xcolor}% remove obsolete options, 2023/10/23
+
+% Allow pre 2021/11/15 formats to see the graphicx alt key without causing an error, in preparation for tagged pdf
+\IfFormatAtLeastTF{2021/11/15}{
+ \relax
+}{
+ \AtBeginDocument{
+ \IfPackageLoadedTF{graphicx}{\define@key{Gin}{alt}{}}{\relax}
+ }
+}
% Nice solution from DPC to prevent aux file errors when switching from pdflatex to lualatex
\ifx\directlua\undefined
@@ -345,6 +386,7 @@
\renewcommand*{\bottomrule}{\specialrule{0.5pt}{1pt}{\doublerulesep}\specialrule{0.5pt}{0pt}{0pt}}
%%%%%%%%%%%%% PDF/A related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% new pdf management in LaTeX, using \DocumentMetaData{..}, is preferred to this approach.
\ifpdftex
\ifaj@pdfaone
\pdfminorversion=4 % for pdf/a-1 need version 4, not 7
@@ -355,9 +397,8 @@
\RequirePackage[utf8]{inputenc}% for backward compatibility with pre-2018 LaTeX distributions
\else
\ifaj@setpdfa\ClassWarningNoLine{asmejour}{pdf-a option requires pdfLaTeX engine. Under LuaLaTeX, use %
- \protect\RequirePackage{pdfmanagement-testphase} %
- \protect\DocumentMetadata{pdfstandard=A-3b} before \protect\documentclass[..]{asmejour}}\fi%
- \ifluatex
+ \protect\DocumentMetadata{pdfstandard=A-3b} before \protect\documentclass[..]{asmeconf}}\fi%
+ \ifx\directlua\undefined\else
\directlua{
if pdf.getminorversion() \string~= 7 then
if (status.pdf_gone and status.pdf_gone > 0)
@@ -368,7 +409,7 @@
end
end
\fi
- }% will lose some accented characters this way... better to use fontspec, if the systems fonts exist.
+ }% will lose some accented characters this way... better to use fontspec, if the system fonts exist.
\fi
@@ -381,29 +422,68 @@
\RequirePackage[helvratio=0.91]{newtxtext}% add this scaling 2022/06/26
\RequirePackage[varl,varqu]{inconsolata}% sans typewriter font; restored varl, varqu 2020/08/10
\RequirePackage[]{newtxmath}
-\else % use lualatex without font support for other languages (easier set-up and still enables luacode for numerics). Added 2022/06/26.
- \renewcommand*\rmdefault{ntxtlf} % roman font for math
- \RequirePackage[T1]{fontenc} % qhv and zi4 are not TU encoded, 2021/12/24
- \DeclareFontFamily{T1}{\sfdefault}{} % sf for math
- \DeclareFontShape{T1}{\sfdefault}{m}{n}{<-> s*[0.94] ec-qhvr}{} %% see t1qhv.fd; 0.9-->0.94 2022/01/15
- \DeclareFontFamily{T1}{zi4}{}% typewriter (Inconsolata)
- \DeclareFontShape{T1}{zi4}{m}{n}{<-> s*[1.0] t1-zi4r-5}{}% with options varl and var qu
- \DeclareFontShape{T1}{zi4}{b}{n}{<-> s*[1.0] t1-zi4b-5}{}
- \DeclareFontShape{T1}{zi4}{bx}{n}{<-> s*[1.0] t1-zi4b-5}{}
- \RequirePackage[]{newtxmath} % options will be as passed from newtx
- \RequirePackage[type1text,nofontspec,helvratio=0.91]{newtxtext}% will lose some accented characters this way ... better to use fontspec
- \@ifpackagelater{newtxtext}{2022/02/28}{\relax}{%
- \ClassWarning{asmeconf}{Your copy of the newtxtext package is older than 2022/02/28, so you will see error messages about unknown options 'type1text' and 'nofontspec'. You can click through these for now, but I recommend you update your LaTeX installation for best results.}
- }
- \providecommand*{\DeclareFontFamilySubstitution}[3]{\relax}% folks with old latex formats will get a different typewriter font...
- \AtBeginDocument{%
- \DeclareFontFamilySubstitution{T1}{\ttdefault}{zi4}
- }
+\else % use lualatex with newtxmath and fontspec for text primary fonts. Revised 2023/10/21.
+%
+ %% TeX Gyre Heros Condensed is qhvc (regular is qhv).
+ \RequirePackage[T1]{fontenc} % qhvc is not TU encoded
+ \DeclareFontFamily{T1}{qhvc}{}
+ \DeclareFontShape{T1}{qhvc}{m}{n}{<-> s*[0.91] ec-qhvcr}{} %% see t1qhvc.fd; 0.9-->0.94 2022/01/15; 0.94-->0.91 2022/06/26
+ \DeclareFontShape{T1}{qhvc}{b}{n}{<-> s*[0.91] ec-qhvcb}{} %% see t1qhvc.fd; 0.9-->0.94 2022/01/15; 0.94-->0.91 2022/06/26
+%
+ \RequirePackage[varqu,varl]{inconsolata} % typewriter font for math
+ \renewcommand\rmdefault{ntxtlf} % roman font for math
+ \DeclareFontFamily{T1}{\sfdefault}{} % sf for math
+ \DeclareFontShape{T1}{\sfdefault}{m}{n}{<-> s*[0.94] ec-qhvr}{} %% see t1qhv.fd; 0.9-->0.94 2022/01/15
+ \RequirePackage[]{newtxmath} % newtxmath still handles mathematics
+ \RequirePackage[no-math]{fontspec}
+ \defaultfontfeatures{Ligatures=TeX,}
+%
+ \def\FontWarning{For luaLaTeX, you MUST have these OpenType fonts installed as system fonts on your computer: TeX Gyre Termes and TeX Gyre Heros (from \string http://www.gust.org.pl/projects/e-foundry/tex-gyre) and Inconsolatazi4 (\string https://ctan.org/tex-archive/fonts/inconsolata/opentype). If DON'T have these fonts, you will see ERROR messages!}
+%
+ \IfFontExistsTF{TeXGyreTermesX}{}{\ClassWarning{asmeconf}{\FontWarning} }
+ \IfFontExistsTF{texgyreheros}{}{ \ClassWarning{asmeconf}{\FontWarning} }
+ \IfFontExistsTF{Inconsolatazi4}{}{\ClassWarning{asmeconf}{\FontWarning} }
+ %
+ \setmainfont{TeXGyreTermesX}[% Presumes these are system fonts! Available at: http://www.gust.org.pl/projects/e-foundry/tex-gyre
+ WordSpace = {1,1.4,1},%% This stretch matches newtxtext a little better. 1.4
+ Extension = .otf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Italic,
+ BoldFont = *-Bold,
+ BoldItalicFont = *-BoldItalic,
+ Numbers = Lining,
+ ]
+ \setsansfont{texgyreheros}[% Presumes these are system fonts! Available at: http://www.gust.org.pl/projects/e-foundry/tex-gyre
+ WordSpace = {1,1.4,1},
+ Extension = .otf,
+ UprightFont = *-regular,
+ ItalicFont = *-italic,
+ BoldFont = *-bold,
+ BoldItalicFont = *-bolditalic,
+ Numbers = Lining,
+ Scale=0.91,% same as for newtx; former value 0.9 too small 2022/01/15
+ ]
+ \setmonofont{Inconsolatazi4}[% This otf font ships with the LaTeX Inconsolata package (it's in TeX Live)
+ \MonoNotMono,
+ Scale=1.05,% rescaled from 1, 22/03/10
+ Extension = .otf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ RawFeature = {+ss01,\ssztwo,+ss03},
+ ]
\fi
+%% override \textsu if using default superiors (allow for undefined \textsu in fontspec). Revised 2023/10/21
+\providecommand\NewCommandCopy{\let} % for pre-2020/10 LaTeX distributions
+\providecommand\RenewCommandCopy{\let}
-%% override \textsu if using default superiors
-\ifthenelse{\boolean{DefaultSups}}{\let\textsu\textsuperscript}{\relax}
+\ifx\textsu\undefined\NewCommandCopy\textsu\textsuperscript\fi
+\ifasmejour@nodefaultsups\else
+ \RenewCommandCopy\textsu\textsuperscript
+\fi
+%%
\RequirePackage[]{mathalfa}% load optional fonts for Calligraphy, Script, etc.
@@ -427,13 +507,7 @@
\emergencystretch 3em
%% TeX Gyre Heros Condensed is qhvc (regular is qhv).
-\ifluatex % 2022/05/08
- \RequirePackage[T1]{fontenc} % qhvc is not TU encoded
- \DeclareFontFamily{T1}{qhvc}{}
- \DeclareFontShape{T1}{qhvc}{m}{n}{<-> s*[0.91] ec-qhvcr}{} %% see t1qhvc.fd; 0.9-->0.94 2022/01/15; 0.94-->0.91 2022/06/26
- \DeclareFontShape{T1}{qhvc}{b}{n}{<-> s*[0.91] ec-qhvcb}{} %% see t1qhvc.fd; 0.9-->0.94 2022/01/15; 0.94-->0.91 2022/06/26
-\fi
-\newcommand*{\CondSans}{\fontencoding{T1}\selectfont\fontfamily{qhvc}\selectfont}
+\newcommand*{\CondSans}{\fontencoding{T1}\fontfamily{qhvc}\selectfont}% remove extra \selectfont, 2023/10/21
\renewcommand\huge{\@setfontsize\huge{14}{14}} %... for author names only
\newcommand*{\CondSansBold}{\renewcommand\bfdefault{b}\fontencoding{T1}\fontfamily{qhvc}\selectfont\bfseries}
\renewcommand\Huge{\@setfontsize\Huge{26.5}{26.5}} %... for title font only
@@ -444,101 +518,101 @@
%% It's intended for use in the figure and table captions.
%% Fonts are from newtxsf package.
\DeclareMathVersion{sansbold}
-\SetSymbolFont{letters}{sansbold}{OML}{ntxsfmi}{b}{it}
-\SetSymbolFont{lettersA}{sansbold}{U}{ntxsfmia}{b}{it}
-\SetSymbolFont{symbols}{sansbold}{LMS}{ntxsy}{b}{n}
-\SetSymbolFont{largesymbols}{sansbold}{LMX}{ntxexx}{b}{n}% added 2021/01/26
-\SetSymbolFont{largesymbolsTXA}{sansbold}{U}{ntxexa}{b}{n}% added 2021/01/26
-\SetSymbolFont{operators}{sansbold}{\encodingdefault}{\sfdefault}{\bfdefault}{n}
-\SetMathAlphabet{\mathsf}{sansbold}{\encodingdefault}{\sfdefault}{b}{n}% \mathsf is upright
+ \SetSymbolFont{letters}{sansbold}{OML}{ntxsfmi}{b}{it}
+ \SetSymbolFont{lettersA}{sansbold}{U}{ntxsfmia}{b}{it}
+ \SetSymbolFont{symbols}{sansbold}{LMS}{ntxsy}{b}{n}
+ \SetSymbolFont{largesymbols}{sansbold}{LMX}{ntxexx}{b}{n}% added 2021/01/26
+ \SetSymbolFont{largesymbolsTXA}{sansbold}{U}{ntxexa}{b}{n}% added 2021/01/26
+ \SetSymbolFont{operators}{sansbold}{\encodingdefault}{\sfdefault}{\bfdefault}{n}
+ \SetMathAlphabet{\mathsf}{sansbold}{\encodingdefault}{\sfdefault}{b}{n}% \mathsf is upright
%% These lines are to provide math accents for the sans and sansbold math versions.
%% The accents from ntxsfmi work normally with regular times fonts. Added 2021/01/27
\DeclareSymbolFont{lettersAB}{U}{ntxsfmia}{m}{it}
-\SetSymbolFont{lettersAB}{normal}{U}{ntxsfmia}{m}{it}
-\SetSymbolFont{lettersAB}{bold}{U}{ntxsfmia}{b}{it}
-\SetSymbolFont{lettersAB}{sansbold}{U}{ntxsfmia}{b}{it}
-\DeclareFontSubstitution{U}{ntxsfmia}{m}{it}
-%
-\DeclareMathAccent{\grave}{\mathord}{lettersAB}{254}
-\DeclareMathAccent{\acute}{\mathord}{lettersAB}{255}
-\DeclareMathAccent{\check}{\mathord}{lettersAB}{186}
-\DeclareMathAccent{\breve}{\mathord}{lettersAB}{187}
-\DeclareMathAccent{\bar}{\mathord}{lettersAB}{221}
-\DeclareMathAccent{\mathring}{\mathord}{lettersAB}{222}
-\DeclareMathAccent{\hat}{\mathord}{lettersAB}{223}
-\DeclareMathAccent{\dot}{\mathord}{lettersAB}{224}
-\DeclareMathAccent{\tilde}{\mathord}{lettersAB}{219}
+ \SetSymbolFont{lettersAB}{normal}{U}{ntxsfmia}{m}{it}
+ \SetSymbolFont{lettersAB}{bold}{U}{ntxsfmia}{b}{it}
+ \SetSymbolFont{lettersAB}{sansbold}{U}{ntxsfmia}{b}{it}
+ \DeclareFontSubstitution{U}{ntxsfmia}{m}{it}
+
+ \DeclareMathAccent{\grave}{\mathord}{lettersAB}{254}
+ \DeclareMathAccent{\acute}{\mathord}{lettersAB}{255}
+ \DeclareMathAccent{\check}{\mathord}{lettersAB}{186}
+ \DeclareMathAccent{\breve}{\mathord}{lettersAB}{187}
+ \DeclareMathAccent{\bar}{\mathord}{lettersAB}{221}
+ \DeclareMathAccent{\mathring}{\mathord}{lettersAB}{222}
+ \DeclareMathAccent{\hat}{\mathord}{lettersAB}{223}
+ \DeclareMathAccent{\dot}{\mathord}{lettersAB}{224}
+ \DeclareMathAccent{\tilde}{\mathord}{lettersAB}{219}
%% Provide sans-serif *upright* Greek letters, following a suggestion by Michael Sharpe. 2021/12/22
%% Following Sharpe's newtxsf implementation of the STIX fonts, under the LaTeX Project Public License.
%% (Note that \mathversion{sansbold} provides sans-serif *italic* Greek letters.)
-\DeclareMathSymbol{\sfGamma}{\mathalpha}{lettersAB}{0}% adjust to avoid overwriting newtxmath commands,
-\DeclareMathSymbol{\sfDelta}{\mathalpha}{lettersAB}{1}
-\DeclareMathSymbol{\sfTheta}{\mathalpha}{lettersAB}{2}
-\DeclareMathSymbol{\sfLambda}{\mathalpha}{lettersAB}{3}
-\DeclareMathSymbol{\sfXi}{\mathalpha}{lettersAB}{4}
-\DeclareMathSymbol{\sfPi}{\mathalpha}{lettersAB}{5}
-
-\DeclareMathSymbol{\sfSigma}{\mathalpha}{lettersAB}{6}
-\DeclareMathSymbol{\sfUpsilon}{\mathalpha}{lettersAB}{7}
-\DeclareMathSymbol{\sfPhi}{\mathalpha}{lettersAB}{8}
-\DeclareMathSymbol{\sfPsi}{\mathalpha}{lettersAB}{9}
-\DeclareMathSymbol{\sfOmega}{\mathalpha}{lettersAB}{10}
-
-\DeclareMathSymbol{\sfalpha}{\mathalpha}{lettersAB}{11}
-\DeclareMathSymbol{\sfbeta}{\mathalpha}{lettersAB}{12}
-\DeclareMathSymbol{\sfgamma}{\mathalpha}{lettersAB}{13}
-\DeclareMathSymbol{\sfdelta}{\mathalpha}{lettersAB}{14}
-\DeclareMathSymbol{\sfepsilon}{\mathalpha}{lettersAB}{15}
-
-\DeclareMathSymbol{\sfzeta}{\mathalpha}{lettersAB}{16}
-\DeclareMathSymbol{\sfeta}{\mathalpha}{lettersAB}{17}
-\DeclareMathSymbol{\sftheta}{\mathalpha}{lettersAB}{18}
-\DeclareMathSymbol{\sfiota}{\mathalpha}{lettersAB}{19}
-\DeclareMathSymbol{\sfkappa}{\mathalpha}{lettersAB}{20}
-
-\DeclareMathSymbol{\sflambda}{\mathalpha}{lettersAB}{21}
-\DeclareMathSymbol{\sfmu}{\mathalpha}{lettersAB}{22}
-\DeclareMathSymbol{\sfnu}{\mathalpha}{lettersAB}{23}
-\DeclareMathSymbol{\sfxi}{\mathalpha}{lettersAB}{24}
-\DeclareMathSymbol{\sfpi}{\mathalpha}{lettersAB}{25}
-
-\DeclareMathSymbol{\sfrho}{\mathalpha}{lettersAB}{26}
-\DeclareMathSymbol{\sfsigma}{\mathalpha}{lettersAB}{27}
-\DeclareMathSymbol{\sftau}{\mathalpha}{lettersAB}{28}
-\DeclareMathSymbol{\sfupsilon}{\mathalpha}{lettersAB}{29}
-\DeclareMathSymbol{\sfphi}{\mathalpha}{lettersAB}{30}
-
-\DeclareMathSymbol{\sfchi}{\mathalpha}{lettersAB}{31}
-\DeclareMathSymbol{\sfpsi}{\mathalpha}{lettersAB}{32}
-\DeclareMathSymbol{\sfomega}{\mathalpha}{lettersAB}{33}
-\DeclareMathSymbol{\sfvarepsilon}{\mathalpha}{lettersAB}{34}
-\DeclareMathSymbol{\sfvartheta}{\mathalpha}{lettersAB}{35}
-
-\DeclareMathSymbol{\sfvarpi}{\mathord}{lettersAB}{36}
-\DeclareMathSymbol{\sfvarrho}{\mathord}{lettersAB}{37}
-\DeclareMathSymbol{\sfvarsigma}{\mathord}{lettersAB}{38}
-\DeclareMathSymbol{\sfvarphi}{\mathord}{lettersAB}{39}
-\DeclareMathSymbol{\sfitvarkappa}{\mathalpha}{lettersAB}{40}
-\DeclareMathSymbol{\sfvarkappa}{\mathalpha}{lettersAB}{40}
-\DeclareMathSymbol{\sfitnabla}{\mathalpha}{lettersAB}{42}
-\DeclareMathSymbol{\sfnabla}{\mathalpha}{lettersAB}{43}
-\DeclareMathSymbol{\sfhslash}{\mathalpha}{lettersAB}{52}% this is not upright
-\DeclareMathSymbol{\sfhbar}{\mathalpha}{lettersAB}{53}% this is not upright
+ \DeclareMathSymbol{\sfGamma}{\mathalpha}{lettersAB}{0}% adjust to avoid overwriting newtxmath commands,
+ \DeclareMathSymbol{\sfDelta}{\mathalpha}{lettersAB}{1}
+ \DeclareMathSymbol{\sfTheta}{\mathalpha}{lettersAB}{2}
+ \DeclareMathSymbol{\sfLambda}{\mathalpha}{lettersAB}{3}
+ \DeclareMathSymbol{\sfXi}{\mathalpha}{lettersAB}{4}
+ \DeclareMathSymbol{\sfPi}{\mathalpha}{lettersAB}{5}
+
+ \DeclareMathSymbol{\sfSigma}{\mathalpha}{lettersAB}{6}
+ \DeclareMathSymbol{\sfUpsilon}{\mathalpha}{lettersAB}{7}
+ \DeclareMathSymbol{\sfPhi}{\mathalpha}{lettersAB}{8}
+ \DeclareMathSymbol{\sfPsi}{\mathalpha}{lettersAB}{9}
+ \DeclareMathSymbol{\sfOmega}{\mathalpha}{lettersAB}{10}
+
+ \DeclareMathSymbol{\sfalpha}{\mathalpha}{lettersAB}{11}
+ \DeclareMathSymbol{\sfbeta}{\mathalpha}{lettersAB}{12}
+ \DeclareMathSymbol{\sfgamma}{\mathalpha}{lettersAB}{13}
+ \DeclareMathSymbol{\sfdelta}{\mathalpha}{lettersAB}{14}
+ \DeclareMathSymbol{\sfepsilon}{\mathalpha}{lettersAB}{15}
+
+ \DeclareMathSymbol{\sfzeta}{\mathalpha}{lettersAB}{16}
+ \DeclareMathSymbol{\sfeta}{\mathalpha}{lettersAB}{17}
+ \DeclareMathSymbol{\sftheta}{\mathalpha}{lettersAB}{18}
+ \DeclareMathSymbol{\sfiota}{\mathalpha}{lettersAB}{19}
+ \DeclareMathSymbol{\sfkappa}{\mathalpha}{lettersAB}{20}
+
+ \DeclareMathSymbol{\sflambda}{\mathalpha}{lettersAB}{21}
+ \DeclareMathSymbol{\sfmu}{\mathalpha}{lettersAB}{22}
+ \DeclareMathSymbol{\sfnu}{\mathalpha}{lettersAB}{23}
+ \DeclareMathSymbol{\sfxi}{\mathalpha}{lettersAB}{24}
+ \DeclareMathSymbol{\sfpi}{\mathalpha}{lettersAB}{25}
+
+ \DeclareMathSymbol{\sfrho}{\mathalpha}{lettersAB}{26}
+ \DeclareMathSymbol{\sfsigma}{\mathalpha}{lettersAB}{27}
+ \DeclareMathSymbol{\sftau}{\mathalpha}{lettersAB}{28}
+ \DeclareMathSymbol{\sfupsilon}{\mathalpha}{lettersAB}{29}
+ \DeclareMathSymbol{\sfphi}{\mathalpha}{lettersAB}{30}
+
+ \DeclareMathSymbol{\sfchi}{\mathalpha}{lettersAB}{31}
+ \DeclareMathSymbol{\sfpsi}{\mathalpha}{lettersAB}{32}
+ \DeclareMathSymbol{\sfomega}{\mathalpha}{lettersAB}{33}
+ \DeclareMathSymbol{\sfvarepsilon}{\mathalpha}{lettersAB}{34}
+ \DeclareMathSymbol{\sfvartheta}{\mathalpha}{lettersAB}{35}
+
+ \DeclareMathSymbol{\sfvarpi}{\mathord}{lettersAB}{36}
+ \DeclareMathSymbol{\sfvarrho}{\mathord}{lettersAB}{37}
+ \DeclareMathSymbol{\sfvarsigma}{\mathord}{lettersAB}{38}
+ \DeclareMathSymbol{\sfvarphi}{\mathord}{lettersAB}{39}
+ \DeclareMathSymbol{\sfitvarkappa}{\mathalpha}{lettersAB}{40}
+ \DeclareMathSymbol{\sfvarkappa}{\mathalpha}{lettersAB}{40}
+ \DeclareMathSymbol{\sfitnabla}{\mathalpha}{lettersAB}{42}
+ \DeclareMathSymbol{\sfnabla}{\mathalpha}{lettersAB}{43}
+ \DeclareMathSymbol{\sfhslash}{\mathalpha}{lettersAB}{52}% this is not upright
+ \DeclareMathSymbol{\sfhbar}{\mathalpha}{lettersAB}{53}% this is not upright
%%% sans math version, potential value with PGFPlots, and provisionally called in subfigure captions.
%%% this is experimental, still needs stress testing. 2021/01/30
\DeclareMathVersion{sans}
-\SetSymbolFont{letters}{sans}{OML}{ntxsfmi}{m}{it}
-\SetSymbolFont{lettersA}{sans}{U}{ntxsfmia}{m}{it}
-\SetSymbolFont{lettersAB}{sans}{U}{ntxsfmia}{m}{it}
-\SetSymbolFont{symbols}{sans}{LMS}{ntxsy}{m}{n}
-\SetSymbolFont{largesymbols}{sans}{LMX}{ntxexx}{m}{n}
-\SetSymbolFont{largesymbolsTXA}{sans}{U}{ntxexa}{m}{n}
-\SetSymbolFont{operators}{sans}{\encodingdefault}{\sfdefault}{m}{n}
-\SetMathAlphabet{\mathsf}{sans}{\encodingdefault}{\sfdefault}{m}{n}
+ \SetSymbolFont{letters}{sans}{OML}{ntxsfmi}{m}{it}
+ \SetSymbolFont{lettersA}{sans}{U}{ntxsfmia}{m}{it}
+ \SetSymbolFont{lettersAB}{sans}{U}{ntxsfmia}{m}{it}
+ \SetSymbolFont{symbols}{sans}{LMS}{ntxsy}{m}{n}
+ \SetSymbolFont{largesymbols}{sans}{LMX}{ntxexx}{m}{n}
+ \SetSymbolFont{largesymbolsTXA}{sans}{U}{ntxexa}{m}{n}
+ \SetSymbolFont{operators}{sans}{\encodingdefault}{\sfdefault}{m}{n}
+ \SetMathAlphabet{\mathsf}{sans}{\encodingdefault}{\sfdefault}{m}{n}
%%%%%%%%%%%%%%%%% Some adjustments to math layout %%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -554,32 +628,25 @@
%%%%%%%%%%%%%%%%% Equation and Line Numbering %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{etoolbox}% patching amsmath
+
%% ASME puts equation tags in blue
\patchcmd{\tagform@}{(\ignorespaces#1\unskip\@@italiccorr)}{\color{blue}(\ignorespaces#1\unskip\@@italiccorr)}{}{}
%% Ensure that the current font is used for equation tags, not \normalfont as set by amsmath
\def\maketag@@@#1{\hbox{\m@th#1}}
-%% Italicize alph part of subequation numbers. 30 Dec 2022.
-\RenewDocumentEnvironment{subequations}{}{%
- \refstepcounter{equation}%
- \protected@edef\theparentequation{\theequation}%
- \setcounter{parentequation}{\value{equation}}%
- \setcounter{equation}{0}%
- \def\theequation{\theparentequation{\itshape\alph{equation}}}%
- \ignorespaces
-}{%
- \setcounter{equation}{\value{parentequation}}%
- \ignorespacesafterend
-}
+%% Italicize alph part of subequation numbers. Revised 2023/10/20
+\patchcmd{\subequations}{\theparentequation\alph{equation}}{\theparentequation\itshape\alph{equation}}{}{}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifaj@lineno
+%%%%% lineno related %%%%
+
+\ifasmejour@lineno
\RequirePackage[switch,mathlines]{lineno}%
\renewcommand{\linenumberfont}{\normalfont\footnotesize\color{red}}%
\AtBeginDocument{\linenumbers}%
- \ifaj@balance
+ \ifasmejour@balance
\ClassWarningNoLine{asmejour}{Package lineno loaded, so final column balancing will be disabled}%
\fi
%%% Allow line numbering in AMS math environments.
@@ -600,7 +667,7 @@
%
\else
\ProvideDocumentEnvironment{linenomath}{}{}{}%
- \ifaj@balance % balancing through flushend can produce weird errors
+ \ifasmejour@balance % balancing through flushend can produce weird errors
\RequirePackage{flushend}% flushend package is NOT compatible with lineno
\AtEndDocument{\flushcolsend}%
\LogNote{Calling flushend package to balance column height on last page}%
@@ -612,6 +679,7 @@
%% ASME page proofs seem to align the number at top of the line, rather than bottom as done here.
+
%%%%%%%%%%%%%%%%% Footer Set Up %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%% footer text names %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -690,16 +758,12 @@
%% include a comma for sequential footnotes
-\newcommand\nextToken\relax
+\ExplSyntaxOn
+ \cs_new:Npn \__asmejour_NoteComma:n { \peek_meaning:NT \footnote { \textsu{\mdseries,} } }
+ \cs_new_eq:NN \__savefootnote \footnote
+ \cs_gset_protected:Npn \footnote #1 { \__savefootnote{#1}\__asmejour_NoteComma:n }
+\ExplSyntaxOff
-\let\oldfootnote\footnote
-\renewcommand\footnote[1]{%
- \oldfootnote{#1}\futurelet\nextToken\isOtherfnote}
-
-\newcommand\isOtherfnote{%
- \ifx\footnote\nextToken\textsu{\mdseries,}%
- \fi%
-}
%%%%%%%%% Caption Related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -769,22 +833,7 @@
%%%%%%%%%%%%%%%%% Hyperref %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newif\if@asme@pdfmanagement% Thanks to Ulrike Fischer
-\ExplSyntaxOn
-\bool_if:nTF
- {
- \bool_lazy_and_p:nn
- {\cs_if_exist_p:N \pdfmanagement_if_active_p:}
- { \pdfmanagement_if_active_p: }
- }
- {
- \@asme@pdfmanagementtrue
- }
- {
- \@asme@pdfmanagementfalse
- }
-\ExplSyntaxOff
-
+%% new pdf management in LaTeX, with \DocumentMetaData{..}, is preferred to this approach.
\ifpdftex
%%% to assist with unicode glyph mapping, following M. Sharpe's recommendation in the newtx documentation.
\IfFormatAtLeastTF{2020/10/01}{\relax}{%
@@ -817,23 +866,12 @@
\fi
\fi
-\RequirePackage{hyperxmp} %% to fix transfer of metadata to Acrobat pdf
-
-% Patch bug in hyperxmp, unless a more recent version is used.
-\@ifpackagelater{hyperxmp}{2022/07/07}{% 2020/11/22}{%
- \relax
- }{%
- \newcount\hypxmp@tempcnt
- \define@key{Hyp}{pdfapart}{%
- \afterassignment\hyxmp@no@bad@parts\hypxmp@tempcnt=0#1\relax
- \hyxmp@pdfstringdef\@pdfapart{\the\hypxmp@tempcnt}%
- }
-}
+%%%
\RequirePackage[psdextra]{hyperref} % recent kernel transition suggests providing most hyperref options via \hypersetup,
% but setting psdextra here (for additional math support in bookmarks) 2021/12/23
\hypersetup{%
- unicode, % Unicode encoded PDF strings
+ unicode, % Unicode encoded PDF strings, default as of hyperref v7.0
pdfborder={0 0 0},%
bookmarksnumbered=true,%
bookmarksopen=true,%
@@ -858,6 +896,25 @@
\providecommand\hrefurl[2]{\href{#1}{#2}}% to address certain issues around URL recognition with new pdf management code, 2021/12/22
%% This alias is also incorporated into asmejour.bst
+\if@asme@pdfmanagement
+ \ClassInfo{asmejour}{pdfmanagement is defined. Class file will not load hyperxmp}
+\else
+ \RequirePackage{hyperxmp} %% to fix transfer of metadata to Acrobat pdf
+ % Patch bug in hyperxmp, unless a more recent version is used.
+ \@ifpackagelater{hyperxmp}{2022/10/15}{% v5.11 or later
+ \relax
+ % \ClassInfo{asmeconf}{hyperxmp v5.11 or later is in use}
+ }{%
+ \ifx\undefined\hyxmp@no@bad@parts\relax\else
+ \newcount\hypxmp@tempcnt
+ \define@key{Hyp}{pdfapart}{%
+ \afterassignment\hyxmp@no@bad@parts\hypxmp@tempcnt=0#1\relax
+ \hyxmp@pdfstringdef\@pdfapart{\the\hypxmp@tempcnt}%
+ }
+ \fi
+ }
+\fi
+
%%%%%% Adjustments to accommodate hyperref bookmarks %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% ==> recent and evolving development of \pdfstring removes all robust commands from bookmarks, so
@@ -886,7 +943,7 @@
}
%% Let's make sure footnotes in section headings don't break pdf bookmarks.
-\robustify{\footnote}
+%\robustify{\footnote} % redefined footnote above is protected, 2023/10/21
\pdfstringdefDisableCommands{%
\def\footnote#1{}%
}
@@ -929,26 +986,9 @@
\newlength\nomenwidth
\newlength\savitemsep
-%% ==> xparse "g" argument used in this version of \entry is deprecated; so have phased out this version, 2021/12/22
-%% If the second argument of \entry is omitted, a bold section heading is produced, e.g. \entry{Greek Letters}
-%\NewDocumentCommand{\entry}{m g}{%
-% \IfNoValueTF{#2}{%
-% \itemsep12\p@ plus 4\p@ minus 4\p@% \bigskip
-% \goodbreak\item[\bfseries#1\hfill]\itemsep3\p@ plus 1\p@ minus 1\p@\@itempenalty=1000%
-% }{%
-% \item[\hfill#1${} = {}$]#2%
-% \@itempenalty=-\@lowpenalty%
-% \setlength\itemsep\savitemsep%
-% \settowidth\@widest{#1${} = {}$}%
-% \ifdim\@widest>\widest \global\setlength\widest\@widest\fi%
-% }
-%}
-
\NewDocumentCommand{\entry}{m m}{%
-\ifblank{#2}{%
- \ClassWarningNoLine{asmejour}{The command \protect\entry should have two arguments. For subheadings, \protect\EntryHeading is preferred}
- \itemsep12\p@ plus 4\p@ minus 4\p@% \bigskip
- \goodbreak\item[\bfseries#1\hfill]\itemsep3\p@ plus 1\p@ minus 1\p@\@itempenalty=1000%
+ \ifblank{#2}{%
+ \ClassError{asmejour}{The command \protect\entry should have two arguments. For subheadings, use \protect\EntryHeading}{It appears that you gave only one argument for \protect\entry. You need to include a second argument.}
}{%
\item[\hfill#1${} = {}$]#2%
\@itempenalty=-\@lowpenalty%
@@ -961,7 +1001,7 @@
%% A separate command command for nomenclature subheadings
\NewDocumentCommand\EntryHeading{m}{%
\itemsep12\p@ plus 4\p@ minus 4\p@% \bigskip
- \goodbreak\item[\bfseries#1\hfill]\itemsep3\p@ plus 1\p@ minus 1\p@\@itempenalty=1000%
+ \goodbreak\item[\bfseries#1\hfill]\mbox{}\itemsep3\p@ plus 1\p@ minus 1\p@\@itempenalty=1000% add \mbox for tagged pdf, 2023/10/20
}
\RequirePackage{totcount}
@@ -994,7 +1034,9 @@
%%%%%%%%%%%%%%%% List of figures and list of tables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% ASME requires these lists for production.
-\ifaj@lists
+\ifasmejour@nolists
+ \LogNote{Omitting lists of figures and tables}%
+\else
\AtEndDocument{%
\clearpage
\twocolumn[%
@@ -1004,9 +1046,20 @@
\end{@twocolumnfalse}
]%
}%
-\else
- \LogNote{Omitting lists of figures and tables}%
\fi
+%\ifaj@lists
+% \AtEndDocument{%
+% \clearpage
+% \twocolumn[%
+% \begin{@twocolumnfalse}
+% \listoffigures
+% \listoftables
+% \end{@twocolumnfalse}
+% ]%
+% }%
+%\else
+% \LogNote{Omitting lists of figures and tables}%
+%\fi
%%%%%%%%%%%%%%%% Author/Title/Abstract block %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1066,7 +1119,12 @@
\NewDocumentCommand\@SetAbstract{+m}{% add + to enable blank lines, etc. 2021/01/31
\SetVerticalCoffin{\Abstract}{114mm}{%
- \noindent\itshape%
+ \ifasmejour@lineno
+ \rightlinenumbers*
+ \renewcommand*{\thelinenumber}{\roman{linenumber}}
+ \internallinenumbers
+ \fi
+ \noindent\itshape%
#1
\@keywords\par%
\vspace*{4mm}% <== at bottom of abstract to extend rule
@@ -1081,7 +1139,7 @@
\else
\addtolength{\rulecofheight}{7.0mm}
\fi
- \SetHorizontalCoffin \ruleblock {\color{\@ColorName}\rule{2.1mm}{\rulecofheight}}
+ \SetHorizontalCoffin \ruleblock {\color{\asmejour@barcolor}\rule{2.1mm}{\rulecofheight}}
\JoinCoffins\firstrowauthorblock[vc,r]\ruleblock[vc,l](\coffinsep,0pt)
\JoinCoffins\firstrowauthorblock[vc,r]\Title[vc,l](\coffinsep,0pt)
\centerline{\TypesetCoffin\firstrowauthorblock} %% in this instance, \centerline is better than \centering
@@ -1125,11 +1183,11 @@
\footnotetext{\CAwords\@CAsep \@CAemail}% includes legacy code, will remove \@CA commands eventually
\fi
\ifaj@Date\revfootnote{\@Date}\else\relax\fi
- \ifaj@contractor\revfootnote{The United States Government retains, and by accepting the article for publication, the publisher acknowledges that the United States Government retains, a non-exclusive, paid-up, irrevocable, worldwide license to publish or reproduce the published form of this work, or allow others to do so, for United States Government purposes.}%
+ \ifasmejour@contractor\revfootnote{The United States Government retains, and by accepting the article for publication, the publisher acknowledges that the United States Government retains, a non-exclusive, paid-up, irrevocable, worldwide license to publish or reproduce the published form of this work, or allow others to do so, for United States Government purposes.}%
\fi
- \ifaj@govt\revfootnote{This material is declared a work of the U.S. Government and is not subject to copyright protection in the United States. Approved for public release; distribution is unlimited.}%
+ \ifasmejour@govt\revfootnote{This material is declared a work of the U.S. Government and is not subject to copyright protection in the United States. Approved for public release; distribution is unlimited.}%
\fi
- \ifaj@govtsome\revfootnote{This work was authored in part by a U.\ S.\ Government employee in the scope of his/her employment. ASME disclaims all interest in the U.\ S.\ Government's contribution.}%
+ \ifasmejour@govtsome\revfootnote{This work was authored in part by a U.\ S.\ Government employee in the scope of his/her employment. ASME disclaims all interest in the U.\ S.\ Government's contribution.}%
\fi
}