预览包生成的文档的背景颜色

预览包生成的文档的背景颜色

我的问题很简单:是否可以使用\pagecolorfrom xcolor(或相关包)来更改包生成的文档的背景颜色preview

我尝试\pagecolor{cyan}在序言、文档正文和不同preview环境中添加内容,但收效甚微。我还尝试深入研究previewxcolor包的内部结构 — 我怀疑当使用构建页面时preview,它会干扰xcolor更改背景颜色,但我无法确定颜色抑制发生的位置……

我会在接下来的几天里继续搜索并向你通报最新情况。与此同时,如果有人也愿意调查此事,我将不胜感激!


这是我在使用和运行M-non-WE上测试过的:OverleafpdfLaTeXTeXLive 2020

\documentclass{standalone} % changed to `standalone because cropping wasn't good
\usepackage{mwe}
\usepackage[active]{preview}
\usepackage{xcolor}

\pagecolor{cyan} % Doesn't change the preview page color.
                 % (I wouldn't expect it to, since it's not inside a `preview` environment.)

\begin{document}
%% The following isn't typeset, since `preview` is active.
\pagecolor{cyan} % Doesn't change the preview page color either.
                 % (Again, this is expected.)
\lipsum[1]

%% What's inside of `preview` environments gets typeset when `preview` is active.
\begin{preview}
\pagecolor{cyan} % Still doesn't change the preview page color...
                 % I would expect this one to work :-/
\lipsum[2]

\pdftexbanner
\end{preview}

\end{document}

输出如下:

带有白色背景上的 lipsum 和 TeXLive 横幅的图像


编辑:

我尝试使用 运行相同的代码XeLaTeX,页面颜色为青色!遗憾的是,由于我这边的限制,我无法使用 以外的其他颜色pdfLaTeX

我现在的问题是:是否可以使用 和 中的任何一个来一致地做到这一点pdfLaTeXXeLaTeXLuaLaTeX

答案1

使用当前的 LaTeX(2020-10-01)时,您的文档可以很好地与 pdflatex 配合使用,因为在这种格式下, \pagecolor 命令已更改为使用新的 LaTeX shipout 挂钩,并且在使用预览时不会丢失(但预览可能存在其他问题,例如https://lists.gnu.org/archive/html/bug-auctex/2020-11/msg00000.html)。

对于较旧的格式,您可以尝试一下。

\documentclass{standalone} % changed to `standalone because cropping wasn't good
\usepackage{mwe}


\usepackage[active]{preview}
\usepackage{xcolor}
\newsavebox\pagecolorbox
\savebox\pagecolorbox{%
 \makebox[0pt]{\raisebox{-\paperheight}[0pt][0pt]{%
        \textcolor{cyan}{\rule{2\paperwidth}{\paperheight}}}}}

\AtBeginDvi{\box\pagecolorbox}

\begin{document}
\lipsum[1]

\begin{preview}
\lipsum[2]

\pdftexbanner
\end{preview}

\end{document}

相关内容