如何使用 pdfpages 创建书籍封面

如何使用 pdfpages 创建书籍封面

我知道关于如何制作书籍封面有很多问题,但我的问题似乎有点不同。

我创建了封面、封底和封面书脊

首页:

\documentclass{scrartcl}
\usepackage{geometry}
\geometry{
  a5paper
}
\usepackage{blindtext}
%
\pagestyle{empty}
\begin{document}

{\Large Front}
\vspace*{4cm}

\blindtext
\end{document}

封底:

\documentclass{scrartcl}
\usepackage{geometry}
\geometry{
  a5paper
}
\usepackage{blindtext}
%
\pagestyle{empty}
\begin{document}

{\Large Back}
\vspace*{4cm}

\blindtext
\end{document}

脊柱:

\documentclass[border=0pt]{standalone}
%
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\usetikzlibrary{patterns}
%
\begin{document}
\begin{tikzpicture}

\node[rotate=90] (a1) at (0,0){Lorem ipsum};
\node[rotate=90] (a1) at (-0.2,10){Etiam lobortis facilisis sem.};
\node[rotate=90] (a1) at (0.2,10){Nullam nec mi et neque pharetra sollicitudin.};

\end{tikzpicture}
\end{document}

并将所有内容放在封面中:

\documentclass{scrartcl}
\usepackage{geometry}
\geometry{papersize={307mm,210mm}} 
\usepackage{pdfpages}

\begin{document}
\includepdfmerge[nup=3x1]{back,spine,front}
\end{document}

封面和封底是 A5 尺寸,所以封面是 A4 尺寸的纸张,尺寸为 297 毫米 x 210 毫米,所以我为书脊增加了 10 毫米,这样就是 307 毫米。

不幸的是,添加了太多的空白,我尝试了 includepdfmerge 的一些选项,但没有成功。

你能帮助我吗?

提前致谢!

答案1

阅读文档\includepdfmerge[nup=3x1]{back,spine,front}中的下一段可以了解添加空格的原因:pdfpages

在此处输入图片描述

可以看出,虽然spine前后封面的尺寸不同,但pdfpages使用back.pdf尺寸作为模板,并spine.pdf位于 A5 矩形的中心。

接下来cover.tex

\documentclass[border=0pt]{standalone}
\usepackage{graphicx}

\begin{document}
\includegraphics{BackPage}\includegraphics{Spine}\includegraphics{FrontPage}
\end{document}

结果是

在此处输入图片描述

第二版本

第一个版本没有考虑 的真实大小spine。接下来spine.tex生成一个 10mm x 210mm 的 spine.pdf,其内容居中,可以轻松与前后封面对齐。

Spine.tex:

\documentclass[border=0pt,tikz]{standalone}
%
\usetikzlibrary{fit}
%
\begin{document}
\begin{tikzpicture}

\node[rotate=90] (a1) at (0,0){Lorem ipsum};
\node[rotate=90] (a2) at (-0.2,10){Etiam lobortis facilisis sem.};
\node[rotate=90] (a3) at (0.2,10){Nullam nec mi et neque pharetra sollicitudin.};

\node[fit=(a1) (a2) (a3), anchor=center, minimum width=10mm, 
      minimum height=21cm, inner sep=0pt] (spine) {};

%\draw (spine.south west) rectangle ++(1,21);

\end{tikzpicture}
\end{document}

封面如下:

在此处输入图片描述

答案2

几天前,CTAN 添加了一个新包:封面。从这个名字可以看出它的主要目标是生产书封和书罩。您可以在有哪些可用的“documentclass”类型及其用途?

使用这个包,不需要编辑前面、后面和书脊部分并将它们连接起来pdfpages,所有内容都可以声明并组合成一个独特的文本文件。

下一个代码展示了如何制作一个或多或少像 OP 想要的书籍封面。我忍不住要使用保罗的鸭子

\documentclass[marklength=0mm,
    coverwidth=148.5mm,
    coverheight=210mm,
    bleedwidth=0mm,
    spinewidth=10mm]{bookcover}

\usepackage{blindtext}
\usepackage{duck}

\begin{document}

%back cover
\setbookcover{bgcolor}{back}{%
color=yellow!20,
}

\setbookcover{fgsecond}{back}{%
\vspace{2.5cm}
\centering
\scalebox{3.5}{\drawflower}
\vfill
}

\setbookcover{fgfirst}{back}{%
\centering
\begin{minipage}[c]{.7\textwidth}
{
\vspace*{4cm}
\Large Back}
\vspace*{4cm}

\blindtext
\end{minipage}
}

%front cover
\setbookcover{bgcolor}{front}{%
color=yellow!20,
}

\setbookcover{fgsecond}{front}{%
\vspace{3cm}
\centering
\scalebox{3.5}{\drawduck}
\vfill
}

\setbookcover{fgfirst}{front}{%
\centering
\begin{minipage}[c]{.7\textwidth}
{
\vspace*{4cm}
\Large Front}
\vspace*{4cm}

\blindtext
\end{minipage}
}

%spine
\setbookcover{bgcolor}{spine}{%
color=yellow!50,
}

\setbookcover{fgfirst}{spine}{
\vfill
\centering
\rotatebox[origin=c]{90}{Lorem ipsum\hspace{5cm}
\begin{tabular}{c}
Etiam lobortis facilisis sem.\\
Nullam nec mi et neque pharetra sollicitudin.
\end{tabular}}
\vfill}

\makebookcover
\end{document}

在此处输入图片描述

答案3

您可以在一张 tikz 图中绘制所有事物。

\documentclass[border=0pt]{standalone}
\usepackage{kantlipsum}
\usepackage{tikz}
\usetikzlibrary{patterns,calc}
%
\begin{document}
\begin{tikzpicture}
\node[minimum height=210mm,minimum width=148.5mm,outer sep=0pt] (a)
{};
\node[anchor=north west,text width=98.5mm,align=justify] at ($(a.north west) +(25mm,-25mm)$){\kant[1]};
\node[anchor=north west,rotate=90,minimum height=10mm,outer sep=0pt,inner xsep=5mm] (a1) at (a.south east){Lorem ipsum};
\node[anchor=north east,rotate=90,minimum height=10mm,outer sep=0pt,align=center,inner xsep=5mm] (a2) at (a.north east){Etiam lobortis facilisis sem. \\Nullam nec mi et neque pharetra sollicitudin.};
\node[minimum height=210mm,minimum width=148.5mm,outer sep=0pt,anchor=north west] (b) at (a2.south east)
{};
\node[anchor=north west,text width=98.5mm,align=justify] at ($(b.north west) +(25mm,-25mm)$){\kant[1]};

%% following is for just demo
\draw (a.south east) rectangle (b.north west);
\draw[red] (a.south east) rectangle +(10mm,210mm);
\end{tikzpicture}
\end{document}

在此处输入图片描述

对于书脊,请inner xsep适当调整。最后两行代码只是为了演示书脊的宽度。删除它们。

相关内容