summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/asmeconf
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-08-12 21:15:22 +0000
committerKarl Berry <karl@freefriends.org>2020-08-12 21:15:22 +0000
commit6c48c0eddda66705bab3f457ae5edd01ffdeed76 (patch)
treefb55f23d6e903c291c949c5dfac2abd24fc8225c /Master/texmf-dist/tex/latex/asmeconf
parentdb812f29f1f876fdf7ff53066e8b8504ca6afbaf (diff)
asmeconf (12aug20)
git-svn-id: svn://tug.org/texlive/trunk@56096 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/asmeconf')
-rw-r--r--Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls76
1 files changed, 66 insertions, 10 deletions
diff --git a/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls b/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls
index be225271d9c..b1f0ec6b349 100644
--- a/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls
+++ b/Master/texmf-dist/tex/latex/asmeconf/asmeconf.cls
@@ -5,9 +5,9 @@
%%
%% Please note that ASME's journals follow specifications different from ASME conference papers.
%%
-%% This file is version 1.18 dated 2020/04/14.
- \def\versionno{1.18}
- \def\versiondate{2020/04/14\space}
+%% This file is version 1.19 dated 2020/08/12.
+ \def\versionno{1.19}
+ \def\versiondate{2020/08/12\space}
%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
@@ -22,6 +22,7 @@
%% 4. Use the newtxtext and newtxmath font packages, including relevant features
%% 5. Provide automatic layout of author names and addresses
%% 6. Support bold face, sans serif math in headings
+%% 7. Support the archival PDF/A standards 1b, 2b, 2u, 3b, and 3u
%%
%% This class is compatible with either pdfLaTeX or LuaLaTeX. The class uses a number of packages,
%% many of which are part of the standard LaTeX distribution, and all of which are in TeXLive and
@@ -33,7 +34,7 @@
%% This class is not designed for unicode-math or fontspec, given that the ASME conference style is
%% specific with respect to the font selections.
%%
-%% Options for the class are configured on lines 79-169.
+%% Options for the class are configured on lines 79-210.
%%
%% The class defines two environments: abstract and nomenclature. The latter has an optional argument to
%% control the space between the entries and the definitions.
@@ -78,6 +79,7 @@
%%%%%%%%%%%%%% Options for the class %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{ifthen}
+\RequirePackage{iftex} % check whether pdftex or another engine is used
\newboolean{DefaultSups}
\setboolean{DefaultSups}{true}
\newboolean{Oldauthors}
@@ -86,13 +88,18 @@
\setboolean{Balance}{false}
\newboolean{lineno}
\setboolean{lineno}{false}
-
+\newboolean{setpdfa}
+\setboolean{setpdfa}{false}
+\newboolean{pdfaone}
+\setboolean{pdfaone}{false}
\RequirePackage{kvoptions}
%\RequirePackage{kvsetkeys} % already loaded by kvoptions
\SetupKeyvalOptions{
family=asmeconf,
prefix=asmeconf@,
+ family=pdfaopt,
+ prefix=pdafopt@,
setkeys=\kvsetkeys,
}
@@ -137,7 +144,31 @@
\PassOptionsToPackage{#1}{babel}%
}
-\ProcessKeyvalOptions*
+\ProcessKeyvalOptions{asmeconf}
+
+
+\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
+
+%%%%%%%%%%%%%%%%%%%
%% option to have colored hyperlinks
\DeclareOption{colorlinks}{%
@@ -204,9 +235,11 @@
\RequirePackage[T1]{fontenc}
-\RequirePackage{iftex} % check whether pdfTeX or a different 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
@@ -343,7 +376,30 @@
\titleformat{\section}{\mathversion{sansbold}\bfseries\sffamily\raggedright}{\MakeTextUppercase{\appendixname}\ \thesection.}{0.5em}{\MakeTextUppercase}
}
-%%%%%%%%%%%%% hyperref %%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%% 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
@@ -363,7 +419,7 @@
pdftitle={}, % <=== add in .tex file
pdfkeywords={}, % <=== add in .tex file
pdfnewwindow=true,%
- pdfpagelayout=TwoPageRight,%
+ pdfpagelayout=SinglePage, %TwoPageRight,% changed this 12/08/2020
pdfauthor={}, % <=== add in .tex file
pdfdisplaydoctitle=true%
]{hyperref}