texlive[74972] Master/texmf-dist: asmeconf (17apr25)
commits+karl at tug.org
commits+karl at tug.org
Thu Apr 17 21:33:35 CEST 2025
Revision: 74972
https://tug.org/svn/texlive?view=revision&revision=74972
Author: karl
Date: 2025-04-17 21:33:35 +0200 (Thu, 17 Apr 2025)
Log Message:
-----------
asmeconf (17apr25)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/asmeconf/README.md
trunk/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf
trunk/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex
trunk/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.pdf
trunk/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex
trunk/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-lualatex-ode-example.pdf
trunk/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-lualatex-ode-example.tex
trunk/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls
Modified: trunk/Master/texmf-dist/doc/latex/asmeconf/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/asmeconf/README.md 2025-04-17 19:33:23 UTC (rev 74971)
+++ trunk/Master/texmf-dist/doc/latex/asmeconf/README.md 2025-04-17 19:33:35 UTC (rev 74972)
@@ -1,7 +1,7 @@
#asmeconf: A latex template for ASME conference papers#
- Version 1.41 dated 2025/03/27.
+ Version 1.42 dated 2025/04/17.
####Overview####
This class provides a LaTeX template for ASME Conference papers formatted according to
@@ -21,13 +21,13 @@
- support pdf bookmarks and metadata
-- set author names and addresses in either the traditional grid or the more recent inline style
+- set author names and addresses in either the traditional grid layout or the more recent inline style
- provide line numbers for editing and review
- support balancing of columns on last page
-- support PDF/A (archival) standards if desired
+- support PDF/A standards (archival pdf formats) if desired
- support copyright footer for federal employees and contractors
@@ -58,7 +58,7 @@
*
examples/ -- a directory of examples:
-- nonlinear ode integration within LaTeX using Lua code
- -- fontspec for abstracts in 25 languages in one paper
+ -- fontspec and scripts for abstracts in 25 languages
-- grid-style layout of author names/addresses
-- footers for government employees
-- asmewide.sty and example of use, for two-column equations
@@ -80,9 +80,20 @@
####Change log####
+ v1.42 (2025/04/17)
+ - Rework the \[nofontspec\] class option, including font scaling and internal switches
+ - Add \[loadscripts\] option for non-Latin scripts under \LuaLaTeX, to speed compilation. Simplify other font loading and add user-level \\if switches
+ - Drop +ss03 (straight quote marks) for Inconsolatazi4 (typewriter font)
+ - Fix bug in main language setting
+ - Change fallback and documentation around former class option \[mathalfa=ccc=ddd\]
+ - Edit class documentation and fontspec example file
+ - Review and adjust backward compatibility; fix noncasechange in \\section
+ - Miscellaneous code clean-up, including sectionnumberdepth in @startsec, encoding of operator font in sans and sansbold, set \\newif, etc.
+ - PFD/UA-2 compliance (well-tagged PDF) is same as for v1.41
+
v1.41 (2025/03/27)
- \LuaLaTeX now loads unicode-math by default unless the class option \[nofontspec\] is used.
- - PDFA/UA-2 compliance is now possible using \LuaLaTeX by: omitting subfigures and most language options, using compliant figures, and loading the option \[captionpatch\], while using appropriate options to \\DocumentMetadata.
+ - PDFA/UA-2 compliance is now possible using \LuaLaTeX by: omitting subcaptions and most language options, using compliant figures, omitting cross-references from captions, and loading the option \[captionpatch\], while using an appropriate invocation of \\DocumentMetadata.
- Unicode-math will load Termes, Heros, Inconsolata, and Lete Sans Math fonts, with a few symbols drawn from STIX 2 fonts. Fira Math loads as a fallback to Lete Sans Math. These fonts are in TeX Live.
- Eliminated legacy options \[pdfa, pdfaopt, pdfaconformance\]. PDF/A compliance is enabled by \\DocumentMetadata{..}
- Eliminated \[mathalfa\] option. Instead, load mathalpha package in preamble or use unicode-math with range option.
@@ -95,9 +106,9 @@
- Fixed spurious vertical space after full line in abstract\* under lualatex.
- Addressed color-related conflicts between luatexja and other fonts (removed \\Noto at color )
- Rescaled Inconsolata font from 1.05 to 1.03 to better math lower case roman text
- - Ensured that english-language font is used for footer text under lualatex when including other scripts.
+ - Ensured that english-language font is used for footer text under \LuaLaTeX when including other scripts.
- Replaced \\int\_if\_zero:nTF by \\int\_compare:nTF for backward compatibility, and addressed related Expl3 compatibility issues.
- - Converted various code sections to Expl3 from Latex2e, and removed legacy code here and there.
+ - Converted various code sections to Expl3 from \LaTeX2e, and removed legacy code here and there.
- Removed legacy commands \\MakeTitlePage and \\PaperTitle (use \\maketitle and \\title)
- Documented nomenclature options.
- Fixed description list in Appendix B.
Modified: trunk/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex 2025-04-17 19:33:23 UTC (rev 74971)
+++ trunk/Master/texmf-dist/doc/latex/asmeconf/asmeconf-template.tex 2025-04-17 19:33:35 UTC (rev 74972)
@@ -4,7 +4,7 @@
%% This file is asmeconf-template.tex, a LaTeX template to format ASME Conference papers according to
%% the requirements on ASME's conference web pages, and including hypertext support for the pdf.
%%
-%% This file is version 1.41 dated 2025/03/27
+%% This file is version 1.42 dated 2025/04/17
%%
%% As of version 1.11, this template defaults to ASME's newer conference guidelines first posted July 2019.
%% Those guidelines changed the author block formatting to be inline.
@@ -41,7 +41,7 @@
%% * use copyright notice for some gov't employees, [somegovt];
%% * omit the conference headers on the titlepage, [nohead]
%%
-%% * Option to use LuaLaTeX **without** unicode-math and fontspec, [nofontspec]
+%% * Option to use LuaLaTeX ** without ** unicode-math and fontspec, [nofontspec]
%%
%% * Math options from M. Sharpe's newtxmath package: upright integrals [upint];
%% * [varvw] for a v and w that are better distinguished from Greek nu; and also
@@ -59,9 +59,10 @@
%%
%% * Options (used by the babel package) to include passages in languages other than English (e.g., a translation
%% * of the abstract). Languages may be called as options, e.g. [spanish], [greek], [russian], etc., but
-%% * see Appendix C for details.
+%% * see Appendix C for details.
%% * Language support is most extensive when running LuaLaTeX, which automatically loads fontspec, but
-%% * be aware that you might to install additional fonts on your system for some languages.
+%% * be aware that you might to install additional fonts for some languages. Non-Latin scripts require
+%% * the [loadscripts] option, see Appendix C.
%%
%% The use of commands defined or modified by the asmeconf class is illustrated throughout this file. In particular,
%% ASME requires capitalized section headings, and as a result some care is needed when using macros in section headings,
@@ -88,21 +89,26 @@
pdfstandard=A-3u,% A-2b, A-2u, A-3b, A-3u. Check that your figures also meet the standard you choose.
pdfversion=1.7,% 2.0 (Version 2.0 supports pdfstandard=A-4f with pdftex or UA-2 with LuaLaTeX)
lang=en-US,
+% testphase={phase-III,math,table,firstaid,title},% testphase for producing tagged pdf.
+% pdfstandard = ua-2,
+% pdfversion = 2.0,
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Class options are described above. Change these options as desired.
-%% Remove the [colorlinks] option before *final* submission to ASME, to get black text for printing,
-%% but keep that option for electronic use.
+%% CLASS OPTIONS are described above. Change the options given below to meet your needs.
+%%
+%% NB: Remove the [colorlinks] option before *final* submission to ASME, to get black text for printing,
+%% but keep that option for electronic use.
%%
-%% If you are not using the language options, remove them (together with Appendices C and D)
-%% Vietnamese, greek, and cyrillic languages, if used, must be named in \documentclass under pdftex, but not under lualatex.
-%% Spanish, german, and many others, if used, do not need to be named when babel package is 2024 or later.
+%% NB: If you are not using the language options, remove them (together with Appendices C and D)
+%% Vietnamese, greek, and cyrillic languages, if used, must be named in \documentclass under pdftex, but not under lualatex.
+%% Spanish, german, and many others, if used, do not need to be named when the babel package is dated 2024 or later.
+%%
+%% NB: the mathalfa option was dropped in v1.41; load the mathalpha package in your preamble instead.
-\documentclass[colorlinks,upint,subscriptcorrection,varvw,hyphenate,vietnamese,greek,russian,german,spanish]{asmeconf}
+\documentclass[colorlinks,upint,subscriptcorrection,varvw,hyphenate,balance,vietnamese,greek,russian,german,spanish]{asmeconf}
-
%%%%% pdf metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hypersetup{%
@@ -118,6 +124,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\allowdisplaybreaks % from amsmath package, allows multiline equations to break across pages (delete if not wanted)
+ % using \\* instead of \\ will prevent specific lines from being pagebreaks.
\usepackage{hologo} % Package to access various LaTeX logos, if needed (delete if not)
@@ -377,7 +384,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Reference Formatting with \NoCaseChange{\texttt{asmeconf.bst}}\footnote{To prevent capitalization of text in a section heading or caption, such as an SI unit, enclose it in a \texttt{\textbackslash NoCaseChange} command. As of the July 2022 release of \LaTeX, commands used in a heading or caption may be protected globally by putting this in the preamble: \texttt{\textbackslash AddToNoCaseChangeList\{\textbackslash MyCommand\}}.}}\label{sec:references}
+\section{Reference Formatting with \NoCaseChange{\texttt{asmeconf.bst}}\footnote{To prevent capitalization of text in a section heading or caption, such as an SI unit, enclose it in a \texttt{\textbackslash NoCaseChange} command. As of the July 2022 release of \LaTeX, commands used in a heading or caption may be protected globally by putting this in the preamble: \texttt{\textbackslash AddToNoCaseChangeList\{\textbackslash MyCommand\}}}}\label{sec:references}
The {\upshape\texttt{asmeconf.bst}} \hologo{BibTeX} style follows the reference styles shown on ASME's conference web site in 2025.\footnote{\texttt{asmeconf.bst} is intended as a replacement for the old \texttt{asmems4.bst}, which does not follow ASME's current reference formats or support DOI and URL.}
Examples for these and many other cases are given in the \texttt{asmeconf-sample.bib} file, which is part of this distribution. Citations and references are managed by the standard \texttt{natbib} package. Nevertheless, a few comments are necessary.
@@ -476,7 +483,7 @@
\subsection{Controlling Calligraphic, Script, Fraktur, or BB Fonts}
-With \hologo{pdfLaTeX}, the package may be loaded in the preamble~\cite{sharpe2}.\footnote{As of v1.41, the \texttt{[mathalfa]} class option has been dropped.} This package supports variety of font for calligraphic, fraktur, script, and blackboard bold fonts. For example,
+With \hologo{pdfLaTeX}, the \texttt{[mathalpha]} package may be loaded in the preamble~\cite{sharpe2}.\footnote{As of v1.41, the \texttt{[mathalfa]} class option has been dropped.} This package supports variety of font for calligraphic, fraktur, script, and blackboard bold fonts. For example,
\begin{center}
\verb|\usepackage[cal=euler,frak=boondox]{mathalpha}|
\end{center}
@@ -588,9 +595,9 @@
\begin{description}
-\item[Executing lua code directly in your \LaTeX\ file.] With lua code, complicated functions can be plotted or numerical integration can be executed. An example file in the distribution demonstrates this capability~\cite{lienhard2025}. In this situation, you can use the class option \texttt{[nofontspec]} to stay with the \texttt{newtx} fonts.
+\item[Executing lua code directly in your \LaTeX\ file.] With lua code, complicated functions can be plotted or numerical integration can be executed. An example file in the distribution demonstrates this capability~\cite{lienhard2025}. In this situation, you can use the class option \texttt{[nofontspec]} to stay with the \texttt{newtx} fonts. (This setting does not support for non-Latin alphabets.)
-\item[Using complex alphabets.] With \hologo{pdfLaTeX}, \texttt{asmeconf} supports Latin alphabets, as well as Cyrillic, Greek, and Vietnamese. If you need scripts such as Arabic, Chinese, or Devanagari, \hologo{LuaLaTeX} with the \texttt{fontspec} package can use fonts available on your computer.\footnote{For English, you \textit{must} have these OpenType fonts (\texttt{.otf}) installed (all are in TeX Live and will be present if your installation is complete and up-to-date): TeX Gyre Termes X, TeX Gyre Termes Math, TeX Gyre Heros, Inconsolatazi4, LeteSansMath, STIX Two Math. For Greek and Russian, the Noto Serif, Sans, and Mono TrueType fonts (\texttt{.ttf}) are used, and those are also in TeX Live. For south and east Asian scripts, the relevant Noto fonts are \textbf{not} currently in TeX Live (go here: \hrefurl{https://github.com/googlefonts/noto-fonts}{github.com/googlefonts/noto-fonts}).} See the example file in this distribution for more details~\cite{lienhard2021}.
+\item[Using complex alphabets.] With \hologo{pdfLaTeX}, \texttt{asmeconf} supports Latin alphabets, as well as Cyrillic, Greek, and Vietnamese. With \hologo{LuaLaTeX} with the \texttt{fontspec} package you can use non-Latin fonts available on your computer if you call the \texttt{[loadscripts]} option.\footnote{For Latin scripts (including English) under \hologo{LuaLaTeX}, you \textit{must} have these OpenType fonts (\texttt{.otf}) installed (all are in TeX Live and will be present if your installation is complete and up-to-date): TeX Gyre Termes X, TeX Gyre Termes Math, TeX Gyre Heros, Inconsolatazi4, LeteSansMath, STIX Two Math. For Greek and Russian, the Noto Serif, Sans, and Mono TrueType fonts (\texttt{.ttf}) are used, and other Noto fonts are used for south and east Asian scripts. The Noto fonts are \textbf{not} currently in TeX Live (go here: \hrefurl{https://github.com/googlefonts/noto-fonts}{github.com/googlefonts/noto-fonts}).}\footnote{The \texttt{[loadscripts]} option was added in v1.42 of \texttt{asmeconf}, in order to reduce compilation time when non-Latin scripts are not needed.} For Japanese in particular, use the class option \texttt{[japanese]}. See the example file in this distribution for more details~\cite{lienhard2021}.
\item[Producing tagged PDF.] Under \hologo{LuaLaTeX} with \texttt{unicode-math} (which loads by default), \texttt{asmeconf} PDF files can meet the PDF 2.0/UA-2 standard using appropriate arguments to \verb|\DocumentMetadata{..}| provided that: a) subcaptions are not used; b) any figure files meet the standard; c) captions do not contain cross-references; d) the option \texttt{[captionpatch]} is called; and e) language options are used cautiously (some languages are compatible with tagging, but others, such as Japanese and Spanish, currently are not). Tagged pdf is still under development by the \LaTeX{}3 team as of \the\month/\the\year.
@@ -621,6 +628,8 @@
Fonts similar to Times/Helvetica are used when Greek, Vietnamese, or selected cyrillic-alphabet languages are called as options under {\upshape\hologo{pdfLaTeX}}. Using {\upshape\hologo{LuaLaTeX}}, which loads the fontspec package, many additional scripts are available; see the supplemental notes for such usage~\cite{lienhard2021}. Possibilities include Arabic, Bengali, Chinese, Devanagari (e.g., for Hindi), Hangul (for Korean), Kana (for Japanese), and Tamil. \textit{These options require an up-to-date \LaTeX\ installation.}
+The \texttt{asmeconf} class defines several switches that can be used to call languages only when certain class options have been called, as \verb|\if...\fi|: \verb|\ifScriptsLoaded|, \verb|\ifFontspecLoaded|, \verb|\ifPDFtex|, and \verb|\ifJapaneseLoaded|.
+
The bibliography style, \texttt{asmeconf.bst}, is designed in English and aimed at \hologo{BibTeX}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -640,83 +649,62 @@
%\end{selectlanguage}%
\begin{selectlanguage}{spanish}%
-\begin{abstract*}
-Este es el resumen del artículo. Escribimos en español. Se describen el problema, los métodos y los resultados. También se incluyen referencias.
-\end{abstract*}
+ \begin{abstract*}
+ Este es el resumen del artículo. Escribimos en español. Se describen el problema, los métodos y los resultados. También se incluyen referencias.
+ \end{abstract*}
\end{selectlanguage}% edited by Aarón Montoya-Moraga
+\begin{selectlanguage}{vietnamese}
+ \begin{abstract*}
+ Đây là phần tóm tắt của bài báo khoa học. Chúng tôi viết bằng tiếng Việt. Vấn đề, các phương pháp và các kết quả được mô tả trong phần này. Tài liệu tham khảo cũng được bao gồm.
+ \end{abstract*}
+\end{selectlanguage}% Checked and edited by Nguyen Le and Thao Nguyen
+
%% If you have trouble with the following passages, delete them and remove the associated language option from \documentclass[..].
\typeout{If you have trouble with the language passages in non-Latin scripts, your file may not be saved in utf-8 format, or your LaTeX format may be old, or you may not have the assumed font installed. You can delete those lines to resolve the issue.}
%% Examples of abstracts in other languages. The first three are intended for pdflatex, not lualatex.
-\ifpdftex
+\ifPDFtex
\begin{selectlanguage}{greek}%
- \begin{abstract*}
- Αυτή είναι η περίληψη του άρθρου. Χρησιμοποιούμε την ελληνική γλώσσα. Περιγράφεται το πρόβλημα, οι μέθοδοι και τα αποτελέσματα. Περιλαμβάνονται επίσης αναφορές.
- \end{abstract*}
+ \begin{abstract*}
+ Αυτή είναι η περίληψη του άρθρου. Χρησιμοποιούμε την ελληνική γλώσσα. Περιγράφεται το πρόβλημα, οι μέθοδοι και τα αποτελέσματα. Περιλαμβάνονται επίσης αναφορές.
+ \end{abstract*}
\end{selectlanguage}% edited by George Barbastathis
-
+%
\begin{selectlanguage}{russian}
- \begin{abstract*}
- Это резюме статьи. Пишем по русски. Описаны проблема, методы и результаты. Библиография также включена.%
- \end{abstract*}
+ \begin{abstract*}
+ Это резюме статьи. Пишем по русски. Описаны проблема, методы и результаты. Библиография также включена.%
+ \end{abstract*}
\end{selectlanguage}% edited by Steven Gerasimoff
-
- \begin{selectlanguage}{vietnamese}
- \begin{abstract*}
- Đây là phần tóm tắt của bài báo khoa học. Chúng tôi viết bằng tiếng Việt. Vấn đề, các phương pháp và các kết quả được mô tả trong phần này. Tài liệu tham khảo cũng được bao gồm.
- \end{abstract*}
- \end{selectlanguage}% Checked and edited by Nguyen Le and Thao Nguyen
\fi
-
-\iffontspecloaded %%% These passages require using lualatex AND having the mentioned fonts installed on your computer.
+%
+\ifScriptsLoaded %%% These passages require using lualatex, having the mentioned fonts on your computer, and using the option [loadscripts]
%
\IfFontExistsTF{NotoSans}{%
\IfFontExistsTF{NotoSerif}{%
%
\begin{selectlanguage}{greek}
- \begin{abstract*}
- Αυτή είναι η περίληψη του άρθρου. Χρησιμοποιούμε την ελληνική γλώσσα. Περιγράφεται το πρόβλημα, οι μέθοδοι και τα αποτελέσματα. Περιλαμβάνονται επίσης αναφορές.
- \end{abstract*}
+ \begin{abstract*}
+ Αυτή είναι η περίληψη του άρθρου. Χρησιμοποιούμε την ελληνική γλώσσα. Περιγράφεται το πρόβλημα, οι μέθοδοι και τα αποτελέσματα. Περιλαμβάνονται επίσης αναφορές.
+ \end{abstract*}
\end{selectlanguage}% edited by George Barbastathis
%
\begin{selectlanguage}{russian}
- \begin{abstract*}
- Это резюме статьи. Пишем по русски. Описаны проблема, методы и результаты. Библиография также включена.
- \end{abstract*}%
+ \begin{abstract*}
+ Это резюме статьи. Пишем по русски. Описаны проблема, методы и результаты. Библиография также включена.
+ \end{abstract*}%
\end{selectlanguage}% edited by Steven Gerasimoff
%
}{\ClassWarning{\ClassName}{I can't find NotoSerif.ttf, which is needed for Greek and Russian language text. Please install that font.}}
}{\ClassWarning{\ClassName}{I can't find NotoSans.ttf, which is needed for Greek and Russian language text. Please install that font.}}
%
- \begin{selectlanguage}{vietnamese}
- \begin{abstract*}
- Đây là phần tóm tắt của bài báo khoa học. Chúng tôi viết bằng tiếng Việt. Vấn đề, các phương pháp và các kết quả được mô tả trong phần này. Tài liệu tham khảo cũng được bao gồm.
- \end{abstract*}
- \end{selectlanguage}% Checked and edited by Nguyen Le and Thao Nguyen
-%
-%
-% Use class option [japanese] if you uncomment this passage. (Note, japanese has problems if pdf tagging is active.)
-% \IfFontExistsTF{NotoSerifCJKjp-Regular.otf}{%
-% \IfFontExistsTF{NotoSansCJK-Regular.ttc}{%
-% %
-% \begin{selectlanguage}{japanese}
-% \begin{abstract*}
-% % 論文の要約です。日本語で記述します。問題、方法、および結果について説明します。また、参考文献も含めます。
-% この論文の日本語での要約は以下のとおりです。問題、方法、および結果が説明されています。参考資料も添付してあります。
-% \end{abstract*}
-% \end{selectlanguage}% Edited by Keiji Yano and Yoshiki Okamoto
-% %
-% }{\ClassWarning{\ClassName}{I can't find NotoSerifCJKjp, which is needed for Japanese language text. Please install that font.}}
-% }{\ClassWarning{\ClassName}{I can't find NotoSansCJKjp, which is needed for Japanese language text. Please install that font.}}
-%
\IfFontExistsTF{NotoSansCJK-Regular.ttc}{%
- \IfFontExistsTF{NotoSerifCJKkr-Regular.otf}{%
+ \IfFontExistsTF{NotoSerifCJKkr-Regular.otf}{% The NotoSerifCJK fonts are in CTAN, but not TeX Live.
%
\begin{selectlanguage}{korean}
- \begin{abstract*}
- 이것은 한국어로 쓰인 논문의 초록입니다. 문제, 방법 및 결과가 설명되어 있습니다. 참조도 포함됩니다.
- \end{abstract*}
+ \begin{abstract*}
+ 이것은 한국어로 쓰인 논문의 초록입니다. 문제, 방법 및 결과가 설명되어 있습니다. 참조도 포함됩니다.
+ \end{abstract*}
\end{selectlanguage}% edited by Hyung Won Chung.
%
}{\ClassWarning{\ClassName}{I can't find NotoSerifCJKkr-Regular.otf, which is needed for Korean language text. Please install that font and its bold version. Check that you also have NotoSansCJK and NotoSansMonoCJKkr.}}
@@ -723,15 +711,31 @@
%
\IfFontExistsTF{NotoSerifCJKsc-Regular.otf}{%
\begin{selectlanguage}{chinese-simplified}
- \begin{abstract*}
- 这是文章的摘要。我们用中文书写,描述了问题,方法和结果,还包括了参考文献。
- \end{abstract*}
+ \begin{abstract*}
+ 这是文章的摘要。我们用中文书写,描述了问题,方法和结果,还包括了参考文献。
+ \end{abstract*}
\end{selectlanguage}% edited by Zi Hao Foo
%
}{\ClassWarning{\ClassName}{I can't find NotoSerifCJKsc-Regular.otf, which is needed for Chinese language text. Please install that font and its bold version. Check that you also have NotoSansCJK and NotoSansMonoCJKsc.}}
}{\ClassWarning{\ClassName}{I can't find NotoSansCJK-Regular.ttc, which is needed for Korean and simplified Chinese text. Please install that font and its bold version.}}
-
\fi
+%
+%
+% Use the class option [japanese], with lualatex and fontspec, to run this passage. (Note, Japanese has problems if pdf tagging is active.)
+\ifJapaneseLoaded
+ \IfFontExistsTF{NotoSerifCJKjp-Regular.otf}{%
+ \IfFontExistsTF{NotoSansCJK-Regular.ttc}{%
+ %
+ \begin{selectlanguage}{japanese}
+ \begin{abstract*}
+ % 論文の要約です。日本語で記述します。問題、方法、および結果について説明します。また、参考文献も含めます。
+ この論文の日本語での要約は以下のとおりです。問題、方法、および結果が説明されています。参考資料も添付してあります。
+ \end{abstract*}
+ \end{selectlanguage}% Edited by Keiji Yano and Yoshiki Okamoto
+ %
+ }{\ClassWarning{\ClassName}{I can't find NotoSerifCJKjp, which is needed for Japanese language text. Please install that font.}}
+ }{\ClassWarning{\ClassName}{I can't find NotoSansCJKjp, which is needed for Japanese language text. Please install that font.}}
+\fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Modified: trunk/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex 2025-04-17 19:33:23 UTC (rev 74971)
+++ trunk/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-fontspec.tex 2025-04-17 19:33:35 UTC (rev 74972)
@@ -4,7 +4,8 @@
%%
%% This file is an example of using asmeconf with fontspec and lualatex to support non-Latin alphabets.
%%
-%% Version 1.2, 2025/03/27
+ \def\fontspecversionno{1.03}
+%% 2025/04/13
%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
@@ -26,14 +27,17 @@
lang=en-US,
debug = {xmp-export},
}
-\documentclass[colorlinks,nofoot,spanish,russian,greek,ukrainian,vietnamese,french,portuguese,turkish,polish,indonesian,italian,german,latin,serbianc,bidi=basic,japanese]{asmeconf}
+\documentclass[loadscripts,colorlinks,nofoot,spanish,russian,greek,ukrainian,vietnamese,french,portuguese,turkish,polish,indonesian,italian,german,latin,serbianc,bidi=basic,japanese]{asmeconf}
%
%\documentclass[colorlinks,nofoot,bidi=basic]{asmeconf}
%
% spanish, german, and many others do not need to be named if babel is 2024 or later; just need bidi=basic for arabic (and japanese if using that language)
%
-% March 2025: the japanese option has a minor conflict with the chinese-traditional font. Jus click past the error message.
+% March 2025: the japanese option has a minor conflict with the chinese-traditional font. Just click past the error message.
+%
+% [loadscripts] option added 2025/04/13 - required to access non-Latin scripts.
+
\usepackage{hologo}% access various latex logos if needed
% directly add this xmp property. See l3pdfmeta.pdf. This is not automatic with \DocumentMetadata. "True" must be capitalized.
@@ -110,7 +114,7 @@
% NB: if the .bib file already exists, it will not be overwritten
\begin{filecontents}{asmeconf-fontspec.bib}
@online{lienhard2021,
- author = {John H. Lienhard, V},
+ author = {John H. Lienhard},
title = {{\texttt{asmeconf}}: A template for {ASME} conference papers},
organization = {Comprehensive \TeX\ Archive Network},
version = {{\versionno}},
@@ -137,7 +141,7 @@
urldate = {March 9, 2025},
}
@online{lua-jp,
- author = {{\hologo{LuaTeX}-ja} project team},
+ author = {{\hologo{LuaTeX}-ja project team}},
title = {The {\hologo{LuaLaTeX}}-ja package},
version = {20210103.0},
organization = {Comprehensive \TeX\ Archive Network},
@@ -172,7 +176,7 @@
\maketitle
-\versionfootnote{Version~1.02, \today}
+\versionfootnote{Version~\fontspecversionno, \today}
\keywords{asmeconf, language support, non-Latin alphabets, fontspec, \LLT}
@@ -193,10 +197,10 @@
For languages in Latin scripts, it's usually safe to assume that the font is present, and many such languages have \texttt{.ldf} files. For other scripts, additional steps are needed. The \AC\ class handles this differently under \PLT\ and \LLT.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Non-Latin Scripts under PDFLATEX}
+\section{Using Non-Latin Scripts}
When using \PLT, \AC will load appropriate fonts for Greek, Vietnamese, and certain cyrillic-script languages (see Table~\ref{tab:1}). The user can give the corresponding class option and then call for a change of language as described in Section~\ref{sec:6}. No additional work is required.
-To access a broader range of fonts, \AC\ can be used under \LLT, with \FS. In that case, \AC\ will employ unicode fonts that are installed on the user's computer.
+To access a broader range of fonts, \AC\ can be used under \LLT, with \FS. In that case, \AC\ will employ unicode fonts that are installed on the user's computer. The class option \texttt{[loadscripts]} must be called to load the non-Latin fonts listed in Tables~\ref{tab:1} and~\ref{tab:2}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{table}[t]
@@ -274,12 +278,13 @@
When running \LLT, \texttt{fontspec} is loaded by default (as of Feb.\ 2024). With \FS, \texttt{babel} will use \texttt{.ldf} files or separate initialization files (\texttt{.ini}) when they are available for a given language. These files provide language specific information, using include the appropriate names for abstract, figure, table, appendix, and so on. These languages can be accessed as described in Section~\ref{sec:6}.
-When captions and the like are not needed (as for short passages like the abstracts herein), \texttt{babel} can load many languages ``on the fly'', with only a basic call in the \text{.tex} file (see Section \ref{sec:6}), if an appropriate font is available, without even using a class option. Adding the language name to as an option to \verb|\documentclass| ensures that an \texttt{.ldf} or \texttt{.ini} file will also be loaded.
+The class option \texttt{loadscripts} must be called to load the non-Latin fonts listed in Tables~\ref{tab:1} and~\ref{tab:2}.
+When captions and the like are not needed (as for short passages like the abstracts herein), \texttt{babel} can load many languages ``on the fly'', with only a basic call in the \text{.tex} file (see Section \ref{sec:6}), if an appropriate font is available, without even using a class option. Adding the language name to as an option to \verb|\documentclass| ensures that an \texttt{.ldf} or \texttt{.ini} file will also be loaded.
-Arabic typesetting is a little more complicated. The script runs right to left, and so arabic requires the \texttt{bidi} packages, which can be loaded as a class option. Similarly, when \texttt{[japanese]} is given as an option to the class, \AC\ calls the \texttt{luatexja-fontspec} package~\cite{lua-jp}, which is a specialized module for typesetting Japanese. (\textit{The Japanese option has a conflict with Chinese-traditional text as of March 2025, but both still typeset.})
+Arabic typesetting is a little more complicated. The script runs right to left, and so arabic requires the \texttt{bidi} package, which can be loaded as a class option. Similarly, when \texttt{[japanese]} is given as an option to the class, \AC\ calls the \texttt{luatexja-fontspec} package~\cite{lua-jp}, which is a specialized module for typesetting Japanese. (\textit{The Japanese option has a conflict with Chinese-traditional text as of March 2025, but both still typeset.})
-What about support for scripts not shown in Table~\ref{tab:2}? Macros from \texttt{babel} for adding fonts can be placed into the preamble of your document. The \texttt{babel} package supports roughly 250 languages, and \AC\ has been tried with only about thirty.
+What about support for scripts not shown in Table~\ref{tab:2}? Macros from \texttt{babel} for adding fonts can be placed into the preamble of your document. The \texttt{babel} package supports roughly 250 languages, and \AC\ has been tried with only about thirty. In fact, any of the scripts mentioned can be called from your preamble rather than using the \texttt{[loadscripts]} option.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -479,7 +484,9 @@
\section{Changing the language of the entire document}
The main language of the document is English by default. This means that section headings, captions, and other words chosen by macros will be in English.
-To chose a different main language, give the option \texttt{[main=..]}, e.g., \texttt{[main=french]}. The standard caption and section names will follow \texttt{babel}'s dictionary for the language chosen. Users may additionally change ``Keywords'', ``Nomenclature'', ``Corresponding author'', and ``Joint first authors'' by renewing the commands \verb|\keywordname|, \verb|\nomname|, \verb|\CAwords|, and \verb|\JAwords|. Changes to the page footer are described in the \AC\ documentation~\cite{lienhard2021}. The pdf bookmark for ``Appendices'' may be changed by renewing \verb|\appendicesname|. (See the \texttt{babel} documentation \cite[Ch.~3]{bezos2025} if the dictionary for the main language lacks the correct word for, say, \verb|abstractname|).
+To chose a different main language, give the option \texttt{[main=..]}, e.g., \texttt{[main=french]}. The standard caption and section names will follow \texttt{babel}'s dictionary for the language chosen. Users may additionally change ``Keywords'', ``Nomenclature'', ``Corresponding author'', and ``Joint first authors'' by renewing the commands \verb|\keywordname|, \verb|\nomname|, \verb|\CAwords|, and \verb|\JAwords|. Changes to the page footer are described in the \AC\ documentation~\cite{lienhard2021}.
+% The pdf bookmark for ``Appendices'' may be changed by renewing \verb|\appendicesname|. % dropped this bookmark, Spring 2025.
+(See the \texttt{babel} documentation \cite[Ch.~3]{bezos2025} if the dictionary for the main language lacks the correct word for, say, \verb|abstractname|).
I have not explored this usage in detail, and I would welcome comments from authors who attempt such conversions.
@@ -492,9 +499,9 @@
\section{Conclusion}
\AC\ has multilingual capabilities under both \PLT\ and \LLT. In particular, with \FS, \AC\ can support a wide range of scripts and languages within a \LaTeX\ environment. These capabilities are largely experimental, and their future development will be guided by feedback that I receive from those using these features.
-%%% AKNOWLEDGMENTS %%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% ACKNOWLEDGMENTS %%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{AKNOWLEDGMENTS}
+\section{Acknowledgments}
Thanks to everyone who helped me sort out the translated abstracts: Leon Awerbuch, Debanjan Banerjee, George Barbastathis, Svetlana Boriskina, Jacopo Buongiorno, Hyung Won Chung, Aslı Demir, Vibhawari Deshmukh, Zi Hao Foo, Turga Ganapathy, Steven Gerasimoff, Christine Gervais, Igo Krebs, Omar Labban, Nguyen Le, Bora Mikić, Judith Mmari, Aarón Montoya-Moraga, Thao Nguyen, Yoshiki Okamoto, Danyal Rehman, Yagnaseni Roy, Jaichander Swaminathan, Gregory Thiel, and Keiji Yano. All were generous with their time.
%%% REFERENCES %%%%%%%%%%%%%%%%%%%%%%%%%%
Modified: trunk/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-lualatex-ode-example.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-lualatex-ode-example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-lualatex-ode-example.tex 2025-04-17 19:33:23 UTC (rev 74971)
+++ trunk/Master/texmf-dist/doc/latex/asmeconf/examples/asmeconf-lualatex-ode-example.tex 2025-04-17 19:33:35 UTC (rev 74972)
@@ -11,7 +11,8 @@
%% Massachusetts Institute of Technology
%% Cambridge, MA 02139-4307 USA
%%
-%% Version 1.03, 27 March 2025
+ \def\luaexversionno{1.03}
+%% 2025/03/27
%%
%=========================================================
%%
@@ -165,7 +166,7 @@
\maketitle
-\versionfootnote{Version~1.02, \today}
+\versionfootnote{Version~\luaexversionno, \today}
\keywords{asmeconf, \hologo{LuaLaTeX}, ODE, pgfplots, landscape}
Modified: trunk/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls 2025-04-17 19:33:23 UTC (rev 74971)
+++ trunk/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls 2025-04-17 19:33:35 UTC (rev 74972)
@@ -5,8 +5,8 @@
%% ASME conference requirements as represented on ASME's conference web pages in 2025.
%%
%% This file's version and date:
- \def\versionno{1.41}
- \def\versiondate{2025/03/27\space}
+ \def\versionno{1.42}
+ \def\versiondate{2025/04/17\space}
%%
%% Author: John H. Lienhard, V
%% Department of Mechanical Engineering
@@ -69,12 +69,13 @@
\LoadClass[twoside,10pt]{article}% twocolumn is initiated in \MakeTitle
% Even/odd page layout is not used in ASME's specs, although the papers are printed in two-sided format.
-\RequirePackage{etoolbox}% using \patchcmd in several places and \pretocmd in appendix code
+\RequirePackage{etoolbox}% using \patchcmd in section, nocasechange, & lineno code and \pretocmd in appendix code
\newif\ifac at pdftex
+\newif\ifPDFtex % user macro
\ExplSyntaxOn
\str_const:Nn \ClassName {asmeconf}
- \sys_if_engine_pdftex:T { \ac at pdftextrue }
+ \sys_if_engine_pdftex:T { \ac at pdftextrue \PDFtextrue }
\prop_put:Nnn \g_msg_module_type_prop { \ClassName } { Class }
\ExplSyntaxOff
@@ -123,11 +124,11 @@
%%% Some helper code first
%% Related to loading other alphabets for Cyrillic, Greek, Japanese, and Vietnamese text
-\newif\ifac at cyrillic\ac at cyrillicfalse
-\newif\ifac at greek\ac at greekfalse
-\newif\ifac at japanese\ac at japanesefalse
-\newif\ifac at vietnamese\ac at vietnamesefalse
-\newif\ifac at mainset\ac at mainsetfalse
+\newif\ifac at cyrillic
+\newif\ifac at greek
+\newif\ifac at japanese
+\newif\ifac at vietnamese
+\newif\ifac at mainset
\providecommand\ac at TtwoA{}
\providecommand\ac at LGR{}
@@ -134,16 +135,17 @@
\providecommand\ac at Tfive{}
\ExplSyntaxOn
-\str_new:N \g__asmeconf_main_str
+\str_new:N \g__asmeconf_main_str
\str_gset:Nn \g__asmeconf_main_str {english}
+\msg_new:nnn { \ClassName } { mainlang } { Selecting~#1~as~the~primary~language }
+\msg_new:nnn { \ClassName } { mathalfa } { Former~mathalfa~option~has~been~dropped;~instead,~load~mathalpha~package~in~your~preamble }
\msg_new:nnnn { \ClassName } { nogreekmain } { To~set~Greek~as~the~main~language,~you~should~use~luaLaTeX~not~pdfTeX.~You~will~need~the~NotoSerif~and~NotoSans~fonts.}{Under~pdfTeX,~asmeconf~is~not~compatible~with~Greek~as~the~main~font,~as~you~will~see.}
-\msg_new:nnn { \ClassName } { mainlang } { Selecting~#1~as~the~primary~language }
%% Test whether main language is from a group that use the Cyrillic alphabet
\cs_new:Nn \__asmeconf_findcyr:n
{
- \seq_set_split:Nnn \l_tmpa_seq { ; } { #1 }
+ \seq_set_split:Nnn \l_tmpa_seq { ; } { #1 }
\seq_map_function:NN \l_tmpa_seq \__asmeconf_flagcyr:n
}
\cs_new:Nn \__asmeconf_flagcyr:n
@@ -156,7 +158,7 @@
%% Set main language
\cs_new:Nn \__asmeconf_setupmain:n {% revised 2025/03/24
\str_gset:Nn \g__asmeconf_main_str {#1}%
- \PassOptionsToPackage{ \g__asmeconf_main_str }{babel}
+ \PassOptionsToPackage{ main=\g__asmeconf_main_str }{babel}
\ac at mainsettrue
\str_if_eq:nnF {english} {#1}
{
@@ -181,37 +183,44 @@
\msg_note:nnn { \ClassName } { mainlang } {#1}
}
+\typeout{^^JIf~you~see~an~error~"Use~of~\string\???~doesn't~match~its~definition...Misplaced~'='~in~key-value~input",~remove~
+ the~deprecated~option~[mathalfa=ccc=ddd]~from~\string\documentclass.^^J}
+
%%% Now create options and keys
\IfFormatAtLeastTF{2022/11/01}{
\DeclareKeys[\ClassName]
{
- unboldcaption .if = asmeconf at unboldcaption ,% Option for caption text not to use boldface type [unboldcaption]
- unboldcaption .usage = load,
- lineno .if = asmeconf at lineno ,% Option to obtain line numbers [lineno]
- lineno .usage = load ,
balance .if = asmeconf at balance ,% Option to balance column height on last page [balance]
balance .usage = load ,
- grid .if = asmeconf at grid ,% Option to convert inline author data to a grid of authors [grid]
- grid .usage = load ,
- nofoot .if = asmeconf at nofoot ,% Option to omit the footer [nofoot]
- nofoot .usage = load ,
- nohead .if = asmeconf at nohead ,% Option to omit the conference headers [nohead]
- nohead .usage = load ,
+ captionpatch .if = asmeconf at captionpatch ,% Option to patch caption package for tagged pdf [captionpatch]. Experimental, 2025/01/26
+ captionpatch .usage = load ,
+ colorlinks .code = \PassOptionsToPackage{colorlinks}{hyperref} ,% Option to have colored hyperlinks, rather than black links [colorlinks]
+ colorlinks .usage = load ,
+ contractor .if = asmeconf at contractor ,% Option for government contractor copyright notice [contractor]
+ contractor .usage = load ,
govt .if = asmeconf at govt ,% Option for copyright notice if all authors are government employees [govt]
govt .usage = load ,
govtsome .if = asmeconf at govtsome ,% Option for copyright notice if some (not all) authors are government employees [govtsome]
govtsome .usage = load ,
- contractor .if = asmeconf at contractor ,% Option for government contractor copyright notice [contractor]
- contractor .usage = load ,
- nofontspec .if = asmeconf at nofontspec ,% Option NOT to use fontspec package under luaLaTeX [nofontspec]
- nofontspec .usage = load ,
- captionpatch .if = asmeconf at captionpatch ,% Option to patch caption package for tagged pdf [captionpatch]. Experimental, 2025/01/26
- captionpatch .usage = load ,
- colorlinks .code = \PassOptionsToPackage{colorlinks}{hyperref} ,% Option to have colored hyperlinks, rather than black links [colorlinks]
- colorlinks .usage = load ,
+ grid .if = asmeconf at grid ,% Option to convert inline author data to a grid of authors [grid]
+ grid .usage = load ,
+ lineno .if = asmeconf at lineno ,% Option to obtain line numbers [lineno]
+ lineno .usage = load ,
+ loadscripts .if = asmeconf at loadscripts ,% Option to load support for 19 languages in non-Latin scripts [loadscripts]
+ loadscripts .usage = load ,
main .store = \g__asmeconf_main_str ,% set main language (for babel)
main .usage = preamble ,
main .code = \__asmeconf_setupmain:n { #1 },
+ mathalfa .code = \msg_warning:nn { \ClassName } { mathalfa },% Warn about old [mathalfa= ] keyvalue; an imperfect fix. 2025/04/07
+ mathalfa .usage = load ,
+ nofontspec .if = asmeconf at nofontspec ,% Option NOT to use fontspec package under luaLaTeX [nofontspec]
+ nofontspec .usage = load ,
+ nofoot .if = asmeconf at nofoot ,% Option to omit the footer [nofoot]
+ nofoot .usage = load ,
+ nohead .if = asmeconf at nohead ,% Option to omit the conference headers [nohead]
+ nohead .usage = load ,
+ unboldcaption .if = asmeconf at unboldcaption ,% Option for caption text not to use boldface type [unboldcaption]
+ unboldcaption .usage = load,
}
\DeclareUnknownKeyHandler[\ClassName]{\relax}% suppress warning about unused keys
\ProcessKeyOptions
@@ -249,6 +258,8 @@
\DeclareBoolOption{nofontspec}
%% Option to patch caption package for tagged pdf [captionpatch]. Experimental, 2025/01/26
\DeclareBoolOption{captionpatch}
+ %% Option to load support for 19 languages in non-Latin scripts [loadscripts]
+ \DeclareBoolOption{loadscripts}
%% Key to set main language
\define at key{\ClassName}{main}{% remove default 2024/07/26, to avoid conflict with subsequent logic
\PassOptionsToPackage{main=#1,#1}{babel}% Adding #1 resolves conflict of russianb.ldf & ukrainianb.ldf under "main=".
@@ -256,6 +267,10 @@
\ac at mainsettrue
\__asmeconf_setupmain:n { #1 }
}
+ %% the key [mathalfa= ] was dropped with v1.41; instead, load the mathalpha package in your preamble
+ \define at key{\ClassName}{mathalfa}{%
+ \msg_note:nn { \ClassName } { mathalfa }
+ }
\DeclareDefaultOption{}% suppress warnings about unused options
\ProcessKeyvalOptions{\ClassName}
@@ -275,7 +290,7 @@
class=\ClassName%
]{#1}{\ac at KeyFamily}%
}
- \__asmeconf_disablekeys:n {colorlinks;unboldcaption;lineno;balance;grid;nofoot;nohead;govt;govtsome;contractor;nofontspec;captionpatch;main}
+ \__asmeconf_disablekeys:n {colorlinks;unboldcaption;lineno;balance;grid;nofoot;nohead;govt;govtsome;contractor;mathalfa;nofontspec;captionpatch;loadscripts;main}
}
%% if main language was not chosen explicitly, ensure default to English
@@ -296,11 +311,40 @@
%%%%%%%%% Various font-related options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% As of v1.41, mathalpha should be loaded by the user in preamble of .tex file; the [mathalfa] option is disabled.
-\DeclareOption{mathalfa}{%
- \ClassWarning{\ClassName}{As of v1.41, the mathalfa option has been dropped. Load mathalpha in your preamble (see documentation)}%
-}
+%%% switches for fontspec, from [nofontspec] option
+\newif\ifac at fontspec
+\newif\ifFontspecLoaded % so user can test in .tex file; CamelCased 2025/04/12
+\newif\ifScriptsLoaded % so user can test in .tex file
+\ifac at pdftex
+ \ifasmeconf at nofontspec
+ \ClassWarningNoLine{\ClassName}{The [nofontspec] option requires LuaLaTeX. It will be ignored under pdfLaTeX}%
+ \fi
+ % at this point: ac at pdftex is true, ac at fontspec is false, and asmeconf at nofontspec is true.
+ \ifasmeconf at loadscripts
+ \ClassWarningNoLine{\ClassName}{The [loadscripts] option requires LuaLaTeX. It will be ignored under pdfLaTeX}%
+ \fi
+ \asmeconf at loadscriptsfalse
+\else
+ \ifasmeconf at nofontspec
+ \ClassWarningNoLine{\ClassName}{The [nofontspec] option has been issued. LuaLaTeX will run without fontspec and unicode-math}%
+ \ifasmeconf at loadscripts
+ \ClassWarningNoLine{\ClassName}{The [loadscripts] option requires fontspec. It will be ignored with the [nofontspec] option}%
+ \fi
+ \asmeconf at loadscriptsfalse
+ \else
+ \IfFormatAtLeastTF{2020/10/01}{%
+ \ac at fontspectrue
+ \FontspecLoadedtrue
+ \ifasmeconf at loadscripts\ScriptsLoadedtrue\fi
+ }{%
+ \ClassError{\ClassName}{Your LaTeX format is dated \fmtversion. LaTeX installations dated 2020-10-01 or later are needed to run LuaLaTeX with the fontspec package. Fontspec will NOT be loaded. Language support will be minimal}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. You may alternatively choose the [nofontspec] option.}%
+ }
+ \fi
+\fi
+% asmeconf at nofontspec is not used from this point forward.
+
+
%% dropped class option [largesc] and made it the default (pdftex only). 2025/03/16
\ifac at pdftex
\PassOptionsToPackage{largesc=true}{newtxtext}% largesc is a boolean key in newtxtext
@@ -347,31 +391,13 @@
%%%%%%%%%%%%% More Language options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% option not to use fontspec under lualatex [nofontspec]
-\newif\ifac at fontspec\ac at fontspecfalse
-\newif\iffontspecloaded\fontspecloadedfalse% so user can test in .tex file
+\newif\ifJapaneseLoaded % user-level switch
-\ifac at pdftex
- \ifasmeconf at nofontspec
- \ClassWarningNoLine{\ClassName}{The [nofontspec] option requires LuaLaTeX. It will be ignored under pdfLaTeX}%
- \fi
-\else
- \ifasmeconf at nofontspec
- \ClassWarningNoLine{\ClassName}{The [nofontspec] option has been issued. LuaLaTeX will run without fontspec and unicode-math}%
- \else
- \IfFormatAtLeastTF{2020/10/01}{%
- \ac at fontspectrue
- \fontspecloadedtrue
- }{%
- \ClassError{\ClassName}{Your LaTeX format is dated \fmtversion. LaTeX installations dated 2020-10-01 or later are needed to run LuaLaTeX with the fontspec package. Fontspec will NOT be loaded. Language support will be minimal}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. You may alternatively choose the [nofontspec] option.}%
- }
- \fi
-\fi
-
\DeclareOption{japanese}{% to control loading of fontspec options and luatxja-fontspec
\ifac at fontspec
\PassOptionsToPackage{japanese}{babel}%
\ac at japanesetrue
+ \JapaneseLoadedtrue
\else
\ClassWarningNoLine{\ClassName}{[japanese] option is supported only under LuaLaTeX with fontspec. It will be ignored}%
\fi
@@ -470,9 +496,8 @@
\RequirePackage[list=true,hypcap=false]{subcaption}
%% This option is experimental and documented only here, 2025/01/26
-%% with this option asmeconf can validate as pdf 2.0/a-4f
+%% with this option asmeconf can validate as pdf 2.0/ua-2
%% subfigures are not specifically addressed in this patch
-%% babel [spanish] option is NOT compatible with tagging !!
\ifasmeconf at captionpatch
%% see github discussion of this patch by Ulrike Fischer
%% https://github.com/latex3/tagging-project/issues/720#issuecomment-2386568711
@@ -514,13 +539,6 @@
\captionsetup[table]{labelformat=uppercase,labelfont={sf,bf,small},textfont={sf,bf,small},textformat=boldmath,labelsep=colon,skip=0.5\baselineskip} %name=TABLE,
\fi
-%% This construction avoids a failure of hyperref in relation to uppercase captions
-%% Discussion: https://tex.stackexchange.com/questions/375695/maketextuppercase-inside-table-captions
-\AtBeginDocument{
- \let\scaption\caption
- \renewcommand*{\caption}[2][\shortcaption]{\def\shortcaption{#2}\scaption[#1]{\MakeTextUppercase{#2}}}
-}
-
%%%%%%%%%%%% Font related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{mathtools}% loads and extends amsmath
@@ -543,12 +561,15 @@
% suppress tiresome warnings about lack of integration between mathtools and unicode-math
% unicode-math loads the fontspec package
%
- \def\FontWarning{For luaLaTeX, you MUST have these OpenType fonts installed on your computer: TeX Gyre Termes, TeX Gyre Termes Math, and TeX Gyre Heros (in TeX Live or from \string http://www.gust.org.pl/projects/e-foundry/tex-gyre) and Inconsolatazi4 (in TeX Live or from \string https://ctan.org/tex-archive/fonts/inconsolata/opentype). If you DON'T have these fonts, you will see ERROR messages!}
-%
- \IfFontExistsTF{TeX Gyre Termes}{}{\ClassWarningNoLine{\ClassName}{\FontWarning} }
- \IfFontExistsTF{texgyreheros}{}{ \ClassWarningNoLine{\ClassName}{\FontWarning} }
- \IfFontExistsTF{texgyretermes-math}{}{ \ClassWarningNoLine{\ClassName}{\FontWarning} }
- \IfFontExistsTF{Inconsolatazi4}{}{ \ClassWarningNoLine{\ClassName}{\FontWarning} }
+ \def\FontWarning{For luaLaTeX, you MUST have these OpenType fonts installed on your computer: TeX Gyre Termes X, TeX Gyre Termes Math, TeX Gyre Heros, Inconsolatazi4, LeteSansMath-Bold, LeteSansMath, and STIXTwoMath. All are in TeX Live and CTAN. If you DON'T have these fonts, you will see warning or ERROR messages}
+ %
+ \IfFontExistsTF{TexGyreTermesX-regular.otf}{}{ \ClassErrorNoLine{\ClassName}{\FontWarning} }
+ \IfFontExistsTF{texgyretermes-math.otf}{}{ \ClassErrorNoLine{\ClassName}{\FontWarning} }
+ \IfFontExistsTF{texgyreheros-regular.otf}{}{ \ClassErrorNoLine{\ClassName}{\FontWarning} }
+ \IfFontExistsTF{Inconsolatazi4-Regular.otf}{}{ \ClassErrorNoLine{\ClassName}{\FontWarning} }
+ \IfFontExistsTF{LeteSansMath-Bold.otf}{}{ \ClassWarningNoLine{\ClassName}{\FontWarning} }
+ \IfFontExistsTF{LeteSansMath.otf}{}{ \ClassWarningNoLine{\ClassName}{\FontWarning} }
+ \IfFontExistsTF{STIXTwoMath-Regular.otf}{}{ \ClassErrorNoLine{\ClassName}{\FontWarning} }
%
% The newtx package includes a modified version of TeXGyreTermes called TexGyreTermesX, which is loaded here.
% Can fall back to TeXGyreTermes if desired, available at: http://www.gust.org.pl/projects/e-foundry/tex-gyre
@@ -579,7 +600,7 @@
ItalicFont = *-Regular,% has no italic face
BoldFont = *-Bold,
BoldItalicFont = *-Bold,% has no italic face
- RawFeature = {+ss01,\ssztwo,+ss03},
+ RawFeature = {+ss01,\ssztwo}, % drop +ss03 2025/04/07
\MonoNotMono,% match newtxtext if we enable wordspacing; note wordspace def'd in option above.
]
\setmathfont{texgyretermes-math}[% Presumes it's installed! http://www.gust.org.pl/projects/e-foundry/tex-gyre
@@ -591,267 +612,397 @@
% FakeBold is fairly robust ==>> must be loaded before range substitutions that follow <<===
%
% set up sans and sansbold math fonts
- \IfFontExistsTF{LeteSansMath-Bold}
- {
- \setmathfont{LeteSansMath-Bold}[% In TeX Live. A newer math font (2024/05), boldface sans serif
- Scale=MatchUppercase,
- Extension = .otf,
- RawFeature={\UpInt},
- version=sansbold,
- ]
- \setmathfontface\mathrm{LeteSansMath-Bold.otf}[Scale=MatchUppercase,version=sansbold]
- \setmathfont{STIXTwoMath-Regular}[% In TeX Live. Substitution for bigger integrals (similar to newtxmath)
- Extension = .otf,
- Scale=MatchUppercase,
- BoldFont = *, % STIX Two Math does not have a bold version
- RawFeature={\UpInt},
- range={"0222B-"02233,"02A0B-"02A1C},
- ]
- }{
- \ClassWarningNoLine{\ClassName}{Lete Sans Math Bold font not found, falling back to Fira Math with FakeBold}%
- \setmathfont{FiraMath-Regular}[% 2020 version of Regular is in TeX Live
- Scale=MatchUppercase,
- Extension = .otf,
- version=sansbold,
- FakeBold = 4,
- ]
- \setmathfontface\mathrm{FiraMath-Regular.otf}[Scale=MatchUppercase,version=sansbold,FakeBold = 4]
- \setmathfont{STIXTwoMath-Regular}[% In TeX Live. Subst. bigger integrals (similar to newtxmath) + cal,scr,frak
- Extension = .otf,
- Scale=MatchUppercase,
- BoldFont = *,
- RawFeature={\UpInt},
- range={"0222B-"02233,"02A0B-"02A1C,frak,bffrak,cal,bfcal,scr,bfscr}
- ]
- }
- \IfFontExistsTF{LeteSansMath}
- {
- \setmathfont{LeteSansMath}[% In TeX Live. A newer math font (2024/05), sans serif.
- Scale=MatchUppercase,
- Extension = .otf,
- RawFeature={\UpInt},
- version=sans
- ]
- \setmathfontface\mathrm{LeteSansMath.otf}[Scale=MatchUppercase,version=sans]
- \setmathfont{STIXTwoMath-Regular}[% In TeX Live. Substitution for bigger integrals (similar to newtxmath)
- Extension = .otf,
- Scale=MatchUppercase,
- BoldFont = *,
- RawFeature={\UpInt},
- range={"0222B-"02233,"02A0B-"02A1C},
- ]
- }{
- \ClassWarningNoLine{\ClassName}{Lete Sans Math font not found, falling back to Fira Math}%
- \setmathfont{FiraMath-Regular}[% 2020 version of Regular is in TeX Live
- Scale=MatchUppercase,
- Extension = .otf,
- version=sans,
- ]
- \setmathfontface\mathrm{FiraMath-Regular.otf}[Scale=MatchUppercase,version=sans]
- \setmathfont{STIXTwoMath-Regular}[% In TeX Live. Subst. bigger integrals (similar to newtxmath)+ cal,scr,frak
- Extension = .otf,
- Scale=MatchUppercase,
- BoldFont = *,
- RawFeature={\UpInt},
- range={"0222B-"02233,"02A0B-"02A1C,frak,bffrak,cal,bfcal,scr,bfscr}
- ]
- }
+ \IfFontExistsTF{LeteSansMath-Bold.otf}% the bold version was released a few months after the regular, but we need both.
+ {
+ \setmathfont{LeteSansMath-Bold}[% In TeX Live. A newer math font (2024/05), bold-face sans-serif
+ Scale=MatchUppercase,
+ Extension = .otf,
+ RawFeature={\UpInt},
+ version=sansbold,
+ ]
+ \setmathfontface\mathrm{LeteSansMath-Bold.otf}[
+ Scale=MatchUppercase,
+ version=sansbold
+ ]
+ \setmathfont{LeteSansMath}[
+ Scale=MatchUppercase,
+ Extension = .otf,
+ RawFeature={\UpInt},
+ version=sans,
+ BoldFont = *-Bold,
+ NFSSFamily=lsm,
+ ]
+ \setmathfontface\mathrm{LeteSansMath.otf}[
+ Scale=MatchUppercase,
+ version=sans,
+ ]
+ \setmathfontface\mathbf{LeteSansMath-Bold.otf}[
+ Scale=MatchUppercase,
+ version=sans,
+ ]
+ \setmathfont{STIXTwoMath-Regular}[% In TeX Live. Substitution for bigger integrals (similar to newtxmath)
+ Extension = .otf,
+ Scale=MatchUppercase,
+ RawFeature={\UpInt},
+ BoldFont=*,
+ range={"0222B-"02233,"02A0B-"02A1C,},
+ ]
+ }{
+ \ClassWarningNoLine{\ClassName}{Lete Sans Math Bold font not found, falling back to Fira Math with FakeBold}%
+ \setmathfont{FiraMath-Regular}[% 2020 version of Regular is in TeX Live
+ Scale=MatchUppercase,
+ Extension = .otf,
+ version=sansbold,
+ FakeBold = 4,
+ ]
+ \setmathfontface\mathrm{FiraMath-Regular.otf}[
+ Scale=MatchUppercase,
+ version=sansbold,
+ FakeBold = 4,
+ ]
+ \setmathfont{FiraMath-Regular}[% 2020 version of Regular is in TeX Live
+ Scale=MatchUppercase,
+ Extension = .otf,
+ version=sans,
+ NFSSFamily=fsm,
+ BoldFont=*,
+ BoldFeatures = {FakeBold=4},
+ ]
+ \setmathfontface\mathrm{FiraMath-Regular.otf}[
+ Scale=MatchUppercase,
+ version=sans,
+ ]
+ \setmathfontface\mathbf{FiraMath-Regular.otf}[
+ Scale=MatchUppercase,
+ version=sans,
+ FakeBold=4,
+ ]
+ \setmathfont{STIXTwoMath-Regular}[% In TeX Live. Subst. bigger integrals (similar to newtxmath) + cal,scr,frak
+ Extension = .otf,
+ Scale=MatchUppercase,
+ BoldFont = *,
+ RawFeature={\UpInt},
+ range={"0222B-"02233,"02A0B-"02A1C,frak,bffrak,cal,bfcal,scr,bfscr}
+ ]
+ }
%
- \setmathfontface\mathsf{texgyreheros-bold.otf}[Scale=MatchUppercase,version=sansbold] % for sf
- \setmathfontface\mathit{texgyreheros-bolditalic.otf}[Scale=MatchUppercase,version=sansbold] % for it
- \setmathfontface\mathtt{Inconsolatazi4-Bold.otf}[Scale=1.05,version=sansbold] % for tt
+ \setmathfontface\mathsf{texgyreheros-bold.otf}[Scale=0.91,version=sansbold] % for sf
+ \setmathfontface\mathit{texgyreheros-bolditalic.otf}[Scale=0.91,version=sansbold] % for it
+ \setmathfontface\mathtt{Inconsolatazi4-Bold.otf}[Scale=1.03,version=sansbold] % for tt
- \setmathfontface\mathsf{texgyreheros-regular.otf}[Scale=MatchUppercase,version=sans] % for sf
- \setmathfontface\mathit{texgyreheros-italic.otf}[Scale=MatchUppercase,version=sans] % for it
- \setmathfontface\mathtt{Inconsolatazi4-Regular.otf}[Scale=1.05,version=sans] % for tt
-%%
+ \setmathfontface\mathsf{texgyreheros-regular.otf}[Scale=0.91,version=sans] % for sf
+ \setmathfontface\mathit{texgyreheros-italic.otf}[Scale=0.91,version=sans] % for it
+ \setmathfontface\mathtt{Inconsolatazi4-Regular.otf}[Scale=1.03,version=sans]% for tt
+%
\setoperatorfont\normalfont % to enable sans or bold operators, etc.
-%
- % For many languages, using babel commands helps font loading.
- % Switched Harbbuzz to OpenType throughout, 2024/07/28
- % Noto fonts are available at https://github.com/googlefonts
- \def\Noto at scale{0.92}
- \def\Ara at scale{0.91}% For the serif font only
- \def\NotoBan at scale{0.92}% 1.} should probably stay consistent within the Noto family.
- \def\NotoDev at scale{0.92}% 1.} should probably stay consistent within the Noto family.
- \def\NotoTam at scale{0.92}
- \def\Noto at color{Color=black}% 2024/07/28. Changed this diagnostic command to by-pass a bug in luatexja-fontspec.
- % dropping this unused diagnostic option completely, owing to global conflict with luatexja
+%
+ %%% The next blocks load fonts for non-Latin scripts. Most are from the extensive Noto font family, but Amiri is called for serifed Arabic.
+ %%% Font loading is done with \babelfont. Twenty languages are supported. See example file included in this distribution.
+ %
+ \ifasmeconf at loadscripts
+ % For many languages, using babel commands helps font loading.
+ % Switched Harfbuzz to OpenType throughout, 2024/07/28
+ % Noto fonts are available at https://github.com/googlefonts
+ \def\Noto at scale{0.92}
+ \def\Ara at scale{0.91}% For the serif font only
+ \def\NotoBan at scale{0.92}% 1.} should probably stay consistent within the Noto family.
+ \def\NotoDev at scale{0.92}% 1.} should probably stay consistent within the Noto family.
+ \def\NotoTam at scale{0.92}
+ \def\Noto at color{Color=black}% 2024/07/28. Changed this diagnostic command to by-pass a bug in luatexja-fontspec.
+ % dropping this unused diagnostic option completely, owing to global conflict with luatexja
%
- \babelprovide[import, language=Default]{arabic}
- \babelfont [arabic]{rm}[Scale=\Ara at scale,
- %Renderer=OpenType,
- Extension = .ttf,
- UprightFont = *-Regular,
- ItalicFont = *-Regular,% don't use italic face, I am told
- BoldFont = *-Bold,%
- BoldItalicFont = *-Bold,% don't use italic face, I am told
- ]{Amiri}% NotoNaskhArabic}% Some readers prefer Amiri font
- \babelfont [arabic]{sf}[Scale=\Noto at scale,
- %Renderer=OpenType,
- Extension =.ttf,
- UprightFont = *-Regular,
- ItalicFont = *-Regular,% font has no italic face
- BoldFont = *-SemiBold,% I'm told that legibility better than Bold
- BoldItalicFont = *-SemiBold,% font has no italic face
- ]{NotoSansArabic}%DejaVuSans}%NotoKufiArabic}% .otf,%
- \babelfont [arabic]{tt}[%
- %Renderer=OpenType,
- Extension =.ttf,
- UprightFont = *-Regular,
- ItalicFont = *-Regular,% has no italic face
- BoldFont = *-SemiBold,% I'm told that legibility is better than Bold
- BoldItalicFont = *-SemiBold,% has no italic face
- ]{NotoSansArabic}%same as above!
- \providecommand\arabicabstractname{ملخص}% NB: utf-8
+ \babelprovide[import, language=Default]{arabic}
+ \babelfont [arabic]{rm}[Scale=\Ara at scale,
+ %Renderer=OpenType,
+ Extension = .ttf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% don't use italic face, I am told
+ BoldFont = *-Bold,%
+ BoldItalicFont = *-Bold,% don't use italic face, I am told
+ ]{Amiri}% NotoNaskhArabic}% Some readers prefer Amiri font
+ \babelfont [arabic]{sf}[Scale=\Noto at scale,
+ %Renderer=OpenType,
+ Extension =.ttf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% font has no italic face
+ BoldFont = *-SemiBold,% I'm told that legibility better than Bold
+ BoldItalicFont = *-SemiBold,% font has no italic face
+ ]{NotoSansArabic}%DejaVuSans}%NotoKufiArabic}% .otf,%
+ \babelfont [arabic]{tt}[%
+ %Renderer=OpenType,
+ Extension =.ttf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-SemiBold,% I'm told that legibility is better than Bold
+ BoldItalicFont = *-SemiBold,% has no italic face
+ ]{NotoSansArabic}%same as above!
+ \providecommand\arabicabstractname{ملخص}% NB: utf-8
%
- \babelprovide[import,language=Default,script=Bangla]{bengali}
- \babelfont [bengali]{rm}[%
- %Renderer=OpenType,
- Scale=\NotoBan at scale,% same as Devanagari
-% \Noto at color,
- Extension = .ttf,
- UprightFont = *-Regular,
- ItalicFont = *-Regular,% has no italic face
- BoldFont = *-Bold,
- BoldItalicFont = *-Bold,% has no italic face
- ]{NotoSerifBengali}
- \babelfont [bengali]{sf}[%
- %Renderer=OpenType,
- Scale=\NotoBan at scale,
-% \Noto at color,
- Extension = .ttf,
- UprightFont = *-Regular,
- ItalicFont = *-Regular,% has no italic face
- BoldFont = *-Bold,
- BoldItalicFont = *-Bold,% has no italic face
- ]{NotoSansBengali}
- \babelfont [bengali]{tt}[
- %Renderer=OpenType,
- Scale=\NotoBan at scale,
-% \Noto at color,
- Extension = .ttf,
- UprightFont = *-Regular,
- ItalicFont = *-Regular,% has no italic face
- BoldFont = *-Bold,
- BoldItalicFont = *-Bold,% has no italic face
- ]{NotoSansBengali}
+ \babelprovide[import,language=Default,script=Bangla]{bengali}
+ \babelfont [bengali]{rm}[%
+ %Renderer=OpenType,
+ Scale=\NotoBan at scale,% same as Devanagari
+ % \Noto at color,
+ Extension = .ttf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]{NotoSerifBengali}
+ \babelfont [bengali]{sf}[%
+ %Renderer=OpenType,
+ Scale=\NotoBan at scale,
+ % \Noto at color,
+ Extension = .ttf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]{NotoSansBengali}
+ \babelfont [bengali]{tt}[
+ %Renderer=OpenType,
+ Scale=\NotoBan at scale,
+ % \Noto at color,
+ Extension = .ttf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]{NotoSansBengali}
%
- % Cyrillic languages
- \NewDocumentCommand\ac at LoadBabelCyr{>{\SplitList{;}}m}{\ProcessList{#1}{\ac at CyrillicBabel}}
- \NewDocumentCommand\ac at CyrillicBabel{m}{%
- \babelprovide[import,language=Default,script=Cyrillic]{#1} % rescaled 2025/03/14
- \babelfont [#1]{rm}[%
-% Scale=\Noto at scale,
- Scale=0.84,%\Noto at scale, % matching x-height to Termes
- WordSpace = {1.14,1.8,1.37},
- PunctuationSpace = 1.52,
-% \Noto at color,
+ % Cyrillic languages
+ \NewDocumentCommand\ac at LoadBabelCyr{>{\SplitList{;}}m}{\ProcessList{#1}{\ac at CyrillicBabel}}
+ \NewDocumentCommand\ac at CyrillicBabel{m}{%
+ \babelprovide[import,language=Default,script=Cyrillic]{#1} % rescaled 2025/03/14
+ \babelfont [#1]{rm}[%
+ % Scale=\Noto at scale,
+ Scale=0.84,%\Noto at scale, % matching x-height to Termes
+ WordSpace = {1.14,1.8,1.37},
+ PunctuationSpace = 1.52,
+ % \Noto at color,
+ Extension = .ttf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Italic,
+ BoldFont = *-Bold,
+ BoldItalicFont = *-BoldItalic,%
+ ]{NotoSerif}
+ \babelfont [#1]{sf}[%
+ % Scale=\Noto at scale,
+ Scale=0.8896,%\Noto at scale, % matching x-height to Heros
+ WordSpace={1.094},% increase word spacing slightly
+ PunctuationSpace = 1.094,%% match fontdimen7
+ % \Noto at color,
+ Extension = .ttf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Italic,
+ BoldFont = *-Bold,
+ BoldItalicFont = *-BoldItalic,%
+ ]{NotoSans}
+ \babelfont [#1]{tt}[%
+ Scale=0.878,%\Noto at scale, % matching x-height to Inconsolata
+ % \Noto at color,
+ Extension = .ttf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]{NotoSansMono}
+ }
+ \ac at LoadBabelCyr{russian;belarusian;bulgarian;macedonian;serbian-cyrillic;ukrainian}% serbianc has no .ini under fontspec
+ \setlocalecaption{serbian-cyrillic}{abstract}{Сажетак}% NB: utf-8
+%
+ % Devanagari languages
+ \newfontscript{Devanagari}{deva}% OpenType has some problems in Hindi, see babel manual Sect. 1.13 (main issue is ra)
+ \NewDocumentCommand\ac at LoadBabelDev{>{\SplitList{;}}m}{\ProcessList{#1}{\ac at DevBabel}}
+ \NewDocumentCommand\ac at DevBabel{m}{%
+ \babelprovide[import,language=Default]{#1}
+ \babelfont [#1]{rm}[%
+ % %Renderer=OpenType,% Marathi and Hindi may respond differently...
+ Scale=\NotoDev at scale,
+ % \Noto at color,
+ Extension = .ttf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]{NotoSerifDevanagari}
+ \babelfont [#1]{sf}[%
+ % %Renderer=OpenType,% % Marathi and Hindi may respond differently...
+ Scale=\NotoDev at scale,
+ % \Noto at color,
+ Extension = .ttf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]{NotoSansDevanagari}
+ \babelfont [#1]{tt}[
+ % %Renderer=OpenType,% % Marathi and Hindi may respond differently...
+ Scale=\NotoDev at scale,
+ % \Noto at color,
+ Extension = .ttf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]{NotoSansDevanagari}
+ }
+ \ac at LoadBabelDev{hindi;marathi;kashmiri;nepali;sanskrit}
+ % No .ldf files for these languages, but they do have .ini files. Nepali: no abstractname
+%
+ % Greek
+ \babelprovide[import,language=Default]{greek} % adjust scales 2025/03/14
+ \babelfont [greek]{rm}[%
+ Scale=0.84,%\Noto at scale,
+ WordSpace = {1.14,1.8,1.37},
+ PunctuationSpace = 1.52,
+ % WordSpace={1.1},% increase word spacing slightly
+ % \Noto at color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Italic,
BoldFont = *-Bold,
BoldItalicFont = *-BoldItalic,%
- ]{NotoSerif}
- \babelfont [#1]{sf}[%
-% Scale=\Noto at scale,
- Scale=0.8896,%\Noto at scale, % matching x-height to Heros
- WordSpace={1.094},% increase word spacing slightly
- PunctuationSpace = 1.094,%% match fontdimen7
-% \Noto at color,
- Extension = .ttf,
+ ]{NotoSerif}
+ \babelfont [greek]{sf}[%
+ Scale=0.8896,%\Noto at scale,
+ WordSpace={1.094},% increase word spacing slightly
+ PunctuationSpace = 1.094,%% match fontdimen7
+ % \Noto at color,
+ Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Italic,
BoldFont = *-Bold,
BoldItalicFont = *-BoldItalic,%
- ]{NotoSans}
- \babelfont [#1]{tt}[%
- Scale=0.878,%\Noto at scale, % matching x-height to Inconsolata
-% \Noto at color,
- Extension = .ttf,
- UprightFont = *-Regular,
- ItalicFont = *-Regular,% has no italic face
+ ]{NotoSans}
+ \babelfont [greek]{tt}[%
+ Scale=0.878,%\Noto at scale,
+ % \Noto at color,
+ Extension = .ttf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]{NotoSansMono}
+%
+ % Korean
+ \babelprovide[import,language=Default]{korean}
+ \babelfont [korean]{rm}[%
+ Scale=\Noto at scale,
+ % \Noto at color,
+ Extension = .otf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
BoldFont = *-Bold,
BoldItalicFont = *-Bold,% has no italic face
- ]{NotoSansMono}
- }
- \ac at LoadBabelCyr{russian;belarusian;bulgarian;macedonian;serbian-cyrillic;ukrainian}% serbianc has no .ini under fontspec
- \setlocalecaption{serbian-cyrillic}{abstract}{Сажетак}% NB: utf-8
-%
- % Devanagari languages
- \newfontscript{Devanagari}{deva}% OpenType has some problems in Hindi, see babel manual Sect. 1.13 (main issue is ra)
- \NewDocumentCommand\ac at LoadBabelDev{>{\SplitList{;}}m}{\ProcessList{#1}{\ac at DevBabel}}
- \NewDocumentCommand\ac at DevBabel{m}{%
- \babelprovide[import,language=Default]{#1}
- \babelfont [#1]{rm}[%
-% %Renderer=OpenType,% Marathi and Hindi may respond differently...
- Scale=\NotoDev at scale,
-% \Noto at color,
+ ]{NotoSerifCJKkr}
+ \babelfont [korean]{sf}[%
+ Scale=\Noto at scale,
+ % \Noto at color,
+ Extension = .ttc,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]{NotoSansCJK}
+ \babelfont [korean]{tt}[%
+ Scale=\Noto at scale,
+ % \Noto at color,
+ % Extension = .ttc,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]{NotoSansMonoCJKkr}
+ \renewcommand\koreanabstractname{초록} % NB: utf-8
+%
+ % Simplified Chinese
+ \babelprovide[import,language=Default]{chinese-simplified} % throws an error when tagging is active, 2025/03/06
+ \babelfont [chinese-simplified]{rm}[%
+ Scale=\Noto at scale,
+ % \Noto at color,
+ Extension = .otf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]{NotoSerifCJKsc}
+ \babelfont [chinese-simplified]{sf}[%
+ Scale=\Noto at scale,
+ % \Noto at color,
+ Extension = .ttc,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]{NotoSansCJK}
+ \babelfont [chinese-simplified]{tt}[%
+ Scale=\Noto at scale,
+ % \Noto at color,
+ % Extension = .ttc,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]{NotoSansMonoCJKsc}
+ %
+ % Traditional Chinese (includes characters for Cantonese also)
+ \babelprovide[import,language=Default]{chinese-traditional} % throws an error when tagging is active, 2025/03/06
+ \babelfont [chinese-traditional]{rm}[% fixed 2024/07/28
+ Scale=\Noto at scale,
+ % \Noto at color,
+ Extension = .otf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]{NotoSerifCJKtc}
+ \babelfont [chinese-traditional]{sf}[%
+ Scale=\Noto at scale,
+ % \Noto at color,
+ Extension = .ttc,
+ UprightFont = *-Regular,
+ ItalicFont = *-Regular,% has no italic face
+ BoldFont = *-Bold,
+ BoldItalicFont = *-Bold,% has no italic face
+ ]{NotoSansCJK}
+ \babelfont [chinese-traditional]{tt}[Scale=\Noto at scale,\Noto at color]{NotoSansMonoCJKtc}
+ %
+ \babelprovide[import,language=Default]{tamil}
+ \babelfont [tamil]{rm}[%
+ %Renderer=OpenType,
+ Scale=\NotoTam at scale,
+ % \Noto at color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
BoldFont = *-Bold,
BoldItalicFont = *-Bold,% has no italic face
- ]{NotoSerifDevanagari}
- \babelfont [#1]{sf}[%
-% %Renderer=OpenType,% % Marathi and Hindi may respond differently...
- Scale=\NotoDev at scale,
-% \Noto at color,
+ ]{NotoSerifTamil}
+ \babelfont [tamil]{sf}[%
+ %Renderer=OpenType,
+ Scale=\NotoTam at scale,
+ % \Noto at color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
BoldFont = *-Bold,
BoldItalicFont = *-Bold,% has no italic face
- ]{NotoSansDevanagari}
- \babelfont [#1]{tt}[
-% %Renderer=OpenType,% % Marathi and Hindi may respond differently...
- Scale=\NotoDev at scale,
-% \Noto at color,
+ ]{NotoSansTamil}
+ \babelfont [tamil]{tt}[
+ %Renderer=OpenType,
+ Scale=\NotoTam at scale,
+ % \Noto at color,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
BoldFont = *-Bold,
BoldItalicFont = *-Bold,% has no italic face
- ]{NotoSansDevanagari}
- }
- \ac at LoadBabelDev{hindi;marathi;kashmiri;nepali;sanskrit}
- % No .ldf files for these languages, but they do have .ini files. Nepali: no abstractname
-%
- % Greek
- \babelprovide[import,language=Default]{greek} % adjust scales 2025/03/14
- \babelfont [greek]{rm}[%
- Scale=0.84,%\Noto at scale,
- WordSpace = {1.14,1.8,1.37},
- PunctuationSpace = 1.52,
-% WordSpace={1.1},% increase word spacing slightly
-% \Noto at color,
- Extension = .ttf,
- UprightFont = *-Regular,
- ItalicFont = *-Italic,
- BoldFont = *-Bold,
- BoldItalicFont = *-BoldItalic,%
- ]{NotoSerif}
- \babelfont [greek]{sf}[%
- Scale=0.8896,%\Noto at scale,
- WordSpace={1.094},% increase word spacing slightly
- PunctuationSpace = 1.094,%% match fontdimen7
-% \Noto at color,
- Extension = .ttf,
- UprightFont = *-Regular,
- ItalicFont = *-Italic,
- BoldFont = *-Bold,
- BoldItalicFont = *-BoldItalic,%
- ]{NotoSans}
- \babelfont [greek]{tt}[%
- Scale=0.878,%\Noto at scale,
-% \Noto at color,
- Extension = .ttf,
- UprightFont = *-Regular,
- ItalicFont = *-Regular,% has no italic face
- BoldFont = *-Bold,
- BoldItalicFont = *-Bold,% has no italic face
- ]{NotoSansMono}
-%
+ ]{NotoSansTamil}
+ %
+ \babelprovide[import, captions/abstract = Muhtasari, language = Default]{swahili}
+ \fi
+ %
% Japanese
% luatexja-fontspec seems to want lc "color" now, rather than normal "Color", as before. Commenting out.
% ongoing issues with color in these fonts, conflicting with Greek and Russian. Eliminating color from all three. 2025/03/07
@@ -861,7 +1012,7 @@
% \def\Noto at color{}% by-pass bug in luatexja-fontspec, 2024/07/28.
\RequirePackage[no-math]{luatexja-fontspec}% japanese typesets *much* better with this loaded
\setmainjfont{NotoSerifCJKjp}[%
- Scale=\Noto at scale,
+ Scale=0.92,
% \Noto at color,
% Extension = .otf,
UprightFont = *-Regular,
@@ -870,7 +1021,7 @@
BoldItalicFont = *-Bold,% has no italic face
]
\setsansjfont{NotoSansCJKjp}[%
- Scale=\Noto at scale,
+ Scale=0.92,
% \Noto at color,
% Extension = .ttc,
UprightFont = *-Regular,
@@ -879,7 +1030,7 @@
BoldItalicFont = *-Bold,% has no italic face
]
\setmonojfont{NotoSansMonoCJKjp}[%
- Scale=\Noto at scale,
+ Scale=0.92,
% \Noto at color,
UprightFont = *-Regular,
ItalicFont = *-Regular,% has no italic face
@@ -890,7 +1041,7 @@
% see: https://tex.stackexchange.com/questions/222320/russian-in-document-with-japanese-as-main-language-lualatex-ltjsarticle
% Need at least one of the following to load the Japanese dictionary.
\babelfont [japanese]{rm}[%
- Scale=\Noto at scale,
+ Scale=0.92,
% \Noto at color,
Extension = .otf,
UprightFont = *-Regular,
@@ -899,7 +1050,7 @@
BoldItalicFont = *-Bold,% has no italic face
]{NotoSerifCJKjp}% Scale estimated
\babelfont [japanese]{sf}[%
- Scale=\Noto at scale,
+ Scale=0.92,
% \Noto at color,
% Extension = .ttc,
UprightFont = *-Regular,
@@ -908,7 +1059,7 @@
BoldItalicFont = *-Bold,% has no italic face
]{NotoSansCJKjp}
\babelfont [japanese]{tt}[%
- Scale=\Noto at scale,
+ Scale=0.92,
% \Noto at color,
% Extension = .ttc,
UprightFont = *-Regular,
@@ -919,123 +1070,6 @@
% \let\Noto at color\savNoto at color
\fi
% Note: \japaneseabstractname is not defined if japanese is not called as a package option.
-
- % Korean
- \babelprovide[import,language=Default]{korean}
- \babelfont [korean]{rm}[%
- Scale=\Noto at scale,
-% \Noto at color,
- Extension = .otf,
- UprightFont = *-Regular,
- ItalicFont = *-Regular,% has no italic face
- BoldFont = *-Bold,
- BoldItalicFont = *-Bold,% has no italic face
- ]{NotoSerifCJKkr}
- \babelfont [korean]{sf}[%
- Scale=\Noto at scale,
-% \Noto at color,
- Extension = .ttc,
- UprightFont = *-Regular,
- ItalicFont = *-Regular,% has no italic face
- BoldFont = *-Bold,
- BoldItalicFont = *-Bold,% has no italic face
- ]{NotoSansCJK}
- \babelfont [korean]{tt}[%
- Scale=\Noto at scale,
-% \Noto at color,
-% Extension = .ttc,
- UprightFont = *-Regular,
- ItalicFont = *-Regular,% has no italic face
- BoldFont = *-Bold,
- BoldItalicFont = *-Bold,% has no italic face
- ]{NotoSansMonoCJKkr}
- \renewcommand\koreanabstractname{초록} % NB: utf-8
-
- % Simplified Chinese
- \babelprovide[import,language=Default]{chinese-simplified} % throws an error when tagging is active, 2025/03/06
- \babelfont [chinese-simplified]{rm}[%
- Scale=\Noto at scale,
-% \Noto at color,
- Extension = .otf,
- UprightFont = *-Regular,
- ItalicFont = *-Regular,% has no italic face
- BoldFont = *-Bold,
- BoldItalicFont = *-Bold,% has no italic face
- ]{NotoSerifCJKsc}
- \babelfont [chinese-simplified]{sf}[%
- Scale=\Noto at scale,
-% \Noto at color,
- Extension = .ttc,
- UprightFont = *-Regular,
- ItalicFont = *-Regular,% has no italic face
- BoldFont = *-Bold,
- BoldItalicFont = *-Bold,% has no italic face
- ]{NotoSansCJK}
- \babelfont [chinese-simplified]{tt}[%
- Scale=\Noto at scale,
-% \Noto at color,
-% Extension = .ttc,
- UprightFont = *-Regular,
- ItalicFont = *-Regular,% has no italic face
- BoldFont = *-Bold,
- BoldItalicFont = *-Bold,% has no italic face
- ]{NotoSansMonoCJKsc}
-%
- % Traditional Chinese (includes characters for Cantonese also)
- \babelprovide[import,language=Default]{chinese-traditional} % throws an error when tagging is active, 2025/03/06
- \babelfont [chinese-traditional]{rm}[% fixed 2024/07/28
- Scale=\Noto at scale,
-% \Noto at color,
- Extension = .otf,
- UprightFont = *-Regular,
- ItalicFont = *-Regular,% has no italic face
- BoldFont = *-Bold,
- BoldItalicFont = *-Bold,% has no italic face
- ]{NotoSerifCJKtc}
- \babelfont [chinese-traditional]{sf}[%
- Scale=\Noto at scale,
-% \Noto at color,
- Extension = .ttc,
- UprightFont = *-Regular,
- ItalicFont = *-Regular,% has no italic face
- BoldFont = *-Bold,
- BoldItalicFont = *-Bold,% has no italic face
- ]{NotoSansCJK}
- \babelfont [chinese-traditional]{tt}[Scale=\Noto at scale,\Noto at color]{NotoSansMonoCJKtc}
-%
- \babelprovide[import,language=Default]{tamil}
- \babelfont [tamil]{rm}[%
- %Renderer=OpenType,
- Scale=\NotoTam at scale,
-% \Noto at color,
- Extension = .ttf,
- UprightFont = *-Regular,
- ItalicFont = *-Regular,% has no italic face
- BoldFont = *-Bold,
- BoldItalicFont = *-Bold,% has no italic face
- ]{NotoSerifTamil}
- \babelfont [tamil]{sf}[%
- %Renderer=OpenType,
- Scale=\NotoTam at scale,
-% \Noto at color,
- Extension = .ttf,
- UprightFont = *-Regular,
- ItalicFont = *-Regular,% has no italic face
- BoldFont = *-Bold,
- BoldItalicFont = *-Bold,% has no italic face
- ]{NotoSansTamil}
- \babelfont [tamil]{tt}[
- %Renderer=OpenType,
- Scale=\NotoTam at scale,
-% \Noto at color,
- Extension = .ttf,
- UprightFont = *-Regular,
- ItalicFont = *-Regular,% has no italic face
- BoldFont = *-Bold,
- BoldItalicFont = *-Bold,% has no italic face
- ]{NotoSansTamil}
-%
- \babelprovide[import, captions/abstract = Muhtasari, language = Default]{swahili}
%
\else % use lualatex without support for system fonts (enables luacode for numerics while retaining newtx etc.)
% dropped newtxtext completely, 2024/01/19
@@ -1042,24 +1076,17 @@
\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
- \DeclareFontShape{T1}{\sfdefault}{b}{n}{<-> s*[0.94] ec-qhvb}{} %% see t1qhv.fd; 0.9-->0.94 2022/01/15
- \DeclareFontShape{T1}{\sfdefault}{bx}{n}{<-> s*[0.94] ec-qhvb}{} %% see t1qhv.fd; 0.9-->0.94 2022/01/15
- \DeclareFontFamily{T1}{zi4}{}% typewriter (Inconsolata)
- \DeclareFontShape{T1}{zi4}{m}{n}{<-> s*[1.05] t1-zi4r-5}{}% with options varl and var qu
- \DeclareFontShape{T1}{zi4}{b}{n}{<-> s*[1.05] t1-zi4b-5}{}
- \DeclareFontShape{T1}{zi4}{bx}{n}{<-> s*[1.05] t1-zi4b-5}{}
- \RequirePackage[]{newtxmath} % options will be as passed from newtx
- \providecommand*{\DeclareFontFamilySubstitution}[3]{\relax}% folks with old latex formats will get a different typewriter font...
- \AtBeginDocument{%
- \DeclareFontFamilySubstitution{T1}{\ttdefault}{zi4}
- }
+ \DeclareFontShape{T1}{\sfdefault}{m}{n}{<-> s*[0.91] ec-qhvr}{} %% see t1qhv.fd; 0.9-->0.94 2022/01/15; 0.94-->0.91, 2025/04/08
+ \DeclareFontShape{T1}{\sfdefault}{b}{n}{<-> s*[0.91] ec-qhvb}{} %% see t1qhv.fd; 0.9-->0.94 2022/01/15; 0.94-->0.91, 2025/04/08
+ \DeclareFontShape{T1}{\sfdefault}{bx}{n}{<-> s*[0.91] ec-qhvb}{} %% see t1qhv.fd; 0.9-->0.94 2022/01/15; 0.94-->0.91, 2025/04/08
+ \RequirePackage[varqu,varl,scale=1.03]{inconsolata}% sans typewriter font, revised 2025/04/11
+ \RequirePackage[]{newtxmath} % options will be as passed from newtx
\fi
\fi
%% the bm package is loaded only without unicode-math (bm = bold math macro)
\ifac at fontspec
- \let\bm\symbf
+ \let\bm\symbf % in case of user error...
\else
\RequirePackage{bm}% load after all math
\fi
@@ -1105,7 +1132,7 @@
}{\relax}
\SetSymbolFont{largesymbols}{sansbold}{LMX}{ntxexx}{b}{n}% added 25 Jan 2021
\SetSymbolFont{largesymbolsTXA}{sansbold}{U}{ntxexa}{b}{n}% added 25 Jan 2021
- \SetSymbolFont{operators}{sansbold}{\encodingdefault}{\sfdefault}{\bfdefault}{n}
+ \SetSymbolFont{operators}{sansbold}{OT1}{\sfdefault}{\bfdefault}{n}% fixed encoding 2025/04/07
\SetMathAlphabet{\mathsf}{sansbold}{\encodingdefault}{\sfdefault}{b}{n}% changed from it, 2021/01/31: \mathsf is upright.
%% Added 2023/10/19
@@ -1117,7 +1144,7 @@
}{\relax}
\SetSymbolFont{largesymbols}{sans}{LMX}{ntxexx}{m}{n}
\SetSymbolFont{largesymbolsTXA}{sans}{U}{ntxexa}{m}{n}
- \SetSymbolFont{operators}{sans}{\encodingdefault}{\sfdefault}{\rmdefault}{n}
+ \SetSymbolFont{operators}{sans}{OT1}{\sfdefault}{\rmdefault}{n}% fixed encoding 2025/04/07
\SetMathAlphabet{\mathsf}{sans}{\encodingdefault}{\sfdefault}{m}{n}% \mathsf is upright.
\fi
@@ -1197,12 +1224,12 @@
\renewcommand\section{\@startsection {section}{1}{\z@}%
{12pt \@plus 4pt \@minus 2pt}%
{1pt \@plus 2pt \@minus 2pt}%
- {\mathversion{sansbold}\bfseries\sffamily\raggedright\MakeUppercase}}
-\renewcommand\subsection{\@startsection {subsection}{1}{\z@}%
+ {\mathversion{sansbold}\normalsize\bfseries\sffamily\raggedright\MakeTextUppercase}}
+\renewcommand\subsection{\@startsection {subsection}{2}{\z@}%
{12pt \@plus 4pt \@minus 2pt}%
{1pt \@plus 1pt \@minus 1pt}%
{\mathversion{sansbold}\normalsize\bfseries\sffamily\raggedright}}
-\renewcommand\subsubsection{\@startsection {subsubsection}{1}{\parindent}%
+\renewcommand\subsubsection{\@startsection {subsubsection}{3}{\parindent}%
{6pt \@plus 3pt \@minus 2pt}%
{-0.5em}%
{\mathversion{sansbold}\bfseries\normalsize\sffamily}}
@@ -1267,8 +1294,7 @@
%% if given in a section heading. Ditto for \eqref
%
\ifx\AddToNoCaseChangeList\@undefined % updated 2022/07/03, see https://github.com/John02139/asmeconf/issues/5
- \patchcmd{\@uclcnotmath}{\@nonchangecase\ref}{\@nonchangecase\ref\@nonchangecase\footnote}{\typeout{Asmeconf patched textcase nonchangecase to include footnote.}}{}
- \patchcmd{\@uclcnotmath}{\@nonchangecase\ref}{\@nonchangecase\ref\@nonchangecase\eqref}{\typeout{Asmeconf patched textcase nonchangecase to include eqref.}}{}
+ \patchcmd{\@uclcnotmath}{\@nonchangecase\ref}{\@nonchangecase\ref\@nonchangecase\footnote\@nonchangecase\eqref}{\typeout{Asmeconf patched textcase nonchangecase to include footnote and eqref.}}{}
\else
\AddToNoCaseChangeList{\eqref \footnote}
\fi
@@ -1278,9 +1304,8 @@
\ifac at pdftex
%%% 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}.
+ %%% as of 2025/04/17, both are still necessary for \DocumentMetadata{pdfstandard=A-3u}.
\InputIfFileExists{glyphtounicode-cmr.tex}{}{} %% additional mappings
- \InputIfFileExists{glyphtounicode-cmex.tex}{}{} %% additional mappings, in latex-lab (2025/03/08)
\InputIfFileExists{glyphtounicode-ntx.tex}{}{} %% additional mappings
\fi
@@ -1391,11 +1416,14 @@
%%%%%%%%%%%%% Define special environments %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ExplSyntaxOn
-%% In case tagging is not loaded, 2025/01/26
+%% In case tagging is not loaded, 2025/01/26; edit for backward compatibility, 2025/04/14
\cs_if_exist:NF \tag_struct_begin:n
{
\cs_new:Npn \tag_struct_begin:n #1 { \scan_stop: }
\cs_new:Nn \tag_struct_end: { \scan_stop: }
+ }
+\cs_if_exist:NF \tagpdfparaOff
+ {
\cs_new:Npn \tagpdfparaOff { \scan_stop: }
\cs_new:Npn \tagpdfparaOn { \scan_stop: }
}
@@ -1404,7 +1432,7 @@
\providecommand{\nomname}{Nomenclature}
\providecommand{\keywordname}{Keywords}
-\providecommand{\appendicesname}{APPENDICES}
+%\providecommand{\appendicesname}{APPENDICES} % no longer used, 2025/04/11
\providecommand{\JAwords}{Joint~first~authors}
\providecommand{\CAwords}{Corresponding~author}
@@ -1552,7 +1580,7 @@
\cs_gset_eq:NN \savemakefnmark \@makefnmark
%% Flag for joint first authors (two or more)
-\newif\ifac at JA\ac at JAfalse
+\newif\ifac at JA
\NewDocumentCommand{\JointFirstAuthor}{}{%
\global\ac at JAtrue%
@@ -1563,7 +1591,7 @@
\fi
}
%% Flag for corresponding author (expecting just one, but if two enter both email addresses and flag both authors)
-\newif\ifac at CA\ac at CAfalse
+\newif\ifac at CA
% backward compatibility
\cs_if_exist:NF \str_case_e:enTF { \cs_generate_variant:Nn \str_case_e:nnTF {enTF} }
@@ -1860,7 +1888,7 @@
\tl_replace_all:Nnn \l_tmpa_tl { \CorrespondingAuthor } { \use_none:n }
\tl_new:N \g_asmeconf_authors_tl
\tl_gset:NV \g_asmeconf_authors_tl \l_tmpa_tl % 2024/08/18 e -> V
- % \iow_term:e { \tl_use:N \g_asmeconf_authors_tl }% diagnostic only
+ % \iow_term:e { \tl_use:N \g_asmeconf_authors_tl }% diagnostic only
}
\def\@makefnmark{\hbox{\@textsuperscript{\sffamily\@thefnmark}}}%
@@ -1988,23 +2016,11 @@
\ifac at fontspec
\IfFontExistsTF{LeteSansMath-Bold}
{
- \newfontface{\letesansmath}{LeteSansMath}[
- Scale=MatchUppercase,
- NFSSFamily=lsm,
- BoldFont = *-Bold,
- Extension=.otf,
- ]
\DeclareSymbolFont{lsmgreek}{TU}{lsm}{m}{n}
\SetSymbolFont{lsmgreek}{normal}{TU}{lsm}{m}{n}
\SetSymbolFont{lsmgreek}{bold}{TU}{lsm}{b}{n}
\def\ac at sansgreek{\symlsmgreek}
}{
- \newfontface{\firamath}{FiraMath-Regular}[
- Scale=MatchUppercase,
- NFSSFamily=fsm,
- Extension=.otf,
- BoldFont=*,
- BoldFeatures = {FakeBold=4}]
\DeclareSymbolFont{fsmgreek}{TU}{fsm}{m}{n}
\SetSymbolFont{fsmgreek}{normal}{TU}{fsm}{m}{n}
\SetSymbolFont{fsmgreek}{bold}{TU}{fsm}{b}{n}
@@ -2219,8 +2235,8 @@
}{\relax}
\SetSymbolFont{largesymbols}{sans}{LMX}{ntxexx}{m}{n}
\SetSymbolFont{largesymbolsTXA}{sans}{U}{ntxexa}{m}{n}
- \SetSymbolFont{operators}{sans}{\encodingdefault}{\sfdefault}{m}{n}
- \SetMathAlphabet{\mathsf}{sans}{\encodingdefault}{\sfdefault}{m}{n}% make upright 2021/01/31.
+ \SetSymbolFont{operators}{sans}{OT1}{\sfdefault}{m}{n}% fixed encoding 2025/04/07
+ \SetMathAlphabet{\mathsf}{sans}{OT1}{\sfdefault}{m}{n}% make upright 2021/01/31.
\fi
%%%%%%%%%%%%%%%%%% Times-like fonts for specific languages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -2233,7 +2249,7 @@
\ifac at vietnamese
%
\AtBeginDocument{%
- \let\babel at aux\@gobbletwo % eliminate warnings about missing .fd. Brute force approach, revisit later. 2022/03/14
+ \let\babel at aux\@gobbletwo % eliminate warnings about missing .fd. Brute force approach, revisit eventually. 2022/03/14
\DeclareFontFamilySubstitution{T5}{\rmdefault}{qtm} % new in 02/20/2020 format of LaTeX! Need to test.
\DeclareFontFamilySubstitution{T5}{\ttdefault}{qcr}
}
@@ -2288,9 +2304,9 @@
\ifac at greek
%
\AtBeginDocument{%
- \let\babel at aux\@gobbletwo % eliminate warnings about missing .fd. Brute force approach, revisit later. 2022/03/14
+ \let\babel at aux\@gobbletwo % eliminate warnings about missing .fd. Brute force approach, revisit eventually. 2022/03/14
\DeclareFontFamilySubstitution{LGR}{\familydefault}{artemisia} % scale these
- \DeclareFontFamilySubstitution{LGR}{\sfdefault}{maksf}%kerkis
+ \DeclareFontFamilySubstitution{LGR}{\sfdefault}{maksf}% kerkis
\DeclareFontFamilySubstitution{LGR}{\ttdefault}{DejaVuSansMono-TLF}
}
% %% Based on Artemisia fd files by A. Tsolomitis and ideas from substitutefont package by G. Milde, both LaTeX Public License.
@@ -2358,13 +2374,13 @@
\ifac at cyrillic
%
- \AtBeginDocument{%
- \let\babel at aux\@gobbletwo % eliminate warnings about missing .fd. Brute force approach, revisit later. 2022/03/14
- \DeclareFontFamilySubstitution{T2A}{\familydefault}{PTSerif-TLF}
- \DeclareFontFamilySubstitution{T2A}{\sfdefault}{PTSans-TLF}
-% \DeclareFontFamilySubstitution{T2A}{\ttdefault}{DejaVuSansMono-TLF} % if one prefers an SF monospace font
- \DeclareFontFamilySubstitution{T2A}{\ttdefault}{PTMono}
- }
+ \AtBeginDocument{%
+ \let\babel at aux\@gobbletwo % eliminate warnings about missing .fd. Brute force approach, revisit eventually. 2022/03/14
+ \DeclareFontFamilySubstitution{T2A}{\familydefault}{PTSerif-TLF}
+ \DeclareFontFamilySubstitution{T2A}{\sfdefault}{PTSans-TLF}
+% \DeclareFontFamilySubstitution{T2A}{\ttdefault}{DejaVuSansMono-TLF} % if one prefers an SF monospace font
+ \DeclareFontFamilySubstitution{T2A}{\ttdefault}{PTMono}
+ }
%% Paratype fonts for cyrillic, maintained by Pavel Farar, under Latex Project Public License
\begingroup
\nfss at catcodes
More information about the tex-live-commits
mailing list.