texlive[73602] Master/texmf-dist: asmejour (26jan25)

commits+karl at tug.org commits+karl at tug.org
Sun Jan 26 22:02:12 CET 2025


Revision: 73602
          https://tug.org/svn/texlive?view=revision&revision=73602
Author:   karl
Date:     2025-01-26 22:02:11 +0100 (Sun, 26 Jan 2025)
Log Message:
-----------
asmejour (26jan25)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/asmejour/README.md
    trunk/Master/texmf-dist/doc/latex/asmejour/asmejour-sample.bib
    trunk/Master/texmf-dist/doc/latex/asmejour/asmejour-template.pdf
    trunk/Master/texmf-dist/doc/latex/asmejour/asmejour-template.tex
    trunk/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf
    trunk/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.tex
    trunk/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmewide.sty
    trunk/Master/texmf-dist/tex/latex/asmejour/asmejour.cls

Modified: trunk/Master/texmf-dist/doc/latex/asmejour/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/asmejour/README.md	2025-01-26 21:02:00 UTC (rev 73601)
+++ trunk/Master/texmf-dist/doc/latex/asmejour/README.md	2025-01-26 21:02:11 UTC (rev 73602)
@@ -1,11 +1,11 @@
  
   #asmejour: A template for ASME journal papers#
  
-  Version 1.23 dated 2024/07/24.
+  Version 1.24 dated 2025/01/26.
 
   ####Overview####
   This class provides a template to format preprints in the style of journal papers published by the American Society of Mechanical Engineers. 
-  The layout and reference formats follow the style of published papers in 2023.
+  The layout and reference formats follow the style of published papers in 2025.
   
   This work is not a publication of ASME.
 
@@ -67,6 +67,15 @@
  
  ####Change log####
 
+v1.24 (2025/01/26)
+ - Drop metalogo package
+ - Add optional line numbers to author and title text
+ - Rescale roman, helvetica, and typewriter fontdimens under fontspec to match pdftex
+ - Define \\@title
+ - Replace xcoffin package by expl3 coffins, and resolve related tagging problem
+ - Edits to asmewide.sty: set \\@RuleWidth at end of \\maketitle; add \\ignorespacesafterend
+ - Minor code clean-up
+
 v1.23 (2024/07/24)
  - Add class option for single-column formatting, \[singlecolumn\], as sometimes requested for review (thanks Lennart Hultgren)
  - Change language sample from French to German, to avoid active characters (from Fourier to Pohlhausen)
@@ -169,7 +178,7 @@
  
  ####License####
 
- Copyright (c) 2021 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, 

Modified: trunk/Master/texmf-dist/doc/latex/asmejour/asmejour-sample.bib
===================================================================
--- trunk/Master/texmf-dist/doc/latex/asmejour/asmejour-sample.bib	2025-01-26 21:02:00 UTC (rev 73601)
+++ trunk/Master/texmf-dist/doc/latex/asmejour/asmejour-sample.bib	2025-01-26 21:02:11 UTC (rev 73602)
@@ -1,6 +1,6 @@
 %% Sample bibliography file for asmejour.bst and asmejour.cls
 %%
-%% Revised: 21 July 2024
+%% Revised: 9 August 2024
 %% Copyright John H. Lienhard, MIT
 %% Offered under the MIT license: https://ctan.org/license/mit 
 
@@ -432,7 +432,7 @@
 }
 
 @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,

Modified: trunk/Master/texmf-dist/doc/latex/asmejour/asmejour-template.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/asmejour/asmejour-template.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/asmejour/asmejour-template.tex	2025-01-26 21:02:00 UTC (rev 73601)
+++ trunk/Master/texmf-dist/doc/latex/asmejour/asmejour-template.tex	2025-01-26 21:02:11 UTC (rev 73602)
@@ -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.23 dated 2024/07/24
+%%  This file is version 1.24 dated 2024/01/26
 %%
 %%  Author: John H. Lienhard V
 %%          Department of Mechanical Engineering
@@ -35,13 +35,6 @@
 %%
 %%			* Option for single column formatting [singlecolumn].
 %%
-%%			* 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] will select other levels: 1b, 2b, 2u, and 3b.
-%%			*
-%%			*    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,...
@@ -48,10 +41,8 @@
 %%          *    frak (fraktur), bb (blackboard bold), scr (script) may also be controlled.
 %%
 %%          * Math options from M. Sharpe's newtxmath package: upright integrals [upint];
