如何实现相册几种不同的页面布局?

如何实现相册几种不同的页面布局?

我正在考虑用 LaTeX 设计一本相册,但担心会遇到意想不到的问题,所以想提供一些细节,看看如何实现这些问题。我对这本书的想法:

  • 方形页面,例如 8.5 x 8.5,带有出血区域
  • 一些不同的布局
    • 与页面宽度相同的横向图像,下方带有文字
    • 一页长的肖像图片,外面有文字
    • 双页横向图像,横跨页面长度,填充左侧页面和右侧页面的一部分,文本位于右侧页面
    • 同上,但双页横向图像在右侧对齐,而不是左侧对齐
  • 每张图片大约有一段文字,但不会溢出到下一页

我已经读过了这里使用浮点数的一些顾虑。我该如何处理这样的 LaTeX 项目,例如我应该从哪个类开始,以及如何将 LaTeX 融入这些布局?或者,LaTeX 真的不是这项工作的合适工具,我最好去做类似的事情抄写员?我更喜欢 LaTeX。

答案1

我不确定 TeX 是否是适合此目的的工具。如果您要打印这本书,那么您购买的网站上可能会有专门用于创建照片书的“应用程序”。我还没有尝试过,但我认为它们只是用来做您想要的那种设置。

不过,如果你想用 LaTeX 来实现,我认为你可以使用 tikz 和一些后台机制。我不知道细节,但我相信有人会给你指明正确的方向。

与此同时,我或多或少做了你想要的事情,但是使用图层语境。我使用比例为 2:3(或 3:2)的照片。它们\dontleavehmode只是为了除了图层之外没有“空白页”。在第一个版本中,我将文本放在图层中,但睡了一觉后,我想我更喜欢将文本放在普通页面上。也许不太灵活,但可能更简单。

下面是代码和(两张)输出图像。该文件是用 编译的context。希望它能有所帮助。祝你好运!

\definepapersize[photobook][
    width=8.5in,
    height=8.5in,
]
\setuppapersize[photobook]

\setupalign[flushleft,verytolerant]

\setupbodyfont[ebgaramond]

\setuppagenumbering[
    alternative=doublesided,
    state=stop,
]

\setuplayout[
    backspace=0.5in,
    topspace=0.5in,
    margin=0in,
    width=fit,
    height=fit,
    header=0in,
    footer=0in,
    alternative=middle,
]

\definelayout[photopage][
    backspace=6in,
    width=2in,
]



\definelayer[portrait][
    width=\paperwidth,
    height=\paperheight,
    doublesided=yes,
]

\definelayer[landscape][
    width=\paperwidth,
    height=\paperheight,
    doublesided=yes,
]

\definelayer[doublebackground][
    width=\paperwidth,
    height=\paperheight,
    doublesided=yes,
]

\setupbackgrounds[page][background={doublebackground,portrait,landscape}]

\starttexdefinition LeftPoirtrait #1
\setlayer[portrait][left][
    corner={right,top},
    location={left,bottom},
    ]{#1}
\stoptexdefinition

\starttexdefinition RightPoirtrait #1
\setlayer[portrait][right]{#1}
\stoptexdefinition

\starttexdefinition LandScape #1
\setlayer[landscape]{#1}
\stoptexdefinition

\starttexdefinition LeftDouble #1
\setlayer[doublebackground][left]{\externalfigure[#1][width=1.5\paperwidth]}
\setlayer[doublebackground][right][
    x=0.5\paperwidth,
    y=0in,
    corner={right,top},
    location={left,bottom},
    ]{\externalfigure[#1][width=1.5\paperwidth]}
\stoptexdefinition

\starttexdefinition RightDouble #1
\setlayer[doublebackground][left][
    x=0.5\paperwidth,y=0in,
    location={right,bottom},
    corner={left,top},
    ]{\externalfigure[#1][width=1.5\paperwidth]}
\setlayer[doublebackground][right][
    x=\paperwidth,
    y=0in,
    location={left,bottom},
    corner={left,top},
    ]{\externalfigure[#1][width=1.5\paperwidth]}
\stoptexdefinition


\starttext
\start
\switchtobodyfont[130pt]

\leftaligned{The}
\midaligned{Photo}
\rightaligned{Book}
\stop

\page[even]
\setuplayout[photopage]

\LeftPoirtrait{\externalfigure[MX033-30.jpg][height=\paperheight]}
\samplefile{ward}
\page[yes]
\RightPoirtrait{\externalfigure[MX023-20.jpg][height=\paperheight]}
\dontleavehmode
\vfill
\samplefile{ward}

\page[even]

\LandScape{\externalfigure[autumn.jpg][width=\paperwidth]}
\dontleavehmode
\vfill
\samplefile{ward}

\page[yes]

\LandScape{\externalfigure[matematiker.jpg][width=\paperwidth]}
\dontleavehmode
\vfill
\samplefile{ward}

\page[even]

\LeftDouble{shark.jpg}
\dontleavehmode
\page[yes]
\dontleavehmode
\samplefile{knuth}

\page[even]

\RightDouble{hund.jpg}
\samplefile{knuth}

\page[even]
\setuplayout[reset]
\start
\switchtobodyfont[130pt]

\leftaligned{This is}
\rightaligned{the end}
\stop

\stoptext

第一页 最后几页

相关内容