diff options
Diffstat (limited to 'macros/latex/contrib/asmejour/asmejour.cls')
-rw-r--r-- | macros/latex/contrib/asmejour/asmejour.cls | 47 |
1 files changed, 39 insertions, 8 deletions
diff --git a/macros/latex/contrib/asmejour/asmejour.cls b/macros/latex/contrib/asmejour/asmejour.cls index 48c33b0ed8..f4ac5c2826 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.16} - \def\versiondate{2021/12/23\space} + \def\versionno{1.17} + \def\versiondate{2021/12/26\space} %% %% Author: John H. Lienhard V %% Department of Mechanical Engineering @@ -68,23 +68,51 @@ \LoadClass[twoside,9pt,twocolumn]{extarticle} \ifdefined\NewDocumentCommand\else - \RequirePackage{xparse} + \RequirePackage{xparse}[2020/02/25] \fi -\RequirePackage{etoolbox}% dropped xpatch 2020/02/28 +\RequirePackage{etoolbox} \RequirePackage{ifthen} -\RequirePackage{iftex}% check whether pdftex or another engine is used -\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}% backward compatibility (Thanks Ulrike Fischer) +%%%%%%%%%%%%% Test compatibility of older distributions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}% backward compatibility (thanks Ulrike Fischer) + +\IfFormatAtLeastTF{2020/02/25}{% + \ClassInfo{asmeconf}{Your LaTeX format is dated \fmtversion. LaTeX distributions 2020 or later are strongly recommended for best results} + }{% + \ClassError{asmeconf}{Your LaTeX format is dated \fmtversion. Formats dated 2020 or later are recommended for the asmejour class. Older formats may generate errors or fail entirely}{Please UPDATE your LaTeX distribution to obtain best results. TeX Live is available for download at no charge: \string https://www.tug.org/texlive/. (You can try to click past the errors for now, but your abstract will probably not compile properly.)}% +} + \DeclareDocumentCommand\LogNote{m}{% \IfFormatAtLeastTF{2021/11/15}{% - \ClassNoteNoLine{asmejour}{#1}% New with this recent format + \ClassNoteNoLine{asmejour}{#1}% New with the recent LaTeX format }{% \ClassWarningNoLine{asmejour}{#1}% } } +%% provide iftex command \ifpdftex for those still running old distributions +\IfFormatAtLeastTF{2019/11/07}{% + \RequirePackage{iftex}% check whether pdftex or another engine is used + }{% + \LogNote{The asmeconf class requires the missing package iftex---trying a work-around.} + % Code copied from iftex package written by the LaTeX3 Project (used under LPPL). + % \csname and \let construct useful for hiding \ifzzz tokens from outer level \if tests. + \def\IFTEX@let#1#2{% + \expandafter\let\csname if#1\expandafter\endcsname + \csname if#2\endcsname} + % pdftex (including in dvi mode) + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname pdftexversion\endcsname\relax + \IFTEX@let{pdftex}{false} + \else + \IFTEX@let{pdftex}{true} + \fi + \IFTEX@let{PDFTeX}{pdftex} +} + + %%%%%%%%%%%%%% Options for the class %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{kvoptions}% this package calls kvsetkeys @@ -327,7 +355,8 @@ \RequirePackage[utf8]{inputenc}% for backward compatibility with pre-2018 LaTeX distributions \else \ifaj@setpdfa\ClassWarningNoLine{asmejour}{pdf-a option requires pdfLaTeX engine. Under LuaLaTeX, use % - \protect\DeclareDocumentMetadata{pdfstandard=A-3b} before \protect\begin{document}}\fi% + \protec\RequirePackage{pdfmanagement-testphase} % + \protect\DeclareDocumentMetadata{pdfstandard=A-3b} before \protect\documentclass[..]{asmejour}}\fi% \ifluatex \directlua{ if pdf.getminorversion() \string~= 7 then @@ -773,6 +802,8 @@ \renewcommand{\doitext}{doi:~} % change the default, {doi:}, to this for ASME specification \RequirePackage{bookmark} % improves handling of pdf bookmarks +\providecommand*{\toclevel@subfigure}{1}% <== to address unknown bookmark level of subfigure. 2021/12/24 + \providecommand\hrefurl[2]{\href{#1}{#2}}% to address certain issues around URL recognition with new pdf management code, 2021/12/22 %% This alias is also incorporated into asmejour.bst |