-%%          *    [varvw] for a v and w that are better distinguished from Greek nu; [subscriptcorrection]
-%%			*	 to fine-tune the placement of math subscripts; and also additional options such as
-%%          *    [smallerops, varg, slantedGreek, frenchmath, varbb, cmbraces]. Version 1.6 or higher
-%%          *    is recommended.
+%%          *    [varvw] for a v and w that are better distinguished from Greek nu; and other options 
+%%          *    such as [smallerops, varg, slantedGreek, frenchmath, varbb, cmbraces]. 
 %%
 %%          * With pdfTeX, an option to use newtxtext's slightly larger small capitals font [largesc]
 %%
@@ -64,6 +55,13 @@
 %%          *    abstract in an appendix), e.g. [german].  The main language will default to English 
 %%          *    unless a different main language is selected, e.g. [main=spanish]. See Appendix B for details.
 %%
+%%			* Legacy 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] will select other 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 new feature, 
+%%			*	 which can replace the aforementioned class options. (An up-to-date LaTeX installation is required.)
+%%
 %%  For details of the newtx and mathalfa packages, refer to their documentation (available at CTAN: http://ctan.org).
 %%
 %%  The use of commands defined or modified by the asmejour class is illustrated below. In particular, some care
@@ -73,7 +71,7 @@
 %% 
 %% LICENSE: 
 %%
-%% Copyright (c) 2024 John H. Lienhard
+%% Copyright (c) 2025 John H. Lienhard
 %%
 %% Offered under the MIT license: https://ctan.org/license/mit 
 %%
@@ -82,10 +80,10 @@
 %% 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
+%% 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 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,
 }
@@ -93,7 +91,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 %% Class options are described above.
-\documentclass[nocopyright,upint,varvw,barcolor=Goldenrod3,mathalfa=cal=euler,balance,hyphenate,german]{asmejour}% subscriptcorrection,french
+\documentclass[nocopyright,upint,varvw,barcolor=Goldenrod3,mathalfa=cal=euler,balance,hyphenate,german]{asmejour}% 
 
 %%%%  pdf metadata  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
@@ -423,8 +421,8 @@
 %%%%%%%%%%%%%%%%%%%  begin linewidth table  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \begin{table}[t]
+\caption{Table at full column width with columns in math mode}\label{tab:3}
 \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}
 \begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}CCCC@{\extracolsep{\fill}}}
 \toprule
 X_{z} & X_{c} & X_{c,m} & X_{c,2}\rule{0pt}{8pt}\\
@@ -460,13 +458,10 @@
 
 \subsection{Federal Copyright Notices} Several types of copyright statement can be placed an unnumbered footnote on the first page. Use the option \texttt{[govt]} when all authors are federal employees, \texttt{[govtsome]} when some authors are federal employees, and \texttt{[contractor]} when the authors are federal contractors.
 
-\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 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{..}|.
+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, 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}.
 
@@ -511,7 +506,7 @@
 \section{Conclusions}
 
 The class \texttt{asmejour} and associated files are for typesetting preprints in the style of ASME journals.
-Documentation is provided in this file and by comments in the \texttt{.tex} source code. Examples of references are shown in the \texttt{asmejour-sample.bib} file.  The \texttt{asemjour.bst} file produces references following ASME's current formats.  The code is compatible with both {\hologo{pdfLaTeX}} and \LuaLaTeX. This package is not a publication of ASME and is offered at no cost under the terms of the \hrefurl{https://ctan.org/license/mit}{MIT license}. 
+Documentation is provided in this file and by comments in the \texttt{.tex} source code. Examples of references are shown in the \texttt{asmejour-sample.bib} file.  The \texttt{asemjour.bst} file produces references following ASME's current formats.  The code is compatible with both {\hologo{pdfLaTeX}} and \hologo{LuaLaTeX}. This package is not a publication of ASME and is offered at no cost under the terms of the \hrefurl{https://ctan.org/license/mit}{MIT license}. 
 
 \begin{enumerate}
 \item First conclusion 

Modified: trunk/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.tex	2025-01-26 21:02:00 UTC (rev 73601)
+++ trunk/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.tex	2025-01-26 21:02:11 UTC (rev 73602)
@@ -1,6 +1,6 @@
 %%  Examples of a widetext macro for setting wide equations in the asmejour class.
 %%
