summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-02-07 03:01:02 +0000
committerNorbert Preining <norbert@preining.info>2024-02-07 03:01:02 +0000
commit50fcb5024d3243d7e1601abf72b5f4444dd618b6 (patch)
treef53a7b130aa3e1ab8afb00c716a31c33e888f625 /macros/latex
parent25b83ac051a8ec3bf79f47e3c3c66b3567a3216a (diff)
CTAN sync 202402070301
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/contrib/acmart/Makefile4
-rw-r--r--macros/latex/contrib/acmart/README6
-rw-r--r--macros/latex/contrib/acmart/acm-jdslogo.pngbin0 -> 19718 bytes
-rw-r--r--macros/latex/contrib/acmart/acmart.dtx106
-rw-r--r--macros/latex/contrib/acmart/acmart.pdfbin910813 -> 914077 bytes
-rw-r--r--macros/latex/contrib/acmart/acmguide.pdfbin438260 -> 441017 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/acmengage.dtx257
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmcp.pdfbin215115 -> 215115 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmengage.pdfbin400687 -> 400687 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmlarge.pdfbin611834 -> 611834 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdfbin634465 -> 634465 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdfbin1056095 -> 1057139 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdfbin624275 -> 624275 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmsmall.pdfbin621763 -> 621763 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdfbin0 -> 569862 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmtog.pdfbin569338 -> 569337 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-lualatex.pdfbin788111 -> 0 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-manuscript.pdfbin624452 -> 623270 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdf (renamed from macros/latex/contrib/acmart/samples/sample-authordraft.pdf)bin1048890 -> 1048899 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdfbin621337 -> 622211 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdfbin1060387 -> 1060387 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigconf.pdfbin1045103 -> 1045103 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigplan.pdfbin1053568 -> 1053568 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-xelatex.pdfbin659284 -> 0 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/samples.dtx310
-rw-r--r--macros/latex/contrib/acmart/samples/samples.ins33
-rw-r--r--macros/latex/contrib/asmeconf/README.md30
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf-sample.bib55
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf-template.pdfbin481906 -> 706754 bytes
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf-template.tex130
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf.bst49
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf.cls1111
-rw-r--r--macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.tex4
-rw-r--r--macros/latex/contrib/asmeconf/examples/asmeconf-lualatex-ode-example.tex16
-rw-r--r--macros/latex/contrib/asmeconf/examples/asmeconf-wide-equation-example/asmeconf-template-widetext.pdfbin2930072 -> 2930107 bytes
-rw-r--r--macros/latex/contrib/asmeconf/examples/asmeconf-wide-equation-example/asmeconf-template-widetext.tex10
-rw-r--r--macros/latex/contrib/asmeconf/sample-figure-1.pdfbin17689 -> 43860 bytes
-rw-r--r--macros/latex/contrib/asmeconf/sample-figure-2a.pdfbin174514 -> 155049 bytes
-rw-r--r--macros/latex/contrib/asmeconf/sample-figure-2b.pdfbin171493 -> 95287 bytes
-rw-r--r--macros/latex/contrib/asmejour/README.md14
-rw-r--r--macros/latex/contrib/asmejour/asmejour-sample.bib62
-rw-r--r--macros/latex/contrib/asmejour/asmejour-template.pdfbin510483 -> 729589 bytes
-rw-r--r--macros/latex/contrib/asmejour/asmejour-template.tex50
-rw-r--r--macros/latex/contrib/asmejour/asmejour.bst81
-rw-r--r--macros/latex/contrib/asmejour/asmejour.cls209
-rw-r--r--macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.pdfbin2983939 -> 2983602 bytes
-rw-r--r--macros/latex/contrib/asmejour/sample-figure-1.pdfbin17689 -> 43860 bytes
-rw-r--r--macros/latex/contrib/asmejour/sample-figure-2a.pdfbin174514 -> 155049 bytes
-rw-r--r--macros/latex/contrib/asmejour/sample-figure-2b.pdfbin171493 -> 95287 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx28
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin596407 -> 596404 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex8
-rw-r--r--macros/latex/contrib/hvqrurl/Changes1
-rw-r--r--macros/latex/contrib/hvqrurl/doc/hvqrurl.pdfbin115679 -> 117382 bytes
-rw-r--r--macros/latex/contrib/hvqrurl/doc/hvqrurl.tex8
-rw-r--r--macros/latex/contrib/hvqrurl/latex/hvqrurl.sty13
-rw-r--r--macros/latex/contrib/lwarp/README.txt2
-rw-r--r--macros/latex/contrib/lwarp/lwarp.dtx284
-rw-r--r--macros/latex/contrib/lwarp/lwarp.pdfbin3463244 -> 3467122 bytes
-rwxr-xr-xmacros/latex/contrib/lwarp/lwarpmk.lua2
-rw-r--r--macros/latex/contrib/spbmark/spbmark.pdfbin86873 -> 89117 bytes
-rw-r--r--macros/latex/contrib/spbmark/spbmark.sty17
-rw-r--r--macros/latex/contrib/spbmark/spbmark.tex24
-rw-r--r--macros/latex/contrib/verifiche/verifiche-example.pdfbin257240 -> 259227 bytes
-rw-r--r--macros/latex/contrib/verifiche/verifiche-example.tex13
-rw-r--r--macros/latex/contrib/verifiche/verifiche.dtx9
-rw-r--r--macros/latex/contrib/verifiche/verifiche.ins2
-rw-r--r--macros/latex/contrib/verifiche/verifiche.pdfbin626950 -> 627088 bytes
68 files changed, 1506 insertions, 1442 deletions
diff --git a/macros/latex/contrib/acmart/Makefile b/macros/latex/contrib/acmart/Makefile
index 08d2dddc90..832265701d 100644
--- a/macros/latex/contrib/acmart/Makefile
+++ b/macros/latex/contrib/acmart/Makefile
@@ -94,7 +94,7 @@ samples/sample-acmsmall-biblatex.pdf: samples/sample-acmsmall-biblatex.tex $(SAM
while ( grep -q '^LaTeX Warning: Label(s) may have changed' $(basename $<).log) \
do cd $(dir $@) && pdflatex-dev $(notdir $<); done
-samples/sample-xelatex.pdf: samples/sample-xelatex.tex samples/$(PACKAGE).cls samples/ACM-Reference-Format.bst
+samples/sample-sigconf-xelatex.pdf: samples/sample-xelatex.tex samples/$(PACKAGE).cls samples/ACM-Reference-Format.bst
cd $(dir $@) && xelatex-dev $(notdir $<)
- cd $(dir $@) && bibtex $(notdir $(basename $<))
cd $(dir $@) && xelatex-dev $(notdir $<)
@@ -102,7 +102,7 @@ samples/sample-xelatex.pdf: samples/sample-xelatex.tex samples/$(PACKAGE).cls
while ( grep -q '^LaTeX Warning: Label(s) may have changed' $(basename $<).log) \
do cd $(dir $@) && xelatex-dev $(notdir $<); done
-samples/sample-lualatex.pdf: samples/sample-lualatex.tex samples/$(PACKAGE).cls samples/ACM-Reference-Format.bst
+samples/sample-sigconf-lualatex.pdf: samples/sample-lualatex.tex samples/$(PACKAGE).cls samples/ACM-Reference-Format.bst
cd $(dir $@) && lualatex-dev $(notdir $<)
- cd $(dir $@) && bibtex $(notdir $(basename $<))
cd $(dir $@) && lualatex-dev $(notdir $<)
diff --git a/macros/latex/contrib/acmart/README b/macros/latex/contrib/acmart/README
index 422452e721..3495405601 100644
--- a/macros/latex/contrib/acmart/README
+++ b/macros/latex/contrib/acmart/README
@@ -12,7 +12,11 @@ The production version is the one on CTAN and ACM sites.
Changes
-Version 2.02. Documentation update.
+Version 2.03. Cleaned generation of samples.
+ New options for printing conference proceedings
+ in ACM journals
+
+Version 2.02 Documentation update.
Changes in TOG templates
Corrected typo in ACM/IMS journals
diff --git a/macros/latex/contrib/acmart/acm-jdslogo.png b/macros/latex/contrib/acmart/acm-jdslogo.png
new file mode 100644
index 0000000000..9772aed929
--- /dev/null
+++ b/macros/latex/contrib/acmart/acm-jdslogo.png
Binary files differ
diff --git a/macros/latex/contrib/acmart/acmart.dtx b/macros/latex/contrib/acmart/acmart.dtx
index 666e8d95b8..11c9b1eca1 100644
--- a/macros/latex/contrib/acmart/acmart.dtx
+++ b/macros/latex/contrib/acmart/acmart.dtx
@@ -289,10 +289,12 @@
% transactions, and course materials, while formats starting with
% |sig| are intended for proceedings published as books.
%
-% Note that sometimes conference proceedings are published as a
-% special issue (or issues) of an ACM journal. In this case, you
-% should use the journal format for a conference paper. Please
-% contact your conference committee if in doubt.
+% Sometimes conference proceedings are published as a special issue
+% (or issues) of an ACM journal. In this case, you should use the
+% journal format. The templates |sample-acmsmall-conf.tex| and
+% |sample-acmtog-conf.tex| show how to enter conference information.
+% Note that you need to comment out |\acmJournal{...}| line for such
+% papers to get the conference information in the footers and headers.
%
% \begin{table}
% \centering
@@ -2202,6 +2204,47 @@
% reserved for new journals which are not assigned an ISSN yet.
%
%
+%\subsection{Samples}
+%\label{sec:samples}
+%
+% There are several samples of acmart documents, that can serve as
+% templates for the authors. Among them
+% |sample-sig...| are templates for conference papers, while
+% |sample-acm...| are templates for journal articles and special
+% materials.
+%
+% Here is the list of the samples:
+% \begin{description}
+% \item[sample-manuscript:] A proceedings paper in the manuscript format.
+% \item[sample-acmsmall:] A journal paper in the |acmsmall| format.
+% \item[sample-acmsmall-biblatex:] A journal paper using experimental
+% \textsl{biblatex} bibliography processing.
+% \item[sample-acmlarge:] A journal paper in the |acmlarge| format.
+% \item[sample-acmtog:] A journal paper in the |acmtog| format.
+% \item[sample-sigconf:] A proceedings paper in the standard |sigconf|
+% format.
+% \item[sample-sigconf-biblatex:] A proceedings paper in the |sigconf|
+% format using experimental \textsl{biblatex} bibliography
+% processing.
+% \item[sample-sigconf-authordraft:] A proceedings paper in the
+% |sigconf| format with the |authordraft| option selected.
+% \item[sample-sigconf-i13n:] A proceedings paper in the
+% |sigconf| format with multilanguage titles and abstract.
+% \item[sample-sigconf-xelatex:] A proceedings paper in the
+% |sigconf| format, Xe\LaTeX\ version.
+% \item[sample-sigconf-lualatex:] A proceedings paper in the
+% |sigconf| format, Lua\LaTeX\ version.
+% \item[sample-sigplan:] A proceedings paper in the |sigplan| format.
+% \item[sample-acmsmall-conf:] A proceedings paper in the |acmsmall|
+% format for the publication in a journal using this option.
+% \item[sample-acmtog-conf:] A proceedings paper in the |acmtog|
+% format for the publication in a journal using this option.
+% \item[sample-acmcp:] A sample of ACM Cover Page used by JDS.
+% \item[sample-acmengage:] A sample of ACM Engage publication.
+% \end{description}
+%
+%
+%
%\subsection{A note about \texttt{sigchi-a} format}
%\label{sec:sigchi-a}
%
@@ -2266,7 +2309,7 @@
\ProvidesFile{acmart.dtx}
%</gobble>
%<class>\ProvidesClass{acmart}
-[2024/01/21 v2.02 Typesetting articles for the Association for Computing Machinery]
+[2024/02/04 v2.03 Typesetting articles for the Association for Computing Machinery]
% \end{macrocode}
%
% \changes{v1.00}{2016/04/14}{First released version}
@@ -2382,6 +2425,7 @@
% throughout}
% \changes{v1.93}{2023/10/22}{Added PACMSE journal option}
% \changes{v2.01}{2024/01/06}{Documentation update: POMACS uses acmsmall}
+% \changes{v2.03}{2024/02/04}{Added documentation about samples}
%
% And the driver code:
% \begin{macrocode}
@@ -2741,6 +2785,17 @@
%
% \end{macro}
%
+% \begin{macro}{\if@ACM@journal@bibstrip@or@tog}
+% \changes{v2.03}{2024/02/04}{Introduced macro}
+% ACM TOG sometimes uses journal-like bibstrip even for conference
+% proceedings, so we need to set it separately
+% \begin{macrocode}
+\newif\if@ACM@journal@bibstrip@or@tog
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
% \begin{macro}{\if@ACM@sigchiamode}
% The formatting of SIGCHI extended abstracts is quite unusual. We have a
% special switch for them.
@@ -2770,7 +2825,6 @@
%
% \end{macro}
%
-%
%
%
% Setting up switches
@@ -2815,6 +2869,7 @@
\@ACM@journaltrue
\or % acmtog
\@ACM@journaltrue
+ \@ACM@journal@bibstrip@or@togtrue
\or % sigconf
\@ACM@journalfalse
\or % siggraph
@@ -2835,7 +2890,8 @@
\AtBeginDocument{\@ACM@printacmreffalse}%
\fi
\if@ACM@journal
- \@ACM@journal@bibstriptrue
+ \@ACM@journal@bibstriptrue
+ \@ACM@journal@bibstrip@or@togtrue
\else
\@ACM@journal@bibstripfalse
\fi
@@ -4734,7 +4790,8 @@
% And the syntactic sugar around it
% \begin{macrocode}
\def\acmJournal#1{\setkeys{ACM}{acmJournal=#1}%
- \global\@ACM@journal@bibstriptrue}
+ \global\@ACM@journal@bibstriptrue
+ \global\@ACM@journal@bibstrip@or@togtrue}
% \end{macrocode}
%
% \end{macro}
@@ -4753,6 +4810,7 @@
% \changes{v1.59}{2019/04/20}{Setting \cs{@ACM@journal@bibstrip}}
% \changes{v2.02}{2024/01/06}{Moved here setting the conference title
% for bibstrip}
+% \changes{v2.03}{2024/02/04}{Made setting bibstrip overriding journal}
% This is the conference command
% \begin{macrocode}
\newcommand\acmConference[4][]{%
@@ -6250,6 +6308,7 @@
% publications}
% \changes{v2.00}{2023/10/24}{Deleted acmPrice}
% \changes{v2.00}{2023/11/05}{Added ``ACM'' for papers}
+% \changes{v2.03}{2024/12/04}{Special processing for conferences in TOG}
% The (in)famous \cs{maketitle}. Note that in |sigchi-a| mode, authors
% are \emph{not} in the title box.
%
@@ -6290,7 +6349,7 @@
\if@ACM@acmcp\else
\ifx\@empty\@authorsaddresses\else
\if@ACM@anonymous\else
- \if@ACM@journal@bibstrip
+ \if@ACM@journal@bibstrip@or@tog
\footnotetextauthorsaddresses{%
\def\par{\let\par\@par}\parindent\z@\@setauthorsaddresses}%
\fi
@@ -7685,6 +7744,7 @@
% \changes{v1.86}{2022/06/26}{Special treatment of ACM Engage materials}
% \changes{v1.87}{2022/08/14}{Special treatment of ACMCP}
% \changes{v1.91}{2023/06/22}{Redesigned ACMP labels}
+% \changes{v2.03}{2024/02/04}{Special treatment of ACM TOG}
% The page style for all pages but the first one
% \begin{macrocode}
\AtBeginDocument{%
@@ -7699,7 +7759,7 @@
\@acmArticle\if@ACM@printfolios:\thepage\fi%
\fi%
}%
- \if@ACM@journal@bibstrip
+ \if@ACM@journal@bibstrip@or@tog
\ifcase\ACM@format@nr
\relax % manuscript
\fancyhead[LE]{\ACM@linecountL\if@ACM@printfolios\thepage\fi}%
@@ -7735,9 +7795,15 @@
\fancyhead[RE]{\ACM@linecountR}%
\fancyhead[RO]{\@headfootfont
\shorttitle\quad\textbullet\quad\@acmArticlePage\ACM@linecountR}%
- \if@ACM@nonacm\else%
- \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
- \@acmNumber, Article \@acmArticle. Publication date: \@acmPubDate.}%
+ \if@ACM@nonacm\else
+ \if@ACM@journal@bibstrip
+ \fancyfoot[RO,LE]{\footnotesize \@journalNameShort,
+ Vol. \@acmVolume, No.~\@acmNumber, Article \@acmArticle.
+ Publication date: \@acmPubDate.}%
+ \else
+ \fancyfoot[RO,LE]{\footnotesize \acmConference@shortname,
+ \acmConference@date, \acmConference@venue.}%
+ \fi
\fi
\else % Proceedings
\fancyfoot[C]{\if@ACM@printfolios\footnotesize\thepage\fi}%
@@ -7852,6 +7918,7 @@
% \changes{v1.87}{2022/08/14}{Special treatment for acmcp}
% \changes{v1.89}{2022/12/27}{Moved badges here}
% \changes{v2.00}{2023/10/22}{Deleted blobs}
+% \changes{v2.03}{2024/02/04}{Special treatment of tog}
% The page style for the first page only.
% \begin{macrocode}
\AtBeginDocument{%
@@ -7859,7 +7926,7 @@
\fancyhf{}%
\renewcommand{\headrulewidth}{\z@}%
\renewcommand{\footrulewidth}{\z@}%
- \if@ACM@journal@bibstrip
+ \if@ACM@journal@bibstrip@or@tog
\ifcase\ACM@format@nr
\relax % manuscript
\fancyhead[L]{\ACM@linecountL\@acmBadgeL}%
@@ -7890,9 +7957,14 @@
\fancyhead[LO]{\ACM@linecountL\@acmBadgeL}%
\or % acmtog
\if@ACM@nonacm\else%
- \fancyfoot[RO,LE]{\footnotesize \@journalNameShort, Vol. \@acmVolume, No.
- \@acmNumber, Article \@acmArticle. Publication date:
- \@acmPubDate.}%
+ \if@ACM@journal@bibstrip
+ \fancyfoot[RO,LE]{\footnotesize \@journalNameShort,
+ Vol. \@acmVolume, No.~\@acmNumber, Article \@acmArticle.
+ Publication date: \@acmPubDate.}%
+ \else
+ \fancyfoot[RO,LE]{\footnotesize \acmConference@shortname,
+ \acmConference@date, \acmConference@venue.}%
+ \fi
\fi%
\fancyhead[L]{\ACM@linecountL\@acmBadgeL}%
\fancyhead[R]{\@acmBadgeR\ACM@linecountR}%
diff --git a/macros/latex/contrib/acmart/acmart.pdf b/macros/latex/contrib/acmart/acmart.pdf
index 99124a2a6a..93692df1e0 100644
--- a/macros/latex/contrib/acmart/acmart.pdf
+++ b/macros/latex/contrib/acmart/acmart.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/acmguide.pdf b/macros/latex/contrib/acmart/acmguide.pdf
index 33113f01f3..22dc7ca12b 100644
--- a/macros/latex/contrib/acmart/acmguide.pdf
+++ b/macros/latex/contrib/acmart/acmguide.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/acmengage.dtx b/macros/latex/contrib/acmart/samples/acmengage.dtx
new file mode 100644
index 0000000000..872469fd1f
--- /dev/null
+++ b/macros/latex/contrib/acmart/samples/acmengage.dtx
@@ -0,0 +1,257 @@
+%
+% ACM Engage course material
+%
+%<*acmengage>
+%%
+%%
+%% Commands for TeXCount
+%<<TCMACROS
+%TC:macro \cite [option:text,text]
+%TC:macro \citep [option:text,text]
+%TC:macro \citet [option:text,text]
+%TC:envir table 0 1
+%TC:envir table* 0 1
+%TC:envir tabular [ignore] word
+%TC:envir displaymath 0 word
+%TC:envir math 0 word
+%TC:envir comment 0 0
+%TCMACROS
+%%
+%%
+%% The first command in your LaTeX source must be the \documentclass command.
+\documentclass[acmengage]{acmart}
+
+%% \BibTeX command to typeset BibTeX logo in the docs
+\AtBeginDocument{%
+ \providecommand\BibTeX{{%
+ Bib\TeX}}}
+
+%% Rights management information. This information is sent to you
+%% when you complete the rights form. These commands have SAMPLE
+%% values in them; it is your responsibility as an author to replace
+%% the commands and values with those provided to you when you
+%% complete the rights form. Note that by default course materials
+%% use Creative Commons license
+%
+\setcopyright{cc}
+\setcctype{by}
+\copyrightyear{2022}
+\acmYear{May 2022}
+\acmBooktitle{ACM EngageCSEdu}
+\acmDOI{XXXXXXX.XXXXXXX}
+
+\begin{document}
+\title{EngageCSEdu Submission Title (600 char limit)}
+\author{Author One}
+\email{author1@institution.edu}
+\affiliation{%
+ \institution{University of XXX}
+ \city{SomeCity}
+ \country{SomeCountry}}
+
+\author{Author Two}
+\email{author2@institution.xxx}
+\affiliation{%
+ \institution{Some School}
+ \city{SomeCity}
+ \country{SomeCountry}}
+
+\author{Author Three}
+\email{author3@school.xxx}
+\affiliation{%
+ \institution{A3 affiliation}
+ \city{SomeCity}
+ \country{SomeCountry}}
+
+%% The synopsis is a name for the abstract
+\begin{abstract}
+A required section. The synopsis is similar to a paper abstract. The synop-
+sis will display in the digital library as the abstract. The synopsis should
+be copied into ScholarOne as the abstract for submission. The synopsis
+should contain an overall description of the Open Educational Resource
+(OER). The synopsis lets other instructors quickly understand what this
+material is about. Include any learning objectives and a description of the
+approach taken. Put details about implementation and necessary prerequi-
+site knowledge in the Recommendations section. The following template is
+a suggested format:
+This [assignment/project/homework/lab] helps students gain experience
+and proficiency with [ e.g. arrays, for/while loops, conditional statements.]
+Students will learn how to [skills acquired].
+The reader should get an understanding of what topic is associated with
+the OER and what, if anything, the students will be asked to do.
+\end{abstract}
+
+%% Metadata for the course
+\setengagemetadata{Course}{CS1}
+\setengagemetadata{Programming Language}{Python}
+\setengagemetadata{Knowledge Unit}{Programming Concepts}
+\setengagemetadata{CS Topics}{Functions, Data Types, Expressions,
+ Mathematical Reasoning}
+
+%% Keywords
+\keywords{Arithmetic Operators, Assignment Statements, Comprehension,
+ Student Voice}
+\maketitle
+
+\section{Engagement Highlights}
+
+A required section. This section of the paper should detail how the OER engages the students. The engagement must be based on at least one evidenced-based teaching practice known to broaden participation or improve student learning. Examples include the practices from the NCWIT Engagement Practices Framework: using meaningful and relevant content, making interdisciplinary connections to CS, addressing misconceptions about the field of CS, incorporating student choice, giving effective encouragement, mitigating stereotype threat, offering student-centered assessments, providing opportunities for interaction with faculty, avoiding stereotypes, using well-structured collaborative learning, or encouraging student interaction. Other potential evidence-based practices include using culturally relevant pedagogy, or universal design for learning. All submissions must identify what evidence-based practice they incorporate and be specific in how the practice is included within the OER.
+
+Information on how to differentiate this assignment (i.e. provide different versions for students of differing abilities) could also go in this section. It could also outline how instructors might modify
+the assignment to increase enhance student engagement. If these modifications are extensive, they could also be discussed in their own section.
+
+\section{Recommendations}
+
+A required section. In this section authors should give specific recommendations and advice to other instructors who might want to adapt this resource for their own classroom. Important information to include in this section includes identifying how much time is required to introduce or complete the task, potential pitfalls or student struggles, lessons learned from using the OER, and any information on extensions or differentiation for students. Think of this section as the information you would provide a colleague before they use this OER in their classroom.
+
+\section{Additional Sections}
+
+Optional. Authors may add additional sections to fully explain all the pieces of their OER. It can (and probably should) have multiple sections and the section headers are at the discretion of the authors. Sections may expand on information presented in the synopsis, recommendations, and engagement highlights. Suggested sections include: Introduction, Background Material, Implementation Guidelines, Marking Guidelines, Extensions and Modifications, Pitfalls, Acknowledgements, Student Feedback, and References.
+
+\section{Related Online Resources}
+
+EngageCSEdu requires that all materials that are part of the OER submission be included with the submission and not just URL links to materials stored on other sites. However, any related background or reference material used to provide instructor or student knowledge as opposed to instructional material may be included as citations within the paper
+(see section \ref{sec:citations})
+or you may include a numbered list of external links and extensions in an optional section titled ``Auxilary Materials" that should come immediately before "References".
+
+\section{Materials}
+
+A required section. You must provide a list of the contents of the zipped file including a description of each contained file. This may be provided as text or as an unordered list.
+
+A single zipped file containing all the OER instructional materials including assignment handouts / specification, starter code, rubric, solution, etc. will also be submitted.
+
+\section{Meta-Data}
+
+This section is included in the template to explain the choices for the meta-data at the top of the paper. It should not be included in the final paper submission.
+
+\subsection{Course}
+
+Current courses are:
+
+\begin{itemize}
+ \item CS0---a breadth first introductory computing course similar to Exploring Computer Science or AP CS Principles
+ \item CS1---an introductory programming course covering topics normally associated with an imperative or functional programming course. Similar to an AP CS A course
+ \item Data Structures---a follow-on course occurring after CS1 that introduces linear and non-linear data structures including implementation and usage
+ \item Discrete Math---a course covering discrete mathematical
+ structures such as integers, graphs and logic statements. This
+ may include logic, set theory, combinatorics, graphy theory,
+ number theory, topology, etc.
+ \item HCI---a course in the general area of human computer
+ interaction. This might be a general HCI course or a course in a
+ specific subdiscipline such as user-centred design.
+\end{itemize}
+
+More than one course may be selected. If you are submitting an OER for a special topics issue of Engage, please discuss the appropriate course choice with the guest editors of the special issue.
+
+\subsection{Programming Language}
+Authors may select all that apply from the following list:
+\begin{itemize}
+ \item C
+ \item C++
+ \item C\#
+ \item Java
+ \item JavaScript
+ \item Processing
+ \item Python
+ \item Racket (DrScheme)
+ \item Scheme
+ \item Scratch
+ \item Pseudocode
+ \item Other
+ \item None
+\end{itemize}
+
+\subsection{Resource Type}
+One resource type must be selected. Current list to select from includes:
+
+\begin{itemize}
+ \item Assignment---the most common OER type. Typically represents a task assigned to individual or groups of students that will be completed outside of class time.
+ \item Lecture slides---an annotated set of presentation slides to introduce or explain a topic, typically a cutting-edge research topic, to a more lay audience. An example might be explaining a specific cryptography algorithm, blockchain, or an AI / ML solution to a problem.
+ \item Lab---this represents a task assigned to an individual or group of students to be completed under supervision, usually during a closed-lab model
+ \item Project---an assignment that is of a longer duration, perhaps multiple weeks to an entire term
+ \item Tutorial---a task usually completed by an individual to learn some material on their own
+ \item Other---any other type of OER that does not fit into one of the above categories
+\end{itemize}
+
+\subsection{CS Concepts}
+This is selectable from the ontology of topics found at \url{https://www.engage-csedu.org/ontology}. Up to three topics may be selected. Eventually this page will be a tool allowing you to select up to three nodes in the tree and then copy / paste the descriptive text into your document and the submission system.
+
+\subsection{Knowledge Unit}
+Authors will select the most appropriate one from the following list:
+
+\begin{itemize}
+ \item Programming Concepts---anything involving programming
+ \item Data Structures---anything involving data structures
+ \item Software Development Methods---if the OER centers around software development (i.e., requirements gathering, testing, maintenance, code reviews) rather than the actual programming content
+ \item Discrete Math---anything involving discrete math
+ \item N/A---not applicable
+\end{itemize}
+
+\subsection{Creative Commons License}
+During the submission process on ScholarOne, authors will select one create commons license from the following list:
+
+\begin{itemize}
+ \item CC BY-SA
+ \item CC BY-NC
+ \item CC BY-NC-ND
+ \item CC BY-NC-SA
+ \item CC BY-ND
+ \item CC BY
+\end{itemize}
+
+The correct typesetting of materials under creative commons license
+requires the corresponding CC icon. A modern \TeX\ distribution
+includes these icons in the package \textsl{doclicense}
+\cite{doclicense}. In case your distribution does not have them, ACM
+provides a file \path{ccicons.zip} with these icons. Just unzip it in
+the same directory where your document is.
+
+More information on Creative Common Licensing may be found at \url{https://creativecommons.org/licenses/}.
+
+\section{Submission}
+When you make a submission using ScholarOne you must upload:
+
+\begin{itemize}
+ \item an anonymized version of this paper for review
+ \item a zipped file containing all the student-facing materials. The materials in this file must also be anonymized for the purposes of fully anonymous review.
+\end{itemize}
+
+\section{Citations and References}
+\label{sec:citations}
+We recommend using \BibTeX\ to prepare your references. The bibliography is included
+in your source document with these two commands, placed just before
+the \verb|\end{document}| command:
+\begin{verbatim}
+ \bibliographystyle{ACM-Reference-Format}
+ \bibliography{bibfile}
+\end{verbatim}
+where ``\verb|bibfile|'' is the name, without the ``\verb|.bib|''
+suffix, of the \BibTeX\ file.
+
+Here are a few examples of the types of things you might cite in an EngageCSEdu submission:
+ a book \cite{Kosiur01},
+ a journal article \cite{Abril07},
+ an informally published work \cite{Harel78},
+ an online document / world wide web resource \cite{Thornburg01, Ablamowicz07},
+ a video \cite{Obama08},
+ a software package \cite{R}, and an online dataset \cite{UMassCitations}.
+
+For other examples, see the file sample-acmsmall-conf.tex \cite{CTANacmart}.
+
+\section{Auxiliary Materials}
+This section is optional, but if included must immediately precede the References section. If there are no References, Auxiliary Materials should be last. This should be
+a numbered list of URLs with an optional brief description of the content found at each URL. Here is an example.
+\begin{enumerate}
+\item \url{https://somenews.org/xxx/} A news article relevant to this OER.
+\item \url{https://somesite.gov/xxx/} A relevant government report.
+\item \url{https://someplace.edu/xxxx/} A public data set of interest.
+\item \url{https://github.com/xxxx/} A public github project that is related.
+\end{enumerate}
+
+\bibliographystyle{ACM-Reference-Format}
+\bibliography{sample-base}
+
+
+
+\end{document}
+%</acmengage>
diff --git a/macros/latex/contrib/acmart/samples/sample-acmcp.pdf b/macros/latex/contrib/acmart/samples/sample-acmcp.pdf
index 9c8a2cd43f..f39caf1c8b 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmcp.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmcp.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmengage.pdf b/macros/latex/contrib/acmart/samples/sample-acmengage.pdf
index f08de8857a..31111cd2e9 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmengage.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmengage.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf b/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf
index 126257d291..cfc9ad6502 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf
index 217d96569a..e07715a2e1 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf
index eefdee4e1d..1d2da5b59b 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf
index d603f78523..7ff5c10f04 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
index 8135247e54..83f9079b4d 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdf b/macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdf
new file mode 100644
index 0000000000..f85fb2a500
--- /dev/null
+++ b/macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmtog.pdf b/macros/latex/contrib/acmart/samples/sample-acmtog.pdf
index e9cd9155b1..5606df631d 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmtog.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmtog.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-lualatex.pdf b/macros/latex/contrib/acmart/samples/sample-lualatex.pdf
deleted file mode 100644
index 7e9c1dfa83..0000000000
--- a/macros/latex/contrib/acmart/samples/sample-lualatex.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-manuscript.pdf b/macros/latex/contrib/acmart/samples/sample-manuscript.pdf
index dd208add05..fe08711da0 100644
--- a/macros/latex/contrib/acmart/samples/sample-manuscript.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-manuscript.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-authordraft.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdf
index 754a97abf6..666237fc9f 100644
--- a/macros/latex/contrib/acmart/samples/sample-authordraft.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigconf-authordraft.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf
index e807837656..b2396e58cc 100644
--- a/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf
index 90b194e2af..0b72540afd 100644
--- a/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf.pdf
index 0d3a653a5d..d296f0c24a 100644
--- a/macros/latex/contrib/acmart/samples/sample-sigconf.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigconf.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-sigplan.pdf b/macros/latex/contrib/acmart/samples/sample-sigplan.pdf
index 0863941f81..b291348ea8 100644
--- a/macros/latex/contrib/acmart/samples/sample-sigplan.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigplan.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-xelatex.pdf b/macros/latex/contrib/acmart/samples/sample-xelatex.pdf
deleted file mode 100644
index 222152317a..0000000000
--- a/macros/latex/contrib/acmart/samples/sample-xelatex.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/samples.dtx b/macros/latex/contrib/acmart/samples/samples.dtx
index e0c5f30216..f6642f1dba 100644
--- a/macros/latex/contrib/acmart/samples/samples.dtx
+++ b/macros/latex/contrib/acmart/samples/samples.dtx
@@ -1,4 +1,4 @@
-%<*manuscript|acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|sigconf|sigconf-biblatex|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n|acmcp>
+%<*all>
%%
%%
%% Commands for TeXCount
@@ -31,7 +31,7 @@
%<acmsmall-biblatex>\documentclass[acmsmall,natbib=false]{acmart}
%<acmsmall-submission>\documentclass[acmsmall,screen,review]{acmart}
%<acmlarge>\documentclass[acmlarge]{acmart}
-%<acmtog>\documentclass[acmtog]{acmart}
+%<acmtog|acmtog-conf>\documentclass[acmtog]{acmart}
%<sigconf>\documentclass[sigconf]{acmart}
%<sigconf-biblatex>\documentclass[sigconf,natbib=false]{acmart}
%<authordraft>\documentclass[sigconf,authordraft]{acmart}
@@ -59,8 +59,8 @@
\acmYear{2018}
\acmDOI{XXXXXXX.XXXXXXX}
-%</manuscript|acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|sigconf|sigconf-biblatex|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n|acmcp>
-%<*manuscript|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n>
+%</all>
+%<*proceedings>
%% These commands are for a PROCEEDINGS abstract or paper.
\acmConference[Conference acronym 'XX]{Make sure to enter the correct
conference title from your rights confirmation emai}{June 03--05,
@@ -72,21 +72,22 @@
%%\acmBooktitle{Woodstock '18: ACM Symposium on Neural Gaze Detection,
%% June 03--05, 2018, Woodstock, NY}
\acmISBN{978-1-4503-XXXX-X/18/06}
-%</manuscript|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n>
+%</proceedings>
-%<*acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|acmcp>
+%<*journal>
%%
%% These commands are for a JOURNAL article.
%<acmsmall|acmsmall-submission|acmsmall-biblatex>\acmJournal{JACM}
%<acmlarge>\acmJournal{POMACS}
%<acmtog>\acmJournal{TOG}
+%<acmtog-conf>%\acmJournal{TOG} % Comment out journal to get conference info in bibstrip.
%<acmcp>\acmJournal{JDS}
\acmVolume{37}
\acmNumber{4}
\acmArticle{111}
\acmMonth{8}
-%</acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|acmcp>
-%<*manuscript|acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|sigconf|sigconf-biblatex|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n|acmcp>
+%</journal>
+%<*all>
%%
@@ -95,7 +96,7 @@
%% receive a unique submission ID from the organizers
%% of the event, and this ID should be used as the parameter to this command.
%%\acmSubmissionID{123-A56-BU3}
-%</manuscript|acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|sigconf|sigconf-biblatex|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n|acmcp>
+%</all>
%<*!acmcp>
%%
@@ -112,7 +113,7 @@
%%
%</!acmcp>
-%<*manuscript|acmsmall|acmsmall-submission|acmlarge|acmtog|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n>
+%<*bibtex>
%%
%% The majority of ACM publications use numbered citations and
%% references. The command \citestyle{authoryear} switches to the
@@ -121,11 +122,11 @@
%% If you are preparing content for an event
%% sponsored by ACM SIGGRAPH, you must use the "author year" style of
%% citations and references.
-%<!acmtog>%% Uncommenting
-%<!acmtog>%% the next command will enable that style.
-%<!acmtog>%%\citestyle{acmauthoryear}
-%<acmtog>\citestyle{acmauthoryear}
-%</manuscript|acmsmall|acmsmall-submission|acmlarge|acmtog|sigconf|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n>
+%<!(acmtog|acmtog-conf)>%% Uncommenting
+%<!(acmtog|acmtog-conf)>%% the next command will enable that style.
+%<!(acmtog|acmtog-conf)>%%\citestyle{acmauthoryear}
+%<acmtog|acmtog-conf>\citestyle{acmauthoryear}
+%</bibtex>
%<*acmsmall-biblatex|sigconf-biblatex>
%%
@@ -148,7 +149,7 @@
\addbibresource{software.bib}
\addbibresource{sample-base.bib}
%</acmsmall-biblatex|sigconf-biblatex>
-%<*manuscript|acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|sigconf|sigconf-biblatex|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n|acmcp>
+%<*all>
%%
%% end of the preamble, start of the body of the document source.
@@ -247,7 +248,7 @@
%% the author to define a more concise list
%% of authors' names for this purpose.
\renewcommand{\shortauthors}{Trovato et al.}
-%</manuscript|acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|sigconf|sigconf-biblatex|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n|acmcp>
+%</all>
%<*acmcp>
%%
%% Article type: Research, Review, Discussion, Invited or position
@@ -272,7 +273,7 @@
%% Ohio, USA, 43017-6221}
%%
%</acmcp>
-%<*manuscript|acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|sigconf|sigconf-biblatex|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n>
+%<*!acmcp>
%%
%% The abstract is a short summary of the work to be presented in the
@@ -285,7 +286,7 @@
as many of the formatting elements an author may use in the
preparation of the documentation of their work.
\end{abstract}
-%</manuscript|acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|sigconf|sigconf-biblatex|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n>
+%</!acmcp>
%<*sigconf-i13n>
\begin{translatedabstract}{french}
@@ -317,7 +318,7 @@
trabajo.
\end{translatedabstract}
%</sigconf-i13n>
-%<*manuscript|acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|sigconf|sigconf-biblatex|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n>
+%<*!acmcp>
%%
%% The code below is generated by the tool at http://dl.acm.org/ccs.cfm.
@@ -353,8 +354,8 @@
\ccsdesc{Do Not Use This Code~Generate the Correct Terms for Your Paper}
\ccsdesc[100]{Do Not Use This Code~Generate the Correct Terms for Your Paper}
-%</manuscript|acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|sigconf|sigconf-biblatex|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n>
-%<*manuscript|acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|sigconf|sigconf-biblatex|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n|acmcp>
+%</!acmcp>
+%<*all>
%%
%% Keywords. The author(s) should pick words that accurately describe
%% the work being presented. Separate the keywords with commas.
@@ -367,7 +368,7 @@
%<sigconf-i13n> neuronale Netze, Blickerkennung, Textklassifizierung}
%<sigconf-i13n> \translatedkeywords{spanish}{conjuntos de datos,
%<sigconf-i13n> redes neuronales, detección de mirada, etiquetado de texto}
-%</manuscript|acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|sigconf|sigconf-biblatex|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n|acmcp>
+%</all>
%<*sigconf|authordraft|sigplan|acmsmall-conf|sigconf-i13n>
%% A "teaser" image appears between the author and affiliation
%% information and the body of the document, and typically spans the
@@ -380,7 +381,7 @@
\label{fig:teaser}
\end{teaserfigure}
%</sigconf|authordraft|sigplan|acmsmall-conf|sigconf-i13n>
-%<*manuscript|acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|sigconf|sigconf-biblatex|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n>
+%<*!acmcp>
\received{20 February 2007}
\received[revised]{12 March 2009}
@@ -473,7 +474,7 @@ source file:
%<acmsmall|acmsmall-conf>\documentclass[acmsmall]{acmart}
%<acmsmall-submission>\documentclass[acmsmall,screen,review]{acmart}
%<acmlarge>\documentclass[acmlarge]{acmart}
-%<acmtog>\documentclass[acmtog]{acmart}
+%<acmtog|acmtog-conf>\documentclass[acmtog]{acmart}
%<sigconf>\documentclass[sigconf]{acmart}
%<authordraft>\documentclass[sigconf,authordraft]{acmart}
%<sigplan>\documentclass[sigplan,screen]{acmart}
@@ -1004,264 +1005,7 @@ rhoncus. Maecenas eu arcu ac neque placerat aliquam. Nunc pulvinar
massa et mattis lacinia.
\end{document}
-%</manuscript|acmsmall|acmsmall-submission|acmsmall-biblatex|acmlarge|acmtog|sigconf|sigconf-biblatex|authordraft|sigplan|sigchi|sigchi-a|acmsmall-conf|sigconf-i13n>
-%
-% ACM Engage course material
-%
-%<*acmengage>
-%%
-%%
-%% Commands for TeXCount
-%<<TCMACROS
-%TC:macro \cite [option:text,text]
-%TC:macro \citep [option:text,text]
-%TC:macro \citet [option:text,text]
-%TC:envir table 0 1
-%TC:envir table* 0 1
-%TC:envir tabular [ignore] word
-%TC:envir displaymath 0 word
-%TC:envir math 0 word
-%TC:envir comment 0 0
-%TCMACROS
-%%
-%%
-%% The first command in your LaTeX source must be the \documentclass command.
-\documentclass[acmengage]{acmart}
-
-%% \BibTeX command to typeset BibTeX logo in the docs
-\AtBeginDocument{%
- \providecommand\BibTeX{{%
- Bib\TeX}}}
-
-%% Rights management information. This information is sent to you
-%% when you complete the rights form. These commands have SAMPLE
-%% values in them; it is your responsibility as an author to replace
-%% the commands and values with those provided to you when you
-%% complete the rights form. Note that by default course materials
-%% use Creative Commons license
-%
-\setcopyright{cc}
-\setcctype{by}
-\copyrightyear{2022}
-\acmYear{May 2022}
-\acmBooktitle{ACM EngageCSEdu}
-\acmDOI{XXXXXXX.XXXXXXX}
-
-\begin{document}
-\title{EngageCSEdu Submission Title (600 char limit)}
-\author{Author One}
-\email{author1@institution.edu}
-\affiliation{%
- \institution{University of XXX}
- \city{SomeCity}
- \country{SomeCountry}}
-
-\author{Author Two}
-\email{author2@institution.xxx}
-\affiliation{%
- \institution{Some School}
- \city{SomeCity}
- \country{SomeCountry}}
-
-\author{Author Three}
-\email{author3@school.xxx}
-\affiliation{%
- \institution{A3 affiliation}
- \city{SomeCity}
- \country{SomeCountry}}
-
-%% The synopsis is a name for the abstract
-\begin{abstract}
-A required section. The synopsis is similar to a paper abstract. The synop-
-sis will display in the digital library as the abstract. The synopsis should
-be copied into ScholarOne as the abstract for submission. The synopsis
-should contain an overall description of the Open Educational Resource
-(OER). The synopsis lets other instructors quickly understand what this
-material is about. Include any learning objectives and a description of the
-approach taken. Put details about implementation and necessary prerequi-
-site knowledge in the Recommendations section. The following template is
-a suggested format:
-This [assignment/project/homework/lab] helps students gain experience
-and proficiency with [ e.g. arrays, for/while loops, conditional statements.]
-Students will learn how to [skills acquired].
-The reader should get an understanding of what topic is associated with
-the OER and what, if anything, the students will be asked to do.
-\end{abstract}
-
-%% Metadata for the course
-\setengagemetadata{Course}{CS1}
-\setengagemetadata{Programming Language}{Python}
-\setengagemetadata{Knowledge Unit}{Programming Concepts}
-\setengagemetadata{CS Topics}{Functions, Data Types, Expressions,
- Mathematical Reasoning}
-
-%% Keywords
-\keywords{Arithmetic Operators, Assignment Statements, Comprehension,
- Student Voice}
-\maketitle
-
-\section{Engagement Highlights}
-
-A required section. This section of the paper should detail how the OER engages the students. The engagement must be based on at least one evidenced-based teaching practice known to broaden participation or improve student learning. Examples include the practices from the NCWIT Engagement Practices Framework: using meaningful and relevant content, making interdisciplinary connections to CS, addressing misconceptions about the field of CS, incorporating student choice, giving effective encouragement, mitigating stereotype threat, offering student-centered assessments, providing opportunities for interaction with faculty, avoiding stereotypes, using well-structured collaborative learning, or encouraging student interaction. Other potential evidence-based practices include using culturally relevant pedagogy, or universal design for learning. All submissions must identify what evidence-based practice they incorporate and be specific in how the practice is included within the OER.
-
-Information on how to differentiate this assignment (i.e. provide different versions for students of differing abilities) could also go in this section. It could also outline how instructors might modify
-the assignment to increase enhance student engagement. If these modifications are extensive, they could also be discussed in their own section.
-
-\section{Recommendations}
-
-A required section. In this section authors should give specific recommendations and advice to other instructors who might want to adapt this resource for their own classroom. Important information to include in this section includes identifying how much time is required to introduce or complete the task, potential pitfalls or student struggles, lessons learned from using the OER, and any information on extensions or differentiation for students. Think of this section as the information you would provide a colleague before they use this OER in their classroom.
-
-\section{Additional Sections}
-
-Optional. Authors may add additional sections to fully explain all the pieces of their OER. It can (and probably should) have multiple sections and the section headers are at the discretion of the authors. Sections may expand on information presented in the synopsis, recommendations, and engagement highlights. Suggested sections include: Introduction, Background Material, Implementation Guidelines, Marking Guidelines, Extensions and Modifications, Pitfalls, Acknowledgements, Student Feedback, and References.
-
-\section{Related Online Resources}
-
-EngageCSEdu requires that all materials that are part of the OER submission be included with the submission and not just URL links to materials stored on other sites. However, any related background or reference material used to provide instructor or student knowledge as opposed to instructional material may be included as citations within the paper
-(see section \ref{sec:citations})
-or you may include a numbered list of external links and extensions in an optional section titled ``Auxilary Materials" that should come immediately before "References".
-
-\section{Materials}
-
-A required section. You must provide a list of the contents of the zipped file including a description of each contained file. This may be provided as text or as an unordered list.
-
-A single zipped file containing all the OER instructional materials including assignment handouts / specification, starter code, rubric, solution, etc. will also be submitted.
-
-\section{Meta-Data}
-
-This section is included in the template to explain the choices for the meta-data at the top of the paper. It should not be included in the final paper submission.
-
-\subsection{Course}
-
-Current courses are:
-
-\begin{itemize}
- \item CS0---a breadth first introductory computing course similar to Exploring Computer Science or AP CS Principles
- \item CS1---an introductory programming course covering topics normally associated with an imperative or functional programming course. Similar to an AP CS A course
- \item Data Structures---a follow-on course occurring after CS1 that introduces linear and non-linear data structures including implementation and usage
- \item Discrete Math---a course covering discrete mathematical
- structures such as integers, graphs and logic statements. This
- may include logic, set theory, combinatorics, graphy theory,
- number theory, topology, etc.
- \item HCI---a course in the general area of human computer
- interaction. This might be a general HCI course or a course in a
- specific subdiscipline such as user-centred design.
-\end{itemize}
-
-More than one course may be selected. If you are submitting an OER for a special topics issue of Engage, please discuss the appropriate course choice with the guest editors of the special issue.
-
-\subsection{Programming Language}
-Authors may select all that apply from the following list:
-\begin{itemize}
- \item C
- \item C++
- \item C\#
- \item Java
- \item JavaScript
- \item Processing
- \item Python
- \item Racket (DrScheme)
- \item Scheme
- \item Scratch
- \item Pseudocode
- \item Other
- \item None
-\end{itemize}
-
-\subsection{Resource Type}
-One resource type must be selected. Current list to select from includes:
-
-\begin{itemize}
- \item Assignment---the most common OER type. Typically represents a task assigned to individual or groups of students that will be completed outside of class time.
- \item Lecture slides---an annotated set of presentation slides to introduce or explain a topic, typically a cutting-edge research topic, to a more lay audience. An example might be explaining a specific cryptography algorithm, blockchain, or an AI / ML solution to a problem.
- \item Lab---this represents a task assigned to an individual or group of students to be completed under supervision, usually during a closed-lab model
- \item Project---an assignment that is of a longer duration, perhaps multiple weeks to an entire term
- \item Tutorial---a task usually completed by an individual to learn some material on their own
- \item Other---any other type of OER that does not fit into one of the above categories
-\end{itemize}
-
-\subsection{CS Concepts}
-This is selectable from the ontology of topics found at \url{https://www.engage-csedu.org/ontology}. Up to three topics may be selected. Eventually this page will be a tool allowing you to select up to three nodes in the tree and then copy / paste the descriptive text into your document and the submission system.
-
-\subsection{Knowledge Unit}
-Authors will select the most appropriate one from the following list:
-
-\begin{itemize}
- \item Programming Concepts---anything involving programming
- \item Data Structures---anything involving data structures
- \item Software Development Methods---if the OER centers around software development (i.e., requirements gathering, testing, maintenance, code reviews) rather than the actual programming content
- \item Discrete Math---anything involving discrete math
- \item N/A---not applicable
-\end{itemize}
-
-\subsection{Creative Commons License}
-During the submission process on ScholarOne, authors will select one create commons license from the following list:
-
-\begin{itemize}
- \item CC BY-SA
- \item CC BY-NC
- \item CC BY-NC-ND
- \item CC BY-NC-SA
- \item CC BY-ND
- \item CC BY
-\end{itemize}
-
-The correct typesetting of materials under creative commons license
-requires the corresponding CC icon. A modern \TeX\ distribution
-includes these icons in the package \textsl{doclicense}
-\cite{doclicense}. In case your distribution does not have them, ACM
-provides a file \path{ccicons.zip} with these icons. Just unzip it in
-the same directory where your document is.
-
-More information on Creative Common Licensing may be found at \url{https://creativecommons.org/licenses/}.
-
-\section{Submission}
-When you make a submission using ScholarOne you must upload:
-
-\begin{itemize}
- \item an anonymized version of this paper for review
- \item a zipped file containing all the student-facing materials. The materials in this file must also be anonymized for the purposes of fully anonymous review.
-\end{itemize}
-
-\section{Citations and References}
-\label{sec:citations}
-We recommend using \BibTeX\ to prepare your references. The bibliography is included
-in your source document with these two commands, placed just before
-the \verb|\end{document}| command:
-\begin{verbatim}
- \bibliographystyle{ACM-Reference-Format}
- \bibliography{bibfile}
-\end{verbatim}
-where ``\verb|bibfile|'' is the name, without the ``\verb|.bib|''
-suffix, of the \BibTeX\ file.
-
-Here are a few examples of the types of things you might cite in an EngageCSEdu submission:
- a book \cite{Kosiur01},
- a journal article \cite{Abril07},
- an informally published work \cite{Harel78},
- an online document / world wide web resource \cite{Thornburg01, Ablamowicz07},
- a video \cite{Obama08},
- a software package \cite{R}, and an online dataset \cite{UMassCitations}.
-
-For other examples, see the file sample-acmsmall-conf.tex \cite{CTANacmart}.
-
-\section{Auxiliary Materials}
-This section is optional, but if included must immediately precede the References section. If there are no References, Auxiliary Materials should be last. This should be
-a numbered list of URLs with an optional brief description of the content found at each URL. Here is an example.
-\begin{enumerate}
-\item \url{https://somenews.org/xxx/} A news article relevant to this OER.
-\item \url{https://somesite.gov/xxx/} A relevant government report.
-\item \url{https://someplace.edu/xxxx/} A public data set of interest.
-\item \url{https://github.com/xxxx/} A public github project that is related.
-\end{enumerate}
-
-\bibliographystyle{ACM-Reference-Format}
-\bibliography{sample-base}
-
-
-
-\end{document}
-%</acmengage>
+%</!acmcp>
%<*acmcp>
\maketitle
diff --git a/macros/latex/contrib/acmart/samples/samples.ins b/macros/latex/contrib/acmart/samples/samples.ins
index 57ab5d7c41..2636f5899b 100644
--- a/macros/latex/contrib/acmart/samples/samples.ins
+++ b/macros/latex/contrib/acmart/samples/samples.ins
@@ -7,21 +7,22 @@
\askforoverwritefalse
\generate{%
- \file{sample-manuscript.tex}{\from{samples.dtx}{manuscript}}
- \file{sample-acmsmall.tex}{\from{samples.dtx}{acmsmall}}
- \file{sample-acmsmall-submission.tex}{\from{samples.dtx}{acmsmall-submission}}
- \file{sample-acmsmall-biblatex.tex}{\from{samples.dtx}{acmsmall-biblatex}}
- \file{sample-acmlarge.tex}{\from{samples.dtx}{acmlarge}}
- \file{sample-acmtog.tex}{\from{samples.dtx}{acmtog}}
- \file{sample-sigconf.tex}{\from{samples.dtx}{sigconf}}
- \file{sample-sigconf-biblatex.tex}{\from{samples.dtx}{sigconf-biblatex}}
- \file{sample-authordraft.tex}{\from{samples.dtx}{authordraft}}
- \file{sample-xelatex.tex}{\from{samples.dtx}{sigconf}}
- \file{sample-lualatex.tex}{\from{samples.dtx}{sigconf}}
- \file{sample-sigplan.tex}{\from{samples.dtx}{sigplan}}
- \file{sample-acmsmall-conf.tex}{\from{samples.dtx}{acmsmall-conf}}
- \file{sample-sigconf-i13n.tex}{\from{samples.dtx}{sigconf-i13n}}
- \file{sample-acmengage.tex}{\from{samples.dtx}{acmengage}}
- \file{sample-acmcp.tex}{\from{samples.dtx}{acmcp}}
+ \file{sample-manuscript.tex}{\from{samples.dtx}{all,proceedings,bibtex,manuscript}}
+ \file{sample-acmsmall.tex}{\from{samples.dtx}{all,journal,bibtex,acmsmall}}
+ \file{sample-acmsmall-submission.tex}{\from{samples.dtx}{all,journal,bibtex,acmsmall-submission}}
+ \file{sample-acmsmall-biblatex.tex}{\from{samples.dtx}{all,journal,acmsmall-biblatex}}
+ \file{sample-acmlarge.tex}{\from{samples.dtx}{all,journal,bibtex,acmlarge}}
+ \file{sample-acmtog.tex}{\from{samples.dtx}{all,journal,bibtex,acmtog}}
+ \file{sample-sigconf.tex}{\from{samples.dtx}{all,proceedings,bibtex,sigconf}}
+ \file{sample-sigconf-biblatex.tex}{\from{samples.dtx}{all,proceedings,sigconf-biblatex}}
+ \file{sample-sigconf-authordraft.tex}{\from{samples.dtx}{all,proceedings,bibtex,authordraft}}
+ \file{sample-sigconf-i13n.tex}{\from{samples.dtx}{all,proceedings,bibtex,sigconf-i13n}}
+ \file{sample-sigconf-xelatex.tex}{\from{samples.dtx}{all,proceedings,bibtex,sigconf}}
+ \file{sample-sigconf-lualatex.tex}{\from{samples.dtx}{all,proceedings,bibtex,sigconf}}
+ \file{sample-sigplan.tex}{\from{samples.dtx}{all,proceedings,bibtex,sigplan}}
+ \file{sample-acmsmall-conf.tex}{\from{samples.dtx}{all,proceedings,bibtex,acmsmall-conf}}
+ \file{sample-acmtog-conf.tex}{\from{samples.dtx}{all,journal,proceedings,bibtex,acmtog-conf}}
+ \file{sample-acmcp.tex}{\from{samples.dtx}{all,journal,acmcp}}
+ \file{sample-acmengage.tex}{\from{acmengage.dtx}{acmengage}}
}
diff --git a/macros/latex/contrib/asmeconf/README.md b/macros/latex/contrib/asmeconf/README.md
index d5e7791076..2c07a04b9b 100644
--- a/macros/latex/contrib/asmeconf/README.md
+++ b/macros/latex/contrib/asmeconf/README.md
@@ -1,11 +1,11 @@
#asmeconf: A latex template for ASME conference papers#
- Version 1.36 dated 2022/12/28.
+ Version 1.37 dated 2024/02/06.
####Overview####
This class provides a LaTeX template for ASME Conference papers formatted according to
- the requirements on ASME's web pages (as posted in 2022):
+ the requirements on ASME's web pages (as posted in 2024):
[www.asme.org/publications-submissions/proceedings/formatting-the-paper](https://www.asme.org/publications-submissions/proceedings/formatting-the-paper)
@@ -31,7 +31,7 @@
- support copyright footer for federal employees and contractors
-- enable various math and text features with newtxmath and newtxtext packages
+- enable various math and text features from the newtx package
- support bold face, sans serif math in section headings
@@ -79,22 +79,34 @@
---
####Change log####
- v1.36 (2022/12/28)
- - Change option-passing to xcolor package to address recent changes that package's code which lead to an error message.
- v1.35 (2022/10/19)
+ v1.37 (2024/02/06)
+ - Under luaLaTeX, fontspec is now loaded by default. The option [nofontspec] will prevent this.
+ - Eliminate the following long-deprecated options: [oldauthor, lang, lang-second, lang-third]
+ - newtxtext has removed the superiors font options (Jan 2024). As a result, the option [nodefaultsups] has been removed from asmeconf, along with supporting code
+ - Streamline code for option handling and compatibility testing; other code clean-up
+ - Switch code handling successive footnotes to expl3, adjust intersecting code
+ - Small code changes to accommodate future tagged pdf
+ - Refresh sample figures, edit sample bib file
+ - Edits to asmeconf.bst: fix punctuation and spacing in journal title macros
+
+
+ v1.36 (2023/12/28)
+ - Change option-passing to xcolor package to address recent changes that package's code which lead to an error message.
+
+ v1.35 (2023/10/19)
- Adjust pdf-a code to accommodate recent changes to hyperxmp package. NOTE: \\DocumentMetadata{ ..} is now preferred to using class option [pdf-a].
- Add option to not use boldface text in captions: [unboldcaption]
- Add mathversion sans for sans-serif math and set as default in unbolded captions
- v1.34 (2022/12/30)
+ v1.34 (2022/12/30)
- Roll back advanced metadata feature for compatibility with pre-2022 installations
- v1.33 (2022/12/30)
+ v1.33 (2022/12/30)
- Update headers to 2023 IMECE
- Add macro "jhmt" to asmeconf.bst for "ASME J. Heat Mass Transfer"; add sample citation and figures from jhmt.
- v1.32 (2022/09/14)
+ v1.32 (2022/09/14)
- Incorporate patch to correct bug in hyperxmp that had impaired pdf/a compliance.
- Add code to asmeconf.bst for empty page field in @article.
diff --git a/macros/latex/contrib/asmeconf/asmeconf-sample.bib b/macros/latex/contrib/asmeconf/asmeconf-sample.bib
index d3ff1545e9..158b0f0081 100644
--- a/macros/latex/contrib/asmeconf/asmeconf-sample.bib
+++ b/macros/latex/contrib/asmeconf/asmeconf-sample.bib
@@ -1,6 +1,6 @@
%% Sample bibliography file for asmeconf.bst and asmeconf.cls
%%
-%% Revised 30 December 2022
+%% Revised 25 January 2024
%% Copyright John H. Lienhard, MIT
%% Offered under the MIT license: https://ctan.org/license/mit
@@ -150,30 +150,31 @@
%% If you need to change "Chap." to something else, use for example: type = {{C}hapter},
%% It's very uncommon to have the "series" field as above.
-@article{Lienhard2019b,
- author = {Lienhard, V, John H.},
- title = {Exterior Shape Factors from Interior Shape Factors},
- journal = jht,
- doi = {10.1115/1.4042912},
- volume = {141},
- number = {6},
- eid = {061301},
- year = {2019},
+@article{lienhard2020,
+ author = {Lienhard, John H.},
+ title = {Heat Transfer in Flat-Plate Boundary Layers: A Correlation for Laminar, Transitional, and Turbulent Flow},
+ journal = jht,
+ volume = {142},
+ number = {6},
+ eid = {061805},
+ year = {2020},
+ month = jun,
+ doi = {10.1115/1.4046795},
}
%% Note eid field rather than page numbers. Will not produce "pp." before the eid number.
%% May include numpages = {} to get "eid (numpages pages)"
%% Note use of jht macro for title title (produces "ASME J. Heat Transfer"). All ASME journals have macros.
-@article{lienhard2023,
- author = {Lienhard, V, John H.},
- title = {Steady Two-Dimensional Conduction: Simple and Double Layer Potentials, Corner Singularities, and Induced Heat Flux},
- journal = jhmt,
- volume = {145},
- number = {3},
- eid = {031401},
- year = {2023},
- month = {3},
- doi = {10.1115/1.4055833},
+@article{lienhard2019,
+ author = {Lienhard, John H.},
+ title = {Linearization of Nongray Radiation Exchange: The Internal Fractional Function Reconsidered},
+ journal = jht,
+ volume = {141},
+ number = {5},
+ eid = {052701},
+ year = {2019},
+ month = mar,
+ doi = {10.1115/1.4042158},
}
%% note use of: eid in place of pages, and use of jhmt macro for the journal name
@@ -191,8 +192,18 @@
%% You can change "Accessed" with "urltype", e.g., urltype = {retrieved},
%% You can change "Version" with "versiontype, e.g., versiontype = {Release},
+@online{lienhard2024,
+ author = {Lienhard, John H.},
+ title = {Example of {\LuaLaTeX} with {\texttt{asmeconf.cls}} for {ODE} integration},
+ version = {1.01},
+ organization = {Comprehensive \TeX\ Archive Network},
+ year = {2024},
+ url = {https://www.ctan.org/pkg/asmeconf},
+ urldate = {January 23, 2024},
+}
+
@online{lienhard2021,
- author = {Lienhard, V, John H.},
+ author = {Lienhard, John H.},
title = {Language Support in {\texttt{asmeconf}}: non-latin alphabets, {\LuaLaTeX}, and {\texttt{fontspec}}},
version = {1.0},
organization = {Comprehensive \TeX\ Archive Network},
@@ -294,7 +305,7 @@
}
@online{lienhard2022,
- author = {Lienhard, V, John H.},
+ author = {Lienhard, John H.},
title = {Wide Equations in {\texttt{asmeconf.cls}}},
version = {1.0},
organization = {Comprehensive \TeX\ Archive Network},
diff --git a/macros/latex/contrib/asmeconf/asmeconf-template.pdf b/macros/latex/contrib/asmeconf/asmeconf-template.pdf
index 335d1e2daa..0e628963d3 100644
--- a/macros/latex/contrib/asmeconf/asmeconf-template.pdf
+++ b/macros/latex/contrib/asmeconf/asmeconf-template.pdf
Binary files differ
diff --git a/macros/latex/contrib/asmeconf/asmeconf-template.tex b/macros/latex/contrib/asmeconf/asmeconf-template.tex
index c45170adb3..84eecfb071 100644
--- a/macros/latex/contrib/asmeconf/asmeconf-template.tex
+++ b/macros/latex/contrib/asmeconf/asmeconf-template.tex
@@ -4,7 +4,7 @@
%% This file is asmeconf-template.tex, a LaTeX template to format ASME Conference papers according to
%% the requirements on ASME's conference web pages, and including hypertext support for the pdf.
%%
-%% This file is version 1.36 dated 2023/12/28
+%% This file is version 1.37 dated 2024/02/06
%%
%% As of version 1.11, this template defaults to ASME's newer conference guidelines first posted July 2019.
%% Those guidelines changed the requested author block formatting to be inline.
@@ -18,15 +18,6 @@
%%
%% Class options include:
%%
-%% * Math options from M. Sharpe's newtxmath package: upright integrals [upint];
-%% * [varvw] for a v and w that are better distinguished from Greek nu; and also
-%% * [subscriptcorrection, smallerops, varg, frenchmath, varbb, cmbraces, slantedGreek,...]
-%% * See newtx documentation for descriptions (at CTAN: http://ctan.org, v1.6 or higher is best).
-%%
-%% * Options to: omit the ASME copyright footer [nofoot];
-%% * use government employee copyright notice [govt];
-%% * use government contractor copyright notice [contractor]
-%%
%% * An option to use the traditional grid arrangement of author names [grid].
%% * With this option, line breaks (\\) may be inserted into the address as needed.
%% * Author names that include commas should be enclosed in braces, e.g., {Joseph L. Smith, Jr.}.
@@ -43,20 +34,32 @@
%% * just leave a blank line above the displayed equation while you are editing and then remove the
%% * blank line and [lineno] option when you move to your final version.
%%
+%% * An option not to use boldface font for caption text [unboldcaption]
+%%
+%% * Options to: omit the ASME copyright footer [nofoot];
+%% * use government employee copyright notice [govt];
+%% * use government contractor copyright notice [contractor]
+%% * use copyright notice for some gov't employees [somegovt]
+%%
%% * Options for PDF/A compliance. [pdf-a] will produce PDF/A-3u compliance with sRGB OutputIntent.
%% * [pdfapart= 1 or 2 or 3] and [pdfaconformance= b or u] can enable levels 1b, 2b, 2u, and 3b.
-%% * The most recent versions of LaTeX (2021 and later) are moving toward integrated support for pdf-a,
-%% * through \DeclareDocumentMetadata{..}. The asmeconf class supports these new features, which can
-%% * replace the aforementioned class options. (An up-to-date LaTeX installation is required to use this.)
+%% *
+%% * The most recent versions of LaTeX (2021 and later) have adopted integrated support for pdf-a,
+%% * through \DeclareDocumentMetadata{..}. The asmeconf class supports these features, which are preferred
+%% * to the aforementioned class options. (An up-to-date LaTeX installation is required to use this.)
%%
%% * Many options for calligraphic, script, and fraktur fonts from the mathalfa package; the
-%% * example shown here is: [mathalfa=cal=boondoxo] to use a Boondox font for \mathcal.
+%% * example shown here is: [mathalfa=cal=boondoxo] to use the Boondox font for \mathcal.
%% * Some other options for cal are: dutchcal, zapfc, cm (default), euler,...
%% * frak (fraktur), bb (blackboard bold), scr (script) may also be chosen this way.
-%% * For details, refer to mathalfa documentation (at CTAN: http://ctan.org).
+%% * For details, refer to mathalfa documentation (at CTAN: https://www.ctan.org/pkg/mathalpha).
+%%
+%% * Math options from M. Sharpe's newtxmath package: upright integrals [upint];
+%% * [varvw] for a v and w that are better distinguished from Greek nu; and also
+%% * [subscriptcorrection, smallerops, varg, frenchmath, varbb, cmbraces, slantedGreek,...]
+%% * See newtx documentation for descriptions (at CTAN: https://www.ctan.org/pkg/newtx, v1.6 or higher is best).
%%
-%% * Option to use superiors font from newtxtext for footnotes [nodefaultsups] and
-%% * for slightly larger small capitals, [largesc], also from newtxtext.
+%% * Option to for slightly larger small capitals, [largesc], from newtxtext package.
%%
%% * An option to allow hyphenation of the typewriter font [hyphenate], from inconsolata package.
%% * Hyphenation is normally suppressed for typewriter mode because it is often used for code.
@@ -65,8 +68,11 @@
%%
%% * Options (used by the babel package) to include passages in languages other than English (e.g., a translation
%% * of the abstract). Languages are called as options, e.g. [french], [spanish], [greek], [russian], etc.
-%% * Language support is greatest when running LuaLaTeX with the [fontspec] option.
-%% * See Appendix B for details.
+%% * See Appendix B for details.
+%% * Language support is most extensive when running LuaLaTeX, which automatically loads fontspec, but
+%% * be aware that you may to install additional fonts on your system to use fontspec.
+%% *
+%% * To use LuaLaTeX without bothering about extra fonts, use the [nofontspec] option to asmeconf.
%%
%% The use of commands defined or modified by the asmeconf class is illustrated throughout this file. In particular,
%% ASME requires capitalized, sans-serif section headings, and as a result some care is needed when using macros
@@ -78,16 +84,16 @@
%%
%% LICENSE:
%%
-%% Copyright (c) 2023 John H. Lienhard
+%% Copyright (c) 2024 John H. Lienhard
%%
%% Offered under the MIT license: https://ctan.org/license/mit
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% RECOMMENDED newpdf management code (June 2022).
-%% This addition the LaTeX kernel was recently made by the LaTeX Project team
-%% 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
+%% STRONGLY RECOMMENDED new pdf management code follows.
+%% This addition the LaTeX kernel was made in June 2022 by the LaTeX Project team.
+%% https://www.latex-project.org/news/latex2e-news/ltnews35.pdf
+%% Uncomment the next lines and omit the option [pdf-a] from \documentclass[...]{asemconf}
%\DocumentMetadata{%
% pdfstandard=A-3b,% A-2b, A-2u, A-3b, or A-3u (don't use u options with LuaLaTeX)
@@ -102,7 +108,7 @@
%% Remove the [colorlinks] option before *final* submission to ASME, to get black text for printing,
%% but keep that option for other uses.
-\documentclass[balance,upint,subscriptcorrection,varvw,mathalfa=cal=boondoxo,spanish,french,vietnamese,russian,greek,pdf-a,colorlinks]{asmeconf}
+\documentclass[pdf-a,balance,colorlinks,upint,subscriptcorrection,varvw,mathalfa=cal=boondoxo, spanish,french,vietnamese,russian,greek]{asmeconf}
%%%%% pdf metadata %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -123,11 +129,11 @@
% You can comment these out if for some reason you don't want a header.
% Use title case (first letters capitalized), not all capitals
-\ConfName{Proceedings of the ASME 2023\linebreak International Mechanical Engineering Congress and Exposition}
-\ConfAcronym{IMECE2023}
-\ConfDate{October 29--November 2, 2023} % update
-\ConfCity{New Orleans, LA} % update
-\PaperNo{IMECE2023-XXXX}
+\ConfName{Proceedings of the ASME 2024\linebreak International Mechanical Engineering Congress and Exposition}
+\ConfAcronym{IMECE2024}
+\ConfDate{November 17--21, 2024} % update
+\ConfCity{Portland, OR} % update
+\PaperNo{IMECE2024-XXXX}
% Units of measure (e.g., cm) and other specialty lowercase terms in the title should be
% enclosed in \NoCaseChange{...} to maintain lower case type
@@ -183,7 +189,7 @@
%% Abstract should be 200 words or less
\begin{abstract}
-This paper is an example of and a {\upshape\LaTeX} template for typesetting ASME conference papers using the {\upshape\texttt{asmeconf}} class. This {\upshape\LaTeX} template follows ASME guidelines for margins, fonts, headings, captions, and reference formats as of 2022. The class is intended to be used with the {\upshape\texttt{asmeconf.bst} \hologo{BibTeX}} style for reference formatting, which is part of this distribution. The template produces pdfs that contain hyperlinks, bookmarks, and metadata; and references can include the DOI and URL fields. Links may be colored, for online use, or black, for publication. The class enables inline author names, following ASME's current style, but can also produce the traditional grid style. Options include line numbering, final column balancing, various math options, government copyright, and archivability (PDF/A). In addition, section headers may contain mathematics, references, citations, and footnotes. The class is compatible with {\upshape\hologo{pdfLaTeX}} or {\upshape\hologo{LuaLaTeX}}.
+This paper is an example of and a {\upshape\LaTeX} template for typesetting ASME conference papers using the {\upshape\texttt{asmeconf}} class. This {\upshape\LaTeX} template follows ASME guidelines for margins, fonts, headings, captions, and reference formats as of 2024. The class is intended to be used with the {\upshape\texttt{asmeconf.bst} \hologo{BibTeX}} style for reference formatting, which is part of this distribution. The template produces pdfs that contain hyperlinks, bookmarks, and metadata; and references can include the DOI and URL fields. Links may be colored, for online use, or black, for publication. The class enables inline author names, following ASME's current style, but can also produce the traditional grid style. Options include line numbering, final column balancing, various math options, government copyright, and archivability (PDF/A). In addition, section headers may contain mathematics, references, citations, and footnotes. The class is compatible with {\upshape\hologo{pdfLaTeX}} or {\upshape\hologo{LuaLaTeX}}.
\end{abstract}
%%%%%%%%% NOMENCLATURE (OPTIONAL) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -256,8 +262,8 @@ ASME prefers SI units. (U.S.\ style units may follow in parentheses.) Be sure to
%% captions go below figures
\begin{figure}
-\centering\includegraphics[width=0.7\linewidth]{sample-figure-1.pdf}
-\caption{Caption with math, eqn.~\eqref{eqn:fourier}: $z = (r,\phi)$ \cite{Lienhard2019b}}\label{fig:1}
+\centering\includegraphics[width=\linewidth, alt = {Linearization error in radiant flux}]{sample-figure-1.pdf}
+\caption{Caption with math, eqn.~\eqref{eqn:fourier}: $\Delta T/T_m$ vs.\ $\Delta T/T_1$~\cite{Lienhard2019}}\label{fig:1}
\end{figure}
%%%%%%%%%%%%% end figure %%%%%%%%%%%%%%%%%%%
@@ -393,24 +399,21 @@ Basic support for \texttt{eprint} numbers is also included, generating a url at
%%%%%%%%%%%%%%%%% begin two column figure %%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{figure*}
-\begin{subfigure}[t]{0.5\textwidth} % subfigure is basically the same as minipage
-\vbox{
-\vspace*{1.7em}
+\begin{subfigure}[b]{\columnwidth}% subfigure is basically the same as minipage
\centering{
- \includegraphics{sample-figure-2a.pdf}
-}%
-\vspace*{1.7em}
-}%
-\subcaption{Interior region\label{fig:interior-region}}
+ \includegraphics[width=0.9\linewidth, alt={Nusselt number data for isothermal wall}]{sample-figure-2a.pdf}%
+}
+\subcaption{Uniform temperature wall\label{fig:interior-region}}
\end{subfigure}%
-%%%%%%%%%%%%% no spaces or line breaks between these two subfigures
-\begin{subfigure}[t]{0.5\textwidth}
+\hspace*{\columnsep}% with this space added, puts each figure at column center
+%%%%%%%%%%%%% no line break between these two subfigures
+\begin{subfigure}[b]{\columnwidth}
\centering{%
-\includegraphics{sample-figure-2b.pdf}
+\includegraphics[width=0.927\linewidth, alt={Nusselt number data for constant heat flux wall}]{sample-figure-2b.pdf}%
}%
-\subcaption{Exterior region\label{fig:exterior-region}}
+\subcaption{Uniform heat flux wall with unheated starting length\label{fig:exterior-region}}
\end{subfigure}
-\caption{A figure with two subfigures \cite{lienhard2023}\label{fig:2}}
+\caption{A figure with two subfigures~\cite{lienhard2020}\label{fig:2}}
\end{figure*}
%%%%%%%%%%%%%%%%%%% end two column figure %%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -480,8 +483,10 @@ The \texttt{lineno} package is not compatible with the \texttt{flushend} package
Note that ASME interprets the author order in the grid style by reading names from left-to-right in the top row, then left-to-right in each subsequent row.
-\subsection{Changing the Copyright Footer} The option \texttt{[nofoot]} will omit the ASME copyright from the page footer. The option \texttt{[govt]} will produce a copyright notice for authors who are employees of the U.\ S.\ Government. The option \texttt{[contractor]} will produce a copyright
+\subsection{Changing the Copyright Footer} The option \texttt{[nofoot]} will omit the ASME copyright from the page footer. The option \texttt{[govt]} will produce a copyright notice for authors who are employees of the U.\ S.\ Government.
+The option \texttt{[contractor]} will produce a copyright
notice for authors who are employed by a U.\ S.\ Government contractor.
+The option \texttt{[somegovt]} gives a copyright notice for the case when only some authors are employees of the U.\ S.\ Government.
The footers are generated with the \texttt{fancyhdr} package~\cite{oostrum} and can be changed using the commands of that package. Only the default arrangement matches ASME's style, however.
@@ -493,11 +498,9 @@ If levels 1b, 2b, 2u, or 3b are preferred, use the options \texttt{[pdfapart=1 o
As of late 2021, the \LaTeX 3 team is phasing in native support for PDF/A in the \LaTeX\ kernel, which will make these
class options unnecessary when using up-to-date installations.
-\subsection{Superiors Font} The \texttt{newtxtext} package includes a superiors font (both numbers and letters) for use in footnote markers and text superscripts. To enable this font, use the option \texttt{[nodefaultsups]}.
-
-\subsection{Typewriter Font Options} This font is the sans-serif \texttt{inconsolata}. By default, the word spacing is variable, but option \texttt{[mono]} ends this behavior. A slashed zero is the default; option \texttt{[var0]} removes the slash. Option \texttt{[hyphenate]} enables hyphenation. (The hyphenation option is not available if the \texttt{[fontspec]} option is used.)
+\subsection{Typewriter Font Options} This font is the sans-serif \texttt{inconsolata}. By default, the word spacing is variable, but option \texttt{[mono]} ends this behavior. A slashed zero is the default; option \texttt{[var0]} removes the slash. Option \texttt{[hyphenate]} enables hyphenation. (The hyphenation option is not available under \hologo{LuaLaTeX} with \texttt{fontspec}.)
-\subsection{Support for Other Languages} This package can be adapted to incorporate (or entirely use) languages other than English. See Appendix \ref{appendix:b} for details.
+\subsection{Support for Other Languages} This package can be adapted to incorporate (or entirely use) languages other than English. See Appendix \ref{appendix:c} for details.
%%%%% Conclusions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -544,24 +547,41 @@ consecutively, following those in the paper. Consider $\rho \neq \textrm{fn}(p)$
\end{align}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Multilingual Support}\label{appendix:b}
+\section[Use with LuaLaTeX]{Use with \NoCaseChange{\hologo{LuaLaTeX}}}\label{appendix:b}
+
+The \hologo{LuaLaTeX} engine is useful with \texttt{asmeconf} in two situations:
+
+\begin{description}
+
+\item \textbf{Executing lua code directly in your \LaTeX\ file.} With lua code, complicated functions can be plotted or numerical integration can be executed. An example file in the distribution demonstrates this capability~\cite{lienhard2024}. In this situation, \textit{be sure to use the class option} \texttt{[nofontspec]}, so that you won't need to install additional fonts on your computer.
+
+\item \textbf{Using complex alphabets.} With \hologo{pdfLaTeX}, the \texttt{asmeconf} package supports Latin alphabets, as well as Cyrillic, Greek, and Vietnamese. If you need scripts such as Arabic, Chinese, or Japanese, \hologo{LuaLaTeX} with the \texttt{fontspec} package can use fonts installed in your computer operating system. See the example file in this distribution for more details~\cite{lienhard2021}.
+
+\end{description}
+
+For clarity, \texttt{fontspec} is automatically loaded when \texttt{asmeconf} is run under \hologo{LuaLaTeX}. Fontspec requires that the necessary system fonts are already installed in your operating system. If you wish to use \hologo{LuaLaTeX} without bothering about system fonts, use the class option \texttt{[nofontspec]}.
+
+Access to \hologo{LuaLaTeX} is different in each \LaTeX\ platform. Check the documentation for your specific platform to see how to access various typesetting engines.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section{Multilingual Support}\label{appendix:c}
ASME publishes in English, but the \texttt{babel} package is loaded for
users who may wish to include other languages. For example, an author might wish to include an appendix that provides the
abstract in another language.
When more than one language option is included in \verb|\documentclass[..]{asmeconf}|, English will be
-assumed to be the main language of the document. (To choose a different main language, set \texttt{[main=..]}).
+set as the document's main language. (To choose a different main language, set \texttt{[main=..]}).
If no language options are given, the package defaults to English. As examples, a passage in French is
shown in \selectlanguage{french}\appendixname~\ref{app:fourier}\selectlanguage{english}, followed by
\ifpdftex abstracts in Spanish, Greek, Russian, and Vietnamese.\else abstracts in other languages.\fi
The input encoding can be utf-8, as for these glyphs:
%% If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete that line to resolve the issue.
-\typeout{If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete that line to resolve the issue. Under LuaLaTeX, you can load the [fontspec] option if you have the relevant systems fonts installed}%
+\typeout{If you have trouble with the next line, your file may not be saved in utf-8 format. You can delete that line to resolve the issue. Under LuaLaTeX, you can load the fontspec will support these characters if you have the relevant systems fonts installed}%
àáâäæãåā èéęëêēė îïíīįì ôöòóœøōõ ûüùúū çćč ł ñń ßśš ÿ žźż.
-Fonts similar to Times/Helvetica are automatically used when the Greek, Vietnamese, or selected cyrillic-alphabet languages are called as options under {\upshape\hologo{pdfLaTeX}}. Using {\upshape\hologo{LuaLaTeX}} with the \texttt{[fontspec]} option, many additional scripts are available; see the supplemental notes for such usage~\cite{lienhard2021}. Possibilities include Arabic, Bengali, Chinese, Devanagari (e.g., for Hindi), Hangul (for Korean), Kana (for Japanese), and Tamil. \textit{The {\upshape\texttt{[fontspec]}} option requires a \LaTeX\ installation dated October 2020 or later.}
+Fonts similar to Times/Helvetica are used when Greek, Vietnamese, or selected cyrillic-alphabet languages are called as options under {\upshape\hologo{pdfLaTeX}}. Using {\upshape\hologo{LuaLaTeX}}, which loads the fontspec package, many additional scripts are available; see the supplemental notes for such usage~\cite{lienhard2021}. Possibilities include Arabic, Bengali, Chinese, Devanagari (e.g., for Hindi), Hangul (for Korean), Kana (for Japanese), and Tamil. (Note: some fonts are not PDF/A compliant.) \textit{These options require a \LaTeX\ installation dated October 2020 or later.}
The bibliography style, \texttt{asmeconf.bst}, is designed in English and aimed at \hologo{BibTeX}.
% Multilingual bibliographies can be supported using \texttt{BibLaTeX}.
diff --git a/macros/latex/contrib/asmeconf/asmeconf.bst b/macros/latex/contrib/asmeconf/asmeconf.bst
index ce943402a8..ec41f1ac1f 100644
--- a/macros/latex/contrib/asmeconf/asmeconf.bst
+++ b/macros/latex/contrib/asmeconf/asmeconf.bst
@@ -4,7 +4,7 @@
%%%%% *** https://www.asme.org/publications-submissions/proceedings/author-guidelines/elements-of-a-paper/references ***
%%%%% *** The examples given by ASME do *not* cover all possibilities ***
%%%%%
-%%%%% This file is version 1.15 dated 2022/12/30
+%%%%% This file is version 1.16 dated 2024/02/03
%%%%%
%%%%% Author: John H. Lienhard V
%%%%% Department of Mechanical Engineering
@@ -27,6 +27,9 @@
%%%%% Added: venue and eventdate to @inproceedings
%%%%%
%%%%%
+%%%%% Edits in version 1.16, 2024/02/03
+%%%%% fix spacing and punctuation in journal title macros
+%%%%%
%%%%% Edits in version 1.15, 2022/12/30
%%%%% Add macro "jhmt" for "ASME J. Heat Mass Transfer"
%%%%%
@@ -56,7 +59,7 @@
%%%%% add "urldate" to eprint format, for optional use.
%%%%% warn in @online not to use both eprint and url, and warn if neither is given.
%%%%% remove series and add volume to @inproceedings.
-%%%%%
+%%%%%
%%%%% Feel free to edit this file to suit your own needs, but please make note of changes in this header.
%%%%%
%%=========================================================
@@ -468,65 +471,65 @@ MACRO {oclc} {"https://www.worldcat.org/oclc/"}
MACRO {pubmed} {"https://www.ncbi.nlm.nih.gov/pubmed/"}
-MACRO {amr} {"Appl. Mech. Rev."}
+MACRO {amr} {"Appl.\ Mech. Rev."}
MACRO {lds} {"ASME Letters Dynamic Systems"}
MACRO {jru} {"ASME J. Risk Uncertainty"}
-MACRO {jsbc} {"ASME J. Sustainable Bldg. and Cities"}
+MACRO {jsbc} {"ASME J. Sustainable Bldg.\ and Cities"}
-MACRO {jam} {"ASME J. Appl. Mech."}
+MACRO {jam} {"ASME J. Appl.\ Mech."}
-MACRO {jbe} {"ASME J. Biomed. Eng."}
+MACRO {jbe} {"ASME J. Biomed.\ Eng."}
-MACRO {jcnd} {"ASME J. Comput. Nonlin. Dyn."}
+MACRO {jcnd} {"ASME J. Comput.\ Nonlin.\ Dyn."}
-MACRO {jcise} {"ASME J. Comput. Inf. Sci. Eng."}
+MACRO {jcise} {"ASME J. Comput.\ Inf.\ Sci.\ Eng."}
-MACRO {jds} {"J. Dyn. Syst.-T. ASME"}
+MACRO {jds} {"J. Dyn. Syst.---T. ASME"}
-MACRO {jep} {"ASME J. Electron. Packag."}
+MACRO {jep} {"ASME J. Electron.\ Packag."}
MACRO {jert} {"ASME J. Energy Resour."}
-MACRO {jegtp} {"ASME J. Eng. Gas Turbines Power"}
+MACRO {jegtp} {"ASME J. Eng.\ Gas Turbines Power"}
-MACRO {jem} {"ASME J. Eng. Mater."}
+MACRO {jem} {"ASME J. Eng.\ Mater."}
MACRO {jfe} {"ASME J. Fluids Eng."}
-MACRO {jfcst} {"ASME J. Fuel Cell Sci. Tech."}
+MACRO {jfcst} {"ASME J. Fuel Cell Sci.\ Tech."}
MACRO {jht} {"ASME J. Heat Transfer"}
MACRO {jhmt} {"ASME J. Heat Mass Transfer"}
-MACRO {jmse} {"ASME J. Manuf. Sci. E."}
+MACRO {jmse} {"ASME J. Manuf.\ Sci.\ E."}
-MACRO {jmd} {"ASME J. Mech. Des."}
+MACRO {jmd} {"ASME J. Mech.\ Des."}
-MACRO {jmr} {"ASME J. Mech. Robot."}
+MACRO {jmr} {"ASME J. Mech.\ Robot."}
-MACRO {jmdv} {"ASME J. Med. Devices"}
+MACRO {jmdv} {"ASME J. Med.\ Devices"}
MACRO {jmnm} {"ASME J. Micro Nano-Manuf."}
-MACRO {jnem} {"ASME J. Nanotech Eng. Med."}
+MACRO {jnem} {"ASME J. Nanotech Eng.\ Med."}
-MACRO {joma} {"ASME J. Offshore Mech. Arct."}
+MACRO {joma} {"ASME J. Offshore Mech.\ Arct."}
-MACRO {jpv} {"ASME J. Press. Vess."}
+MACRO {jpv} {"ASME J. Press.\ Vess."}
-MACRO {jse} {"ASME J. Sol. Energy"}
+MACRO {jse} {"ASME J. Sol.\ Energy"}
-MACRO {jtsea} {"ASME J. Therm. Sci. Eng. Appl."}
+MACRO {jtsea} {"ASME J. Therm.\ Sci.\ Eng.\ Appl."}
MACRO {jtb} {"ASME J. Tribol."}
MACRO {jtm} {"ASME J. Turbomach."}
-MACRO {jva} {"ASME J. Vib. Acoust."}
+MACRO {jva} {"ASME J. Vib.\ Acoust."}
MACRO {acmcs} {"ACM Computing Surveys"}
diff --git a/macros/latex/contrib/asmeconf/asmeconf.cls b/macros/latex/contrib/asmeconf/asmeconf.cls
index 31cb16cb71..186e5d4941 100644
--- a/macros/latex/contrib/asmeconf/asmeconf.cls
+++ b/macros/latex/contrib/asmeconf/asmeconf.cls
@@ -2,11 +2,11 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% This file provides the asmeconf LaTeX class for formatting conference papers according to
-%% ASME conference requirements as represented on ASME's conference web pages in 2022.
+%% ASME conference requirements as represented on ASME's conference web pages in 2024.
%%
%% This file's version and date:
- \def\versionno{1.36}
- \def\versiondate{2023/11/19\space}
+ \def\versionno{1.37}
+ \def\versiondate{2024/02/06\space}
%%
%% Author: John H. Lienhard, V
%% Department of Mechanical Engineering
@@ -27,19 +27,16 @@
%% 10. Enable various math and text features from the newtxmath and newtxtext packages
%% 11. Support inclusion of passages in languages other than English
%%
-%% This class is compatible with either pdfLaTeX or LuaLaTeX. FontSpec may be loaded as an option (to
-%% access language-specific fonts), but the class does not support unicode-math.
+%% This class is compatible with either pdfLaTeX or LuaLaTeX. Fontspec will load automatically with LuaLaTeX,
+%% but the class does not support unicode-math. To use LuaLaTeX without fontspec, call the [nofontspec] option.
%%
-%% Use an up-to-date LaTeX distribution: for pdfLaTeX, TeX Live 2016 or later; for LuaLaTeX, TeX Live 2021 or later.
+%% Use an up-to-date LaTeX distribution: for pdfLaTeX, TeX Live 2020 or later; for LuaLaTeX, TeX Live 2021 or later.
%% A complete LaTeX installation is also recommended: asmeconf loads ~30 packages, in addition to LaTeX core packages.
%% All packages required by the class are in TeXLive and CTAN (https://ctan.org/).
%%
%% Commands for entering conference headers and author names are specific to this class.
%% See asmeconf-template.tex for details.
%%
-%% The \section[]{} command's optional argument is changed to better support pdf bookmarks,
-%% and \section* is modified similarly.
-%%
%% The class defines abstract (with keywords), abstract* (no keywords), and nomenclature environments.
%% The latter has an optional argument to control the space between the entries and the definitions.
%%
@@ -47,7 +44,7 @@
%%
%% LICENSE:
%%
-%% Copyright (c) 2023 John H. Lienhard
+%% Copyright (c) 2024 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,
@@ -72,83 +69,100 @@
\LoadClass[twoside,twocolumn,10pt]{article}
% Even/odd page layout is not used in ASME's specs, although the papers are printed in two-sided format.
-\ifdefined\NewDocumentCommand\else
- \RequirePackage{xparse} % enable older installations to access features recently moved into LaTeX kernel
-\fi
+\RequirePackage{iftex}% provides \ifpdftex (many) & \ifluatex (once)
+\RequirePackage{ifthen}% ifthenelse (many) & \whiledo (once)
+\RequirePackage{etoolbox}% using patchcmd in 4 places
-\RequirePackage{etoolbox}
-\RequirePackage{ifthen}
%%%%%%%%%%%%% Test compatibility of older distributions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}% compare version to date
+\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}% compare version to date; \If... added to latex 2020/10/01
+\providecommand\IfPackageAtLeastTF{\@ifpackagelater}% compare version to date; \If... added to latex 2020/10/01
+\providecommand\IfPackageLoadedTF{\@ifpackageloaded}% \If...added to latex 2021/11/15
-\IfFormatAtLeastTF{2017/04/15}{%
- \ClassInfo{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020 or later are strongly recommended for best results}
+\IfFormatAtLeastTF{2020/10/01}{%
+ \ClassInfo{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020/10/01 or later are strongly recommended for best results}
}{%
- \ClassIF{asmeconf}{Your LaTeX format is dated \fmtversion. Formats dated 2020 or later are recommended for the asmeconf class. Older formats may generate errors}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. You can try to click past the errors for now.}%
+ \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. Formats dated 2020/10/01 or later are recommended for the asmejour class. Older formats and packages may generate errors or fail entirely!}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. You can try to click past the errors for now.}%
}
-
+
+\ifdefined\NewDocumentCommand\else
+ \RequirePackage{xparse}% enable older installations to access features in LaTeX kernel since 2020/10/01; but need at least 2018/04...
+\fi
+
\DeclareDocumentCommand\LogNote{m}{%
- \IfFormatAtLeastTF{2021/11/01}{%
- \ClassNoteNoLine{asmeconf}{#1}%
+ \IfFormatAtLeastTF{2021/11/15}{%
+ \ClassNoteNoLine{asmeconf}{#1}% Added to LaTeX in Nov. 2021
}{%
\ClassWarningNoLine{asmeconf}{#1}%
}
}
-%% provide iftex command \ifpdftex for those still running old distributions
-\IfFormatAtLeastTF{2019/11/07}{%
- \RequirePackage{iftex}[2019/11/07]% check whether pdftex or another engine is used
- }{%
- \LogNote{The asmeconf class requires the missing package iftex---trying a work-around.}
- % Code copied from iftex package written by the LaTeX3 Project (used under LPPL).
- \def\IFTEX@let#1#2{%
- \expandafter\let\csname if#1\expandafter\endcsname
- \csname if#2\endcsname}
- % pdftex (including in dvi mode)
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname pdftexversion\endcsname\relax
- \IFTEX@let{pdftex}{false}
- \else
- \IFTEX@let{pdftex}{true}
- \fi
- \IFTEX@let{PDFTeX}{pdftex}
+\IfPackageAtLeastTF{iftex}{2019/11/07}{\relax}{%
+ \ClassError{asemconf}{Package iftex is too old. Go to \string https://ctan.org and download an up-to-date version.}%
}
+%% Test whether \DocumentMetadata has been loaded (Thank you Ulrike Fischer)
+\newif\if@asme@pdfmanagement
+% \IfPDFManagementActiveTF{\@asme@pdfmanagementtrue}{\@asme@pdfmanagementfalse}% New 2021/07/23, don't implement yet
+\ExplSyntaxOn
+ \IfFormatAtLeastTF{2020/02/02}{%
+ \bool_if:nTF
+ {
+ \bool_lazy_and_p:nn
+ {\cs_if_exist_p:N \pdfmanagement_if_active_p:}
+ { \pdfmanagement_if_active_p: }
+ }
+ {
+ \@asme@pdfmanagementtrue
+ }
+ {
+ \@asme@pdfmanagementfalse
+ }
+ }{\@asme@pdfmanagementfalse}
+\ExplSyntaxOff
+
+
%%%%%%%%%%%%%% Options for the class %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{kvoptions}
\SetupKeyvalOptions{
- family=asmeconf,
- prefix=asmeconf@,
- family=pdfaopt,
- prefix=pdafopt@,
- setkeys=\kvsetkeys,
+ family=asmeconf,
+ prefix=asmeconf@,
+ setkeys=\kvsetkeys,
}
%%% set key [colorlinks] to have colored hyperlinks, rather than black links (use a key with new pdfmanagement, 2021/12/01)
\define@key{asmeconf}{colorlinks}[colorlinks]{%
- \PassOptionsToPackage{#1}{hyperref}%
+ \PassOptionsToPackage{#1}{hyperref}%
}
-%%% for mathalfa, we may now pass options in this format: mathalfa=cal=euler, mathalfa=frak=boondox
-\define@key{asmeconf}{mathalfa}{%
- \PassOptionsToPackage{#1}{mathalfa}%
-}
+%% Option for caption text not to use boldface type [unboldcaption]
+\DeclareBoolOption{unboldcaption}
-%%% set key [nodefaultsups] to obtain newtx superiors font for footnotes.
-\newboolean{DefaultSups}\setboolean{DefaultSups}{true}
-\define@key{asmeconf}{nodefaultsups}[false]{%
- \setboolean{DefaultSups}{#1}
-}
+%% Option to obtain line numbers [lineno]
+\DeclareBoolOption{lineno}
-%%% set key [unboldcaption] for caption text not to use boldface type.
-\newif\ifac@unboldcaption\ac@unboldcaptionfalse
-\define@key{asmeconf}{unboldcaption}[false]{%
- \ac@unboldcaptiontrue
-}
-% (with two key families active, \DeclareBoolOption has problems..)
+%% Option to balance column height on last page [balance]
+\DeclareBoolOption{balance}
+
+%% Option to convert inline author data to a grid of authors
+\DeclareBoolOption{grid}
+
+%% Option for copyright notice if all authors are government employees [govt]
+\DeclareBoolOption{nofoot}
+
+%% Option for copyright notice if all authors are government employees [govt]
+\DeclareBoolOption{govt}
+
+%% Option for copyright notice if some (not all) authors are government employees [govtsome]
+\DeclareBoolOption{govtsome}
+
+%% Option for government contractor copyright notice [contractor]
+\DeclareBoolOption{contractor}
+
+%% Option NOT to use fontspec package under luaLaTeX [nofontspec]
+\DeclareBoolOption{nofontspec}
%%% Use these switches to load other alphabets for Cyrillic, Greek, Japanese, and Vietnamese text
\newif\ifac@cyrillic\ac@cyrillicfalse
@@ -189,29 +203,12 @@
}
\define@key{asmeconf}{vietnamese}[]{%
\RequirePackage[vietnamese=nohyphenation]{hyphsubst}% using key, not option, to allow loading package w/o babel warning.
- \PassOptionsToPackage{vietnamese}{babel}%
+ \PassOptionsToPackage{vietnamese.noencoding}{babel}% modified.noencoding suppresses unnecessary warning about inputenc
\ac@vietnamesetrue
\def\ac@Tfive{T5}%
}
-%%% only main= is actually needed, but keeping these legacy commands for backward compatibility
-\define@key{asmeconf}{lang}[english]{% deprecated option
- \PassOptionsToPackage{main=#1,#1}{babel}%
- \PassOptionsToPackage{pdflang=en}{hyperref}
- \ac@mainsettrue%
- \ifthenelse{\equal{#1}{english}}{%
- \relax}{%
- \LogNote{Selecting #1 as the primary language}%
- }%
-}
-\define@key{asmeconf}{lang-second}[english]{% deprecated option
- \PassOptionsToPackage{#1}{babel}%
-}
-\define@key{asmeconf}{lang-third}[english]{% deprecated option
- \PassOptionsToPackage{#1}{babel}%
-}
-
-\DeclareDefaultOption{}% suppress warning about unused mathalfa option, 2021/06/15
+\DeclareDefaultOption{}% suppress warnings about unused options
\ProcessKeyvalOptions{asmeconf}
%% if main language was not chosen explicitly, default to English
@@ -225,13 +222,155 @@
\def\@KeyFamily{asmeconf}
\NewDocumentCommand\ac@DisableOption{m}{%
\DisableKeyvalOption[%
- action=ignore,%
- class=asmeconf%
+ action=ignore,%
+ class=asmeconf%
]{#1}{\@KeyFamily}%
}
\NewDocumentCommand\@DisableKeys{>{\SplitList{;}}m}{\ProcessList{#1}{\ac@DisableOption}}
-\@DisableKeys{main;lang;nodefaultsups;mathalfa;lang-second;lang-third;vietnamese}
+\@DisableKeys{colorlinks;unboldcaption;lineno;balance;grid;nofoot;govt;govtsome;contractor;nofontspec;main;vietnamese}
+
+
+%%%%%%%%% Various font-related options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\SetupKeyvalOptions{
+ family=acfonts,
+ prefix=acfonts@,
+ setkeys=\kvsetkeys,
+}
+
+%%% for mathalfa, we may now pass options in this format: mathalfa=cal=euler, mathalfa=frak=boondox
+\define@key{acfonts}{mathalfa}{%
+ \PassOptionsToPackage{#1}{mathalfa}%
+}
+
+%% option for slightly larger small capitals font, via newtxtext
+\DeclareOption{largesc}{%
+ \ifpdftex
+ \PassOptionsToPackage{largesc=true}{newtxtext}% largesc is a boolean key in newtxtext
+ \else
+ \ClassWarningNoLine{asmeconf}{largesc option is not available under luaLateX. It will be ignored}%
+ \fi
+}
+
+%% Disable newtxtext osf option, which is not appropriate for documents in this class
+\DeclareOption{osf}{%
+ \PassOptionsToPackage{lining}{newtxtext}%
+}
+
+%% option to hyphenate the inconsolata typewriter font [hyphenate] and to issue a warning when that's done.
+\DeclareOption{hyphenate}{%
+ \ifac@fontspec
+ \ClassWarningNoLine{asmeconf}{hyphenate option is not supported by fontspec, will be ignored}%
+ \else
+ \PassOptionsToPackage{hyphenate}{inconsolata}% hyphenate is a key via xkeyval in inconsolata
+ \LogNote{Allowing hyphenation of typewriter font}%
+ \fi
+}
+%% option for monospacing in inconsolata typewriter font [mono].
+\DeclareOption{mono}{%
+ \ifac@fontspec
+ \def\MonoNotMono{}%
+ \else
+ \PassOptionsToPackage{mono}{inconsolata}% mono is a key via xkeyval in inconsolata
+ \fi
+}
+%% option for unslashed zero in inconsolata typewriter font [var0].
+\DeclareOption{var0}{%
+ \ifac@fontspec
+ \def\ssztwo{+ss02}% stylistic alternate for regular zero
+ \else
+ \PassOptionsToPackage{var0}{inconsolata}% var0 is a key via xkeyval in inconsolata
+ \fi
+}
+
+\ProcessKeyvalOptions{acfonts}%
+\def\@KeyFamily{acfonts}
+\@DisableKeys{mathalfa;largesc;osf;hyphenate;mono;var0}
+
+
+%%%%%%% PDF/A Compliance Options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% new pdf management in LaTeX, with \DocumentMetaData{..}, is preferred to this approach.
+
+\newif\ifac@setpdfa\ac@setpdfafalse
+\newif\ifac@pdfaone\ac@pdfaonefalse
+
+\if@asme@pdfmanagement\else
+
+ \SetupKeyvalOptions{
+ family=pdfaopt,
+ prefix=pdafopt@,
+ setkeys=\kvsetkeys,
+ }
+ \ifpdftex %% PDF/A compliance has only been configured for pdflatex
+ %
+ %%% set key [pdfa] to activate pdf/a compliance (default is pdf/A-3u)
+ \define@key{pdfaopt}{pdf-a}[true]{%
+ \IfFormatAtLeastTF{2018/12/01}{\relax}{%
+ \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. Formats dated 2018/12/01 or later are necessary for the [pdf-a] option. Older formats may generate errors}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. Meanwhile, you can remove the [pdf-a] option and try again}%
+ }
+ \ac@setpdfatrue
+ \PassOptionsToPackage{pdfa}{hyperref}
+ \AtBeginDocument{\hypersetup{pdfapart=3,pdfaconformance=u}}% note: hyperref takes these options if hyperxmp is loaded
+ }
+ %%% to select part 1, 2 or 3
+ \define@key{pdfaopt}{pdfapart}[3]{%
+ \def\asmeconf@tempa{#1}
+ \AtBeginDocument{\hypersetup{pdfapart=\asmeconf@tempa}}
+ \ifthenelse{\equal{#1}{1}}{\ac@pdfaonetrue}{\relax}%
+ }
+ %%% to select conformance b or u. NB: a is not possible with pdfLaTeX, and u is not possible with 1.
+ \ExplSyntaxOn
+ \define@key{pdfaopt}{pdfaconformance}[u]{%
+ \str_set:Ne \l_tmp_str { \str_uppercase:n {#1} }
+ % \typeout{\l_tmp_str}
+ \AtBeginDocument{\hypersetup{pdfaconformance=\l_tmp_str}}
+ }
+ \ExplSyntaxOff
+ \else
+ \define@key{pdfaopt}{pdf-a}[true]{%
+ \ac@setpdfatrue
+ }
+ \fi
+
+ \ProcessKeyvalOptions{pdfaopt}%
+
+ %% Done with these keys, so we can now disable them
+ \def\@KeyFamily{pdfaopt}
+ \@DisableKeys{pdf-a;pdfapart;pdfaconformance}
+\fi
+
+
+%%%%%%%%%%%% PDF/A compliance related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\if@asme@pdfmanagement\else
+ \ifpdftex
+ \ifac@pdfaone
+ \pdfminorversion=4 % for pdf/a-1 need version 4, not 7
+ \else
+ \pdfminorversion=7 % this selection is not essential.
+ \fi
+ \else
+ \ifluatex
+ \ifac@setpdfa\ClassWarningNoLine{asmeconf}{pdf-a option requires pdfLaTeX engine. Under LuaLaTeX, use %
+ \protect\DocumentMetadata{pdfstandard=A-3b} before \protect\documentclass[..]{asmeconf}}%
+ \fi
+ \directlua{
+ if pdf.getminorversion() \string~= 7 then
+ if (status.pdf_gone and status.pdf_gone > 0)
+ or (status.pdf_ptr and status.pdf_ptr > 0) then
+ tex.error("PDF version cannot be changed anymore")
+ else
+ pdf.setminorversion(7)
+ end
+ end
+ }
+ \else
+ \ClassError{asmeconf}{Please use either pdfLaTeX or LuaLaTeX}{This class has NOT been configured to support other engines, and the results will be unpredictable. Exit and rerun using either pdfLaTeX or LuaLaTeX.}%
+ \fi
+ \fi
+\fi
%%%%%%%%%%%%% More Language options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -239,28 +378,32 @@
%%% option to use fontspec [fontspec] (for complex language-specific fonts)
\newif\ifac@fontspec\ac@fontspecfalse
\newif\iffontspecloaded\fontspecloadedfalse% so user can test in .tex file
-\DeclareOption{fontspec}{%
- \ifpdftex
- \ClassWarningNoLine{asmeconf}{fontspec option requires LuaLaTeX, will be ignored under pdfLaTeX}%
+
+\ifpdftex
+ \ifasmeconf@nofontspec
+ \ClassWarningNoLine{asmeconf}{The [nofontspec] option requires LuaLaTeX. It will be ignored under pdfLaTeX}%
+ \fi
+\else
+ \ifasmeconf@nofontspec
+ \ClassWarningNoLine{asmeconf}{The [nofontspec] option has been issued. LuaLaTeX will run without font support}%
\else
- \IfFormatAtLeastTF{2020/10/01}{%
- \ClassInfo{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX distributions after 2020 are needed with [fontspec] for language support}
+ \IfFormatAtLeastTF{2020/10/01}{%
\ac@fontspectrue
\fontspecloadedtrue
\def\ssztwo{}% for Inconsolatazi4; default uses slashed zero, +ss02 uses regular zero
\def\MonoNotMono{WordSpace={1,1.33,1.67}}% for Inconsolatazi4; default allows word spacing (is not mono)
- }{%
- \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX installations dated 2020/10/01 or later are needed for the [fontspec] option. Option [fontspec] will be ignored. 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/}%
- }
+ }{%
+ \ClassError{asmeconf}{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}{% mainly to control loading of fontspec options
\ifac@fontspec
\PassOptionsToPackage{japanese}{babel}%
\ac@japanesetrue
\else
- \ClassWarningNoLine{asmeconf}{japanese option is supported only with the [fontspec] option + LuaLaTeX. It will be ignored}%
+ \ClassWarningNoLine{asmeconf}{[japanese] option is supported only under LuaLaTeX with fontspec. It will be ignored}%
\fi
}
@@ -301,147 +444,11 @@
%
\DeclareOption{tamil}{\ClassError{asmeconf}{Do not specify "tamil" as a class option}{Babel does not have an ldf file for Tamil. Instead, specify "tamil" when you call the language within your document. No class option is needed.}}
-
-%%%%%%% PDF/A Compliance Options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\newif\ifac@setpdfa\ac@setpdfafalse
-\newif\ifac@pdfaone\ac@pdfaonefalse
-
-\ifpdftex %% PDF/A compliance has only been configured for pdflatex
-%
- %%% set key [pdfa] to activate pdf/a compliance (default is pdf/A-3u)
- \define@key{pdfaopt}{pdf-a}[true]{%
- \IfFormatAtLeastTF{2018/12/01}{%
- \ClassInfo{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2019 or later are necessary with the [pdf-a] option}
- }{%
- \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. Formats dated 2018/12/01 or later are necessary for the [pdf-a] option. Older formats may generate errors}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. Meanwhile, you can remove the [pdf-a] option and try again}%
- }
- \ac@setpdfatrue
-% \PassOptionsToPackage{pdfa,pdfapart=3,pdfaconformance=u}{hyperref}% note: hyperref takes these options if hyperxmp is loaded
- \PassOptionsToPackage{pdfa}{hyperref}% note: hyperref takes these options if hyperxmp is loaded
- \AtBeginDocument{\hypersetup{pdfapart=3,pdfaconformance=u}}
- }
- %%% to select part 1, 2 or 3
- \define@key{pdfaopt}{pdfapart}[3]{%
-% \PassOptionsToPackage{pdfapart=#1}{hyperref}%
- \def\asmeconf@tempa{#1}
- \AtBeginDocument{\hypersetup{pdfapart=\asmeconf@tempa}}
- \ifthenelse{\equal{#1}{1}}{\ac@pdfaonetrue}{\relax}%
- }
- %%% to select conformance b or u. NB: a is not possible with pdfLaTeX, and u is not possible with 1.
- \ExplSyntaxOn
- \define@key{pdfaopt}{pdfaconformance}[u]{%
-% \PassOptionsToPackage{pdfaconformance=#1}{hyperref}%
- \str_set:Ne \l_tmp_str { \str_uppercase:n {#1} }
-% \typeout{\l_tmp_str}
- \AtBeginDocument{\hypersetup{pdfaconformance=\l_tmp_str}}
- }
- \ExplSyntaxOff
-\else
- \define@key{pdfaopt}{pdf-a}[true]{%
- \ac@setpdfatrue
- }
-\fi
-
-\ProcessKeyvalOptions{pdfaopt}%
-
-%% Done with these keys, so we can now disable them
-\def\@KeyFamily{pdfaopt}
-\@DisableKeys{pdf-a;pdfapart;pdfaconformance}
-
-
-%%%%%%%%% Miscellaneous options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%% option to balance column height on last page [balance]
-\newif\ifac@balance\ac@balancefalse
-\DeclareOption{balance}{%
- \ac@balancetrue
- \LogNote{Loading flushend package to balance column height on last page}%
-}
-
-%%% option to obtain line numbers [lineno]
-\newif\ifac@lineno\ac@linenofalse
-\DeclareOption{lineno}{\ac@linenotrue}
-
-%% option to omit ASME footer [nofoot]
-\newif\ifac@nofoot\ac@nofootfalse
-\DeclareOption{nofoot}{\ac@nofoottrue}
-
-
-%%% option [contractor] to obtain government contractor copyright notice.
-\newif\ifac@contractor\ac@contractorfalse
-\DeclareOption{contractor}{\ac@contractortrue}
-
-%%% option [govt] to obtain government employee copyright notice.
-\newif\ifac@govt\ac@govtfalse
-\DeclareOption{govt}{\ac@govttrue}
-
-%% option to convert inline author data to a grid of authors
-\newboolean{grid}\setboolean{grid}{false}
-\DeclareOption{grid}{%
- \setboolean{grid}{true}%
- \LogNote{Selected option for a grid of author blocks}%
-}
-%% option to directly use grid of authors
-\newboolean{Oldauthors}\setboolean{Oldauthors}{false}
-\DeclareOption{authorgrid}{%
- \setboolean{Oldauthors}{true}%
- \LogNote{Selected option for a grid of author blocks}%
-}
-\DeclareOption{oldauthors}{%% deprecated, but retained for backward compatibility
- \setboolean{Oldauthors}{true}%
- \LogNote{Selected option for a grid of author blocks}%
-}
-
-%% option for slightly larger small capitals font, via newtxtext
-\DeclareOption{largesc}{%
- \ifac@fontspec
- \ClassWarningNoLine{asmeconf}{largesc option is not available under fontspec, will be ignored}%
- \else
- \PassOptionsToPackage{largesc=true}{newtxtext}% largesc is a boolean key in newtxtext
- \fi
-}
-
-%% Disable newtxtext osf option, which is not appropriate for documents in this class
-\DeclareOption{osf}{%
- \PassOptionsToPackage{lining}{newtxtext}%
-}
-
-%% option to hyphenate the typewriter font [hyphenate] and to issue a warning when that's done.
-\DeclareOption{hyphenate}{%
- \ifac@fontspec
- \ClassWarningNoLine{asmeconf}{hyphenate option is not supported by fontspec, will be ignored}%
- \else
- \PassOptionsToPackage{hyphenate}{inconsolata}% hyphenate is a key via xkeyval in inconsolata
- \LogNote{Allowing hyphenation of typewriter font}%
- \fi
-}
-%% option for monospacing in typewriter font [mono].
-\DeclareOption{mono}{%
- \ifac@fontspec
- \def\MonoNotMono{}%
- \else
- \PassOptionsToPackage{mono}{inconsolata}% mono is a key via xkeyval in inconsolata
- \fi
-}
-%% option for unslashed zero typewriter font [var0].
-\DeclareOption{var0}{%
- \ifac@fontspec
- \def\ssztwo{+ss02}% stylistic alternate for regular zero
- \else
- \PassOptionsToPackage{var0}{inconsolata}% var0 is a key via xkeyval in inconsolata
- \fi
-}
-
-\ifthenelse{\boolean{DefaultSups}}{%
- \ifac@fontspec\relax\else
- \PassOptionsToPackage{defaultsups=true}{newtxtext}% defaultsups is a boolean key in newtxtext
- \fi}{\relax}
-
%% Suppress warnings about unused global options
\DeclareOption*{}
-\ProcessOptions \relax
+\ProcessOptions \relax %% end of options section
+
%%%%%%%%%%%%% Geometry, bibliography, graphics, colors %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -452,9 +459,18 @@
\RequirePackage[sort&compress,numbers]{natbib}
\setlength\bibsep{1pt plus 1pt minus 1pt}
-\RequirePackage{graphicx} % remove obsolete options, 2023/11/19
+\RequirePackage{graphicx} % removed obsolete options, 2023/11/19
\RequirePackage[dvipsnames,svgnames,x11names]{xcolor}
+% Allow pre 2021/11/15 formats to see the graphicx alt key without causing an error, in preparation for tagged pdf
+\IfFormatAtLeastTF{2021/11/15}{
+ \relax
+}{
+ \AtBeginDocument{
+ \IfPackageLoadedTF{graphicx}{\define@key{Gin}{alt}{}}{\relax}
+ }
+}
+
%%%%%%%%%%%% Table related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{booktabs}
@@ -464,41 +480,12 @@
\newcolumntype{d}[1]{D{.}{.}{#1}}% NB: This conflicts with babel's Spanish language option which makes "." an active character.
% To use "," separator, put this command in your preamble: \newcolumntype{d}[1]{D{,}{,}{#1}}
-%%%%%%%%%%%% PDF/A compliance related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\ifpdftex % moved fontenc 2021/01/31
- \ifac@pdfaone
- \pdfminorversion=4 % for pdf/a-1 need version 4, not 7
- \else
- \pdfminorversion=7 % this selection is not essential.
- \fi
- \RequirePackage[\ac@TtwoA,\ac@LGR,\ac@Tfive,T1]{fontenc}% T2A - Cyrillic (w/o babel warning); LGR - Greek; T5 - Vietnamese; put T1 last 22/03/10
- \RequirePackage[utf8]{inputenc} % for backward compatibility with pre-2018 LaTeX distributions
-\else
- \ifluatex
- \ifac@setpdfa\ClassWarningNoLine{asmeconf}{pdf-a option requires pdfLaTeX engine. Under LuaLaTeX, use %
- \protect\DocumentMetadata{pdfstandard=A-3b} before \protect\documentclass[..]{asmeconf}}%
- \fi
- \directlua{
- if pdf.getminorversion() \string~= 7 then
- if (status.pdf_gone and status.pdf_gone > 0)
- or (status.pdf_ptr and status.pdf_ptr > 0) then
- tex.error("PDF version cannot be changed anymore")
- else
- pdf.setminorversion(7)
- end
- end
- }
- \else
- \ClassError{asmeconf}{Please use either pdfLaTeX or LuaLaTeX}{This class has NOT been configured to support other engines, and the results will be unpredictable. Your best course of action is to exit and rerun using either pdfLaTeX or LuaLaTeX.}%
- \fi
-\fi
%%%%%%%%% Caption related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Needs to come before babel messes with captions, to keep uppercase text. 2021/12/25
+%% Needs to come before babel messes with the captions, to keep uppercase text. 2021/12/25
-\ifx\AddToNoCaseChangeList\@undefined % updated July 3, see https://github.com/John02139/asmeconf/issues/5
+\ifx\AddToNoCaseChangeList\@undefined % updated 2022/07/03, see https://github.com/John02139/asmeconf/issues/5
\RequirePackage{textcase} %% Allows uppercase titles and captions without errors from math and citations
\typeout{Asmeconf is loading textcase package.}
\else
@@ -512,7 +499,7 @@
\DeclareCaptionTextFormat{boldmath}{\mathversion{sansbold}#1}
\DeclareCaptionTextFormat{sansmath}{\mathversion{sans}#1}
-\ifac@unboldcaption
+\ifasmeconf@unboldcaption
\captionsetup[figure]{labelformat=uppercase,labelfont={sf,bf,small},textfont={sf,md,small},textformat=sansmath,labelsep=colon}
\captionsetup[table]{labelformat=uppercase,labelfont={sf,bf,small},textfont={sf,md,small},textformat=sansmath,labelsep=colon,skip=0.5\baselineskip}
\else
@@ -531,8 +518,13 @@
\RequirePackage{mathtools}% loads and extends amsmath
-%\def\BabelCaseHack{} %see https://github.com/latex3/babel/issues/193; using this will affect Medieval Latin and a few other languages.
-% Babel update has corrected this issue 24 October 2022.
+\ifpdftex
+ % must load before babel
+ \RequirePackage[\ac@TtwoA,\ac@LGR,\ac@Tfive,T1]{fontenc}
+ % T2A - Cyrillic (w/o babel warning); LGR - Greek; T5 - Vietnamese; put T1 last 2022/03/10
+ \IfFormatAtLeastTF{2018/04/01}{\relax}{\RequirePackage[utf8]{inputenc}}
+\fi
+
\RequirePackage[]{babel}
\ifpdftex
@@ -931,44 +923,31 @@
BoldItalicFont = *-Bold,% has no italic face
]{NotoSansTamil}
%
- \babelprovide[import, captions/abstract = Muhtasari, language = Default]{swahili}
+ \babelprovide[import, captions/abstract = Muhtasari, language = Default]{swahili}
%
- \else % use lualatex without font support for other languages (easier set-up and still enables luacode for numerics)
- % extensive edits 2022/03/14
+ \else % use lualatex without support for system fonts (easier set-up and still enables luacode for numerics)
+ % dropped newtxtext completely, 2024/01/19
\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
+ \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
- \RequirePackage[type1text,nofontspec,helvratio=0.91]{newtxtext}% will lose some accented characters this way ... better to use fontspec
- \@ifpackagelater{newtxtext}{2022/02/28}{\relax}{%
- \ClassWarning{asmeconf}{Your copy of the newtxtext package is older than 2022/02/28, so you will see error messages about unknown options 'type1text' and 'nofontspec'. You can click through these for now, but I recommend you update your LaTeX installation for best results.}
- }
\providecommand*{\DeclareFontFamilySubstitution}[3]{\relax}% folks with old latex formats will get a different typewriter font...
\AtBeginDocument{%
\DeclareFontFamilySubstitution{T1}{\ttdefault}{zi4}
}
- \fi
+ \fi
\fi
\RequirePackage[]{mathalfa}% load optional fonts for Calligraphy, Script, Fraktur. Key format: mathalfa=cal=euler (etc.)
\RequirePackage{bm}% load after all math to give further access to bold math
-%% option not to use latex default superscripts; if fontspec loaded, use the superiors package.
-\ifthenelse{\boolean{DefaultSups}}{\relax}{%
- \ifac@fontspec
- \RequirePackage{superiors}% must come after text font is loaded
- \else
- \relax
- \fi
-}
-
-%% override \textsu if using default superiors
-\ifthenelse{\boolean{DefaultSups}}{\let\textsu\textsuperscript}{\relax}
%% Ensure that the current font is used for equation tags, not \normalfont as set by amsmath
\def\maketag@@@#1{\hbox{\m@th#1}}
@@ -1043,27 +1022,39 @@
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
-\ifac@govt
+\ifasmeconf@govt
\newgeometry{left=0.5in, right=0.5in, top=0.5in, bottom = 1.in, footskip = 0.3in, columnsep = 0.38in}
\fancyfoot[RO,RE]{}
\fancyfoot[CE,CO]{\@SetFont\thepage\\[1ex]\small This material is declared a work of the U.\ S.~Government and is not subject to copyright protection in the United States.\\Approved for public release; distribution is unlimited.}
\fi
-\ifac@contractor
+\ifasmeconf@contractor
\newgeometry{left=0.5in, right=0.5in, top=0.5in, bottom = 1.in, footskip = 0.3in, columnsep = 0.38in}
\fancyfoot[RO,RE]{}
\fancyfoot[CE,CO]{\@SetFont\thepage\\[1ex]\footnotesize The United States Government retains, and by accepting the article for publication, the publisher acknowledges that the United States Government retains, a non-exclusive, paid-up, irrevocable, worldwide license to publish or reproduce the published form of this work, or allow others to do so, for United States Government purposes.}
\fi
-\ifac@nofoot
+% was missing from earlier versions...?
+\ifasmeconf@govtsome
+ \newgeometry{left=0.5in, right=0.5in, top=0.5in, bottom = 1.in, footskip = 0.3in, columnsep = 0.38in}
+ \fancyfoot[RO,RE]{}
+ \fancyfoot[CE,CO]{\@SetFont\thepage\\[1ex]\small This work was authored in part by a U.\ S.\ Government employee in the scope of his/her employment. ASME disclaims all interest in the U.\ S.\ Government's contribution.}
+\fi
+
+\ifasmeconf@nofoot
\fancyfoot[RO,RE]{}
\fi
-%%%%%% footnotes %%%%%%%
-\RequirePackage{fnpos}
-\makeFNbottom
-\makeFNbelow
+%%%%%% Footnotes %%%%%%%
+\RequirePackage{footmisc}%
+\IfPackageAtLeastTF{footmisc}{2022/02/05}{
+ \PassOptionsToPackage{belowfloats}{footmisc}%
+ }{ \RequirePackage{fnpos}
+ \makeFNbottom
+ \makeFNbelow
+ }%
+\setlength\footnotemargin{2ex}% reduce indentation of footnotes, from footmisc
\setlength{\skip\footins}{\baselineskip}% <=== per ASME, 1 extra line
\renewcommand{\footnoterule}{%
@@ -1071,12 +1062,15 @@
\hrule width 0.5in height 0.4pt
\kern 2pt
}
+
+%% include a comma for sequential footnotes. 2024/01/18
+\ExplSyntaxOn
+ \cs_new:Npn \__asmeconf_NoteComma:n { \peek_meaning:NT \footnote { \textsuperscript{\mdseries,} } }
+ \cs_new_eq:NN \__savefootnote \footnote
+ \cs_gset_protected:Npn \footnote #1 { \__savefootnote{#1} \__asmeconf_NoteComma:n }
+\ExplSyntaxOff
-%% reduce indentation of footnotes
-\RenewDocumentCommand\@makefntext{m}{%
- \noindent\makebox[2ex][r]{\@makefnmark}#1}% <== To discourage hyphenation, do \hyphenpenalty=300\exhyphenpenalty=300 before #1
-
%%%%%%%%% Section headings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% wish to accommodate hyperref
@@ -1102,35 +1096,16 @@
\titleformat{\section}{\mathversion{sansbold}\bfseries\sffamily\raggedright}{\MakeTextUppercase{\appendixname}\ \thesection.}{0.5em}{\MakeTextUppercase}
}
-%% This patches titlesec's unprotected re-definition of \footnote. See discussion here: https://github.com/jbezos/titlesec/issues/48
+%% This patches titlesec's unprotected re-definition of \footnote.
+%% See discussion here: https://github.com/jbezos/titlesec/issues/48
%% Without this patch, recent versions of LaTeX will require \protect\footnote in section headings.
+%% This issue may be corrected in titlesec, but keeping the patch anyway.
\patchcmd{\ttl@select}{\def\footnote}{\protected\def\footnote}{\typeout{Asmeconf.sty patched titlesec to have protected def of footnote}}{}
%%%%%%%%%% Hyperref, bookmarks, and PDF/A %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\newif\if@asme@pdfmanagement% Thanks to Ulrike Fischer
-
-% New 2021/07/23, don't implement yet
-% \IfPDFManagementActiveTF{\@asme@pdfmanagementtrue}{\@asme@pdfmanagementfalse}
-
-\ExplSyntaxOn
- \IfFormatAtLeastTF{2020/02/02}{%
- \bool_if:nTF
- {
- \bool_lazy_and_p:nn
- {\cs_if_exist_p:N \pdfmanagement_if_active_p:}
- { \pdfmanagement_if_active_p: }
- }
- {
- \@asme@pdfmanagementtrue
- }
- {
- \@asme@pdfmanagementfalse
- }
- }{\@asme@pdfmanagementfalse}
-\ExplSyntaxOff
-
+%% new pdf management in LaTeX, with \DocumentMetaData{..}, is preferred to this *legacy* approach.
\ifpdftex
%%% to assist with unicode glyph mapping, following M. Sharpe's recommendation in the newtx documentation.
\IfFormatAtLeastTF{2020/10/01}{\relax}{%
@@ -1141,7 +1116,7 @@
\InputIfFileExists{glyphtounicode-ntx.tex}{}{} %% additional mappings
\ifac@setpdfa
- %%%% the pdfmanagement options are experimental, from Ulrike Fischer 2021/06/12
+ %%%% pdfmanagement options, from Ulrike Fischer 2021/06/12
\if@asme@pdfmanagement
\ClassInfo{asmeconf}{pdfmanagement is defined. Class file will not load a color profile}
\else
@@ -1163,11 +1138,9 @@
\fi
\fi
-
\RequirePackage[psdextra]{hyperref} % recent kernel transition suggests providing most hyperref options via \hypersetup,
% but setting psdextra here (for additional math support in bookmarks) 2021/12/01
\hypersetup{%
- unicode, % Unicode encoded PDF strings
pdfborder={0 0 0},%
bookmarksnumbered=true,%
bookmarksopen=true,
@@ -1191,27 +1164,29 @@
\providecommand\hrefurl[2]{\href{#1}{#2}}% to address certain issues around URL recognition with new pdf management code, 2021/12/02
-\RequirePackage{hyperxmp}% improve transfer of metadata to pdf
-
-% Patch bug in hyperxmp, unless a more recent version is used.
-\ifdefined\hyxmp@no@bad@parts% \hyxmp@no@bad@parts is not def'd in TeX Live 2019 or older
- \@ifpackagelater{hyperxmp}{2022/10/15}{% v5.11 or later
- \relax
-% \ClassInfo{asmeconf}{hyperxmp v5.11 or later is in use}
- }{%
- \newcount\hypxmp@tempcnt
- \define@key{Hyp}{pdfapart}{%
- \afterassignment\hyxmp@no@bad@parts\hypxmp@tempcnt=0#1\relax
- \hyxmp@pdfstringdef\@pdfapart{\the\hypxmp@tempcnt}%
- }
- }
+\if@asme@pdfmanagement
+ \ClassInfo{asmejour}{pdfmanagement is defined. Class file will not load hyperxmp}
\else
- \relax
+ \RequirePackage{hyperxmp}% improve transfer of metadata to pdf
+
+ % Patch bug in hyperxmp, unless a more recent version is used.
+ \ifdefined\hyxmp@no@bad@parts% \hyxmp@no@bad@parts is not def'd in TeX Live 2019 or older
+ \@ifpackagelater{hyperxmp}{2022/10/15}{% v5.11 or later
+ \relax
+ }{%
+ \newcount\hypxmp@tempcnt
+ \define@key{Hyp}{pdfapart}{%
+ \afterassignment\hyxmp@no@bad@parts\hypxmp@tempcnt=0#1\relax
+ \hyxmp@pdfstringdef\@pdfapart{\the\hypxmp@tempcnt}%
+ }
+ }
+ \else
+ \relax
+ \fi
\fi
-
%%% ==> recent and evolving development of \pdfstring removes all robust commands from bookmarks, so
-%%% the following interventions may become unnecessary over time (2021/12/01).
+%%% by early 2024, errors are not present; however, these commands serve to still suppress warnings.
%% Since \bm may be useful in headings, this fix will reduce frequency with which
%% alternate pdfstrings must be given in revised section command as \section[pdfstring]{texstring}
@@ -1219,90 +1194,86 @@
\def\bm#1#{\relax}%
}
-%% Let's disable \( and \) in pdf bookmarks, 2020/02/28
+% Let's disable \( and \) in pdf bookmarks, 2020/02/28
\pdfstringdefDisableCommands{%
\def\({\relax}%
\def\){\relax}%
}
-%% Let's also make sure \NoCaseChange in section headings won't break pdf bookmarks
+% Let's also make sure \NoCaseChange in section headings won't break pdf bookmarks
\pdfstringdefDisableCommands{%
\let\NoCaseChange\relax%
}
-%% Let's just remove citations from pdf bookmarks
+% Let's just remove citations from pdf bookmarks
\pdfstringdefDisableCommands{%
\def\cite{\@gobble}%
}
-%% Let's make sure footnotes in section headings don't break pdf bookmarks.
-\robustify{\footnote}
-% \patchcmd{\section}{\sectionmark}{\let\footnote\@gobble\sectionmark}{}{}% <== not really needed in this context, 2020/02/28
+%% Ensure that tag color does not follow \eqref into bookmarks, 2020/02/28
+\pdfstringdefDisableCommands{%
+ \def\eqref#1{(\ref{#1})}%
+}
+
+% Let's make sure footnotes in section headings don't break pdf bookmarks.
+% Revised footnote command above is already robust
\pdfstringdefDisableCommands{%
\def\footnote#1{}%
}
+
%% Let's also add \footnote to the \TextUppercase exception list, so that footnote text won't be capitalized
%% if given in section headings. Ditto for \eqref
%
-\ifx\AddToNoCaseChangeList\@undefined % updated July 3, see https://github.com/John02139/asmeconf/issues/5
+\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.}}{} %% corrected 2020/01/24
\else
\AddToNoCaseChangeList{\eqref \footnote}
\fi
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%% Create an optional argument for unnumbered sections and set pdf bookmark (thru \addcontentsline).
-%%% The optional argument will manually set the pdf bookmark for that section; can be used to avoid hyperref
-%%% errors when macros are in section titles.
-%%% There should not be errors for $, \cite, \ref, \eqref, \label, \footnote, \NoCaseChange, or \bm with current constructions.
-\let\svsection\section
-\RenewDocumentCommand{\section}{s o m}{%
- \IfBooleanTF {#1}
- {\svsection*{#3}\phantomsection%
- {\IfNoValueTF {#2}
- {\addcontentsline{toc}{section}{#3}}
- {\addcontentsline{toc}{section}{#2}}% removed trailing space 2020/02/28
- }%
- }%
- {\IfNoValueTF {#2}
- {\svsection{#3}}
- {\svsection[#2]{#3}}%
- }%
-}
-
-%%%%%%%%%%%%% Line numbering and balancing columns on last page %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%% Allow line numbering in AMS math environments.
-%%% postdisplaypenalty adjusted to avoid extra line number at end, see discussion here: https://tex.stackexchange.com/a/461192/
-%%% multline has some additional problem that puts an extra line number above it.
+%%% There should be no errors for section headings with \(, \), \cite, \ref, \eqref, \label, \footnote, \NoCaseChange, or \bm
-\NewDocumentCommand{\@losepostpenalty}{}{\patchcmd{\linenomathWithnumbers}{\advance\postdisplaypenalty\linenopenalty}{}{}{}}
-\NewDocumentCommand{\@FixAMSMath}{m}{%
- \AtBeginEnvironment{#1}{\@losepostpenalty\linenomath}%
- \AtEndEnvironment{#1}{\endlinenomath}%
- \AtBeginEnvironment{#1*}{\@losepostpenalty\linenomath}%
- \AtEndEnvironment{#1*}{\endlinenomath}%
-}
-
-\NewDocumentCommand{\@FixAll}{>{\SplitList{;}}m}{\ProcessList{#1}{\@FixAMSMath}}
+%%%%%%%%%%%%% Line numbering and balancing columns on last page %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Adjustments when lineno option is used
-\ifac@lineno%
+\ifasmeconf@lineno%
\RequirePackage[switch,mathlines]{lineno}
\renewcommand{\linenumberfont}{\normalfont\footnotesize\color{red}}
\AtBeginDocument{\linenumbers}
- \ClassWarningNoLine{asmeconf}{Package lineno loaded, so final column balancing is disabled}
- \@FixAll{align;alignat;gather;flalign;multline}
- \else
- \ifac@balance\RequirePackage{flushend}\fi % flushend is NOT compatible with lineno
+ \ifasmeconf@balance
+ \ClassWarningNoLine{asmeconf}{Package lineno loaded, so final column balancing will be disabled}%
+ \fi
+ %%% Patch to allow line numbering in AMS math environments.
+ %%% This patch is for lineno versions earlier than v5.2 [2023/05/19]. As of mid-2023, the lineno package
+ %%% has been corrected to account for the AMS math environments. Retaining temporarily for backward compatibility.
+ %%% postdisplaypenalty adjusted to avoid extra line number at end, see: https://tex.stackexchange.com/a/461192/
+ %%% multline has some additional problem that puts an extra line number above it.
+ \IfPackageAtLeastTF{lineno}{2023/05/19}{\relax}{
+ \NewDocumentCommand{\ac@losepostpenalty}{}{\patchcmd{\linenomathWithnumbers}{\advance\postdisplaypenalty\linenopenalty}{}{}{}}
+ %
+ \NewDocumentCommand{\ac@FixAMSMath}{m}{%
+ \AtBeginEnvironment{#1}{\ac@losepostpenalty\linenomath}%
+ \AtEndEnvironment{#1}{\endlinenomath}%
+ \AtBeginEnvironment{#1*}{\ac@losepostpenalty\linenomath}%
+ \AtEndEnvironment{#1*}{\endlinenomath}%
+ }
+ %
+ \NewDocumentCommand{\ac@FixAll}{>{\SplitList{;}}m}{\ProcessList{#1}{\ac@FixAMSMath}}
+ %
+ \ac@FixAll{align;alignat;gather;flalign;multline}
+ }
+\else
+ \ProvideDocumentEnvironment{linenomath}{}{}{}%
+ \ifasmeconf@balance
+ \RequirePackage{flushend}% flushend package is NOT compatible with lineno
+ \AtEndDocument{\flushcolsend}%
+ \LogNote{Calling flushend package to balance column height on last page}%
+ \fi%
\fi
-%%% Enable dropping lineno option without trashing .aux file
-\providecommand{\@LN@col}[1]{\relax}
+\providecommand{\@LN@col}[1]{\relax}% Enable dropping lineno option without trashing .aux file
\providecommand{\@LN}[2]{\relax}
@@ -1345,39 +1316,22 @@
\newlength\nomenwidth
\newlength\savitemsep
-%% ==> xparse "g" argument used in this version of \entry is deprecated; so have phased out this version, 2021/12/01
-%% If second argument of \entry is omitted, will produce an italicized heading (e.g. "Greek letters")
-%\NewDocumentCommand\entry{m g}{%
-% \IfNoValueTF{#2}{%
-% \itemsep3\p@ plus 1\p@ minus 1\p@%
-% \goodbreak\item[\itshape#1\hfill]\setlength\itemsep\savitemsep\@itempenalty=1000%
-% }{%
-% \item[#1\hfill]#2%
-% \@itempenalty=-\@lowpenalty%
-% }%
-%}
-
-\NewDocumentCommand\entry{m m}{%
- \ifblank{#2}{%
- \ClassWarningNoLine{asmeconf}{The command \protect\entry requires two arguments. To obtain a subheading, use \protect\EntryHeading}
- \itemsep3\p@ plus 1\p@ minus 1\p@%
- \goodbreak\item[\itshape#1\hfill]\setlength\itemsep\savitemsep\@itempenalty=1000%
- }{%
+\NewDocumentCommand\entry{m m}{% simplified greatly 2024/01/18
\item[#1\hfill]#2%
- \@itempenalty=-\@lowpenalty%
- }%
+ \@itempenalty=-\@lowpenalty
}
%% A separate command command for nomenclature subheadings
\NewDocumentCommand\EntryHeading{m}{%
- \itemsep3\p@ plus 1\p@ minus 1\p@%
- \goodbreak\item[\itshape#1\hfill]\mbox{}\setlength\itemsep\savitemsep\@itempenalty=1000%
+ \itemsep3\p@ plus 1\p@ minus 1\p@
+ \goodbreak\item[\itshape#1\hfill]\mbox{}%
+ \setlength{\itemsep}{\savitemsep}\@itempenalty=1000
}
%% Increase first optional argument to a dimension > 2em if wide entries cause undesired misalignment of columns.
%% Second optional argument can be used to rename the environment, e.g., to List of Symbols.
\NewDocumentEnvironment{nomenclature}{O{2em} O{\nomname}}{%
- \setlength\columnsep{2em}
+ \setlength{\columnsep}{2em}
\setlength{\nomenwidth}{#1}
\section*{#2}
\raggedright
@@ -1388,7 +1342,7 @@
\setlength{\labelwidth}{\nomenwidth}%
\setlength{\leftmargin}{\labelwidth}%
\addtolength{\leftmargin}{\labelsep}%
- \setlength\savitemsep\itemsep%
+ \setlength{\savitemsep}{\itemsep}%
}%
}{\end{list}\ignorespacesafterend}
@@ -1407,40 +1361,35 @@
\NewDocumentCommand\ConfCity{m}{\gdef\@ConfCity{#1}}
\providecommand\@ConfCity{\hbox{ }}
-\NewDocumentCommand\HeaderConfName{}{%
+\NewDocumentCommand\PaperNo{m}{\gdef\@PaperNo{#1}}
+\providecommand\@PaperNo{\protect\phantom{NO.}}
+
+\NewDocumentCommand\PaperTitle{m}{\gdef\@PaperTitle{#1}}
+\providecommand\@PaperTitle{\hbox{ }}
+
+\NewDocumentCommand\@HeaderTitle{}{%
+ {\bfseries\sffamily
\parbox{\linewidth}{%
- \raggedleft\bfseries\sffamily%
+ \raggedleft
\@ConfName\par%
\MakeTextUppercase{\@ConfAcronym}\par
- \@ConfDate\@ConfCity%
+ \@ConfDate\@ConfCity
}%
-}
-
-\NewDocumentCommand\PaperNo{m}{\gdef\@PaperNo{#1}}
-\providecommand\@PaperNo{\protect\phantom{NO.}}
-
-\NewDocumentCommand\paperno{}{%
\vspace*{2\baselineskip}
- \parbox{\linewidth}{\raggedleft\bfseries\sffamily\LARGE%
+ \parbox{\linewidth}{\raggedleft\LARGE
\MakeTextUppercase{\@PaperNo}%
}%
-}
-
-\NewDocumentCommand\PaperTitle{m}{\gdef\@PaperTitle{#1}}
-\providecommand\@PaperTitle{\hbox{ }}
-
-\NewDocumentCommand\papertitle{}{%
-\vspace*{3\baselineskip}
-\parbox{\linewidth}{\mathversion{sansbold}\centering{\bfseries\sffamily\large%
-\MakeTextUppercase{\@PaperTitle}\par}%%% <=== extra \par to make font leading stick. See adjustment in \MakeTitle
- }%
+ \vspace*{3\baselineskip}
+ \parbox{\linewidth}{\mathversion{sansbold}\centering{\large
+ \MakeTextUppercase{\@PaperTitle}\par}}%%% <=== extra \par to make font leading stick. See adjustment in \MakeTitle
+ }%
}
%%%%%%%%%%% Author and affiliation block %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{xcoffins}
-%% To maintain compatibility with newtxtext superiors option, if used, save the definition (inline author style resets it)
+%% Inline author style resets the footnote mark; save the definitions so we can restore them later
\let\savethefootnote\thefootnote
\let\savemakefnmark\@makefnmark
@@ -1466,9 +1415,11 @@
}%
}
+
%%%% option to use the traditional grid layout of authors or the inline style
-\ifthenelse{\boolean{grid}\or\boolean{Oldauthors}}{% This command works better than \if... in this context.
+\ifasmeconf@grid
+ \LogNote{Selected option for a grid of author blocks}%
%%%%%%%%%%%%%%%%%%%% Gridded author layout %%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1495,122 +1446,51 @@
\newlength{\coffinsep}% horizontal space between coffins
\setlength{\coffinsep}{0.03\textwidth}
- \ifthenelse{\boolean{grid}}{%
- \newcounter{authorcnt}
- \setcounter{authorcnt}{0}
+ \newcounter{authorcnt}
+ \setcounter{authorcnt}{0}
+
+ \NewDocumentCommand\SetAffiliation{mm}{\expandafter\xdef\csname af@#1\endcsname{#2}}% defines \af@#1 as Affiliation #2
+
+ \AtBeginDocument{% error control, when no author or empty \affil is given
+ \SetAffiliation{-1}{Missing author name!\\Or extra comma!}
+ \SetAffiliation{99}{Missing affiliation tag!!}
+ \SetAffiliation{100}{Missing number in affiliation!!}
+ }
+
+ \NewDocumentCommand\SetAuthors{>{\SplitList{,}}m}{\ProcessList{#1}{\@TagAutAff}}
- \NewDocumentCommand\SetAffiliation{mm}{\expandafter\xdef\csname af@#1\endcsname{#2}}% defines \af@#1 as Affiliation #2
-
- \AtBeginDocument{% error control, when no author or empty \affil is given
- \SetAffiliation{-1}{Missing author name!\\Or extra comma!}
- \SetAffiliation{99}{Missing affiliation tag!!}
- \SetAffiliation{100}{Missing number in affiliation!!}
- }
-
- \NewDocumentCommand\SetAuthors{>{\SplitList{,}}m}{\ProcessList{#1}{\@TagAutAff}}
-
- \NewDocumentCommand\@AuthNo{m}{%
- \ifblank{#1}{%
- \expandafter\xdef\csname aut@\theauthorcnt\endcsname{}%
- \expandafter\xdef\csname autaffil@\theauthorcnt\endcsname{-1}
- \ClassWarning{asmeconf}{Missing author name, check for extra comma}%
- }{\expandafter\xdef\csname aut@\theauthorcnt\endcsname{#1}%
- }%
- }% defines \aut@authorcnt as Name #1
-
- \NewExpandableDocumentCommand\affil{m}{%
- \ifblank{#1}{%
- \expandafter\xdef\csname autaffil@\theauthorcnt\endcsname{100}%
- }{\expandafter\xdef\csname autaffil@\theauthorcnt\endcsname{#1}%
- }%
- }% defines \autaffil@authorcnt as #1 (unique association)
-
- \NewDocumentCommand\@TagAutAff{m}{%
- \addtocounter{authorcnt}{1}%
- \@AuthNo{#1}%
- }
- \NewDocumentCommand\@SetAuthorBlock{}{%
- \whiledo{\value{authorno}<\value{authorcnt}}{% starting with authorno = 0 ensures we reach authorcnt with +1
- \addtocounter{authorno}{1}%
- \SetVerticalCoffin{\authorblock}{0.3\textwidth}{%
- \centering\sffamily%
- \textbf{\ignorespaces\csname aut@\theauthorno\endcsname\ignorespaces}\\
+ \NewDocumentCommand\@AuthNo{m}{%
+ \ifblank{#1}{%
+ \expandafter\xdef\csname aut@\theauthorcnt\endcsname{}%
+ \expandafter\xdef\csname autaffil@\theauthorcnt\endcsname{-1}
+ \ClassWarning{asmeconf}{Missing author name, check for extra comma}%
+ }{\expandafter\xdef\csname aut@\theauthorcnt\endcsname{#1}%
+ }%
+ }% defines \aut@authorcnt as Name #1
+
+ \NewExpandableDocumentCommand\affil{m}{%
+ \ifblank{#1}{%
+ \expandafter\xdef\csname autaffil@\theauthorcnt\endcsname{100}%
+ }{\expandafter\xdef\csname autaffil@\theauthorcnt\endcsname{#1}%
+ }%
+ }% defines \autaffil@authorcnt as #1 (unique association)
+
+ \NewDocumentCommand\@TagAutAff{m}{%
+ \addtocounter{authorcnt}{1}%
+ \@AuthNo{#1}%
+ }
+ \NewDocumentCommand\@SetAuthorBlock{}{%
+ \whiledo{\value{authorno}<\value{authorcnt}}{% starting with authorno = 0 ensures we reach authorcnt with +1
+ \addtocounter{authorno}{1}%
+ \SetVerticalCoffin{\authorblock}{0.3\textwidth}{%
+ \centering\sffamily%
+ \textbf{\ignorespaces\csname aut@\theauthorno\endcsname\ignorespaces}\\
\ifcsname autaffil@\theauthorno\endcsname% in case the \affil command has been omitted
- \csname af@\csname autaffil@\theauthorno\endcsname\endcsname
+ \csname af@\csname autaffil@\theauthorno\endcsname\endcsname
\else
\csname af@99\endcsname
\fi
- \par}
- \ifnum\value{authorno}=1
- \JoinCoffins\firstrowauthorblock[r,t]\authorblock[l,t]
- \else
- \ifnum\value{authorno}=2
- \JoinCoffins\firstrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
- \else
- \ifnum\value{authorno}=3
- \JoinCoffins\firstrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
- \fi
- \fi
- \fi
- \ifnum\value{authorno}=4
- \JoinCoffins\secondrowauthorblock[r,t]\authorblock[l,t]
- \else
- \ifnum\value{authorno}=5
- \JoinCoffins\secondrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
- \else
- \ifnum\value{authorno}=6
- \JoinCoffins\secondrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
- \fi
- \fi
- \fi
- \ifnum\value{authorno}=7
- \JoinCoffins\thirdrowauthorblock[r,t]\authorblock[l,t]
- \else
- \ifnum\value{authorno}=8
- \JoinCoffins\thirdrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
- \else
- \ifnum\value{authorno}=9
- \JoinCoffins\thirdrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
- \fi
- \fi
- \fi
- \ifnum\value{authorno}=10
- \JoinCoffins\fourthrowauthorblock[r,t]\authorblock[l,t]
- \else
- \ifnum\value{authorno}=11
- \JoinCoffins\fourthrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
- \else
- \ifnum\value{authorno}=12
- \JoinCoffins\fourthrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
- \fi
- \fi
- \fi
- \ifnum\value{authorno}=13
- \JoinCoffins\fifthrowauthorblock[r,t]\authorblock[l,t]
- \else
- \ifnum\value{authorno}=14
- \JoinCoffins\fifthrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
- \else
- \ifnum\value{authorno}=15
- \JoinCoffins\fifthrowauthorblock[r,t]\authorblock[l,t](\coffinsep,0pt)
- \fi
- \fi
- \fi
- \ifnum\value{authorno}>15
- \ClassWarningNoLine{asmeconf}{The class is programmed for up to 15 author blocks. If some of your authors are at the same institution, %
- you may put more than one name above a single address. If you need more than 15 author blocks, try using the in-line author style %
- instead of the [grid] option}
- \fi
- }% end whiledo
- }
- }{% end ifthen for grid, now do else for Oldauthors
- \NewDocumentCommand\SetAuthorBlock{mm}{%
- \addtocounter{authorno}{1}%
- \SetVerticalCoffin{\authorblock}{0.3\textwidth}{%
- \centering\sffamily%
- \textbf{\ignorespaces#1\ignorespaces}\\
- #2%
- }
+ \par}
\ifnum\value{authorno}=1
\JoinCoffins\firstrowauthorblock[r,t]\authorblock[l,t]
\else
@@ -1669,56 +1549,11 @@
\ifnum\value{authorno}>15
\ClassWarningNoLine{asmeconf}{The class is programmed for up to 15 author blocks. If some of your authors are at the same institution, %
you may put more than one name above a single address. If you need more than 15 author blocks, try using the in-line author style %
- instead of the [authorgrid] option}
+ instead of the [grid] option}
\fi
- }
-
- % Changed to follow syntax of the inline style, which is much easier to use! 2020/12/29
- % % allow for NO email address to be given by omitting second argument
- % \NewDocumentCommand{\CorrespondingAuthor}{m g}{%
- % \global\ac@CAtrue%
- % \IfNoValueTF{#2}{%
- % \gdef\@CAsep{\relax}%
- % \gdef\@CAemail{\relax}%
- % }{%
- % \gdef\@CAsep{:\space}%
- % \gdef\@CAemail{#2}%
- % }%
- % \ignorespaces#1\ignorespaces$\bm{^\ast}$%\footnotemark[1]%
- % }
-
- %%% to deal with sequential notes as, e.g., "1,*", or "1,2,*" %%%%%%%%%%
- % bug fixed 2020/12/29
- \newcommand\nextToken\relax
-
- \newcommand\isOthernote{%
- \ifx\CorrespondingAuthor\nextToken\textsuperscript{\sffamily\bfseries,}%
- \else%
- \ifx\JointFirstAuthor\nextToken\textsuperscript{\sffamily\bfseries,}%
- \fi%
- \fi%
- \ignorespaces%
- }
-
- \let\oldCorrespondingAuthor\CorrespondingAuthor
- \renewcommand\CorrespondingAuthor[1]{%
- \oldCorrespondingAuthor{#1}\futurelet\nextToken\isOthernote}
-
- \let\oldJointFirstAuthor\JointFirstAuthor
- \renewcommand\JointFirstAuthor{%
- \oldJointFirstAuthor\futurelet\nextToken\isOthernote}
-
- \let\oldfootnote\footnote
- \renewcommand\footnote[1]{%
- \oldfootnote{#1}\futurelet\nextToken\isOtherfnote}
-
- \newcommand\isOtherfnote{%
- \ifx\footnote\nextToken\textsu{\mdseries,}%
- \fi%
- }
- }%end ifthenelse
-
- \NewDocumentCommand\ConstructAuthorBlock{}{%
+ }% end whiledo
+ }
+ \NewDocumentCommand\@ConstructAuthorBlock{}{%
\ifnum\value{authorno}>3
\JoinCoffins\firstrowauthorblock[hc,b]\secondrowauthorblock[hc,t](0pt, -1.5\baselineskip)
\fi
@@ -1734,7 +1569,7 @@
\centerline{\TypesetCoffin\firstrowauthorblock}%% in this instance, \centerline is better than \centering
}
%%% otherwise use the new compact layout of authors
-}{% i.e., this begins "else"
+\else
%%%%%%%%%%%%%%%%%%%%%% New author layout (inline) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NewCoffin{\AuthorBlock}
@@ -1769,47 +1604,29 @@
}
%%% to deal with sequential notes as, e.g., "1,*", or "1,2,*" %%%%%%%%%%
- \let\oldaffil\affil
- \newcommand\nextToken\relax
-
- \renewcommand\affil[1]{%
- \oldaffil{#1}\futurelet\nextToken\isOthernote}
-
- \newcommand\isOthernote{%
- \ifx\CorrespondingAuthor\nextToken\textsuperscript{\sffamily\bfseries,}%
- \else%
- \ifx\JointFirstAuthor\nextToken\textsuperscript{\sffamily\bfseries,}%
- \else
- \ifx\affil\nextToken\textsuperscript{\sffamily\bfseries,}%
- \fi%
- \fi%
- \fi%
- \ignorespaces%
- }
-
- \let\oldCorrespondingAuthor\CorrespondingAuthor
- \renewcommand\CorrespondingAuthor[1]{%
- \oldCorrespondingAuthor{#1}\futurelet\nextToken\isOthernote}
-
- \let\oldJointFirstAuthor\JointFirstAuthor
- \renewcommand\JointFirstAuthor{%
- \oldJointFirstAuthor\futurelet\nextToken\isOthernote}
-
- \let\oldfootnote\footnote
- \renewcommand\footnote[1]{%
- \oldfootnote{#1}\futurelet\nextToken\isOtherfnote}
-
- \newcommand\isOtherfnote{%
- \ifx\footnote\nextToken\textsu{\mdseries,}%
- \fi%
- }
+ \ExplSyntaxOn
+ \cs_new:Npn \__asmecome_OtherNoteComma:n {
+ \peek_meaning:NTF \affil
+ { \textsuperscript{\mdseries,} }
+ { \peek_meaning:NTF \CorrespondingAuthor
+ { \textsuperscript{\mdseries,} }
+ { \peek_meaning:NT \JointFirstAuthor { \textsuperscript{\mdseries,} } }
+ }
+ }
+ \cs_new_eq:NN \__saveAF \affil
+ \cs_gset_protected:Npn \affil #1 { \__saveAF{#1} \__asmecome_OtherNoteComma:n }
+ \cs_new_eq:NN \__saveCA \CorrespondingAuthor
+ \cs_gset_protected:Npn \CorrespondingAuthor #1 { \__saveCA{#1} \__asmecome_OtherNoteComma:n }
+ \cs_new_eq:NN \__saveJA \JointFirstAuthor
+ \cs_gset_protected:Npn \JointFirstAuthor { \__saveJA \__asmecome_OtherNoteComma:n }
+ \ExplSyntaxOff
+
%%%
- \NewDocumentCommand\SetAuthorBlock{}{%
- \let\savethefootnote\thefootnote
+ \NewDocumentCommand\@SetAuthorBlock{}{%
\JoinCoffins\AuthorBlock[hc,b]\AffiliationsBlock[hc,t](0pt,-\baselineskip)
\centerline{\TypesetCoffin\AuthorBlock}
}
-} %% end ifthenelse for Oldauthors
+\fi % end if...else for grid
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1817,31 +1634,25 @@
\NewDocumentCommand\MakeTitlePage{}{%
\twocolumn[
\begin{@twocolumnfalse}
- \HeaderConfName
- \paperno
- \papertitle
+ \@HeaderTitle
\vspace*{2\baselineskip}
- \ifthenelse{\boolean{Oldauthors}}{%
- \ConstructAuthorBlock}{%
- \ifthenelse{\boolean{grid}}{%
- \@SetAuthorBlock\ConstructAuthorBlock}{%
- \SetAuthorBlock}}
+ \ifasmeconf@grid
+ \@SetAuthorBlock\@ConstructAuthorBlock
+ \else
+ \@SetAuthorBlock
+ \fi
\vspace*{3\baselineskip}
\end{@twocolumnfalse}
]
- \let\@makefnmark\savemakefnmark
+ \let\@makefnmark\savemakefnmark% restore footnote mark font
\renewcommand*{\thefootnote}{\fnsymbol{footnote}}
\ifac@JA
- \ifDefaultSups\relax\else\ifac@fontspec\def\f@@tn@te{blub}\fi\fi% https://tex.stackexchange.com/a/565263/46356
\footnotetext[2]{\JAwords}
\fi
\ifac@CA
\footnotetext[1]{\CAwords\@CAsep\@CAemail}
\fi
- \ifDefaultSups\relax\else
- \ifac@fontspec\def\f@@tn@te{footnote}\fi
- \fi
- \let\thefootnote\savethefootnote
+ \let\thefootnote\savethefootnote% restore footnote symbol
}
%%%%%%%%%%
@@ -1852,10 +1663,10 @@
\RenewDocumentCommand{\thanks}{m}{\relax}% disabling this standard command (inconsistent with this format)
-%% Produces an unmarked footnote about the version date, to replace "date"
+%% \versionfootnote produces an unmarked footnote about the version date, to replace "date"
%% This tool is for editing and should not be used in the final draft
-%% This version provides working hyperlink, but throws warning; also, \gdef -->\def. 2021/12/09
+%% This form provides working hyperlink, but it throws warning; also, \gdef -->\def. 2021/12/09
%\NewDocumentCommand\versionfootnote{m}{\def\@thefnmark{}\@footnotetext{#1}}
%% A hyperlink in this footnote will not function, since NoHyper is used to suppress 'missing anchor' warning
@@ -1955,7 +1766,8 @@
%%%%%%%%%%%%%%%%%% Times-like fonts for specific languages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ifpdftex % Under lualatex, babel has problems with the following approach. Use [fontspec] option instead.
+\ifpdftex % Under lualatex, babel has problems with the following approach, which assumes that fontspec has not been loaded.
+ % Recommend not to choose the [nofontspec] option.
% Several modifications made in response to newtx v1.71, 2022/03/14
\ifac@vietnamese
%
@@ -1968,7 +1780,6 @@
\DeclareFontFamilySubstitution{T5}{\rmdefault}{qtm} % new in 02/20/2020 format of LaTeX! Need to test.
\DeclareFontFamilySubstitution{T5}{\ttdefault}{qcr}
}
- % 2021/12/24 removed substitute font package
% Vietnamese is in T5 encoding, can use Tex Gyre Termes font (qtm);
% qhv = Heros (helvetica). We get the right font w/o loading this.
% qcr = Cursor (monospaced) is poor match to inconsolata; qhv (the sf font) matches better, but isn't monospaced.
diff --git a/macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.tex b/macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.tex
index 242e35ce91..b041b0f0ff 100644
--- a/macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.tex
+++ b/macros/latex/contrib/asmeconf/examples/asmeconf-fontspec.tex
@@ -13,12 +13,12 @@
%%
%% LICENSE:
%%
-%% Copyright (c) 2021 John H. Lienhard
+%% Copyright (c) 2024 John H. Lienhard
%% Offered under the MIT license: https://ctan.org/license/mit
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\documentclass[colorlinks,nofoot,fontspec,spanish,japanese,russian,greek,ukrainian,vietnamese,french,portuguese,turkish,polish,indonesian,italian,german,latin,serbianc,bidi=basic]{asmeconf}
+\documentclass[colorlinks,nofoot,spanish,japanese,russian,greek,ukrainian,vietnamese,french,portuguese,turkish,polish,indonesian,italian,german,latin,serbianc,bidi=basic]{asmeconf}
% note that not all languages given as examples in this file can be called as options.
\hypersetup{%
diff --git a/macros/latex/contrib/asmeconf/examples/asmeconf-lualatex-ode-example.tex b/macros/latex/contrib/asmeconf/examples/asmeconf-lualatex-ode-example.tex
index 7857276b96..f3b2ec55a9 100644
--- a/macros/latex/contrib/asmeconf/examples/asmeconf-lualatex-ode-example.tex
+++ b/macros/latex/contrib/asmeconf/examples/asmeconf-lualatex-ode-example.tex
@@ -4,21 +4,25 @@
%%
%% This file is an example of using asmeconf with lualatex to solve and plot an ode in a landscape figure.
%%
+%% Use of an up-to-date LaTeX distribution (after 2020) is strongly recommended.
+%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
%% Massachusetts Institute of Technology
%% Cambridge, MA 02139-4307 USA
%%
+%% Version 1.01, 6 February 2024
+%%
%=========================================================
%%
%% LICENSE:
%%
-%% Copyright (c) 2021 John H. Lienhard
+%% Copyright (c) 2024 John H. Lienhard
%% Offered under the MIT license: https://ctan.org/license/mit
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\documentclass[grid,colorlinks,nofoot]{asmeconf}
+\documentclass[nofontspec,grid,colorlinks,nofoot]{asmeconf}
\hypersetup{%
pdftitle={Example of asmconf with LuaLaTeX to solve an ODE},
@@ -27,7 +31,7 @@
}
\usepackage[figuresright]{rotating}% to use a landscape figure
-
+\usepackage{luacode}% for compatibility with older installations
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Now use lua code
@@ -156,11 +160,11 @@ end
\title{Example of \NoCaseChange{{\upshape\hologo{LuaLaTeX}}} with asmeconf.cls for ODE Integration}
\SetAuthors{John H.\ Lienhard V\affil{1}\CorrespondingAuthor{lienhard@mit.edu}}
-\SetAffiliation{1}{Department of Mechanical Engineering, Massachusetts Institute of Technology, Cambridge, MA}
+\SetAffiliation{1}{Department of Mechanical Engineering \\ Massachusetts Institute of Technology \\ Cambridge, MA}
\maketitle
-\versionfootnote{Version~1.01, \today}
+\versionfootnote{Version~1.02, \today}
\keywords{asmeconf, \hologo{LuaLaTeX}, ODE, pgfplots, landscape}
@@ -226,7 +230,7 @@ Landscape figures may be produced at full-page size by putting \verb|\usepackage
\addlegendentry[fill=white]{$\mathsf{A = 1}$}
\end{axis}
\end{tikzpicture}
-\caption{\MakeUppercase{A trial of pgfplot with Luacode Runge-Kutta integration}\label{fig:1}}
+\caption{\MakeUppercase{A trial of pgfplot with Luacode Runge-Kutta integration}}\label{fig:1}
\end{sidewaysfigure*}
diff --git a/macros/latex/contrib/asmeconf/examples/asmeconf-wide-equation-example/asmeconf-template-widetext.pdf b/macros/latex/contrib/asmeconf/examples/asmeconf-wide-equation-example/asmeconf-template-widetext.pdf
index de1e14c24a..cf119cdbde 100644
--- a/macros/latex/contrib/asmeconf/examples/asmeconf-wide-equation-example/asmeconf-template-widetext.pdf
+++ b/macros/latex/contrib/asmeconf/examples/asmeconf-wide-equation-example/asmeconf-template-widetext.pdf
Binary files differ
diff --git a/macros/latex/contrib/asmeconf/examples/asmeconf-wide-equation-example/asmeconf-template-widetext.tex b/macros/latex/contrib/asmeconf/examples/asmeconf-wide-equation-example/asmeconf-template-widetext.tex
index a0f58488e4..2456b0266d 100644
--- a/macros/latex/contrib/asmeconf/examples/asmeconf-wide-equation-example/asmeconf-template-widetext.tex
+++ b/macros/latex/contrib/asmeconf/examples/asmeconf-wide-equation-example/asmeconf-template-widetext.tex
@@ -7,8 +7,6 @@
%% * \begin{widetext[N] .. changes upper/lower separation of wide material from default 5pt to Npt
%% * \begin{widetext}[][tbn]: t = top line only; b = bottom line only; n = no lines. BOTH arguments are REQUIRED, even if first is left empty.
%%
-%% asmewide,sty supports one option, [raggedend], which suppresses final page column balancing: \usepackage[raggedend]{asmewide}
-%%
%% The widetext environment can only appear once per page. It clashes with floats and footnotes, as discussed herein.
%%
%% NB: the strip environment from cuted is incompatible with the [lineno] option to asmeconf!
@@ -16,7 +14,7 @@
\documentclass[nofoot,colorlinks,balance,pdf-acolorlinks,balance,pdf-a]{asmeconf}
\def\ACwidetextversion{1.1}
-\def\ACwidetextdate{September 14, 2022}
+\def\ACwidetextdate{February 15, 2022}
\usepackage{lipsum}% Latin filler text
\usepackage{asmewide}
@@ -116,7 +114,7 @@ to be read---the rest is simply filler to aid in layout.}
\centering{\includegraphics{tesseral-harmonic.pdf}}%
\subcaption{\label{fig:tesseral}}%
\end{subfigure}%
-\caption{A figure with two subfigures: (a) Zonal harmonic $n=1, m=0$, (b) Tesseral harmonic $n=2, m=3$. See Appendix~\ref{sec:sph-har}.}\label{fig:1}
+\caption{A figure with two subfigures: (a) Zonal harmonic $n=1, m=0$, (b) Tesseral harmonic $n=2, m=3$. See Appendix~\ref{sec:sph-har}.\label{fig:1}}
\end{figure*}
%%%%%%%%%%%%%%%%%%% end two column figure %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -267,7 +265,7 @@ until both are done\footnotemark. The single column table, Table~\ref{tab:3}, is
%%%%%%%%%%%%%%%%%%% begin linewidth table %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{table}[b]
\newcolumntype{C}{>{$}c<{$}} % math-mode version of "c" column type, from array package
-\caption{Table at full column width with columns in math mode}\label{tab:3}
+\caption{\label{tab:3}Table at full column width with columns in math mode}
\centering{%
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}CCCC@{\extracolsep{\fill}}}
\hline\hline
@@ -322,7 +320,7 @@ q_\textrm{gray} & q_\textrm{int, $T_1$} & q_\textrm{int, $T_m$} & q_\textrm{exa
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\appendix
-\section{Spherical harmonics}\label{sec:sph-har}
+\section{Spherical harmonics\label{sec:sph-har}}
Without getting into the details, a regular function $f(\theta,\phi)$ on the surface of the unit sphere may be written
\begin{equation}
diff --git a/macros/latex/contrib/asmeconf/sample-figure-1.pdf b/macros/latex/contrib/asmeconf/sample-figure-1.pdf
index f035e74421..0f7810975d 100644
--- a/macros/latex/contrib/asmeconf/sample-figure-1.pdf
+++ b/macros/latex/contrib/asmeconf/sample-figure-1.pdf
Binary files differ
diff --git a/macros/latex/contrib/asmeconf/sample-figure-2a.pdf b/macros/latex/contrib/asmeconf/sample-figure-2a.pdf
index d46a00a427..063c4f3823 100644
--- a/macros/latex/contrib/asmeconf/sample-figure-2a.pdf
+++ b/macros/latex/contrib/asmeconf/sample-figure-2a.pdf
Binary files differ
diff --git a/macros/latex/contrib/asmeconf/sample-figure-2b.pdf b/macros/latex/contrib/asmeconf/sample-figure-2b.pdf
index 7b438b1392..fdbcdbd358 100644
--- a/macros/latex/contrib/asmeconf/sample-figure-2b.pdf
+++ b/macros/latex/contrib/asmeconf/sample-figure-2b.pdf
Binary files differ
diff --git a/macros/latex/contrib/asmejour/README.md b/macros/latex/contrib/asmejour/README.md
index 0eaee7aa06..69fe1e00fc 100644
--- a/macros/latex/contrib/asmejour/README.md
+++ b/macros/latex/contrib/asmejour/README.md
@@ -1,11 +1,11 @@
#asmejour: A template for ASME journal papers#
- Version 1.21 dated 2023/10/22.
+ Version 1.22 dated 2024/02/06.
####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 2022.
+ The layout and reference formats follow the style of published papers in 2023.
This work is not a publication of ASME.
@@ -21,7 +21,7 @@
sample-figure-1.pdf,
sample-figure-2a.pdf,
sample-figure-2b.pdf -- figures for the example template
- /asmewide_example -- directory includes asmewide.sty and examples of wide equations```
+ /asmewide_example -- directory includes asmewide.sty and examples of wide equations```
The .tex and .cls files are commented and should be self-explanatory.
@@ -66,6 +66,14 @@
---
####Change log####
+
+v1.22 (2024/02/06)
+ - The newtx package has dropped superiors option, so asmejour has dropped the \[superiors\] option and related code.
+ - Dropped legacy options \[lang, lang-second, lang-third\]
+ - Remove several other blocks of legacy code
+ - Refresh sample figures
+ - Edits to asmejour.bst: fix punctuation and spacing in journal title macros
+ - Edit asmejour-sample.bib
v1.21 (2023/10/22)
- Adjust loading order of hyperxmp and hyperref to accommodate v5.12 of hyperxmp package
diff --git a/macros/latex/contrib/asmejour/asmejour-sample.bib b/macros/latex/contrib/asmejour/asmejour-sample.bib
index 7a029f0e88..3b715d3d05 100644
--- a/macros/latex/contrib/asmejour/asmejour-sample.bib
+++ b/macros/latex/contrib/asmejour/asmejour-sample.bib
@@ -1,6 +1,6 @@
%% Sample bibliography file for asmejour.bst and asmejour.cls
%%
-%% Revised: 30 December 2022
+%% Revised: 06 February 2024
%% Copyright John H. Lienhard, MIT
%% Offered under the MIT license: https://ctan.org/license/mit
@@ -148,30 +148,31 @@
urldate = {Dec. 22, 2021},
}
-@article{Lienhard2019b,
- title = {Exterior Shape Factors from Interior Shape Factors},
- year = {2019},
- journal = jht,
- doi = {10.1115/1.4042912},
- author = {Lienhard, V, John H.},
- eid = {061301},
- volume = {141},
- number = {6},
-}
-%% note use of: eid in place of pages, and use of jht macro for the journal name
-
-@article{lienhard2023,
- author = {Lienhard, V, John H.},
- title = {Steady Two-Dimensional Conduction: Simple and Double Layer Potentials, Corner Singularities, and Induced Heat Flux},
- journal = jhmt,
- volume = {145},
- number = {3},
- eid = {031401},
- year = {2023},
- month = {3},
- doi = {10.1115/1.4055833},
- url = {https://doi.org/10.1115/1.4055833},
- eprint = {https://asmedigitalcollection.asme.org/heattransfer/article-pdf/145/3/031401/6958758/ht\_145\_03\_031401.pdf},
+@article{lienhard2020,
+ author = {Lienhard, John H.},
+ title = {Heat Transfer in Flat-Plate Boundary Layers: A Correlation for Laminar, Transitional, and Turbulent Flow},
+ journal = jht,
+ volume = {142},
+ number = {6},
+ eid = {061805},
+ year = {2020},
+ month = jun,
+ doi = {10.1115/1.4046795},
+}
+%% Note eid field rather than page numbers. Will not produce "pp." before the eid number.
+%% May include numpages = {} to get "eid (numpages pages)"
+%% Note use of jht macro for title title (produces "ASME J. Heat Transfer"). All ASME journals have macros.
+
+@article{lienhard2019,
+ author = {Lienhard, John H.},
+ title = {Linearization of Nongray Radiation Exchange: The Internal Fractional Function Reconsidered},
+ journal = jht,
+ volume = {141},
+ number = {5},
+ eid = {052701},
+ year = {2019},
+ month = mar,
+ doi = {10.1115/1.4042158},
}
%% note use of: eid in place of pages, and use of jhmt macro for the journal name
@@ -301,17 +302,6 @@
urldate = {January 10, 2022},
}
-@article{Lienhard2019c,
- author = {Lienhard, V, John H.},
- year = {2019},
- title = {Linearization of Nongray Radiation Exchange: The Internal Fractional Function Reconsidered},
- journal = jht,
- doi = {10.1115/1.4042158},
- volume = {141},
- number = {5},
- eid = {052701},
-}
-
@book{ww1927,
author = {E. T. Whittaker and E. N. Watson},
year = {1920},
diff --git a/macros/latex/contrib/asmejour/asmejour-template.pdf b/macros/latex/contrib/asmejour/asmejour-template.pdf
index fa9503813a..6fc9631010 100644
--- a/macros/latex/contrib/asmejour/asmejour-template.pdf
+++ b/macros/latex/contrib/asmejour/asmejour-template.pdf
Binary files differ
diff --git a/macros/latex/contrib/asmejour/asmejour-template.tex b/macros/latex/contrib/asmejour/asmejour-template.tex
index 9eb8b6aa75..18ae24c057 100644
--- a/macros/latex/contrib/asmejour/asmejour-template.tex
+++ b/macros/latex/contrib/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.21 dated 2023/10/22
+%% This file is version 1.22 dated 2024/02/06
%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
@@ -17,12 +17,6 @@
%%
%% * Option to omit the list of figures and list of tables at the end [nolists]
%%
-%% * 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.
-%%
%% * Option to include line numbers [lineno]. You must run *twice* for proper placement of the
%% * line numbers. The lineno package does not number tables, footnotes, or captions.
%% * This option will disable balancing of the column heights on final page.
@@ -51,8 +45,13 @@
%% * some other options for cal are: dutchcal, zapfc, cm (default), boondox,...
%% * frak (fraktur), bb (blackboard bold), scr (script) may also be controlled.
%%
-%% * With pdfTeX, an option to use newtxtext's superiors font for footnotes [nodefaultsups] and an option
-%% * for slightly larger small capitals [largesc].
+%% * 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.
+%%
+%% * With pdfTeX, an option to use newtxtext's slightly larger small capitals font [largesc]
%%
%% * Options for typewriter font
%% * [var0] replace default slashed zero by unslashed zero
@@ -66,14 +65,13 @@
%% 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
-%% is needed when using complicated math and macros in section headings, to avoid problems with pdf bookmarks,
-%% as facilitated by the optional argument of \section (also illustrated below).
+%% is needed when using complicated math and macros in section headings,also illustrated below.
%%
%=========================================================
%%
%% LICENSE:
%%
-%% Copyright (c) 2023 John H. Lienhard
+%% Copyright (c) 2024 John H. Lienhard
%%
%% Offered under the MIT license: https://ctan.org/license/mit
%%
@@ -159,7 +157,6 @@ email: lienhard@mit.edu
This paper is an example and {\upshape\LaTeX} template for the {\upshape\texttt{asmejour}} class. Papers typeset in this class will follow ASME journal style for margins, fonts, headings, captions, and reference formats. The class will also lay out the author, title, and abstract in ASME style. The pdf file produced will include internal and external hyperlinks, bookmarks, and pdf metadata. The class is intended to be used with the {\upshape\texttt{asmejour.bst} \hologo{BibTeX}}, which is part of this distribution. This style produces modern reference formats, following current ASME styles and including hyperlinked DOI and URL fields. Options to the class include line numbering, final column balancing, various math options, government copyright notices, and archivability (PDF/A). In addition, section headers may contain mathematics, references, citations, and footnotes. The class is compatible with {\upshape\hologo{pdfLaTeX}} or {\upshape\hologo{LuaLaTeX}}.
\end{abstract}
-
\date{Version \versionno, \today}%% You can modify this information as desired.
%% Putting \date{} will suppress any date.
%% If this command is omitted, date defaults to \today
@@ -230,8 +227,8 @@ Section, subsection, and subsubsection headings should be in title case (first l
%% captions go below figures
\begin{figure}
-\centering\includegraphics[width=0.7\linewidth]{sample-figure-1.pdf}
-\caption{A figure caption with math, Eq.~\eqref{eqn:1}: $z = (r,\phi)$ \cite{Lienhard2019b}\label{fig:1}}
+\centering\includegraphics[width=\linewidth]{sample-figure-1.pdf}
+\caption{Caption with math, eqn.~\eqref{eqn:1}: $\Delta T/T_m$ vs.\ $\Delta T/T_1$~\cite{lienhard2019}\label{fig:1}}
\end{figure}
%%%%%%%%%%%%% end figure %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -256,28 +253,24 @@ Landscape figures and tables may be produced at full-page size by putting \verb|
\begin{figure*}[t]
\begin{subfigure}[t]{0.5\textwidth} % You will get same result using \begin{minipage}[t]{0.5\textwidth}
-\vbox{
-\vspace*{1.7em}%
\centering{
- \includegraphics{sample-figure-2a.pdf}
-}%
-\vspace*{1.7em}
+ \includegraphics[width=0.9\linewidth,alt={Nusselt number data for isothermal wall}]{sample-figure-2a.pdf}
+ \subcaption{\label{fig:interior-region}}
}%
-\subcaption{\label{fig:interior-region}}
\end{subfigure}%
%%%%%%%% don't leave a break here
\begin{subfigure}[t]{0.5\textwidth} % You will get same result using \begin{minipage}[t]{0.5\textwidth}
\centering{
-\includegraphics{sample-figure-2b.pdf}
-\subcaption{\label{fig:exterior-region}}
+ \includegraphics[width=0.927\linewidth,alt={Nusselt number data for constant heat flux wall}]{sample-figure-2b.pdf}
+ \subcaption{\label{fig:exterior-region}}
}\end{subfigure}%
-\caption{A figure with two subfigures: \subref{fig:interior-region} interior region, and \subref{fig:exterior-region} exterior region \cite{lienhard2023}\label{fig:2}}
+\caption{A figure with two subfigures: \subref{fig:interior-region} uniform wall temperature; and \subref{fig:exterior-region} uniform wall heat flux, unheated starting length \cite{lienhard2020}\label{fig:2}}
\end{figure*}
%%%%%%%%%%%%%%% end two column figure %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Reference Formatting with \texttt{asmejour.bst}}
The {\upshape\texttt{asmejour.bst}} \hologo{BibTeX} style follows the reference styles observed in ASME journals in 2021.\footnote{\texttt{asmejour.bst} is intended as a replacement for the older style \texttt{asmems4.bst}, which does not follow ASME's current reference formats or support DOI and URL.} The vast majority of published references are to journal papers and books. Examples for these and many other entry types are given in the \texttt{asmejour-sample.bib} file, which is part of this distribution. Citations and references are managed by the standard \texttt{natbib} package.
@@ -471,8 +464,6 @@ conformance~(\texttt{a}) is not currently possible with \LaTeX.
As of June 2022, the \LaTeX 3 team has added native support for PDF/A in the \LaTeX\ kernel, using \verb|\DocumentMetadata{..}|. This approach works with \textit{both} \hologo{pdfLaTeX} and \hologo{LuaLaTeX}. The class options previously mentioned can be omitted when using \verb|\DocumentMetadata{..}|.
-\subsection{Superiors Font} The \texttt{newtxtext} package includes a superiors font (numbers and letters) for use in footnote markers and superscripts. The option \texttt{[nodefaultsups]} enables this font, but only when running \hologo{pdfTeX}. %The corresponding author mark in the author block will not change.
-
\subsection{Typewriter Font Options} This font is the sans-serif, monospaced font \texttt{inconsolata}. By default, the word spacing is variable, but option \texttt{[mono]} ends this behavior. A slashed zero is the default; option \texttt{[var0]} removes the slash. Option \texttt{[hyphenate]} enables hyphenation of the typewriter font when running \hologo{pdfTeX}.
@@ -576,7 +567,7 @@ Acknowledge individuals, institutions, or companies that supported the authors i
\appendix %%% starting appendices
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Incomplete Zeta Function~\cite{Lienhard2019c}\label{app:zetafunction}}
+\section{Incomplete Zeta Function~\cite{lienhard2019}\label{app:zetafunction}}
This text is just for illustration. The radiation fractional function may be written in terms of the incomplete zeta function for convenience:
\begin{align}
@@ -612,6 +603,7 @@ The font encoding is set to T1 and utf-8 input is supported:
No effort has been made to support customization of language-specific fonts (some fonts can be implemented using the \texttt{substitutefont} package~\cite{milde}). The bibliography style, \texttt{asmejour.bst}, is designed in English and aimed at \texttt{BibTeX}. Multilingual bibliographies can be supported using \texttt{BibLaTeX}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
\selectlanguage{french}
\section{Discours Préliminaire de Fourier}\label{app:fourier}
@@ -626,7 +618,7 @@ La chale ur pénètre, comme la gravité, toutes les substances de l'univers, se
%%%%%%%%%%%%% BIBLIOGRAPHY %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\nocite{*} %% <=== delete this line - unless you wish to typeset the entire contents of your .bib file.
+\nocite{*} %% <=== Delete this line - unless you wish to typeset the entire contents of your .bib file.
\bibliographystyle{asmejour} %% .bst file that follows ASME journal format. Do not change.
diff --git a/macros/latex/contrib/asmejour/asmejour.bst b/macros/latex/contrib/asmejour/asmejour.bst
index fbd4985d98..e05e020140 100644
--- a/macros/latex/contrib/asmejour/asmejour.bst
+++ b/macros/latex/contrib/asmejour/asmejour.bst
@@ -4,7 +4,7 @@
%% *** This bibtex style follows ASME journals ***
%%
%%
- %% This file is asmejour.bst, version 1.07 dated 2023/05/06.
+ %% This file is asmejour.bst, version 1.08 dated 2024/02/03.
%%
%% This file was generated and edited by John Lienhard.
%% This file is a derivative work under Clause 6 of the LPPL license.
@@ -83,6 +83,9 @@
%% Modifications in v1.07 (2023/05/06)
%% correct code that provides \hrefurl
%%
+ %% Modifications in v1.08 (2024/02/03)
+ %% correct punctuation in journal macros
+ %%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
%% Massachusetts Institute of Technology
@@ -511,108 +514,108 @@ MACRO {oclc} {"https://www.worldcat.org/oclc/"}
MACRO {pubmed} {"https://www.ncbi.nlm.nih.gov/pubmed/"}
-MACRO {amr} {"Appl. Mech. Rev."}
+MACRO {amr} {"Appl.\ Mech.\ Rev."}
MACRO {lds} {"ASME Letters Dynamic Systems"}
MACRO {jru} {"ASME J. Risk Uncertainty"}
-MACRO {jsbc} {"ASME J. Sustainable Bldg. and Cities"}
+MACRO {jsbc} {"ASME J. Sustainable Bldg.\ and Cities"}
-MACRO {jam} {"ASME J. Appl. Mech."}
+MACRO {jam} {"ASME J. Appl.\ Mech."}
-MACRO {jbe} {"ASME J. Biomed. Eng."}
+MACRO {jbe} {"ASME J. Biomed.\ Eng."}
-MACRO {jcnd} {"ASME J. Comput. Nonlin. Dyn."}
+MACRO {jcnd} {"ASME J. Comput.\ Nonlin.\ Dyn."}
-MACRO {jcise} {"ASME J. Comput. Inf. Sci. Eng."}
+MACRO {jcise} {"ASME J. Comput.\ Inf.\ Sci.\ Eng."}
-MACRO {jds} {"J. Dyn. Syst.-T. ASME"}
+MACRO {jds} {"J. Dyn.\ Syst.---T. ASME"}
-MACRO {jep} {"ASME J. Electron. Packag."}
+MACRO {jep} {"ASME J. Electron.\ Packag."}
MACRO {jert} {"ASME J. Energy Resour."}
-MACRO {jegtp} {"ASME J. Eng. Gas Turbines Power"}
+MACRO {jegtp} {"ASME J. Eng.\ Gas Turbines Power"}
-MACRO {jem} {"ASME J. Eng. Mater."}
+MACRO {jem} {"ASME J. Eng.\ Mater."}
MACRO {jfe} {"ASME J. Fluids Eng."}
-MACRO {jfcst} {"ASME J. Fuel Cell Sci. Tech."}
+MACRO {jfcst} {"ASME J. Fuel Cell Sci.\ Tech."}
-MACRO {jht} {"ASME J. Heat Transfer-Trans. ASME"}
+MACRO {jht} {"ASME J. Heat Transfer---Trans.\ ASME"}
MACRO {jhmt} {"ASME J. Heat Mass Transfer"}
-MACRO {jmse} {"ASME J. Manuf. Sci. E."}
+MACRO {jmse} {"ASME J. Manuf.\ Sci.\ E."}
-MACRO {jmd} {"ASME J. Mech. Des."}
+MACRO {jmd} {"ASME J. Mech.\ Des."}
-MACRO {jmr} {"ASME J. Mech. Robot."}
+MACRO {jmr} {"ASME J. Mech.\ Robot."}
-MACRO {jmdv} {"ASME J. Med. Devices"}
+MACRO {jmdv} {"ASME J. Med.\ Devices"}
MACRO {jmnm} {"ASME J. Micro Nano-Manuf."}
-MACRO {jnem} {"ASME J. Nanotech Eng. Med."}
+MACRO {jnem} {"ASME J. Nanotech Eng.\ Med."}
-MACRO {joma} {"ASME J. Offshore Mech. Arct."}
+MACRO {joma} {"ASME J. Offshore Mech.\ Arct."}
-MACRO {jpv} {"ASME J. Press. Vess."}
+MACRO {jpv} {"ASME J. Press.\ Vess."}
-MACRO {jse} {"ASME J. Sol. Energy"}
+MACRO {jse} {"ASME J. Sol.\ Energy"}
-MACRO {jtsea} {"ASME J. Therm. Sci. Eng. Appl."}
+MACRO {jtsea} {"ASME J. Therm.\ Sci.\ Eng.\ Appl."}
MACRO {jtb} {"ASME J. Tribol."}
MACRO {jtm} {"ASME J. Turbomach."}
-MACRO {jva} {"ASME J. Vib. Acoust."}
+MACRO {jva} {"ASME J. Vib.\ Acoust."}
-MACRO {acmcs} {"ACM Comput. Surv."}
+MACRO {acmcs} {"ACM Comput.\ Surv."}
MACRO {acta} {"Acta Inf."}
-MACRO {cacm} {"Commun. ACM"}
+MACRO {cacm} {"Commun.\ ACM"}
-MACRO {ibmjrd} {"IBM J. Res. Dev."}
+MACRO {ibmjrd} {"IBM J. Res.\ Dev."}
MACRO {ibmsj} {"IBM Syst.~J."}
-MACRO {ieeese} {"IEEE Trans. Software Eng."}
+MACRO {ieeese} {"IEEE Trans.\ Software Eng."}
-MACRO {ieeetc} {"IEEE Trans. Comput."}
+MACRO {ieeetc} {"IEEE Trans.\ Comput."}
MACRO {ieeetcad}
- {"IEEE Trans. Comput. Aid. Des."}
+ {"IEEE Trans. Comput.\ Aid.\ Des."}
-MACRO {ipl} {"Inf. Process. Lett."}
+MACRO {ipl} {"Inf.\ Process.\ Lett."}
MACRO {jacm} {"J.~ACM"}
-MACRO {jcss} {"J.~Comput. Syst. Sci."}
+MACRO {jcss} {"J.~Comput.\ Syst.\ Sci."}
-MACRO {scp} {"Sci. Comput. Program."}
+MACRO {scp} {"Sci.\ Comput.\ Program."}
MACRO {sicomp} {"SIAM J. Comput."}
-MACRO {tocs} {"ACM Trans. Comput. Syst."}
+MACRO {tocs} {"ACM Trans.\ Comput.\ Syst."}
-MACRO {tods} {"ACM Trans. Database Syst."}
+MACRO {tods} {"ACM Trans.\ Database Syst."}
-MACRO {tog} {"ACM Trans. Graphic."}
+MACRO {tog} {"ACM Trans.\ Graphic."}
-MACRO {toms} {"ACM Trans. Math. Software"}
+MACRO {toms} {"ACM Trans.\ Math.\ Software"}
-MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+MACRO {toois} {"ACM Trans.\ Office Inf.\ Syst."}
-MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."}
+MACRO {toplas} {"ACM Trans.\ Progr.\ Lang.\ Syst."}
-MACRO {tcs} {"Theor. Comput. Sci."}
+MACRO {tcs} {"Theor.\ Comput.\ Sci."}
FUNCTION {bibinfo.check}
{ swap$
diff --git a/macros/latex/contrib/asmejour/asmejour.cls b/macros/latex/contrib/asmejour/asmejour.cls
index 62f4d90efd..095964ffc7 100644
--- a/macros/latex/contrib/asmejour/asmejour.cls
+++ b/macros/latex/contrib/asmejour/asmejour.cls
@@ -6,8 +6,8 @@
%%
%%
%% This file's version and date are:
- \def\versionno{1.21}
- \def\versiondate{2023/10/22\space}
+ \def\versionno{1.22}
+ \def\versiondate{2024/01/30\space}
%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
@@ -33,9 +33,6 @@
%%
%% The title block is set by specific commands that are described in the asmejour-template.tex file.
%%
-%% The \section[]{} command's optional argument has been changed to better support pdf bookmarks, and
-%% \section*[]{} is similarly modified.
-%%
%% The class defines abstract environment (with optional keywords) and a nomenclature environment.
%% (LaTeX must be run twice to align the columns in the nomenclature list).
%%
@@ -43,7 +40,7 @@
%%
%% LICENSE:
%%
-%% Copyright (c) 2023 John H. Lienhard
+%% Copyright (c) 2024 John H. Lienhard
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
%% associated documentation files (the "Software"), to deal in the Software without restriction,
@@ -71,7 +68,7 @@
\RequirePackage{xparse}[2020/02/25]
\fi
-\RequirePackage{iftex}[2019/11/07]% provides \ifpdftex, etc.
+\RequirePackage{iftex}% provides \ifpdftex, etc.
\RequirePackage{ifthen}
%%%%%%%%%%%%% Test compatibility of older distributions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -126,9 +123,6 @@
\PassOptionsToPackage{#1}{mathalfa}%
}
-%% set key [nodefaultsups] to obtain the newtx superiors font for footnotes.
-\DeclareBoolOption{nodefaultsups}
-
%% Option to obtain line numbers [lineno]
\DeclareBoolOption{lineno}
@@ -161,23 +155,6 @@
}%
}
-%% only main= is actually needed, but keeping these three legacy commands for backward compatibility (these will disappear in 2024 or so)
-\define@key{asmejour}{lang}[english]{% deprecated option
- \PassOptionsToPackage{main=#1,#1}{babel}%
- \PassOptionsToPackage{pdflang=en}{hyperref}
- \aj@mainsettrue%
- \ifthenelse{\equal{#1}{english}}{%
- \relax}{%
- \LogNote{Selecting #1 as the primary language}%
- }%
-}
-\define@key{asmejour}{lang-second}[english]{% deprecated option
- \PassOptionsToPackage{#1}{babel}%
-}
-\define@key{asmejour}{lang-third}[english]{% deprecated option
- \PassOptionsToPackage{#1}{babel}%
-}
-
%% if main language was not chosen explicitly, default to English
\ifaj@mainset\relax\else
\PassOptionsToPackage{main=english}{babel}%
@@ -200,7 +177,7 @@
\NewDocumentCommand\@DisableKeys{>{\SplitList{;}}m}{\ProcessList{#1}{\aj@DisableOption}}
\def\@KeyFamily{asmejour}
-\@DisableKeys{nodefaultsups;mathalfa;barcolor;lineno;balance;nolists;govt;govtsome;contractor;main;lang;lang-second;lang-third}
+\@DisableKeys{mathalfa;barcolor;lineno;balance;nolists;govt;govtsome;contractor;main}
%%%%%%% PDF/A Compliance Keys %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -218,7 +195,7 @@
setkeys=\kvsetkeys,
}
- \ifpdftex %% pdf/a compliance has only been configured for pdflatex. Revised 2023/10/20
+ \ifpdftex %% configure pdf/a compliance for pdflatex. Revised 2023/10/20
%
%%% set key [pdfa] to activate pdf/a compliance (default is pdf/A-3u)
\define@key{pdfaopt}{pdf-a}[true]{%
@@ -250,8 +227,33 @@
%% Done with these keys, so we can now disable them
\def\@KeyFamily{pdfaopt}
\@DisableKeys{pdf-a;pdfapart;pdfaconformance}
+
+ %% new pdf management in LaTeX, using \DocumentMetaData{..}, is preferred to this approach.
+ \ifpdftex
+ \ifaj@pdfaone
+ \pdfminorversion=4 % for pdf/a-1 need version 4, not 7
+ \else
+ \pdfminorversion=7 % this selection is not required
+ \fi
+ \else
+ \ifaj@setpdfa\ClassWarningNoLine{asmejour}{pdf-a option requires pdfLaTeX engine. Under LuaLaTeX, use %
+ \protect\DocumentMetadata{pdfstandard=A-3b} before \protect\documentclass[..]{asmeconf}}\fi%
+ \ifx\directlua\undefined\else
+ \directlua{
+ if pdf.getminorversion() \string~= 7 then
+ if (status.pdf_gone and status.pdf_gone > 0)
+ or (status.pdf_ptr and status.pdf_ptr > 0) then
+ tex.error("PDF version cannot be changed anymore")
+ else
+ pdf.setminorversion(7)
+ end
+ end
+ \fi
+ }% will lose some accented characters this way... better to use fontspec, if the system fonts exist.
+ \fi
\fi
+
%%%%%%%%%% Further class options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Option to omit ASME footer
@@ -286,19 +288,6 @@
\PassOptionsToPackage{lining}{newtxtext}%
}
-%% Option not to use latex default superscripts, instead using the newtxtext superiors font [nodefaultsups]
-%% This naming is inverse to the newtxtext package, which uses the superior font by default!
-\ifasmejour@nodefaultsups
- \ifpdftex
- \else
- \ClassWarningNoLine{asmejour}{The [nodefaultsups] option is only supported with pdftex. It will be ignored}%
- \fi
-\else
- \ifpdftex
- \PassOptionsToPackage{defaultsups}{newtxtext}
- \fi
-\fi
-
%% Option to hyphenate the typewriter font [hyphenate]
\DeclareOption{hyphenate}{%
\PassOptionsToPackage{hyphenate}{inconsolata}%
@@ -385,33 +374,6 @@
\renewcommand*{\midrule}{\specialrule{0.5pt}{2pt}{3pt}}
\renewcommand*{\bottomrule}{\specialrule{0.5pt}{1pt}{\doublerulesep}\specialrule{0.5pt}{0pt}{0pt}}
-%%%%%%%%%%%%% PDF/A related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% new pdf management in LaTeX, using \DocumentMetaData{..}, is preferred to this approach.
-\ifpdftex
- \ifaj@pdfaone
- \pdfminorversion=4 % for pdf/a-1 need version 4, not 7
- \else
- \pdfminorversion=7 % this selection is not required
- \fi
- \RequirePackage[T1]{fontenc}
- \RequirePackage[utf8]{inputenc}% for backward compatibility with pre-2018 LaTeX distributions
-\else
- \ifaj@setpdfa\ClassWarningNoLine{asmejour}{pdf-a option requires pdfLaTeX engine. Under LuaLaTeX, use %
- \protect\DocumentMetadata{pdfstandard=A-3b} before \protect\documentclass[..]{asmeconf}}\fi%
- \ifx\directlua\undefined\else
- \directlua{
- if pdf.getminorversion() \string~= 7 then
- if (status.pdf_gone and status.pdf_gone > 0)
- or (status.pdf_ptr and status.pdf_ptr > 0) then
- tex.error("PDF version cannot be changed anymore")
- else
- pdf.setminorversion(7)
- end
- end
- \fi
- }% will lose some accented characters this way... better to use fontspec, if the system fonts exist.
-\fi
-
%%%%%%%%%%%%% Font related %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -419,6 +381,8 @@
\RequirePackage[]{babel}
\ifpdftex
+ \RequirePackage[T1]{fontenc}
+ \RequirePackage[utf8]{inputenc}% for backward compatibility with pre-2018 LaTeX distributions
\RequirePackage[helvratio=0.91]{newtxtext}% add this scaling 2022/06/26
\RequirePackage[varl,varqu]{inconsolata}% sans typewriter font; restored varl, varqu 2020/08/10
\RequirePackage[]{newtxmath}
@@ -474,16 +438,6 @@
RawFeature = {+ss01,\ssztwo,+ss03},
]
\fi
-
-%% override \textsu if using default superiors (allow for undefined \textsu in fontspec). Revised 2023/10/21
-\providecommand\NewCommandCopy{\let} % for pre-2020/10 LaTeX distributions
-\providecommand\RenewCommandCopy{\let}
-
-\ifx\textsu\undefined\NewCommandCopy\textsu\textsuperscript\fi
-\ifasmejour@nodefaultsups\else
- \RenewCommandCopy\textsu\textsuperscript
-\fi
-%%
\RequirePackage[]{mathalfa}% load optional fonts for Calligraphy, Script, etc.
@@ -649,21 +603,25 @@
\ifasmejour@balance
\ClassWarningNoLine{asmejour}{Package lineno loaded, so final column balancing will be disabled}%
\fi
- %%% Allow line numbering in AMS math environments.
- %%% postdisplaypenalty adjusted to avoid extra line number at end, see discussion here: https://tex.stackexchange.com/a/461192/
- %%% multline has some problem that puts an extra line number above it.
- %%% Requires xparse and etoolbox
- \NewDocumentCommand{\aj@losepostpenalty}{}{\patchcmd{\linenomathWithnumbers}{\advance\postdisplaypenalty\linenopenalty}{}{}{}}%
-%
- \NewDocumentCommand{\aj@FixAMSMath}{m}{%
- \AtBeginEnvironment{#1}{\aj@losepostpenalty\linenomath}%
- \AtEndEnvironment{#1}{\endlinenomath}%
- \AtBeginEnvironment{#1*}{\aj@losepostpenalty\linenomath}%
- \AtEndEnvironment{#1*}{\endlinenomath}%
- }%
-%
- \NewDocumentCommand{\aj@FixAll}{>{\SplitList{;}}m}{\ProcessList{#1}{\aj@FixAMSMath}}%
- \aj@FixAll{align;alignat;gather;flalign;multline}%
+ %%% Patch to allow line numbering in AMS math environments.
+ %%% This patch is for lineno versions earlier than v5.2 [2023/05/19]. As of mid-2023, the lineno package
+ %%% has been corrected to account for the AMS math environments. Retaining temporarily for backward compatibility.
+ %%% postdisplaypenalty adjusted to avoid extra line number at end, see: https://tex.stackexchange.com/a/461192/
+ %%% multline has some additional problem that puts an extra line number above it.
+ \IfPackageAtLeastTF{lineno}{2023/05/19}{\relax}{
+ \NewDocumentCommand{\ac@losepostpenalty}{}{\patchcmd{\linenomathWithnumbers}{\advance\postdisplaypenalty\linenopenalty}{}{}{}}
+ %
+ \NewDocumentCommand{\ac@FixAMSMath}{m}{%
+ \AtBeginEnvironment{#1}{\ac@losepostpenalty\linenomath}%
+ \AtEndEnvironment{#1}{\endlinenomath}%
+ \AtBeginEnvironment{#1*}{\ac@losepostpenalty\linenomath}%
+ \AtEndEnvironment{#1*}{\endlinenomath}%
+ }
+ %
+ \NewDocumentCommand{\ac@FixAll}{>{\SplitList{;}}m}{\ProcessList{#1}{\ac@FixAMSMath}}
+ %
+ \ac@FixAll{align;alignat;gather;flalign;multline}
+ }
%
\else
\ProvideDocumentEnvironment{linenomath}{}{}{}%
@@ -871,7 +829,6 @@
\RequirePackage[psdextra]{hyperref} % recent kernel transition suggests providing most hyperref options via \hypersetup,
% but setting psdextra here (for additional math support in bookmarks) 2021/12/23
\hypersetup{%
- unicode, % Unicode encoded PDF strings, default as of hyperref v7.0
pdfborder={0 0 0},%
bookmarksnumbered=true,%
bookmarksopen=true,%
@@ -948,25 +905,6 @@
\def\footnote#1{}%
}
-%%% Create an optional argument for unnumbered sections and set pdf bookmark (thru \addcontentsline).
-%%% The optional argument will manually set the pdf bookmark for that section; can be used to avoid hyperref
-%%% errors when macros are in section titles.
-%%% There should not be errors for $$, \cite, \ref, \label, \footnote, or \bm with current construction.
-\let\svsection\section
-\RenewDocumentCommand{\section}{s o m}{%
- \IfBooleanTF {#1}
- {\svsection*{#3}\phantomsection%
- {\IfNoValueTF {#2}
- {\addcontentsline{toc}{section}{#3}}
- {\addcontentsline{toc}{section}{#2}}% remove trailing space 2020/02/28
- }%
- }
- {\IfNoValueTF {#2}
- {\svsection{#3}}
- {\svsection[#2]{#3}}%
- }%
-}
-
%%%%%%%%%%%%% Define some section and other names for special environments %%%%%%%
@@ -1047,19 +985,7 @@
]%
}%
\fi
-%\ifaj@lists
-% \AtEndDocument{%
-% \clearpage
-% \twocolumn[%
-% \begin{@twocolumnfalse}
-% \listoffigures
-% \listoftables
-% \end{@twocolumnfalse}
-% ]%
-% }%
-%\else
-% \LogNote{Omitting lists of figures and tables}%
-%\fi
+
%%%%%%%%%%%%%%%% Author/Title/Abstract block %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1152,13 +1078,9 @@
%% Flag for corresponding author (only one expected, although this code supports more than one)
\newif\ifaj@CA\aj@CAfalse
-\newcommand{\CAemail}[1]{\gdef\@CAemail{#1}}% legacy code, drop eventually
-
%% ASME prefers email to be in address block, not CA footnote; removed option 2021/01/30
\NewDocumentCommand{\CorrespondingAuthor}{}{%
\global\aj@CAtrue%
- \gdef\@CAsep{\relax}% legacy code, drop eventually
- \gdef\@CAemail{\relax}% legacy code, drop eventually
\def\@makefnmark{\hbox{\@textsuperscript{\sffamily\@thefnmark}}}%
\footnotemark%
\addtocounter{footnote}{-1}% in case of more than one CA
@@ -1180,9 +1102,9 @@
]
\ifaj@CA
\addtocounter{footnote}{1}
- \footnotetext{\CAwords\@CAsep \@CAemail}% includes legacy code, will remove \@CA commands eventually
+ \footnotetext{\CAwords}
\fi
- \ifaj@Date\revfootnote{\@Date}\else\relax\fi
+ \DateFootnote
\ifasmejour@contractor\revfootnote{The United States Government retains, and by accepting the article for publication, the publisher acknowledges that the United States Government retains, a non-exclusive, paid-up, irrevocable, worldwide license to publish or reproduce the published form of this work, or allow others to do so, for United States Government purposes.}%
\fi
\ifasmejour@govt\revfootnote{This material is declared a work of the U.S. Government and is not subject to copyright protection in the United States. Approved for public release; distribution is unlimited.}%
@@ -1202,14 +1124,21 @@
%% Thanks to DPC for the suggestion of \gdef\tmp{...
%% Put date as an unnumbered footnote at bottom of first column
-\newif\ifaj@Date\aj@Datetrue% If true, print a date.
-
\ExplSyntaxOn
-\RenewDocumentCommand{\date}{m}
- {%
- \tl_if_empty:nTF {#1}{\global\aj@Datefalse}{\gdef\@Date{#1}}%
- }
-\providecommand\@Date{\today}
+ \bool_new:N \g__asmejour_date_bool
+ \tl_new:N \g__asmejour_date_tl
+ \tl_new:N \DateFootnote
+ \bool_gset_true:N \g__asmejour_date_bool
+ \tl_gset:Nn \g__asmejour_date_tl { \today }
+ \tl_gset:Nn \DateFootnote {
+ \if_bool:N \g__asmejour_date_bool \revfootnote{\g__asmejour_date_tl} \else: \fi:
+ }
+ \RenewDocumentCommand{\date}{m}
+ {
+ \tl_if_empty:nTF {#1}
+ { \bool_gset_false:N \g__asmejour_date_bool }
+ { \tl_gset:Nn \g__asmejour_date_tl { #1 } }
+ }
\ExplSyntaxOff
\RenewDocumentCommand{\thanks}{m}{\relax}%% disabling this standard command, as it is inconsistent with this format
diff --git a/macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf b/macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf
index c3985e2238..5b93ad2cf9 100644
--- a/macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf
+++ b/macros/latex/contrib/asmejour/asmewide_example/asmejour-wide-equation-examples.pdf
Binary files differ
diff --git a/macros/latex/contrib/asmejour/sample-figure-1.pdf b/macros/latex/contrib/asmejour/sample-figure-1.pdf
index f035e74421..78a0c2264e 100644
--- a/macros/latex/contrib/asmejour/sample-figure-1.pdf
+++ b/macros/latex/contrib/asmejour/sample-figure-1.pdf
Binary files differ
diff --git a/macros/latex/contrib/asmejour/sample-figure-2a.pdf b/macros/latex/contrib/asmejour/sample-figure-2a.pdf
index d46a00a427..063c4f3823 100644
--- a/macros/latex/contrib/asmejour/sample-figure-2a.pdf
+++ b/macros/latex/contrib/asmejour/sample-figure-2a.pdf
Binary files differ
diff --git a/macros/latex/contrib/asmejour/sample-figure-2b.pdf b/macros/latex/contrib/asmejour/sample-figure-2b.pdf
index 7b438b1392..fdbcdbd358 100644
--- a/macros/latex/contrib/asmejour/sample-figure-2b.pdf
+++ b/macros/latex/contrib/asmejour/sample-figure-2b.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 238572988d..b059543407 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -13,9 +13,9 @@
%
% This work has the LPPL maintenance status `maintained'.
%<*class>
-\NeedsTeXFormat{LaTeX2e}[2020/10/01]
+\NeedsTeXFormat{LaTeX2e}[2021/11/15]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2024/02/05}{2024u}
+\ProvidesExplClass{easybook}{2024/02/06}{2024w}
{Easily typesetting Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -295,9 +295,9 @@
}
%</class>
%<*package>
-\NeedsTeXFormat{LaTeX2e}[2020/10/01]
+\NeedsTeXFormat{LaTeX2e}[2021/11/15]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2024/02/05}{2024u}
+\ProvidesExplPackage{easybase}{2024/02/06}{2024w}
{Easily typesetting Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -507,18 +507,6 @@
if~you~continue~compiling. \\\\
Please~update~your~macro~package~from~CTAN.
}
-\eb_seq_map_inline:nn
- {
- { expl3 } { 2020/10/27 },
- { xparse } { 2020/10/27 },
- { l3keys2e } { 2020/10/27 },
- { caption } { 2020/08/24 },
- { fancyhdr } { 2021/01/28 },
- { siunitx } { 2021/06/22 },
- { tabularray } { 2021/07/01 },
- { spbmark } { 2021/12/15 }
- }
- { \eb_package_date_check:nn #1 }
\NewDocumentCommand{\eb_assign_tag_brackets:n}
{>{\SplitArgument{1}{,}}m}
@@ -1925,7 +1913,6 @@
\bool_if:NT \l__eb_theorem_support_bool
{
\RequirePackage{amsthm,thmtools}
- \eb_package_date_check:nn { thmtools } { 2020/08/01 }
\cs_set_eq:NN \eb@declaretheoremsyle@save \declaretheoremstyle
\RenewDocumentCommand{\declaretheoremstyle}{O{}mO{}}
{\eb@declaretheoremsyle@save[#1,#3]{#2}}
@@ -1997,10 +1984,7 @@
\ctex_at_end_package:nn { unicode-math }
{ \msg_redirect_module:nnn { unicode-math } { warning } { info } }
\ctex_at_end_package:nn { tcolorbox }
- {
- \eb_package_date_check:nn { tcolorbox } { 2020/10/09 }
- \file_if_exist_input:n { eb-tcolorbox.cfg }
- }
+ { \file_if_exist_input:n { eb-tcolorbox.cfg } }
\bool_set_true:N \l__eb_backend_bibtex_bool
\ctex_define:nn { bibset }
@@ -2320,7 +2304,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2024/02/05}{2024u}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2024/02/06}{2024w}
{Customization of tcolorbox for easybook}
\cs_set_protected:Npn \addtotcbstyle #1#2
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index 990fdbea49..d928e66ce5 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex
index 69a64ddd92..43bad1ffe7 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -23,8 +23,8 @@
name = easybook,
color-scheme = blue,
title = EASYBOOK使用手册,
- version = v2024u,
- date = 2024/02/05,
+ version = v2024w,
+ date = 2024/02/06,
authors = 瞿毅,
info = 简便地排版中文学位论文或书籍,
email = toquyi@163.com,
@@ -180,7 +180,7 @@
您在使用 \easybook{} 文档类编写文档前可能需要具备以下的条件:
\begin{itemize}
\item 使用 \hologo{XeLaTeX}(推荐)或 \hologo{LuaLaTeX} 两种编译方式。
- \item 由于文档类用到了一些 \LaTeX 和依赖宏包较新的功能,需要版本至少在\textbf{2020/10/01}以后的 \LaTeX 内核支持。建议您安装最新的 \TeX 发行版。
+ \item 由于文档类用到了一些 \LaTeX 和依赖宏包较新的功能,需要版本至少在\textbf{2021/11/15}以后的 \LaTeX 内核支持。建议您安装最新的 \TeX 发行版。
\item 虽然手册对基本用法做了介绍,但这并不是入门教程,所涉及到宏包的用法与命令也需要有了解。您应当具有一定的 \LaTeX 使用基础,可以在 \TeX 综合网站 \href{https://www.ctan.org/}{CTAN} 查看相关资源。
\end{itemize}
@@ -1351,7 +1351,7 @@
\shortversion{v = 1.638,date = 2022/03/04,changes = 增加目录条目样式选项注册命令 \cs{RegisterTocName}。}
\shortversion{v = 1.644,date = 2022/03/10,changes = 增加浮动环境目录声明命令 \cs{DeclareFloatList} 配合 \pkg*{caption} 宏包。}
\shortversion{v = 1.682,date = 2022/05/01,changes = 将迷你页判断命令 \cs{notminipage} 改为被保护命令兼容 \pkg*{circledtext} 宏包。}
- \begin{version}[v = 2024u,date = 2024/02/05,simple]
+ \begin{version}[v = 2024w,date = 2024/02/06,simple]
\item 核对依赖宏包的更新改动,优化使用手册的内容细节。
\item 修复图表等浮动环境题注目录中条目标签编号的计数器值显示错误问题。
\item 修复附录命令 \cs{appendix} 的可选参数设置英文目录中条目名字和编号失效的问题。
diff --git a/macros/latex/contrib/hvqrurl/Changes b/macros/latex/contrib/hvqrurl/Changes
index e7b6ca476c..aa30416b54 100644
--- a/macros/latex/contrib/hvqrurl/Changes
+++ b/macros/latex/contrib/hvqrurl/Changes
@@ -1,4 +1,5 @@
hvqrurl.sty:
+0.07 2024-02-06 - allow active chars in linktext
0.06 2024-02-03 - fix for introduced bug with linktext
0.05a 2024-02-02 - modified documentation
0.05 2024-01-28 - added optional argument for alternative link text
diff --git a/macros/latex/contrib/hvqrurl/doc/hvqrurl.pdf b/macros/latex/contrib/hvqrurl/doc/hvqrurl.pdf
index b5103b9d16..95b739d2b2 100644
--- a/macros/latex/contrib/hvqrurl/doc/hvqrurl.pdf
+++ b/macros/latex/contrib/hvqrurl/doc/hvqrurl.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvqrurl/doc/hvqrurl.tex b/macros/latex/contrib/hvqrurl/doc/hvqrurl.tex
index 79c2c395ea..89fd8cdea6 100644
--- a/macros/latex/contrib/hvqrurl/doc/hvqrurl.tex
+++ b/macros/latex/contrib/hvqrurl/doc/hvqrurl.tex
@@ -1,4 +1,4 @@
-%% $Id: hvqrurl.tex 870 2024-02-03 20:38:44Z herbert $
+%% $Id: hvqrurl.tex 872 2024-02-06 16:11:47Z herbert $
\listfiles
\errorcontextlines=100
\documentclass[twoside=on,usegeometry]{scrartcl}
@@ -38,7 +38,7 @@
linktocpage, colorlinks=true}%
\begin{document}
-\title{Package \texttt{hvqrurl}\\Creating a QR-code of an URL in the margin \\\small ver 0.05a}
+\title{Package \texttt{hvqrurl}\\Creating a QR-code of an URL in the margin \\\small ver 0.07}
\author{Herbert Voß\thanks{\protect\url{hvoss@tug.org}}}
\date{\today}
\maketitle
@@ -91,7 +91,9 @@ The default setting is qrlink=link.
\end{lstlisting}
With \Lkeyset{qrlink=nolink} the QR code is no link: \hvqrurl[qrlink=nolink]{https://mirror.ctan.org/pkg/hvqrurl}.
The default setting is \Lkeyset{qrlink=link}. Without using \LPack{hyperref} this optional argument
-has no meaning. The optional argument \Lkeyword{linktext} is also only valid, if hyperref is aktive.
+has no meaning. The optional argument \Lkeyword{linktext} is also only valid,
+if hyperref is aktive.
+
diff --git a/macros/latex/contrib/hvqrurl/latex/hvqrurl.sty b/macros/latex/contrib/hvqrurl/latex/hvqrurl.sty
index 36f90a2638..af29f1a446 100644
--- a/macros/latex/contrib/hvqrurl/latex/hvqrurl.sty
+++ b/macros/latex/contrib/hvqrurl/latex/hvqrurl.sty
@@ -1,4 +1,4 @@
-%% $Id: hvqrurl.sty 870 2024-02-03 20:38:44Z herbert $
+%% $Id: hvqrurl.sty 872 2024-02-06 16:11:47Z herbert $
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
@@ -7,7 +7,7 @@
% Copyright 2019,21,23,24 Herbert Voss hvoss@tug.org
%%
\ProvidesPackage{hvqrurl}[%
- 2024/02/03 v.0.06 (Herbert Voss) Supports qr images into the margin (hv)]
+ 2024/02/06 v.0.07 (Herbert Voss) Supports qr images into the margin (hv)]
%
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{url}
@@ -51,12 +51,15 @@
\expandafter\qrset\expandafter{\qr@url@qrlink,height=\qr@url@qrheight,level=\qr@url@qrlevel}%
\ifhv@qrreverse\reversemarginpar\fi
\if@tempswa
- \ifx\@empty\qr@url@linktext % alternative link text
+ \ifx\@empty\qr@url@linktext % alternative link text?
\edef\hv@foo{\detokenize\expandafter{#2}}%
\url{\hv@foo}%
\else
- \edef\hv@foo{\detokenize\expandafter{\qr@url@linktext}}%
- \href{#2}{\hv@foo}%
+ % \href[options]{URL}{text}
+ \typeout{>>>(hvqrurl) Alternative URL text}%
+ \edef\hv@fooA{\detokenize\expandafter{#2}}%
+ \edef\hv@fooB{\detokenize\expandafter{\qr@url@linktext}}%
+ \href{\hv@fooA}{\hv@fooB}%
\fi
\fi
\edef\reserved@a{\noexpand\marginnote{\noexpand\color{qr@url@qrcolor}\noexpand\qrcode{%
diff --git a/macros/latex/contrib/lwarp/README.txt b/macros/latex/contrib/lwarp/README.txt
index cfd5523f67..af35531af5 100644
--- a/macros/latex/contrib/lwarp/README.txt
+++ b/macros/latex/contrib/lwarp/README.txt
@@ -1,5 +1,5 @@
-LaTeX lwarp package v0.914 README.txt
+LaTeX lwarp package v0.915 README.txt
Files included are:
diff --git a/macros/latex/contrib/lwarp/lwarp.dtx b/macros/latex/contrib/lwarp/lwarp.dtx
index dd633f53a8..e2d6406106 100644
--- a/macros/latex/contrib/lwarp/lwarp.dtx
+++ b/macros/latex/contrib/lwarp/lwarp.dtx
@@ -16,7 +16,7 @@
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{lwarp}
-%<package> [2024/01/11 v0.914 Allows LaTeX to directly produce HTML5 output.]
+%<package> [2024/02/05 v0.915 Allows LaTeX to directly produce HTML5 output.]
%
%<*driver>
\documentclass{ltxdoc}
@@ -274,10 +274,10 @@ pdfinfo={%
\newcommand{\credits}[1]{{\footnotesize(\textit{Emulates or patches code by} \textsc{#1}.)}}
-\newcommand*{\codehtml}{\leavevmode\marginpar{\footnotesize\raggedleft\textcolor{codecolor}{\textbf{for HTML output:~}}}\vspace{-5.25ex}}
-\newcommand*{\codeprint}{\leavevmode\marginpar{\footnotesize\raggedleft\textcolor{codecolor}{\textbf{for PRINT output:~}}}\vspace{-5.25ex}}
-\newcommand*{\codeall}{\leavevmode\marginpar{\footnotesize\raggedleft\textcolor{codecolor}{\textbf{for HTML \& PRINT:~}}}\vspace{-5.25ex}}
-\newcommand*{\codeconfig}{\leavevmode\marginpar{\footnotesize\raggedleft\textcolor{codecolor}{\textbf{Config file:~}}}\vspace{-5.25ex}}
+\newcommand*{\codehtml}{\leavevmode\marginpar{\footnotesize\raggedleft\textcolor{codecolor}{\textbf{for HTML output:\quad}}}\vspace{-5.25ex}}
+\newcommand*{\codeprint}{\leavevmode\marginpar{\footnotesize\raggedleft\textcolor{codecolor}{\textbf{for PRINT output:\quad}}}\vspace{-5.25ex}}
+\newcommand*{\codeall}{\leavevmode\marginpar{\footnotesize\raggedleft\textcolor{codecolor}{\textbf{for HTML \& PRINT:\quad}}}\vspace{-5.25ex}}
+\newcommand*{\codeconfig}{\leavevmode\marginpar{\footnotesize\raggedleft\textcolor{codecolor}{\textbf{Config file:\quad}}}\vspace{-5.25ex}}
\newcommand*{\testthis}{\textcolor{blue}{Please send bug reports!}\watchout[Not fully tested!]}
@@ -3430,6 +3430,7 @@ This boolean may be tested by the user for later use.
% \changes{v0.912}{2023/08/28}{\ 2023/08/28}
% \changes{v0.913}{2024/01/05}{\ 2024/01/05}
% \changes{v0.914}{2024/01/11}{\ 2024/01/11}
+% \changes{v0.915}{2024/02/05}{\ 2024/02/05}
@@ -3667,6 +3668,17 @@ This boolean may be tested by the user for later use.
% see the end of the Change History on page \pageref{sec:changesend}.
%
% \begin{description}
+% \item[v0.915:] \HTML\ list classes, meta tags.
+% \begin{itemize}
+% \item \LaTeX\ lists now given the class \attribute{itemize},
+% \attribute{enumerate}, \attribute{description}, \attribute{hanging}.
+% \item \LaTeX\ list labels now given the class \attribute{listmarker}.
+% \item Added \cs{HTMLKeywords} for the keywords meta tag.
+% \item Added \cs{HTMLMeta} and \cs{HTMLAddMeta} for custom \attribute{meta} tags.
+% \item Added \attribute{data-nosnippet} to \MathJax\ customization \element{div}s.
+% \item Updated \pkg{pdfpages} to v0.5y.
+% \end{itemize}
+% \needspace{2\baselineskip}
% \item[v0.914:] Detects changing packages.
% \begin{itemize}
% \item Now verifies many definitions before patching,
@@ -8546,7 +8558,10 @@ This boolean may be tested by the user for later use.
% \cs{HTMLTitleAfterSection} & PS & Set subpage \element{title}s to \newline
% \fqquad \attribute{sectioname - \cs{HTMLTitle}}\\
% \cs{HTMLAuthor} & PS & The \HTML\ \attribute{author} meta tag, overriding \cs{author}. \\
-% \cs{HTMLDescription} & PS & The \HTML\ \attribute{description} meta tag. \\
+% \cs{HTMLDescription} & PS & The \HTML\ \attribute{meta} \attribute{description} tag. \\
+% \cs{HTMLKeywords} & PS & The \HTML\ \attribute{meta} \attribute{keywords} tag. \\
+% \cs{HTMLMeta} & PS & Clear and set the custom \attribute{meta} tag. \\
+% \cs{HTMLAddMeta} & PS & Add another \attribute{meta} tag. \\
% \midrule
% \cs{HTMLFirstPageTop} & P & Heading for the home page. \\
% \cs{HTMLFirstPageBottom} & P & Footer for the home page. \\
@@ -8824,7 +8839,6 @@ This boolean may be tested by the user for later use.
% \}
% \end{sourcedisplay}
%
-%
% \ItemDescribeMacro{\HTMLAuthor} \marg{author} \DescribeDefault{\cs{theauthor}} \quad
% The \HTML\ header's meta author.
% Defaults to \cs{theauthor},
@@ -8840,6 +8854,22 @@ This boolean may be tested by the user for later use.
% the following files. May be changed before each sectioning command which would
% cause a file split.
%
+% \ItemDescribeMacro{\HTMLKeywords} \marg{keywords} \DescribeDefault{<empty>} \quad
+% Sets the \HTML\ \attribute{keywords} tag for
+% the following files. May be changed before each sectioning command which would
+% cause a file split.
+%
+% \ItemDescribeMacro{\HTMLMeta} \marg{name} \marg{contents} \DescribeDefault{<empty>} \quad
+% Clears then sets a new user-definable custom \attribute{meta} tag
+% used for the following pages.
+% Replaces any prior custom \attribute{meta} tags previously set by \cs{HTMLMeta}
+% and \cs{HTMLAddMeta}.
+%
+% \ItemDescribeMacro{\HTMLAddMeta} \marg{name} \marg{contents} \DescribeDefault{<empty>} \quad
+% Add to the user-definable custom \attribute{meta} tags for the following pages.
+% May be used more than once to add multiple tags.
+% Use \cs{HTMLMeta} to empty and start over with a new tag.
+%
% \ItemDescribeMacro{\HTMLPageTop} \marg{contents} \DescribeDefault{<empty>} \quad
% A user-definable custom action applied to
% the top of pages other than the home page. Useful for logos, etc.
@@ -9315,10 +9345,10 @@ This boolean may be tested by the user for later use.
% \DescribeDefault{(none)}
%
% Each page of \HTML\ output should have its own \HTML\ meta description,
-% which usually shows up in web search results,
+% which usually shows up in web search results.
% \margintag{limitations}
-% is limited to around
-% 150 characters in length, and should not include the \acro{ASCII} double quote character (").
+% Usually limited to around 150 characters in length,
+% and should not include the \acro{ASCII} double quote character (").
%
% Use \cs{HTMLDescription}
% \margintag{placement}
@@ -9338,6 +9368,26 @@ This boolean may be tested by the user for later use.
% \end{sourcedisplay}
%
%
+% \subsection{\HTML\ page meta keywords}
+%
+% \label{sec:htmlkeywords}
+% \gindex{HTML>meta tag>keywords}
+% \gindex{keywords>HTML meta tag}
+% \gindex{meta tag, HTML>keywords}
+% \DescribeMacro{\HTMLKeywords} \marg{Keywords for the web page.}
+% \DescribeDefault{(none)}
+%
+% \cs{HTMLKeywords} behaves like \cs{HTMLDescription}, but adds \HTML\ meta keywords
+% for the following web pages.
+%
+% To disable the generation of \HTML\ keyword meta tags,
+% \margintag{disabling}
+% use:
+% \begin{sourcedisplay}
+% \fqquad \cs{HTMLKeywords}\{\}
+% \end{sourcedisplay}
+%
+%
% \subsection{\HTML\ homepage meta title}
%
% \gindex{HTML>meta tag>title}
@@ -21249,7 +21299,7 @@ MathJax = {
-- Copyright 2016-2024 Brian Dunn
-printversion = "v0.914"
+printversion = "v0.915"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()
@@ -23756,11 +23806,12 @@ end -- not --version
% Nullify several objects inside the span:
% ^^A {\LWR@subhtmlelementclass{span}{inlineminipage}}%
% ^^A {\LWR@htmltagc{/span}}%
+% \changes{v0.915}{2024/01/30}{Fix: \env{BlockClass} optional arg.}
% \begin{macrocode}
\RenewDocumentEnvironment{minipage}{O{t} o O{t} m}%
{\LWR@spanwarnformat{minipage or \protect\parbox}}%
{}%
- \RenewDocumentEnvironment{BlockClass}{o m}%
+ \RenewDocumentEnvironment{BlockClass}{o D(){} m}%
{\LWR@spanwarnformat{multi-paragraph object}}%
{}%
\RenewDocumentEnvironment{LWR@BlockClassWP}{m m D(){} m}%
@@ -23961,7 +24012,7 @@ end -- not --version
% \end{macro}
-% \begin{macro}{\LWR@htmlelementclass} \marg{element} \oarg{style} \marg{class}
+% \begin{macro}{\LWR@htmlelementclass} \marg{element} \oarg{style} \parg{\ARIA\ role} \marg{class}
%
% \changes{v0.20}{2017/01/17}{Added optional style.}
% \changes{v0.34}{2017/08/02}{Moved optional argument in front of mandatory.}
@@ -23981,12 +24032,15 @@ end -- not --version
% \begin{macro}{\LWR@htmlelementclassend} \marg{element} \marg{class}
+% \changes{v0.915}{2024/02/05}{Fix for empty class.}
% \begin{macrocode}
\newcommand*{\LWR@htmlelementclassend}[2]{%
\LWR@stoppars%
\LWR@htmltag{/#1}%
\ifbool{HTMLDebugComments}{%
- \LWR@htmlcomment{End of #1 ``#2''}%
+ \ifblank{#2}%
+ {\LWR@htmlcomment{End of #1}}%
+ {\LWR@htmlcomment{End of #1 ``#2''}}%
}{}%
\LWR@startpars%
}
@@ -24817,6 +24871,10 @@ end -- not --version
\newcommand{\LWR@pagetop}{} % for all other pages
\newcommand{\LWR@pagebottom}{}
% \end{macrocode}
+% \changes{v0.915}{2024/01/28}{Added \cs{HTMLMeta}, \cs{HTMLAddMeta}.}
+% \begin{macrocode}
+\newcommand{\LWR@HTMLmeta}{}
+% \end{macrocode}
%
%
% \begin{macro}{\HTMLFirstPageTop} \marg{text and logos}
@@ -24869,6 +24927,42 @@ end -- not --version
% \end{macrocode}
% \end{macro}
+
+% \begin{macro}{\HTMLMeta} \marg{name} \marg{content}
+%
+% Sets a custom \attribute{meta} tag for the following pages.
+%
+% \changes{v0.915}{2024/01/28}{Added.}
+% \begin{macrocode}
+\newcommand{\HTMLMeta}[2]{%
+ \renewcommand{\LWR@HTMLmeta}{%
+ \LWR@htmltag{%
+ meta name=\LWR@orig@textquotedbl{}#1\LWR@orig@textquotedbl\ % space
+ content=\LWR@orig@textquotedbl{}#2\LWR@orig@textquotedbl\ /%
+ }\LWR@orignewline%
+ }{}{}%
+}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\HTMLAddMeta} \marg{name} \marg{content}
+%
+% Adds to the custom \attribute{meta} tags for the following pages.
+%
+% \changes{v0.915}{2024/01/28}{Added.}
+% \begin{macrocode}
+\newcommand{\HTMLAddMeta}[2]{%
+ \apptocmd{\LWR@HTMLmeta}{%
+ \LWR@htmltag{%
+ meta name=\LWR@orig@textquotedbl{}#1\LWR@orig@textquotedbl\ % space
+ content=\LWR@orig@textquotedbl{}#2\LWR@orig@textquotedbl\ /%
+ }\LWR@orignewline%
+ }{}{}%
+}
+% \end{macrocode}
+% \end{macro}
+
+
% \begin{macrocode}
\end{warpall}
% \end{macrocode}
@@ -25044,14 +25138,15 @@ end -- not --version
% This is placed inside an \HTML\ meta tag at the start of each file.
-% This may be changed mid-document using \cs{HTMLDescription},
-% allowing different \HTML\ descriptions to be used
+% This may be changed mid-document using \cs{HTMLAuthor},
+% allowing different \HTML\ authors to be used
% for different sections of the document.
%
% Do not use double quotes, and do not exceed 150 characters.
% \trouble[HTML author]{HTMLAuthor=\cs{HTMLAuthor}}
% \trouble{HTML>author}
+
% \begin{macro}{\HTMLDescription} \marg{New \HTML\ meta description.} \qquad
% Assigns the \HTML\ file's description meta tag.
%
@@ -25068,13 +25163,31 @@ end -- not --version
\newcommand{\HTMLDescription}[1]{%
\renewcommand{\LWR@currentHTMLDescription}{#1}
}
+% \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\HTMLKeywords} \marg{New \HTML\ meta keywords.} \qquad
+% Assigns the \HTML\ file's keywords meta tag.
+%
+% \gindex{HTML>meta tag>keywords}
+% \gindex{keywords>HTML meta tag}
+% \gindex{meta tag, HTML>keywords}
+%
+% \changes{v0.915}{2024/02/04}{Added.}
+%
+% \begin{macrocode}
+\newcommand{\LWR@currentHTMLKeywords}{}
+
+\newcommand{\HTMLKeywords}[1]{%
+\renewcommand{\LWR@currentHTMLKeywords}{#1}
+}
\end{warpall}
% \end{macrocode}
% \end{macro}
-
% \section{Footnotes}
% \label{sec:footnotes}
%
@@ -26551,8 +26664,10 @@ end -- not --version
% \begin{macrocode}
\LWR@stoppars
\LWR@htmlcomment{MathJax customizations:}
-
-\begin{BlockClass}{hidden}
+% \end{macrocode}
+% \changes{v0.915}{2024/02/04}{Added \texttt{data-nosnippet} to \MathJax\ customization \element{div}.}
+% \begin{macrocode}
+\LWR@htmlelementclass{div data-nosnippet}[display:none]{}
\LWR@stoppars
% \end{macrocode}
%
@@ -26563,7 +26678,7 @@ end -- not --version
\LWR@print@ttfamily
\LWR@customizedMathJax
}
-\end{BlockClass}
+\LWR@htmlelementclassend{div}{}
}{}
}
% \end{macrocode}
@@ -28036,6 +28151,7 @@ end -- not --version
content=\LWR@orig@textquotedbl{}LaTeX Lwarp package\LWR@orig@textquotedbl\ /%
}\LWR@orignewline%
% \end{macrocode}
+%
% If there is a description, add it now:
% \begin{macrocode}
\ifdefempty{\LWR@currentHTMLDescription}{}{%
@@ -28046,6 +28162,17 @@ end -- not --version
}%
% \end{macrocode}
%
+% If there are keywords, add it now:
+% \changes{v0.915}{2024/02/04}{Added \cs{HTMLKeywords}.}
+% \begin{macrocode}
+\ifdefempty{\LWR@currentHTMLKeywords}{}{%
+ \LWR@htmltag{%
+ meta name=\LWR@orig@textquotedbl{}keywords\LWR@orig@textquotedbl\ % space
+ content=\LWR@orig@textquotedbl\LWR@currentHTMLKeywords\LWR@orig@textquotedbl\ /%
+ }\LWR@orignewline
+}%
+% \end{macrocode}
+%
% Mobile-friendly viewport:
% \gindex{HTML>meta tag>viewport}
% \gindex{viewport>HTML meta tag}
@@ -28060,6 +28187,13 @@ end -- not --version
%
% \changes{v0.912}{2023/08/28}{Removed IE 9 shim patch.}
%
+% Custom \HTML\ \attribute{meta} tags:
+% \changes{v0.915}{2024/01/28}{Added \cs{HTMLMeta}, \cs{HTMLAddMeta}.}
+% \begin{macrocode}
+\LWR@HTMLmeta
+% \end{macrocode}
+%
+%
% The page's title, if there is one.
% A section name is also added if given.
% \changes{v0.44}{2017/11/18}{Add \cs{HTMLTitle}.}
@@ -29938,13 +30072,10 @@ end -- not --version
%
%
%
-% \DescribeMacro{\makelabel}
-% \limitsmakelabel
+% \subsection{List environment}
%
% \changes{v0.34}{2017/07/27}{Lists refactored to remove \pkg{enumitem} requirement.}
%
-% \subsection{List environment}
-%
% \codehtml
% \begin{macrocode}
\begin{warpHTML}
@@ -29959,16 +30090,23 @@ end -- not --version
% \end{macro}
% \begin{macro}{\LWR@printopenlist}
-% May be locally redefined by \env{enumerate} or \env{description}.
+% May be locally redefined by \env{itemize}, \env{enumerate}, \env{description},
+% or \env{hanginglist} from package \pkg{hang}.
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
+% \changes{v0.915}{2024/01/24}{Add \HTML\ class to lists.}
% \begin{macrocode}
\newcommand*{\LWR@printopenlist}{%
- ul style=\textquotedbl\LWR@print@mbox{list-style-type:none}\textquotedbl{}%
+ ul % space
+ class=\textquotedbl{}list\textquotedbl{} % space
+ style=\textquotedbl\LWR@print@mbox{list-style-type:none}\textquotedbl{}%
}
% \end{macrocode}
% \end{macro}
+% \DescribeMacro{\makelabel}
+% \limitsmakelabel
+%
% \begin{macro}{\@mklab}
% Removes \PDF\ spacing.
% \changes{v0.45}{2018/01/11}{Modified for \HTML.}
@@ -30004,6 +30142,13 @@ end -- not --version
% \end{macro}
%
%
+% \begin{macro}{\LWR@makelabeltag} Used to add \element{dt} for descriptions.
+% Empty for other list types.
+% \changes{v0.915}{2024/01/24}{Add \HTML\ class to list markers.}
+% \begin{macrocode}
+\newcommand*{\LWR@makelabeltag}{}
+% \end{macrocode}
+% \end{macro}
%
%
% \begin{macro}{\@item}
@@ -30076,9 +30221,25 @@ end -- not --version
\fi
\fi
% \end{macrocode}
+%
% \changes{v0.51}{2018/03/17}{Restored list label space.}
+% \changes{v0.915}{2024/01/24}{Add \HTML\ class to list markers.}
+%
+% If not empty, print the label with the class \attribute{listmarker}:
% \begin{macrocode}
- \makelabel{#1} % extra space
+ \ifboolexpr{
+ test {\ifblank{#1}} or
+ (
+ test {\ifstrequal{#1}{\@itemlabel}} and
+ test {\ifdefempty{\@itemlabel}}
+ )
+ }%
+ {}%
+ {%
+ \ifdefempty{\LWR@makelabeltag}{}{\LWR@htmltag{\LWR@makelabeltag}}%
+ \InlineClass{listmarker}{\makelabel{#1}}%
+ \ifdefempty{\LWR@makelabeltag}{}{\LWR@htmltag{/\LWR@makelabeltag}} % extra space
+ }%
% \sbox\@tempboxa{\makelabel{#1}%
% \global\setbox\@labels\hbox{%
% \unhbox\@labels
@@ -30209,11 +30370,14 @@ end -- not --version
% \begin{environment}{itemize} \oarg{options}
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
+% \changes{v0.915}{2024/01/24}{Add \HTML\ class to lists.}
% \begin{macrocode}
\newcommand*{\LWR@itemizestart}{%
\renewcommand*{\LWR@printcloselist}{\LWR@printcloseitemize}%
\renewcommand*{\LWR@printopenlist}{%
- ul style=\textquotedbl\LWR@print@mbox{list-style-type:none}\textquotedbl{}%
+ ul % space
+ class=\textquotedbl{}itemize\textquotedbl{} % space
+ style=\textquotedbl\LWR@print@mbox{list-style-type:none}\textquotedbl{}%
}%
\LetLtxMacro\item\LWR@itemizeitem%
\LWR@nulllistfills%
@@ -30230,11 +30394,14 @@ end -- not --version
% \begin{environment}{enumerate} \oarg{options}
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
+% \changes{v0.915}{2024/01/24}{Add \HTML\ class to lists.}
% \begin{macrocode}
\newcommand*{\LWR@enumeratestart}{%
\renewcommand*{\LWR@printcloselist}{\LWR@printcloseitemize}%
\renewcommand*{\LWR@printopenlist}{%
- ul style=\textquotedbl\LWR@print@mbox{list-style-type:none}\textquotedbl{}%
+ ul % space
+ class=\textquotedbl{}enumerate\textquotedbl{} % space
+ style=\textquotedbl\LWR@print@mbox{list-style-type:none}\textquotedbl{}%
}%
\LetLtxMacro\item\LWR@itemizeitem%
\LWR@nulllistfills%
@@ -30256,17 +30423,20 @@ end -- not --version
% While creating the label, encase it inside tags and disable \cs{hspace},
% which is used by the standard classes to add space to the labels.
% \changes{v0.73}{2019/06/23}{Fix: \HTML\ tags.}
+% \changes{v0.915}{2024/01/24}{Add \HTML\ class to list markers.}
% \begin{macrocode}
\begingroup%
- \let\LWR@orig@desc@makelabel\makelabel
- \renewcommand*{\makelabel}[1]{%
- \LWR@htmltag{dt}%
- \LWR@orig@desc@makelabel{#1}%
- \LWR@htmltag{/dt}%
- }
+ \renewcommand*{\LWR@makelabeltag}{dt}%
\RenewDocumentCommand{\hspace}{s m}{}%
\LWR@origitem[#1]%
\endgroup%
+% \end{macrocode}
+% Allow \cs{item} without an argument:
+% \changes{v0.915}{2024/01/24}{Fix for \cs{item} without opt arg.}
+% \begin{macrocode}
+ \leavevmode%
+% \end{macrocode}
+% \begin{macrocode}
\LWR@orignewline%
\LWR@htmltag{dd}%
\LWR@startpars%
@@ -30279,10 +30449,14 @@ end -- not --version
% Footnotes are modified to correctly parse optional arguments.
% \changes{v0.896}{2021/03/14}{Fix: Footnotes inside \env{description} label.}
% \changes{v0.902}{2021/09/24}{Improved footnotes.}
+% \changes{v0.915}{2024/01/24}{Add \HTML\ class to lists.}
% \begin{macrocode}
\newcommand*{\LWR@descriptionstart}{%
\renewcommand*{\LWR@printcloselist}{\LWR@printclosedescription}
- \renewcommand*{\LWR@printopenlist}{dl}
+ \renewcommand*{\LWR@printopenlist}{%
+ dl % space
+ class=\textquotedbl{}description\textquotedbl{} % space
+ }
\LetLtxMacro\item\LWR@descitem%
\LWR@nulllistfills%
}
@@ -50156,6 +50330,7 @@ s%
% \marg{caption label} \marg{caption text}
% \begin{macrocode}
\IfPackageAtLeastTF{caption3}{2020/08/23}{
+%
\VerifyCommand[lwarp][caption3]{\caption@@@make}{F09A9BB05CE4EDF5A477D3CC2AE04F81}
%
\renewcommand\caption@@@make[2]{%
@@ -54866,7 +55041,7 @@ name = \chemmacros_translate:n {scheme-name}
\@doi@linksubs#1\#\@@\@doi@code
\@onelevel@sanitize{\@doi@code}%
\def\@doi@text{}%
-\@doi@textsubs#1\@nil\@@\@doi@text
+\@doi@textsubs#1\@nil\@@\@doi@text%
\xpretocmd{\@doi@code}{http://dx.doi.org/}{}{}%
\expandafter\href\expandafter{\@doi@code}{\doitext{\@doi@text}}}
% \end{macrocode}
@@ -63563,12 +63738,18 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
}
{\endBlockClass}
+% \end{macrocode}
+%
+% \changes{v0.915}{2024/01/24}{\pkg{hang}: Add \HTML\ class to lists.}
+% \begin{macrocode}
\newenvironment{hanginglist}
{%
\renewcommand*{\LWR@printcloselist}{\LWR@printcloseitemize}%
\renewcommand*{\LWR@printopenlist}{%
\LWR@findhangingleftmargin%
- ul style=\textquotedbl%
+ ul % space
+ class=\textquotedbl{}hanging\textquotedbl{} % space
+ style=\textquotedbl%
\LWR@print@mbox{list-style-type:none;} % extra space
\LWR@print@mbox{%
margin-left:\LWR@printlength{\LWR@templengthone}%
@@ -63596,7 +63777,8 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\LWR@findhangingleftmargin%
\LWR@print@mbox{margin-left:\LWR@printlength{\LWR@templengthone}} ; %
\LWR@print@mbox{text-indent:-\LWR@printlength{\hangingindent}}%
- ]{labeledpar}#2%
+ ]{labeledpar}%
+ \InlineClass{labeledparlabel}{#2}%
}
{\endBlockClass}
@@ -70395,6 +70577,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \changes{v0.87}{2020/05/20}{\pkg{mathtools}: Improved \cs{underbraket}, \cs{overbracket}.}
% \changes{v0.891}{2020/09/19}{\pkg{mathtools}: Improved \cs{underbraket}, \cs{overbracket}.}
% \changes{v0.901}{2021/08/26}{\pkg{mathtools}: Uses \MathJax\ 3.2 package.}
+% \changes{v0.915}{2024/02/05}{\pkg{mathtools}: Added newline to \cs{newgathered} \MathJax\ customization.}
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\require{mathtools}}
@@ -70535,7 +70718,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\LWR@subcustomizedmathjax{%
\newenvironment{#1}{\begin{gathered}}{\end{gathered}}%
}%
- \appto\LWR@customizedMathJax{\LWRbackslash)}%
+ \appto\LWR@customizedMathJax{\LWRbackslash)\LWR@orignewline}%
}
\@onlypreamble\newgathered
@@ -77288,7 +77471,7 @@ background:
% \codehtml
%
% \begin{macrocode}
-\LWR@ProvidesPackagePass{pdfpages}[2022-10-09]
+\LWR@ProvidesPackagePass{pdfpages}[2024-01-21]
% \end{macrocode}
%
% Disable option which have no meaning for \HTML\ output:
@@ -77371,17 +77554,18 @@ background:
% \begin{noindmacro}{\AM@output}
% Patched to use \cs{LWR@esopic@newpage}.
% \changes{v0.909}{2022/07/15}{\pkg{pdfpages}: Updated to v0.5w.}
+% \changes{v0.915}{2024/02/05}{\pkg{pdfpages}: Updated to v0.5y.}
% \begin{macrocode}
-\VerifyCommand[lwarp][pdfpages]{\AM@output@i}{642914BBA600927BFEC7D27A97A4A59D}
+\VerifyCommand[lwarp][pdfpages]{\AM@output@i}{A962EC58215FABF2447E4ADEEDC3D3D5}
\xpatchcmd{\AM@output@i}
- {\newpage}
+ {\clearpage}%
{\LWR@esopic@newpage}
{}
{\LWR@patcherror{pdfpages}{AM@output-1}}
\xpatchcmd{\AM@output@i}
- {\newpage}
+ {\clearpage}%
{\LWR@esopic@newpage}
{}
{\LWR@patcherror{pdfpages}{AM@output-2}}
@@ -96614,12 +96798,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \begin{macrocode}
\renewcommand*{\setverbatimfont}[1]{}
-\renewcommand*{\tabson}[1]{}
-\renewcommand*{\tabsoff}{}
-\renewcommand*{\wrappingon}{}
-\renewcommand*{\wrappingoff}{}
-\renewcommand*{\verbatimindent}{}
-\renewcommand*{\verbatimbreakchar}[1]{}
+\renewcommand*{\tabson}[1]{}% disabled as of 3.8.2
+\renewcommand*{\tabsoff}{}% disabled as of 3.8.2
+\renewcommand*{\wrappingon}{}% disabled as of 3.8.2
+\renewcommand*{\wrappingoff}{}% disabled as of 3.8.2
+\renewcommand*{\verbatimindent}{}% no longer used as of 3.8.2
+\renewcommand*{\verbatimbreakchar}[1]{}% no longer used as of 3.8.2
% \end{macrocode}
%
% \begin{macrocode}
diff --git a/macros/latex/contrib/lwarp/lwarp.pdf b/macros/latex/contrib/lwarp/lwarp.pdf
index 08bc4839c0..6e1bff2fdc 100644
--- a/macros/latex/contrib/lwarp/lwarp.pdf
+++ b/macros/latex/contrib/lwarp/lwarp.pdf
Binary files differ
diff --git a/macros/latex/contrib/lwarp/lwarpmk.lua b/macros/latex/contrib/lwarp/lwarpmk.lua
index 121957dd19..f6b1589850 100755
--- a/macros/latex/contrib/lwarp/lwarpmk.lua
+++ b/macros/latex/contrib/lwarp/lwarpmk.lua
@@ -2,7 +2,7 @@
-- Copyright 2016-2024 Brian Dunn
-printversion = "v0.914"
+printversion = "v0.915"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()
diff --git a/macros/latex/contrib/spbmark/spbmark.pdf b/macros/latex/contrib/spbmark/spbmark.pdf
index bd7701a44a..90e46b31bf 100644
--- a/macros/latex/contrib/spbmark/spbmark.pdf
+++ b/macros/latex/contrib/spbmark/spbmark.pdf
Binary files differ
diff --git a/macros/latex/contrib/spbmark/spbmark.sty b/macros/latex/contrib/spbmark/spbmark.sty
index 4b7a7f981b..e846f52fde 100644
--- a/macros/latex/contrib/spbmark/spbmark.sty
+++ b/macros/latex/contrib/spbmark/spbmark.sty
@@ -9,7 +9,7 @@
% https://creativecommons.org/licenses/by/4.0/legalcode
\NeedsTeXFormat{LaTeX2e}[2018/12/31]
\RequirePackage{xparse,l3keys2e}
-\ProvidesExplPackage{spbmark}{2024/02/05}{1.46}
+\ProvidesExplPackage{spbmark}{2024/02/06}{1.46b}
{Customize superscripts and subscripts}
\cs_generate_variant:Nn \box_set_ht:Nn { cv }
@@ -479,10 +479,21 @@
Alignment~only~supports~l,~c,~and~r. \\
The~l~parameter~will~be~used~by~default.
}
-\@ifpackageloaded{easybase}
- {\ctex_gadd_package_hook:nnn { after } { easybase }}
+\providecommand{\IfPackageLoadedTF}{\@ifpackageloaded}
+\providecommand{\IfFormatAtLeastTF}{\@ifl@t@r\fmtversion}
+\IfPackageLoadedTF{easybase}
+ {\AddToHook{package/easybase/after}}
{\use:n}
{ \keys_define:nn { } { ctex/style .inherit:n = spbmark/option } }
+\IfFormatAtLeastTF{2021/11/15}
+ {
+ \AddToHook{package/altsubsup/after}
+ {
+ \ifaltsbsp@spbmark
+ \SetAltSubSupCommands{\relax}
+ \else\fi
+ }
+ }{}
\cs_set_eq:NN \spb \supersub
\endinput
%
diff --git a/macros/latex/contrib/spbmark/spbmark.tex b/macros/latex/contrib/spbmark/spbmark.tex
index 727ee086a7..2c9319118c 100644
--- a/macros/latex/contrib/spbmark/spbmark.tex
+++ b/macros/latex/contrib/spbmark/spbmark.tex
@@ -1,13 +1,14 @@
\documentclass[load-preamble+]{cnltx-doc}
-\usepackage{spbmark,siunitx,setspace,pifont,hologo}
+\usepackage{siunitx,setspace,pifont,hologo}
+\usepackage[spbmark]{altsubsup}
\usepackage[noto]{newtxmath}
\setcnltx
{
package = spbmark,
title = the spbmark package,
- version = v1.46,
- date = 2024/02/05,
+ version = v1.46b,
+ date = 2024/02/06,
authors = Qu Yi,
info = Customize superscript and subscript,
email = toquyi@163.com,
@@ -78,7 +79,7 @@ There are currently three commands to set superscript and subscript. Their forma
\command{sub}[\sarg\oarg{kv list}\marg{content}\oarg{kv list}]
This is a subscript output command. The two \meta{kv list} are equivalent.
- When the horizontal movement distance of the marker is \emph{non-negative}, since the \cs{super} and \cs{sub} commands put the marker in a horizontal box, the horizontal position is staggered when using superscript and subscript \emph{consecutively}, which is a different mechanism than the sequential use of \code{\^{}} and \code{\_} symbols in math mode. The following three commands save the width of the previous marker, use it for negative move of the \option{hmove} option of the next marker, and provide the corresponding alignment.
+ When the horizontal movement distance of the marker is \emph{non-negative}, since the \cs{super} and \cs{sub} commands put the marker in a horizontal box, the horizontal position is staggered when using superscript and subscript \emph{consecutively}, which is a different mechanism than the sequential use of \code{\^{}} and \code{\_{}} symbols in math mode. The following three commands save the width of the previous marker, use it for negative move of the \option{hmove} option of the next marker, and provide the corresponding alignment.
It should be noted that the following commands should save the longer width of the marker, that is, the longer width of the marker in the front, the shorter width of the marker in the back. This is due to the fact that horizontal movement uses a negative distance to leave the marker in a zero-width box state.
\command{llastwd}\newtag%
@@ -222,6 +223,7 @@ Here is a list of the three commands, please pay attention to the usage of optio
4A\super{c}[vmove=5pt,hmove=-5.5pt]B\sub[vmove=5pt,hmove=-5pt]{d}AB
\end{example}
+\subsection{siunitx}
It can also be used with the \pkg*{siunitx} package to output superscript and subscript in the unit:
\begin{example}
\unit[mode=math]{kg.m/s\super[vmove=-1pt]{2}} \\
@@ -229,6 +231,20 @@ It can also be used with the \pkg*{siunitx} package to output superscript and su
\spbset{sbhmove=2pt}\unit[mode=text]{A\sub{b}}
\end{example}
+\subsection{realscripts}
+If the OpenType text font you are using does not have optical sizes, the superscript and subscript may not appear correctly. Loading the \pkg*{realscripts} macro package before the \pkg*{spbmark} macro package fixes this behavior.
+\begin{example}[code-only]
+ \usepackage{realscripts,spbmark}
+\end{example}
+
+\subsection{altsubsup}
+The \pkg*{altsubsup} package allows to write alternate superscript and subscript in math mode with \code{\^{}}\oarg{mark} and \code{\_{}}\oarg{mark} dimensions. When the macro package is loaded using the \code{spbmark} option, the superscript and subscript mechanism of \pkg*{spbmark} is used, you can use \cs{defspbstyle} to define its superscript style \code{altsup} and subscript style \code{altsub}.
+\begin{example}
+ \defspbstyle{altsup}{sphmove=-\llastwd,spvmove=1pt}
+ $A_[bcd]^[e]B$
+\end{example}
+
+\subsection{footnote}
\pkg*{spbmark} also patches the footer markers for standard document class and \cls*{KOMA-Script}. You can format the footer markers by redefining the \cs{fnmarkfont} command. Note that extra horizontal move does not work with footnote markers.
\section{Developer commands}
diff --git a/macros/latex/contrib/verifiche/verifiche-example.pdf b/macros/latex/contrib/verifiche/verifiche-example.pdf
index fa69279d9e..d2e1cc358a 100644
--- a/macros/latex/contrib/verifiche/verifiche-example.pdf
+++ b/macros/latex/contrib/verifiche/verifiche-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/verifiche/verifiche-example.tex b/macros/latex/contrib/verifiche/verifiche-example.tex
index f2c1b6155d..a72fa36937 100644
--- a/macros/latex/contrib/verifiche/verifiche-example.tex
+++ b/macros/latex/contrib/verifiche/verifiche-example.tex
@@ -42,7 +42,7 @@ Pesa di più un chilogrammo di ferro o un chilogrammo di piume?
Pesa di più un chilogrammo di ferro sulla Terra o un chilogrammo di piume su Giove?
\end{esercizio}
-\renewcommand{\diffsymb}{$\bullet$}
+\renewcommand{\diffsymb}{$\bigstar$}
\begin{esercizio}[diff=2, pt=5]\label{es:grav}%
Scrivere la legge di gravitazione universale e commentarla.
\end{esercizio}
@@ -254,7 +254,7 @@ Punteggio &&&&&&\\[1em]
%\pagestyle{plain}
\pagestyle{mainverifiche}
\institute{Scuola superiore di Paperopoli}
-\asyear[Anno accademico]{2022/2023}
+\asyear[Anno accademico]{2023/2024}
\duration[Tempo:]{2 ora}
\testtype{Compito di matematica}
\instruction{Risolvere il seguente esercizio nel più breve tempo possibile.\\}
@@ -270,21 +270,24 @@ Punteggio &&&&&&\\[1em]
}
+\renewcommand{\ptfont}{\footnotesize}
+
\begin{multitest}[4]
%\pgfmathsetseed{\themultitestcounter*42}
\subtitle{Test \Alph{multitestcounter}}
+\headingstyle{einstein}
\printheading
\pgfmathrandominteger{\ax}{-2}{2}
\pgfmathrandominteger{\ay}{-2}{2}
\pgfmathrandominteger{\bx}{-2}{2}
\pgfmathrandominteger{\by}{-2}{2}
-\begin{esercizio}
- Disegna, in un grafico cartesiano, i seguenti punti:
+\begin{esercizio}[partialpt]
+\partialpt{3} Disegna, in un grafico cartesiano, i seguenti punti:
\[
A = (\ax; \ay) \quad B = (\bx; \by)
\]
- e calcola la loro distanza.
+\partialpt{5} e calcola la loro distanza.
\end{esercizio}
\begin{soluzione}
diff --git a/macros/latex/contrib/verifiche/verifiche.dtx b/macros/latex/contrib/verifiche/verifiche.dtx
index 77321b4e69..fead99f348 100644
--- a/macros/latex/contrib/verifiche/verifiche.dtx
+++ b/macros/latex/contrib/verifiche/verifiche.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (LPPL) 2020 - 2023 by Francesco Raccanello
+% Copyright (LPPL) 2020 - 2024 by Francesco Raccanello
%
% This file may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -16,7 +16,7 @@
%
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}
-%<package>\ProvidesPackage{verifiche} [2023/08/22 v7.0 .dtx verifiche file]
+%<package>\ProvidesPackage{verifiche} [2024/02/05 v7.1 .dtx verifiche file]
%<*driver>
\documentclass{ltxdoc}
\usepackage[utf8]{inputenc}
@@ -71,7 +71,7 @@
%</driver>
% \fi
%
-% \CheckSum{1210}
+% \CheckSum{1211}
% \changes{v1.0}{2020/06/14}{Initial version.}
% \changes{v2.0}{2020/06/26}{Better performance in exercise environment.}
% \changes{v2.1}{2020/06/30}{Introduced closedquestionitem to control |item| symbol.}
@@ -86,6 +86,7 @@
% \changes{v5.1}{2022/06/16}{Minor update. Clean the code for printheading command; better appearance for openquestion command.}
% \changes{v5.2}{2022/06/21}{Minor update. Resolve bugs in printheading command.}
% \changes{v7.0}{2023/08/22}{Major update. Remove some unnecessary packages. Add ptfont command to manage points font. Modify environments to avoid page break after the name of the environment. Adding the possibility to define own heading aspect. Define three types of headings: galilei, einstein and cattaneo.}
+% \changes{v7.1}{2024/02/05}{Minor update. Add ptfont to partialpt.}
% \GetFileInfo{verifiche.sty}
% \DoNotIndex{\newcommand,\newenvironment,\def,\begin,\end,\par}
% \DoNotIndex{\DeclareOption,\ExecuteOptions,\ProcessOptions,\RequirePackage}
@@ -1783,7 +1784,7 @@ dell'esercizio somministrato
\NewDocumentCommand{\partialpt}{m}{%
\ifshowexercisept%
\leavevmode\reversemarginpar\marginpar{%
- \hfill\@partialptprefix%
+ \ptfont\hfill\@partialptprefix%
\@lpartialpt@delimiter#1\space\@usepartialptlabel{#1}%
\@rpartialpt@delimiter%
\addtocounter{partialpoints}{#1}}\ignorespaces%
diff --git a/macros/latex/contrib/verifiche/verifiche.ins b/macros/latex/contrib/verifiche/verifiche.ins
index d0cede8bb2..e9c99f3502 100644
--- a/macros/latex/contrib/verifiche/verifiche.ins
+++ b/macros/latex/contrib/verifiche/verifiche.ins
@@ -1,5 +1,5 @@
%%
-%% Copyright (C) 2020 - 2023 i by Francesco Raccanello
+%% Copyright (C) 2020 - 2024 i by Francesco Raccanello
%%
%% This file may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
diff --git a/macros/latex/contrib/verifiche/verifiche.pdf b/macros/latex/contrib/verifiche/verifiche.pdf
index a7aec53bf4..75d1792fd7 100644
--- a/macros/latex/contrib/verifiche/verifiche.pdf
+++ b/macros/latex/contrib/verifiche/verifiche.pdf
Binary files differ