diff options
author | Karl Berry <karl@freefriends.org> | 2025-01-02 20:33:47 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2025-01-02 20:33:47 +0000 |
commit | da0372dbcaed79e78057cc9d2c237ed5a5c1fc48 (patch) | |
tree | d9fcaa1b7628be82901f43baca7af7d1499a1cf4 /Master/texmf-dist/tex/latex/kdpcover | |
parent | 37929848e536ed580ef7b4a42f3821b53cc9c362 (diff) |
kdpcover (2jan25)
git-svn-id: svn://tug.org/texlive/trunk@73275 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/kdpcover')
-rw-r--r-- | Master/texmf-dist/tex/latex/kdpcover/kdpcover.cls | 114 |
1 files changed, 66 insertions, 48 deletions
diff --git a/Master/texmf-dist/tex/latex/kdpcover/kdpcover.cls b/Master/texmf-dist/tex/latex/kdpcover/kdpcover.cls index 125fa6c0526..5ec4f4ac5e4 100644 --- a/Master/texmf-dist/tex/latex/kdpcover/kdpcover.cls +++ b/Master/texmf-dist/tex/latex/kdpcover/kdpcover.cls @@ -7,7 +7,7 @@ %% kdpcover.dtx (with options: `class') %% (The MIT License) %% -%% Copyright (c) 2021-2022 Yegor Bugayenko +%% Copyright (c) 2021-2024 Yegor Bugayenko %% %% Permission is hereby granted, free of charge, to any person obtaining a copy %% of this software and associated documentation files (the 'Software'), to deal @@ -31,7 +31,7 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesClass{kdpcover} -[2022.11.30 0.5.1 Cover for Kindle Direct Publishing books] +[2025/01/02 0.6.0 Cover for Kindle Direct Publishing books] @@ -58,35 +58,47 @@ \LoadClass{article} \makeatletter -\newcommand*\kdp@pages{100} +\newcount\kdp@pages + \kdp@pages=100 \newlength\kdp@xsize -\setlength\kdp@xsize{6in} + \setlength\kdp@xsize{6in} \newlength\kdp@ysize -\setlength\kdp@ysize{9in} + \setlength\kdp@ysize{9in} \makeatother \RequirePackage{iexec} -\RequirePackage{xkeyval} +\RequirePackage{pgfopts} \makeatletter -\DeclareOptionX{6x9} - {\setlength\kdp@xsize{6in}\setlength\kdp@ysize{9in}} -\DeclareOptionX{7x10} - {\setlength\kdp@xsize{7in}\setlength\kdp@ysize{10in}} -\DeclareOptionX{8x10} - {\setlength\kdp@xsize{8in}\setlength\kdp@ysize{10in}} -\DeclareOptionX{pages} - {\renewcommand*\kdp@pages{#1}} -\newif\ifkdp@barless -\DeclareOptionX{barless}{\kdp@barlesstrue} -\DeclareOptionX{pdf}{% - \iexec[trace,quiet,stdout=kdpcover-pages-count.txt] - {qpdf --show-npages #1 | tr -d '[[:space:]]' | \{ cat; echo \%; \}}% - \newread\kdp@pagescount% - \openin\kdp@pagescount=kdpcover-pages-count.txt - \read\kdp@pagescount to \kdp@pages% +\pgfkeys{ + /kdp/.cd, + barless/.store in = \kdp@barless, + pdf/.code = { + \iexec[trace,quiet,stdout=kdpcover-pages-count.txt] + {qpdf --show-npages --no-warn #1 | tr -d '[[:space:]]'} + \openin1=kdpcover-pages-count.txt + \read1 to \temp + \closein1 + \kdp@pages=\temp + }, + 6x9/.code = { + \setlength\kdp@xsize{6in} + \setlength\kdp@ysize{9in} + }, + 7x10/.code = { + \setlength\kdp@xsize{7in} + \setlength\kdp@ysize{10in} + }, + 8x10/.code = { + \setlength\kdp@xsize{8in} + \setlength\kdp@ysize{10in} + }, + pages/.code = { + \kdp@pages=#1 + } } -\ProcessOptionsX\relax\makeatother +\ProcessPgfPackageOptions{/kdp} +\makeatother \RequirePackage{anyfontsize} \RequirePackage{tikz} @@ -99,26 +111,33 @@ \setstretch{1.2} \makeatletter - \newlength\kdp@height +\newlength\kdp@height \setlength\kdp@height{0.125in + \kdp@ysize + 0.125in} - \newlength\kdp@width +\newlength\kdp@width \setlength\kdp@width{ 0.125in + \kdp@xsize - + 0.0025in * \kdp@pages - + \kdp@xsize + 0.125in} + + 0.125in + \kdp@xsize + + 0.0025in * \kdp@pages} \makeatother \RequirePackage{geometry} \makeatletter -\geometry{paperwidth=\kdp@width,paperheight=\kdp@height, - left=0pt,right=0pt,top=0pt,bottom=0pt} +\geometry{ + paperwidth=\kdp@width, + paperheight=\kdp@height, + left=0pt, + right=0pt, + top=0pt, + bottom=0pt +} \makeatother \RequirePackage[absolute]{textpos} \TPGrid{16}{16} -\makeatletter\newcommand\putSpine[2][kdpcover-signature]{% - \ifkdp@barless\else +\makeatletter +\newcommand\putSpine[2][kdpcover-signature]{% + \ifdefined\kdp@barless\else% \begin{textblock}{2.4}[0.5,0](8,0)% \begin{tikzpicture}% \node [rectangle, inner sep=0em, fill=black, @@ -126,19 +145,20 @@ minimum height=16\TPVertModule] at (0,0) {}; \end{tikzpicture}% \end{textblock}% - \fi + \fi% \begin{textblock}{1}[0.5,0](8,2)% \begin{tikzpicture}% \node [color=white, inner sep=0cm, outer sep=0cm, rotate=270, minimum height=\TPHorizModule] at (0,0) { - \Large #2 - };% + \Large #2% + }; \end{tikzpicture}% \end{textblock}% \begin{textblock}{2.4}[0.5,1](8,14)% \centerline{\includegraphics[width=0.32in]{#1}}% \end{textblock}% -}\makeatother +} +\makeatother \newcommand\putPicture[1]{% \begin{textblock}{4}(10,2)% @@ -148,54 +168,54 @@ \newcommand\putVolume[1]{% \begin{textblock}{2}[1,1](15,14)% - \raggedleft - \includegraphics[height=0.4in]{kdpcover-vol-#1} + \raggedleft% + \includegraphics[height=0.4in]{kdpcover-vol-#1}% \end{textblock}% } \newcommand\putPrice[1]{% \begin{textblock}{4}[0,1](1,2)% - \small #1 + \small #1% \end{textblock}% } \newcommand\putBack[1]{% \begin{textblock}{5}[0,0](1,3)% - \small #1 + \small #1% \end{textblock}% } \newcommand\putTitle[1]{% \begin{textblock}{5}(10,9)% - \fontsize{32}{32}\selectfont #1 + \fontsize{32}{32}\selectfont #1% \end{textblock}% } \newcommand\putAuthor[1]{% \begin{textblock}{4}(10,10)% - \large by #1 + \large by #1% \end{textblock}% } \newcommand\putTLDR[1]{% \begin{textblock}{5}(10,11)% - TL;DR #1 + TL;DR #1% \end{textblock}% } \newcommand\putVersion[1]{% \begin{textblock}{4}[0,1](10,14)% - #1 + #1% \IfFileExists{.git} {\quad\iexec{git log -n 1 --pretty='format:\%ad' --date='format:\%e-\%b-\%Y'}} - {} + {}% \end{textblock}% } \newcommand\putCopyright[2]{% \begin{textblock}{4}[0,1](1,14)% - \small (c) - #1 #2 + \small (c)% + #1 #2% \end{textblock}% } @@ -206,8 +226,6 @@ \setlength\parskip{0pt}% \interfootnotelinepenalty=10000% } - - \endinput %% %% End of file `kdpcover.cls'. |