summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2025-01-26 21:02:11 +0000
committerKarl Berry <karl@freefriends.org>2025-01-26 21:02:11 +0000
commit014ad61ed29e9c7e5fe5cb473ffc4a0c497d7766 (patch)
treed675a9f172331ed3e110d751774b03358bad093c /Master
parent2d2767490e2b1bc062bd18b3e07a8609d613ed53 (diff)
asmejour (26jan25)
git-svn-id: svn://tug.org/texlive/trunk@73602 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/asmejour/README.md15
-rw-r--r--Master/texmf-dist/doc/latex/asmejour/asmejour-sample.bib4
-rw-r--r--Master/texmf-dist/doc/latex/asmejour/asmejour-template.pdfbin728579 -> 729440 bytes
-rw-r--r--Master/texmf-dist/doc/latex/asmejour/asmejour-template.tex43
-rw-r--r--Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.pdfbin2982565 -> 2979461 bytes
-rw-r--r--Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmejour-wide-equation-examples.tex14
-rw-r--r--Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmewide.sty26
-rw-r--r--Master/texmf-dist/tex/latex/asmejour/asmejour.cls194
8 files changed, 164 insertions, 132 deletions
diff --git a/Master/texmf-dist/doc/latex/asmejour/README.md b/Master/texmf-dist/doc/latex/asmejour/README.md
index 612e0b027a6..4acfe2b725b 100644
--- a/Master/texmf-dist/doc/latex/asmejour/README.md
+++ b/Master/texmf-dist/doc/latex/asmejour/README.md
@@ -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 @@ v1.00: initial release
####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,
diff --git a/Master/texmf-dist/doc/latex/asmejour/asmejour-sample.bib b/Master/texmf-dist/doc/latex/asmejour/asmejour-sample.bib
index 08438fd94d9..fd2888e77b8 100644
--- a/Master/texmf-dist/doc/latex/asmejour/asmejour-sample.bib
+++ b/Master/texmf-dist/doc/latex/asmejour/asmejour-sample.bib
@@ -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,
diff --git a/Master/texmf-dist/doc/latex/asmejour/asmejour-template.pdf b/Master/texmf-dist/doc/latex/asmejour/asmejour-template.pdf
index c15cc9f7977..e90e6b0fa17 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 7e3f8a29306..be61d6561bc 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.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,23 +35,14 @@
%%
%% * 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,...
%% * 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 @@ Note that bookmarks can include simple math. Also note that \texttt{newtxmath} p
%%%%%%%%%%%%%%%%%%% 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 @@ The footers are all generated with the \texttt{fancyhdr} package~\cite{oostrum},
\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 @@ As of June 2022, the \LaTeX 3 team has added native support for PDF/A in the \La
\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
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 c3b0bc535e1..e4ce8701021 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 5a506330aa4..c9f85806837 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
@@ -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)
diff --git a/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmewide.sty b/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmewide.sty
index 949da71852f..58872909090 100644
--- a/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmewide.sty
+++ b/Master/texmf-dist/doc/latex/asmejour/asmewide_example/asmewide.sty
@@ -1,7 +1,7 @@
%%
%% This file is `asmewide.sty'.
%%
-%% Copyright (c) 2022 John H. Lienhard. Use under the MIT license: https://ctan.org/license/mit
+%% Copyright (c) 2025 John H. Lienhard. Use under the MIT license: https://ctan.org/license/mit
%%
%% Defines a widetext environment within ASME dimensions
%% Use for material spanning both columns (i.e., for wide equations)
@@ -12,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@versionno{1.1}
-\def\AW@versiondate{2022/06/26\space}
+\def\AW@versionno{1.11}
+\def\AW@versiondate{2025/01/22\space}
\ProvidesPackage{asmewide}[\AW@versiondate\space v\AW@versionno\space ASME wide equation environment (JHL)]
\DeclareOption{raggedend}{% Added 2022/05/08, to suppressed flushend on last page, if desired
@@ -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
diff --git a/Master/texmf-dist/tex/latex/asmejour/asmejour.cls b/Master/texmf-dist/tex/latex/asmejour/asmejour.cls
index a8cd43eae27..fd8144bd62d 100644
--- a/Master/texmf-dist/tex/latex/asmejour/asmejour.cls
+++ b/Master/texmf-dist/tex/latex/asmejour/asmejour.cls
@@ -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,14 +399,14 @@
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
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,8 +556,13 @@
%% 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}}
+% 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@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@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@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@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,87 +969,104 @@
%%%%%%%%%%%%%%%% Author/Title/Abstract block %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\RequirePackage{xcoffins}
-
-\NewCoffin{\authorblock}
-\NewCoffin{\ruleblock}
-\NewCoffin{\Abstract}
-\NewCoffin{\Title}
+% convert to expl3 2024/08/19
+\ExplSyntaxOn
-\NewCoffin{\firstrowauthorblock}
-\AtBeginDocument{%
- \SetHorizontalCoffin\firstrowauthorblock{}%
-}% corrected 2021/12/22
+\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
-\newlength{\coffinsep}%%% space between coffins
-\setlength{\coffinsep}{4.5mm}
+\dim_new:N \g__asmejour_coffinsep_dim %%% vert space between aut coffins
+\dim_gset:Nn \g__asmejour_coffinsep_dim {4.5mm}
-\newcounter{authorno}
-\setcounter{authorno}{0}
+\dim_new:N \g__asmejour_coffinspace_dim %%% vert space between title/abst coffins
+\dim_gset:Nn \g__asmejour_coffinspace_dim {6.75mm}
-%%%%%%
+\dim_new:N \g__asmejour_rulecofheight_dim
+\dim_new:N \g__asmejour_titleheight_dim
-\newlength{\rulecofheight}
-\newlength{\Titleheight}
+\cs_new:Nn \__asmejour_internallinenumbers:n {
+ \ifasmejour@lineno
+ \str_if_in:nnT {#1} {R} { \rightlinenumbers* }
+ \str_if_in:nnT {#1} {r} { \rightlinenumbers* }
+ \cs_set:Npn \thelinenumber { \@roman\c@linenumber }
+ \internallinenumbers
+ \fi
+}
-\NewDocumentCommand\SetAuthorBlock{m m}{%
- \addtocounter{authorno}{1}%
- \SetVerticalCoffin{\authorblock}{48.2mm}{%
- \raggedleft\sffamily%
- {\huge\CondSansBold\ignorespaces#1\ignorespaces}\\
- \CondSans#2%
+%% This command is used in the .tex file
+\NewDocumentCommand\SetAuthorBlock{m m}{
+ \__asmejour_setauthorblock:nn { #1 } { #2 }
}
-\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
+
+\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 }
+ }
}
+%% 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@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@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@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, ....
@@ -1069,7 +1089,7 @@
\setlength{\@AbstractSep}{12.5mm}
\NewDocumentCommand\AbstractSep{m}{\setlength{\@AbstractSep}{#1}}
-\NewDocumentCommand{\MakeTitlePage}{}{%
+\NewDocumentCommand{\@MakeTitlePage}{}{%
\thispagestyle{title}%
\ifasmejour@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{...