mirror of
https://github.com/flynx/photobook.git
synced 2025-12-17 09:01:41 +00:00
added the actual class file...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
9e9be37de5
commit
5e01c49443
131
photobook.cls
Normal file
131
photobook.cls
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
%----------------------------------------------------------------------
|
||||||
|
%
|
||||||
|
%----------------------------------------------------------------------
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
% XXX set release date...
|
||||||
|
\ProvidesClass{photobook}[2021/07/28 Photo book Latex class]
|
||||||
|
|
||||||
|
% options...
|
||||||
|
%
|
||||||
|
% XXX handle options:
|
||||||
|
% - page size (w, h)
|
||||||
|
% - image block (w, h)
|
||||||
|
% - bleed size
|
||||||
|
% -
|
||||||
|
% -
|
||||||
|
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
|
||||||
|
\ProcessOptions\relax
|
||||||
|
|
||||||
|
% XXX load defauls...
|
||||||
|
\LoadClass[9pt,final,openany]{book}
|
||||||
|
|
||||||
|
|
||||||
|
\RequirePackage{etoolbox}
|
||||||
|
\RequirePackage{atbegshi}
|
||||||
|
|
||||||
|
% pdf config...
|
||||||
|
%
|
||||||
|
% XXX make this configurable from options...
|
||||||
|
\RequirePackage[
|
||||||
|
pdfpagelayout=TwoPageRight]{hyperref}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------
|
||||||
|
\AtEndPreamble{
|
||||||
|
|
||||||
|
% Geometry... (???)
|
||||||
|
%
|
||||||
|
% XXX
|
||||||
|
|
||||||
|
|
||||||
|
% pdf boxes...
|
||||||
|
%
|
||||||
|
% calculate pdf box dimensions in pt...
|
||||||
|
% XXX this depends on:
|
||||||
|
% \bleedblockwidth = \bleedsize + \paperwidth + \bleedbindsize
|
||||||
|
% \bleedblockheight = 2\bleedsize + \paperheight
|
||||||
|
% \bleedsize = 4mm (default)
|
||||||
|
% \bleedbindsize = \bleedsize (default)
|
||||||
|
%%\edef\pdfW{\strip@pt\dimexpr 0.996264009963\bleedblockwidth \relax}
|
||||||
|
%%\edef\pdfH{\strip@pt\dimexpr 0.996264009963\bleedblockheight \relax}
|
||||||
|
%%\edef\pdfBleed{\strip@pt\dimexpr 0.996264009963\bleedsize \relax}
|
||||||
|
%%\edef\pdfTop{\strip@pt\dimexpr 0.996264009963\dimexpr \bleedblockheight-\bleedsize \relax \relax}
|
||||||
|
%%\edef\pdfRight{\strip@pt\dimexpr 0.996264009963\dimexpr \bleedblockwidth-\bleedsize \relax \relax}
|
||||||
|
%%
|
||||||
|
%%\ifxetex
|
||||||
|
%% % XXX not tested...
|
||||||
|
%% \AtBeginShipout{\AtBeginShipoutAddToBox{
|
||||||
|
%% \special{pdf:put @thispage <<
|
||||||
|
%% /MediaBox [0 0 \pdfW\space\pdfH]
|
||||||
|
%% /BleedBox [0 0 \pdfW\space\pdfH]
|
||||||
|
%% /ArtBox [\pdfBleed\space\pdfBleed\space\pdfRight\space\pdfTop]
|
||||||
|
%% /TrimBox [\pdfBleed\space\pdfBleed\space\pdfRight\space\pdfTop]
|
||||||
|
%% /CropBox [\pdfBleed\space\pdfBleed\space\pdfRight\space\pdfTop]
|
||||||
|
%% >>} }}
|
||||||
|
%%
|
||||||
|
%%\else
|
||||||
|
%% \edef\pdfboxes{
|
||||||
|
%% /MediaBox [0 0 \pdfW\space\pdfH]
|
||||||
|
%% /BleedBox [0 0 \pdfW\space\pdfH]
|
||||||
|
%% /ArtBox [\pdfBleed\space\pdfBleed\space\pdfRight\space\pdfTop]
|
||||||
|
%% /TrimBox [\pdfBleed\space\pdfBleed\space\pdfRight\space\pdfTop]
|
||||||
|
%% /CropBox [\pdfBleed\space\pdfBleed\space\pdfRight\space\pdfTop]
|
||||||
|
%% }
|
||||||
|
%% \expandafter\pdfpageattr\expandafter{\pdfboxes}
|
||||||
|
%%\fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
% pdf metadata...
|
||||||
|
%
|
||||||
|
% XXX use \@author and \@title instead of \ProjectTitle or \ProjectAuthor
|
||||||
|
% XXX need an equivalet for pdflatex...
|
||||||
|
% XXX not tested...
|
||||||
|
\ifxetex
|
||||||
|
%%% PDF/X-3 stuff, necessary for Blurb IF USING pdflatex
|
||||||
|
%% \pdfinfo{
|
||||||
|
%% /Title (\ProjectTitle)
|
||||||
|
%% /Author (\ProjectAuthor, \ProjectEditor)
|
||||||
|
%% /Subject (\ProjectTitle)
|
||||||
|
%% /Keywords (history, black-and-white, bw, people, photography, USSR, Russia, Moscow, 1991)
|
||||||
|
%% }
|
||||||
|
%% \pdfminorversion=4
|
||||||
|
%% \pdfcatalog{
|
||||||
|
%% /OutputIntents [ <<
|
||||||
|
%% /Info (none)
|
||||||
|
%% /Type /OutputIntent
|
||||||
|
%% /OutputConditionIdentifier (Web use)
|
||||||
|
%% /RegistryName (http://www.color.org/)
|
||||||
|
%% >> ]
|
||||||
|
%% }
|
||||||
|
\special{pdf:docinfo <<
|
||||||
|
/Title (\ProjectTitle)
|
||||||
|
/Author (\ProjectAuthor)
|
||||||
|
/Subject (\ProjectTitle)
|
||||||
|
/Keywords (\ProjectKeywords)
|
||||||
|
>>}
|
||||||
|
\fi
|
||||||
|
\ifluatex
|
||||||
|
% XXX this does not convert encoding...
|
||||||
|
\directlua0{
|
||||||
|
pdf.setinfo(
|
||||||
|
"/Title (\ProjectTitle) "
|
||||||
|
.."/Author (\ProjectAuthor) "
|
||||||
|
.."/Subject (\ProjectTitle) "
|
||||||
|
.."/Keywords (\ProjectKeywords) ") }
|
||||||
|
\fi
|
||||||
|
|
||||||
|
} % \AtEndPreamble{..}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------
|
||||||
|
% vim:set ts=4 sw=4 :
|
||||||
Loading…
x
Reference in New Issue
Block a user