-%%  Copyright (c) 2024 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}
@@ -12,11 +12,17 @@
 %%
 %%  NB: the strip environment from cuted is incompatible with the [lineno] option to asmejour!
 %%
-\documentclass[nocopyright,nolists,pdf-a]{asmejour}
+\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[nocopyright,nolists]{asmejour}
+
 %%  This file's version and date are:
-		\def\AJwidetextversion{1.02}
-		\def\AJverdate{July 24, 2024}
+		\def\AJwidetextversion{1.03}
+		\def\AJverdate{January 26, 2025}
 %
 \usepackage{asmewide}
 \usepackage{lipsum}% Latin filler text (lipsum generates a message about 'unused global options' - this can be ignored)

Modified: trunk/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmewide.sty
===================================================================
--- trunk/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmewide.sty	2025-01-26 21:02:00 UTC (rev 73601)
+++ trunk/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmewide.sty	2025-01-26 21:02:11 UTC (rev 73602)
@@ -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,24 +12,25 @@
 %%  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}
-%%			NB: remove the option [balance] when using [raggedend]!
 %%
 %%  NB: the strip environment from cuted is incompatible with the [lineno] option to asmeconf and asmejour!
 %%
 \NeedsTeXFormat{LaTeX2e}
 
-\def\AW at versionno{1.1}
-\def\AW at versiondate{2022/06/26\space}
+\def\AW at versionno{1.11}
+\def\AW at versiondate{2025/01/22\space}
 \ProvidesPackage{asmewide}[\AW at versiondate\space v\AW at versionno\space ASME wide equation environment (JHL)]
 
 \DeclareOption{raggedend}{% Added 2022/05/08, to suppressed flushend on last page, if desired
@@ -46,7 +47,7 @@
 \@ifpackagelater{cuted}{2021/10/04}{%
     \relax
 }{%
-    \PackageError{asmewide}{The asmewide package has detected that the version of cuted.sty you are using is too old to be compatible. You can get an update at https://ctan.org/pkg/sttools}{You need at least v2.0 of cuted.sty to run asmewide.sty. Without it, you will get more errors. See discussion of installation process here: https://github.com/John02139/asmeconf/issues/4}%
+    \PackageError{asmewide}{Your version of cuted.sty is too old. You can get an update at https://ctan.org/pkg/cuted}{You need an up-to-date version of cuted.sty to run asmewide.sty.}%
 }
 
 \RequirePackage{flushend}[2021/10/04]
@@ -60,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}
@@ -129,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

Modified: trunk/Master/texmf-dist/tex/latex/asmejour/asmejour.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/asmejour/asmejour.cls	2025-01-26 21:02:00 UTC (rev 73601)
+++ trunk/Master/texmf-dist/tex/latex/asmejour/asmejour.cls	2025-01-26 21:02:11 UTC (rev 73602)
@@ -5,8 +5,8 @@
 %%  The asmejour.cls file should be used with the files asmejour.bst (for citations) and asmejour-template.tex.
 %%
 %%  This file's version and date are:
-		\def\versionno{1.23}
-		\def\versiondate{2024/07/24\space}
+		\def\versionno{1.24}
+		\def\versiondate{2025/01/26\space}
 %%
 %%  Author: John H. Lienhard V
 %%          Department of Mechanical Engineering
@@ -39,7 +39,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, 
@@ -63,7 +63,7 @@
 
 \LoadClass[twoside,9pt]{extarticle}% twocolumn format initiated in \MakeTitle command 2024/07/20
 
-\RequirePackage{iftex}% provides \ifpdftex, etc.
+\RequirePackage{iftex}[2019/11/07]% provides \ifpdftex, etc.
 \RequirePackage{ifthen}
 
 \ExplSyntaxOn
@@ -284,12 +284,12 @@
 }
 
 %% 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)	
+\def\MonoNotMono{WordSpace={1,1,1}}% rescaled tt font to match pdf, 2024/07/30
 \DeclareOption{mono}{%
 	\ifpdftex
 		\PassOptionsToPackage{mono}{inconsolata}% mono is a key via xkeyval in inconsolata
 	\else
-		\def\MonoNotMono{}%
+		\def\MonoNotMono{WordSpace={1,0,0},PunctuationSpace={3}}% 2024/07/30, these are actually default WordSpace values
 	\fi
 }
 
