%%
%% This is file `novel-FileData.sty', part of class `novel'.
%% Copyright 2017 Robert Allgeyer.
%%
%% 
%% This file may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%%    http://www.latex-project.org/lppl.txt
%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%% 
%%
\ProvidesFile{novel-FileData.sty}%
[2017/05/04 v1.2 LaTeX file (File Data settings)]
%% 


%% FILE DATA (see class documentation for technical meaning of this term).
%% -----------------------------------------------------------------------------
%%
% \title{} or \SetTitle{}
% Must be used immediately after \documentclass[options]{novel}.
% Copied to metadata at end of preamble, unless not set or over-ridden.
% May be over-ridden in metadata using \metatitle{}.
% May be re-set in body, but not in metadata.
% Provides \thetitle anywhere.
% If not set, PDF cannot conform to PDF/X.
\gdef\SetTitle#1{\gdef\@title{#1}} % for stylistic consistency
\gdef\title#1{\gdef\@title{#1}}
\gdef\thetitle{\@title}
\gdef\theTitle{\@title}
\title{}
%
% \author{} or \SetAuthor{}
% Copied to metadata at end of preamble, unless not set or over-ridden.
% May be over-ridden in metadata using \metaauthor{}.
% May be re-set in body, but not in metadata.
% Provides \theauthor anywhere.
\gdef\SetAuthor#1{\gdef\@author{#1}} % for stylistic consistency
\gdef\author#1{\gdef\@author{#1}}
\gdef\theauthor{\@author}
\gdef\theAuthor{\@author}
\author{}
%
% \subtitle{}  or \SetSubtitle{}  (if any)
% Not copied to metadata by itself, as there is no such metadata entry.
% May appear in metadata along with title, using \metatitle{}. See below.
% May be re-set in body.
% Provides \thesubtitle anywhere.
\gdef\SetSubtitle#1{\gdef\@subtitle{#1}} % for stylistic consistency
\gdef\subtitle#1{\gdef\@subtitle{#1}}
\gdef\thesubtitle{\@subtitle}
\gdef\theSubtitle{\@subtitle}
\subtitle{}
%
% \SetApplication{}  (rarely used)
% Also known as CreatorTool.
% Name of the software that created the source document.
% Changing this does not change the software, it just changes the name.
% Normally leave as default, but can change if urgent.
\gdef\SetApplication#1{\gdef\@novelApplication{#1}}
\SetApplication{LaTeX with novel and microtype} % default
%
% \SetProducer{}  (rarely used)
% Name of the software that compiles to source to make PDF.
% Changing this does not change the software, it just changes the name.
% Normally leave as default, but can change if urgent.
\gdef\SetProducer#1{\gdef\@novelProducer{#1}}
\SetProducer{LuaTeX with novel-pdfx and hyperref} % default
%
% Although some other data fields could have been added,
%   they do not pertain to fiction, especially if your book is print-on-demand.
% No need to set copyright in metadata, since your book is only for use by
%   the print service, and is not being distributed as a PDF e-book.
%   Your copyright notice is on the printed page, where it should be.
% Particularly note that your print service is NOT the publisher: YOU are!
%
%% End file data.


%% SET PDF/X ARGUMENTS
%% -----------------------------------------------------------------------------
%% Arguments: [embed-icc or no-embed]{compliance standard}{output intent}
%% Default option is no-embed.
%% When this command is not used, it is equivalent to compliance `off'.
%
\newif \if@chosenComplianceOK
\newif \if@chosenEmbedOK
\newif \if@gotConformance
\newif \if@noembedicc \@noembedicctrue
\newif \ifpdfx@isOFF \pdfx@isOFFtrue
% These will get meaningful info when an output intent file is loaded:
\gdef\@OIidentifier{}
\gdef\@OIcondition{}
\gdef\@OIinfo{}
\gdef\@OIregistry{}
\gdef\@OIprofile{}
%
%%
\gdef\SetPDFX{\@ifstar\@setpdfxst\@setpdfxns}
\newcommand\@setpdfxst[2][CGATSTR001]{
  \global\@noembediccfalse
  \@setpdfx{#1}{#2}
}
\newcommand\@setpdfxns[2][CGATSTR001]{
  \global\@noembedicctrue
  \@setpdfx{#1}{#2}
}
%
\newcommand\@setpdfx[2]{
  \ifthenelse{\equal{#2}{off}}{
    \global\pdfx@isOFFtrue
    \@chosenComplianceOKtrue
  }{}
  \ifthenelse{\equal{#2}{X-1a:2001}}{
    \pdfx@isOFFfalse
    \@chosenComplianceOKtrue
    \gdef\@PDFversion{PDF/X-1}
    \gdef\@PDFXversion{PDF/X-1a:2001}
    \gdef\@PDFXconformance{PDF/X-1a:2001}
    \global\@gotConformancetrue
    \global\pdfminorversion=3
  }{}
  \ifthenelse{\equal{#2}{X-1a:2003}}{
    \pdfx@isOFFfalse
    \@chosenComplianceOKtrue
    \gdef\@PDFversion{PDF/X-1}
    \gdef\@PDFXversion{PDF/X-1a:2003}
    \gdef\@PDFXconformance{PDF/X-1a:2003}
    \global\@gotConformancetrue
    \global\pdfminorversion=3
  }{}
  \ifthenelse{\equal{#2}{X-3:2002}}{
    \pdfx@isOFFfalse
    \@chosenComplianceOKtrue
    \gdef\@PDFversion{PDF/X-3}
    \gdef\@PDFXversion{PDF/X-3:2002}
    \global\pdfminorversion=3
  }{}
  \ifthenelse{\equal{#2}{X-3:2003}}{
    \pdfx@isOFFfalse
    \@chosenComplianceOKtrue
    \gdef\@PDFversion{PDF/X-3}
    \gdef\@PDFXversion{PDF/X-3:2003}
    \global\pdfminorversion=4
  }{}
  \if@chosenComplianceOK\else
    \ClassError{novel}{Bad compliance argument for \string\SetPDFX}%
     {Choose: off, X-1a:2001, X-1a:2003, X-3:2002, X-3:2003.^^J}%
  \fi
  %
  \ifpdfx@isOFF\else % Output Intent ignored if compliance is `off'.
    % Grab the file that defines the output intent information:
    \makeatletter % Apparently needed when non-*.sty is input within a command!
    \IfFileExists{novel-#1.clo}{\input{novel-#1.clo}}{
      \ClassError{novel}{Bad Output Intent argument for \string\SetPDFX}%
       {Use filename (without~extension) of a file with *.clo~extension. ^^J%
        Filename must begin with novel- ^^J%
        The file must be where TeX can find it. Or use standard code: ^^J%
        CGATSTR001, FOGRA39, JC200103.}%
    }
    \makeatother % back to usual
  \fi
} % end \@setpdfx
%

%%



%%
%% End of file `novel-FileData.sty'.


