summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/asmejour/asmejour.cls
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-08-12 03:03:18 +0000
committerNorbert Preining <norbert@preining.info>2020-08-12 03:03:18 +0000
commite0812858de2e5d85ce63d194b8e02f2fd69a86fc (patch)
tree4c6a8c0490b558cdb9d5e2a758210fe412fefe15 /macros/latex/contrib/asmejour/asmejour.cls
parentc61c8a61c19de450cc1b0fe5010769090a42740b (diff)
CTAN sync 202008120303
Diffstat (limited to 'macros/latex/contrib/asmejour/asmejour.cls')
-rw-r--r--macros/latex/contrib/asmejour/asmejour.cls77
1 files changed, 70 insertions, 7 deletions
diff --git a/macros/latex/contrib/asmejour/asmejour.cls b/macros/latex/contrib/asmejour/asmejour.cls
index 2f2ff1f999..4aec9de24f 100644
--- a/macros/latex/contrib/asmejour/asmejour.cls
+++ b/macros/latex/contrib/asmejour/asmejour.cls
@@ -6,9 +6,9 @@
%% The asmejour.cls file should be used with the files asmejour.bst (for citations) and asmejour-template.tex.
%%
%%
-%% This file is version 1.12 dated 2020/04/12.
- \def\versionno{1.12}
- \def\versiondate{2020/04/12\space}
+%% This file is version 1.13 dated 2020/08/10.
+ \def\versionno{1.13}
+ \def\versiondate{2020/08/10\space}
%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
@@ -61,6 +61,7 @@
%%%%%%%%%%%%%% Options for the class %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{ifthen}
+\RequirePackage{iftex} % check whether pdftex or another engine is used
\newboolean{DefaultSups}
\setboolean{DefaultSups}{true}
@@ -74,11 +75,19 @@
\newboolean{lists}
\setboolean{lists}{true}
+\newboolean{setpdfa}
+\setboolean{setpdfa}{false}
+\newboolean{pdfaone}
+\setboolean{pdfaone}{false}
+
+
\RequirePackage{kvoptions}
%\RequirePackage{kvsetkeys} %<== this package is called by kvoptions
\SetupKeyvalOptions{
family=asmejour,
prefix=asmejour@,
+ family=pdfaopt,
+ prefix=pdafopt@,
setkeys=\kvsetkeys,
}
@@ -128,7 +137,31 @@
\setboolean{lists}{#1}
}
-\ProcessKeyvalOptions*
+\ProcessKeyvalOptions{asmejour}
+
+
+
+\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]{%
+ \setboolean{setpdfa}{#1}%
+ \PassOptionsToPackage{pdfa,pdfapart=3,pdfaconformance=u}{hyperref}%
+}
+%%% to select part 1, 2 or 3
+ \define@key{pdfaopt}{pdfapart}[3]{%
+ \PassOptionsToPackage{pdfapart=#1}{hyperref}%
+ \ifthenelse{\equal{#1}{1}}{\setboolean{pdfaone}{true}}{\relax}%
+}
+%% to select conformance b or u. NB: a is not possible with pdfLaTeX, and u is not possible with 1.
+ \define@key{pdfaopt}{pdfaconformance}[u]{%
+ \PassOptionsToPackage{pdfaconformance=#1}{hyperref}%
+}
+ \ProcessKeyvalOptions{pdfaopt}
+\else
+ \ClassWarningNoLine{asmejour}{PDF/A compliance option requires pdfLaTeX engine}%
+\fi
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -171,6 +204,10 @@
\ClassWarningNoLine{asmejour}{Allowing hyphenation of typewriter font}%
}
+%%% Option to activate pdf/a-3u compliance [pdfa] (requires hyperxmp package)
+%\ifthenelse{\boolean{setpdfa}}{%
+% \PassOptionsToPackage{pdfa,pdfapart=3,pdfaconformance=u}{hyperref}}{\relax}%
+
%% Suppress warnings about mathalfa keys as unused global options
\DeclareOption*{}
@@ -212,9 +249,11 @@
\RequirePackage[T1]{fontenc}
-\RequirePackage{iftex} % check whether pdftex or another engine is used
\ifpdftex
- \pdfminorversion=7 % This selection is not required.
+ \ifthenelse{\boolean{pdfaone}}{
+ \pdfminorversion=4}{% for pdf/a-1 need version 4, not 7
+ \pdfminorversion=7 % this selection is not really required.
+ }
\RequirePackage[utf8]{inputenc} % for backward compatibility with pre-2018 distributions
\else
\relax
@@ -223,7 +262,7 @@
\RequirePackage{mathtools} % extends amsmath
\RequirePackage[]{babel}
\RequirePackage[]{newtxtext}
-\RequirePackage[]{inconsolata} % sans typewriter font % removed varl, varqu 2020/04/08 for unicode compatibility
+\RequirePackage[varl,varqu]{inconsolata} % sans typewriter font; restored varl, varqu 2020/08/10
\RequirePackage[]{newtxmath}
%% override \textsu if using default superiors
@@ -476,8 +515,32 @@
\setlist[enumerate,1]{label = (\arabic*), ref = (\arabic*),labelindent=3mm, leftmargin=*,noitemsep}
%% I have no examples of sublists...
+
%%%%%%%%%%%%%%%%% Hyperref %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\ifthenelse{\boolean{setpdfa}}{%
+%
+ %%% to assist with unicode glyph mapping, following M. Sharpe's recommendation in newtx documentation.
+ \pdfgentounicode=1 %% enable CMaps
+ \input glyphtounicode.tex %% lists of mappings
+ \InputIfFileExists{glyphtounicode-cmr.tex}{}{} %% additional mappings
+ \InputIfFileExists{glyphtounicode-ntx.tex}{}{} %% additional mappings
+%
+%%% a fairly generic RGB color profile, aimed at on-screen rendering (not print production)
+\immediate\pdfobj stream attr{/N 3} file{sRGB.icc}
+\pdfcatalog{%
+ /OutputIntents [
+ <<
+ /Type /OutputIntent
+ /S /GTS_PDFA1
+ /DestOutputProfile \the\pdflastobj\space 0 R
+ /OutputConditionIdentifier (sRGB)
+ /Info (sRGB)
+ >>
+ ]
+}%
+}{\relax}
+
\RequirePackage{hyperxmp} %% to fix transfer of metadata to Acrobat pdf
\RequirePackage[%