如何制作阴影页面并且仍然能看到回忆录的修剪框架?

如何制作阴影页面并且仍然能看到回忆录的修剪框架?

我正在使用 memoir,并且激活了 showtrims 设置,我希望它在我的页面上可见。我试图切换整个页面的阴影,但到目前为止,我还没有取得任何重大成功。我四处寻找,但没有发现任何明显可以帮助我的东西,但这是我设法想出的:

\documentclass[showtrims, 10pt]{memoir}
\usepackage{lipsum}
\usepackage{eso-pic}

\stockaiv
\settrims{20mm}{20mm}
\trimFrame

\pagesmallroyalvo

\setbinding{4mm}
\settypeblocksize{*}{24.5pc}{1.618}
\setlrmargins{*}{*}{1.5}
\setulmarginsandblock{6pc}{7pc}{*}
\setmarginnotes{6pt}{6pc}{12pt}
\strictpagecheck
\setlength{\topskip}{1.6\topskip}
\checkandfixthelayout

\begin{document}
\lipsum[1-4]

\newpage
\AddToShipoutPictureBG{
  \AtStockUpperLeft{
    \colorbox{cyan}{\vspace* \stockheight \hspace \stockwidth}
  }
}

\lipsum[1-4]

\AddToShipoutPictureBG{
  \AtStockUpperLeft{
  }
}
\newpage
\lipsum[1-4]


\end{document}

然而存在两个问题。

  1. 我似乎无法在垂直方向上填满页面。只能在水平方向上填满。

  2. 我似乎无法通过再次更改船舶出港图片来将其关闭。

我做错了什么?或者有更好的方法吗?

答案1

您可以使用背景包;该\NoBgThispage命令允许您抑制使用该命令的页面的颜色:

\documentclass[showtrims, 10pt]{memoir}
\usepackage{lipsum}
\usepackage{ifthen,background}

\stockaiv
\settrims{20mm}{20mm}
\trimFrame

\pagesmallroyalvo

\setbinding{4mm}
\settypeblocksize{*}{24.5pc}{1.618}
\setlrmargins{*}{*}{1.5}
\setulmarginsandblock{6pc}{7pc}{*}
\setmarginnotes{6pt}{6pc}{12pt}
\strictpagecheck
\setlength{\topskip}{1.6\topskip}
\checkandfixthelayout

\SetBgScale{1}
\SetBgAngle{0}
\SetBgVshift{10pc}
\SetBgColor{cyan}

\makeatletter
\AddEverypageHook{%
  \ifthenelse{\isodd{\value{page}}}{\SetBgHshift{8pc-1.5pt}}{\SetBgHshift{5pc-3pt}}
  \SetBgContents{\rule{\paperwidth}{\paperheight}}%
  \bg@material
}
\makeatother

\begin{document}

\lipsum[1-4]

\newpage\NoBgThispage
\lipsum[1-4]

\newpage
\lipsum[1-4]

\end{document}

对文档进行两次编译。

使用上述代码,只有实际页面会收到彩色背景;增加规则的宽度和高度,可以获得一些出血。以下是在上述代码中替换\SetBgContents{\rule{\paperwidth}{\paperheight}}为得到的结果:\SetBgContents{\rule{\dimexpr\paperwidth+3cm\relax}{\dimexpr\paperheight+3cm\re‌​lax}}

在此处输入图片描述 在此处输入图片描述

答案2

您可以使用\pagecolor指定页面的背景颜色,并\afterpage包裹afterpage\nopagecolor 输出当前页面后重置。

在此处输入图片描述

已知的问题:

  • 正如@jonalv 所指出的,该解决方案将其自身置于显示纸张尺寸的框架顶部,因此当您同时需要框架和页面颜色时,这不是一个好的解决方案。

代码:

\documentclass{article}
\usepackage{afterpage}
\usepackage{xcolor}
\usepackage{lipsum}% for dummy text

\begin{document}
\pagecolor{yellow!20}\afterpage{\nopagecolor}
\lipsum[1-11]
\pagecolor{blue!20}\afterpage{\pagecolor{red!20}}
\lipsum[1-10]
\end{document}

答案3

我将 改为colorboxa\rule并将其固定在左下角,而不是左上角。

为了从后续页面中清除它,我使用了\ClearShipoutPictureBG

截屏

\documentclass[showtrims, 10pt]{memoir}
\usepackage{lipsum}
\usepackage{eso-pic}

\stockaiv
\settrims{20mm}{20mm}
\trimFrame

\pagesmallroyalvo

\setbinding{4mm}
\settypeblocksize{*}{24.5pc}{1.618}
\setlrmargins{*}{*}{1.5}
\setulmarginsandblock{6pc}{7pc}{*}
\setmarginnotes{6pt}{6pc}{12pt}
\strictpagecheck
\setlength{\topskip}{1.6\topskip}
\checkandfixthelayout

\begin{document}
\lipsum[1-4]

\newpage
\AddToShipoutPictureBG{
  %\AtStockUpperLeft{
  %  \colorbox{cyan}{\vspace* \stockheight \hspace \stockwidth}
  %}
  \AtTextLowerLeft{% put it at the left bottom of the text area
  \color{cyan}\rule{\textwidth}{\LenToUnit\textheight}%
  }%
}

\lipsum[1-4]


\newpage
\lipsum[1-4]
\ClearShipoutPictureBG{}


\end{document}

答案4

根据 cmhughes 的回答,我想出了这个解决方案,它具有丑陋黑客的所有迹象:

\documentclass[showtrims, 10pt]{memoir}
\usepackage{lipsum}
\usepackage{eso-pic}
\usepackage{transparent}

\stockaiv
\settrims{20mm}{20mm}
\trimFrame

\pagesmallroyalvo

\setbinding{4mm}
\settypeblocksize{*}{24.5pc}{1.618}
\setlrmargins{*}{*}{1.5}
\setulmarginsandblock{6pc}{7pc}{*}
\setmarginnotes{6pt}{6pc}{12pt}
\strictpagecheck
\setlength{\topskip}{1.6\topskip}
\checkandfixthelayout

\begin{document}
\lipsum[1-4]

\newpage
\AddToShipoutPictureBG{
  %\AtStockUpperLeft{
  %  \colorbox{cyan}{\vspace* \stockheight \hspace \stockwidth}
  %}
  \AtStockLowerLeft{% put it at the left bottom of the text area
  \color{cyan}\transparent{0.5}\rule{\stockwidth}{\LenToUnit\stockheight}%
  }%
}

\lipsum[1-4]


\newpage
\lipsum[1-4]
\ClearShipoutPictureBG{}


\end{document}

这个解决方案的缺点是需要考虑透明度来计算实际颜色,所以它不是理想的解决方案......

在此处输入图片描述

相关内容