@@ -376,9 +376,11 @@
 	\IfFontExistsTF{texgyreheros}{}{  \ClassWarningNoLine{\ClassName}{\FontWarning} }
 	\IfFontExistsTF{Inconsolatazi4}{}{\ClassWarningNoLine{\ClassName}{\FontWarning} }
 	%
+	% The newtx package includes a modified version of TeXGyreTermes called TexGyreTermesX, which could be loaded instead (includes
     \setmainfont{TeXGyreTermes}[% Presumes these are system fonts! Available at: http://www.gust.org.pl/projects/e-foundry/tex-gyre
-		WordSpace = {1.20,1.43,1.2},%% This stretch matches newtxtext a little better (reset 2024/07/23)
-    	Extension = .otf,
+		WordSpace = {1.20,1.44,1.2},% This stretch matches newtxtext fontdimens (reset 2024/07/30)
+    	PunctuationSpace = {1.33},% reset 2024/07/30
+	    Extension = .otf,
     	UprightFont = *-Regular,
     	ItalicFont = *-Italic,
     	BoldFont = *-Bold,
@@ -386,8 +388,8 @@
 		Numbers = Lining,
 		]
     \setsansfont{texgyreheros}[% Presumes these are system fonts! Available at: http://www.gust.org.pl/projects/e-foundry/tex-gyre
-		WordSpace = {1.20,1.43,1.2},%% This stretch matches newtxtext a little better (reset 2024/07/23)
-%		WordSpace = {1,1.4,1},
+		WordSpace = {1,1,1.0036},%% This stretch matches newtxtext fontdimens (reset 2024/07/30)
+    	PunctuationSpace = {1.0036},% reset 2024/07/30
 		Extension = .otf,
     	UprightFont = *-regular,
     	ItalicFont = *-italic,
@@ -397,8 +399,7 @@
     	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
+        Scale=1.0,% rescaled 1.05, 2022/03/10; reset to 1 2024/07/30, based on fontdimen6 (and all others!)
         Extension = .otf,
         UprightFont = *-Regular,
         ItalicFont = *-Regular,% has no italic face
@@ -405,6 +406,7 @@
         BoldFont = *-Bold, 
     	BoldItalicFont = *-Bold,% has no italic face
         RawFeature = {+ss01,\ssztwo,+ss03},
+        \MonoNotMono,% WordSpace and PunctuationSpace are set in the class option [mono]
         ]
 \fi
   
@@ -435,7 +437,7 @@
 \newcommand*{\CondSansBold}{\renewcommand\bfdefault{b}\fontencoding{T1}\fontfamily{qhvc}\selectfont\bfseries} 
 \renewcommand\Huge{\@setfontsize\Huge{26.5}{26.5}}    %... for title only
   
-\RequirePackage{metalogo,hologo}% Access to various LaTeX logos (for use in the documentation)
+\RequirePackage{hologo}% Access to various LaTeX logos (for use in the documentation). Dropped metalog 2024/08/09
 
 %% This provides sans serif italic and sans serif bold italic math, against with fonts from newtxsf.
 %% For use in the figure and table captions.
@@ -554,9 +556,14 @@
 %% 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 at th#1}}
+% To free \eqref from the normal font (e.g., for use in section headings or captions). Revised 2024/07/28
+\renewcommand{\eqref}[1]{\textup{\hbox{\m at th{(\ignorespaces\ref{#1}\unskip\@@italiccorr)}}}}
+%
+% amsmath def:  \newcommand{\eqref}[1]{\textup{\tagform@{\ref{#1}}}}
+%				\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip\@@italiccorr)}}
+%				\def\maketag@@@#1{\hbox{\m at th\normalfont#1}}
 
+
 %% Italicize alph part of subequation numbers. Revised 2023/10/20
 \patchcmd{\subequations}{\theparentequation\alph{equation}}{\theparentequation\itshape\alph{equation}}{}{}
 
@@ -669,10 +676,6 @@
 
 %%%%%% Footnotes %%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\RequirePackage{fnpos}
-\makeFNbottom
-\makeFNbelow
-
 \RequirePackage{footmisc}%
 \IfPackageAtLeastTF{footmisc}{2022/02/05}{
 	 	\PassOptionsToPackage{belowfloats}{footmisc}%
@@ -701,8 +704,8 @@
 %% include a comma for sequential footnotes
 \ExplSyntaxOn
 	\cs_new:Npn   \__asmejour_NoteComma:n { \peek_meaning:NT \footnote { \textsuperscript{\mdseries,} } }
-	\cs_new_eq:NN \__savefootnote \footnote
-	\cs_gset_protected:Npn \footnote #1    { \__savefootnote{#1}\__asmejour_NoteComma:n } 
+	\cs_new_eq:NN \__asmejour_savefootnote \footnote
+	\cs_gset_protected:Npn \footnote #1    { \__asmejour_savefootnote{#1}\__asmejour_NoteComma:n } 
 \ExplSyntaxOff
 
 
@@ -775,7 +778,8 @@
 %%%%%%%%%%%%%%%%%  Hyperref  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \ifpdftex
-    %%% to assist with unicode glyph mapping in pdf/a, per M. Sharpe's recommendation in newtx documentation
+    %%% to assist with unicode glyph mapping, following M. Sharpe's recommendation in the newtx documentation. 
+    %%% as of 2024/07/28, these are still necessary with \DocumentMetadata{pdfstandard=A-3u}. Note: glyphtounicode-cmex.tex is now in latex-lab.
     \InputIfFileExists{glyphtounicode-cmr.tex}{}{} 	%% additional mappings
     \InputIfFileExists{glyphtounicode-ntx.tex}{}{} 	%% additional mappings
 
@@ -828,12 +832,11 @@
 
 \providecommand*{\toclevel at 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/22
-%% This alias is also incorporated into asmejour.bst
-
 \ifasme at pdfmanagement
 	\ClassInfo{\ClassName}{pdfmanagement is defined. Class file will not load hyperxmp}
 \else
+	\providecommand\hrefurl[2]{\href{#1}{#2}}% if new pdf management code is not loaded, 2021/12/22
+	% This alias is also incorporated into asmejour.bst
     \RequirePackage{bookmark} %% improves handling of pdf bookmarks
 	\RequirePackage{hyperxmp} %% to fix transfer of metadata to Acrobat pdf 
 	% Patch bug in hyperxmp, unless a more recent version is used.
@@ -966,88 +969,105 @@
 
 %%%%%%%%%%%%%%%%  Author/Title/Abstract block  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\RequirePackage{xcoffins}
+% convert to expl3 2024/08/19
+\ExplSyntaxOn
 
-\NewCoffin{\authorblock}
-\NewCoffin{\ruleblock}
-\NewCoffin{\Abstract}
-\NewCoffin{\Title}
+\coffin_new:N \g__asmejour_authorblock_coffin
+\coffin_new:N \g__asmejour_ruleblock_coffin
+\coffin_new:N \g__asmejour_abstract_coffin
+\coffin_new:N \g__asmejour_title_coffin
+\coffin_new:N \g__asmejour_firstrowauthorblock_coffin
 
-\NewCoffin{\firstrowauthorblock}
-\AtBeginDocument{%
-	\SetHorizontalCoffin\firstrowauthorblock{}%
-}% corrected 2021/12/22
+\dim_new:N   \g__asmejour_coffinsep_dim %%% vert space between aut coffins
+\dim_gset:Nn \g__asmejour_coffinsep_dim {4.5mm}
 
-\newlength{\coffinsep}%%% space between coffins
-\setlength{\coffinsep}{4.5mm}
+\dim_new:N   \g__asmejour_coffinspace_dim %%% vert space between title/abst coffins
+\dim_gset:Nn \g__asmejour_coffinspace_dim {6.75mm}
 
-\newcounter{authorno}
-\setcounter{authorno}{0}
+\dim_new:N \g__asmejour_rulecofheight_dim
+\dim_new:N \g__asmejour_titleheight_dim
 
-%%%%%%
+\cs_new:Nn \__asmejour_internallinenumbers:n {
+       \ifasmejour at lineno
+          \str_if_in:nnT {#1} {R} { \rightlinenumbers* }
+          \str_if_in:nnT {#1} {r} { \rightlinenumbers* }
+	 	  \cs_set:Npn \thelinenumber { \@roman\c at linenumber }
+		  \internallinenumbers
+	   \fi
+}
 
-\newlength{\rulecofheight}
-\newlength{\Titleheight}
+%% This command is used in the .tex file
+\NewDocumentCommand\SetAuthorBlock{m m}{
+	\__asmejour_setauthorblock:nn { #1 } { #2 }
+}
 
-\NewDocumentCommand\SetAuthorBlock{m m}{%
-   \addtocounter{authorno}{1}%
-   \SetVerticalCoffin{\authorblock}{48.2mm}{%
-   \raggedleft\sffamily%
-   {\huge\CondSansBold\ignorespaces#1\ignorespaces}\\
-   \CondSans#2%
+\hcoffin_gset:Nn  \g__asmejour_firstrowauthorblock_coffin {}
+\int_gzero_new:N  \g__asmejour_authorno_int
+
+\cs_new:Nn \__asmejour_setauthorblock:nn {
+   \int_gincr:N \g__asmejour_authorno_int
+   \vcoffin_set:Nnn \g__asmejour_authorblock_coffin {48.2mm} {
+	   \__asmejour_internallinenumbers:n {}
+	   \raggedleft\sffamily
+	   {\huge\CondSansBold \tl_trim_spaces:n { #1 } }\\ 
+	   \CondSans#2
+	}
+    \int_compare:nNnTF { \g__asmejour_authorno_int } =  { 1 } {
+    	\coffin_join:NnnNnnnn \g__asmejour_firstrowauthorblock_coffin { hc } { b } \g__asmejour_authorblock_coffin { hc } {t } { 0pt } { 0pt } 
+        \dim_gset:Nn \g__asmejour_rulecofheight_dim  { \coffin_ht:N \g__asmejour_firstrowauthorblock_coffin  +  \coffin_dp:N \g__asmejour_firstrowauthorblock_coffin }
+     }{
+    	\coffin_join:NnnNnnnn \g__asmejour_firstrowauthorblock_coffin { hc } { b } \g__asmejour_authorblock_coffin {hc } {t } { 0pt } { - \dim_use:N \g__asmejour_coffinsep_dim }
+        \dim_gset:Nn \g__asmejour_rulecofheight_dim  { \coffin_ht:N \g__asmejour_firstrowauthorblock_coffin  +  \coffin_dp:N \g__asmejour_firstrowauthorblock_coffin }
+    }     
 }
-\ifnum\value{authorno}=1
-    \JoinCoffins\firstrowauthorblock\authorblock
-    \setlength{\rulecofheight}{\CoffinTotalHeight\firstrowauthorblock} 
-  \else
-    \JoinCoffins\firstrowauthorblock[hc,b]\authorblock[hc,t](0pt,-\coffinsep)
-    \setlength{\rulecofheight}{\CoffinTotalHeight\firstrowauthorblock}
-\fi     
-}
+%% Standard coffin poles are (l hc r t T vc b B). See xcoffins documentation. 
 
-\NewDocumentCommand\SetTitle{m}{%
-   \SetVerticalCoffin{\Title}{114mm}{%
+\NewDocumentCommand\@SetTitle{m}{
+   \cs_gset:Npn \@title {#1} % 2024/07/30 (make this standard command available)
+   \vcoffin_set:Nnn \g__asmejour_title_coffin {114mm} {
+	   \__asmejour_internallinenumbers:n {R}
    	  \vspace*{0.5mm}% <== ASME doesn't align bar and text
-   	  \noindent\Huge\CondSansBold\raggedright%
-   	  #1%
-	  %\gdef\@title{#1}% for tagging, etc. 2024/07/24. pdf metadata will probably override.
+   	  \noindent\Huge\CondSansBold\raggedright
+   	  #1
    	  \par
    }
 }
 
-\providecommand{\@keywords}{\relax}
-\NewDocumentCommand{\keywords}{m}{% changed to remove g option, 2021/01/30
-	\long\def\@keywords{\par\vskip\baselineskip\noindent{\keywordname:} #1}%
+%% \keywords is used in the .tex file
+\cs_new:Npn \__asmejour_keywords {\relax}
+\NewDocumentCommand{\keywords}{m}{% removed g option, 2021/01/30
+	\cs_gset:Npn \__asmejour_keywords { \par\vskip\baselineskip\noindent{\keywordname :}~#1 }
 }
 
 \NewDocumentCommand\@SetAbstract{+m}{% add + to enable blank lines, etc. 2021/01/31
-   \SetVerticalCoffin{\Abstract}{114mm}{%
-       \ifasmejour at lineno
-       	 \rightlinenumbers*
-	 	 \renewcommand*{\thelinenumber}{\roman{linenumber}}
-		 \internallinenumbers
-	   \fi
-       \noindent\itshape%
-      #1
-      \@keywords\par% 
-      \vspace*{4mm}% <== at bottom of abstract to extend rule
+    \vcoffin_set:Nnn \g__asmejour_abstract_coffin {114mm}{
+	   \__asmejour_internallinenumbers:n {R}
+       \noindent\itshape
+       #1
+       \__asmejour_keywords\par 
+       \vspace*{4mm}% <== at bottom of abstract to extend rule
     }
 }
 
 \NewDocumentCommand{\@ConstructAuthorBlock}{}{%
-	\JoinCoffins\Title[l,b]\Abstract[l,t](0pt,-1.5\coffinsep)
-	\setlength{\Titleheight}{\CoffinTotalHeight\Title}
-	\ifdim\Titleheight>\rulecofheight
-	   \setlength{\rulecofheight}{\Titleheight}
-	\else
-	   \addtolength{\rulecofheight}{7.0mm} 
-	\fi
-    \SetHorizontalCoffin \ruleblock {\color{\asmejour at 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
+    \__asmejour_constructauthorblock:
 }   
+\cs_new:Nn 	\__asmejour_constructauthorblock: {
+	\coffin_join:NnnNnnnn \g__asmejour_title_coffin { l } { b } \g__asmejour_abstract_coffin { l } {t } { 0pt } { - \dim_use:N \g__asmejour_coffinspace_dim } 
+    \dim_gset:Nn \g__asmejour_titleheight_dim  { \coffin_ht:N \g__asmejour_title_coffin + \coffin_dp:N \g__asmejour_title_coffin }
+	\if_dim:w \g__asmejour_titleheight_dim > \g__asmejour_rulecofheight_dim
+		\dim_gset:Nn \g__asmejour_rulecofheight_dim { \g__asmejour_titleheight_dim }
+	\else:
+		\dim_add:Nn  \g__asmejour_rulecofheight_dim {7.0mm} 
+	\fi:
+	\hcoffin_set:Nn \g__asmejour_ruleblock_coffin { \color{\asmejour at barcolor}\rule{2.1mm}{ \dim_use:N \g__asmejour_rulecofheight_dim } }
+	\coffin_join:NnnNnnnn \g__asmejour_firstrowauthorblock_coffin { vc } { r } \g__asmejour_ruleblock_coffin {vc } { l } { \dim_use:N \g__asmejour_coffinsep_dim } { 0pt } 
+	\coffin_join:NnnNnnnn \g__asmejour_firstrowauthorblock_coffin { vc } { r } \g__asmejour_title_coffin {vc } { l } { \dim_use:N \g__asmejour_coffinsep_dim } { 0pt } 
+    \coffin_typeset:Nnnnn \g__asmejour_firstrowauthorblock_coffin { l }{t }{ 0pt }{ 0pt }
+}
 
+\ExplSyntaxOff
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %% Corresponding author gets footnote #1 and subsequent notes are 2, 3, ....
 %% ASME apparently does not recognize joint first authors...so I have not coded that functionality
@@ -1069,7 +1089,7 @@
 \setlength{\@AbstractSep}{12.5mm}
 \NewDocumentCommand\AbstractSep{m}{\setlength{\@AbstractSep}{#1}}
 
-\NewDocumentCommand{\MakeTitlePage}{}{%
+\NewDocumentCommand{\@MakeTitlePage}{}{%
     \thispagestyle{title}%
     \ifasmejour at singlecolumn % 2024/07/20
     	\@ConstructAuthorBlock
@@ -1097,8 +1117,8 @@
 
 %% Provide compatibility with titling commands from standard LaTeX article class
 
-\RenewDocumentCommand{\maketitle}{}{\MakeTitlePage}
-\RenewDocumentCommand{\title}{}{\SetTitle}
+\RenewDocumentCommand{\maketitle}{}{\@MakeTitlePage}
+\RenewDocumentCommand{\title}{}{\@SetTitle}
 
 \RenewDocumentEnvironment{abstract}{+b}{\gdef\tmp{\@SetAbstract{#1}}\aftergroup\tmp}{\ignorespaces} 
 %% Thanks to DPC for the suggestion of \gdef\tmp{...



More information about the tex-live-commits mailing list.